16. mars 2022 ble det publisert en sårbarhet, CVE-2022-23812[1], i pakken «node-ipc» som er publisert som åpen kildekode skrevet i programmeringsspråket JavaScript. Flere versjoner av denne pakken inneholdt skadevare som retter seg mot brukere med IP-adresser i Hviterussland og Russland. For å gjøre den delen av kildekoden som inneholdt skadevare litt vanskeligere tilgjengelig var deler av den skrevet i formatet Base64.

Pakken node-ipc er tilgjengelig i pakkesystemet «npm» som automatiserer installering, oppgradering, konfigurering og fjerning av programvarepakker skrevet i JavaScript. Npm er et av de største pakkesystemene med nær 2 millioner kodemoduler. Virksomheten npm er et datterselskap av GitHub, som er en leverandør av tjenester for programvareutvikling med funksjoner for kildekodestyring og versjonskontroll.

En kjent innsiderisiko

Skadevaren i node-ipc ble lagt inn av personen som vedlikeholdt pakken og er dermed konsekvens av en kjent innsiderisiko. Det er viktig at virksomheter gjør risikovurderinger som tar hensyn til denne delen av den digitale leverandørkjeden.

For all utvikling av programvare er også svakheter i design og feil eller misforståelser i programmering en kilde til sårbarheter. Dette er sannsynlig årsak til sårbarheten Log4Shell i rammeverket Log4j som er åpen kildekode skrevet i Java. Dette er en sårbarhet som ble introdusert i koden i 2013 og som ble oppdaget, varslet og rettet sent i 2021.

Det er viktig å merke seg at pakker ofte har avhengigheter til andre pakker, og dermed kan brukere være indirekte avhengig av langt flere pakker enn de pakkene som blir importert direkte i kildekode virksomheten har utviklet eller anskaffet.

Bruk av åpen kildekode

I dag er det regelen og på ingen måte noe unntak at det brukes åpen kildekode. Dette gjelder for så godt som alle virksomheters IT-systemer og digitale infrastruktur. De siste årene har kartlegginger av omfanget vist at over 90 prosent av spurte virksomheter bruker åpen kildekode. En større risikoanalyse fra 2021 fant åpen kildekode i 98 prosent av kodebasene som ble inspisert, og sett under ett var ¾ av koden som ble inspisert åpen kildekode.

Vær oppmerksom på at det er stor forskjell på organisering, kultur og normer, og ikke minst ledelse av forskjellige prosjekter for utvikling av åpen kildekode.

Bruk analyseverktøy og automatiser forvaltning av IT-systemer

For virksomheter som har egen utvikling av programvare er det nødvendig å ta i bruk analyseverktøy som bidrar til mer effektiv håndtering av sårbarheter, kartlegging av direkte og indirekte sårbarheter, og som gir bedre grunnlag for virksomhetens risikostyring. En type verktøy som brukes til dette arbeidet kalles Software Composition Analysis (SCA).

For innkjøpt programvare og skytjenester kan en oversikt over hvilke komponenter med åpen kildekode som er brukt gi grunnlag for mer effektiv håndtering av uønskede hendelser og etablering av forebyggende tiltak når det varsles om alvorlige sårbarheter.

Effektiv bruk av verktøy for konfigurasjonsstyring, verktøy for styring av sikkerhetsoppgraderinger og verktøy for håndtering av risiko knyttet til kjente sårbarheter er nødvendig for effektiv forvaltning av digital sikkerhet i virksomheter.

All programvare virksomheten bruker må ha digitale stykklister

God forvaltning av digital sikkerhet krever at man har kartlagt relevante sårbarheter i IT-systemer. Med den omfattende bruken av åpen kildekode krever god og effektiv risikohåndtering at all programvare virksomheten bruker har oppdaterte stykklister (software bill of materials) som identifiserer hvilke komponenter av åpen programvare som er en del av kildekoden. Da er virksomheten i stand til å vurdere en hensiktsmessig reaksjon på varsler om alvorlige sårbarheter i åpen kildekode. Dette gjelder egenutviklet programvare, innkjøpt programvare og for programvaren i skytjenester virksomheten bruker.