Webbapplikationer har blivit ett av de bästa sätten för användare att utföra ett antal viktiga och säkerhetskänsliga operationer som att sälja och köpa varor eller hantera bankkonton, officiella dokument, personliga hälsojournaler, smarta hus och så vidare. Det genomgripande antagandet av sådana webbapplikationer kräver en omfattande säkerhetsanalys för att undvika attacker. Penetrationstestning är den vanligaste metoden för att testa säkerheten i webbapplikationer, men modellbaserade säkerhetstester har stadigt mognat till en genomförbar alternativ och/eller kompletterande metod. Penetrationstester är mycket effektiva men säkerhetsanalytikerns erfarenhet är avgörande; modellbaserade säkerhetstester bygger på formella metoder men säkerhetsanalytikern måste först skapa en lämplig modell av webbapplikationen. I detta dokument introducerar vi Mobster, ett formellt och flexibelt modellbaserat ramverk för säkerhetstester som bidrar till att fylla gapet mellan dessa två säkerhetstestmetoder. Huvudidén bakom detta ramverk är att användningen av modellkontrollteknik kan automatisera sökningen efter möjliga sårbara ingångar i webbapplikationen, dvs. det tillåter en analytiker att utföra säkerhetstester utan att missa viktiga kontroller. Dessutom möjliggör ramverket även återanvändning: analytikern kan samla in sin expertis i ramverket och (åter)använda den under framtida tester på eventuellt olika webbapplikationer. Vi har implementerat Mobster som prototyp och tillämpat det för att testa ett antal fallstudier för att bedöma dess styrka och konkret utvärdera det med avseende på fyra toppmoderna verktyg som normalt används av penetrationstestare. Test Execution Engine Test Web Application Model CE (s) Web Application Login • enkelhet (t.ex. av modellering aktivitet), 2 Genom hela tidningen kommer vi att hänvisa till säkerhetsanalytikern som "hon". 3 Formaliseringen som används i vårt tillvägagångssätt kan också anpassas för att representera programvara som inte är webbaserad. Men vår konkretiseringsfas (som är viktig för att testa resultaten av den formella fasen) fungerar speciellt för webbaserad programvara. Således, migrera tillvägagångssättet till icke-web-baserad programvara skulle kräva en för att ta itu med olika utmaningar relaterade till låg nivå beteendet hos sådan programvara. Återanvändbarhet (i vårt ramverk är åtgärder kopplade till data som de hanterar och egenskaper de har, vilket innebär att återanvändning av åtgärder också innebär att återanvända dessa föreningar under testning av olika webbapplikationer). Åtgärder definieras av säkerhetsanalytikern som bestämmer abstraktionsnivån och den granularitet hon vill överväga. Som ett konkret exempel på åtgärdernas egenskaper (dvs. deras användning inom ramen och den sakkunskap som används för att identifiera dem) bör man överväga "login"-funktionaliteten. Webbapplikationer använder vanligtvis en av följande typer av autentiseringsmekanism (vi lägger också till de attacker som säkerhetsanalytikern kan utnyttja för att attackera åtgärden): • Grundläggande autentisering: testaren kan försöka utföra en brute-force attack, och lösenordet är sniffas om inte passeras via HTTPS. • HTTP Digest Authentication: brute-force attacker och man-in-the-middle attacker är möjliga. • Formbaserad behörighetskontroll: brute-force attacker är möjliga, injektionssårbarhet (t.ex.,, Cross-Site Scripting XSS [22], etc.) måste testas, och angriparen bör försöka fånga autentisering token (dvs. session tokens eller cookies). 4 Källkoden för MobSTer-verktyget finns på https://github.com/REGIS-lab/MobSTer.
Peroli och al. REF föreslog Mobster, som är en kombination av en formell metod och en penetrationstestning för webbsäkerhet.
MobSTer: A model-based security testing framework for web applications
{'venue': 'Softw. Test. Verification Reliab.', 'journal': 'Softw. Test. Verification Reliab.', 'mag_field_of_study': ['Computer Science']}