Domenico Ercolani Come gestire la sicurezza delle ... Rete Applicazioni Web La spesa per la...

15
Domenico Ercolani Come gestire la sicurezza delle applicazioni web

Transcript of Domenico Ercolani Come gestire la sicurezza delle ... Rete Applicazioni Web La spesa per la...

Domenico ErcolaniCome gestire la sicurezza delle applicazioni web

Agenda

Concetti generali di sicurezza applicativa

La soluzione IBM

Server Rete

Applicazioni Web

La spesa per la sicurezza non è bilanciata

% di attacchi % di euro

75%

10%

25%

90%

Sources: Gartner, Watchfire

Sicurezza Spesa

degli attacchi alla sicurezza informaticasono diretti verso il livello delle applicazioni Web

75%75%di tutte le applicazioni Web sono considerate vulnerabili2/32/3

•Buffer Overflow•Cookie Poisoning•Hidden Fields•Cross Site Scripting•Stealth Commanding•Parameter Tampering•Forceful Browsing•SQL Injection•Etc…

Presenter
Presentation Notes
We all know that enterprise web site security is critical; what’s surprising is that the security risk and the associated level of spending to mitigate this risk are unbalanced. 75% of attacks occur through web applications, yet only 10% of the security spending dollars are in this area. We’ve certainly seen our customer base become much more informed about the level of risk that web applications present, and adjust their spending accordingly (Peter - not sure if this is true, but assuming it is, it would be great to give a verbal example. One thing you could do is allude to the Microsoft account value slide that comes later in the presentation).

Perchè è importante gestire la sicurezza durante l’intero ciclo di sviluppo?

Compilazione

Sviluppatori

Sviluppatori

Sviluppatori

Codifica Qualità Sicurezza Produzione

+Qualità + Sicurezza = Riduzione Costi

During the coding phase

$25/defect

During the build phase

$100/defect

Once released as a product

$16,000/defectDuring the QA/Testing phase

$450/defect

I costi di correzione dei difetti aumentano…

L’ 80% dei costi di sviluppo è speso per individuare e correggere i difetti!

Presenter
Presentation Notes
The National Institute of Standards and Technology (NIST) reports that “…80% of development costs [are spent] on identifying and correcting defects The ‘Cost of Defect’ figures from Caper Jones (Applied Software Measurement, 1996): At coding time - $25/defect At build time - $100/defect At QA - $450/defect At field level - $16,000/defect

Maturità del modello di “Security Test”EvoluzioneEvoluzione delladella ““Web Application SecurityWeb Application Security””

In-House Strategic InIn--House House StrategicStrategic

Audit da parte dell’Ufficio Sicurezza e/o QA sulleapplicazioni in Produzione o in Pre-Produzione

Vulnerability Assessment affidati a societàspecializzate per le applicazioni più critiche

NothingNothing

OursourcedOursourced

Condivisione dei risultati degli Audit con gliSviluppatori e definizione di metodologie disviluppo sicure basate sulle “best-practice”

In-HouseTactical

In-HouseTactical

In-HouseEvangelization

In-HouseEvangelization

Sicurezza pienamenteintegrata nel ciclo di vitadelle applicazioni e parteIntegrante del processodi Quality Assurance

White-GreyBlack BoxAnalysis

Black BoxAnalysis

IBM Rational AppScan Overview

Rational Software Quality Management

JAZZ TEAM SERVER

ManageTest Lab

CreatePlan

BuildTests

ReportResults

IBM Collaborative Application Lifecycle Management

FunctionalTesting Performance

TestingCode

Quality

Security andCompliance

Test Management and Execution

Rational Quality ManagerQuality Dashboard

Open Lifecycle Service Integrations

DefectManagement

RequirementsManagement

Best Practice Processes

JavaSystem z, iSAP

.NET

Web ServiceQuality

Presenter
Presentation Notes
TEST AND CHANGE MANAGEMENT The key components of Rational’s software development and test platform are: Rational Team Unifying Platform, which contains RequisitePro for capturing and tracking software system requirements and use cases, ClearQuest for building detailed test plans executing automated and manual tests and analyzing test results and ClearQuest for managing all defects and change requests. DEVELOPER TESTING Rational PurifyPlus for run-time analysis, performance profiling and code coverage analysis, Rational Test RealTime for component test and run-time analysis for embedded applications. FUNCTIONAL AND PERFORMANCE TESTING Rational Functional Tester for automated build validation and functional/regression system testing Rational Manual Tester for building modular, reusable manual tests and automation of common error-prone tasks in manual testing Rational Performance Tester for load and scalability testing and transaction breakdown analysis to identify the source of a performance bottleneck

• AppScan è la soluzione leader di mercato per l’identificazione delle vulnerabilità della sicurezza applicativa (in modalità Black-box) e del relativo processo di risoluzione

• AppScan offre una soluzione per tutte le tipologie di test di sicurezza applicativa - esternalizzato, a livello utente o aziendale

• Fornisce report descrittivi ed operativi con azioni e raccomandazioni concrete• AppScan automatizza le attività di test della sicurezza applicativa

– Dai responsabili della qualità per garantireche le applicazioni siano sicure prima di essererilasciate

