SlideShare a Scribd company logo
1 of 104
Web Application Security
Eseguire Web Application Penetration Test con
  OWASP e OSSTMM in maniera efficace
Simone Onofri
“Conosci	
  il	
  tuo	
  nemico,	
  conosci	
  te	
  stesso”	
  –	
  Sun	
  Tzu	
  (L’arte	
  della	
  guerra)

                            INTRODUZIONE
INTERNATIONAL	
  WEBMASTERS	
  ASSOCIATION
                hBp://www.iwa.it	
  


Partecipazioni internazionali
                                         Prima	
  associazione	
  al	
  mondo	
  (dal	
  1996)	
  che	
  
                                         raggruppa	
  chi	
  lavora	
  nel	
  Web,	
  sia	
  nel	
  settore	
  
                                         pubblico	
  che	
  privato


                                         Obiettivo	
  di	
  IWA	
  è	
  creare	
  rete	
  tra	
  i	
  soci,	
  partecipare	
  
                                         all'evoluzione	
  della	
  rete	
  e	
  divulgare	
  conoscenza	
  
Partecipazioni nazionali
                                         tramite	
  i	
  soci	
  con	
  eventi	
  ed	
  iniziative


                                                                                            media	
  partner




                                                                                                                           3
INTERNATIONAL	
  WEBMASTERS	
  ASSOCIATION
               hBp://www.iwa.it	
  

               Perché	
  associarsi                                                     media	
  partner



                  1        rete	
  tra	
  professionis;


                  2        partecipazione	
  a	
  gruppi	
  di	
  lavoro	
  anche	
  
                           internazionali

                  3        convenzioni	
  per	
  tutela	
  professionalità
                           (esempio:	
  studi	
  legali)

quota	
  speciale	
  SMAU:	
  euro	
  50,00	
  presso	
  stand	
  IWA


                                                                                                           4
Cri;cal	
  Services
Security
hQp://onofri.org/u/wapt2012
“In	
  breve,	
  questo	
  è	
  il	
  metodo	
  per	
  organizzare	
  le	
  operazioni	
  militari”	
  –	
  Sun	
  
                                        Tzu	
  (L’arte	
  della	
  guerra)

                               ESEGUIRE	
  I	
  TEST
“Solo	
  valutando	
  tuDo	
  esaDamente	
  si	
  può	
  vincere”	
  –	
  Sun	
  Tzu	
  (L’arte	
  della	
  
                                      guerra)

                        OWASP	
  -­‐	
  TG	
  E	
  ASVS
ASVS	
  V1	
  	
  Security	
  Architecture

ASVS	
  V2	
  Authen;ca;on
                                                                                             	
  IG	
  Informa;on	
  Gathering
ASVS	
  V3	
  Session	
  Management
                                                                                        CM	
  Configura;on	
  Management
ASVS	
  V4	
  Access	
  Control
                                                                                                      AT	
  Authen;ca;on
ASVS	
  V5	
  Input	
  Valida;on
                                                                                             SM	
  Session	
  Management

ASVS	
  V6	
  Output	
  Encoding/Escaping                                                               AZ	
  Authoriza;on

 ASVS	
  V7	
  Cryptography                                                                             BL	
  Business	
  Logic
ASVS	
  V8	
  Error	
  Handling	
  and	
  Logging
                                                                                                     DV	
  Data	
  Valida;on
ASVS	
  V9	
  Data	
  Protec;on
                                                                                                    DS	
  Denial	
  of	
  Service
ASVS	
  V10	
  	
  Comunica;on	
  Security
                                                                                                       WS	
  	
  	
  Web	
  Service
 ASVS	
  V11	
  	
  HTTP	
  Security
                                                                                                                       AJ	
  Ajax
ASVS	
  V12	
  	
  Security	
  Configura;on

ASVS	
  V13	
  	
  Malicious	
  Code	
  Search

ASVS	
  V14	
  Internal	
  Security
                                                    ASVS	
  e	
  TG	
  a	
  confronto
“In	
  breve,	
  questo	
  è	
  il	
  metodo	
  per	
  organizzare	
  le	
  operazioni	
  militari”	
  –	
  Sun	
  
                                        Tzu	
  (L’arte	
  della	
  guerra)

                                             PCI	
  DSS
Requisito	
  6
Sviluppare	
  e	
  ges@re	
  sistemi	
  e	
  
     applicazioni	
  proteEe
6.1	
  Assicurare	
  che	
  tuG	
  i	
  componen@	
  
      di	
  sistema	
  ed	
  il	
  soIware	
  	
  siano	
  proteG	
  
            dalle	
  vulnerabilità	
  note	
  mediante	
  
l'installazione	
  delle	
  più	
  recen@	
  patch	
  di	
  sicurezza	
  
                          dei	
  fornitori.	
  

         Installare	
  patch	
  di	
  sicurezza	
  cri@che	
  
              entro	
  un	
  mese	
  dal	
  rilascio
6.2	
  Stabilire	
  un	
  processo	
  per	
  
         iden@ficare	
  ed	
  assegnare	
  una	
  
classificazione	
  di	
  rischio	
  alle	
  vulnerabilità	
  della	
  
       sicurezza	
  	
  recentemente	
  rilevate.	
  	
  
6.3	
  Sviluppare	
  applicazioni	
  soIware	
  
 in	
  conformità	
  agli	
  standard	
  PCI	
  DSS	
  e	
  in	
  base	
  alle	
  
               pra@che	
  di	
  seEore	
  consigliate,	
  
quindi	
  incorporare	
  la	
  protezione	
  delle	
  informazioni	
  	
  
         nell'intero	
  ciclo	
  di	
  sviluppo	
  del	
  soIware
6.4	
  Seguire	
  i	
  processi	
  e	
  le	
  procedure	
  
di	
  controllo	
  e	
  per	
  tuEe	
  le	
  modifiche	
  apportate	
  ai	
  
                   componen@	
  di	
  sistema.
6.5	
  Sviluppare	
  applicazioni	
  in	
  base	
  a	
  linee	
  guida	
  di	
  
   scriEura	
  di	
  codice	
  sicura.	
  Prevenire	
  possibili	
  
           vulnerabilità	
  del	
  codice	
  comuni	
  nei	
  
            processi	
  di	
  sviluppo	
  del	
  soIware.
