• No results found

Examensarbete Kandidatexamen mikrodataanalys Analys av sårbarheter från national vulnerability databas

N/A
N/A
Protected

Academic year: 2021

Share "Examensarbete Kandidatexamen mikrodataanalys Analys av sårbarheter från national vulnerability databas"

Copied!
50
0
0

Loading.... (view fulltext now)

Full text

(1)

Examensarbete

Kandidatexamen mikrodataanalys

Analys av sårbarheter från national vulnerability databas

Analysis of vulnerabilities from national vulnerability database

Författare: Dennis Blomberg Handledare: Rueben Laryea Examinator: Hassan Fleyeh

Ämne/huvudområde: Mikrodataanalys Kurskod: GMI2C8

Poäng: 15hp

Examinationsdatum: 2020-06-02

Vid Högskolan Dalarna finns möjlighet att publicera examensarbetet i fulltext i DiVA.

Publiceringen sker open access, vilket innebär att arbetet blir fritt tillgängligt att läsa och ladda ned på nätet. Därmed ökar spridningen och synligheten av examensarbetet.

Open access är på väg att bli norm för att sprida vetenskaplig information på nätet.

Högskolan Dalarna rekommenderar såväl forskare som studenter att publicera sina arbeten open access.

Jag/vi medger publicering i fulltext (fritt tillgänglig på nätet, open access):

Ja ☒ Nej ☐

Högskolan Dalarna – SE-791 88 Falun – Tel 023-77 80 00

(2)

Abstract

Today, digital development is happening at such a high rate that security is not as prioritized as it should be. When security is prioritized away, there is a high risk that vulnerabilities arise that malicious actors would like to exploit. It can be for accessing sensitive information, financial gain or simply bringing harm. In order for IT-security personnel to be able to more easily prevent and focus efforts on the vulnerabilities that are current today, this study aims to answer the following question: What is the trend of the most prevalent vulnerabilities? What is the trend of product owners with the most vulnerabilities? What is the trend based on the severity linked to the vulnerabilities? What is the trend of the impact on confidentiality, integrity, and accessibility? To answer the questions, a quantitative data analysis was done on the database from the National Vulnerability Database (NVD) together with the dataset from the Common Weakness Enumeration (CWE).

The data set from CWE has been used to name and classify the vulnerabilities in NVD. Trends that have been identified in the analysis are as follows: injection, insufficient data authentication and uncontrolled resource consumption are vulnerabilities that have increased percentage every year since 2016. The impact of availability on the reported vulnerabilities declines as a percentage over the years. Vulnerabilities with a high impact on integrity, accessibility and confidentiality has decreased as a percentage.

Keywords: trend analysis, vulnerability trends

(3)

Sammanfattning

I dagens samhälle sker den digitala utvecklingen i en sådan hög takt att säkerheten inte blir lika prioriterad som den borde. När säkerheten bortprioriteras finns det stor risk att sårbarheter uppstår som illasinnade aktörer gärna vill utnyttja. Det kan vara för att komma åt känslig information, ekonomisk vinning eller för att helt enkelt bringa skada. För att IT-säkerhetspersonal lättare ska kunna förebygga och fokusera insatser på de sårbarheter som är aktuella idag, ämnar den här studien till att svara på följande frågeställning: Hur ser trenden ut av de flest förekommande sårbarheterna? Hur ser trenden ut av produktägare med flest sårbarheter? Hur ser trenden ut utifrån allvarlighetsgraden kopplad till sårbarheterna? Hur ser trenden ut av påverkan utav konfidentialitet, integritet och tillgänglighet? För att besvara frågeställningen har en kvantitativ dataanalys gjorts på databasen från National Vulnerability Database (NVD) ihop med datasetet från Common Weakness Enumeration (CWE). Datasetet från CWE har använts för att namnge och klassificera sårbarheterna i NVD. Trender som har identifierats i analysen är följande: sårbarheterna injektion, otillräcklig verifiering av data autenticitet och okontrollerad resursförbrukning, har alla ökat procentuellt varje år sedan 2016. Påverkan av tillgänglighet på de rapporterade sårbarheterna sjunker procentuellt med åren. Sårbarheter med hög påverkan av integritet, tillgänglighet och konfidentialitet har procentuellt minskat.

Nyckelord: trendanalys, sårbarhetstrender

(4)

Definitioner

För att underlätta läsningen presenteras några förekommande ord, begrepp och termer som förekommer i uppsatsen.

Digitalisering - avser den omvandlingen som sker från analog till digital representation i samhället (Nationalencyklopedin, u.å).

Python – är ett objektorienterat programmeringsspråk med ett stort utbud av bibliotek (Python, u.å).

Pandas – är ett bibliotek till Python som används för dataanalys (Pandas, u.å).

Databas – är en organiserad samling av strukturerad information (Oracle, 2020) som i den här rapporten avser data som är lagrad i ett datorsystem.

JSON – står för JavaScript Object Notation och är ett textbaserat format som används för datautbyte (json, u.å).

CSV – står för Comma Separated value och är ett textfilsformat där varje värde separeras av ett kommatecken (Internet Engineering Task Force, 2005).

(5)

Innehållsförteckning

1INLDENING ... 1

1.1Bakgrund ... 1

1.2 Problemformulering ... 2

1.3 Syfte ... 2

1.4 Frågeställning ... 2

1.5 Avgränsningar ... 3

2 TEORI ... 4

2.1 Common vulnerability scoring system... 4

2.1.1 Introduktion ... 4

2.1.2 Common vulnerability scoring system metrik ... 4

2.2 Common weakness enumeration... 6

3 METOD ... 11

3.1 Metodansats ... 11

3.2 kvantitativ dataanalys ... 11

3.3 Datainsamling ... 12

3.3.1 Bearbetning av data ... 12

4 ANALYS ... 15

4.1 frekvensen av sårbarheter årsvis ... 15

4.2 allvarlighetsgraden årsvis ... 15

4.3 Konfidentialitet, Integritet och tillgänglighet hög ... 15

4.4 Konfidentialitet, Integritet och tillgänglighet ... 16

4.5 Topp 15 sårbarhetsklasser/pelare ... 16

5 RESULTAT ... 27

6 DISKUSSION ... 30

6.1 Metodval ... 30

6.2 Avgränsningar ... 30

6.3 Frågeställning ... 31

6.4 Resultat ... 31

6.5 Fortsatt forskning och konsekvenser av slutsatser ... 32

7 SLUTSATS ... 33

8 Källförteckning ... 34

9 Bilagor ... 36

Bilaga A ... 36

Bilaga B ... 36

Bilaga C ... 40

(6)

1

1 INLDENING

Den digitaliserade utvecklingen i samhället accelererar i takt med teknikens möjligheter, samtidigt flyttas samhällets förväntningar fram på den service som ska erbjudas. Den kombinationen av digitaliseringen och förväntningarna skapar en situation där hastighet och förändringsdriv går före säkerhet och kontroll.

(Myndigheten för samhällsskydd och beredskap, 2019)

Datorprogramvara i produkter finns i olika former och körs på olika plattformar, det förekommer allt ifrån enklare applikationer som körs på handhållna mobila enheter till sofistikerade distributionsprogramvarusystem. Denna mjukvara produceras med många olika metoder, baserade på en mängd olika tekniker, var och en med sina egna fördelar och begränsningar. Ett viktigt problem i denna enorma kritiska globala industri och inom datasäkerhet, är problemet med sårbarheter i programvaran. (Ghaffarian & Shahriari, 2017)

Common vulnerability and exposure (CVE) är en industristandard för publikt kända sårbarheter. Alla deras sårbarhetsrapporter är offentligt tillgängliga, vilket gör det möjligt för vem som helst att ladda hem. CVE används i en mängd olika säkerhetsverktyg såsom intrångsdetekteringssystem, penetrationstestning och sårbarhets scannrar (Mitre, 2017). National vulnerability database (NVD) definierar en sårbarhet som en svaghet i beräkningslogiken som finns i programvaru- och hårdvarukomponenter. Utnyttjas sårbarheten resulteras det i en negativ inverkan på konfidentialitet, integritet eller tillgänglighet (National Institute of Standards and Technology (Nist), 2020a). Samhällets snabba ökning av digitaliseringen har medfört en ökning av cyberattacker. År 2018 ökade antalet unika incidenter utav cyberattacker med 27 % jämfört med året innan (Positive technologies, 2018).

