SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Hackers vs Developers

Simone Onofri

Techub S.p.A.
Critical Services
Security
http://www.siatec.net/
Grazie!
Dalla parte degli sviluppatori tra OWASP e OSSTMM

HACKERS VS DEVELOPERS
“In breve, questo è il metodo per organizzare le operazioni militari” – Sun
                          Tzu (L’arte della guerra)

                           OSSTMM
minaccia -> controllo (-
 limitazioni) -> bene
“security is about
   protection”
 Pete Herzog - No More of the Same Bad Security
Beni, attacchi e agenti di minaccia
Operational Security



               Operational          Controlli     Minacce
  Beni da
                                                     e
proteggere
                                                  Attacchi
               Limitazioni!        Limitazioni!




             Separazione tra beni e minacce
Visibility

  operations
Exposure!

 visibility - limitation
Access

 operations
Trust

operations
Vulnerability!

  Visibility/trust - limitation
Authentication

  controls – class a (interactive)
Indemnification

  controls – class a (interactive)
Resilience

controls – class a (interactive)
Subjugation

 controls – class a (interactive)
Continuity

controls – class a (interactive)
Weakness!

limitation – class a (interactive)
Non-Repudiation

   controls – class b (process)
Confidentiality

   controls – class b (process)
Privacy

controls – class b (process)
Integrity

controls – class b (process)
Alarm

controls – class b (process)
Concern!

limitation – class b (process)
category                opesec              limitations

                            Visibility           Exposure!
    operations
                             Access
                                                Vulnerability!
                              Trust

                          Authentication
                         Indemnification
           Class A          Resiliance           Weakness!
                           Subgugation
                            Continuity
controls
                         Non-Repudiation
                          Confidentiality
           Class B           Privacy              Concern!
                            Integrity
                              Alarm


                                                        Anomalies

                 OSSTMM - Limitations mapping
“Conosci il tuo nemico” – Sun Tzu (L’arte della guerra)

THREAT MODELING FOR DUMMIES
Minacce e Attacchi



 Web                                      Application                     Database
Server                                      Server                         server
                  Application
                                              S.M.
        HTTP/CM




                          D.V. (I/O)
T.L.P




                                                                   D.A.
                                                            B.L.
                   P.L.


                                               AT                          Data
                                               AZ
E.H.A.L                                     E.H.A.L                       E.H.A.L
  Host                                       Host                           Host




                                             Beni

                     Struttura tipo di un’applicazione
“Questo è Struttura” – Morpheus (The Matrix)

HOST E INFRASTRUTTURA
Gestione
Centralizzzata
   dei Log
   Non Repudiation
Bilanciatori di Carico
   Alta Affidabilità
     Ridondanza
       Backup
 Disaster Recovery
        Continuity
Security
Operation
  Center
  (SOC)
   Alarm
Termini di utilizzo
     Avvisi
  Assicurazioni
     Indemnification
“Sì, ma tu chi sei?” – Neo a Seraph (The Matrix: Reloaded)

      AUTENTICAZIONE (AT)
Authorization Bypass, Brute Force, Guessable Account, Default User and Password,
                 User Enumeration, Browser Cache Management


Au      Id       Re       Su       Ct      NR       Cf       Pr        It       Al



                 L’autenticazione “di per se”

                Implementata lato server
           Sempre verificata dove necessario
                 Non bypassabile (DV*)
          Protetta nella comunicazione (TLP*)
       Errori Gestiti e operazioni loggate (EHAL*)
                         Resiliente
Authorization Bypass, Brute Force, Guessable Account, Default User and Password,
                 User Enumeration, Browser Cache Management


Au      Id       Re       Su       Ct      NR       Cf       Pr        It       Al


Form di autenticazione e di altre operazioni sulle
                   credenziali
        Protetti lato client (autocomplete=off)
                 Usare limiti/CAPTCHA
         Protetti nella comunicazione (TLP*)
                Errori generici (EHAL*)
Authorization Bypass, Brute Force, Guessable Account, Default User and Password,
                 User Enumeration, Browser Cache Management


Au      Id       Re       Su       Ct      NR       Cf       Pr        It       Al



                               Credenziali

        Proteggere la memorizzazione (DP*)
       Bloccare dopo tot. tentativi di accesso
       Evitare account di default (user:pass)
  Essere complesse (anche se generate di default)
Avere una durata minima e massima, con una storia
“ Conosco solo quello che devo sapere” – Rama (The Matrix: Revolutions)

             AUTORIZZAZIONE (AZ)
