Recommender systems have become an integral part of the user interface of many web applications. Recommending items to buy, media to view or similar “next choice”-recommendations has proven to be a powerful tool to improve costumer experience and engagement. One common technique to produce recommendations called Collaborative Filtering makes use of the unsupervised Nearest Neighbor-algorithm, where a costumers historic use of a service is encoded as a vector and recommendations are made such that if followed the resulting behaviour-vector would lie closer to the nearest neighboring vectors encoding other costumers. This thesis describes the adaptation of a Collaborative Filtering recommender system to a cyber security vulnerability report setting with the goal of producing recommendations regarding which of a set of found vulnerabilities to prioritize for mitigation. Such an error report scenario presents idiosyncrasies that do not allow a direct application of common recommender system algorithms. This work was carried out in collaboration with the company Detectify, whose product allows users to check for vulnerabilities in their internet facing software, typically web pages and apps. The finding mitigation priorities of historic customers have to be inferred from differences in their consecutive reports, i.e. from noisy vector valued signals. Further, as opposed to the typical e-commerce or media streaming scenario, as a user can not freely choose which item to increase their consumption of, instead, a user can only attempt to decrease their inventory of a limited subset (the vulnerabilities in their report) of all items (all possible vulnerabilities). This thesis presents an adapted Collaborative Filtering algorithm applicable to this scenario. The chosen approach to the algorithm is motivated by an extensive literature review of the current state of the art of recommender systems. To measure the performance of the algorithm, test data is produced which allows for comparison between recommendations based on noisy data and the actual change in a noiseless version. The results that are showcased give reference values as to under what levels of noise and data sparsity the developed algorithm can be expected to produce recommendations that align well with historic behavioural patterns of other customers. This thesis thus provides a novel variation of the Collaborative Filtering algorithm that extends its usability to a scenario that has not been previously addressed in the reviewed literature. / Rekommendationssystem är idag en självklar del av manga användargränssnitt. Exempel på dessa som många av oss interagerar med dagligen är system som föreslår nästa ord när vi skriver, nästa produkt när vi handlar online eller nästa media när vi använder streaming-tjänster. En vanlig teknik för att producera rekommendationer är Collaborativer Filtering, vilken använder Nearest Neighbor-algoritmer för att rekommendera så att en användares historik (beskriven som en vektor) förflyttas närmre de närmaste grannarna om rekommendationen följs. I denna uppsats redovisas en anpassning av ett Collaborative Filtering-rekommendationssystem för användning i samband med skanning efter it-säkerhetsrisker, med målet att producera rekommendationer rörande vilken säkerhetsrisk som bör prioriteras för åtgärd. Ett sådant error report scenario (riskrapport-scenario) för med sig vissa skillnader jämfört med ett e-handel/streaming-scenario som gör det nödvändigt att anpassa de typiska Collaboritve Filtering-systemet innan det är applicerbart. Det här arbetet utförs i samarbete med företaget Detectify, som tillhandahåller en produkt med vilken användare kan upptäcka säkerhetsrisker i deras internet-kopplade mjukvara (exempelvis hemsidor och web-applikationer). Historiska prioriteringar rörande åtgärdande av säkerhetsrisker måste beräknas ut tidigare användares rapporter om hunna risker, alltså från brusiga vektor-värda signaler. En användare kan inte heller fritt välja att öka sin konsumption av någon produkt i ett sortiment, utan istället måste en rekommendation röra vilket objekt i en användares befintliga innehav (de funna riskerna i deras senaste rapport) som användaren bör försöka minska antalet av. I den här uppsatsen presenteras ett Collaborative Filtering-rekommendationssystem anpassat till detta scenario. Algoritmen motiveras med en extensiv litteraturstudie av relevant litteratur och utvärderas med syntetisk data vilket möjliggör undersökning av hur olika nivåer av brus och gleshet (sparsity) inverkar på rekommendationerna. Resultaten som presenteras tillhandahåller referensnivåer för under vilken grad av brus och gleshet algoritmen kan förväntas prestera väl. Sammanfattningsvis utvecklas, utvärderas och presenteras en modifikation av Cillaborative Filtering-rekommendationssystem som möjliggör dessa användade i ett scenario som ej beskrivs i den genomgångna litteraturen.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-321331 |
Date | January 2022 |
Creators | Thunberg, Jonas |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2022:568 |
Page generated in 0.0024 seconds