2019 ökade dessa incidenter med 19% (Positive technologies, 2019). Både år 2018 och 2019 rapporter visar att malware är den attacken som ökar mest, hela 56 % år 2018 och 66 % 2019, dessa cyberattacker har på något sätt utnyttjat sårbarheter i programvara. Sårbarheter hittas hela tiden av både säkerhets forskare, illasinnade aktörer och mjukvaruleverantörer. IT-incidenter kommer alltid att inträffa, det är hur väl organisationer, såväl offentliga som privata, hanterar de inträffade incidenterna som avgör hur allvarliga konsekvenserna blir (MSB, 2019).

1.1 Bakgrund

År 1999 lanserades CVE av The MITRE Corporation, som är en icke vinstdrivande organisation finansierad av U.S Department of Homeland Security. Vilket gjordes för att ta itu med problemet att det inte fanns någon gemensam namnkonvention för kända sårbarheter. När olika cybersäkerhets verktyg använde egna databaser och egna namn för sårbarheter blir interoperabilitet mellan olika säkerhetsverktyg och databaser väldigt svår (Mitre, 2019a). MITRE ville skapa ett system för att hantera sårbarhetsinformation från olika källor i en centraliserad databas (Mann &

Christey, 1999). vilket skulle göra det betydligt lättare att dela information över olika organisationer. MITRE har gjort det genom att skapa en standardiserad identifierare för en given sårbarhet.

(7)

2

Totalt har 143,467 sårbarheter rapporterats in till NVD (Nist, 2020b). Bara mellan åren 2019–2020 har 17,013 sårbarheter rapporterats. Den senaste version av common vulnerability scoring system v3.1 som används för att ge en allvarlighetsgrad till sårbarheter har 5 olika kategorier, ingen, låg, medium, hög och kritisk. 15,42 % av de inrapporterade sårbarheterna 2019 var av den högsta allvarlighetsgraden (Nist, 2020c). Den högsta allvarlighetsgraden innebär oftast att konfidentialitet, integritet och tillgänglighet är alla exponerade vid en attack. Från 2016–2019 har en kraftig ökning av sårbarheter visat sig i NVD databas (Cvedetails, 2020). I det här projektet kommer fokuset vara att analysera databasen från 2016–

2019 för att se hur trenden ser ut av sårbarheter. Projektet kommer att göras hos och med ett samarbete av trafikverket.

1.2 Problemformulering

Så fort en CVE släpps publikt är attackerarna väldigt snabba med att skapa program för att exploatera sårbarheten, detta gäller speciellt när konfidentialitet, integritet och tillgänglighet är alla utsatta. Samtidigt som attackerarna försöker utnyttja sårbarheterna i IT-system, så jobbar IT-säkerhetspersonalen med att göra det så svårt som möjligt. Att förstå sårbarhets trender kan ha en väldigt betydelsefull fördel för IT-säkerhetspersonal, för att de bättre ska kunna förbereda sig att förebygga och mildra inverkan av en attack. Trend analyser av sårbarheter är också viktig för att i tid kunna sätta in motåtgärder för trender som blir för stora och skapar problem. Tidigare forskning om sårbarhets trender av NVD databas behöver uppdateras, då det finns mycket data tillgänglig idag som ger en mer relevant bild av dagens sårbarhetstrender. Chang, Zavarsky, Ruhl & Lindskog (2011) har analyserat CVE sårbarhetstrender från 2007–2010 och Neuhaus & Zimmermann (2010) analyserade alla sårbarheter fram till 2009.

1.3 Syfte

Syftet med studien kommer att vara att analysera sårbarheter från NVD databas för att uppdatera tidigare forskning med nya data, för att ta fram hur trenden har sett ut mellan 2016–2019.

1.4 Frågeställning

Frågeställningen som visas nedan har sammanställts för att analysen ska ge så relevant information som möjligt, för att förebygga och fokusera insatser på de sårbarheter som är mest aktuella idag.

Hur ser trenden ut:

• av de flest förekommande sårbarheterna?

• av produktägare med flest sårbarheter?

• utifrån allvarlighetsgraden kopplad till sårbarheter?

• av påverkan utav konfidentialitet, integritet och tillgänglighet?

(8)

3 1.5 Avgränsningar

De avgränsningar som valts att göras är följande.

• Sårbarheter kommer endast att hämtas från National vulnerability database.

• Endast topp 5 produktleverantörer kommer att analyseras för varje sårbarhet.

• Data som analyseras kommer att vara från 2016–2019.

• Endast topp 15 sårbarheter kommer att analyseras.

(9)

4

2 TEORI

I detta kapitel presenteras den teori läsaren behöver ta del av, för att få en helhetsbild om hur sårbarheter tilldelas en allvarlighetsgrad samt vad common weakness enumeration är för något och hur det används. Detta för att läsaren ska få en bättre förståelse över analysen.

2.1 Common vulnerability scoring system

2.1.1 Introduktion

2005 publicerades första versionen av common vulnerability scoring system (CVSS) av US national infrastructure assurance council som ett öppet poängsystem för sårbarheter i mjukvara, hårdvara och firmware. Ansvaret av CVSS ligger nu hos FIRST men ett nära samarbete sker med både CERT/CC och MITRE (Forum of Incident Response and Security Teams (First), 2005).

CVSS används till att producera ett numeriskt poäng som ska återspegla en sårbarhets allvarlighetsgrad, det åstadkommas genom att fånga de viktigaste egenskaperna av sårbarheten. Den numeriska poängen kan sedan översättas till en kvalitativ representation som låg, medel, hög och kritisk för att hjälpa organisationer att bedöma och prioritera sina sårbarhetshanteringsprocesser korrekt (First, 2020). Poängen som tilldelas en sårbarhet kan göras om till dess kvalitativa representation enligt tabell 1.

Tabell 1 Allvarlighetsgraden som kvalitativ representation

Låg Medel Hög Kritisk

0.1–3.9 4.0–6.9 7.0–8.9 9.0–10.0

2.1.2 Common vulnerability scoring system metrik

Nedan beskrivs de grupper från den senaste versionen av CVSS, v3.1. De är uppdelade i bas, temporär och miljö.

• Bas

Basgruppen representerar egenskaper hos en sårbarhet som är konstant över tid och över olika användarmiljöer. Baspoängen sätts vanligtvis av den organisation som har den sårbara produkten (First, 2019).

• Temporär

Temporära gruppen ska återspegla de egenskaper hos en sårbarhet som kan förändras över tid men inte över användarmiljöer (First, 2019).

• Miljö

Miljögruppen representerar egenskaper hos en sårbarhet som är unik för användarens egen miljö. Beräknas av organisationen som använder den sårbara mjukvaran för att få ett mer specifikt poäng för organisationens egen miljö (First, 2019).

(10)

5

I analysen av data från NVD kommer poängen från CVSS att användas från basgruppen. Temporär och miljögruppen kommer inte att beskrivas mer än ovan.

Basgruppen har 8 uppsättningar av mätvärden för att ta fram en allvarlighetsgrad, den är också uppdelad i två subgrupper, exploaterbarhet och påverkan.

Exploaterbarhet är enkelheten och det tekniska sättet sårbarheten kan utnyttjas.

Påverkan reflekterar den direkta konsekvensen av ett framgångsrikt utnyttjande av sårbarheten (First, 2019). I subgruppen exploaterbarhet tillhör mätvärdena attackvektor, attack komplexitet, behövande privilegier och användarinteraktion.

Subgruppens påverkan innehåller påverkan av konfidentialitet, integritet och tillgänglighet. Ihop med exploaterbarhet och påverkan räknas omfattningen av sårbarheten med till det sammanlagda poänget.

Nedan beskrivs de 8 uppsättningarna av mätvärden för att ta fram en allvarlighetsgrad till sårbarheten.

Attackvektor

Attackvektorn visar på möjligheten att utnyttja sårbarheten, baspoängen blir högre ju mer avlägsen logiskt och fysiskt angriparen kan vara för att utnyttja sårbarheten.

Mätvärdena för att beräkna allvarlighetsgraden är: nätverk, intilliggande, lokal och fysisk. (First, 2019)