Authorization Bypass (horizontal/vertical), Path Traversal



Au    Id       Re       Su        Ct      NR        Cf       Pr         It   Al


                L’autorizzazione su Risorse
                 (file/servizi/pagine/dati)
Implementata e verificata lato server (in caso con token mono-
                             uso)
            Sempre verificata dove necessario
                Proteggere anche le policy
                   Non bypassabile (DV*)
           Protetta nella comunicazione (TLP*)
        Errori Gestiti e operazioni loggate (EHAL*)
                          Resiliente
“sa dirmi cosa darebbe pur di mantenere viva tale interazione?” – Rama
                       (The Matrix: Revolutions)

    SESSION MANAGEMENT (S.M.)
Session Fixation, Session Hijacking/Cookie Stealing, Session ID Analysis (Crypto,
                                        Statistical)


Au         Id       Re       Su         Ct      NR        Cf       Pr        It          Al



                         La sessione “di per se”

                             Sempre verificata
                      Implementare token anti-CSRF
                Non permettere sessioni contemporanee*
                         Sessione legata all’IP/UA*
                 Distrutta per timeout relativo e assoluto
                Errori Gestiti e operazioni loggate (EHAL*)
                                  Resiliente
Session Fixation, Session Hijacking/Cookie Stealing, Session ID Analysis (Crypto,
                                        Statistical)


Au         Id       Re       Su         Ct      NR        Cf       Pr        It          Al



                  Identificativo di Sessione (SID)

           Abbastanza Complesso
  Cambiato dopo gli eventi di autenticazione
 NON deve essere mostrato (es. GET, Log, Errori)
Session Fixation, Session Hijacking/Cookie Stealing, Session ID Analysis (Crypto,
                                        Statistical)


Au         Id       Re       Su         Ct      NR        Cf       Pr        It          Al



                                       Cookie

               Attributi impostati
Httponly, secure, path, domain, expires/max-age
     Protetto nella comunicazione (TLP*)
“Quasi inconsciamente, scrisse con le dita sul tavolo coperto di polvere:
                  2+2 = 5” – Winston Smith (1984)

             BUSINESS LOGIC (B.L.)
Business Logic Flow, Abuse of functionality, Insufficient Process Validation



Au      Id       Re        Su        Ct      NR        Cf        Pr        It       Al



             La logica “di per se” (limiti/flussi)

             Verificare lato server i flussi
             Verificare lato server i limiti
Evitare l’esposizione di parametri sensibili lato client
                      (anche DV*)
     Errori Gestiti e operazioni loggate (EHAL*)
                       Resiliente
“never trust the user input, output too”

DATA VALIDATION (INPUT/OUTPUT)
Injection, Cross Site Scripting, HTTP Request/Response Smuggling/Splitting



Au       Id      Re       Su        Ct      NR        Cf       Pr        It       Al



                La Data Validation “di per se”

     Implementata lato server e lato client, se
                      necessario*
     Errori Gestiti e operazioni loggate (EHAL*)
                       Resiliente
Injection, Overflow, Cross Site Scripting, HTTP Request/Response Smuggling/Splitting



Au       Id      Re       Su        Ct      NR        Cf       Pr        It      Al



     Dati e File inviati da e verso l’applicazione

Presente parametri per destinati ad intepreti (SQL, XML, Xpath, Xquery,
                                 HTML)
   Presente per parametri usati per calcoli od operazioni (Overflow)
     Presente per parametri che utilizzano URL (Redirect/Iframe)
     Presente per i file (nome, estensione, contenuto e antivirus)
                 Utilizzare interpreti parametrici (API)
            Verificare anche le richieste con metodi HTTP*
                  Specificare sempre la codifica in I/O
“Sei sicuro che questa linea è sicura?” – Trinity (The Matrix)

TRANSPORT LAYER PROTECTION
Eavesdropping



Au   Id    Re    Su    Ct     NR      Cf   Pr   It   Al



                La comunicazione

Vanno protetti tutti i dati sensibili (credenziali, id
    di sessione, cookie, dati degli utenti…)
                    Resiliente
        Errori Gestiti e Loggati (EHAL*)
Eavesdropping



Au   Id   Re       Su      Ct    NR      Cf   Pr   It   Al



                        SSL e cifrari

               Evitare Protocolli insicuri
               Utilizzare solo cifrari forti
Eavesdropping



