inspectinspectit ab it ab applikationssäkerhetstestning · 2009-05-13 · säkerhetstester...

46
Inspect Inspect it AB it AB Applikationssäkerhetstestning Applikationssäkerhetstestning Inspect Inspect it it © 2009 Inspect it AB Swedish Association for Software Testing 2009-05-12

Upload: others

Post on 26-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

InspectInspect it ABit ABApplikationssäkerhetstestningApplikationssäkerhetstestning

InspectInspect itit© 2009 Inspect it AB

ApplikationssäkerhetstestningApplikationssäkerhetstestning

Swedish Association for Software Testing

2009-05-12

PresentationVem är jag?

• Mattias Bergling, Inspect it

• Arbetar med Informationssäkerhet

• Fokus på IT-säkerhet

InspectInspect itit© 2009 Inspect it AB

• Fokus på IT-säkerhet

– Intrångstester

– Applikationssäkerhetsanalyser

– Säkerhetsgranskningar

• Medlem i OWASP Swedens ledningsgrupp

Agenda

• Inledning

• Intrångstest kontra applikationssäkerhetstest

• Metodik

InspectInspect itit© 2009 Inspect it AB

• Metodik

– OSSTM metodik

– OWASP testmetodik

• Automatiserat och manuellt

Inledning

• Säkerhetstester – behövs det?

– Marcus Ranum, Tenable Network Security

• ”I think the stupidest idea that I’ve seen in computer security is the whole notion of penetration testing”

InspectInspect itit© 2009 Inspect it AB

is the whole notion of penetration testing”

– Är numera CSO på Tenable som säljer Nessus…

• Hans devis är ”Gör det rätt från början”.

– Lätt att säga med hans bakgrund…

Web Hacking Incidents Database

• TJX

• Twitter

• MySpace

InspectInspect itit© 2009 Inspect it AB

• MySpace

• Bank of India

• Life Is Good

• Zone-h.org

• (Danmec/Asprox)

SäkerhetstesterOlika typer av tester

• Säkerhetstester och dess metodik

– Intrångstester/Penetrationstester

– Applikationssäkerhetstester

Kodgranskning

InspectInspect itit© 2009 Inspect it AB

– Kodgranskning

• Testtyper (förhandsinformation)

• Automatiserade och manuella tester?

• Vad kan jag förvänta mig för resultat?

SäkerhetstesterIntrångstester/Penetrationstester• Klassiska intrångstester fokuserar på nätverk, tjänster och

konfigurationer• Testerna kan utföras scenariobaserat (internt eller externt) med i

förväg bestämda målsystem– “En hacker utan kännedom om bolaget …”

InspectInspect itit© 2009 Inspect it AB

– “En hacker utan kännedom om bolaget …”– “En missnöjd anställd …”

• Syftet med testerna är att identifiera sårbarheter som exempelvis– svagheter i konfiguration– avsaknad av patchar och säkerhetsuppdateringar– svaga lösenord

• En del av testmomenten innefattar och överlappar moment i applikationssäkerhetstester

• En vanlig testmetodik är OSSTMM.

SäkerhetstesterIntrångstester/Penetrationstester• Open Source Security Testing Methodology Manual (OSSTMM)• Kartläggningsfas

– Nätverk, system, tjänster– Under kartläggningen identifieras och kartläggs

• Serverinfrastruktur

InspectInspect itit© 2009 Inspect it AB

• Serverinfrastruktur• Nätverk registrerade på bolaget• Applikationer som exponeras mot Internet• Anslutningspunkter för distansarbete• Användarnamn (och i vissa fall även lösenord)• Versionsinformation och kända sårbarheter

– Vanliga verktyg• Google, RIPE, DNS, nmap, OpenVAS, (Nessus)

InspectInspect itit© 2009 Inspect it AB

InspectInspect itit© 2009 Inspect it AB

InspectInspect itit© 2009 Inspect it AB