Attack komplexitet

Attack komplexiteten har alternativen hög och låg. Om Låg så har angriparen inga specialiserade åtkomstvillkor. Om hög så kan inte en framgångsrik attack utföras utan att angriparen på något sätt exempelvis skaffar sig mer information kring miljön eller att utföra en man-in-the-middle attack för att komma in i det logiska nätverket. (First, 2019)

Behövande privilegier

Behövande privilegier är uppdelad i ingen, låg och hög. Om ingen så behöver attackeraren inga privilegier för att kunna utföra attacken, vilket är det alternativet som höjer baspoängen mest. Låg så behöver attackeraren åtkomst till grundläggande användarfunktioner, eller så är attackeraren begränsad till icke känsliga resurser. Det som sänker baspoängen mest är alternativet hög, attackeraren behöver då ha privilegier som ger en betydande kontroll över den sårbara komponenten, till exempel administrativa privilegier. (First, 2019)

Användarinteraktion

Om attackeraren behöver en separat användare eller användarinitierad process för att utföra attacken så sänks baspoänget. I andra fallet så kan attackeraren angripa sårbarheten efter sin egen vilja. (First, 2019)

Omfattning

Omfattningen av en sårbarhet kan vara förändrad eller oförändrad. Om omfattningen är förändrad så kan en attackerare utnyttja resurser utanför den sårbara komponentens säkerhetsmyndighet. En säkerhetsmyndighet kan till

(11)

6

exempel vara en applikation, ett operativsystem eller firmware som definierar och upprätthåller åtkomstkontroll i termer av hur vissa ämnen / aktörer kan komma åt vissa begränsade objekt. Sårbarheten kan ha andra komponenter som tillhandahåller funktionalitet, de kommer då att ingå i sårbarhetens säkerhetsomfång, även om dessa andra komponenter har en egen säkerhetsmyndighet. Detta kommer att resultera i att baspoänget kommer att öka tillskillnad om omfattningen skulle vara oförändrad (First, 2019).

Konfidentialitet, tillgänglighet och integritet är viktiga delar i alla digitala system.

Confidentiality, integrity och availability (CIA) är en känd säkerhetsmodell som generellt används inom informationssäkerhet. Modellen syftar till att vägleda organisationer genom att belysa de mest centrala delarna en verksamhet bör fokusera på för att hålla känslig information skyddad. CVSS poängsätter CIA genom mätvärdena hög, låg och ingen. Nedan följer en beskrivning om vad dessa innebär.

Konfidentialitet

• Hög så kommer alla de resurser inom den sårbara komponenten att lämnas till angriparen, vilket är en total förlust av konfidentialitet.

• Låg så kan attackeraren få tillgång till en viss begränsad information, men attackeraren kan inte kontrollera vilken information som erhålls.

• Ingen så finns det ingen förlust av konfidentialitet i den sårbara komponenten.

Integritet

• Hög så har attackeraren möjlighet att ändra exempelvis filer som skyddas av den sårbara komponenten.

• Låg är modifiering av data möjligt men modifieringen har inte en allvarlig inverkan på den sårbara komponenten.

• Ingen så finns det ingen förlust av integritet i den sårbara komponenten.

Tillgänglighet

• Hög så finns en total förlust av tillgänglighet, vilket resulterar i att angriparen helt kan neka tillgång till resurser i den påverkade komponenten

• Låg så finns det ingen direkt, allvarlig konsekvens för den påverkade komponenten. Men en attackerare kan minska prestandan eller skapa ett avbrott i resurstillgången.

• Ingen så finns det ingen inverkan på tillgängligheten i den sårbara komponenten

2.2 Common weakness enumeration

Common weakness enumeration (CWE) är en samhällsutvecklad lista över vanliga typer av mjukvara och hårdvara som har svagheter. Svagheter är brister, fel, buggar, sårbarheter eller andra fel i implementering av programvara, hårdvara, kod, design eller arkitektur som om den inte blir adresserad kan leda till att system, nätverk eller hårdvara är sårbara för attacker (Mitre, 2019a). På CWE webbplats (Mitre, 2020e) finns det möjligheten att använda olika hierarkiska representationer

(12)

7

för att enklare navigera sig i en lista av sårbarheter utifrån en viss synvinkel. Det kan vara programutvecklingsrepresentationen som grupperar svagheter kring koncept som ofta används eller stöter på i mjukvaruutveckling. Eller Forskningskonceptpresentation som underlättar forskning om svaghetstyper och organiserar objekt efter beteenden med flera nivåer av abstraktion. I Analysen har dessa olika nivåer av abstraktion används från Forskningskonceptpresentation, för att klassificera sårbarheterna till så nära som möjligt, samma nivå av abstraktion.

De olika abstraktionsnivåerna i Forskningskonceptpresentation visar en graf med ett träd liknande förhållanden där pelare, klasser, basnivå, variant, kedja och komposit beskriver de olika nivåerna. Pelare är svagheter som beskrivs på det mest abstrakta sättet. Klasser är också mycket abstrakt beskrivna och oftast oberoende av ett specifikt programmeringsspråk eller teknik. Basnivå används för att beskriva en mer specifik typ av svaghet. Variant beskriver svagheten på en mycket låg detaljnivå, oftast begränsad till ett visst språk eller teknik. En kedja är en uppsättning av svagheter som måste kunna nås i följd för att skapa en utnyttjbar sårbarhet. komposit är en uppsättning av svagheter som alla måste vara närvarande samtidigt för att skapa en utnyttjbar sårbarhet.

Nedan beskrivs de 15 flest förekommande sårbarheterna från analysen av typen klass eller pelare, med rankad numrering och ID. Sårbarheter som är av typ basnivå kommer att beskrivas om de representerar en större andel en 10 % av alla sårbarheter i datasetet. Övriga sårbarheter på basnivå presenteras med CWE ID och namn under respektive klass/pelare. Information om respektive sårbarhets kategori har hämtats från MITRE (Mitre, 2020g).

1. CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'). CWE-74 är en klass som beskriver flera typer av injektions problem. Problemet kommer ifrån att programvaran brister i verifieringen av indata, som är användarkontrollerat. Det betyder att användare kan ändra utförandet av en process genom att skicka exekverbar kod till en egentlig legitim datakanal.

CWE-79: Cross-site Scripting (XSS). Det finns tre typer av XSS, reflekterad XSS, lagrad XSS och dom-Baserad XSS. Reflekterad XSS inträffar när en angripare inkluderar skadlig kod i en URL som sedan görs publik eller skickas direkt till ett offer via exempelvis mejl. Om offret öppnar länken kommer den skadliga koden att reflekteras i webbläsaren som nu visar ett felaktigt innehåll.

CWE-89: SQL Injection. En angripare kan modifiera ett SQL-kommando så att det infogar ytterligare uttalanden som påverkar databasen. Det kan också användas för att ändra frågelogiken för att kringgå säkerhetskontroller. Detta går att utföra om programvaran inte neutraliserar eller felaktigt neutraliserar specialelement.

CWE -78: OS Command Injection, CWE-77: Command Injection, CWE-88:

Argument Injection, CWE-91: Blind XPath Injection, CWE-94: Code Injection, CWE-113: HTTP Response Splitting, CWE-75: Special Element Injection, CWE- 99: Resource Injection, CWE-93: CRLF Injection, CWE-943: Improper Neutralization of Special Elements in Data Query Logic, CWE-90: LDAP Injection.

(13)

8

2. CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer. Mjukvaran utför operationer på en minnesbuffert, men den kan läsa från eller skriva till en minnesplats som ligger utanför den avsedda gränsen för bufferten. Det kan göra att läs eller skrivoperationer utförs på minnesplatser som ej är avsedda för de operationerna. Det kan vara andra variabler, datastrukturer eller interna programdata som utnyttjas. Detta är möjligt då vissa språk tillåter direkt adressering av minnesplatser, men automatiskt inte garanterar att de är giltiga.

CWE-125: Out-of-bounds Read. En angripare skulle kunna läsa känslig information eller orsaka en krasch. Detta har att göra med att mjukvaran läser data förbi slutet eller före början av den avsedda bufferten. Det kan göras vi avsaknad av en vaktpost som ska stoppa läsoperationen om den går utanför gränserna. fler specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-787: Out-of-bounds Write, CWE-120: Classic Buffer Overflow, CWE-824: Access of Uninitialized Pointer, CWE-123: Write-what- where Condition.

