Deny nothing. Doubt everything.

Vergelijkbare documenten
Deny nothing. Doubt everything.

Security web services

UWV Security SSD Instructies

Back to the Future. Marinus Kuivenhoven Sogeti

Functioneel Beheer dag 2016

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop

Introductie Veiligheidseisen Exploiten Conclusie. Browser security. Wouter van Dongen. RP1 Project OS3 System and Network Engineering

Dynamische Websites. Week 3. donderdag 3 oktober 13

Praktijk en practices

Security NS. Onno Wierbos, Barry Schönhage, Marc Kuiper

Webapplication Security

Security Pentest. 18 Januari Uitgevoerde Test(s): 1. Blackbox Security Pentest 2. Greybox Security Pentest

VPN Remote Dial In User. DrayTek Smart VPN Client

CENTEXBEL CLIENT WEB

CENTEXBEL CLIENTS WEB

VPN Remote Dial In User. DrayTek Smart VPN Client

Datum: Gemaakt door: Berend de Groot Voor: ComSi, ROC Friese Poort

Prowise Pro Connect 2.0 Technische documentatie

VERBINDING MAKEN EN INLOGGEN...

Je website (nog beter) beveiligen met HTTP-Security Headers

Dynamische Websites. Week 2

Testrapport MDC WUS. Testrapport MDC WUS

Temperatuur logger synchronisatie

Practicum Software & Web Security 2. Instructies voor installatie en gebuik van WebGoat en WebScarab

2. Het proces De handleiding is opeenvolgend opgebouwd in de logisch te volgen stappen:

CLOUD4WI VSCG V3.0 CONFIGURATIE

Delft-FEWS & Web Services

Resultaten van de scan. Open poorten. High vulnerabilities. Medium vulnerabilites. Low vulnerabilities

Third party mededeling

IBAN API. Simpel & krachtig. Documentatie : IBAN REST API Versie : 1.0 DE BETAALFABRIEK

Proware Cloud Webbuilder Versie 2.30

Hoe werkt de DrayTek Firewall? Default Call en Data Filter

2. De Kans en Impact van de bevinding als deze zich manifesteert

CLOUD4WI ALCATEL-LUCENT IAP CONFIGURATIE V2

uziconnect Installatiehandleiding

Configuratie Instructie Qaleido Virtual Server V1.3

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Datum 15 juni 2006 Versie Exchange Online. Handleiding voor gebruiker Release 1.0

, SMTP, TLS & S/MIME

Online Back-up installatie handleiding. Sikkelstraat VB Oosterhout E: info@winexpertise.nl

INSTALLATIE EXCHANGE CONNECTOR

Handleiding voor het inloggen op Terminal Server van GLT-PLUS

Gebruikershandleiding voor toegang tot Gasport

Handleiding DigiD koppeling

Enterprise SSO Manager (E-SSOM) Security Model

Cloud. Regie. Cases.

Nederlands Normalisatie Instituut

Performance Essentials

eduroam Handleiding webinterface

Hoe de 2N EasyRoute te configureren

General info on using shopping carts with Ingenico epayments

Inhoud KAS-WEB: HANDLEIDING IDG OPERATOR

RUCKUS DPSK + ZERO-IT. Technote. Alcadis Vleugelboot CL Houten

Handleiding. Maart Versie 1.2. Handleiding NCDR Pacemaker & ICD Registratie Maart 2016, versie 1.2.

Handleiding. Mei Versie 1.1. Handleiding NCDR Pacemaker & ICD Registratie - Mei 2015, versie 1.1.

Denit Backup instellen op een Linux server

Privacy en cookieverklaring. Deze verklaring is per 20 mei 2018 aangepast.

Overheidsservicebus met volledige Digikoppeling connectiviteit. Foutberichten en foutafhandeling

Internet of Things (IoT)

HDN DARTS WEB AUTHENTICATIE

HANDLEIDING EXTERNE TOEGANG CURAMARE

Introductie Algemene instellingen POP3, SMTP, IMAP, wat is het, en wat is aan te raden voor u? Standaard of Secure?...

HTTP SMS API Technische Specificatie messagebird.com versie mei 2014

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

Beveiligingsbeleid. Online platform Perflectie

MULTIFUNCTIONELE DIGITALE SYSTEMEN. Windows Server 2003, Server 2008 & Scan-to-file

SMS Webservice Implementatie handleiding

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Instellingen Microsoft ISA server

Hoe kan ik extern werken?

SMSStunter gateway API

eid Routeringsvoorziening OpenID Connect

