27
Hur man kan testa sin HTTPS-server Michael Boman Omegapoint AB

Hur man kan testa sin HTTPS-server

Embed Size (px)

DESCRIPTION

Hur man kan testa sin HTTPS-server

Citation preview

Page 1: Hur man kan testa sin HTTPS-server

Hur man kan testa sin HTTPS-server

Michael BomanOmegapoint AB

Page 2: Hur man kan testa sin HTTPS-server

Bakgrund

• Jag saknade ett bra verktyg för att utföra OWASP-CM-001 tester (Testing for SSL-TLS, OWASP Testing Guide)

o Kunde inte hitta några som uppfyllde mina krav Gratis (även för kommersiellt bruk) Körs lokalt (dvs. inte en webbtjänst) Fungerar på Windows

• Utvecklade SSLAudit i Perl (GPL)o http://code.google.com/p/sslaudit/o Utvecklas inte längre

Page 3: Hur man kan testa sin HTTPS-server

Bakgrund (2)

• Skriv om SSLAudit eller porta SSLScan?o http://sourceforge.net/projects/sslscan/

• Portade SSLScan till Windows (GPL)o http://code.google.com/p/sslscan-win/

• Utökade SSLScan med ytterligare funktionalitet

o Renegotiation testero Förbättrat XML utskrifts-formato Refactored utskrifts-koden

Page 4: Hur man kan testa sin HTTPS-server

Vad är det vi letar efter igen....?

Protokoll:

• SSLv2 har inget skydd mot

man-in-the-middle attacker• SSLv2 använder samma

nyckel används för

autentisering och kryptering• SSLv2 har inte något skydd

mot TCP-sessions stängning• SSLv3 & TLS har problem

med session renegotioation

Krypteringar:• Vissa chiffer använder

anonym Key Exchange [nyckel-utbyte] (kan leda till man-in-the-middle attacker)

• Vissa chiffer har svaga krypteringsalgoritmer

• Vissa chiffer använder kort publika nyckel längd

• Vissa chiffer använder kort privata nyckel längd

Page 5: Hur man kan testa sin HTTPS-server

SSLSCAN IN ACTION, SINGLE INSTANCE

Demo

Page 6: Hur man kan testa sin HTTPS-server

Varför skanna en massa HTTPS-servrar?

• Jag upptäckte att vissa organisationer hade väldigt dåliga HTTPS-inställningar, även sådana som borde ha bra säkerhet

• Vad det otur i samplingen? Vad skiljer organisationer med bra HTTPS-inställningar från dom som inte har så bra HTTPS-inställningar?• Pengar? Popularitet? Industri?

Page 7: Hur man kan testa sin HTTPS-server

Första försöket

• En instans med en stor samling av servrar• Tog en evighet och var inte stabilt• Kunde inte lätt fortsätta efter en misslyckad

körning

Page 8: Hur man kan testa sin HTTPS-server

Andra försöket

• Multipla instanser med ett fåtal servrar vadera

• Mycket snabbare, men tar fortfarande en evighet att köra klart scanningen

• Fortfarande problem med att återstarta en misslyckad scanning– Fast jag behövde inte starta från början, bara

den misslyckade batchen

Page 9: Hur man kan testa sin HTTPS-server

Tredje försöket

• Använde Amazon AWS• SQS (Simple Queueing service) för att hantera

jobb• S3 (Simple Storage Service) för att lagra

resultaten• Multipla instanser scannar en server åt

gången vaddera• Enkelt att återstarta misslyckade scanningar• Tog fortfarande lång tid att utföra

scanningen…

Page 10: Hur man kan testa sin HTTPS-server

Fjärde försöket

• Lade till Amazon EC2 till lösningen• Nu har jag (teoretiskt) obegränsat antal

system att scanna från

• Kan scanna all data som behövs inom ett par dagar utan problem• Snabbare om jag vill betala för det

Page 11: Hur man kan testa sin HTTPS-server

Fjärde försöket: skanner design

Page 12: Hur man kan testa sin HTTPS-server

Fjärde försöket: skanner design

Page 13: Hur man kan testa sin HTTPS-server

SSLSCAN PÅ AMAZON EC2Demo

Page 14: Hur man kan testa sin HTTPS-server

Den stora frågan

• Vilka är nyckel-faktorerna för att ha en bra HTTPS-konfiguration?– Pengar?– Populäritet?– Industri?

Page 15: Hur man kan testa sin HTTPS-server

Resultatet…Så vad upptäckte jag?

Page 16: Hur man kan testa sin HTTPS-server

Detaljer om data-insammlandet

• Alexa lista från 18 Apr 2010• Fortune 500 (2010)• Data införskaffades 26 Apr 2010

Page 17: Hur man kan testa sin HTTPS-server

Hur många av de testade servrarna stödjer SSL/TLS till att börja med?

Page 18: Hur man kan testa sin HTTPS-server

Money vs. Popularity:HTTPS enabled?

Page 19: Hur man kan testa sin HTTPS-server

Money vs. Popularity:SSLv2 enabled? (= bad)

Page 20: Hur man kan testa sin HTTPS-server

Money vs. Popularity:0-bit keys being enabled?(=bad)

Page 21: Hur man kan testa sin HTTPS-server

Money vs. Popularity:Weak keys being enabled?(=bad)

Page 22: Hur man kan testa sin HTTPS-server

Money vs. Popularity:No auth kx being enabled?(=bad)

Page 23: Hur man kan testa sin HTTPS-server

Money vs. Popularity:Secure Session Renegotation?

Page 24: Hur man kan testa sin HTTPS-server

Banker

Page 25: Hur man kan testa sin HTTPS-server

Slutsats

• Vad datan berättade för mig är att• Pengar (Fortune) verkar ha något att göra med

att HTTPS finns påslaget• Popularitet (Alexa) verkar ha något att göra med

att HTTPS har konfigurerats på ett säkert sätt• Det finns inte någon uppenbar trend mellan vilken

industri organisationen är verksam i och deras HTTPS-säkerhet• Det verkar finnas ett svagt samband mellan företag

som gör affärer över Internet och dess förmåga att erbjuda HTTPS på ett säkert sätt

Page 26: Hur man kan testa sin HTTPS-server

Men den svenska marknaden då?

Jag arbetar tillsammans med .SE (Stiftelsen för Internetinfrastruktur) för att få in samma typer av HTTPS-tester jag utförde mot Fortune 500 i .SEs hälsokoll

Page 27: Hur man kan testa sin HTTPS-server

Frågestund & Länkar

• Research website:• http://sslresearch.michaelboman.org

• Rådata, dokumentation, skript and verktyg

• Kontaktinformation:• [email protected]• www.michaelboman.org

• Referens-material:• http://www.owasp.org/index.php/

Testing_for_SSL-TLS_(OWASP-CM-001)