Tapio Särkelä

Tapio Särkelä

The author works as a Cyber Sales Lead in Mint Security. Helping software companies to make Secure DevOps.
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp

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.

Percentage of codebase pulled from opensource

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.

Transitive and direct open source vulnerabilities

Miten hallita kirjastoissa olevia tietoturvahaavoittuvuuksia?

Aluksi on hyvä pitää mielessä, että avoimen lähdekoodin kirjastoissa olevat virheet on yleensä helppo korjata. Lähes 74 prosenttia virheistä voidaan poistaa vain päivittämällä uudempaan versioon tai ajamalla kirjastoon saatavilla oleva patch. Jopa  91 prosenttia  vakavista virheistä on helpointa korjata päivityksellä.
Patching open source flaws

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 feature picture

Veracode

SAST – Koodin staattinen tarkistus SCA – Kirjastoanalyysi ja inventaario SDLC sovelluskehitysintegraatio Yrityksen koko sovellusportfolion tietoturvariskien hallinta samassa palvelussa Veracoden palvelun avulla voidaan tutkia ja

Lue lisää »
State of software security 11 is here
Veracode
Tapio Särkelä

Veracode – State of Software Security 11

Veracode julkaisi äskettäin vuosittaisin raporttinsa sovellusten tietoturvan tilasta. State of Software Security 11 antaa kattavan näkkymän millaisia haavoittuvuuksia sovellukset sisältävät, millaisia ne ovat,, mikä niitä

Lue lisää »
Veracode Security Labs - training module introduction to bash terminal
Veracode
Saku Tuominen

Veracode Security Labs – Community Edition

Veracode Security Labs Community Edition on paikka, jossa kehittäjät voivat hakkeroida ja korjata aitoja sovelluksia, oppia uusimpia taktiikoita ja parhaita tietoturvakäytäntöjä — opastuksen kera, oikeaa koodia tutkien. Tämän yhteisöversion avulla kuka tahansa saa käyttöönsä tarvittavat työkalut sovellusten tietoturva-aukkojen tilkitsemiseen.

Lue lisää »
Tapio Särkelä

Tapio Särkelä

The author works as a Cyber Sales Lead in Mint Security. Helping software companies to make Secure DevOps.
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp

ota yhteyttä

Pyydä rohkeasti lisätietoa. Vastaamme todennäköisesti nopeammin kuin osasit kuvitella.