1 "log-file": "/var/log/pilight.log" 2 "log-file": "c:/pilight/pilight.log"

The Canon B2B Portal. OGh Jaarcongres Philip Lafeber (Canon Europa) Marcel Lipman (LogicaCMG)

WEBAPPLICATIE-SCAN. Kiezen op Afstand

Handleiding Instellen Account In Microsoft Outlook 2007

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Cartalk: Simplified REST interface

Externe toegang met ESET Secure Authentication. Daxis Versie 2.0

ZN Handleiding GERRIT token gebruik

SIP analyse. Handleiding

Secure Application Roles

DDi Online. Applicatiebeheer. DDi. DDi Online Applicatiebeheer 23 december 2016

HANDLEIDING WERKEN OP AFSTAND

ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card)

Handleiding CustomerPortal

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren.

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren.

HAN4.x technisch document

Bitrix Site Manager gebruikershandleiding BureauZuid

1. Wat heb je nodig? Hoe werkt het? Multifactor authenticatie Verbinding maken... 2

Security theorie. Omdat theorie heel praktisch is. Arjen Kamphuis & Menso Heus arjen@gendo.nl menso@gendo.nl

Van Big Data tot waardevolle informatie op maat van de (interne)gebruiker en de burger

Transport Layer Security. Presentatie Security Tom Rijnbeek

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem.

Transcriptie:

Deny nothing. Doubt everything.

Testen van IoT Security Marinus Kuivenhoven Sr. Security Specialist Vianen, 11 juli 2016 Testen van IoT Security 2

Casio AT-550 Testen van IoT Security 3

LG GD910 Testen van IoT Security 4

Adoptie van nieuwe technologie Technologie werkt Technologie werkt goed Technologie werkt goed en verhoogt de waarde van andere technologie veilig Testen van IoT Security 5

Wat is Internet of Things Smart devices Operational Technology Information Technology veilig Testen van IoT Security 6

Applicatie Invoer -> Verwerking -> Uitvoer Spoofing Tampering Repudiation Information Disclosure Denial of Service Elevation of Privilege Testen van IoT Security 7

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 8

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 9

Pre-test activiteiten Informatie vergaren: -Informatie -Relaties -Gedrag Applicatie mappen: -Technische -Functionele Testen van IoT Security 10

Externe bronnen allinanchor: allintext: allintitle: allinurl: cache: define: filetype: id: inanchor: info: intext: intitle: inurl: link: related: site: Voorbeelden: http://www.exploit-db.com/google-dorks/ Testen van IoT Security 11

Technische sitemap protocol://hostname[:port]/[pad/]bestand[?parameter=waarde] http://www.sogeti.nl/index.html http://www.sogeti.nl/events/events.asp http://www.sogeti.nl/events/events.asp?entnm=101 Inzicht (mens) & Inspanning (tool) Testen van IoT Security 12

Techniek : Fuzzing Replacive Vervangen met onlogische waarden Recursive Vervangen met logische waarden Testen van IoT Security 13

Recursive Fuzzing 1 //pagina/viewdocument.jsp //pagina/adddocument.jsp //pagina/adduser.jsp //pagina/addusr.jsp //pagina/adusr.jsp Testen van IoT Security 14

Recursive Fuzzing 2 //pagina/menu.php?id=210 //pagina/menu.php?id=240 //pagina/menu.php?id=250 //genreport.aspx?file=annual2005.pdf Testen van IoT Security 15

Replacive Fuzzing 1 //pagina/menu.php?id=aaa213da //pagina/menu.php?id=@$$ //pagina/menu.php?id= Testen van IoT Security 16

Entry- en exitpoints Testen van IoT Security 17

Functionele sitemap Andere view op dezelfde applicatie Gericht op workflow en processen Testen van IoT Security 18

Testen van IoT Security 19

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 20

Security test stap 3 : Clientside Controls Zoek alle plekken waar de applicatie informatie van de client naar de server stuurt. Analyseer de reden waarom. Zoek alle plekken vooraf aan het versturen waar er controles op de client gebeuren. Probeer er om heen te werken. Testen van IoT Security 21

Thick clients Thick clients - Java applets - Online: http://www.showmycode.com/ - Offline: http://www.varaneckas.com/jad - ActiveX controls - Online: http://www.showmycode.com/ - Offline: https://github.com/icsharpcode/ilspy - Shockwave flash - Online: http://www.showmycode.com/ - Offline: www.flash-decompiler.com Testen van IoT Security 22

Disassemble / Decompile firmware Testen van IoT Security 23

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 24