InspectInspect itit© 2009 Inspect it AB

SäkerhetstesterIntrångstester/Penetrationstester• OSSTMM Intrångsfas

– Under intrångsfasen utnyttjas sårbarheterna för att göra intrång

• Fokus är att via sårbarheter i perifiera system slutligen nå målsystemet

• Vid åtkomst till ett system utförs delar av kartläggningsarbetet på nytt

– Svaga konfigurationer och relationer utnyttjas för att gå från ett system till

InspectInspect itit© 2009 Inspect it AB

– Svaga konfigurationer och relationer utnyttjas för att gå från ett system till nästa

• Konton med samma lösenord

• Svaga systemkonfigurationer

– Vanliga verktyg

• Hydra, Metasploit, applikationsklienter (osql, TS), applikationsspecifika verktyg (Open Source eller egenutvecklade), (Canvas), (Impact)

InspectInspect itit© 2009 Inspect it AB

• Användarnamn

– Root, admin, administrator, user, demo, test

• Lösenord

InspectInspect itit© 2009 Inspect it AB

– password, <inget lösenord>, <samma som användarnamnet>, secret, hemligt, sommar, vinter, <företagsnamnet>, sommar09, sommar2009, lösenord, abc123, qwerty, qwe123, 123qwe, 123456 osv…

InspectInspect itit© 2009 Inspect it AB

SäkerhetstesterApplikationstester• Applikationstesterna tar vid där intrångstesterna slutar

– Fokus ligger på applikationslogiken och inte på tjänster och nätverk i så stor utsträckning

• Ett typiskt applikationstest utförs med behörigheter i applikationen

InspectInspect itit© 2009 Inspect it AB

applikationen– Med fördel så utförs testet med tillgång till flera

användarkonton/roller

• Vyer och applikationsflöden testas av mot sårbarheter och svagheter

• Metodik baseras ofta på OWASP testing guide– Varför följa en metodik?

Open Web Applikation Security Project Introduktion

• Vad är OWASP?– En världsomspännande, öppen och gratis organisation

– Syftar till att förbättra säkerheten i webbapplikationer

• OWASP driver ett antal större projekt

InspectInspect itit© 2009 Inspect it AB

• OWASP driver ett antal större projekt– Utveckling av applikationer och verktyg

– Dokumentation av metodik och guider

– Arrangerar seminarier om applikationssäkerhet

• Lokalt kapitel i Sverige– Arrangerar t.ex kostnadsfria seminarier

SäkerhetstesterApplikationstester• OWASP Testing Guide v3

• Metodiken är indelad i 10 övergripande kategorier

• Samtliga kategorier innehåller

InspectInspect itit© 2009 Inspect it AB

• Samtliga kategorier innehåller information och exempel på relevanta testmoment

• Verktyg

– Proxy, curl, wget, kommersiella applikationsskanners

InspectInspect itit© 2009 Inspect it AB

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

1. Informationsinsamling– Indexerade sidor

– robots.txt

– Surfa, crawla/spidra,

InspectInspect itit© 2009 Inspect it AB

– Surfa, crawla/spidra,

– HTTP-headrar

– Felmeddelanden

– Standardsidor

– Onsamehost/msn

– DNS bruteforce

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

2. Konfigurationsverifiering

– SSL

– Vanliga kataloger/filer

Tolkning av filändelser

InspectInspect itit© 2009 Inspect it AB

– Tolkning av filändelser

– Kopior/backuper

– Administrations-/editeringsgränssnitt

– HTTP metoder

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

3. Test av autentisering– Kryptering av autenticeringsinformation– Enumerering av användarnamn– Vanligt förekommande användarnamn och lösenord– Brute Force

InspectInspect itit© 2009 Inspect it AB

– Brute Force– Kringgå autenticering– Password reset eller reminder– Logout och cachehantering– Captcha och flerfaktorsautenticering– Race conditions

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide4. Sessionshantering