3. CWE-200: Exposure of Sensitive Information to an Unauthorized Actor. CWE- 200 är en klass som beskriver flera typer av sårbarheter, som på något sätt exponerar känslig information till någon som saknar behörigheten. Beroende på vilket sammanhanget i vilket produkten arbetar i, typ av känslig information och vilka fördelar det kan ge en angripare, så varierar allvarlighetsgraden mycket i den här sårbarheten. Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-532: Insertion of Sensitive Information into Log File, CWE-203: Observable Discrepancy, CWE-209:

Generation of Error Message Containing Sensitive Information, CWE-538:

Insertion of Sensitive Information into Externally Accessible File or Directory.

4. CWE-20: Improper Input Validation. Den här klassen beskriver sårbarheter om produkter som inte validerar eller felaktigt validerar indata. Det kan ha en påverkan på ett programs styr eller dataflöde. Om produkten felaktigt validerar indata så kan en angripare producera indata som applikationen inte förväntar sig. Det kan leda till tillfällig exekvering av kod eller att angriparen får kontroll över en resurs. Mer specifikt beskriven sårbarhet från analysen som är kopplade till denna klass är: CWE-129: Improper Validation of Array Index.

5. CWE-287: Improper Authentication. När en aktör påstår sig ha en viss identitet, bevisar inte programvaran eller bevisar inte tillräckligt att påståendet är korrekt.

CWE-295: Improper Certificate Validation En angripare skulle kunna störa kommunikationsvägen mellan en värd och klient och på så sätt förfalska en betrodd enhet. Detta är möjligt om programvaran inte validerar eller felaktigt validerar ett certifikat. Fler specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är:CWE-798: Use of Hard-coded Credentials, CWE- 522: Insufficiently Protected Credentials, CWE-290: Authentication Bypass by Spoofing, CWE-294: Authentication Bypass by Capture-replay, CWE-306:

(14)

9

Missing Authentication for Critical Function, CWE-307: Improper Restriction of Excessive Authentication Attempts, CWE-521: Weak Password Requirements, CWE-640: Weak Password Recovery Mechanism for Forgotten Password, CWE-297: Improper Validation of Certificate with Host Mismatch, CWE-321: Use of Hard-coded Cryptographic Key, CWE-288: Authentication Bypass Using an Alternate Path or Channel, CWE-257: Storing Passwords in a Recoverable Format, CWE-603: Use of Client-Side Authentication.

6. CWE-264: Permissions, Privileges, and Access Controls. Sårbarheter i denna kategori är relaterade till hantering av behörighet, rättigheter och andra säkerhetsfunktioner för att genomföra åtkomstkontroll. CWE-264 är egentligen en kategori som inte ska beskriva en sårbarhet, trots det används den ofta mot CWE vägledning om att inte göra det.

7. CWE-672: Operation on a Resource after Expiration or Release. När en resurs har gått ut, återkallats eller precis släppts använder mjukvaran åtkomst till, eller på annat sätt opererar på resursen. Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-415: Double Free, CWE- 416: Use After Free, CWE-413: Improper Resource Locking, CWE-613:

Insufficient Session Expiration.

8. CWE-345: Insufficient Verification of Data Authenticity. Informationens ursprung eller äkthet verifieras inte tillräckligt av mjukvaran, ogiltiga data kan då accepteras. Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-346: Origin Validation Error, CWE-347:

Improper Verification of Cryptographic Signature, CWE-352: Cross-Site Request Forgery (CSRF), CWE-354: Improper Validation of Integrity Check Value, CWE-924: Improper Enforcement of Message Integrity During Transmission in a Communication Channel.

9. CWE-284: Improper Access Control. När programvaran inte kan bevisa en persons identitet, se till att den personen har tillgång till rätt resurs eller att spåra de aktiviteter som utfördes, så kan en angripare äventyra säkerheten.

Angriparen skulle kunna få privilegier, läsa känslig information, utföra kommandon och undvika upptäckt. Sårbarheten är av abstraktionsnivå pelare och har inga sårbarheter på klass eller basnivå kopplade till sig.

10. CWE-706: Use of Incorrectly Resolved Name or Reference. En resurs kan kommas åt som inte ligger I det avsedda Kontrollerade området. Det kan göras om programvaran felaktigt använder ett namn eller en referens som pekar mot en resurs utanför det kontrollerade området. Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-178:

Improper Handling of Case Sensitivity, CWE-22: Path Traversal, CWE-59: Link Following

11. CWE-682: Incorrect Calculation. Resultaten av en felaktig beräkning skulle kunna leda till att skyddsmekanismer inte fungerar som de ska eller att kod kan

(15)

10

exekveras. Detta skulle kunna inträffa om programvaran använder felaktiga eller oavsiktliga resultat i säkerhetskritiska beslut. Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna pelare är: CWE-131:

Incorrect Calculation of Buffer Size, CWE-190: Integer Overflow or Wraparound, CWE-191: Integer Underflow, CWE-193: Off-by-one Error, CWE- 369: Divide By Zero.

12. CWE-610: Externally Controlled Reference to a Resource in Another Sphere.

En resurs som ligger utanför det avsedda kontrollområde kan frigöras, då produkten använder en referens eller ett externt kontrollerat namn.

Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-1021: Improper Restriction of Rendered UI Layers or Frames, CWE-384: Session Fixation, CWE-601: URL Redirection to Untrusted Site, CWE-611: Improper Restriction of XML External Entity Reference, CWE-918:

Server-Side Request Forgery, CWE-441: Unintended Proxy or Intermediary.

13. CWE-754: Improper Check for Unusual or Exceptional Conditions. En angripare skulle kunna utlösa ovanliga förhållanden som programmeraren har antagit aldrig kommer att inträffa. Det kan exempelvis handla om låga minnesförhållanden, felaktiga klienter/komponenter eller brist på tillgång till resurser på grund av restriktiva behörigheter. Angriparen kan då införa instabilitet, felaktiga beteenden eller en sårbarhet. Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-252:

Unchecked Return Value, CWE-273: Improper Check for Dropped Privileges, CWE-476: NULL Pointer Dereference.

14. CWE-399: Resource Management Errors. Svagheter i denna kategori är relaterade till felaktig hantering av systemresurser.

15. CWE-400: Uncontrolled Resource Consumption. En angripare skulle kunna förbruka alla tillgängliga resurser, vilket skulle förhindra giltiga använder åtkomst till programvaran. Det skulle kunna åstadkommas av en angripare om antalet eller storleken på begränsade resurser inte kontrolleras. Exempel på begränsade resurser är minne, filsystemlagring och central processing unit (CPU). Mer specifikt beskrivna sårbarheter från analysen som är kopplade till denna klass är: CWE-770: Allocation of Resources Without Limits or Throttling, CWE-920: Improper Restriction of Power Consumption, CWE-774: Allocation of File Descriptors or Handles Without Limits or Throttling.

(16)

11

3 METOD

I det här kapitlet kommer det redogöras vilken metod som har använts och hur datainsamling och bearbetningen av data har gått till.

3.1 Metodansats

Projektidén har arbetats fram tillsammans med trafikverket innan några litteraturstudier har gjorts i ämnet. Litteraturstudiens syfte har då varit att ge en större förståelse kring ämnet och en helhetsbild av vad för tidigare forskning inom CVE som har gjorts. De vetenskapliga publikationerna är inhämtade från IEEE Xplore och Google Scholar. För att hitta relevanta publikationer och aktuella referenser har följande ämnesord använts: ”Common vulnerabilities and exposure”, ”Common vulnerabilities and exposure analysis”, ” security vulnerabilities analysis” och ”Trend analysis of CVE”. En stor del av arbetet har handlat om inläsning på de produkter som använts i projektet, all den informationen har hämtats från produkttillverkarens egen dokumentation.

Tidigare forskning kring att identifiera trenden av sårbarheter är idag av inaktuella data. Den här uppsatsen syftar till att uppdatera tidigare forskning med nyare data, men även gå in på vilka produktförsäljarna är som står för största andelen av varje enskild sårbarhet. För att besvara frågeställningen har en kvantitativ dataanalys använts.