Injec;on
Insecure	
  
 Crypto
 Storage
Transport
  Layer	
  
Protec;on
Improper
  Error
Handling
XSS
Broken
AT/AZ
CSRF
...tuQe	
  le	
  
  vulnerabilità	
  
indicate	
  con	
  CVSS	
  
       v2	
  >	
  4
“In	
  breve,	
  questo	
  è	
  il	
  metodo	
  per	
  organizzare	
  le	
  operazioni	
  militari”	
  –	
  Sun	
  
                                        Tzu	
  (L’arte	
  della	
  guerra)

                           ISECOM	
  -­‐	
  OSSTMM
Visibility

   operaJons
Exposure!

 visibility	
  -­‐	
  limitaJon
Access

 operaJons
Trust

operaJons
Vulnerability!

  Visibility/trust	
  -­‐	
  limitaJon
Authen;ca;on

  controls	
  –	
  class	
  a	
  (interacJve)
Indemnifica;on

  controls	
  –	
  class	
  a	
  (interacJve)
Resilience

controls	
  –	
  class	
  a	
  (interacJve)
Subjuga;on

 controls	
  –	
  class	
  a	
  (interacJve)
Con;nuity

controls	
  –	
  class	
  a	
  (interacJve)
Weakness!

limitaJon	
  –	
  class	
  a	
  (interacJve)
Non-­‐Repudia;on

    controls	
  –	
  class	
  b	
  (process)
Confiden;ality

  controls	
  –	
  class	
  b	
  (process)
Privacy

controls	
  –	
  class	
  b	
  (process)
Integrity

controls	
  –	
  class	
  b	
  (process)
Alarm

controls	
  –	
  class	
  b	
  (process)
Concern!

limitaJon	
  –	
  class	
  b	
  (process)
Minacce	
  e	
  AQacchi



Web	
  Server                      Applica;on	
  Server                    Database	
  
                                                                            server


                                         S.M.
                   D.V.	
  (I/O)
         HTTP/CM
 T.L.P




                                                                    D.A.
                                                             B.L.
                                          AT                                  Data

                                          AZ
  E.H.A.L.                               E.H.A.L.                           E.H.A.L
 Host/CM                                Host	
  /	
  CM                    Host/CM




                                            Beni

                   StruDura	
  Jpo	
  di	
  un’applicazione	
  MVC
“Questo	
  è	
  StruDura”	
  –	
  Morpheus	
  (The	
  Matrix)

HOST	
  E	
  INFRASTRUTTURA
Known	
  Vulnerabilites,	
  Denial	
  of	
  Service



Au     Id     Re        Su           Ct         NR          Cf           Pr   It   Al



                   Sistemi	
  e	
  InfrastruQura

     I	
  sistemi	
  sono	
  aggiornaJ	
  all’ulJma	
  versione?
                        Configurazioni	
  sicure?
                       Rilascio	
  di	
  infomazioni?
               Sono	
  in	
  alta	
  affidabilità/bilanciaJ?
                 ProteX	
  nella	
  comunicazione?
“Sì,	
  ma	
  tu	
  chi	
  sei?”	
  –	
  Neo	
  a	
  Seraph	
  (The	
  Matrix:	
  Reloaded)

          AUTENTICAZIONE	
  (AT)
Authoriza;on	
  Bypass,	
  Brute	
  Force,	
  Guessable	
  Account,	
  Default	
  User	
  and	
  Password,	
  
                  User	
  Enumera;on,	
  Browser	
  Cache	
  Management


Au        Id          Re          Su           Ct         NR          Cf          Pr            It         Al



                       L’auten;cazione	
  “di	
  per	
  se”

                        E’	
  implementata	
  lato	
  server?
               E’	
  sempre	
  verificata	
  dove	
  necessario?
                                Si	
  può	
  bypassare?
               Il	
  canale	
  di	
  comunicazione	
  è	
  proteDo?
                           ...sempre	
  errori	
  e	
  tracciatura
Authoriza;on	
  Bypass,	
  Brute	
  Force,	
  Guessable	
  Account,	
  Default	
  User	
  and	
  Password,	
  
                  User	
  Enumera;on,	
  Browser	
  Cache	
  Management


Au        Id          Re          Su           Ct         NR          Cf          Pr            It         Al


Form	
  di	
  auten;cazione	
  e	
  di	
  altre	
  operazioni	
  sulle	
  
                        credenziali	
  
                I	
  daJ	
  sono	
  proteX	
  lato	
  client?
      E’	
  possibile	
  bloccare	
  aDacchi	
  di	
  brute	
  force?
               Il	
  canale	
  di	
  comunicazione	
  è	
  proteDo?
                   Sono	
  forniJ	
  solo	
  errori	
  generici?
                           ...sempre	
  errori	
  e	
  tracciatura
una	
  pagina	
  di	
  login
# curl -kis "http://testasp.vulnweb.com/Login.asp"
HTTP/1.1 200 OK
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 2304
Content-Type: text/html
Set-Cookie:
ASPSESSIONIDSSSBTQRR=OHDIBNGDFNFODKIOAIOHOBHE; path=/
Cache-control: private
# curl -kis "http://testasp.vulnweb.com/Login.asp"
HTTP/1.1 200 OK
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 2304
Content-Type: text/html
Set-Cookie:
ASPSESSIONIDSSSBTQRR=OHDIBNGDFNFODKIOAIOHOBHE; path=/
Cache-control: private
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><!-- InstanceBegin template="/Templates/MainTemplate.dwt.asp"
codeOutsideHTMLIsLocked="false" -->
[...]
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
[...]
      - <a href="./Login.asp?RetURL=%2FLogin%2Easp%3F"
class="menu">login</a> - <a href="./Register.asp?RetURL=%2FLogin
%2Easp%3F" class="menu">register</a>
    </div></td>
  </tr>
  <tr>
    <td colspan="2">
                <form action="" method="POST">
                <table width="350" border="0" align="center"
cellpadding="0" cellspacing="5" class="FramedForm">
             <tr>
               <td>Username:</td>
               <td align="right"><input name="tfUName" type="text"
class="Login" id="tfUName"></td>
             </tr>
             <tr>
               <td>Password:</td>
               <td align="right"><input name="tfUPass" type="password"
class="Login" id="tfUPass"></td>
             </tr>
             <tr>
               <td>&nbsp;</td>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><!-- InstanceBegin template="/Templates/MainTemplate.dwt.asp"
