Progetti Open Source Per La Sicurezza Delle Web Applications · I problemi della sicurezza delle...
Transcript of Progetti Open Source Per La Sicurezza Delle Web Applications · I problemi della sicurezza delle...
Copyright © 2008 - The OWASP FoundationPermission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License.
The OWASP Foundation
OWASP
http://www.owasp.org
Progetti Open Source Per LaSicurezza Delle Web Applications
Marco MoranaMercoledi 5 Novembre 2008Giornata Della SicurezzaInformatica In Sardegna
OWASP 2
Agenda
I problemi della sicurezza delle webapplications
Cosa e’ OWASP e cosa puo offrire Sicurezza Dell Web Applications, Dove E Come
Iniziare? Utilizzo Di Progetti E Strumenti OWASP Per lo
Sviluppo Di Applicazioni Sicure Come Participare? Domande?
OWASP
Problema #1: Le applicazioni web sono a rischio
Secondo un recente report (Verizon/2008), leintrusioni via web applications sono fra le piufrequenti
OWASP
Problema #2: Le applicazioni sono la principalecausa delle vulnerabilta’
92 % delle vulnerabilita’ si trova al livello delleapplicazioni non della rete (NIST)
OWASP
Problema #3: La gestione delle vulnerabilita’delle web applications e’ costosa
“Costa 100 volte di meno rimediare unavulnerabilita’ quando il software e’ in fase diprogetto piuttosto che quando e’ in produzione(IBM Systems Sciences Institute)
OWASP
Problema #4: Non rimediare le vulnerabilita’dei siti per servizi on-line web espone l’aziendea rischi tangibili e a danni quantificabili
OWASP 10
Che Cosa e’ OWASPOpen Web Application Security Project
Organizzazione internazionale a non scopo di lucro dedicataa promuovere lo sviluppo di software sicuro
La missione e’ rendere la sicurezza visible attraverso…Documentazione
Top Ten, Dev. Guide, Design Guide, Testing Guide, …
Software WebGoat, WebScarab, Site Generator, Report Generator, ESAPI,
CSRF Guard, CSRF Tester, Stinger, Pantera, …
Gruppi Di Lavoro Browser Security, Industry Sectors, Access Control, Education, Mobile
Phone Security, Preventive Security, OWASP SDL..Coinvolgimento con comunita’/educazione
Local Chapters, Conferences, Tutorials, Mailing Lists
OWASP
Come OWASP Crea Knowledge?•3,913 articoli•427 presentazioni•200 documenti inaggironamento•179 liste emails•180 blogs monitorati•31 progetti didocumentazione•12 borse/grants persviluppo
OWASP
OWASP Centro Di Conoscenze (Knowledge Base)
Core Application Security
Knowledge Base
Acquiring andBuildingSecure
Applications
VerifyingApplication
Security
ManagingApplication
Security
ApplicationSecurity
Tools
AppSecEducation and
CBT
Research toSecure New
Technologies PrinciplesThreat Agents,
Attacks,Vulnerabilities,Impacts, and
CountermeasuresOWASP Foundation 501c3
OWASP Community Platform(wiki, forums, mailing lists)
Pro
ject
s
Cha
pter
s
App
Sec
Con
fere
nces
Guide to BuildingSecure Web
Applications andWeb Services
Guide to ApplicationSecurity Testing
Guide to ApplicationSecurity Code
Review
Tools forScanning, Testing,
Simulating, andReporting Web
ApplicationSecurity Issues
Web Based LearningEnvironment and
Guide for LearningApplication Security
Guidance andTools for
Measuring andManaging
ApplicationSecurity
Research Projectsto Figure Out Howto Secure the Use
of NewTechnologies
OWASP
Come Approcciare la sicurezza del software?
Sicurezza viaapplicazione dipatches
Identificazione delle cause dellevulnerabilita’
Rimediazione dei sintomi
Approccio reattivorisposta agliincidenti
Approccio pro-attivo Analisi e Gestione dei rischi
Software o Applicazioni
Sicurezza del software e dei processi
OWASP
Approccio Tattico: Trovare le Vulnerabilita’
Scanning DellaScanning DellaApplicazioneApplicazione Via ViaPenetrationPenetrationTesting ToolsTesting Tools
Scanning DelScanning DelCodiceCodice Via Via
Static CodeStatic CodeAnalysis ToolsAnalysis Tools
Test Test DiDiPenetrazionePenetrazioneManualeManuale
RevisioneRevisione Del DelCodiceCodice
ManualeManuale
OWASP
Pre-requsiti per la software security Processi:
SDLC sicura (e..g. CLASP)Attivita’ di modello delle minaccie e
verifica vulnerabilita (codice eapplicazioni)
Standards/TecnologieStandards per il codice sicuroPatterns per architecture sicuraStrumenti per l’analisi vulnerabilita’
Formazione/TrainingCome scrivere e produrre secure softwareAnalisi e gestione delle vulnerabilita’-
minaccie-rischi
OWASP
OWASP Nel Ciclo Di Sviluppo Del Software
Requisiti euse cases Design Test plans Codice
Verifica E Risultati Dei Test
Feedback Operativo
DocumentazioneDeiRequisitiSecurityTestingGuideOWASPT10 Guida Per I
Test
Strumentiperl’analisistaticadelcodice
GuidaPerSecurityTesteStrumentiPenTest
Modelli Delle Minaccie E Dei Rischi
Approccio Evolutivo
Guida Per LaRevisione Del Codice
Guide Per ProgettareApplicazioni Sicure
OWASP 21
Il Progetto OWASP Top 10
Top 10 Vulnerabilita’ delle Web ApplicationsLista delle prime 10 vulnerabilita’ piu ad alto rischioAggiornata ogni annoLo scopo sono le vulnerabilita’ delle applicazioni exploitable
dall’esternoPresa come riferimento dal organizzazioni USA e business:
Federal Trade Commission (US Gov) US Defense Information Systems Agency (DISA) VISA (Cardholder Information Security Program)
Un buon punto di partenza per le iniziative di application securityLa lista di organizzazioni che adottano OWASP si trova qui:
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
OWASP 22
Esempio di lista per le vulnerabilita’: OWASP Top 10
Le 10 vulnerabilita’ piu diffuse (2007)A1. Cross Site ScriptingA2. Injection FlawsA3. Malicious File ExecutionA4. Insecure Direct Object ReferenceA5. Cross Site Request ForgeryA6. Information Leakage and Improper Error HandlingA7. Broken Authentication and Session ManagementA8. Insecure Cryptographic StorageA9. Insecure CommunicationsA10. Failure to Restrict URL Accesshttps://www.owasp.org/index.php/Top_10_2007
OWASP
OWASP vs3: Derivazione della specifica:security requirements via use and misuse cases
Source: OWASP Testing Guide Vs 3 Introduction
User
Hacker /Malicious User
Brure Force
Authentication
Enter Username and
password
Validate Password
Minimum Length and
ComplexityApplication /Server
Includes
Mitigates
User Authentication
Includes
Includes
Includes
Mitigates
Threatens
Show Generic Error
Message
Includes
Includes
Lock Account After N .
Failed Login Attempts
Harverst (e.g. guess)
Valid User Accounts
Dictionary Attack
Mitigates
Mitigates
OWASP 24
Guida per la progettazione: OWASP Guide 2.0
Guida Per Sviluppare Sicure Web Applications e WebServicesConcetti e linee guida fondamentali per sviluppare
software sicuro Principi per security architecture e design Sicurezza nella SDLC (Secure Coding, Threat Modeling, Pen Test) Information security (policy, standards) Si focalizza su aspetti fondamentali di design e implementazione:
– Architettura– Autenticazione– Autorizzazione– Gestione delle web sessions– Logging e auditing degli Eventi– Validazione dei dati in input– Configurazione sicura
OWASP
Progetto OWASP Application Threat Modeling
1. Cattura dello scopo della applicazioneRequisti, Use Cases
2. Modello di architettura del SistemaModello fisico e logico, Data Flows, Trust Boundaries,
Entry/Exit Points3. Identificazione delle minaccie (Threats)
STRIDE, ASF4. Mapping delle minaccie- vulnerabilita-
contromisureThreat tree e checklists
5. Determiniazione dei rischi associati alleminaccie
Modelli di Rischio
OWASP
OWASP Application Threat Modeling (parte delprogetto Secure Coding Guide vs.3)
OWASP Application Threat Modeling https://www.owasp.org/index.php/Application_Threat_Modeling
OWASP
Progetto OWASP Secure Coding Guideline
Formalizza le “best practices” per scriveresoftware in modo sicuro
Puo’ servire come documento base per crearesecure coding standards specifici per la tuaorganizzazione/azienda
E’ scritta per essere utilizzata da softwareengineers
Puo’ essere usata per produrre una metrica evalutare la qualita’ del codice sorgente
OWASP
Progetto OWASP Testing Guide (vs 3 , 2007)
Perdita InformazioniTest Logica Di SistemaTest AuthenticationTest Session Management Test Validazione DataTesting Denial of Service Web Services TestingAjax Testing
Il maggiore contributo italiano a OWASP…
Principi Dei TestProcessi Per Il Testing Testing Per Web Applications
Black Box TestingGrey Box Testing
Analisi Rischi e ReportingAppendix: Testing ToolsAppendix: Fuzz Vectors
http://www.lulu.com/items/volume_63/4037000/4037522/1/print/OWASP_Testing_Guide_v2_for_print.doc.pdf
OWASP
Mitigazione dei rischi delle SQL injection:documentazione minaccie e contromisure
Minaccie: Accesso non autorizzato a dati, bypassdella authentication, denial of service
Contromisure: Evita la concatenazione delle stringhe nei SQL
statement (e.g. SELECT * FROM users WHEREusername)
Usa SQL parameterized queries– JAVA EE usa strongly typed “PreparedStatement”– in .NET usa “SqlCommand” e “SqlParameters”
Rimuovi caratteri “in-sicuri” dall’input:' " ` ; * % _ =&\|*?~<>^()[]{}$\n\r Usa messaggi di errore generici:
– No ai messaggi SQL exception all utente
OWASP
Esempio di procedure per il test dellevulnerabilita’ XSSDocumenta il Test Case
Test Web Page Per Login
Procedura ManualeVettori Di Attacco:
<script>alert()</script>; javascript:alert() +ADw-SCRIPT+AD4-
alert();+
Passa il test se: Unmessaggio di errore e’presentato all’ utente
Non passa: se javascript e’eseguito dal browser: alertdialog
OWASP
Strumenti OWASP Per l’ Analisi Della Security
http://www.owasp.org/index.php/Phoenix/ToolsOWASP Tools + Conosciuti
WebGoat: applicazione web con vulnerabilita’ per traininge tests
WebScarab: web proxy e fuzzer
Ricorda che:Secondo MITRE le vulnerabilita’ identificate dai tool
trovano al massimo il 45% del totale vulnerabilita’presenti
Non c’e’ tool che possa sostituire un consulente espertoTools non hanno idea della architettura e del contestiIl fatto che un tool non trovi vulnerabilita’ non vuol dire
che il codice/applicazione e’ sicuro
OWASP
Fondi OWASP e sponsorizzazioni per progetti
100% delle quote dei soci OWASP sono usate persponsorizzare i progetti.
Attualmented 3 “season of code” sono stati sponsorizzatida OWASP.OWASP Autumn Of Code 2006
$20,000 budgetOWASP Spring Of Code 2007
$117,500 budgetOWASP Summer of Code 2008
$126,000 budget
OWASP 43
Contribure ad OWASP
In differenti ruoliProject Leader, Participante e ReviewerOrganizzatore conferenze OWASPPubblicando articoli – wikiAnalizzando nuove technologie
Come OWASP memberAziendaSocio Membro
Dando il meglio delle tue conoscienzededicando parte del tuo tempo libero