3.2 kvantitativ dataanalys

I denna studie används en kvantitativ dataanalys, enligt Oates (2005) definition.

Kvantitativdata menas data, eller bevis, baserat på nummer. Kvantitativdata är den huvudsakliga data som genereras utav experiment och undersökningar. Men kan genereras utav andra forsknings strategier också. Idén är att försöka hitta mönster i data som samlats in och dra slutsatser. Det finns ett flertal olika tekniker för att analysera data, beroende på hur stor omfattning av data som ska analyseras så måste rätt teknik användas för att få ut trovärdiga data.

I en kvantitativ dataanalys kan det finnas flera olika sorters data, i denna studie förekommer det nominaldata, ordinaldata och data från en kvotskala. Det är viktigt att veta skillnaden på dessa datatyper, då olika analystekniker passar till olika datatyper (Oates, 2005).

Nominaldata

Nominaldata är en typ av kvalitativa data som endast kategoriserar data utan att ge de olika kategorierna någon inbördes ordning. Nominaldata räknas till den svagaste formen av kvalitativa data då minst antal operationer går att utföra, typvärdet kan endast användas. (Lantz, 2015)

Ordinaldata

Ordinaldata är en typ av kvalitativa data som beskriver kategorier som det finns en inbördes (rang) eller ordning. Just möjligheten att rangordna gör att det finns

(17)

12

operationer som kan utföras på ordinaldata som inte är möjliga på nominaldata.

Skillnaden jämfört med nominaldata är att centraltendensen för en datamängd förutom typvärdet även kan beskrivas med dess medianvärde. Eftersom mätpunkterna saknar matematisk betydelse går medelvärdet ej att räkna ut.

(Lantz, 2015) Kvotskala

Kvotskala kommer från en kvantitativ skala och har en absolut noll punkt.

Kvantitativa data kan beskrivas med medelvärde, median och typvärde. Eftersom variabelvärdena representerar kvantiteter kan de alltså alltid adderas och subtraheras, vilket som krävs för att beräkna deras medelvärde. Eftersom det existerar en absolut noll punkt så går det även att utföra division. (Lantz, 2015)

3.3 Datainsamling

Data som har använts i analysen är hämtad från NVD (Nist, 2020c) och innehåller detaljerad information om varje CVE från 2016–2019. Över de 4 åren fanns det totalt 58,679 sårbarheter registrerade. Datasetet från Common Weakness Enumeration (CWE) (Mitre, 2019b) laddades hem och länkades ihop med NVD databasen för att få information om varje sårbarhets typ.

3.3.1 Bearbetning av data

All data som är tillgänglig att ladda hem från NVD är sorterad från CVE-2002 till CVE-2020. Året i CVE identifieraren representerar det år som ett ID vart tilldelat sårbarheten eller det år som sårbarheten vart publicerad. För att få med all data som publicerats mellan åren 2016–2019 laddades all data hem. Det gjordes för att inte missa sårbarheter som har blivit tilldelade ett CVE ID flera år innan de blivit publicerade. Formatet på den data som laddades hem var i JSON format, det konverterades till CSV format för att enkelt bearbetas i Python biblioteket Pandas.

Datasetet bestod då av sex kolumner, vilka var cve_number, configurations, cve, impact, lastModifiedDate och publishedDate. Configurations, cve och impact innehöll nästlade JSON objekt som viktig information för analysen har plockats ur och lagts i separata kolumner. I kolumnen configurations fanns det information om vilken produktägaren är samt vilken produkt som är påverkad av sårbarheten.

Informationen plockades ut och lades i två nya kolumner, Affected_vendor och Affected_vendor_details. I kolumnen impact fanns all information om sårbarheten som räknats ut av CVSS, all den data lades i separata kolumner. I kolumnen cve plockades CWE ID ut och lades i en separat kolumn för lättare åtkomst.

Datasetet från CWE hade formatet CSV när det laddades hem och kunde då enkelt sammanfogas med NVD datasetet. Det gjordes via CWE ID som tidigare hade plockats ur från kolumnen cve, vilket skapade ytterligare två kolumner CWE_Name och CWE_Description. I Teoridelen 2.2 beskrevs det hur sårbarheter delas in i olika kategorier med olika nivå av abstraktion av förklaring. I datasetet var det en blandning av alla dessa kategorier, vilket väldigt mycket manuellt arbete har lagts ner för att få iordning på. Analysen skulle kunna bli missvisande om en sårbarhet som beskrivs på det mest abstrakta sätt jämförs med en annan sårbarhet som

(18)

13

beskrivs mer specifikt. Zimmermann & Neuhaus (2010) beskriver problemet med att CWE är alldeles för detaljerat, det är för många klassifikationer av sårbarheter som blir överväldigande för personen som skapar en CVE. På grund av det tilldelas ofta en sårbarhet ett CWE ID med en mer abstrakt förklaring. Exempel på en abstrakt beskriven sårbarhet är ”Range Error” (Mitre, 2020a) som beskriver flera typer utav buffertöverskrivningar. Arbetet i datasetet har gått ut på att hitta de mer specifikt beskrivna sårbarheterna som exempelvis ”XML Injection” (Mitre, 2020b) som specifikt beskriver XML injektion. Om ytterligare en specifikt beskriven sårbarhet hittats i datasetet, som ingår i samma klass som ”XML Injection” så som

”CRLF injection” (Mitre, 2020c) hade dessa fått representeras av sin närmst tillhörande klass, i detta fall ”injection” (Mitre, 2020d). Resultatet blir att vissa sårbarheter blir mer grovt sorterade, men det bidrar till att de mer specifikt beskriva sårbarheterna inte försvinner i mängden av registrerade sårbarheter beskrivna på klassnivå. De sårbarheter som är specifikt beskrivna kommer att analyseras inom klassen, om de utgör en större andel av sårbarheterna inom klassen.

Under bearbetningen av datasetet hittades en del null värden i vissa kolumner, de visade sig vara sårbarheter med status rejected, de har alltså blivit avvisade, ofta var anledningen ”CNA eller individ som begärde denna kandidat associerade den inte med någon sårbarhet”. Alla dessa rader togs bort och datasetet hamnade då på 50 584 rader. Eftersom analysen endast kommer att behandla sårbarheter uträknat med CVSS version 3.0 och uppåt, har alla rader uträknat med endast tidigare versioner tagits bort. Slutliga datasetet hamnade på 50 523 rader. Alla kolumner som inte kommer att komma till användning under analysen har tagits bort, det är kolumner som redan viktig data har extraherats från och kolumner med en äldre version av CVSS än 3.0. Hela kolumnlistan presenteras i bilaga A.

Innan all data är redo för analys har den delats upp i olika data set, för att data till de forskningsfrågor som analysen ska besvara ska vara lätt att komma åt.

Dataseten som all data har delats upp i är: Årtal 2016–2019. Låg, Medium, Hög och kritisk baserat på de allvarlighetsgraden satt av CVSS. Påverkan av konfidentialitet, integritet och tillgänglighet, graderna av påverkan är uppdelade i ingen, låg och hög.

För att komma fram till de 15 flest förekommande sårbarheterna har kolumnen CWE_Catagory använts med funktionen value_counts på hela datasetet.

CWE_Catagory innehåller namnet på alla sårbarhetstyper som CWE har listat.

value_counts ingår i pandas biblioteket och returnerar ett objekt som innehåller antalet av varje unikt värde i en sorterad ordning. De topp 15 som value_counts returnerar har sedan lagt till i en Python lista för analys och vidare användning.

Tillsammans med dataseten för varje årtal och python listan, har de flest förekommande produktägarna tagits fram genom kolumnen affected_vendor med funktionen value_counts. Ett medelpoäng har sedan räknats ut för varje sårbarhet i Python listan med hjälp av kolumnen baseMetricV3.cvssV3.baseScore som är allvarlighetsgraden tilldelat av CVSS. Allvarlighetsgraden för varje sårbarhet summerades och delades på antalet sårbarheter. Dataseten konfidentialitet,

(19)

14