codeOutsideHTMLIsLocked="false" -->
[...]
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
[...]
      - <a href="./Login.asp?RetURL=%2FLogin%2Easp%3F"
class="menu">login</a> - <a href="./Register.asp?RetURL=%2FLogin
%2Easp%3F" class="menu">register</a>
    </div></td>
  </tr>
  <tr>
    <td colspan="2">
                <form action="" method="POST">
                <table width="350" border="0" align="center"
cellpadding="0" cellspacing="5" class="FramedForm">
             <tr>
               <td>Username:</td>
               <td align="right"><input name="tfUName" type="text"
class="Login" id="tfUName"></td>
             </tr>
             <tr>
               <td>Password:</td>
               <td align="right"><input name="tfUPass" type="password"
class="Login" id="tfUPass"></td>
             </tr>
             <tr>
               <td>&nbsp;</td>
Authoriza;on	
  Bypass,	
  Brute	
  Force,	
  Guessable	
  Account,	
  Default	
  User	
  and	
  Password,	
  
                  User	
  Enumera;on,	
  Browser	
  Cache	
  Management


Au        Id          Re          Su           Ct         NR          Cf          Pr            It         Al



                                          Credenziali

                  Sono	
  proteDe	
  quando	
  memorizzate?
          Vengono	
  bloccate	
  per	
  un	
  numero	
  di	
  tentaJvi?
                  Sono	
  presenJ	
  credenziali	
  di	
  default?
                      Sono	
  abbastanza	
  complesse?
                 Hanno	
  una	
  durata	
  minima,	
  massima?
     Si	
  può	
  inserire	
  la	
  stessa	
  password	
  ad	
  ogni	
  cambio?
“	
  Conosco	
  solo	
  quello	
  che	
  devo	
  sapere”	
  –	
  Rama	
  (The	
  Matrix:	
  RevoluJons)

                    AUTORIZZAZIONE	
  (AZ)
Authoriza;on	
  Bypass	
  (horizontal/ver;cal),	
  Path	
  Traversal



Au   Id        Re        Su          Ct        NR         Cf         Pr          It   Al


 L’autorizzazione	
  su	
  Risorse	
  (file/servizi/pagine/
                             da;)
                        E’	
  implementata	
  lato	
  client?
                               E’	
  sempre	
  verificata?
      Sono	
  proteDe	
  anche	
  le	
  poliJche	
  di	
  autorizzazione?
                                Si	
  può	
  bypassare?
      Le	
  risorse	
  vengono	
  trasmesse	
  su	
  un	
  canale	
  sicuro?
                    ...sempre	
  errori	
  e	
  tracciatura
“sa	
  dirmi	
  cosa	
  darebbe	
  pur	
  di	
  mantenere	
  viva	
  tale	
  interazione?”	
  –	
  Rama	
  
                                 (The	
  Matrix:	
  RevoluJons)

       SESSION	
  MANAGEMENT	
  (S.M.)
Session	
  Fixa;on,	
  Session	
  Hijacking/Cookie	
  Stealing,	
  Session	
  ID	
  Analysis	
  (Crypto,	
  
                                                Sta;s;cal)


Au           Id          Re           Su           Ct         NR           Cf          Pr            It             Al



                                La	
  sessione	
  “di	
  per	
  se”

      L’applicazione	
  verifica	
  che	
  ci	
  sia	
  una	
  sessione	
  aXva?
              E’	
  possibile	
  eseguire	
  aDacchi	
  di	
  CSRF?
           Sono	
  permesse	
  sessioni	
  contemporanee?
                         Sessione	
  legata	
  all’IP/UA
         Viene	
  distruDa	
  per	
  Jmeout	
  relaJvo	
  e	
  assoluto
                      ...sempre	
  errori	
  e	
  tracciatura
Session	
  Fixa;on,	
  Session	
  Hijacking/Cookie	
  Stealing,	
  Session	
  ID	
  Analysis	
  (Crypto,	
  
                                                Sta;s;cal)


Au           Id          Re           Su           Ct         NR           Cf          Pr            It             Al



                       Iden;fica;vo	
  di	
  Sessione	
  (SID)

               E’	
  abbastanza	
  complesso
 Viene	
  cambiato	
  dopo	
  gli	
  evenJ	
  di	
  autenJcazione	
  
Viene	
  mostrato	
  dove	
  non	
  streDamente	
  necessario?	
  
                     (es.	
  GET,	
  Log,	
  Errori)
Session	
  Fixa;on,	
  Session	
  Hijacking/Cookie	
  Stealing,	
  Session	
  ID	
  Analysis	
  (Crypto,	
  
                                                Sta;s;cal)


Au           Id          Re           Su           Ct         NR           Cf          Pr            It             Al



                                                  Cookie

                  ADribuJ	
  impostaJ
 HDponly,	
  secure,	
  path,	
  domain,	
  expires/max-­‐age
      ProteDo	
  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	
  func;onality,	
  Insufficient	
  Process	
  Valida;on



Au       Id          Re          Su           Ct        NR          Cf          Pr           It         Al



                La	
  logica	
  “di	
  per	
  se”	
  (limi;/flussi)

                   i	
  flussi	
  “step”	
  sono	
  verificaJ
                  sono	
  sempre	
  verificaJ	
  i	
  limiJ?
         sono	
  esposJ	
  parametri	
  sensibili	
  lato	
  client?
                          ...sempre	
  errori	
  e	
  tracciatura
“never	
  trust	
  the	
  user	
  input,	
  output	
  too”

DATA	
  VALIDATION	
  (INPUT/OUTPUT)
Injec;on,	
  Cross	
  Site	
  Scrip;ng,	
  HTTP	
  Request/Response	
  Smuggling/Spliqng



Au       Id         Re         Su         Ct        NR         Cf         Pr          It        Al



                   La	
  Data	
  Valida;on	
  “di	
  per	
  se”

       Implementata	
  lato	
  server	
  e	
  lato	
  client,	
  se	
  
                               necessario*
       Errori	
  GesJJ	
  e	
  operazioni	
  loggate	
  (EHAL*)
                                Resiliente
Injec;on,	
  Overflow,	
  Cross	
  Site	
  Scrip;ng,	
  HTTP	
  Request/Response	
  Smuggling/Spliqng