Au   Id      Re   Su     Ct    NR      Cf   Pr   It   Al



                       Certificati

            Firmati da entità riconosciute
                 In corso di validità
          Devono corrispondere all’indirizzo
“Avrebbero potuto analizzare e mettere su carta, nei minimi particolari,
tutto quello che s'era fatto, s'era detto e s'era pensato” – Winston Smith
                                    (1984)

  ERROR HANDLING AND LOGGING
Non Repudiation, Log Attacks



Au   Id   Re    Su      Ct      NR       Cf    Pr   It   Al



                          I Log

Devono contenere informazioni utili a tracciare le
         richieste (sia fallite che non)
   Vanno verificati i dati inseriti nei log (DV*)
                    Resilienza
           Errori Gestiti e Loggati (!)
Non Repudiation, Log Attacks



Au   Id   Re   Su      Ct      NR       Cf    Pr   It   Al



                        Errori

           Sempre generici lato client
             Dettagliati lato server
simone.onofri@techub.it

GRAZIE! Q/A?
Gerard :-[
juanita.laguna
Symantec DWB

CREDITS
ISECOM OSSTMM
Microsoft SDL
OWASP Testing Guide
OWASP Developer’s Guide
OWASP Code Review Guide
OWASP ASVS
OWASP ASDR


RIFERIMENTI

Weitere ähnliche Inhalte

Andere mochten auch

Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Simone Onofri
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementSimone Onofri
 
Penetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferPenetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferSimone Onofri
 
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Simone Onofri
 
Agile e Lean Management
 Agile e Lean Management Agile e Lean Management
Agile e Lean ManagementSimone Onofri
 
Nuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiNuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiSimone Onofri
 
Agile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessAgile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessSimone Onofri
 
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Simone Onofri
 
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo  2016 WinterMamma, da grande voglio essere un Penetration Tester HackInBo  2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 WinterSimone Onofri
 
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesSimone Onofri
 

Andere mochten auch (11)

Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
Penetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferPenetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network Sniffer
 
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
 
Agile e Lean Management
 Agile e Lean Management Agile e Lean Management
Agile e Lean Management
 
Nuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiNuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersi
 
Agile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessAgile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & Business
 
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
 
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo  2016 WinterMamma, da grande voglio essere un Penetration Tester HackInBo  2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter
 
ORM Injection
ORM InjectionORM Injection
ORM Injection
 
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
 

Ähnlich wie Hackers vs developers: dalla parte degli sviluppatori web, mobile e non solo, tra OWASP e OSSTMM

Sicurezza delle applicazioni web eseguire web application penetration test co...
Sicurezza delle applicazioni web eseguire web application penetration test co...Sicurezza delle applicazioni web eseguire web application penetration test co...
Sicurezza delle applicazioni web eseguire web application penetration test co...Simone Onofri
 
Hackers vs. Developers: HTML5 Security by Simone Onofri
Hackers vs. Developers: HTML5 Security by Simone OnofriHackers vs. Developers: HTML5 Security by Simone Onofri
Hackers vs. Developers: HTML5 Security by Simone OnofriCodemotion
 
Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2
Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2
Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2Marco Guardigli
 
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005Marco Guardigli
 
Virtually Pwned: Hacking VMware [ITA - SMAU10]
Virtually Pwned: Hacking VMware [ITA - SMAU10]Virtually Pwned: Hacking VMware [ITA - SMAU10]
Virtually Pwned: Hacking VMware [ITA - SMAU10]Claudio Criscione
 
Presentazione tesi
Presentazione tesiPresentazione tesi
Presentazione tesisuccer110
 
Twcrashcourse
TwcrashcourseTwcrashcourse
Twcrashcourserik0
 
Consolidamento e virtualizzazione
Consolidamento e virtualizzazione Consolidamento e virtualizzazione
Consolidamento e virtualizzazione S.info Srl
 
Bruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M ForumBruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M ForumGoWireless
 
Digital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaformaDigital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaformaMarco Ferrigno
 
Web Application Insecurity Uncensored
Web Application Insecurity UncensoredWeb Application Insecurity Uncensored
Web Application Insecurity Uncensoredjekil
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Marco Ferrigno
 
Real Time Testing & Hardware In The Loop with NI VeriStand
Real Time Testing & Hardware In The Loop with NI VeriStandReal Time Testing & Hardware In The Loop with NI VeriStand
Real Time Testing & Hardware In The Loop with NI VeriStandMassimiliano Banfi
 
APT - La nuova frontiera della minaccia informatica
APT - La nuova frontiera della minaccia informaticaAPT - La nuova frontiera della minaccia informatica
APT - La nuova frontiera della minaccia informaticaLuca Gammelli
 
Dal monitoraggio dell’infrastruttura it al business service management
Dal monitoraggio dell’infrastruttura it al business service managementDal monitoraggio dell’infrastruttura it al business service management
Dal monitoraggio dell’infrastruttura it al business service managementStefano Arduini
 
SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà
SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà
SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà Lodovico Mabini
 

Ähnlich wie Hackers vs developers: dalla parte degli sviluppatori web, mobile e non solo, tra OWASP e OSSTMM (17)

Sicurezza delle applicazioni web eseguire web application penetration test co...
Sicurezza delle applicazioni web eseguire web application penetration test co...Sicurezza delle applicazioni web eseguire web application penetration test co...
Sicurezza delle applicazioni web eseguire web application penetration test co...
 
HTML5 Security
HTML5 SecurityHTML5 Security
HTML5 Security
 
Hackers vs. Developers: HTML5 Security by Simone Onofri
Hackers vs. Developers: HTML5 Security by Simone OnofriHackers vs. Developers: HTML5 Security by Simone Onofri
Hackers vs. Developers: HTML5 Security by Simone Onofri
 
Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2
Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2
Sogei - Guardigli Disaster Recovery E Business Continuity Nella It Nov 2006v2
 
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
 
Virtually Pwned: Hacking VMware [ITA - SMAU10]
Virtually Pwned: Hacking VMware [ITA - SMAU10]Virtually Pwned: Hacking VMware [ITA - SMAU10]
Virtually Pwned: Hacking VMware [ITA - SMAU10]
 
Presentazione tesi
Presentazione tesiPresentazione tesi
Presentazione tesi
 
Twcrashcourse
TwcrashcourseTwcrashcourse
Twcrashcourse
 
Consolidamento e virtualizzazione
Consolidamento e virtualizzazione Consolidamento e virtualizzazione
Consolidamento e virtualizzazione
 
Bruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M ForumBruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M Forum
 
Digital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaformaDigital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaforma
 
Web Application Insecurity Uncensored
Web Application Insecurity UncensoredWeb Application Insecurity Uncensored
Web Application Insecurity Uncensored
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...
 
Real Time Testing & Hardware In The Loop with NI VeriStand
Real Time Testing & Hardware In The Loop with NI VeriStandReal Time Testing & Hardware In The Loop with NI VeriStand
Real Time Testing & Hardware In The Loop with NI VeriStand
 
APT - La nuova frontiera della minaccia informatica
APT - La nuova frontiera della minaccia informaticaAPT - La nuova frontiera della minaccia informatica
APT - La nuova frontiera della minaccia informatica
 
Dal monitoraggio dell’infrastruttura it al business service management
Dal monitoraggio dell’infrastruttura it al business service managementDal monitoraggio dell’infrastruttura it al business service management
Dal monitoraggio dell’infrastruttura it al business service management
 
SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà
SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà
SMAU2018 - Introdurre la Business Continuity nelle piccole e medie realtà
 

Mehr von Simone Onofri

Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Simone Onofri
 
Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Simone Onofri
 
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts  a deep dive after ~9 years of deploymentAttacking Ethereum Smart Contracts  a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deploymentSimone Onofri
 
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con LinuxLinux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con LinuxSimone Onofri
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneSimone Onofri
 
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Simone Onofri
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project FrameworkSimone Onofri
 
Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Simone Onofri
 
Security Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySecurity Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySimone Onofri
 
Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days Simone Onofri
 
Cyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTCyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTSimone Onofri
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...Simone Onofri
 
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaHackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaSimone Onofri
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanSimone Onofri
 
Hackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaHackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaSimone Onofri
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementSimone Onofri
 
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...Simone Onofri
 
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU -  Intuition, Hacking e Nuove TecnologieTEDX TorVergataU -  Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU - Intuition, Hacking e Nuove TecnologieSimone Onofri
 
Meetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriMeetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriSimone Onofri
 

Mehr von Simone Onofri (19)

Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
 
Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
 
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts  a deep dive after ~9 years of deploymentAttacking Ethereum Smart Contracts  a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
 
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con LinuxLinux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazione
 
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project Framework
 
Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)
 