integritet och tillgänglighet har för varje årtal använts med listan över de 15 mest förekommande sårbarheterna, för att i procent få fram hur dessa påverkat varje sårbarhet över ett år. För att få fram procenten har frekvensen av det kvalitativa mätvärdet hög delats med den totala frekvensen av hög, låg och ingen för varje sårbarhet och år. Likadant har gjort med mätvärdena låg och ingen.

(20)

15

4 ANALYS

I det här kapitlet kommer analysen utav sårbarheterna från NVD att presenteras.

4.1 frekvensen av sårbarheter årsvis Fig. 1 visar trenden av sårbarheter distribuerade årsvis. En tydlig ökning visas mellan de 4 åren. Från 2016–2019 ökade sårbarheterna med hela 200,53 %.

Tydligaste ökningen är mellan åren 2016–

2017 där sårbarheterna ökade med 129,54

%. Den stora ökningen kan bero på många faktorer, det kan vara att fler sårbarheter hittas för att ett större fokus har lagts ner på att hitta dem. Samtidigt skrivs mer och mer mjukvara hela tiden.

4.2 allvarlighetsgraden årsvis Fig. 2 visar allvarlighetsgraden uppdelat i låg, medium, hög och kritisk. Hög står för den största andelen av sårbarheterna genom alla åren, 2018 har den nått sin topp och börjar sedan dala ut mot 2019.

Samtidigt som allvarlighetsgraden hög sjunker från 2018 så ökar medium i nästan precis samma takt. Allvarlighetsgraden kritisk har försiktigt rört sig upp och ner genom åren och har totalt sjunkit 1,56 procentenheter från 2016–2019. Låg som står för den minsta andelen utav

sårbarheterna har sakta fallit från 2016–2018 och har sedan ökat med 0,74 procentenheter.

4.3 Konfidentialitet, Integritet och tillgänglighet hög Fig. 3 visar i procent när konfidentialitet,

integritet och tillgänglighet är alla som mest utsatta, graden av påverkan är hög. Det lägsta baspoäng som en sårbarhet kan ha när dessa tre är som mest utsatta är 6.0, vilket motsvarar allvarlighets kategori medel och uppåt. Mellan 2016 och 2017 syns en liten och den enda ökningen mellan de fyra åren.

Från 2017–2019 minskar den här typen av sårbarheter med ≈ 1,77 procentenheter per år. Totalt sker en minskning av 3,16 procentenheter.

Figur 1 Totalt antal sårbarheter per år

Figur 2 Procent av allvarlighetsgrad

Figur 3 Konfidentialitet, Integritet och tillgänglighet hög

(21)

16

4.4 Konfidentialitet, Integritet och tillgänglighet

Fig. 4, 5 och 6 visar andelen av ingen, låg och hög påverkan av integritet, tillgänglighet och konfidentialitet.

Hög påverkan

Hög påverkan står för den största andelen genom alla åren på både Konfidentialitet, tillgänglighet och integritet. 2017 hade hög påverkan sin topp både hos konfidentialitet och tillgänglighet, sedan har båda minskat 0,88 respektive 8,58 procentenheter. Hög påverkan av integritet har gått upp och ner mellan åren, totalt har den gått ner 1,78 procentenheter.

Låg påverkan

Tillgänglighet står för den minsta andelen av låg påverkan genom alla åren. Från 2016–2019 har den sjunkit med 1,84 procentenheter ner till 1,55%. Integritet med låg påverkan har i snitt ökat med ≈1,48 procentenheter varje år, med en total ökning på 4,43 procentenheter. Låg påverkan av konfidentialitet har från 2016–2017 minskat något, för att sedan fram till år 2019 öka med 2,99 procentenheter.

Ingen påverkan

Jämfört mot integritet och tillgänglighet har konfidentialitet den lägsta andelen av ingen påverkan genom alla åren. Mellan 2016–2019 har den sakta gått ner, totalt 2,1 procentenheter till 20,64%. Ingen påverkan av integritet har rört sig upp och ner mellan åren, mestadels ner. Mellan 2017–2018 rörde den sig som mest och gick ner 3,72 procentenheter, totalt har den gått ner 2,65

procentenheter. Tillgängligheten är den enda som har ökat utav ingen påverkan.

Mellan 2017–2018 sker den största ökningen, 6,29 procentenheter. Totalt har ingen påverkan av tillgänglighet ökat med 9,18 procentenheter.

4.5 Topp 15 sårbarhetsklasser/pelare

Fig. 7 visar i procent, skillnaden på fördelningen av de 15 mest förekommande sårbarhetsklasser/pelare mellan 2016–2019. Dessa står för 86,35% av alla sårbarheter. Injektion, buffertöverskridningar och exponering av känslig information för en obehörig aktör står för lite mer än 55% av sårbarheterna.

Figur 6 Integritet Figur 5 Tillgänglighet

Figur 4 Konfidentialitet

(22)

17

Nedanför analyseras var och en av sårbarheterna presenterade i figur 7. Analysen inkluderar:

• de 5 produktägare som sårbarheten mest frekvent förekommer hos för varje år, presenteras i procent av antal sårbarheter för produktägaren i klassen/pelaren.

• Hur sårbarheten utvecklats per år.

• Hur påverkan är av konfidentialitet, integritet och tillgänglighet.

• Ett medelvärde av allvarlighetsgraden utifrån CVSS baspoäng mellan 2016–

2019.

I bilaga B visas en mer detaljerad tabell av frekvensen utav topp 15 sårbarhetsklasser/pelare och dess sårbarheter beskrivna på basnivå.

Konfidentialitet, integritet och tillgänglighet beskrivs ofta med en medelprocent för att påvisa den genomsnittliga påverkan över de 4 åren. I vissa fall har en standardavvikelse räknats ut för att visa spridningen av talet, det har betecknats med gemenen utav sigma symbolen σ. Bilaga C innehåller tabeller för varje sårbarhet som uträkningarna har gjort på.

CWE-74: Injection är den sårbarhetsklassen som förekommer mest mellan åren 2016–2019. Den här klassen har ökat varje år sedan 2016, totalt 9,7 procentenheter. De flesta sårbarheterna i den här klassen är registrerade på basnivå, vilket skiljer sig mycket från många andra sårbarhetsklasser. Till en stor del av injektionssårbarheterna blir konfidentialitet negativt påverkad, då viktig information kan läckas ut. Dataintegriteten blir också ofta påverkad, då data som skickas in är alltid för dataåterkallande eller för skrivning. [18] ingen påverkan av konfidentialitet har endast en medelprocent på 1,99 % med σ 0,7, för integriteten

Figur 7 Topp 15 sårbarhetsklasser/pelare

(23)

18

är denna siffra ännu lägre, 1,8 % med σ 0,2. Den största andelen av konfidentialitet och integritet är av låg påverkan. Tillgängligheten är sällan påverkad, med en medelprocent på 68,2 % har klassen ingen påverkan alls. XSS sårbarheter är med stor marginal den mest vanligaste i den här klassen, sedan 2016 har XSS sårbarheter ökat med 5 procentenheter fram till 2019. Efter XSS kommer SQL- injektion som 2017 var procentuellt störst och har sedan sjunkit fram till 2019 med 0,73 procentenheter. I tabell 2 visas de fem mest förekommande produkttillverkarna som injektions sårbarheter existerat i. Utav de totalt 2864 produkttillverkarna genom åren så har IBM stått för den största delen av injektions sårbarheterna. År 2019 så gick Cisco om IBM och stod det året för den största andelen. Distributionen av sårbarheter hos produkttillverkarna har blivit mer och mer fördelad för varje år, produktägaren ledande 2019 står endast för 3,73 % fördelat på 1366 produktägare och 3647 sårbarheter. Allvarlighetsgraden för den här klassen har ett snitt på 6,87.

Tabell 2 Topp 5 produkttillverkare för CWE-74

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 193 IBM, 16.6% Cisco, 9.96% PhpMyAdmin, 3.6% Apache, 3.17% Microsoft, 2.56%

2017 893 IBM, 10% Cisco, 4.68% Apache, 1.16% Microsoft, 1.08 Huawei, 1.04%

2018 1140 IBM, 6.46% Cisco, 3.14% Quest DR, 2.41% Microsoft, 2.15% Atlassian, 1.17%

2019 1366 Cisco, 3.73% IBM, 3.56% Cpanel, 2.58% HP, 1.97% Microsoft, 1.84%

CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer. Den här sårbarhetsklassen ligger på andra placering bland de 15 mest förekommande sårbarheter. 2017 när den här klassen var som störst stod den för nästan 23,9 %, sedan har den sjunkit med 8,2 procentenheter fram till år 2019. De flesta sårbarheterna är registrerade i CWE-119 klassen, men fler och fler sårbarheter har blivit beskrivna och registrerade på basnivå för varje år. CWE-125:

Out-of-bounds Read är den sårbarhet beskriven på basnivå som förekommer mest i klassen, fram till 2019 har den ökat med 3,12 procentenheter. Vid en sårbarhet av Out-of-bounds Read skulle en attackerare kunna komma åt känslig information, vilket påverkar konfidentialiteten. Om en attackerare däremot kan kontrollera minnet, som vid en standard buffertöverskridning är det möjligt att angriparen skulle kunna exekvera kod. Detta kan leda till att konfidentialitet, tillgänglighet och integritet blir påverkat. Tillgängligheten är den kategori som blir utsatt mest, år 2016–2017 är strax över 95 % satt till sårbarhetsgraden hög, 2018-2019 86,89 % respektive 83,25 %. Hög påverkan av Integritet har en medelprocent på 70,6 % med en σ 4,2. Hög påverkan av konfidentialitet är den som är näst mest utsatt, med en medelprocent på 79,35 % och σ 2,5. Allvarlighetsgraden för den här sårbarhets klassen mellan 2016–2019 har ett snitt på 7,95. I tabell 3 visas det att Microsoft är den produktutvecklare som har stått för de flesta sårbarheter utav den här klassen för varje år.

(24)

19

Tabell 3 Topp 5 produkttillverkare för CWE-119

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 125 Microsoft, 21.48% Adobe, 14.14% Apple, 12.21% Google, 6.34% Linux, 3.63%

2017 391 Microsoft, 17.38% Apple, 9.7% Google, 6.72% Tcpdump, 4.08% IrfanView, 3.63%

2018 423 Microsoft, 17.78% Google, 11.12% Qualcomm, 5.65% Apple, 2.75% Huawei, 2.26%

2019 433 Microsoft, 23.09% Google, 11.42% Apple, 9.43% Qualcomm, 4.24% Linux, 2.29%

CWE-200: Exposure of Sensitive Information to an Unauthorized Actor. Den här klassen utgör 10,8% av de topp 15 sårbarheter. 2016 var klassen procentuellt som störst och har fram till 2019 minskat med 4,7 procentenheter. Mindre än 5 % av de registrerade sårbarheterna är registrerade på basnivå. Eftersom sårbarheter i klassen exponerar information, är konfidentialitet nästan alltid utsatt, ingen påverkan står endast för 0,56 % i snitt mellan åren. Integritet och tillgänglighet är sällan påverkade alls. Tabell 4 visar att år 2016 var Google den produktutvecklare som hade störst andel av sårbarheter från den här klassen. Microsoft och IBM har år 2017 gått om Google och fram till 2019 vart de produktägare som stått för största andelen. Allvarlighetsgraden för den här klassen ligger i snitt på 5,9.

Tabell 4 Topp 5 produkttillverkare för CWE-200

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 116 Google, 13.35% Microsoft, 11.9% IBM, 11.61% Apple, 6.53% Oracle, 4.5%

2017 294 Microsoft, 15.18 IBM, 10.61% Google, 8.62% Linux, 6.26% Apple, 5.97%

2018 405 Microsoft, 12.07% IBM, 10.36% Google, 5.66% Oracle, 3.5% Jenkins, 2.91%

2019 329 Microsoft, 15.57% IBM, 8.53% Google, 4.69% Gitlab, 3.52% Cpanel, 3.21%

CWE-20: Improper Input Validation. Av de 15 mest förekommande sårbarheterna mellan 2016–2019 står CWE-20 för 10,6 %. Klassen har fram till 2017 minskat något procentuellt, sedan har den fram till 2019 ökat. Totalt har klassen ökat 1,2 procentenheter. År 2019 var den här klassen som störst och stod då för 10,7 % av alla sårbarheter. Konfidentialitet, integritet och tillgänglighet skulle i värsta fall alla bli påverkade om en attackerare skulle få tillgång till att exekvera kommandon i programvaran. Tillgänglighet är den kategori som är mest utsatt, år 2016 var endast 18,32 % satt till ingen påverkan, 76,26 % satt till hög. Fram till år 2019 har ingen påverkan av tillgänglighet ökat varje år till 30,34 %. Integriteten är något mer påverkad än konfidentialitet, ingen påverkan av integritet har ett snitt på 41,38 % med σ 6,9 mellan åren, medan konfidentialitet har ett snitt på 52,58 % och σ 4,8.

Tabell 5 visar att det är Microsoft, Cisco och Google som står för den största andelen av sårbarheter från den här klassen. Cisco som står för största andelen 2016 har sedan procentuellt sjunkit fram till 2018, och står kvar på samma procent 2019. Microsoft har fluktuerat varje år i andelen av sårbarheter, 2017 och 2019

(25)

20

stod de för majoriteten. Google stod för den största andelen år 2018 men har varje år sedan 2016 procentuellt minskat. Allvarlighetsgraden av den här klassen har ett snitt på 7,27 mellan 2016–2019.

Tabell 5 Topp 5 produkttillverkare för CWE-20

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 101 Cisco, 14.58% Google, 10.47% Wireshark, 8.97% Microsoft, 7.66% Apple, 3.18%

2017 292 Microsoft, 10.45% Cisco, 9.15% Google, 7.06% Apple, 5.77% Huawei, 4.28%

2018 399 Google, 7.01% HP, 6.59% Cisco, 6.45% Microsoft, 5.4% Qualcomm, 3.15%

2019 512 Microsoft, 8.27% Cisco, 6.45% Google, 6.18% Apple, 5.85% Cpanel, 4.58%

CWE-287: Improper Authentication. 4,6 % av de 15 mest förekommande sårbarheterna tillhör CWE-287. Fram till 2018 har den här klassen ökat med 3,7 procentenheter, 2019 minskade de med 0,7 procentenheter. CWE-295: Improper Certificate Validation och CWE-798: Use of Hard-coded Credentials är de Sårbarheter som är registrerade på basnivå som står för största andelen av sårbarheter i klassen. CWE-295 var som störst 2017 och har därefter sjunkit varje år. CWE-798 har från 2016 till 2018 ökat procentuellt och sedan minskat år 2019. I över 50% av fallen är konfidentialitet, integritet och tillgänglighet alla satt till hög påverkan, 2016 var det som mest 66,2%. Konfidentialitet och integritet är något mer utsatt än tillgänglighet, tillgänglighet har en medelprocent över åren på 61,9

% medan konfidentialitet och integritet har 78,6 % respektive 72,5 % av hög påverkan. I tabell 6 visas det att Cisco är den produktägaren som har haft flest sårbarheter av den här klassen, alla år förutom 2018. Från 2016–2018 minskar Cisco sin andel för varje år, 2019 ökar de något och går upp till en förstaplacering igen. IBM förekommer bland de topp 5 produktutvecklare från 2016–2018. Från 2016–2017 minskar IBM sin andel av sårbarheter för att 2018 öka och gå upp till en första placering, 2019 försvinner de helt från listan. Allvarlighetsgraden för den här klassen har ett snitt på 8.0 genom åren.

Tabell 6 Topp 5 produkttillverkare för CWE-287

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 44 Cisco, 12,68% IBM, 5,63% HP, 4,23% Apache, 4,23% Crestron, 4,23%

2017 321 Cisco, 4,93% MEAfinancial, 4,27% D-Link, 3,78% IBM, 2,96% Apache, 2,13%

2018 365 IBM, 5,09% Cisco, 4,16% Jenkins, 2,68% Redhat, 2,28% Microsoft, 1,88%

2019 349 Cisco, 4,87% Jenkins, 3,92% D-Link, 2,84% Redhat, 2,71% Siemens, 2,57%

CWE-264: Permissions, Privileges, and Access Controls. Den här kategorin står för 4,2% av de 15 mest förekommande sårbarheterna. Från år 2016 har kategorin minskat med 7,9 procentenheter fram till 2018. Denna minskning borde bero på att kategorin är markerad som föråldrar och att kategorier inte ska användas för

