Veracode julkaisi juuri täydennyksen vuosittain julkaistavaan State of Software Security -raporttiin. Täydennysosassa Veracoden asiantuntijat keskittyvät avoimen lähdekoodin kirjastoissa esiintyviin tietoturvahaavoittuvuuksiin.
Avoimen lähdekoodin kirjastojen käyttö on keskeinen osa nykyaikaista sovelluskehitystä. Kirjastojen avulla saadaan nopeasti keskeiset perustoiminnallisuudet ohjelmistoon. Voidaankin varmaan todeta, ettei uusien sovellusinnovaatioiden syntyminen olisi käytännössä mahdollista ilman kirjastoja.
Kirjastojen käyttöön sisältyy kuitenkin riskejä, joista kehittäjien on hyvä olla tietoisia. Veracode on koonnut raporttiin yhteenvedon tuloksista, jotka sen asiantuntijat saivat esiin analysoituaan yli 350 000 avoimen lähdekoodin sovelluskirjastoa, jotka olivat osana 85 000 sovellusta. Kävi ilmi, kuten odottaa sopii, että kirjastot ovat läsnä kaikkialla, ja että niihin sisältyy tietoturvariskejä, mutta tuli esille myös hyviä uutisia siitä, miten riskejä voidaan pienentää.
Avoimen lähdekoodin kirjastot ovat yleisiä ja niihin sisältyy riskejä
Veracoden tutkijat havaitsivat, että useimmat javascriptillä tehdyt sovellukset sisälsivät satoja avoimen lähdekoodin kirjastoja – jotkut jopa yli 1000 eri kirjastoa. Lisäksi useat ohjelmointikielet käyttävät aina samoja sovelluskirjastoja.
Tämä kävi ilmi erityisesti javascriptillä tai PHP:llä toteutetuissa sovelluksissa, joissa tietyt kirjastot löytyivät lähes jokaisesta ko kielillä toteutetusta sovelluksesta.
Raportissa todetaan, että 70 prosentissa sovelluksista on haavoittuvuus jossakin avoimen lähdekoodin kirjastossa ensimmäisessä skannauksessa. Cross-site scripting on kirjastojen yleisin haavoittuvuus ja löytyy 30 prosentissa kirjastoja, toiseksi yleisin on turvaton sarjallistamisen purku (insecure deserealization): 23,5 % ja kolmas rikkinäinen pääsynhallinta 20,3%.
Kirjastoja saattaa tulla käyttöön huomaamatta
Raportissa nostetaan esille eri kirjastojen välisten riippuvuuksien suuri määrä, mistä aiheutuvat riskit saattavat jäädä piiloon kehitysprosessissa. Tutkittu data paljastaa, että haavoittuvuuksia sisältävää koodi on usein päätynyt mukaan epäsuorasti.
Kaikkiaan lähes 47 prosenttia haavoittuvuuksia sisältäneistä kirjastoista oli transitiivisia.
Toisin sanoen koodarit eivät olleet viitanneet niitä suoraan, vaan heidän käyttämänsä sovelluskirjasto .
Kirjastojen suojaaminen ei kuitenkaan vaadi suuria ponnisteluja
Hyvä uutinen kehittäjille on, että tietoturvahaavoittuvuuksien välttäminen ei vaadi, useimmissa tapauksissa, suuria ponnisteluja. Useimmat kirjastoissa olevat haavoittuvuudet (lähes 75 %) voidaan ratkaista vain pienellä kirjaston version päivityksellä. Suuriin päivityksiin ei ole yleensä tarvetta, jolloin ongelmat voidaan käsitellä etsi-ja-löydä -tyyppisesti ilman isoja refaktorointeja.
Lisätietoja blogeistamme
Agenttipohjainen SCA – sovelluskirjastojen hallintaa
Tänään esittelen teille Veracoden ”uuden” SCA:n, eli vuoden 2018 SourceClear hankinnan. Tämä on agenttipohjainen SCA, ja se integroituu CI/CD pipelineen.
Veracode SCA – uudempi ja parempi
Veracode osti taannoin SourceClearin. Yhdistämällä ohjelmiston koostumuksen analyysin tekniikat ohjelmistotalot voisivat kehittää entistä parempia sovelluksia avoimen lähdekoodin avulla tietoturvan säilyessä korkealla tasolla.
Veracode SCA kirjastoanalyysi paljastaa haavoittuvuudet ja lisenssiriskit
Veracoden SCA-toiminto (Software Composition Analysis) havaitsee avoimen lähdekoodin kirjaston käyttöön liittyvät riskit, joita saattavat olla esim. vanhentuneet ja riskialttiit versiot. Lisäksi joihinkin avoimen lähdekoodin kirjastoihin saattaa liittyä myös lisenssiriski, jos sovellusta käytetään kaupallisiin tarkoituksiin.
Lataa raportit
Alla olevaa kuvaa klikkaamalla yhteenveto raportissa esitetyistä havainnoista.
Koko raportin voi ladata Veracoden sivulta osoitteesta https://info.veracode.com/report-state-of-software-security-open-source-edition.html
Veracode
SAST – Koodin staattinen tarkistus SCA – Kirjastoanalyysi ja inventaario SDLC sovelluskehitysintegraatio Yrityksen koko sovellusportfolion tietoturvariskien hallinta samassa palvelussa Veracoden palvelun avulla voidaan tutkia ja
Kirjastojenhallinta – SCA – ja moninaiset viitekehykset ja vaatimukset
Yhä useampi standardi, viitekehys ja asiakasvaatimus edellyttää – peräti huutaa – kirjastonhallinnan perään. Huutaa siksi että modernit sovelluskehitysmenetelmät ovat täysin riippuvaisia ulkoisista kirjastoista eli riippuvuuksista.
Veracode Container Securityn hyödyntäminen pilvisovellusten ohjelmistokehityksen turvaamisessa
Pilvipohjainen ohjelmistokehitys on kantava voima, koska se antaa mahdollisuuden rakentaa ja ottaa käyttöön sovelluksia vauhdilla ja skaalautuvasti. Mikropalveluiden, pilvi-infrastruktuurin ja API-rajapintojen ohella kontit (containers) ovat tärkeä osa tätä kehitysprosessia. Tutkitaanpa hieman konttien turvallisuusvaikutuksia pilvipohjaisten sovellusten kehittämisessä ja niiden aiheuttamien tietoturvahaasteiden hallintaa.
Veracode State of Software Security 12
Viime vuoden tapaan tarkastelimme aktiivisten sovellusten koko historiaa, emme vain sovellukseen liittyvää aktiviteettia yhden vuoden aikana. Näin saamme näkymän sovellusten koko elinkaareen, mikä taas johtaa tarkempiin mittareihin ja havaintoihin.
Veracode SoSS 11: Open Source Edition
Veracode julkisti äskettäin uuden version avoimen lähdekoodin kirjastojen skannausten tuloksista. Raportti antaa näkymän sovelluskirjastojen tietoturvan nykytilasta ja hieman viitteitä tulevaisuudesta. Raporttiin on koottu tulokset n. 13 miljoonasta skanauksesta yli 86 000 repositoryyn n. vuoden mittaisen ajanjakson aikana.