Security Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySecurity Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber Security
 
Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days
 
Cyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTCyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APT
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
 
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaHackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e Kanban
 
Hackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaHackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e Difesa
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project Management
 
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
 
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU -  Intuition, Hacking e Nuove TecnologieTEDX TorVergataU -  Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
 
Meetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriMeetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofri
 

Hackers vs developers: dalla parte degli sviluppatori web, mobile e non solo, tra OWASP e OSSTMM

  • 1. Hackers vs Developers Simone Onofri Techub S.p.A.
  • 5. Dalla parte degli sviluppatori tra OWASP e OSSTMM HACKERS VS DEVELOPERS
  • 6.
  • 7. “In breve, questo è il metodo per organizzare le operazioni militari” – Sun Tzu (L’arte della guerra) OSSTMM
  • 8. minaccia -> controllo (- limitazioni) -> bene
  • 9. “security is about protection” Pete Herzog - No More of the Same Bad Security
  • 10. Beni, attacchi e agenti di minaccia
  • 11. Operational Security Operational Controlli Minacce Beni da e proteggere Attacchi Limitazioni! Limitazioni! Separazione tra beni e minacce
  • 17. Authentication controls – class a (interactive)
  • 18. Indemnification controls – class a (interactive)
  • 19. Resilience controls – class a (interactive)
  • 20. Subjugation controls – class a (interactive)
  • 21. Continuity controls – class a (interactive)
  • 23. Non-Repudiation controls – class b (process)
  • 24. Confidentiality controls – class b (process)
  • 29. category opesec limitations Visibility Exposure! operations Access Vulnerability! Trust Authentication Indemnification Class A Resiliance Weakness! Subgugation Continuity controls Non-Repudiation Confidentiality Class B Privacy Concern! Integrity Alarm Anomalies OSSTMM - Limitations mapping
  • 30. “Conosci il tuo nemico” – Sun Tzu (L’arte della guerra) THREAT MODELING FOR DUMMIES
  • 31. Minacce e Attacchi Web Application Database Server Server server Application S.M. HTTP/CM D.V. (I/O) T.L.P D.A. B.L. P.L. AT Data AZ E.H.A.L E.H.A.L E.H.A.L Host Host Host Beni Struttura tipo di un’applicazione
  • 32. “Questo è Struttura” – Morpheus (The Matrix) HOST E INFRASTRUTTURA
  • 33. Gestione Centralizzzata dei Log Non Repudiation
  • 34. Bilanciatori di Carico Alta Affidabilità Ridondanza Backup Disaster Recovery Continuity
  • 36. Termini di utilizzo Avvisi Assicurazioni Indemnification
  • 37. “Sì, ma tu chi sei?” – Neo a Seraph (The Matrix: Reloaded) AUTENTICAZIONE (AT)
  • 38. Authorization Bypass, Brute Force, Guessable Account, Default User and Password, User Enumeration, Browser Cache Management Au Id Re Su Ct NR Cf Pr It Al L’autenticazione “di per se” Implementata lato server Sempre verificata dove necessario Non bypassabile (DV*) Protetta nella comunicazione (TLP*) Errori Gestiti e operazioni loggate (EHAL*) Resiliente
  • 39. Authorization Bypass, Brute Force, Guessable Account, Default User and Password, User Enumeration, Browser Cache Management Au Id Re Su Ct NR Cf Pr It Al Form di autenticazione e di altre operazioni sulle credenziali Protetti lato client (autocomplete=off) Usare limiti/CAPTCHA Protetti nella comunicazione (TLP*) Errori generici (EHAL*)
  • 40. Authorization Bypass, Brute Force, Guessable Account, Default User and Password, User Enumeration, Browser Cache Management Au Id Re Su Ct NR Cf Pr It Al Credenziali Proteggere la memorizzazione (DP*) Bloccare dopo tot. tentativi di accesso Evitare account di default (user:pass) Essere complesse (anche se generate di default) Avere una durata minima e massima, con una storia
  • 41. “ Conosco solo quello che devo sapere” – Rama (The Matrix: Revolutions) AUTORIZZAZIONE (AZ)
  • 42. Authorization Bypass (horizontal/vertical), Path Traversal Au Id Re Su Ct NR Cf Pr It Al L’autorizzazione su Risorse (file/servizi/pagine/dati) Implementata e verificata lato server (in caso con token mono- uso) Sempre verificata dove necessario Proteggere anche le policy Non bypassabile (DV*) Protetta nella comunicazione (TLP*) Errori Gestiti e operazioni loggate (EHAL*) Resiliente
  • 43. “sa dirmi cosa darebbe pur di mantenere viva tale interazione?” – Rama (The Matrix: Revolutions) SESSION MANAGEMENT (S.M.)
  • 44. Session Fixation, Session Hijacking/Cookie Stealing, Session ID Analysis (Crypto, Statistical) Au Id Re Su Ct NR Cf Pr It Al La sessione “di per se” Sempre verificata Implementare token anti-CSRF Non permettere sessioni contemporanee* Sessione legata all’IP/UA* Distrutta per timeout relativo e assoluto Errori Gestiti e operazioni loggate (EHAL*) Resiliente
  • 45. Session Fixation, Session Hijacking/Cookie Stealing, Session ID Analysis (Crypto, Statistical) Au Id Re Su Ct NR Cf Pr It Al Identificativo di Sessione (SID) Abbastanza Complesso Cambiato dopo gli eventi di autenticazione NON deve essere mostrato (es. GET, Log, Errori)
  • 46. Session Fixation, Session Hijacking/Cookie Stealing, Session ID Analysis (Crypto, Statistical) Au Id Re Su Ct NR Cf Pr It Al Cookie Attributi impostati Httponly, secure, path, domain, expires/max-age Protetto nella comunicazione (TLP*)
  • 47. “Quasi inconsciamente, scrisse con le dita sul tavolo coperto di polvere: 2+2 = 5” – Winston Smith (1984) BUSINESS LOGIC (B.L.)
  • 48. Business Logic Flow, Abuse of functionality, Insufficient Process Validation Au Id Re Su Ct NR Cf Pr It Al La logica “di per se” (limiti/flussi) Verificare lato server i flussi Verificare lato server i limiti Evitare l’esposizione di parametri sensibili lato client (anche DV*) Errori Gestiti e operazioni loggate (EHAL*) Resiliente
  • 49. “never trust the user input, output too” DATA VALIDATION (INPUT/OUTPUT)
  • 50. Injection, Cross Site Scripting, HTTP Request/Response Smuggling/Splitting Au Id Re Su Ct NR Cf Pr It Al La Data Validation “di per se” Implementata lato server e lato client, se necessario* Errori Gestiti e operazioni loggate (EHAL*) Resiliente
  • 51. Injection, Overflow, Cross Site Scripting, HTTP Request/Response Smuggling/Splitting Au Id Re Su Ct NR Cf Pr It Al Dati e File inviati da e verso l’applicazione Presente parametri per destinati ad intepreti (SQL, XML, Xpath, Xquery, HTML) Presente per parametri usati per calcoli od operazioni (Overflow) Presente per parametri che utilizzano URL (Redirect/Iframe) Presente per i file (nome, estensione, contenuto e antivirus) Utilizzare interpreti parametrici (API) Verificare anche le richieste con metodi HTTP* Specificare sempre la codifica in I/O
  • 52. “Sei sicuro che questa linea è sicura?” – Trinity (The Matrix) TRANSPORT LAYER PROTECTION
  • 53. Eavesdropping Au Id Re Su Ct NR Cf Pr It Al La comunicazione Vanno protetti tutti i dati sensibili (credenziali, id di sessione, cookie, dati degli utenti…) Resiliente Errori Gestiti e Loggati (EHAL*)
  • 54. Eavesdropping Au Id Re Su Ct NR Cf Pr It Al SSL e cifrari Evitare Protocolli insicuri Utilizzare solo cifrari forti
  • 55. Eavesdropping Au Id Re Su Ct NR Cf Pr It Al Certificati Firmati da entità riconosciute In corso di validità Devono corrispondere all’indirizzo
  • 56. “Avrebbero potuto analizzare e mettere su carta, nei minimi particolari, tutto quello che s'era fatto, s'era detto e s'era pensato” – Winston Smith (1984) ERROR HANDLING AND LOGGING
  • 57. Non Repudiation, Log Attacks Au Id Re Su Ct NR Cf Pr It Al I Log Devono contenere informazioni utili a tracciare le richieste (sia fallite che non) Vanno verificati i dati inseriti nei log (DV*) Resilienza Errori Gestiti e Loggati (!)
  • 58. Non Repudiation, Log Attacks Au Id Re Su Ct NR Cf Pr It Al Errori Sempre generici lato client Dettagliati lato server
  • 61. ISECOM OSSTMM Microsoft SDL OWASP Testing Guide OWASP Developer’s Guide OWASP Code Review Guide OWASP ASVS OWASP ASDR RIFERIMENTI