inspectinspectit ab it ab applikationssäkerhetstestning · 2009-05-13 · säkerhetstester...
Post on 26-Feb-2020
2 Views
Preview:
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
• 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)
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)
• 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…
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
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
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
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
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
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
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
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
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
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
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
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)
top related