Au        Id         Re         Su         Ct        NR         Cf         Pr          It        Al



        Da;	
  e	
  File	
  invia;	
  da	
  e	
  verso	
  l’applicazione

  Si	
  può	
  fare	
  qualche	
  cosa	
  con	
  i	
  parametri	
  desJnaJ	
  ad	
  
            intepreJ	
  (SQL,	
  XML,	
  Xpath,	
  Xquery,	
  HTML)
        ...e	
  per	
  parametri	
  usaJ	
  per	
  calcoli	
  od	
  operazioni	
  
                                       (Overflow)
...e	
  per	
  parametri	
  che	
  uJlizzano	
  URL	
  	
  (Redirect/Iframe)
 ..e	
  per	
  i	
  file	
  (nome,	
  estensione,	
  contenuto	
  e	
  anJvirus)
“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

 Sono	
  proteX	
  tuX	
  i	
  daJ	
  sensibili	
  (credenziali,	
  id	
  di	
  
          sessione,	
  cookie,	
  daJ	
  degli	
  utenJ…)?
                     ...sempre	
  errori	
  e	
  tracciatura
Eavesdropping



Au   Id   Re       Su       Ct      NR        Cf      Pr   It   Al



                        SSL	
  e	
  cifrari

               Evitare	
  Protocolli	
  insicuri
               UJlizzare	
  solo	
  cifrari	
  forJ
Eavesdropping



Au   Id     Re     Su     Ct    NR      Cf   Pr      It   Al



                        Cer;fica;

            FirmaJ	
  da	
  enJtà	
  riconosciute
                  In	
  corso	
  di	
  validità
          Devono	
  corrispondere	
  all’indirizzo
“Avrebbero	
  potuto	
  analizzare	
  e	
  meDere	
  su	
  carta,	
  nei	
  minimi	
  parJcolari,	
  
tuDo	
  quello	
  che	
  s'era	
  faDo,	
  s'era	
  deDo	
  e	
  s'era	
  pensato”	
  –	
  Winston	
  Smith	
  
                                                   (1984)

    ERROR	
  HANDLING	
  AND	
  LOGGING
Non	
  Repudia;on,	
  Log	
  AQacks



Au     Id      Re      Su         Ct       NR          Cf    Pr   It   Al



                                   I	
  Log

 Devono	
  contenere	
  informazioni	
  uJli	
  a	
  tracciare	
  le	
  
             richieste	
  (sia	
  fallite	
  che	
  non)
    Vanno	
  verificaJ	
  i	
  daJ	
  inseriJ	
  nei	
  log	
  (DV*)
                          Resilienza
               Errori	
  GesJJ	
  e	
  LoggaJ	
  (!)
Non	
  Repudia;on,	
  Log	
  AQacks



Au   Id   Re    Su          Ct       NR          Cf    Pr   It   Al



                            Errori

           Sempre	
  generici	
  lato	
  client
             DeDagliaJ	
  lato	
  server
checklist	
  
    e	
  
cheatsheet
InformaNon	
           ConfiguraNon	
          Secure	
  
              Gathering             Management          Transmission




        Data	
                                  Session	
  
                        AuthenNcaNon                            AuthorizaNon
      ValidaNon                               Management




               Denial	
  of	
  
                                    Business	
  Logic   Cryptography
                Service




                                                  Risky	
  
                              HTML	
  5
                                               FuncNonality




    hDps://www.owasp.org/index.php/
Web_ApplicaJon_Security_TesJng_Cheat_Sheet
script	
  e	
  
automazione
Security	
  ReporJng	
  Framework
“vincere	
  le	
  baDaglie	
  e	
  raggiungere	
  i	
  propri	
  obbieXvi	
  militari,	
  ma	
  
trascurare	
  di	
  sfruDarne	
  i	
  risultaJ,	
  è	
  un	
  faDo	
  molto	
  negaJvo”	
  -­‐	
  Sun	
  Tzu	
  
                                      (L’arte	
  della	
  guerra)

             PRESENTARE	
  I	
  RISULTATI
“la	
  misurazione,	
  la	
  valutazione,	
  il	
  raffronto	
  e	
  la	
  viDoria”	
  -­‐	
  Sun	
  Tzu	
  (L’arte	
  
                                       della	
  guerra)

                        LA	
  METRICA	
  CVSS	
  V2
metriche                   metriche	
  di	
  
   metriche	
  di	
  base
                                    	
  temporali                  ambiente
   VeQore                             SfruQabilità             Danno	
  
                  Riservatezza                                               Req.Riservatezza
                                                             Collaterale


Auten;cazione       Integrità           Rientro             Distribuzione      Req.Integrità


 Complessità      Disponibilità        Confidenza             Complessità      Req.Disponibilità




                gli	
  elemenJ	
  che	
  compongono	
  il	
  CVSS	
  v2
il	
  calcolatore	
  CVSS	
  v2	
  del	
  NIST
una	
  SQL	
  InjecJon
...da	
  non	
  auten;ca;,	
  facile
10.0
CVSS	
  v2	
  -­‐	
  10.0
...ma	
  se	
  è	
  da	
  auten;ca;?
9.0
CVSS	
  v2	
  -­‐	
  9.0
...e	
  se	
  diventa	
  più	
  difficile?
7.1
CVSS	
  v2	
  -­‐	
  7.1
ImpaQo        CVSS	
  v2          Priorità	
  di	
  Rientro         Patch	
  SLA

                                                                   da	
  eseguire	
  a	
  
  Basso      0.00	
  -­‐	
  1.99             P5                   discrezione	
  dei	
  
                                                                     preposJ
                                                                      secondo	
  
  Medio      0.00	
  -­‐	
  2.00             P4                    pianificazione	
  
                                                                     ordinaria

                                                               massimo	
  prossime	
  4	
  
   Alto      0.00	
  -­‐	
  2.01             P3
                                                                   seXmane

                                                               massimo	
  prossime	
  2	
  
Importante   0.00	
  -­‐	
  2.02             P2
                                                                   seXmane

                                                                nell’immediato	
  o	
  
  Cri;co     0.00	
  -­‐	
  2.03             P1
                                                                entro	
  1	
  seXmana
“vincere	
  le	
  baDaglie	
  e	
  raggiungere	
  i	
  propri	
  obbieXvi	
  militari,	
  ma	
  