– Schema (cookie - slumpmässighet, attribut)

– Session fixation

– Exponerade variabler

– Cross Site Request Forgery

InspectInspect itit© 2009 Inspect it AB

– Cross Site Request Forgery

5. Test av "authorization"– Path traversal/direktadressering

– Accessa andra rollers information

6. Programlogik– Beroende på applikationen

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

7. In/utdatavalidering– Cross Site Scripting

• Lagrad XSS• DOM-baserad XSS• Cross Site Flashing

InspectInspect itit© 2009 Inspect it AB

• Cross Site Flashing

– SQL-injection, (Oracle, MySQL, MSSQL, MS Access)– LDAP-injection– ORM-injection– XML-injection– SSI-injection– XPath-injection

InspectInspect itit© 2009 Inspect it AB

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

7. In/utdatavalidering (fortsättning)– IMAP/SMTP-injection– Kodinjektion– Kommandoinjektion– Buffer Overflow

InspectInspect itit© 2009 Inspect it AB

– Buffer Overflow– Heap oveflow– Stack Overflows– Format string problem– "Incubated" sårbarheter– HTTP splitting/smuggeling

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

8. Denial of Service– SQL wildcards

– Låsa användarkonton

– Buffer Overflows

InspectInspect itit© 2009 Inspect it AB

– Buffer Overflows

– Resursallokering

– Indatastyrda loopar

– Fylla loggar/diskar

– Bristande minneshantering

– Sessionshantering

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

9. Web Servicestestning

– Informationsinsamling

– Testa WSDL

– Test av XML-struktur

InspectInspect itit© 2009 Inspect it AB

– Test av XML-struktur

– XML innehåll

– Speciella HTTP GET-anrop

– SOAP attachments

– "replay"attacker

InspectInspect itit© 2009 Inspect it AB

Metodik OWASP Testing Guide

10. Ajax testning

– Identifiera Ajax

– Testa för Ajax-specifika brister

Rapportering och gradering

InspectInspect itit© 2009 Inspect it AB

Rapportering och gradering

ApplikationstesterVerktyg och automatiserade tester• Tester med automatiserade verktyg

– Källkodsanalysverktyg

– Applikationssäkerhetsscanners

– Testningsramverk och verktyg

• Helautomatiserade tester ger sällan ett heltäckande resultat

InspectInspect itit© 2009 Inspect it AB

• Helautomatiserade tester ger sällan ett heltäckande resultat

• Problem– Logiska problem

– Flöden

– Indata (’ OR ’’=’)

• Manuella tester tar oftast mer tid i anspråk

ApplikationstesterMan vs. machine

InspectInspect itit© 2009 Inspect it AB

OWASP Top Ten• OWASP Top Ten Project

– 10 mest vanliga sårbarheterna i webbapplikationer1. Cross Site Scripting (XSS) 2. Injection Flaws 3. Malicious File Execution

InspectInspect itit© 2009 Inspect it AB

3. Malicious File Execution 4. Insecure Direct Object Reference 5. Cross Site Request Forgery (CSRF) 6. Information Leakage and Improper Error Handling 7. Broken Authentication and Session Management 8. Insecure Cryptographic Storage 9. Insecure Communications 10. Failure to Restrict URL Access

OWASP Top 10Jämförelse analyssätt

InspectInspect itit© 2009 Inspect it AB

Länkar

• http://www.owasp.org

• http://www.owasp.org/index.php/Sweden

• http://www.osstmm.org

InspectInspect itit© 2009 Inspect it AB

• http://www.osstmm.org

• http://whid.xiom.com

• (flashback.info, xssed.com, zone-h.org)

Frågor?

InspectInspect itit© 2009 Inspect it AB

Frågor?

Kontaktuppgifter

Mattias Bergling

[email protected]

InspectInspect itit© 2009 Inspect it AB

[email protected]

08-613 70 83

www.inspectit.se