– Dai certificatori per monitorare continuamentelo stato della sicurezza

Rational AppScan per l’analisi dinamica (black-box analysis)

Presenter
Presentation Notes
AppScan is a piece of software which automates the testing of web applications for security vulnerabilities. It has a library of thousands of different tests, which it sends to the tested application to discover problems causing security risk. The tests are designed to expose hundreds of issues. Our security team is dedicated to researching security vulnerabilities and keeping AppScan up-to-date with latest security trends. The product is designed to provide value to various stakeholders in an organization. It is used by security auditors, developers, QA specialists, managers and regulatory compliance officers. AppScan includes advisories with the discovered vulnerabilities which educate the user about the vulnerability’s technical nature, possible causes and associated risk. The purpose of discovering vulnerabilities is of course to address them and mitigate the associated risk. Therefore, AppScan was designed to not only expose vulnerabilities but also inform the user how to fix them. The fix recommendation associated with each vulnerability describe the steps or general principles for resolving the particular issue and where applicable, provides platform specific information and code samples. To facilitate the process of addressing the discovered vulnerabilities, AppScan groups them by remediation task and an in this way creates a project. When a developer completes one remediation task they may address a number of vulnerabilities. AppScan has rich report generation capabilities which enable the user to create different types of reports suitable for various stakeholders. The compliance reports for example, show how the discovered security issues affect your level of compliance to various regulations like SOX or HIPPA. Web Applications often leverage web services, which can also have security vulnerabilities. Therefore, in addition to testing web applications, AppScan provides the user with the ability to test web services. Security auditors and other advanced users often require that the tools that they use are customizable. The AppScan SDK and eXtensions Framework were designed to address this requirement, providing a lot of flexibility to the user.

• Naviga sull’applicazione e costruisce il “site model”• Determina i tipi di attacchi basandosi sulle “Test policy” selezionate• Esegue i test mandando verso l’applicazione richieste HTTP modificate ed

esamina le risposte HTTP utilizzando regole di validazione

HTTP RequestWeb Application

HTTP Response

Rational AppScan per l’analisi dinamica (black-box analysis)

Presenter
Presentation Notes
AppScan scans for vulnerabilities by traversing an application similarly to the way a user browses a website. It starts from the home page or some other entry point, as defined by the user, and follows all the links. Each page is analyzed, and based on the characteristics of the page, AppScan sends a number of tests. The tests are sent in the form of HTTP requests. AppScan determines the presence of vulnerabilities based on the responses from the web server. The application is treated as a black box and AppScan communicates with it just like a browser does. AppScan Enterprise has thousands of built-in tests and checks for hundreds of different types of vulnerabilities.

Soluzioni di Web Application Security per lo Sviluppo

AppScan Developer Edition permette agli sviluppatori di effettuare test di sicurezza– Plug-in dell’ambiente di sviluppo

AppScan Build Edition assicura che tutto il codice sia stato controllato prima della compilazione– Integrato con le soluzioni di Build Automation

Rational AppScan per l’analisi statica (white-box analysis)

Total PotentialTotal PotentialSecurity IssuesSecurity Issues

DynamicDynamicAnalysisAnalysis

StaticStaticAnalysisAnalysis

BLACK BOXAnalisi tramite richieste HTTP con riferimento diretto delle vulnerabilità al codice

BLACK BOXAnalisi tramite richieste HTTP con riferimento diretto delle vulnerabilità al codice

WHITE BOXAnalisi del codice fatta dal programmatore

WHITE BOXAnalisi del codice fatta dal programmatore

Runtime Analysis

GREY BOXAnalisi del codice durante l’esecuzione dell’applicazione

GREY BOXAnalisi del codice durante l’esecuzione dell’applicazione

Rational AppScan per l’analisi statica (white-box analysis)

ANALISI

COMBINATA

Rational AppScan Developer e Build Edition

• Disegnata per gli Sviluppatori, non Auditors

• Self-Serve – Non richiede competenze di sicurezza

• Naturalmente integrata nel processo / tools di SDLC (Software Development Life Cycle)

Rational AppScan per l’analisi statica (white-box analysis)

Black- Box Analysis vs. White-Box AnalysisAnalisi Plus Minus

Black Box - Completa perchè esamina l’intero enviroment dell’applicazione- Effettuabile anche senza avere il codice a disposizione- Utilizzabile su tutte le applicazioni web perchè non legata al linguaggio di sviluppo, compreso web-services e web 2.0 (Ajax)- Basso impatto organizzativo

- Si deve avere a disposizione un eseguibile (quindi già avanti nel ciclo di sviluppo)- Le vulnerabilità individuate sono riferite al campo / pagina- Utilizzabile sono per applicazioni web (protocollo HTTP - HTTPs)

White / Grey Box - Eseguibile all’inizio del ciclo di vita- Le vulnerabilità rilevate sono riferite direttamente al codice - Utilizzabile su tutte le tipologie di applicazioni, non solo web (dipende da quali ambienti di sviluppo / linguaggi sono coperti)

- Può identificare solo una parte delle potenziali vulnerabilità- Elevato numero di “falsi positivi”- Disponibile solo per alcuni ambienti di sviluppo / linguaggi- Alto impatto organizzativo

D O M A N D E ?