trascurare	
  di	
  sfruDarne	
  i	
  risultaJ,	
  è	
  un	
  faDo	
  molto	
  negaJvo”	
  -­‐	
  Sun	
  Tzu	
  
                                      (L’arte	
  della	
  guerra)

                             UN	
  RISULTATO
SQL	
  Injec;on
veDore	
  di	
  aDacco/richiesta	
  e	
  screenshot/risposta
+
Suggerimen;
mappature	
  e	
  
 riferimen;
Scoring
      CVSS	
  v2:	
  10.0
SfruDamento:	
  Facile	
  (10)
    Rientro:	
  Basso	
  (1)
       QuanJtà:	
  4
Mappature	
  e	
  Classificazioni
 OWASP	
  TesJng	
  Guide:	
  OWASP-­‐DV-­‐005
OWASP	
  Category:	
  Data	
  Valida;on	
  Tes;ng
                OWASP	
  ASVS:	
  V6.4
    OWASP	
  TOP	
  10	
  2010:	
  2010-­‐A1
    OWASP	
  TOP	
  10	
  2007:	
  2007-­‐A2
 WASC	
  Threat	
  ClassificaJon	
  v2:	
  WASC-­‐19
                  PCI-­‐DSS:	
  6.5.1
                  CWE:	
  CWE-­‐89
  Area	
  di	
  Analisi:	
  Validazione	
  dei	
  da;
          Tipologia:	
  Development
Riferimen;
             OWASP
              ASVS
              WASC
              MITRE
                 CVE
...note	
  per	
  la	
  prevenzione
hEp://onofri.org/
hEp://twiEer.com/simoneonofri
hEp://it.linkedin.com/simoneonofri



GRAZIE                               ;-­‐)
hEp://onofri.org/
hEp://twiEer.com/simoneonofri
hEp://it.linkedin.com/simoneonofri



DOMANDE
                                     ?

More Related Content

Similar to Sicurezza delle applicazioni web eseguire web application penetration test con owasp asvs owasp testing guide e osstmm e la pci dss

Progetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web ApplicationsProgetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web ApplicationsMarco Morana
 
Come mettere in sicurezza le applicazioni legacy, un approccio pragmatico
Come mettere in sicurezza le applicazioni legacy, un approccio pragmaticoCome mettere in sicurezza le applicazioni legacy, un approccio pragmatico
Come mettere in sicurezza le applicazioni legacy, un approccio pragmaticoAntonio Parata
 
Sicurezza della virtualizzazione - SMAU 2009
Sicurezza della virtualizzazione - SMAU 2009Sicurezza della virtualizzazione - SMAU 2009
Sicurezza della virtualizzazione - SMAU 2009Claudio Criscione
 
Sicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla PraticaSicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla PraticaPaolo Perego
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
Intrusion Detection Systems
Intrusion Detection SystemsIntrusion Detection Systems
Intrusion Detection Systemsjekil
 
Smau Padova - Enrico Tasquier
Smau Padova -  Enrico TasquierSmau Padova -  Enrico Tasquier
Smau Padova - Enrico TasquierSMAU
 
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
 
CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...
CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...
CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...DotNetMarche
 
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastruttureL'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastruttureMarcoMarinello2
 
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
 
CCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White HatCCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White Hatwalk2talk srl
 
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Studio Fiorenzi Security & Forensics
 
Bruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M ForumBruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M ForumGoWireless
 
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Antonio Musarra
 
Sicurezza e resilienza di Architetture a Containers
Sicurezza e resilienza di Architetture a ContainersSicurezza e resilienza di Architetture a Containers
Sicurezza e resilienza di Architetture a ContainersGianluca Magalotti
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 

Similar to Sicurezza delle applicazioni web eseguire web application penetration test con owasp asvs owasp testing guide e osstmm e la pci dss (20)

Progetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web ApplicationsProgetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web Applications
 
Come mettere in sicurezza le applicazioni legacy, un approccio pragmatico
Come mettere in sicurezza le applicazioni legacy, un approccio pragmaticoCome mettere in sicurezza le applicazioni legacy, un approccio pragmatico
Come mettere in sicurezza le applicazioni legacy, un approccio pragmatico
 
Sicurezza della virtualizzazione - SMAU 2009
Sicurezza della virtualizzazione - SMAU 2009Sicurezza della virtualizzazione - SMAU 2009
Sicurezza della virtualizzazione - SMAU 2009
 
Sicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla PraticaSicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla Pratica
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
Intrusion Detection Systems
Intrusion Detection SystemsIntrusion Detection Systems
Intrusion Detection Systems
 
Smau Padova - Enrico Tasquier
Smau Padova -  Enrico TasquierSmau Padova -  Enrico Tasquier
Smau Padova - Enrico Tasquier
 
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
 
CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...
CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...
CQRS ed Event Sourcing su Windows Azure: Applicazioni Distribuite, Scalabilit...
 
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastruttureL'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
 
jValidator
jValidatorjValidator
jValidator
 
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
 
Nss 2007
Nss 2007Nss 2007
Nss 2007
 
CCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White HatCCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White Hat
 
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
 
Bruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M ForumBruno Carbone - Presentazione M2M Forum
Bruno Carbone - Presentazione M2M Forum
 
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
 
Sicurezza e resilienza di Architetture a Containers
Sicurezza e resilienza di Architetture a ContainersSicurezza e resilienza di Architetture a Containers
Sicurezza e resilienza di Architetture a Containers
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 

More from 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
 
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
 
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
 
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
 
Penetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferPenetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferSimone 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
 
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
 

More from Simone Onofri (20)

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
 
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
 
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...
 
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
 
Penetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferPenetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network Sniffer
 
ORM Injection
ORM InjectionORM Injection
ORM Injection
 
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
 
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
 

