SlideShare a Scribd company logo
1 of 94
Download to read offline
Software Security in
Practice
Matteo Meucci CEO Minded Security
AIEA Turin – 30-10-2015
Agenda
I Part) Introduction to Software Security
1.1 Scenario
1.2 What is the state of the Information Security today?
1.3 The main targets of the cyber attacks
II Part) How OWASP can support Enterprises
2.1 Web Application Security: the OWASP Guides today
2.2 How to use the testing guide in your processes
III part) A structured approach to software security
 3.1 OWASP Guidelines and tools in SDLC
3.2 Outsourcing Governance
3.3 SAMM: the assessment to evaluate your Software Development LifeCycle
 3.4 Case-Study: how Companies are approaching the Governance of Software Security
Informatics Engineer (since 2001)
Research
• OWASP contributor (since 2002)
• OWASP-Italy Chair (since 2005)
• OWASP Testing Guide Lead (since 2006)
Work
• 14+ years on Information Security focusing on Software Security
• CEO @ Minded Security – The Software Security Company (since 2007)
3
Who am I?
1. INTRODUCTION TO SOFTWARE
SECURITY
1.1 SCENARIO
InfoSec scenario: software is the key point
Users
Cyber criminals
Companies
Governments
Software
Is your Google mail secure?
• Yes!
• No!
• I don’t know
What is Secure Software?
It’s secure! Looks at the
lock, down on the right!
It’s secure! It’s Google!
Sure! The news said
that is unbreakable!
Software Security Principles
• The Vulnerabilities in the software development
process are expected.
• The control of the security bugs and flaws in the
software should be considered as part of the
process of software development.
• Vulnerability management (fixing process) is the
most important step of the process of software
security.
1.2 WHAT IS THE STATE OF THE
INFORMATION SECURITY TODAY?
2014 Attacks
In 2014, 5 out of 6 companies have been the victim of cyber attacks (+ 40% over 2013, Symantec
report 2014)
30.000 websites are hacked every day to distribute malware (SOPHOS - Security Threat Report 2012)
2014 important security breaches (DBIR 2015):
What is the state of the security today?
Attackers Are Moving Faster, Defenses Are Not
With Heartbleed, attackers moved in to exploit these vulnerabilities much faster than
vendors could create and roll out patches. In 2014, it took 204 days, 22 days, and 53
days, for vendors to provide a patch for the top three most exploited zero-day
vulnerabilities.
Attackers Are Streamlining and Upgrading Their Techniques,
While Companies Struggle to Fight Old Tactics
Attackers making each attack more selective by infecting legitimate websites, monitoring
site visitors and targeting only the companies they wanted to attack.
Also Small and Medium sized organizations are under attacks
Last year, 60 percent of all targeted attacks struck small- and medium-sized
organizations. These organizations often have fewer resources to invest in security, and
many are still not adopting basic best practices like blocking executable files and
screensaver email attachments.
1.3 THE MAIN TARGETS OF THE CYBER
ATTACKS
Target of data breach: what vector attacks are more
used today?
•Web Applications: access to the DB to stole Credit card or
personal user information. Attack vettor: SQL injection, XSS
•Crimeware: Five out of every six large companies were targeted
with spear-phishing attacks in 2014, a 40 percent increase over
the previous year. Attack vector: email, fake sites
•Cyber espionage: Governments use cyber espionage to take the
control of humans, systems, trade secrets. Attack vector: 0day
•DoS: botnet are used to perform distributed attack to sites do
deny the services to legitamate users. Attack vector: malware
Attacks to Companies
• Companies are attacked on the web applications
and on their personnel (email, fake sites,
malware, mobile)
• The top three industries affected are the same as
previous years: Public, Information, and
Financial Services. (Verizon)
• In 60% of cases, attackers are able to compromise
an organization within minutes. (Verizon)
• The time of reaction it is really slow today
14
2. HOW OWASP CAN SUPPORT THE
ENTERPRISES
2.1 THE OWASP GUIDES TODAY
OWASP has ~140 Projects
• PROTECT - These are tools and documents that can be used
to guard against security-related design and implementation
flaws.
• DETECT - These are tools and documents that can be used to
find security-related design and implementation flaws.
• LIFE CYCLE - These are tools and documents that can be used
to add security-related activities into the Software
Development Life Cycle (SDLC).
Developer Guide
• The First OWASP ‘Guide’
• Complements
OWASP Top 10
• 310p Book (on wiki too)
• Many contributors
• Apps and web services
• Most platforms
• Examples are J2EE, ASP.NET, and PHP
• Unfortunately Outdated
• Project Leader and Editor
 Andrew van der Stock,
vanderaj@owasp.org
Code Review Guide
• Most comprehensive open
source secure code review
guide on the web
• Years of development effort
• Version 1.1 produced during
2008
• Numerous contributors
• Version 2.0 effort launched in
2012
• Project Leader and Editor
 Eoin Keary, eoin.keary@owasp.org
www.owasp.org/index.php/Code_Review_Guide
Code Review Guide
public void findUser()
{
boolean showResult = false;
String username =
this.request.getParameter("username");
...
this.context.put("username", username);
this.context.put("showResult", showResult);
}
Testing Guide
www.owasp.org/index.php/Testing_Guide
• Most comprehensive open source
secure testing guide on the web
• Years of development effort
• Version 4.0 produced in 2014
• Hundred of contributors
• Project Leader and Editor
• Matteo Meucci, Andrew Muller
 matteo.meucci@owasp.org,
andrew.muller@owasp.org
Testing Guide
http://127.0.0.1:8080/Jforum-
new/jforum.page?action=findUser&module=pm&username=
%22%3E%3Cscript%3Ealert%28123%29%3C/script%3E%3
C%22
The OWASP Testing Guide: Community
driven for all the Enterprises
The state of the art of the Web
Application Penetration Testing
Fight with the same weapons (knowledge)
 July 14, 2004
"OWASP Web Application
Penetration Checklist", V1.0
 December 25, 2006
"OWASP Testing Guide", V2.0
 December 16, 2008
"OWASP Testing Guide", V3.0
 September 17, 2014
"OWASP Testing Guide", V 4.0
Citations:
• NIST SP800-115 “Technical Guide to
Information Security Testing and Assessment”
• Gary McGraw (CTO Cigital) says: “In my
opinion it is the strongest piece of Intellectual
Property in the OWASP portfolio” – OWASP
Podcast by Jim Manico
• NSA’s "Guidelines for Implementation of
REST“
• Official (ISC)2 Guide to the CSSLP - Page: 70,
365
• Many books, blogs and websites
Testing Guide History
Note: use the Guide only on your local applications or be sure to have an NDA in place with the owner of the
application before test it.
2.2 HOW TO USE THE TESTING
GUIDE IN YOUR PROCESSES
How to use the methodology
Web Application
Source Code
public void findUser()
{ boolean showResult = false;
String username =
this.request.getParameter("us
ername");
...
this.context.put("username",
ESAPI.encoder().encodeForHT
MLAttribute(username));
this.context.put("showResult",
showResult);
}
Methodology Report
Fixing Methodology Retest Report
Common misunderstanding
Example of unstructured approach:
Ministry of Informatics
Actors
User: who uses the
software
Ministry of
Informatics:
who buys the
software
Development
teams
(internal/external):
who develops the
software
Press conference for the launch of the service
Now you can take
advantage of a new
service on the portal of the
Ministry of Informatics
Fantastic!! Compliments!!
The day after…
Users access to the portal…
John Black – 12/12/1970 – JBlack@company.com
Josh White - 10/09/1982 – White@bank.com
Paul Red– 09/02/1960 – Paul@bank.com
Users access to the portal…
Oh oh...I find a
problem...
Some days after…
The reactions…
Ohh..how it was
possible? Fault of the
developers!
but it is impossible !?
We followed all your
instructions
If you do not ask for security, no one will develop secure software
Use the Testing Guide as common framework
An year after…another security breach
but it is impossible!?
We adopt the OWASP
Testing Guide!
Web Application Penetration testing is not enough!
If you do not design a correct vulnerability fixing process you will
not solve the vulnerabilities of your application
Ohh..how it was
possible? Fault of the
developers!
3. A STRUCTURED APPROACH
TO SOFTWARE SECURITY
3.1 OWASP GUIDELINES AND
TOOLS IN YOUR SDLC
The Importance to use all the OWASP resources
into your SDLC
If you do not ask for security, no one will develop secure software
Use the OWASP Software Contract Annex to regulate your
outsourcer contracts
If you do not know the application threats, you will develop unsecure software
Use the OWASP Top 10 for General Awareness
Use the CISO Guide for Management’s Awareness
Vulnerabilities in the software development process are expected
Use the OWASP Building Guide and ESAPI to write more secure
software
Use the OWASP Secure Code Review Guide to review the code
Use the OWASP Testing Guide to review to test your application
The Importance to use all the OWASP resources
into your SDLC
The fixing process is the most important step of the process of software
security
Retest your application after a bug fixing or a new release
to be sure that the right implementations are in place
How can I manage the Software Security Governance?
Use the OWASP SAMM to assess your maturity and to
build an Application Security Program to manage the
SDLC
42
OWASP Guidelines in the SAMM model
Governance Construction Verification Deployment
42
3.2 OUTSOURCING
GOVERNANCE
Secure SDLC
Costs relating the fixing in the phases of SDLC
Source: Official (ISC)2 Guide to CSSLP (2011)
Source: Official (ISC)2 Guide to CSSLP (2012)
SDLC Stakeholders
Secure SDLC
Fasi SDLC Secure Software processes
Define Secure Software Requirements
Design Secure Software Design
Develop Secure Software Implementation
Deploy Secure Software Testing &
Acceptance
Maintain Secure Software Deployment &
Maintenance
Roles and responsabilities
4
7
Define Design Develop Deploy Maintain
Risk
Assessment
Secure
Design
Design
Review
Software
Acceptance
Web Intrusion
Monitoring
Secure
Requirements
Threat
Modeling
Secure
Development
Secure
Installation
Change
Management
Secure
Architecture
SCR and
WAPT
Hardening
Fixing
Business Analyst
Security Manager
Business Analyst
AppSec Specialist
Business Analyst
Software Architect,
AppSec Specialist
Security Manager
Application Owner
Software Architect
Security Manager
Security Manager
Developer
AppSec Specialist
Developer
Security Manager
App Owner
Sistemista
Sistemista
AppSec Specialist
Sec Manager
App Owner
Develper
Development
Team
Code Review
Team
Application Testing
Team
Outsourcing
Contratto di
sviluppo
(Fornitore) (Committente)
Contratto di
sviluppo
Collaudo software
Source:
• OWASP Secure Software Development
Contract Annex
• Capability Maturity Model v1.1
• ISO/IEC 27006:2007 (Information
technology — Security techniques —
Requirements for bodies providing
audit and certification of information
security management systems )
Filosofia del documento
(a) Le decisioni sulla sicurezza saranno basate sui rischi. Le decisioni saranno
effettuate congiuntamente da cliente e sviluppo
(b) Le attività di sicurezza saranno bilanciate. Distribuite in modo uniforme nell'intero
ciclo di vita dello sviluppo software.
(c) L’Attività di sicurezza sarà integrata. Tutte le attività e la documentazione saranno
integrate nel ciclo di vita del software per gli sviluppatori e non tenuto separato
dal resto del progetto.
(d) Le vulnerabilità sono attese. Tutto il software presenta dei bug. Si cercherà
di identificare le vulnerabilità più presto possibile nel ciclo di vita del sw.
(e) Le vulnerabilità saranno condivise. Tutte le informazioni relative alla
sicurezza saranno condivise tra il Cliente e Sviluppo immediatamente e
completamente.
Principi fondamentali
Prima di acquisire il software da un outsourcer è importante verificare che
soddisfi i requisiti di:
– Compliance, Qualità, Funzionalità e Sicurezza
– I requisiti di sicurezza devono essere validati e i controlli di sicurezza
verificati internamente o da una terza parte tramite security testing
(V&V).
– Il software non deve essere rilasciato fino a che non sia stato
certificato e accreditato che il rischio residuo è al livello appropriato
(C&A).
Modello di Software Acceptance
Sviluppo Cliente
Secure
Software
Development
Contract
1. Security
Requirements
2. Librerie e
framework
3. Security
Review
4. Assurance
5. Acceptance
Secure
Software
Development
Contract
(1) Security Requirements area
• Validation and Encoding.
• Authentication and Session Management.
• Access Control.
• Error Handling.
• Logging.
• Connections to External Systems.
• Encryption.
• Availability
• Secure Configuration.
• Specific Vulnerabilities. “OWASP Top Ten Most Critical Web Application
Vulnerabilities.”
(1) Esempio di security Requirements
ID
Requisito
Data Validation-003 – UTILIZZARE I PREPARED STATEMENT
Descriz. L’applicazione è soggetta a vulnerabilità di SQL Injection quando usa l’input fornito
dall’utente senza validarlo per fare delle query sul database (ad esempio la ricerca
dell’utente in fase di login oppure quando si usa una funzione di ricerca fornita
dall’applicazione).
È necessario fare uso solo di Prepared Statement evitando l’uso di concatenazioni di
stringhe. LìuUtilizzo di concatenazione di stringhe per costruire la query da ingresso
arbitrario non renderà il PreparedStatement sicuro. Per esempio:
PreparedStatement = "SELECT * FROM utenti WHERE Nome = '" + username + "',";
Se un attaccante inserisce: 'O '1' = '1
Nel campo nome utente, il PreparedStatement sarà vulnerabile a SQL injection, dal
momento che tale query verrà eseguita sul database come
SELECT * FROM utenti WHERE Nome ='' OR '1 '= '1';
Quindi, se si utilizza invece:
PreparedStatement = "SELECT * FROM utenti WHERE nome =?";
preparedStatement.setString (1, userName);
....
(1) Esempio di checklist
(2) Librerie, framework e prodotti
• Disclosure. Lo sviluppo deve indicare tutti i software di terze parti usati
nel software, incluse tutte le librerie, strutture, componenti, e altri
prodotti, siacommerciale, gratuito, open-source o closed-source (si può
decidere in fase di design quali librerie e framework debba utilizzare
l’outsourcer).
• Evaluation. Lo sviluppo dovrà fare ogni ragionevole sforzo per assicurare
che il software di terze parti soddisfi tutti i termini di questo accordo ed
è sicuro come il codice personalizzato sviluppato nell'ambito dell’accordo.
(3) Security Review
Right to Review.
Il cliente ha il diritto di rivedere il codice a proprie spese in ogni momento fino a 60 giorni
dalla consegna. Lo sviluppo si impegna a fornire un supporto ragionevole del team di
revisione, fornendo il codice sorgente e l'accesso ad ambienti di test.
Review Coverage.
Il Security Review comprende tutti gli aspetti del software fornito, incluso il
codice personalizzato,componenti, prodotti e configurazione del sistema.
Scope of Review.
Come minimo, la revisione riguarda tutti i requisiti di sicurezza e le vulnerabilità comuni. La
revisione può includere una combinazione di scansione di vulnerabilità, PT , l'analisi statica
del codice sorgente e il code Review di esperti.
Issues Discovered.
I problemi di sicurezza scoperti verranno segnalati e devono essere fixati prima di procedere
ai prossimi passi.
(3) Security Review
• In questa fase viene effettuato il processo di Validate & Verify secondo il
modello CMMI v.1.1:
– Validate
• Si verifica che il software si comporti secondo il disegn e i requisiti stabiliti.
• Si validano i security requirements concordati (checklist).
– Verify dei controlli implementati al fine di evitare possibili vulnerabilità
• Secure Code Review
• Penetration Testing
(4) Assurance
(a) Certification Package.
Lo sviluppo fornirà un "pacchetto di certificazione" costituito dalla documentazione
relativa alla protezione creata durante il processo di sviluppo. Il pacchetto dovrebbe
stabilire che i requisiti di sicurezza, progettazione, implementazione e risultati di test
siano stati compilati.
(b) Autocertificazione.
Lo sviluppo certifica che il software soddisfi i requisiti di sicurezza, tutte le attività di
sicurezza sono stati effettuate, e tutti i problemi legati alla sicurezza sono stati
documentati e risolti.
(c) Nessun codice dannoso.
Lo sviluppo garantisce che il software non deve contenere alcun codice dannoso, come
virus, worm, backdoor, malware.
(5) Acceptance
• Considerazioni generali
•Tutti i requisiti funzionali e di sicurezza sono
stati completati come da contratto?
Criteri di
completezza
•Esiste un processo per gestire le richieste di
cambiamento?
Change
Management
•Il rischio residuo di acceptance e le eccezioni
alle policy sono entro i limiti stabiliti?
Accettazione del
rischio ed
exception policy
•Tutta la documentazione è disponibile?
Documentazione
del software
(5) Acceptance
In questa fase si esegue il processo di Certification & Accreditation (C&A) secondo il
CMM v1.1
– Il software non può essere considerato accettato fino a quando il pacchetto
di certificazione è completo e tutte le questioni relative alla sicurezza sono
state risolte:
• Documentazione completa.
• Fixing e Retest effettuati oppure valutazione che il rischio residuo è al
livello appropriato.
Security issue management and acceptance
Sviluppo Cliente
Secure
Software
Development
Contract
1. Security
Requirements
2. Librerie e
framework
3. Security
Review
4. Assurance
5. Acceptance
Secure
Software
Development
Contract
FALSI MITI
Comuni reazioni da parte dei fornitori:
(1) Non vi preoccupate sviluppiamo utilizzando lo standard OWASP
(2) Broken Authentication Session Hijacking, Liferay offre una serie di feature
di sicurezza per la gestione dell’autenticazione e anche per altre possibili
security issues
(3) Cross Site Scripting: JSF ha una serie di feature di sicurezza anti XSS
(4) Broken Access Control: garantito dall’applicazione che andremo a
sviluppare
3.3 SAMM: THE ASSESSMENT
TO EVALUATE YOUR SOFTWARE
DEVELOPMENT LIFECYCLE
SAMM goals
• SAMM allows a Company to:
– Measure and improve software security best
practices
– Focus on security risk to make effective use of
security resources
– Find vulnerabilities earlier in the development
process
– Design a Roadmap to manage the software
security in your projects
OWASP SAMM: objectives
The SAMM’s goals are:
Evaluate an organization’s existing software security
practices
Build a balanced software security assurance program
in well-defined iterations
Demonstrate concrete improvements to a security
assurance program
Define and measure security-related activities
throughout an organization
OWASP SAMM: 4 Business functions
Define Design Develop Deploy Maintain
Governance Construction Verification Deployment
Software development
management activities
and organisation-wide
business processes
Goal definition and
software creation
processes
Checking, evaluation
and testing of
software development
artifacts
Software release
management and
normal operational
management
OWASP SAMM: 12 Security Practices
Governance
• Strategy & Metrics involves the overall strategic
direction of the software assurance program and
instrumentation of processes and activities to collect
metrics about an organization’s security posture.
• Policy & Compliance involves setting up a security
and compliance control and audit framework
throughout an organization to achieve increased
assurance in software under construction and in
operation.
• Education & Guidance involves increasing security
knowledge amongst personnel in software
development through training and guidance on
security topics relevant to individual job functions.
6
9
Governance
Strategy & Metrics
Policy & Compliance
Education & Guidance
Construction
• Threat Assessment involves accurately identifying
and characterizing potential attacks upon an
organization’s software in order to better
understand the risks and facilitate risk
management.
• Security Requirements involves promoting the
inclusion of security-related requirements during
the software development process in order to
specify correct functionality from inception.
• Secure Architecture involves bolstering the design
process with activities to promote secure-by-
default designs and control over technologies and
frameworks upon which software is built.
7
0
Construction
Threat Assessment
Security Requirements
Secure Architecture
Verification
• Design Review involves inspection of the
artifacts created from the design process to
ensure provision of adequate security
mechanisms and adherence to an
organization’s expectations for security.
• Code Review involves assessment of an
organization’s source code to aid
vulnerability discovery and related
mitigation activities as well as establish a
baseline for secure coding expectations
• Security Testing involves testing the
organization’s software in its runtime
environment in order to both discover
vulnerabilities and establish a minimum
standard for software releases.
7
1
Verification
Design Review
Code Review
Security Testing
Deployment
• Vulnerability Management involves
establishing consistent processes for
managing internal and external vulnerability
reports to limit exposure and gather data to
enhance the security assurance program.
• Environment Hardening involves
implementing controls for the operating
environment surrounding an organization’s
software to bolster the security posture of
applications that have been deployed.
• Operational Enablement involves identifying
and capturing security-relevant information
needed by an operator to properly configure,
deploy, and run an organization’s software.
Deployment
Vulnerability
Management
Environment
Hardening
Operational
Enablement
73
SAMM activities
1. Conduct the first
assessment
2. Create a score card
3. Create a Software
Security Program
1. Metrics
2. Road map
4. Implement the objectives
of the roadmap and
conduct a new
assessment
Step 0: SAMM Startup
• Give a presentation of SAMM model and objectives
to all the people involved in the assessment in the
Company
• Collect the name and functions of the people
involved in the assessment with the SAMM sponsor
(Roles and responsability)
Step 1: conduct the assessment
Step 2: evaluate the assessment
Step 3: create the scorecard
Step 4: create the roadmap
• For each Security Practice write down the Activities
to implement
• Evaluate the benifts and the efforts for the
organization necessary to improve each Security
Practice.
Step 4: create the roadmap
Step 5: Magic quadrant for the actions
Step 6: scorecard with roadmap
Step 7: write the report
3.4 CASE-STUDY: HOW
COMPANIES ARE APPROACHING
THE GOVERNANCE OF
SOFTWARE SECURITY
What Italian Companies are doing today
Area: Governance Activities Participants
Strategy and Metrics
Conduct periodic industry wide cost
comparisons, collect metrics for
historic security spend (% project),
past spending.
10%
Policy and Compliance
Identify and monitor external
compliance drivers, build and maintain
compliance guidelines.
80%
Education and
Guidance
Training courses for Developers,
Analysts, Auditors and Workshop for
Management.
55%
Source: Minded Security – Results of 12 assessments from 2012 to 2015
What Italian Companies are doing today (2)
Area: Construction Activities Participants
Secure Architecture
Build the document for the Governance of
the development outsourcing process.
30%
Security Requirements
Develop: “Building Secure applications
guidelines”.
60%
Secure Design
Apply the methodology of threat modeling
to the projects evaluated with medium to
high risk in the definition phase of the
project and the specific
10%
Source: Minded Security – Results of 12 assessments from 2012 to 2015
What Italian Companies are doing today (3)
Area: Verification Activities Participants
Design Review
Identify software attack surface, Analyze
design against known security
requirements, Inspect for complete
provision of security mechanisms.
20%
Code Review
Conduct Manual Secure Code Review for
critical applications
30%
Security Testing
Conduct penetration testing on software
releases with fixing support.
75%
Source: Minded Security – Results of 12 assessments from 2012 to 2015
What Italian Companies are doing today (4)
Area: Deployment Activities Participants
Vulnerability
Management
Create information security response
team(s) for the application security,
Establish consistent incident response
process, Conduct root cause analysis for
application security incidents.
20%
Environment Hardening
Develop Hardening procedures for all your
technologies, Implement a fixing process
to be sure to patch all the issues identified
during the security assessment.
60%
Operational Enablement
Request support for fixing all the
vulnerabilities identified during the Secure
Code Review and Penetration Testing
activities.
40%
Source: Minded Security – Results of 12 assessments from 2012 to 2015
Companies Worldwide: BSIMM 6
Key point to implement a Software Security
Program (SSP)
Carrying out the activities of a SSP without commitment of the
Companies is very unlikely
• Identify and work with Software Security Group (SSG): The internal group charged with
carrying out and facilitating the SSP.
• Identify and promote Satellite groups in your Company: a group of interested and
engaged developers, architects, software managers, testers, who have a natural affinity
for software security.
A strong SSG is fundamental to carry on the software security initiative.
Key point to have a mature Software Security
Program (SSP)
A fast fixing process is the key to have a mature SSP
• Satellite architects: should fix flaws asap
• Satellite developers: should fix bugs asap
• Satellite tester: should test if the remediations are strong enough asap.
A strong satellite is the key of a mature software security initiative.
Next steps?
Companies will:
• Hire Information Security managers.
• Hire Talents skill on Application Security in your organizations.
• Implement Software Security Governance.
• Provide ongoing education and training: guidelines and company
policies for protecting sensitive data on personal and corporate
devices.
• Prepare for the worst: Incident management crises.
QUESTIONS?
WWW.MINDEDSECURITY.COM
MATTEO.MEUCCI@MINDEDSECURITY.COM
THANKS!
REFERENCES
• OWASP: http://www.owasp.org
•https://www.owasp.org/index.php/OWASP_WASC_Web_Hacking_Incide
nts_Database_Project
• Rapporto CLUSIT 2015
• Enisa European Threat Landscape 2014
• Symantec Internet-security-threat-report-volume-20-2015
• Verizon rp_data-breach-investigation-report-2015
•Ponemon Institure Report 2015
• OWASP SAMM: http://www.opensamm.org
• BSIMM v6: http://www.bsimm.com

More Related Content

What's hot

CIO Review 2016-AUG SentinelOne
CIO Review 2016-AUG SentinelOneCIO Review 2016-AUG SentinelOne
CIO Review 2016-AUG SentinelOne
Sean Roth
 
David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016
David Patterson
 

What's hot (19)

Vulnerability Assesment
Vulnerability AssesmentVulnerability Assesment
Vulnerability Assesment
 
A successful application security program - Envision build and scale
A successful application security program - Envision build and scaleA successful application security program - Envision build and scale
A successful application security program - Envision build and scale
 
Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Vulnerability Management Nirvana - Seattle Agora - 18Mar16Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Vulnerability Management Nirvana - Seattle Agora - 18Mar16
 
Software security, secure software development in the age of IoT, smart thing...
Software security, secure software development in the age of IoT, smart thing...Software security, secure software development in the age of IoT, smart thing...
Software security, secure software development in the age of IoT, smart thing...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Application security
Application securityApplication security
Application security
 
Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...
 
Presentation on vulnerability analysis
Presentation on vulnerability analysisPresentation on vulnerability analysis
Presentation on vulnerability analysis
 
OWASP Québec: Threat Modeling Toolkit - Jonathan Marcil
OWASP Québec: Threat Modeling Toolkit - Jonathan MarcilOWASP Québec: Threat Modeling Toolkit - Jonathan Marcil
OWASP Québec: Threat Modeling Toolkit - Jonathan Marcil
 
CIO Review 2016-AUG SentinelOne
CIO Review 2016-AUG SentinelOneCIO Review 2016-AUG SentinelOne
CIO Review 2016-AUG SentinelOne
 
OWASP Top 10 Project
OWASP Top 10 ProjectOWASP Top 10 Project
OWASP Top 10 Project
 
Secure Design: Threat Modeling
Secure Design: Threat ModelingSecure Design: Threat Modeling
Secure Design: Threat Modeling
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 
David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016
 
Introduction to Application Security Testing
Introduction to Application Security TestingIntroduction to Application Security Testing
Introduction to Application Security Testing
 
WHAT IS APP SECURITY – THE COMPLETE PROCESS AND THE TOOLS & TESTS TO RUN IT
WHAT IS APP SECURITY – THE COMPLETE PROCESS AND THE TOOLS & TESTS TO RUN ITWHAT IS APP SECURITY – THE COMPLETE PROCESS AND THE TOOLS & TESTS TO RUN IT
WHAT IS APP SECURITY – THE COMPLETE PROCESS AND THE TOOLS & TESTS TO RUN IT
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application Security
 
Classification of vulnerabilities
Classification of vulnerabilitiesClassification of vulnerabilities
Classification of vulnerabilities
 

Viewers also liked

Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...
Rafal Los
 
Web Applications Security Assessment In The Portuguese World Wide Web Panorama
Web Applications Security Assessment In The Portuguese World Wide Web PanoramaWeb Applications Security Assessment In The Portuguese World Wide Web Panorama
Web Applications Security Assessment In The Portuguese World Wide Web Panorama
nfteodoro
 
Owasp atlanta-ciso-guidevs1
Owasp atlanta-ciso-guidevs1Owasp atlanta-ciso-guidevs1
Owasp atlanta-ciso-guidevs1
Marco Morana
 
Software Security Initiative And Capability Maturity Models
Software Security Initiative And Capability Maturity ModelsSoftware Security Initiative And Capability Maturity Models
Software Security Initiative And Capability Maturity Models
Marco Morana
 
UoF - HITRUST & Risk Analysis v1
UoF - HITRUST & Risk Analysis v1UoF - HITRUST & Risk Analysis v1
UoF - HITRUST & Risk Analysis v1
Bryan Cline, Ph.D.
 

Viewers also liked (20)

Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Black Duck & IBM Present: Application Security in the Age of Open Source
Black Duck & IBM Present: Application Security in the Age of Open SourceBlack Duck & IBM Present: Application Security in the Age of Open Source
Black Duck & IBM Present: Application Security in the Age of Open Source
 
Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...
 
Build Security into the Software with Sparrow
Build Security into the Software with SparrowBuild Security into the Software with Sparrow
Build Security into the Software with Sparrow
 
Running a Software Security Program with Open Source Tools
Running a Software Security Program with Open Source ToolsRunning a Software Security Program with Open Source Tools
Running a Software Security Program with Open Source Tools
 
Wave slideshow
Wave slideshowWave slideshow
Wave slideshow
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devil
 
Touchpoints and security
Touchpoints and securityTouchpoints and security
Touchpoints and security
 
Web Applications Security Assessment In The Portuguese World Wide Web Panorama
Web Applications Security Assessment In The Portuguese World Wide Web PanoramaWeb Applications Security Assessment In The Portuguese World Wide Web Panorama
Web Applications Security Assessment In The Portuguese World Wide Web Panorama
 
Owasp atlanta-ciso-guidevs1
Owasp atlanta-ciso-guidevs1Owasp atlanta-ciso-guidevs1
Owasp atlanta-ciso-guidevs1
 
BSIMM and Security Initiative Improvement @OWASPNoVA 02/06/2014
BSIMM and Security Initiative Improvement @OWASPNoVA 02/06/2014BSIMM and Security Initiative Improvement @OWASPNoVA 02/06/2014
BSIMM and Security Initiative Improvement @OWASPNoVA 02/06/2014
 
Securing your web apps before they hurt the organization
Securing your web apps before they hurt the organizationSecuring your web apps before they hurt the organization
Securing your web apps before they hurt the organization
 
SDLC Transformation-Point of View
SDLC Transformation-Point of ViewSDLC Transformation-Point of View
SDLC Transformation-Point of View
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
 
DSS ITSEC 2013 Conference 07.11.2013 - Security in High Risk Environment
DSS ITSEC 2013 Conference 07.11.2013  - Security in High Risk EnvironmentDSS ITSEC 2013 Conference 07.11.2013  - Security in High Risk Environment
DSS ITSEC 2013 Conference 07.11.2013 - Security in High Risk Environment
 
Software Security Initiative And Capability Maturity Models
Software Security Initiative And Capability Maturity ModelsSoftware Security Initiative And Capability Maturity Models
Software Security Initiative And Capability Maturity Models
 
Washington Mutual Bank's Collapse Under An Audit Perspective
 Washington Mutual Bank's  Collapse Under An Audit Perspective Washington Mutual Bank's  Collapse Under An Audit Perspective
Washington Mutual Bank's Collapse Under An Audit Perspective
 
KSA Business Intelligence Qualifications
KSA Business Intelligence QualificationsKSA Business Intelligence Qualifications
KSA Business Intelligence Qualifications
 
UoF - HITRUST & Risk Analysis v1
UoF - HITRUST & Risk Analysis v1UoF - HITRUST & Risk Analysis v1
UoF - HITRUST & Risk Analysis v1
 
Lan & Wan
Lan & WanLan & Wan
Lan & Wan
 

Similar to Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015

[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух
[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух
[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух
OWASP Russia
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
Mike Spaulding
 

Similar to Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015 (20)

[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух
[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух
[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр Антух
 
Texto de Ayuda Un2_Taller de ingles
Texto de Ayuda Un2_Taller de inglesTexto de Ayuda Un2_Taller de ingles
Texto de Ayuda Un2_Taller de ingles
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 
Secure DevOPS Implementation Guidance
Secure DevOPS Implementation GuidanceSecure DevOPS Implementation Guidance
Secure DevOPS Implementation Guidance
 
How to build app sec team & culture in your organization the hack summi...
How to build app sec team & culture in your organization   the hack summi...How to build app sec team & culture in your organization   the hack summi...
How to build app sec team & culture in your organization the hack summi...
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Program
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 
Enterprise Devsecops
Enterprise DevsecopsEnterprise Devsecops
Enterprise Devsecops
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrow
 
Top 5 best practice for delivering secure in-vehicle software
Top 5 best practice for delivering secure in-vehicle softwareTop 5 best practice for delivering secure in-vehicle software
Top 5 best practice for delivering secure in-vehicle software
 
Continuous security testing - sharing responsibility
Continuous security testing - sharing responsibilityContinuous security testing - sharing responsibility
Continuous security testing - sharing responsibility
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Web Application Security Strategy
Web Application Security Strategy Web Application Security Strategy
Web Application Security Strategy
 
Owasp top 10-2017
Owasp top 10-2017Owasp top 10-2017
Owasp top 10-2017
 
OWASP - Building Secure Web Applications
OWASP - Building Secure Web ApplicationsOWASP - Building Secure Web Applications
OWASP - Building Secure Web Applications
 
Owasp top 10 2017 (en)
Owasp top 10 2017 (en)Owasp top 10 2017 (en)
Owasp top 10 2017 (en)
 
OWASP_Top_10-2017_(en).pdf.pdf
OWASP_Top_10-2017_(en).pdf.pdfOWASP_Top_10-2017_(en).pdf.pdf
OWASP_Top_10-2017_(en).pdf.pdf
 
SFSCON23 - Carlo Falciola - Opensource to help increase organizations Cyberse...
SFSCON23 - Carlo Falciola - Opensource to help increase organizations Cyberse...SFSCON23 - Carlo Falciola - Opensource to help increase organizations Cyberse...
SFSCON23 - Carlo Falciola - Opensource to help increase organizations Cyberse...
 

More from Minded Security

More from Minded Security (14)

Ieee S&P 2020 - Software Security: from Research to Industry.
Ieee S&P 2020 - Software Security: from Research to Industry.Ieee S&P 2020 - Software Security: from Research to Industry.
Ieee S&P 2020 - Software Security: from Research to Industry.
 
Matteo Meucci - Security Summit 12th March 2019
Matteo Meucci - Security Summit 12th March 2019Matteo Meucci - Security Summit 12th March 2019
Matteo Meucci - Security Summit 12th March 2019
 
Microservices Security: dos and don'ts
Microservices Security: dos and don'tsMicroservices Security: dos and don'ts
Microservices Security: dos and don'ts
 
Live hacking Demo
Live hacking DemoLive hacking Demo
Live hacking Demo
 
Js deobfuscation with JStillery - bsides-roma 2018
Js deobfuscation with JStillery - bsides-roma 2018Js deobfuscation with JStillery - bsides-roma 2018
Js deobfuscation with JStillery - bsides-roma 2018
 
Matteo Meucci Isaca Venice - 2017
Matteo Meucci  Isaca Venice - 2017Matteo Meucci  Isaca Venice - 2017
Matteo Meucci Isaca Venice - 2017
 
BlueClosure Pitch - Cybertech Europe 2017
BlueClosure Pitch - Cybertech Europe 2017BlueClosure Pitch - Cybertech Europe 2017
BlueClosure Pitch - Cybertech Europe 2017
 
Minded Security - Fabrizio Bugli - (3rd) party like nobody's watching...
Minded Security - Fabrizio Bugli - (3rd) party like nobody's watching...Minded Security - Fabrizio Bugli - (3rd) party like nobody's watching...
Minded Security - Fabrizio Bugli - (3rd) party like nobody's watching...
 
Advanced JS Deobfuscation
Advanced JS DeobfuscationAdvanced JS Deobfuscation
Advanced JS Deobfuscation
 
Sandboxing JS and HTML. A lession Learned
Sandboxing JS and HTML. A lession LearnedSandboxing JS and HTML. A lession Learned
Sandboxing JS and HTML. A lession Learned
 
Concrete5 Sendmail RCE Advisory
Concrete5 Sendmail RCE AdvisoryConcrete5 Sendmail RCE Advisory
Concrete5 Sendmail RCE Advisory
 
Concrete5 Multiple Reflected XSS Advisory
Concrete5 Multiple Reflected XSS AdvisoryConcrete5 Multiple Reflected XSS Advisory
Concrete5 Multiple Reflected XSS Advisory
 
PHP Object Injection
PHP Object InjectionPHP Object Injection
PHP Object Injection
 
iOS Masque Attack
iOS Masque AttackiOS Masque Attack
iOS Masque Attack
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015

  • 1. Software Security in Practice Matteo Meucci CEO Minded Security AIEA Turin – 30-10-2015
  • 2. Agenda I Part) Introduction to Software Security 1.1 Scenario 1.2 What is the state of the Information Security today? 1.3 The main targets of the cyber attacks II Part) How OWASP can support Enterprises 2.1 Web Application Security: the OWASP Guides today 2.2 How to use the testing guide in your processes III part) A structured approach to software security  3.1 OWASP Guidelines and tools in SDLC 3.2 Outsourcing Governance 3.3 SAMM: the assessment to evaluate your Software Development LifeCycle  3.4 Case-Study: how Companies are approaching the Governance of Software Security
  • 3. Informatics Engineer (since 2001) Research • OWASP contributor (since 2002) • OWASP-Italy Chair (since 2005) • OWASP Testing Guide Lead (since 2006) Work • 14+ years on Information Security focusing on Software Security • CEO @ Minded Security – The Software Security Company (since 2007) 3 Who am I?
  • 4. 1. INTRODUCTION TO SOFTWARE SECURITY 1.1 SCENARIO
  • 5. InfoSec scenario: software is the key point Users Cyber criminals Companies Governments Software
  • 6. Is your Google mail secure? • Yes! • No! • I don’t know
  • 7. What is Secure Software? It’s secure! Looks at the lock, down on the right! It’s secure! It’s Google! Sure! The news said that is unbreakable!
  • 8. Software Security Principles • The Vulnerabilities in the software development process are expected. • The control of the security bugs and flaws in the software should be considered as part of the process of software development. • Vulnerability management (fixing process) is the most important step of the process of software security.
  • 9. 1.2 WHAT IS THE STATE OF THE INFORMATION SECURITY TODAY?
  • 10. 2014 Attacks In 2014, 5 out of 6 companies have been the victim of cyber attacks (+ 40% over 2013, Symantec report 2014) 30.000 websites are hacked every day to distribute malware (SOPHOS - Security Threat Report 2012) 2014 important security breaches (DBIR 2015):
  • 11. What is the state of the security today? Attackers Are Moving Faster, Defenses Are Not With Heartbleed, attackers moved in to exploit these vulnerabilities much faster than vendors could create and roll out patches. In 2014, it took 204 days, 22 days, and 53 days, for vendors to provide a patch for the top three most exploited zero-day vulnerabilities. Attackers Are Streamlining and Upgrading Their Techniques, While Companies Struggle to Fight Old Tactics Attackers making each attack more selective by infecting legitimate websites, monitoring site visitors and targeting only the companies they wanted to attack. Also Small and Medium sized organizations are under attacks Last year, 60 percent of all targeted attacks struck small- and medium-sized organizations. These organizations often have fewer resources to invest in security, and many are still not adopting basic best practices like blocking executable files and screensaver email attachments.
  • 12. 1.3 THE MAIN TARGETS OF THE CYBER ATTACKS
  • 13. Target of data breach: what vector attacks are more used today? •Web Applications: access to the DB to stole Credit card or personal user information. Attack vettor: SQL injection, XSS •Crimeware: Five out of every six large companies were targeted with spear-phishing attacks in 2014, a 40 percent increase over the previous year. Attack vector: email, fake sites •Cyber espionage: Governments use cyber espionage to take the control of humans, systems, trade secrets. Attack vector: 0day •DoS: botnet are used to perform distributed attack to sites do deny the services to legitamate users. Attack vector: malware
  • 14. Attacks to Companies • Companies are attacked on the web applications and on their personnel (email, fake sites, malware, mobile) • The top three industries affected are the same as previous years: Public, Information, and Financial Services. (Verizon) • In 60% of cases, attackers are able to compromise an organization within minutes. (Verizon) • The time of reaction it is really slow today 14
  • 15. 2. HOW OWASP CAN SUPPORT THE ENTERPRISES 2.1 THE OWASP GUIDES TODAY
  • 16. OWASP has ~140 Projects • PROTECT - These are tools and documents that can be used to guard against security-related design and implementation flaws. • DETECT - These are tools and documents that can be used to find security-related design and implementation flaws. • LIFE CYCLE - These are tools and documents that can be used to add security-related activities into the Software Development Life Cycle (SDLC).
  • 17. Developer Guide • The First OWASP ‘Guide’ • Complements OWASP Top 10 • 310p Book (on wiki too) • Many contributors • Apps and web services • Most platforms • Examples are J2EE, ASP.NET, and PHP • Unfortunately Outdated • Project Leader and Editor  Andrew van der Stock, vanderaj@owasp.org
  • 18. Code Review Guide • Most comprehensive open source secure code review guide on the web • Years of development effort • Version 1.1 produced during 2008 • Numerous contributors • Version 2.0 effort launched in 2012 • Project Leader and Editor  Eoin Keary, eoin.keary@owasp.org www.owasp.org/index.php/Code_Review_Guide
  • 19. Code Review Guide public void findUser() { boolean showResult = false; String username = this.request.getParameter("username"); ... this.context.put("username", username); this.context.put("showResult", showResult); }
  • 20. Testing Guide www.owasp.org/index.php/Testing_Guide • Most comprehensive open source secure testing guide on the web • Years of development effort • Version 4.0 produced in 2014 • Hundred of contributors • Project Leader and Editor • Matteo Meucci, Andrew Muller  matteo.meucci@owasp.org, andrew.muller@owasp.org
  • 22. The OWASP Testing Guide: Community driven for all the Enterprises
  • 23. The state of the art of the Web Application Penetration Testing
  • 24. Fight with the same weapons (knowledge)
  • 25.  July 14, 2004 "OWASP Web Application Penetration Checklist", V1.0  December 25, 2006 "OWASP Testing Guide", V2.0  December 16, 2008 "OWASP Testing Guide", V3.0  September 17, 2014 "OWASP Testing Guide", V 4.0 Citations: • NIST SP800-115 “Technical Guide to Information Security Testing and Assessment” • Gary McGraw (CTO Cigital) says: “In my opinion it is the strongest piece of Intellectual Property in the OWASP portfolio” – OWASP Podcast by Jim Manico • NSA’s "Guidelines for Implementation of REST“ • Official (ISC)2 Guide to the CSSLP - Page: 70, 365 • Many books, blogs and websites Testing Guide History Note: use the Guide only on your local applications or be sure to have an NDA in place with the owner of the application before test it.
  • 26. 2.2 HOW TO USE THE TESTING GUIDE IN YOUR PROCESSES
  • 27. How to use the methodology Web Application Source Code public void findUser() { boolean showResult = false; String username = this.request.getParameter("us ername"); ... this.context.put("username", ESAPI.encoder().encodeForHT MLAttribute(username)); this.context.put("showResult", showResult); } Methodology Report Fixing Methodology Retest Report
  • 29. Example of unstructured approach: Ministry of Informatics
  • 30. Actors User: who uses the software Ministry of Informatics: who buys the software Development teams (internal/external): who develops the software
  • 31. Press conference for the launch of the service Now you can take advantage of a new service on the portal of the Ministry of Informatics Fantastic!! Compliments!!
  • 33. Users access to the portal… John Black – 12/12/1970 – JBlack@company.com Josh White - 10/09/1982 – White@bank.com Paul Red– 09/02/1960 – Paul@bank.com
  • 34. Users access to the portal… Oh oh...I find a problem...
  • 36. The reactions… Ohh..how it was possible? Fault of the developers! but it is impossible !? We followed all your instructions If you do not ask for security, no one will develop secure software Use the Testing Guide as common framework
  • 37. An year after…another security breach but it is impossible!? We adopt the OWASP Testing Guide! Web Application Penetration testing is not enough! If you do not design a correct vulnerability fixing process you will not solve the vulnerabilities of your application Ohh..how it was possible? Fault of the developers!
  • 38. 3. A STRUCTURED APPROACH TO SOFTWARE SECURITY
  • 39. 3.1 OWASP GUIDELINES AND TOOLS IN YOUR SDLC
  • 40. The Importance to use all the OWASP resources into your SDLC If you do not ask for security, no one will develop secure software Use the OWASP Software Contract Annex to regulate your outsourcer contracts If you do not know the application threats, you will develop unsecure software Use the OWASP Top 10 for General Awareness Use the CISO Guide for Management’s Awareness Vulnerabilities in the software development process are expected Use the OWASP Building Guide and ESAPI to write more secure software Use the OWASP Secure Code Review Guide to review the code Use the OWASP Testing Guide to review to test your application
  • 41. The Importance to use all the OWASP resources into your SDLC The fixing process is the most important step of the process of software security Retest your application after a bug fixing or a new release to be sure that the right implementations are in place How can I manage the Software Security Governance? Use the OWASP SAMM to assess your maturity and to build an Application Security Program to manage the SDLC
  • 42. 42 OWASP Guidelines in the SAMM model Governance Construction Verification Deployment 42
  • 44. Secure SDLC Costs relating the fixing in the phases of SDLC Source: Official (ISC)2 Guide to CSSLP (2011)
  • 45. Source: Official (ISC)2 Guide to CSSLP (2012) SDLC Stakeholders
  • 46. Secure SDLC Fasi SDLC Secure Software processes Define Secure Software Requirements Design Secure Software Design Develop Secure Software Implementation Deploy Secure Software Testing & Acceptance Maintain Secure Software Deployment & Maintenance
  • 47. Roles and responsabilities 4 7 Define Design Develop Deploy Maintain Risk Assessment Secure Design Design Review Software Acceptance Web Intrusion Monitoring Secure Requirements Threat Modeling Secure Development Secure Installation Change Management Secure Architecture SCR and WAPT Hardening Fixing Business Analyst Security Manager Business Analyst AppSec Specialist Business Analyst Software Architect, AppSec Specialist Security Manager Application Owner Software Architect Security Manager Security Manager Developer AppSec Specialist Developer Security Manager App Owner Sistemista Sistemista AppSec Specialist Sec Manager App Owner Develper
  • 48. Development Team Code Review Team Application Testing Team Outsourcing Contratto di sviluppo (Fornitore) (Committente) Contratto di sviluppo
  • 49. Collaudo software Source: • OWASP Secure Software Development Contract Annex • Capability Maturity Model v1.1 • ISO/IEC 27006:2007 (Information technology — Security techniques — Requirements for bodies providing audit and certification of information security management systems )
  • 50. Filosofia del documento (a) Le decisioni sulla sicurezza saranno basate sui rischi. Le decisioni saranno effettuate congiuntamente da cliente e sviluppo (b) Le attività di sicurezza saranno bilanciate. Distribuite in modo uniforme nell'intero ciclo di vita dello sviluppo software. (c) L’Attività di sicurezza sarà integrata. Tutte le attività e la documentazione saranno integrate nel ciclo di vita del software per gli sviluppatori e non tenuto separato dal resto del progetto. (d) Le vulnerabilità sono attese. Tutto il software presenta dei bug. Si cercherà di identificare le vulnerabilità più presto possibile nel ciclo di vita del sw. (e) Le vulnerabilità saranno condivise. Tutte le informazioni relative alla sicurezza saranno condivise tra il Cliente e Sviluppo immediatamente e completamente.
  • 51. Principi fondamentali Prima di acquisire il software da un outsourcer è importante verificare che soddisfi i requisiti di: – Compliance, Qualità, Funzionalità e Sicurezza – I requisiti di sicurezza devono essere validati e i controlli di sicurezza verificati internamente o da una terza parte tramite security testing (V&V). – Il software non deve essere rilasciato fino a che non sia stato certificato e accreditato che il rischio residuo è al livello appropriato (C&A).
  • 52. Modello di Software Acceptance Sviluppo Cliente Secure Software Development Contract 1. Security Requirements 2. Librerie e framework 3. Security Review 4. Assurance 5. Acceptance Secure Software Development Contract
  • 53. (1) Security Requirements area • Validation and Encoding. • Authentication and Session Management. • Access Control. • Error Handling. • Logging. • Connections to External Systems. • Encryption. • Availability • Secure Configuration. • Specific Vulnerabilities. “OWASP Top Ten Most Critical Web Application Vulnerabilities.”
  • 54. (1) Esempio di security Requirements ID Requisito Data Validation-003 – UTILIZZARE I PREPARED STATEMENT Descriz. L’applicazione è soggetta a vulnerabilità di SQL Injection quando usa l’input fornito dall’utente senza validarlo per fare delle query sul database (ad esempio la ricerca dell’utente in fase di login oppure quando si usa una funzione di ricerca fornita dall’applicazione). È necessario fare uso solo di Prepared Statement evitando l’uso di concatenazioni di stringhe. LìuUtilizzo di concatenazione di stringhe per costruire la query da ingresso arbitrario non renderà il PreparedStatement sicuro. Per esempio: PreparedStatement = "SELECT * FROM utenti WHERE Nome = '" + username + "',"; Se un attaccante inserisce: 'O '1' = '1 Nel campo nome utente, il PreparedStatement sarà vulnerabile a SQL injection, dal momento che tale query verrà eseguita sul database come SELECT * FROM utenti WHERE Nome ='' OR '1 '= '1'; Quindi, se si utilizza invece: PreparedStatement = "SELECT * FROM utenti WHERE nome =?"; preparedStatement.setString (1, userName); ....
  • 55. (1) Esempio di checklist
  • 56. (2) Librerie, framework e prodotti • Disclosure. Lo sviluppo deve indicare tutti i software di terze parti usati nel software, incluse tutte le librerie, strutture, componenti, e altri prodotti, siacommerciale, gratuito, open-source o closed-source (si può decidere in fase di design quali librerie e framework debba utilizzare l’outsourcer). • Evaluation. Lo sviluppo dovrà fare ogni ragionevole sforzo per assicurare che il software di terze parti soddisfi tutti i termini di questo accordo ed è sicuro come il codice personalizzato sviluppato nell'ambito dell’accordo.
  • 57. (3) Security Review Right to Review. Il cliente ha il diritto di rivedere il codice a proprie spese in ogni momento fino a 60 giorni dalla consegna. Lo sviluppo si impegna a fornire un supporto ragionevole del team di revisione, fornendo il codice sorgente e l'accesso ad ambienti di test. Review Coverage. Il Security Review comprende tutti gli aspetti del software fornito, incluso il codice personalizzato,componenti, prodotti e configurazione del sistema. Scope of Review. Come minimo, la revisione riguarda tutti i requisiti di sicurezza e le vulnerabilità comuni. La revisione può includere una combinazione di scansione di vulnerabilità, PT , l'analisi statica del codice sorgente e il code Review di esperti. Issues Discovered. I problemi di sicurezza scoperti verranno segnalati e devono essere fixati prima di procedere ai prossimi passi.
  • 58. (3) Security Review • In questa fase viene effettuato il processo di Validate & Verify secondo il modello CMMI v.1.1: – Validate • Si verifica che il software si comporti secondo il disegn e i requisiti stabiliti. • Si validano i security requirements concordati (checklist). – Verify dei controlli implementati al fine di evitare possibili vulnerabilità • Secure Code Review • Penetration Testing
  • 59. (4) Assurance (a) Certification Package. Lo sviluppo fornirà un "pacchetto di certificazione" costituito dalla documentazione relativa alla protezione creata durante il processo di sviluppo. Il pacchetto dovrebbe stabilire che i requisiti di sicurezza, progettazione, implementazione e risultati di test siano stati compilati. (b) Autocertificazione. Lo sviluppo certifica che il software soddisfi i requisiti di sicurezza, tutte le attività di sicurezza sono stati effettuate, e tutti i problemi legati alla sicurezza sono stati documentati e risolti. (c) Nessun codice dannoso. Lo sviluppo garantisce che il software non deve contenere alcun codice dannoso, come virus, worm, backdoor, malware.
  • 60. (5) Acceptance • Considerazioni generali •Tutti i requisiti funzionali e di sicurezza sono stati completati come da contratto? Criteri di completezza •Esiste un processo per gestire le richieste di cambiamento? Change Management •Il rischio residuo di acceptance e le eccezioni alle policy sono entro i limiti stabiliti? Accettazione del rischio ed exception policy •Tutta la documentazione è disponibile? Documentazione del software
  • 61. (5) Acceptance In questa fase si esegue il processo di Certification & Accreditation (C&A) secondo il CMM v1.1 – Il software non può essere considerato accettato fino a quando il pacchetto di certificazione è completo e tutte le questioni relative alla sicurezza sono state risolte: • Documentazione completa. • Fixing e Retest effettuati oppure valutazione che il rischio residuo è al livello appropriato.
  • 62. Security issue management and acceptance Sviluppo Cliente Secure Software Development Contract 1. Security Requirements 2. Librerie e framework 3. Security Review 4. Assurance 5. Acceptance Secure Software Development Contract
  • 63. FALSI MITI Comuni reazioni da parte dei fornitori: (1) Non vi preoccupate sviluppiamo utilizzando lo standard OWASP (2) Broken Authentication Session Hijacking, Liferay offre una serie di feature di sicurezza per la gestione dell’autenticazione e anche per altre possibili security issues (3) Cross Site Scripting: JSF ha una serie di feature di sicurezza anti XSS (4) Broken Access Control: garantito dall’applicazione che andremo a sviluppare
  • 64. 3.3 SAMM: THE ASSESSMENT TO EVALUATE YOUR SOFTWARE DEVELOPMENT LIFECYCLE
  • 65. SAMM goals • SAMM allows a Company to: – Measure and improve software security best practices – Focus on security risk to make effective use of security resources – Find vulnerabilities earlier in the development process – Design a Roadmap to manage the software security in your projects
  • 66. OWASP SAMM: objectives The SAMM’s goals are: Evaluate an organization’s existing software security practices Build a balanced software security assurance program in well-defined iterations Demonstrate concrete improvements to a security assurance program Define and measure security-related activities throughout an organization
  • 67. OWASP SAMM: 4 Business functions Define Design Develop Deploy Maintain Governance Construction Verification Deployment Software development management activities and organisation-wide business processes Goal definition and software creation processes Checking, evaluation and testing of software development artifacts Software release management and normal operational management
  • 68. OWASP SAMM: 12 Security Practices
  • 69. Governance • Strategy & Metrics involves the overall strategic direction of the software assurance program and instrumentation of processes and activities to collect metrics about an organization’s security posture. • Policy & Compliance involves setting up a security and compliance control and audit framework throughout an organization to achieve increased assurance in software under construction and in operation. • Education & Guidance involves increasing security knowledge amongst personnel in software development through training and guidance on security topics relevant to individual job functions. 6 9 Governance Strategy & Metrics Policy & Compliance Education & Guidance
  • 70. Construction • Threat Assessment involves accurately identifying and characterizing potential attacks upon an organization’s software in order to better understand the risks and facilitate risk management. • Security Requirements involves promoting the inclusion of security-related requirements during the software development process in order to specify correct functionality from inception. • Secure Architecture involves bolstering the design process with activities to promote secure-by- default designs and control over technologies and frameworks upon which software is built. 7 0 Construction Threat Assessment Security Requirements Secure Architecture
  • 71. Verification • Design Review involves inspection of the artifacts created from the design process to ensure provision of adequate security mechanisms and adherence to an organization’s expectations for security. • Code Review involves assessment of an organization’s source code to aid vulnerability discovery and related mitigation activities as well as establish a baseline for secure coding expectations • Security Testing involves testing the organization’s software in its runtime environment in order to both discover vulnerabilities and establish a minimum standard for software releases. 7 1 Verification Design Review Code Review Security Testing
  • 72. Deployment • Vulnerability Management involves establishing consistent processes for managing internal and external vulnerability reports to limit exposure and gather data to enhance the security assurance program. • Environment Hardening involves implementing controls for the operating environment surrounding an organization’s software to bolster the security posture of applications that have been deployed. • Operational Enablement involves identifying and capturing security-relevant information needed by an operator to properly configure, deploy, and run an organization’s software. Deployment Vulnerability Management Environment Hardening Operational Enablement
  • 73. 73 SAMM activities 1. Conduct the first assessment 2. Create a score card 3. Create a Software Security Program 1. Metrics 2. Road map 4. Implement the objectives of the roadmap and conduct a new assessment
  • 74. Step 0: SAMM Startup • Give a presentation of SAMM model and objectives to all the people involved in the assessment in the Company • Collect the name and functions of the people involved in the assessment with the SAMM sponsor (Roles and responsability)
  • 75. Step 1: conduct the assessment
  • 76. Step 2: evaluate the assessment
  • 77. Step 3: create the scorecard
  • 78. Step 4: create the roadmap • For each Security Practice write down the Activities to implement • Evaluate the benifts and the efforts for the organization necessary to improve each Security Practice.
  • 79. Step 4: create the roadmap
  • 80. Step 5: Magic quadrant for the actions
  • 81. Step 6: scorecard with roadmap
  • 82. Step 7: write the report
  • 83. 3.4 CASE-STUDY: HOW COMPANIES ARE APPROACHING THE GOVERNANCE OF SOFTWARE SECURITY
  • 84. What Italian Companies are doing today Area: Governance Activities Participants Strategy and Metrics Conduct periodic industry wide cost comparisons, collect metrics for historic security spend (% project), past spending. 10% Policy and Compliance Identify and monitor external compliance drivers, build and maintain compliance guidelines. 80% Education and Guidance Training courses for Developers, Analysts, Auditors and Workshop for Management. 55% Source: Minded Security – Results of 12 assessments from 2012 to 2015
  • 85. What Italian Companies are doing today (2) Area: Construction Activities Participants Secure Architecture Build the document for the Governance of the development outsourcing process. 30% Security Requirements Develop: “Building Secure applications guidelines”. 60% Secure Design Apply the methodology of threat modeling to the projects evaluated with medium to high risk in the definition phase of the project and the specific 10% Source: Minded Security – Results of 12 assessments from 2012 to 2015
  • 86. What Italian Companies are doing today (3) Area: Verification Activities Participants Design Review Identify software attack surface, Analyze design against known security requirements, Inspect for complete provision of security mechanisms. 20% Code Review Conduct Manual Secure Code Review for critical applications 30% Security Testing Conduct penetration testing on software releases with fixing support. 75% Source: Minded Security – Results of 12 assessments from 2012 to 2015
  • 87. What Italian Companies are doing today (4) Area: Deployment Activities Participants Vulnerability Management Create information security response team(s) for the application security, Establish consistent incident response process, Conduct root cause analysis for application security incidents. 20% Environment Hardening Develop Hardening procedures for all your technologies, Implement a fixing process to be sure to patch all the issues identified during the security assessment. 60% Operational Enablement Request support for fixing all the vulnerabilities identified during the Secure Code Review and Penetration Testing activities. 40% Source: Minded Security – Results of 12 assessments from 2012 to 2015
  • 89.
  • 90. Key point to implement a Software Security Program (SSP) Carrying out the activities of a SSP without commitment of the Companies is very unlikely • Identify and work with Software Security Group (SSG): The internal group charged with carrying out and facilitating the SSP. • Identify and promote Satellite groups in your Company: a group of interested and engaged developers, architects, software managers, testers, who have a natural affinity for software security. A strong SSG is fundamental to carry on the software security initiative.
  • 91. Key point to have a mature Software Security Program (SSP) A fast fixing process is the key to have a mature SSP • Satellite architects: should fix flaws asap • Satellite developers: should fix bugs asap • Satellite tester: should test if the remediations are strong enough asap. A strong satellite is the key of a mature software security initiative.
  • 92. Next steps? Companies will: • Hire Information Security managers. • Hire Talents skill on Application Security in your organizations. • Implement Software Security Governance. • Provide ongoing education and training: guidelines and company policies for protecting sensitive data on personal and corporate devices. • Prepare for the worst: Incident management crises.
  • 94. REFERENCES • OWASP: http://www.owasp.org •https://www.owasp.org/index.php/OWASP_WASC_Web_Hacking_Incide nts_Database_Project • Rapporto CLUSIT 2015 • Enisa European Threat Landscape 2014 • Symantec Internet-security-threat-report-volume-20-2015 • Verizon rp_data-breach-investigation-report-2015 •Ponemon Institure Report 2015 • OWASP SAMM: http://www.opensamm.org • BSIMM v6: http://www.bsimm.com