Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Good practices in pentesting - Bas de Heer

76 views

Published on

Good practices in pentesting by Bas de Heer on QX Day 2019.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Good practices in pentesting - Bas de Heer

  1. 1. Good practices in pentesting Quick wins for the tester Bas de Heer – Ethical Hacker
  2. 2. 2© 2018 Sogeti. All rights reserved. Introductie Wie ben ik? • Bas de Heer • Ethical Hacker • Bij Sogeti sinds 01-01-2008 • Sinds 1999 rode draad Security • Doceer veilig programmeren en security testing
  3. 3. Just press start
  4. 4. 4© 2018 Sogeti. All rights reserved. Just press start ▪ Wat is Security? ▪ Hoe kunnen we veiliger bouwen? ▪ Hoe werken (web) applicaties? ▪ Lossen security testing tools alles op? ▪ CI/CD
  5. 5. Wat is Security?
  6. 6. Applicaties hebben betrekking op informatie! 3 pijlers van informatie beveiliging  Beschikbaarheid  Integriteit  Vertrouwelijkheid Wat is informatie beveiliging?
  7. 7. Een applicatie is veilig als deze zich te allen tijde gedraagt en reageert zoals verwacht. Zekerheid Is dit simpeler?
  8. 8. Wens Wat is security? RealiteitZekerheid
  9. 9. Bugs zijn technische fouten, implementatiefouten Flaws zijn ontwerpfouten Zekerheid Flaws en Bugs Functionele wens Flaw Bug Technische implementatie De verhouding Bugs : Flaws is 1:1
  10. 10. Hoe kunnen we veiliger bouwen?
  11. 11. Requirements Usecases Architectuur Ontwerp Testcases Code Test results Applicatie Feedback Software Development lifecycle Time to fix “Penetratietest”
  12. 12. Secure Development lifecycle Requirements Usecases Security Require- ments Abusecases Architectuur Ontwerp Threat model Flaw analyse Testcases Security testcases Code Static code review Test results Release advise Veilige applicatie Security assess- ment Feedback Conti- nuity plan Ondersteuning Ervaring
  13. 13. Secure Development lifecycle Requirements Usecases Security Require- ments Abusecases Architectuur Ontwerp Threat model Flaw analyse Testcases Security testcases Code Static code review Test results Release advise Veilige applicatie Security assess- ment Feedback Conti- nuity plan Ondersteuning Ervaring
  14. 14. Functioneel testing != Security testing Hoezo niet?
  15. 15. Hoe werken (web)applicaties?
  16. 16. Informatiesystemen in het algemeen
  17. 17. Applicaties Invoer -> Verwerking -> Uitvoer Voorbeeld: • Rekenmachine Invoer: 1+1 Verwerking: Berekenen Uitvoer: 2
  18. 18. Iets technischer
  19. 19. HTTP 1. Client request naar de Server 2. Server creëert de pagina • Statische content • Dynamische content (DB) 3. Server response naar de client 4. De pagina wordt door de browser geinterpreteerd en getoond
  20. 20. Cookies
  21. 21. Cookies
  22. 22. Lossen security testing tools alles op?
  23. 23. Hoe werkt een proxy?
  24. 24. Pardon
  25. 25. Request onderscheppen
  26. 26. F12
  27. 27. F12 on steroids: Web Developer Toolbar
  28. 28. SAST Static Application Security Test • Fortify / Checkmarx • Sonar
  29. 29. DAST Dynamic Application Security Testing • Burp (Enterprise) • Acunetix • Nikto • NMap • Kali Linux
  30. 30. Wat kunnen we met tools?
  31. 31. Onveilige Client-side controles Wat is het? • Controleren van de geldigheid of beperken van gebruikersinput op de client • Zonder controle op de server
  32. 32. Onveilige Client-side Controles Risico’s: Ongeldige input kan buiten de client om nog steeds worden verstuurd
  33. 33. Burp Suite
  34. 34. Broken Access Control
  35. 35. CI/CD
  36. 36. Automatisch Testen • SAST (Statische code analyse) • Fortify • Checkmarx • DAST (Dynamische applicatie scan) • Burp Enterprise • Acunetix • Sonar
  37. 37. Wat kunnen deze tools niet?
  38. 38. Standaard Tooling kan alleen bugs vinden omdat het de intentie van een applicatie niet kent. Flaws en Bugs Functionele wens Intentie Zekerheid Flaw Bug Technische implementatie Zekerheid Zekerheid
  39. 39. CI-CD Integratie Requirements Usecases Security Require- ments Abusecases Architectuur Ontwerp Threat model Flaw analyse Testcases Security testcases Code Static code review Test results Release advise Veilige applicatie Security assess- ment Feedback Conti- nuity plan Met je favoriete automatische testing tools Abuse Cases automatisch testen!
  40. 40. Software Development lifecycle “Penetratietest” Requirements Usecases Security Require- ments Abusecases Architectuur Ontwerp Threat model Flaw analyse Testcases Security testcases Code Static code review Test results Release advise Veilige applicatie Security assess- ment Feedback Conti- nuity plan
  41. 41. Dat was het...
  42. 42. En nu dan? • Cursus Security Awareness • Voor iedereen • 1 dagdeel • Cursus Security Testing Fundamentals • Intern • Klanttrainingen • 4 dagdelen • Praktijkoefeningen
  43. 43. 43Security Testing Fundamentals OWASP

×