Security test stap 4 :Authenticatie Directe aanvallen Speciale functionaliteit Credentials Authenticatie logica Testen van IoT Security 25

Directe aanvallen De kwaliteit van het password Minimale eis password Foute validatie Hoe lang duurt een brute force De username Waar wordt de username gebruikt Verkeerde username opgeven Andere username opgeven Testen van IoT Security 26

Directe aanvallen Het password 10x foutieve passwords Bruteforce Lockout Testen van IoT Security 27

Speciale functionaliteit De username/password vergeten functionaliteit Worden de credentials opgestuurd danwel getoond? Zijn de hints moeilijk? De onhoud mij functionaliteit Wordt de username gebruikt bij het onthouden? Zijn de accounts over te nemen? Welke actie wordt gedaan? Testen van IoT Security 28

Credentials De originaliteit van de username Zelfde naam 2x registeren Bruteforce Password Logica achter generatie Onveilige verzending van de credentials Gebruik een proxy om in te zien bij welke actie deze worden verzonden. Testen van IoT Security 29

Authenticatie logica Onveilige distributie van de credentials Activatie url Multistage mechanisme Doorloop alle stappen in een verkeerde volgorde Gelijk naar een bepaalde stap Testen van IoT Security 30

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 31

Security test stap 5 : Sessies Token generatie Token afhandeling Testen van IoT Security 32

Token generatie Tokens analyse Verschillende gebruikers, andere tokens? Algoritme? Tokens voorspellen Testen van IoT Security 33

Token afhandeling Onveilige verzending HTTP -> HTTPS Secure flag Opslag in logs Via GET Tokens naar sessie vertalen 2x inloggen met 1 user Beeindiging sessie Logout mogelijk? Tijdsduur? Testen van IoT Security 34

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 35

Security test stap 6 : Toegang Segregatie van rollen Soorten accounts Onveilige toegang Testen van IoT Security 36

Segregatie van rollen Verticaal Verschillende niveau s van gebruikers Verschillende functionaliteit Horizontaal Zelfde niveau van gebruikers Verschillende functionaliteit Testen van IoT Security 37

Soorten accounts Meerdere accounts Probeer acties met steeds mindere privileges Gelimiteerde accounts Probeer de acties zonder privileges (guest) Testen van IoT Security 38

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 39

Security test stap 7 : Input Validatie Fuzzen van parameters Specifieke bedreigingen Testen van IoT Security 40

Fuzzen van parameters Header User-agent Referer URL bij GET www.test.nl/pagina.php?parameter=3-90tuut9 URL en body bij POST Proxy Testen van IoT Security 41

Fuzzen van parameters Cookie Cookie editor Replacive A -> 1 1-> DJ#RIU Recursive A -> B 1 -> 2 Adduser -> deleteuser Testen van IoT Security 42

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 43

Functie specifieke injection SMTP Injection test2@test.nl%0abcc:test1@test.nl Code flaws Te grote data Nullbytes SOAP injection Test</item><item>test2 Testen van IoT Security 44

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 45

Security test stap 9 : Logica fouten Processen met meerdere stappen Onvolledige invoer Trust boundaries Transactie logica Testen van IoT Security 46

Processen met meerdere stappen Volgorde van GET/POST Acties tussen 2 sessies wisselen Negatieve waarden Gelimiteerde acties vaker uitvoeren Testen van IoT Security 47

Transactie logica Negatieve waarden Gelimiteerde acties vaker uitvoeren Testen van IoT Security 48

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 49

Security test stap 10 : Omgeving Testen van IoT Security 50

Security Test aanpak PRE-TEST 1. Informatie vergaren 2. Applicatie mappen LOGICA 3. Clientside controls TOEGANG 4. Authenticatie INPUT 7. Input validatie CONFIGURATIE 10. Omgeving 9. Logica fouten 5. Sessiemanagement 8. Functie input 11. Server 6. Toegang POST-TEST 12. Filteren 13. Rapporten Testen van IoT Security 51

Security test stap 11 : Server Configuraties Default credentials/content handleiding / google HTTP methoden OPTIONS op een request Misconfiguratie virtual hosting DNS Bekende bugs / exploits Changelog / www.exploit-db.com Testen van IoT Security 52

IoT - Weinig verschil in aanpak - Wel andere middelen / skills nodig - Veel verschil in impact Testen van IoT Security 53

If you think technology can solve your security problems, then you don't understand the problems and you don't understand the technology. Bruce Schneier, secrets and lies, 2007