Suurin osa nykyaikaisesta sovelluskehityksestä perustuu avoimen lähdekooodin kirjastoihin. Veracoden ESG-tutkimusyhtiöllä teettämän tutkimuksen mukaan yli 96 prosenttia yrityksistä ja organisaatioista käyttää avoimen lähdekoodin kirjastoja sovelluskehityksessään. Hämmentävää on sen sijaan tutkimuksessa esiin tullut tieto, että vain alle puolella yrityksistä ja organisaatoista on jonkinlainen tietoturvakontrolli kirjastoissa piileiville haavoittuuvuksille.
Miksi avoimen lähdekoodin kirjastojen tietoturvaskannaus on tärkeää?
Veracoden State of Software Security: Open Source Edition -raportissa analysointiin 85 000 sovelluksessa olevasta avoimen lähdekoodin kirjastosta. Yksi keskeisiä tuloksia oli, että 70 prosentissa kirjastoja on ainakin yksi haavoittuvuus ensimmäisessä skannauksessa. Yleisimmät haavoittuvuudet olivat cross -site scripting, turvaton sarjallistamisen purku (insecure deserialization) sekä kolmantena rikkinäinen pääsynhallinta (broken access control). Jos sovelluksille ei olisi tehty lainkaan tieturvaskannausta, em. virheet olisivat voineet altistaa kyberhyökkäykselle.
Equifax pääsi aikanaan otsikoihin, kun sen käyttämiä avoimen lähdekoodin kirjastoja ei oltu skannattu. Vuonna 2017 Equifax kärsi valtavasta Apache Struts -ympäristöön tehdystä tietomurrosta, jossa vietiin 143 miljoonan yhdysvaltalaisien tietoja, mm. henkilötunnuksia, Tietomurron seurauksena Equifaxin osakkeen hinta putosi 13 prosenttia. Jos Equifax olisi tehnyt tietoturvaskannaukset avoimen lähdekoodin kirjastoilleen, tietomurto olisi todennäköisesti vältetty.
Miksi organisaatiot eivät sitten skannaa avoimen lähdekoodin kirjastojaan?
Jos kerran 96 prosenttia yrityksistä ja organisaatioista käyttää avoimen lähdekoodin kirjastoja ja 70 prosentissa sovelluksissa olevista kirjastoista on haavoittuvuus, niin miksi sitten vain alle 50 prosenttia skannaa avoimen lähdekoodin kirjastonsa? Yleisin syy lienee siinä, että koodarit olettavat kirjaston kehittäjien jo tarkistaneen sen haavoittuvuuksien varalta. Valitettavasti emme kuitenkaan voi ihan luottaa siihen, että kirjastojen koodaajat huolehtisivat, että ne olisivat turvallisia. Tästä kertoo tulos, jonka mukaan 42 prosentista ns. kolmannen osapuolen koodista löydettiin haavoittuvuus ensimmäisellä skannauksella. Ja vaikka kolmannen osapuolen koodi näyttäisikin olevan virheetön, lähes 47 prosentissa kirjastojen koodista on ns. transitiivinen virhe eli kirjastossa viitataan toiseen kirjastoon, jossa on tietoturvahaavoittuvuus.
Miten hallita kirjastoissa olevia tietoturvahaavoittuvuuksia?
Yhteenvetona voisi todeta, että kirjastojen tietoturvavirheiden hallinnan oikea kysymys ei ole ”Miten korjaan virheen?” vaan ”Miten löydän virheen?”. Tässä työssä Veracode SCA on tehokas väline, joka löytää avoimen lähdekoodin kirjastoissa olevat haavoittuvuudet ja antaa tarvittaessa suositukset versionvaihdosta tai patchin asentamisesta.
Veracode SCA (Software Composition Analysis) on helppokäyttöinen palvelu. Palvelun voi integroida kehitysalustaan komentoriviltä käynnistettäväksi agentiksi ja se kertoo tulokset muutamassa sekunnissa. Samaa agenttia voidaan käyttää suoraan myös IDE-ympäristöstä ja saada tulokset vielä nopeammin.
SCAta käyttämällä voidaan paljastaa ei pelkästään koodarin itsensä mahdollisesti tekemät virheet, vaan myös transitiiviset virheet, joita kirjastot voivat välittää useidenkin kerrosten takaa. Veracode SCA löytää myös useampia virheitä kuin mitä NVD (National Vulnerability Database) sisältää. Kaikki kehttäjät eivä raportoi virheitään NVD:lle. Veracode käyttää tiedon louhintaa, luonnollisen kielen käsittelyä (NLP) ja koneoppimista oman SCA -tietokannan kasvattamiseksi ja näin löytää uusia ja aiemmin raportoimattomia virheitä.
Lisätietoja sovellusten tietoturvan testuksesta ja sen trendeistä ESG:n raportissa Modern Application Development Security.
Veracode
SAST – Koodin staattinen tarkistus SCA – Kirjastoanalyysi ja inventaario SDLC sovelluskehitysintegraatio Yrityksen koko sovellusportfolion tietoturvariskien hallinta samassa palvelussa Veracoden palvelun avulla voidaan tutkia ja
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.
Veracode Webinar – Security scanning in pipelines
Tämä on webinaaritallenne 12.5.2021, jossa Julian (Veracode) ja Thomas (Mint Security) näyttävät demoja ja esittelevät ajatuksia Veracoden käyttämisestä CI/CD-putkissa.