Ambita Puls 

Puls på eiendomsmarkedet - trender, tanker &  teknologi. 

close
Publisert av Bjørn Hamre
20. september 2019

 

Artikkelen er basert på Bjørn Hamres Lightning Talk på JavaZone 2019.

Følgende pressemelding ble sendt ut av det amerikanske selskapet Equifax i september 2017:

Equifax today announced a cybersecurity incident potentially impacting approximately 143 million U.S. consumers. Criminals exploited a U.S. website application vulnerability to gain access to certain files. Based on the company's investigation, the unauthorized access occurred from mid-May through July 2017. The company has found no evidence of unauthorized activity on Equifax's core consumer or commercial credit reporting databases. [ATLANTA, Sept. 7, 2017 /PRNewswire] 
 

Dette er pressemeldingen du ikke har lyst til å sende ut til media, kunder, eiere og investorer. Historien til Equifax startet egentlig 7. mars da en sårbarhet i rammeverket Apache Struts ble offentliggjort (sammen med en ny, “tettet” versjon. Equifax ble faktisk kontaktet av Homeland Security men sikkerhetsavdelingen i Equifax klarte ikke å identifisere systemene som var påvirket av denne sårbarheten. 

Systemene til Equifax kjørte på gammel versjon av Struts helt fram til 29. juli da “mistenkelig nettverkstrafikk” ble oppdaget. Da var det for sent. Høsten 2019 inngikk Equifax forlik hvor de skal sette av minst $575 (og opp til $700) millioner US dollar. 

Datasikkerhet har fått mer og mer fokus i bedriftene de seneste årene - heldigvis. Men det er slik at å være sikkerhetsekspert er en helt egen spesialisering, så det er ikke lett for den «jevne» utvikler å være skikkelig god på alle aspekter av sikkerhet. Men noe kan vi alle gjøre! 

 

En studie av Jeff Williams og Arshan Dabirsiaghi (Unfortunate Reality of Insecure Libraries) påstår at 80% av koden i applikasjonene kommer fra biblioteker og rammeverk vi bruker. Dette er sannsynligvis et for lavt estimat. Enda viktigere er at de fleste bruker bibliotek og rammeverk til nettopp sikkerhet, kommunikasjon og API-er som er fronten ut mot Internett og kundene. Å sikre seg mot sårbarheter i disse bibliotekene er derfor ekstra viktig. OWASP (Open Web Application Security Project) er kjent for sin topp 10 liste over sikkerhetsrisikoer i webapplikasjoner. På den listen har de lagt til “A9: Using Components with Known Vulnerabilities”, noe som understreker alvoret i situasjonen.  

 

For å hjelpe til med å identifisere slike sårbare biblioteker har OWASP også laget eplugin for å automatisere dette. I Ambita bruker vi deres Dependency Check-plugin til Maven- og SBT-prosjekter (https://www.owasp.org/index.php/OWASP_Dependency_Check). Ved å legge inn følgende konfigurasjon i våre maven-filer (se under), får vi automatisk generert en rapport som forteller hvilke biblioteker og rammeverk vi bruker som har kjente sårbarheter. 

 

Rapporten sier noe om antall sårbarheter i hvert bibliotek og alvorlighetsgraden. Ved å klikke på en av sårbarhetene får en opp mer detaljer og lenke til den offisielle oppføringen i National Vulnerability Database (NVD). 

 

r du begynner å se på rapporten kan det være lurt å først luke ut falske positiver. Hvis det er en «ekte» positiv er det ikke alltid lett å finne ut om vår kode blir påvirket av sårbarheten eller ikke. På dette tidspunktet kan det være greit å diskutere med en kollega, eller hvis dere er usikker; oppgrader biblioteket evt. erstatt det med et annet.  

 

Denne pluginen er gratis å bruke, lett å legge inn i prosjektfilene og kan også integreres med de fleste bygge- og integrasjonsserverne. Vurder å feile bygget dersom det finnes en sårbarhet eller definer en egen byggejobb som kjører hver natt uavhengig av om kodebasen har vært endret eller ikke. Husk: Nye sårbarheter offentliggjøres hver dag. Dersom den ikke fant noen kjente sårbarheter forrige uke, kan det ha kommet til noen nye denne ukenPluginen sjekker også bare mot offentlig kjente sårbarheter og erstatter derfor ikke andre sikkerhetstiltak.  

 

Å bruke OWASP sin dependency check plugin er sannsynligvis det billigste og enkleste sikkerhetstiltaket du kan gjøre i ditt prosjekt! 

 

Relaterte innlegg: