Source code security testing



Similar documents
Web Application Report

SCADA / Smart Grid Security Who is really in control of our Control Systems?

Client Side Cross Site Scripting

Web App Security Audit Services

Industrial Control Systems Security. Denny Gregianin_Sales Area Manager

Rational AppScan & Ounce Products

Blogs.msdn.com/vstsitalia.

The Top Web Application Attacks: Are you vulnerable?

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Attack Vector Detail Report Atlassian

(WAPT) Web Application Penetration Testing

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

What is Web Security? Motivation

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

Early Vulnerability Detection for Supporting Secure Programming

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

How to renew S&S Video Italian version IBM Corporation

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

Comprehensive Security for Internet-of-Things Devices With ARM TrustZone

Web Application Security

Vulnerabilità e Attacchi alle Infrastrutture IT Simone Riccetti. Sr. IT Security Architect

Chapter 1 Web Application (In)security 1

Percorso Mcsa Managing and Mainting Windows 8

Corso: Supporting and Troubleshooting Windows 10 Codice PCSNET: MW10-3 Cod. Vendor: Durata: 5

Application Code Development Standards

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Adobe Systems Incorporated

Web Application Penetration Testing

Open Web Application Security Project Open source advocacy group > web security Projects dedicated to security on the web

Sicurezza Data Center 22 giugno Fabio Paravani Regional Account Manager

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

elearning for Secure Application Development

MANAGED SECURITY TESTING

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

VASCO Data Security. The Authentication Company. Richard Zoni Channel Manager Italy

Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group

Corso: Core Solutions of Microsoft Skype for Business 2015 Codice PCSNET: MSKY-5 Cod. Vendor: Durata: 5

Executive Summary On IronWASP

Cloud Services: cosa sono e quali vantaggi portano alle aziende manifatturiere

Certified Secure Web Application Security Test Checklist

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

2,000 Websites Later Which Web Programming Languages are Most Secure?

Criteria for web application security check. Version

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

Alberto Meneghini! Security Leader, IBM Italia! IBM Security IBM Corporation IBM Corporation

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Last update: February 23, 2004

Navicat Premium è uno strumento di amministrazione per database con connessioni-multiple, consente di connettersi

C.S.E. Nodi Tipici Parametrizzati al /04/2015 Copyright (c) Castalia srl

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

STATE OF WASHINGTON DEPARTMENT OF SOCIAL AND HEALTH SERVICES P.O. Box 45810, Olympia, Washington October 21, 2013

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

TOOL EVALUATION REPORT: FORTIFY

Reducing Application Vulnerabilities by Security Engineering

New IBM Security Scanning Software Protects Businesses From Hackers

North Dakota 2013 IT Security Audit Vulnerability Assessment & Penetration Test Project Briefing

Learn Ethical Hacking, Become a Pentester

JavaScript static security analysis made easy with JSPrime

Learning objectives for today s session

Dall Information Security alla Cyber Security, e ritorno

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Excellence Doesn t Need a Certificate. Be an. Believe in You AMIGOSEC Consulting Private Limited

WebGoat for testing your Application Security tools

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Copyright Watchfire Corporation. All Rights Reserved.

Tutta la formazione che cerchi, su misura per te.

SAST, DAST and Vulnerability Assessments, = 4

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Strategic Information Security. Attacking and Defending Web Services

EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.

METHODS TO TEST WEB APPLICATION SCANNERS

IJMIE Volume 2, Issue 9 ISSN:

IBM Security Services

Web Application Vulnerabilities

How To Ensure That Your Computer System Is Safe

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

Passing PCI Compliance How to Address the Application Security Mandates

Magento Security and Vulnerabilities. Roman Stepanov

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

Tecnologie e Protocolli per Internet 1 Introduzione al NAT Network Address Translation

8070.S000 Application Security

AppDefend Application Firewall Overview

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

Application Lifecycle Management. Build Automation. Fabrizio Morando Application Development Manger Microsoft Italia

KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES.

VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES. AUTHOR: Chema Alonso

D. Best Practices D.1. Assurance The 5 th A

GOVERNMENT OF MAHARASHTRA

Primiano Tucci Università di Bologna

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

Web Application Security How to Minimize Prevalent Risk of Attacks

Adobe ColdFusion. Secure Profile Web Application Penetration Test. July 31, Neohapsis 217 North Jefferson Street, Suite 200 Chicago, IL 60661

Web Application Security Assessment and Vulnerability Mitigation Tests

Transcription:

Source code security testing Simone Riccetti EMEA PSS Security Services All information represents IBM's current intent, is subject to change or withdrawal without notice, and represents only IBM ISS goals and objectives. By providing this information, IBM is not committing to provide this capability.

Agenda Nuove vulnerabilità e rischi Tipologie di approcci in base al problema Selezione dei test Nuove tecnologie 2 21 March 2012

Sistemi in continua evoluzione Complessità Integrazione Estensibilità Connettività

Perché la sicurezza del codice è così importante? La maggior parte dei buchi di sicurezza del software non sono sfruttati in modo diretto da utenti malintenzionati, ma sono piuttosto sfruttati per errore da altri programmi o componenti, causando effetti imprevedibili che degradano la sicurezza e la qualità delle applicazioni.

Un esempio semplice.buffer overflow foo { void func(void) int i; char buffer[256]; for(i=0;i<512;i++) return; buffer[i]='a'; } s you can see, our 'buffer' gets filled with 256 'A's, followed by 256 more that just don't fit.

Non tutte le vulnerabilità sono facilmente individuabili. http://www.technologyreview.com

Modeling e complessità int main() { int sum = 0; int i = 1; while (i < 11) { sum = sum + i; i = i + 1; } printf( %d\n,sum); printf( %d\n,i); } Enter T T T T T T sum = 0 i = 1 while(i < 11) printf(sum) printf(i) T T sum = sum + i i = i + i

Metodologie e tecniche di test disponibili Dynamic analysis Penetration test Users priviledge escalation test Denial of service Non repudiation testing Failure testing Cryptographic validation testing Privacy and Confidential testing Software security unit test Software security regression test Static analysis altri? Challenge: Integrazione nel SDLC!!! Definizione dei requisiti Requisiti di sicurezza Abuse cases Design Principi di secure design Risk analysis Implementazione Secure coding Security testing Test Risk analysis Security testing Deploy Vulnerability management Secure deployment Operational enablement Security testing Analisi assistita o manuale?

Dynamic vs. Static Analysis Static Analysis Null pointer dereference Threading issues Code quality issues Issues in dead code Insecure crypto functions Issues in back-end application code Stored vulneabilities Complex SQL injection Total Potential Security Issues Dynamic Analysis Environment configuration issues Patch level issues Runtime privileges issues Authentication issues Protocol parser/serializer issues Session management issues Issues in external 3rd party web components Cross-site request forgery Malware analysis Manual Assessment Business logic issues Dynamic & Static SQL Injection Cross Site Scripting HTTP Response Splitting OS Commanding LDAP Injection XPath Injection Path Traversal Buffer Overflows Format String Issues

Che approccio adottare? Dipende The Balancing Act Tipo di applicazione? Numero di KLOC? Tecnologie e framework? Prospettiva? Security skills Tipo di vulnerabilità che voglio individuare Organizzazione..

Esempio: Remediation black box (SQL inj) An SQL Injection vulnerability was identified Let s fix it! Identificare la parte di codice vulnerabile Scrivere il codice che elimina la vulnerabilità

Esempio: Remediation black box (SQL inj)

Esempio: Remediation black box (SQL inj)

Esempio: Remediation black box (SQL inj)

Esempio: Remediation black box (SQL inj)

Esempio di static analysis (taint analysis) Source request.getparameter() Sink statement.executequery() Limite: binary analysis

L approccio deve essere completo.e questo vale anche per I tool Hybrid Analysis = + Black Box White Box Hybrid Analysis Technologies in IBM Rational AppScan: Correlazione JSA (JavaScript Security Analyzer) Glass box technology

La logica di business si sta sviluppando anche lato client Client-Side Logic in Web Applications 30% 25% 25% 20% 15% 10% 5% 5% 0% 5 Years Ago Today Il codice sorgente che viene inviato al browser può essere utilizzato per effettuare analisi statica

Obfuscation IBM Internet Security Systems Prima Dopo

L analisi dinamica prevede una parte statica (DOM Based XSS) 1.Reflected 2.Stored 3.DOM-based TODAY S FOCUS Example of trace provided by IBM Rational Appscan JSA

Glass Box Technology Image: Meawpong3405 / FreeDigitalPhotos.net

Glass Box Architecture E un approccio blackbox con un agente integrato nell application server La correlazione degli eventi permette di individuare con precisione i metodi vulnerabili nel codice Fondamentale per vulnerabilità di tipo Blind SQL Injection Applica tion Server Application Under Test Agent Agent AppScan Control & Report