(26)

21

att tilldela sårbarheter, ändå syns en ökning av registrerade sårbarheter från 2018–

2019. Konfidentialitet, integritet och tillgänglighet är oftast alla väldigt utsatta utav den här typen av sårbarhet, medelprocenten genom åren är 82,53% med σ 3,9 för hög påverkan. Allvarlighetsgraden satt på den här kategorin har ett snitt på 7,6 genom åren. Tabell 7 visar att produktägaren Google har 2016 och 2017 stått för den största andelen av sårbarheter i den här kategorin 36,72 % respektive 30,23

%. Från år 2016–2017 ökade Linux sin andel av sårbarheter rejält från 3,28 % till 16,84 % och tog över ledningen av Google. Microsoft syntes första gången till i topplistan 2016 och har sedan varit frånvarande fram till 2019 då de tog över ledningen med flest antal sårbarheter.

Tabell 7 Topp 5 produkttillverkare för CWE-264

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 90 Google, 36,72% Microsoft, 16,39% IBM, 5,08% Cisco, 4,92% Linux, 3,28%

2017 107 Linux, 16,84% Google, 12,12% IBM, 4,38% Huawei, 3,37% MCfee, 3,37%

2018 34 Google, 30,23% Gemalto, 11,63% Redhat, 6,98% Qualcomm, 5,81%

Mozilla, 3,49%

2019 149 Microsoft, 29,04% Google, 6,54% Cisco, 4,7% Intel, 4,5% IBM, 4,29%

CWE-672: Operation on a Resource after Expiration or Release. Utav de topp 15 sårbarheterna står CWE-672 för 4 %. Mellan år 2016–2017 minskade sårbarheterna från den här klassen med 1,9 procentenheter, för att sedan fram till år 2019 öka med 1,2 procentenheter. Konfidentialitet, integritet och tillgänglighet är alla oftast utsatta vid en sårbarhet från den här klassen, medelprocenten ligger på 81,38 % med σ 6,6, när alla har hög påverkan. Tillgängligheten är den kategori som är mest utsatt, medelprocenten ligger på 95 % med σ 2,1. Tabell 8 visar att Adobe var den produktägaren som år 2016 stod för flest sårbarheter av den här klassen, men har sedan försvunnit helt från topp 5 listan. Microsoft och Google har från år 2017 legat i toppen av störst andel sårbarheter. 2019 stod Microsoft för hela 40,8 % av alla sårbarheter. Den här klassen har den högsta allvarlighetsgraden av alla de analyserade sårbarhetsklasserna, med ett medel på 8,3 genom åren.

Tabell 8 Topp 5 produkttillverkare för CWE-672

Årtal Totalt anatal produkt ägare Topp 5 produktägare 2016 31 Adobe, 26,91% Microsoft,

15,66%

Linux, 14,06% Google, 10,04% Mozilla, 6,02%

2017 94 Microsoft, 18,13%

Google, 12,39% Foxitsoftware, 6,34% Linux, 6,04% Apple, 5,44%

2018 98 Microsoft, 23,08%

Google, 16,42% Debian, 9,15% Foxitsoftware, 7,9%

Linux, 3,74%

2019 102 Microsoft, 40,8% Google, 15,36% Linux, 8,48% Qualcomm, 5,92% Apple, 4,48%

(27)

22

CWE-345: Insufficient Verification of Data Authenticity. Klassen står för 3,7 % av de topp 15 sårbarheterna. Varje år har sårbarheter från den här klassen ökat procentuellt, totalt med 1,9 procentenheter. CWE-352: Cross-Site Request Forgery (CSRF) är den sårbarhet beskriven på basnivå som står för största andelen varje år.

CSRF har från 2016 ökat med 1,65 procentenheter fram till 2019 och står då för 3,06 % av alla registrerade sårbarheter. Av konfidentialitet, integritet och tillgänglighet är integriteten den mest utsatta. Hög påverkan av integritet har ett medel på 90,04 % med σ 1,9 mellan 2016–2019. Konfidentialitet och tillgänglighet är också ofta utsatta. Hög påverkan av konfidentialitet har ett medel på 80,2 % med σ 7, Tillgängligheten har en medelprocent på 79,5 % med σ 8,1. Tabell 9 visar att IBM och Cisco legat i toppen av andelen sårbarheter från den här klassen fram till 2018. IBM stod för största andelen 2016 och 2017 men har hela tiden minskat procentuellt, Cisco ökade sin andel från 2017–2018 och gick då om IBM. År 2019 tog Jenkins över ledningen efter att ökat sin andel från 1,78 % 2018 till 9,9 % 2019.

Allvarlighetsgraden tilldelad sårbarheterna i den här klassen har ett snitt på 8,0 genom åren.

Tabell 9 Topp 5 produkttillverkare för CWE-345

Årtal Totalt anatal produkt ägare Topp 5 produktägare

2016 51 IBM, 18,89% Cisco, 8,89% Apache, 4,44% HiniArata, 3,33% Symantec, 2,22%

2017 205 IBM, 7,78% Cisco, 3,33% Apache, 3,33% BaserCMS, 2,5% BigTreeCMS, 2,5%

2018 325 Cisco, 4,54% IBM, 3,75% Jenkins, 1,78% WuzhiCMS, 1,38% Atlassian, 1,38%

2019 371 Jenkins, 9,9% Cisco, 4,7% IBM, 2,35% Mozilla, 1,85% Magento, 1,51%

CWE-284: Improper Access Control. Den här pelaren var procentuellt som störst 2016 och har därefter minskat med 6,64 procentenheter fram till 2018. Från 2018–

2019 ökade den sedan med 3,94 procentenheter. Sedan 2016 har pelaren totalt minskat med 2,56 procentenheter. Mellan 2016–2019 utgör pelaren 3,3 % procent av de topp 15 sårbarheterna. Påverkan av konfidentialitet, integritet och tillgänglighet är väldigt jämnt fördelat i den här pelaren. Integriteten är något mer utsatt, då ingen påverkan av integritet har som lägst medelprocent, 22,29 % med σ 8,7. 2018 när pelaren hade som minst andel sårbarheter var konfidentialitet, integritet och tillgänglighet som mest påverkat, 71,7%, 79,25% respektive 66,04%

stod för hög påverkan. tabell 10 visar de topp 5 produktägare, bland dessa förekommer det totalt 14 unika under de 4 åren, Oracle och IBM är de som förekommer mest frekvent. Oracle har år 2016 och 2019 stått för största andelen sårbarheter, 2019 för hela 53,18 % fast antalet produktägare har mer än fördubblats sedan 2016. Allvarlighetsgraden för sårbarheter i den här pelaren har ett snitt på 6,9 från 2016–2019.

Tabell 10 Topp 5 produkttillverkare för CWE-284 Årtal Totalt anatal produkt ägare Topp 5 produktägare

References

Related documents

För att summera denna del av mitt teoretiska och metodologiska förhållnigssätt i studien menar jag att policy och policypraktiker både kan och bör ses som diskursiva

Man kan inte ta alla över en kam så att säga, utan varje barn med ADHD har olika styrkor och det är viktigt att bygga på dem och ge dem verktygen utifrån det… ”man måste

Antalet arbeten där attacker utfördes mot system i ett fordon visades vara oväntat hög och därav utfördes i ett tidigt en nödvändig avgränsning av vilka trådlösa komponenter

Ett tredje utvecklingsområde som informanterna förordar på ett medvetet och engagerat sätt är: tidig träning av momentet tala i skolan för alla elever. ”Det är viktigt att

Syftet med arbetet är att undersöka vilka beteenden hos barn som de intervjuade pedagogerna upplever stör undervisningen, vilka strategier de använder för att bemöta

Detta kan också vara en faktor som spelar roll när det gäller hur man ser på programmet Klass 9 A, med detta menar vi inte att man aldrig skall få vara ledig och släppa sitt jobb men

Att språk och kultur står varandra nära är ingen ny idé. Det är en fascineran- de tanke att det är med språket som redskap, som mänskligheten bygger upp, kommunicerar,

Vi anser inte att Stina gjorde det av illvilja, utan för att hon dels som tidigare nämnts ville att eleverna skulle göra upptäckten själva och dels för att tempot på