Sicurezza delle applicazioni web eseguire web application penetration test con owasp asvs owasp testing guide e osstmm e la pci dss

  • 1. Web Application Security Eseguire Web Application Penetration Test con OWASP e OSSTMM in maniera efficace Simone Onofri
  • 2. “Conosci  il  tuo  nemico,  conosci  te  stesso”  –  Sun  Tzu  (L’arte  della  guerra) INTRODUZIONE
  • 3. INTERNATIONAL  WEBMASTERS  ASSOCIATION hBp://www.iwa.it   Partecipazioni internazionali Prima  associazione  al  mondo  (dal  1996)  che   raggruppa  chi  lavora  nel  Web,  sia  nel  settore   pubblico  che  privato Obiettivo  di  IWA  è  creare  rete  tra  i  soci,  partecipare   all'evoluzione  della  rete  e  divulgare  conoscenza   Partecipazioni nazionali tramite  i  soci  con  eventi  ed  iniziative media  partner 3
  • 4. INTERNATIONAL  WEBMASTERS  ASSOCIATION hBp://www.iwa.it   Perché  associarsi media  partner 1 rete  tra  professionis; 2 partecipazione  a  gruppi  di  lavoro  anche   internazionali 3 convenzioni  per  tutela  professionalità (esempio:  studi  legali) quota  speciale  SMAU:  euro  50,00  presso  stand  IWA 4
  • 7. “In  breve,  questo  è  il  metodo  per  organizzare  le  operazioni  militari”  –  Sun   Tzu  (L’arte  della  guerra) ESEGUIRE  I  TEST
  • 8.
  • 9. “Solo  valutando  tuDo  esaDamente  si  può  vincere”  –  Sun  Tzu  (L’arte  della   guerra) OWASP  -­‐  TG  E  ASVS
  • 10. ASVS  V1    Security  Architecture ASVS  V2  Authen;ca;on  IG  Informa;on  Gathering ASVS  V3  Session  Management CM  Configura;on  Management ASVS  V4  Access  Control AT  Authen;ca;on ASVS  V5  Input  Valida;on SM  Session  Management ASVS  V6  Output  Encoding/Escaping AZ  Authoriza;on ASVS  V7  Cryptography BL  Business  Logic ASVS  V8  Error  Handling  and  Logging DV  Data  Valida;on ASVS  V9  Data  Protec;on DS  Denial  of  Service ASVS  V10    Comunica;on  Security WS      Web  Service ASVS  V11    HTTP  Security AJ  Ajax ASVS  V12    Security  Configura;on ASVS  V13    Malicious  Code  Search ASVS  V14  Internal  Security ASVS  e  TG  a  confronto
  • 11. “In  breve,  questo  è  il  metodo  per  organizzare  le  operazioni  militari”  –  Sun   Tzu  (L’arte  della  guerra) PCI  DSS
  • 12. Requisito  6 Sviluppare  e  ges@re  sistemi  e   applicazioni  proteEe
  • 13. 6.1  Assicurare  che  tuG  i  componen@   di  sistema  ed  il  soIware    siano  proteG   dalle  vulnerabilità  note  mediante   l'installazione  delle  più  recen@  patch  di  sicurezza   dei  fornitori.   Installare  patch  di  sicurezza  cri@che   entro  un  mese  dal  rilascio
  • 14. 6.2  Stabilire  un  processo  per   iden@ficare  ed  assegnare  una   classificazione  di  rischio  alle  vulnerabilità  della   sicurezza    recentemente  rilevate.    
  • 15. 6.3  Sviluppare  applicazioni  soIware   in  conformità  agli  standard  PCI  DSS  e  in  base  alle   pra@che  di  seEore  consigliate,   quindi  incorporare  la  protezione  delle  informazioni     nell'intero  ciclo  di  sviluppo  del  soIware
  • 16. 6.4  Seguire  i  processi  e  le  procedure   di  controllo  e  per  tuEe  le  modifiche  apportate  ai   componen@  di  sistema.
  • 17. 6.5  Sviluppare  applicazioni  in  base  a  linee  guida  di   scriEura  di  codice  sicura.  Prevenire  possibili   vulnerabilità  del  codice  comuni  nei   processi  di  sviluppo  del  soIware.
  • 20. Transport Layer   Protec;on
  • 22. XSS
  • 24. CSRF
  • 25. ...tuQe  le   vulnerabilità   indicate  con  CVSS   v2  >  4
  • 26. “In  breve,  questo  è  il  metodo  per  organizzare  le  operazioni  militari”  –  Sun   Tzu  (L’arte  della  guerra) ISECOM  -­‐  OSSTMM
  • 27. Visibility operaJons
  • 31. Vulnerability! Visibility/trust  -­‐  limitaJon
  • 32. Authen;ca;on controls  –  class  a  (interacJve)
  • 33. Indemnifica;on controls  –  class  a  (interacJve)
  • 34. Resilience controls  –  class  a  (interacJve)
  • 35. Subjuga;on controls  –  class  a  (interacJve)
  • 36. Con;nuity controls  –  class  a  (interacJve)
  • 37. Weakness! limitaJon  –  class  a  (interacJve)
  • 38. Non-­‐Repudia;on controls  –  class  b  (process)
  • 39. Confiden;ality controls  –  class  b  (process)
  • 42. Alarm controls  –  class  b  (process)
  • 44. Minacce  e  AQacchi Web  Server Applica;on  Server Database   server S.M. D.V.  (I/O) HTTP/CM T.L.P D.A. B.L. AT Data AZ E.H.A.L. E.H.A.L. E.H.A.L Host/CM Host  /  CM Host/CM Beni StruDura  Jpo  di  un’applicazione  MVC
  • 45. “Questo  è  StruDura”  –  Morpheus  (The  Matrix) HOST  E  INFRASTRUTTURA
  • 46. Known  Vulnerabilites,  Denial  of  Service Au Id Re Su Ct NR Cf Pr It Al Sistemi  e  InfrastruQura I  sistemi  sono  aggiornaJ  all’ulJma  versione? Configurazioni  sicure? Rilascio  di  infomazioni? Sono  in  alta  affidabilità/bilanciaJ? ProteX  nella  comunicazione?
  • 47. “Sì,  ma  tu  chi  sei?”  –  Neo  a  Seraph  (The  Matrix:  Reloaded) AUTENTICAZIONE  (AT)
  • 48. Authoriza;on  Bypass,  Brute  Force,  Guessable  Account,  Default  User  and  Password,   User  Enumera;on,  Browser  Cache  Management Au Id Re Su Ct NR Cf Pr It Al L’auten;cazione  “di  per  se” E’  implementata  lato  server? E’  sempre  verificata  dove  necessario? Si  può  bypassare? Il  canale  di  comunicazione  è  proteDo? ...sempre  errori  e  tracciatura
  • 49. Authoriza;on  Bypass,  Brute  Force,  Guessable  Account,  Default  User  and  Password,   User  Enumera;on,  Browser  Cache  Management Au Id Re Su Ct NR Cf Pr It Al Form  di  auten;cazione  e  di  altre  operazioni  sulle   credenziali   I  daJ  sono  proteX  lato  client? E’  possibile  bloccare  aDacchi  di  brute  force? Il  canale  di  comunicazione  è  proteDo? Sono  forniJ  solo  errori  generici? ...sempre  errori  e  tracciatura
  • 50. una  pagina  di  login
  • 51. # curl -kis "http://testasp.vulnweb.com/Login.asp" HTTP/1.1 200 OK Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Content-Length: 2304 Content-Type: text/html Set-Cookie: ASPSESSIONIDSSSBTQRR=OHDIBNGDFNFODKIOAIOHOBHE; path=/ Cache-control: private
  • 52. # curl -kis "http://testasp.vulnweb.com/Login.asp" HTTP/1.1 200 OK Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Content-Length: 2304 Content-Type: text/html Set-Cookie: ASPSESSIONIDSSSBTQRR=OHDIBNGDFNFODKIOAIOHOBHE; path=/ Cache-control: private
  • 53. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><!-- InstanceBegin template="/Templates/MainTemplate.dwt.asp" codeOutsideHTMLIsLocked="false" --> [...] <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> [...] - <a href="./Login.asp?RetURL=%2FLogin%2Easp%3F" class="menu">login</a> - <a href="./Register.asp?RetURL=%2FLogin %2Easp%3F" class="menu">register</a> </div></td> </tr> <tr> <td colspan="2"> <form action="" method="POST"> <table width="350" border="0" align="center" cellpadding="0" cellspacing="5" class="FramedForm"> <tr> <td>Username:</td> <td align="right"><input name="tfUName" type="text" class="Login" id="tfUName"></td> </tr> <tr> <td>Password:</td> <td align="right"><input name="tfUPass" type="password" class="Login" id="tfUPass"></td> </tr> <tr> <td>&nbsp;</td>
  • 54. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><!-- InstanceBegin template="/Templates/MainTemplate.dwt.asp" codeOutsideHTMLIsLocked="false" --> [...] <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> [...] - <a href="./Login.asp?RetURL=%2FLogin%2Easp%3F" class="menu">login</a> - <a href="./Register.asp?RetURL=%2FLogin %2Easp%3F" class="menu">register</a> </div></td> </tr> <tr> <td colspan="2"> <form action="" method="POST"> <table width="350" border="0" align="center" cellpadding="0" cellspacing="5" class="FramedForm"> <tr> <td>Username:</td> <td align="right"><input name="tfUName" type="text" class="Login" id="tfUName"></td> </tr> <tr> <td>Password:</td> <td align="right"><input name="tfUPass" type="password" class="Login" id="tfUPass"></td> </tr> <tr> <td>&nbsp;</td>
  • 55. Authoriza;on  Bypass,  Brute  Force,  Guessable  Account,  Default  User  and  Password,   User  Enumera;on,  Browser  Cache  Management Au Id Re Su Ct NR Cf Pr It Al Credenziali Sono  proteDe  quando  memorizzate? Vengono  bloccate  per  un  numero  di  tentaJvi? Sono  presenJ  credenziali  di  default? Sono  abbastanza  complesse? Hanno  una  durata  minima,  massima? Si  può  inserire  la  stessa  password  ad  ogni  cambio?
  • 56. “  Conosco  solo  quello  che  devo  sapere”  –  Rama  (The  Matrix:  RevoluJons) AUTORIZZAZIONE  (AZ)
  • 57. Authoriza;on  Bypass  (horizontal/ver;cal),  Path  Traversal Au Id Re Su Ct NR Cf Pr It Al L’autorizzazione  su  Risorse  (file/servizi/pagine/ da;) E’  implementata  lato  client? E’  sempre  verificata? Sono  proteDe  anche  le  poliJche  di  autorizzazione? Si  può  bypassare? Le  risorse  vengono  trasmesse  su  un  canale  sicuro? ...sempre  errori  e  tracciatura
  • 58. “sa  dirmi  cosa  darebbe  pur  di  mantenere  viva  tale  interazione?”  –  Rama   (The  Matrix:  RevoluJons) SESSION  MANAGEMENT  (S.M.)
  • 59. Session  Fixa;on,  Session  Hijacking/Cookie  Stealing,  Session  ID  Analysis  (Crypto,   Sta;s;cal) Au Id Re Su Ct NR Cf Pr It Al La  sessione  “di  per  se” L’applicazione  verifica  che  ci  sia  una  sessione  aXva? E’  possibile  eseguire  aDacchi  di  CSRF? Sono  permesse  sessioni  contemporanee? Sessione  legata  all’IP/UA Viene  distruDa  per  Jmeout  relaJvo  e  assoluto ...sempre  errori  e  tracciatura
  • 60. Session  Fixa;on,  Session  Hijacking/Cookie  Stealing,  Session  ID  Analysis  (Crypto,   Sta;s;cal) Au Id Re Su Ct NR Cf Pr It Al Iden;fica;vo  di  Sessione  (SID) E’  abbastanza  complesso Viene  cambiato  dopo  gli  evenJ  di  autenJcazione   Viene  mostrato  dove  non  streDamente  necessario?   (es.  GET,  Log,  Errori)
  • 61. Session  Fixa;on,  Session  Hijacking/Cookie  Stealing,  Session  ID  Analysis  (Crypto,   Sta;s;cal) Au Id Re Su Ct NR Cf Pr It Al Cookie ADribuJ  impostaJ HDponly,  secure,  path,  domain,  expires/max-­‐age ProteDo  nella  comunicazione  (TLP*)
  • 62. “Quasi  inconsciamente,  scrisse  con  le  dita  sul  tavolo  coperto  di  polvere:   2+2  =  5”  –  Winston  Smith  (1984) BUSINESS  LOGIC  (B.L.)
  • 63. Business  Logic  Flow,  Abuse  of  func;onality,  Insufficient  Process  Valida;on Au Id Re Su Ct NR Cf Pr It Al La  logica  “di  per  se”  (limi;/flussi) i  flussi  “step”  sono  verificaJ sono  sempre  verificaJ  i  limiJ? sono  esposJ  parametri  sensibili  lato  client? ...sempre  errori  e  tracciatura
  • 64. “never  trust  the  user  input,  output  too” DATA  VALIDATION  (INPUT/OUTPUT)
  • 65. Injec;on,  Cross  Site  Scrip;ng,  HTTP  Request/Response  Smuggling/Spliqng Au Id Re Su Ct NR Cf Pr It Al La  Data  Valida;on  “di  per  se” Implementata  lato  server  e  lato  client,  se   necessario* Errori  GesJJ  e  operazioni  loggate  (EHAL*) Resiliente
  • 66. Injec;on,  Overflow,  Cross  Site  Scrip;ng,  HTTP  Request/Response  Smuggling/Spliqng Au Id Re Su Ct NR Cf Pr It Al Da;  e  File  invia;  da  e  verso  l’applicazione Si  può  fare  qualche  cosa  con  i  parametri  desJnaJ  ad   intepreJ  (SQL,  XML,  Xpath,  Xquery,  HTML) ...e  per  parametri  usaJ  per  calcoli  od  operazioni   (Overflow) ...e  per  parametri  che  uJlizzano  URL    (Redirect/Iframe) ..e  per  i  file  (nome,  estensione,  contenuto  e  anJvirus)
  • 67. “Sei  sicuro  che  questa  linea  è  sicura?”  –  Trinity  (The  Matrix) TRANSPORT  LAYER  PROTECTION
  • 68. Eavesdropping Au Id Re Su Ct NR Cf Pr It Al La  comunicazione Sono  proteX  tuX  i  daJ  sensibili  (credenziali,  id  di   sessione,  cookie,  daJ  degli  utenJ…)? ...sempre  errori  e  tracciatura
  • 69. Eavesdropping Au Id Re Su Ct NR Cf Pr It Al SSL  e  cifrari Evitare  Protocolli  insicuri UJlizzare  solo  cifrari  forJ
  • 70. Eavesdropping Au Id Re Su Ct NR Cf Pr It Al Cer;fica; FirmaJ  da  enJtà  riconosciute In  corso  di  validità Devono  corrispondere  all’indirizzo
  • 71. “Avrebbero  potuto  analizzare  e  meDere  su  carta,  nei  minimi  parJcolari,   tuDo  quello  che  s'era  faDo,  s'era  deDo  e  s'era  pensato”  –  Winston  Smith   (1984) ERROR  HANDLING  AND  LOGGING
  • 72. Non  Repudia;on,  Log  AQacks Au Id Re Su Ct NR Cf Pr It Al I  Log Devono  contenere  informazioni  uJli  a  tracciare  le   richieste  (sia  fallite  che  non) Vanno  verificaJ  i  daJ  inseriJ  nei  log  (DV*) Resilienza Errori  GesJJ  e  LoggaJ  (!)
  • 73. Non  Repudia;on,  Log  AQacks Au Id Re Su Ct NR Cf Pr It Al Errori Sempre  generici  lato  client DeDagliaJ  lato  server
  • 74.
  • 75. checklist   e   cheatsheet
  • 76. InformaNon   ConfiguraNon   Secure   Gathering Management Transmission Data   Session   AuthenNcaNon AuthorizaNon ValidaNon Management Denial  of   Business  Logic Cryptography Service Risky   HTML  5 FuncNonality hDps://www.owasp.org/index.php/ Web_ApplicaJon_Security_TesJng_Cheat_Sheet
  • 78.
  • 80. “vincere  le  baDaglie  e  raggiungere  i  propri  obbieXvi  militari,  ma   trascurare  di  sfruDarne  i  risultaJ,  è  un  faDo  molto  negaJvo”  -­‐  Sun  Tzu   (L’arte  della  guerra) PRESENTARE  I  RISULTATI
  • 81. “la  misurazione,  la  valutazione,  il  raffronto  e  la  viDoria”  -­‐  Sun  Tzu  (L’arte   della  guerra) LA  METRICA  CVSS  V2
  • 82. metriche metriche  di   metriche  di  base  temporali ambiente VeQore SfruQabilità Danno   Riservatezza Req.Riservatezza Collaterale Auten;cazione Integrità Rientro Distribuzione Req.Integrità Complessità Disponibilità Confidenza Complessità Req.Disponibilità gli  elemenJ  che  compongono  il  CVSS  v2
  • 83. il  calcolatore  CVSS  v2  del  NIST
  • 86. 10.0
  • 88. ...ma  se  è  da  auten;ca;?
  • 89. 9.0
  • 91. ...e  se  diventa  più  difficile?
  • 92. 7.1
  • 94. ImpaQo CVSS  v2 Priorità  di  Rientro Patch  SLA da  eseguire  a   Basso 0.00  -­‐  1.99 P5 discrezione  dei   preposJ secondo   Medio 0.00  -­‐  2.00 P4 pianificazione   ordinaria massimo  prossime  4   Alto 0.00  -­‐  2.01 P3 seXmane massimo  prossime  2   Importante 0.00  -­‐  2.02 P2 seXmane nell’immediato  o   Cri;co 0.00  -­‐  2.03 P1 entro  1  seXmana
  • 95. “vincere  le  baDaglie  e  raggiungere  i  propri  obbieXvi  militari,  ma   trascurare  di  sfruDarne  i  risultaJ,  è  un  faDo  molto  negaJvo”  -­‐  Sun  Tzu   (L’arte  della  guerra) UN  RISULTATO
  • 97. veDore  di  aDacco/richiesta  e  screenshot/risposta
  • 99. mappature  e   riferimen;
  • 100. Scoring CVSS  v2:  10.0 SfruDamento:  Facile  (10) Rientro:  Basso  (1) QuanJtà:  4
  • 101. Mappature  e  Classificazioni OWASP  TesJng  Guide:  OWASP-­‐DV-­‐005 OWASP  Category:  Data  Valida;on  Tes;ng OWASP  ASVS:  V6.4 OWASP  TOP  10  2010:  2010-­‐A1 OWASP  TOP  10  2007:  2007-­‐A2 WASC  Threat  ClassificaJon  v2:  WASC-­‐19 PCI-­‐DSS:  6.5.1 CWE:  CWE-­‐89 Area  di  Analisi:  Validazione  dei  da; Tipologia:  Development
  • 102. Riferimen; OWASP ASVS WASC MITRE CVE ...note  per  la  prevenzione