SlideShare uma empresa Scribd logo
1 de 48
Software Development
Weaknesses
Tatár Balázs János
SecOSdays Sofia – 25-26 October, 2019
WHO AM I?
Tatár Balázs János - @tatarbj
 CTO @ Petend
 Open Source Security Correspondent @ EU Commission
 SecOSdreamer @ SecOSdays
 Globetrotter @ Open Source software communities
OWASP TOP10
 Open Web Application Security Project
 TOP10 releases: 2010, 2013, 2017 (latest)
 General concept: the most critical web application security risks
 Well-known source for technical security awareness programs
Common Weakness Enumeration (CWE)
 A Community-Developed List of Software Weakness Types
 Library for all software weaknesses
 2019 CWE Top 25 Most Dangerous Software Errors
 Data-driven approach based on CVEs data and related CWE
mappings calculated by CVSS scores
The concept of this session
 OWASP TOP 10 – great for overview
 CWE TOP 25 – great for details and research
 Let’s map them and see some code (spoiler alert!)
 Following the OWASP list from 2017 and matching CWE entries
WARNINGS!
 Weaknesses are not vulnerabilities!
 They can cause certain malfunctioning.
 Many of the CWEs are conceptional/architectural issues
and raising awareness is the main purpose of this session.
CWE-223 - Omission of Security-relevant
Information
 Language independent, architectural/conceptual issue.
 Not recording or displaying relevant information that would
be important for identifying the source of an attack.
 Loss of information might cause futher issues.
OWASP 2017
A10
INSUFFICIENT
LOGGING AND
MONITORING
CWE-223 - Omission of Security-relevant
Information
OWASP 2017
A10
INSUFFICIENT
LOGGING AND
MONITORING
CWE-778 - Insufficient Logging
 Security-critical event occurs and the software either does not
record it or omits important details of it (similar to CWE-223).
OWASP 2017
A10
INSUFFICIENT
LOGGING AND
MONITORING
No CWEs
„This is an unusual category. CWE does not cover the
limitations of human processes and procedures that cannot
be described in terms of a specific technical weakness as
resident in the code, architecture, or configuration of the
software. Since "known vulnerabilities" can arise from
any kind of weakness, it is not possible to map this OWASP
category to other CWE entries, since it would effectively
require mapping this category to ALL weaknesses.”
OWASP 2017
A9
USING
COMPONENTS
WITH KNOWN
VULNERABILITIES
Managing 3rd parties
OWASP 2017
A9
USING
COMPONENTS
WITH KNOWN
VULNERABILITIES
 OWASP Dependency checker
 Composer-based tools
 Codario (Silver Sponsor of SecOSdays Sofia)
 Violinist (Special partner of SecOSdays Sofia)
 You can do it by your hand (not neccessarily a good strategy)
CWE-502 - Deserialization of Untrusted
Data
OWASP 2017
A8
INSECURE
DESERIALIZATION
 Untrusted data cannot be considered data because of
being well-formated.
 It can lead to unauthorized actions (missing
restrictions, methods that self-execute, shell
generations)
CWE-502 - Deserialization of Untrusted
Data
OWASP 2017
A8
INSECURE
DESERIALIZATION
CWE-79 - Improper Neutralization of
Input During Web Page Generation
OWASP 2017
A7
CROSS-SITE
SCRIPTING
 The application does not or incorrectly neutralize user-
controlled input before it’s being placed in output.
 Types: Reflected, Stored and DOM-based XSS
CWE-79 - Improper Neutralization of
Input During Web Page Generation
OWASP 2017
A7
CROSS-SITE
SCRIPTING
CWE-209 - Information Exposure
Through an Error Message
OWASP 2017
A6
SECURITY
MISCONFIGURATION
 Generated error messages that include sensitive information
about its environment, users or associated data.
 Can be mitigated on infrastructure level, but ultimately
should be avoided in the application.
CWE-209 - Information Exposure
Through an Error Message
OWASP 2017
A6
SECURITY
MISCONFIGURATION
CWE-676 - Use of Potentially
Dangerous Function
OWASP 2017
A6
SECURITY
MISCONFIGURATION
 The function can be used safely, but not recommended.
 Usually by evolving the language it gets deprecated (and
replaced by safer solutions).
CWE-732 - Incorrect Permission
Assignment for Critical Resource
OWASP 2017
A6
SECURITY
MISCONFIGURATION
 The application specified permissions do their job in a way that
allows that resource to be read/modified by unintended actions.
CWE-22 - Improper Limitation of a
Pathname to a Restricted Directory
OWASP 2017
A5
BROKEN ACCESS
CONTROL
 The application uses external input to construct a pathname, it
identifies a file/directory that is located underneath a restricted
parent directory.
 This weakness is present when the input is not properly
neutralized.
CWE-22 - Improper Limitation of a
Pathname to a Restricted Directory
OWASP 2017
A5
BROKEN ACCESS
CONTROL
CWE-285 - Improper Authorization
OWASP 2017
A5
BROKEN ACCESS
CONTROL
 The application does not or incorrectly performs an
authorization check when an actor attempts to access a resource
or performs an action.
CWE-611 - Improper Restriction of XML
External Entity Reference
OWASP 2017
A4
XML EXTERNAL
ENTITIES
 The software processes an XML document that can contain XML
entities with URIs that resolve to documents outside of the
intended sphere of control.
 It can cause the product to embed incorrect documents into its
output.
 In given circumstances it can lead to Remote Code Execution.
CWE-776 - Improper Restriction of
Recursive Entity References in DTDs (XML
Entity Expansion)
OWASP 2017
A4
XML EXTERNAL
ENTITIES
 The software uses XML documents and allows their structure to
be defined with a Document Type Definition (DTD), but it does
not properly control the number of recursive definitions of
entities.
 If the DTD contains a large number of nested or recursive
entities, this can lead to explosive growth of data when parsed,
causing a denial of service.
CWE-776 - Improper Restriction of
Recursive Entity References in DTDs (XML
Entity Expansion)
OWASP 2017
A4
XML EXTERNAL
ENTITIES
CWE-120 - Buffer Copy without Checking
Size of Input (Classic Buffer Overflow)
OWASP 2017
TOP10
Not present
 The program copies an input buffer to an output buffer without
verifying that the size of the input buffer is less than the size of
the output buffer, leading to a buffer overflow.
CWE-352 - Cross-Site Request Forgery
OWASP 2017
TOP10
Not present
 The web application does not, or can not, sufficiently verify whether a
well-formed, valid, consistent request was intentionally provided by
the user who submitted the request.
 It might be possible for an attacker to trick a client into making an
unintentional request to the web server which will be treated as an
authentic request. (No webserver protection)
 It can be done via a URL, image load, XMLHttpRequest, etc. and can
result in exposure of data or unintended code execution.
CWE-352 - Cross-Site Request Forgery
OWASP 2017
TOP10
Not present
CWE-601 - URL Redirection of
Untrusted Site (Open Redirect)
OWASP 2017
TOP10
Not present
 A web application accepts a user-controlled input that specifies
a link to an external site, and uses that link in a Redirect.
 It simplifies phishing attacks.
CWE-601 - URL Redirection of
Untrusted Site (Open Redirect)
OWASP 2017
TOP10
Not present
CWE-312 - Cleartext Storage of
Sensitive Information
OWASP 2017
A3
SENSITIVE DATA
EXPOSURE
 The application stores sensitive information in cleartext within a
resource that might be accessible to another control sphere.
 Even if the information is encoded in a way that is not human-
readable, certain techniques could determine which encoding is
being used, then decode the information.
CWE-312 - Cleartext Storage of
Sensitive Information
OWASP 2017
A3
SENSITIVE DATA
EXPOSURE
CWE-359 - Exposure of Private
Information (Privacy Violation)
OWASP 2017
A3
SENSITIVE DATA
EXPOSURE
 The software does not properly prevent private data from being
accessed by actors who either are not explicitly authorized to
access the data or do not have the implicit consent of the people to
which the data is related.
 Examples:
 Private user information enters the program.
 The data is written to an external location, such as the console, file
system, or network.
CWE-359 - Exposure of Private
Information (Privacy Violation)
OWASP 2017
A3
SENSITIVE DATA
EXPOSURE
AOL employee sold private data
In 2004 someone at AOL sold approx.
92 million private customer e-mail
addresses to a spammer marketing of
an offshore gambling web site.
In response to such high-profile
exploits, the collection and
management of private data is
becoming increasingly regulated.
CWE-327 - Use of a Broken or Risky
Cryptographic Algorithm
OWASP 2017
A3
SENSITIVE DATA
EXPOSURE
 The use of a non-standard algorithm is dangerous because an
attacker may be able to break the algorithm and compromise
whatever data has been protected.
 Well-known techniques may exist to break the algorithm.
CWE-256 - Unprotected Storage of
Credentials
OWASP 2017
A2
BROKEN
AUTHENTICATION
 Password management issues occur when a password is stored in
plaintext in an application's properties or configuration file.
 Storing a plaintext password in a configuration file allows anyone
who can read the file access to the password-protected resource.
CWE-256 - Unprotected Storage of
Credentials
OWASP 2017
A2
BROKEN
AUTHENTICATION
CWE-308 - Use of Single-factor
Authentication
OWASP 2017
A2
BROKEN
AUTHENTICATION
 The use of weak, reused, and common passwords is rampant on the
internet.
 Without the added protection of multiple authentication schemes, a
single mistake can result in the compromise of an account.
 If multiple schemes are possible and also easy to use, they should be
implemented and required.
CWE-308 - Use of Single-factor
Authentication
OWASP 2017
A2
BROKEN
AUTHENTICATION
CWE-640 - Weak Password Recovery
Mechanism for Forgotten Password
OWASP 2017
A2
BROKEN
AUTHENTICATION
 The software contains a mechanism for users to recover or
change their passwords without knowing the original password,
but the mechanism is weak. The eBay attack
eBay always displays the user id of the highest bidder. In the
final minutes of the auction, one of the bidders could try to
log in as the highest bidder three times. After three incorrect
log in attempts, eBay password throttling would kick in and
lock out the highest bidder's account for some time.
An attacker could then make their own bid and their victim
would not have a chance to place the counter bid because
they would be locked out. Thus an attacker could win the
auction.
CWE-90 - Improper Neutralization of Special
Elements used in an LDAP Query
OWASP 2017
A1
INJECTION
 The software constructs all or part of an LDAP query using externally-
influenced input from an upstream component, but it does not neutralize or
incorrectly neutralizes special elements that could modify the intended LDAP
query when it is sent to a downstream component.
CWE-89 - Improper Neutralization of Special
Elements used in an SQL Command
OWASP 2017
A1
INJECTION
 Without sufficient removal or quoting of SQL syntax in user-
controllable inputs, the generated SQL query can cause those
inputs to be interpreted as SQL instead of ordinary user data.
 It can be used to alter query logic to bypass security checks, or
to insert additional statements that modify the back-end
database, possibly including execution of system commands.
CWE-89 - Improper Neutralization of Special
Elements used in an SQL Command
OWASP 2017
A1
INJECTION
CWE-78 - Improper Neutralization of Special
Elements used in an OS Command
OWASP 2017
A1
INJECTION
 The software constructs all or part of an OS command using
externally-influenced input from an upstream component.
 It does not neutralize or incorrectly neutralizes special elements
that could modify the intended OS command when it is sent to a
downstream component.
CWE-78 - Improper Neutralization of Special
Elements used in an OS Command
OWASP 2017
A1
INJECTION
Sum up
 Weaknesses can harm data, users or systems directly.
 Protection does not always exist.
 Concepts are language-neutral.
 #securityawareness
QUESTIONS?
THANK YOU!
Tatár Balázs János
@tatarbj

Mais conteúdo relacionado

Mais procurados

Top 10 Web Application vulnerabilities
Top 10 Web Application vulnerabilitiesTop 10 Web Application vulnerabilities
Top 10 Web Application vulnerabilitiesTerrance Medina
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASPMarco Morana
 
OWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New VulnerabilitiesOWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New VulnerabilitiesDilum Bandara
 
PASTA: Risk-centric Threat Modeling
PASTA: Risk-centric Threat ModelingPASTA: Risk-centric Threat Modeling
PASTA: Risk-centric Threat ModelingCraig Walker, CISSP
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Brian Huff
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) securityNahidul Kibria
 
The New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseThe New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseSecurity Innovation
 
Sql injection bypassing hand book blackrose
Sql injection bypassing hand book blackroseSql injection bypassing hand book blackrose
Sql injection bypassing hand book blackroseNoaman Aziz
 
OWASP Top 10 - 2017
OWASP Top 10 - 2017OWASP Top 10 - 2017
OWASP Top 10 - 2017HackerOne
 
Owasp top 10 & Web vulnerabilities
Owasp top 10 & Web vulnerabilitiesOwasp top 10 & Web vulnerabilities
Owasp top 10 & Web vulnerabilitiesRIZWAN HASAN
 
OWASP Top 10 - 2017 Top 10 web application security risks
OWASP Top 10 - 2017 Top 10 web application security risksOWASP Top 10 - 2017 Top 10 web application security risks
OWASP Top 10 - 2017 Top 10 web application security risksKun-Da Wu
 
Axoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesAxoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesBulent Buyukkahraman
 
Beyond OWASP Top 10 - Hack In Paris 2017
Beyond OWASP Top 10 - Hack In Paris 2017Beyond OWASP Top 10 - Hack In Paris 2017
Beyond OWASP Top 10 - Hack In Paris 2017Aaron Hnatiw
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingAnurag Srivastava
 

Mais procurados (20)

Top 10 Web Application vulnerabilities
Top 10 Web Application vulnerabilitiesTop 10 Web Application vulnerabilities
Top 10 Web Application vulnerabilities
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASP
 
OWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New VulnerabilitiesOWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New Vulnerabilities
 
OWASP TOP 10 & .NET
OWASP TOP 10 & .NETOWASP TOP 10 & .NET
OWASP TOP 10 & .NET
 
PASTA: Risk-centric Threat Modeling
PASTA: Risk-centric Threat ModelingPASTA: Risk-centric Threat Modeling
PASTA: Risk-centric Threat Modeling
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
OWASP Top 10 Project
OWASP Top 10 ProjectOWASP Top 10 Project
OWASP Top 10 Project
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 
The New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseThe New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the Chase
 
Sql injection bypassing hand book blackrose
Sql injection bypassing hand book blackroseSql injection bypassing hand book blackrose
Sql injection bypassing hand book blackrose
 
OWASP Top 10 - 2017
OWASP Top 10 - 2017OWASP Top 10 - 2017
OWASP Top 10 - 2017
 
Owasp top 10 & Web vulnerabilities
Owasp top 10 & Web vulnerabilitiesOwasp top 10 & Web vulnerabilities
Owasp top 10 & Web vulnerabilities
 
OWASP Top 10 - 2017 Top 10 web application security risks
OWASP Top 10 - 2017 Top 10 web application security risksOWASP Top 10 - 2017 Top 10 web application security risks
OWASP Top 10 - 2017 Top 10 web application security risks
 
Axoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesAxoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing Services
 
Beyond OWASP Top 10 - Hack In Paris 2017
Beyond OWASP Top 10 - Hack In Paris 2017Beyond OWASP Top 10 - Hack In Paris 2017
Beyond OWASP Top 10 - Hack In Paris 2017
 
Owasp top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017
 
OWASP API Security TOP 10 - 2019
OWASP API Security TOP 10 - 2019OWASP API Security TOP 10 - 2019
OWASP API Security TOP 10 - 2019
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
 
Owasp first5 presentation
Owasp first5 presentationOwasp first5 presentation
Owasp first5 presentation
 

Semelhante a Software Development Weaknesses - SecOSdays Sofia, 2019

OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE Magno Logan
 
Owasp top 10 Vulnerabilities by cyberops infosec
Owasp top 10 Vulnerabilities by cyberops infosecOwasp top 10 Vulnerabilities by cyberops infosec
Owasp top 10 Vulnerabilities by cyberops infosecCyberops Infosec LLP
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software Shreeraj Shah
 
OWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersOWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersLewis Ardern
 
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities Braindev Kyiv
 
Pangolin whitepaper
Pangolin whitepaperPangolin whitepaper
Pangolin whitepapermattotamhe
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxcgt38842
 
OWASP_Top_Ten_Proactive_Controls_v32.pptx
OWASP_Top_Ten_Proactive_Controls_v32.pptxOWASP_Top_Ten_Proactive_Controls_v32.pptx
OWASP_Top_Ten_Proactive_Controls_v32.pptxnmk42194
 
DevSecOps - automating security
DevSecOps - automating securityDevSecOps - automating security
DevSecOps - automating securityJohn Staveley
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxjohnpragasam1
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxazida3
 
OWASP - Building Secure Web Applications
OWASP - Building Secure Web ApplicationsOWASP - Building Secure Web Applications
OWASP - Building Secure Web Applicationsalexbe
 
Top web apps security vulnerabilities
Top web apps security vulnerabilitiesTop web apps security vulnerabilities
Top web apps security vulnerabilitiesAleksandar Bozinovski
 
OWASP Top 10 And Insecure Software Root Causes
OWASP Top 10 And Insecure Software Root CausesOWASP Top 10 And Insecure Software Root Causes
OWASP Top 10 And Insecure Software Root CausesMarco Morana
 
IISF-March2023.pptx
IISF-March2023.pptxIISF-March2023.pptx
IISF-March2023.pptxEoin Keary
 

Semelhante a Software Development Weaknesses - SecOSdays Sofia, 2019 (20)

OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE
 
Cyber ppt
Cyber pptCyber ppt
Cyber ppt
 
Owasp top 10 Vulnerabilities by cyberops infosec
Owasp top 10 Vulnerabilities by cyberops infosecOwasp top 10 Vulnerabilities by cyberops infosec
Owasp top 10 Vulnerabilities by cyberops infosec
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software
 
OWASP -Top 5 Jagjit
OWASP -Top 5 JagjitOWASP -Top 5 Jagjit
OWASP -Top 5 Jagjit
 
OWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersOWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript Developers
 
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
 
Pangolin whitepaper
Pangolin whitepaperPangolin whitepaper
Pangolin whitepaper
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
OWASP_Top_Ten_Proactive_Controls_v32.pptx
OWASP_Top_Ten_Proactive_Controls_v32.pptxOWASP_Top_Ten_Proactive_Controls_v32.pptx
OWASP_Top_Ten_Proactive_Controls_v32.pptx
 
DevSecOps - automating security
DevSecOps - automating securityDevSecOps - automating security
DevSecOps - automating security
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
OWASP - Building Secure Web Applications
OWASP - Building Secure Web ApplicationsOWASP - Building Secure Web Applications
OWASP - Building Secure Web Applications
 
Top web apps security vulnerabilities
Top web apps security vulnerabilitiesTop web apps security vulnerabilities
Top web apps security vulnerabilities
 
OWASP Top 10 And Insecure Software Root Causes
OWASP Top 10 And Insecure Software Root CausesOWASP Top 10 And Insecure Software Root Causes
OWASP Top 10 And Insecure Software Root Causes
 
OWASP an Introduction
OWASP an Introduction OWASP an Introduction
OWASP an Introduction
 
IISF-March2023.pptx
IISF-March2023.pptxIISF-March2023.pptx
IISF-March2023.pptx
 
ASP.NET security vulnerabilities
ASP.NET security vulnerabilitiesASP.NET security vulnerabilities
ASP.NET security vulnerabilities
 

Mais de Balázs Tatár

How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019Balázs Tatár
 
Security Awareness for Open Source Web Applications
Security Awareness for Open Source Web ApplicationsSecurity Awareness for Open Source Web Applications
Security Awareness for Open Source Web ApplicationsBalázs Tatár
 
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Balázs Tatár
 
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Balázs Tatár
 
A bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability ManagementA bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability ManagementBalázs Tatár
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementBalázs Tatár
 
Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Balázs Tatár
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementBalázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019Balázs Tatár
 
DrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slidesDrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slidesBalázs Tatár
 
Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Balázs Tatár
 
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...Balázs Tatár
 
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Balázs Tatár
 
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018Balázs Tatár
 
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, GermanyLet's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, GermanyBalázs Tatár
 
Let's write secure Drupal code!
Let's write secure Drupal code!Let's write secure Drupal code!
Let's write secure Drupal code!Balázs Tatár
 

Mais de Balázs Tatár (20)

How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019
 
Security Awareness for Open Source Web Applications
Security Awareness for Open Source Web ApplicationsSecurity Awareness for Open Source Web Applications
Security Awareness for Open Source Web Applications
 
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019
 
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019
 
A bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability ManagementA bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability Management
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability Management
 
Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability Management
 
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
 
Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019
 
Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019
 
DrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slidesDrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slides
 
Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019
 
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
 
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
 
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
 
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, GermanyLet's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
 
Let's write secure Drupal code!
Let's write secure Drupal code!Let's write secure Drupal code!
Let's write secure Drupal code!
 

Último

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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...Martijn de Jong
 
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 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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...
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Software Development Weaknesses - SecOSdays Sofia, 2019

  • 1. Software Development Weaknesses Tatár Balázs János SecOSdays Sofia – 25-26 October, 2019
  • 2. WHO AM I? Tatár Balázs János - @tatarbj  CTO @ Petend  Open Source Security Correspondent @ EU Commission  SecOSdreamer @ SecOSdays  Globetrotter @ Open Source software communities
  • 3. OWASP TOP10  Open Web Application Security Project  TOP10 releases: 2010, 2013, 2017 (latest)  General concept: the most critical web application security risks  Well-known source for technical security awareness programs
  • 4. Common Weakness Enumeration (CWE)  A Community-Developed List of Software Weakness Types  Library for all software weaknesses  2019 CWE Top 25 Most Dangerous Software Errors  Data-driven approach based on CVEs data and related CWE mappings calculated by CVSS scores
  • 5. The concept of this session  OWASP TOP 10 – great for overview  CWE TOP 25 – great for details and research  Let’s map them and see some code (spoiler alert!)  Following the OWASP list from 2017 and matching CWE entries
  • 6. WARNINGS!  Weaknesses are not vulnerabilities!  They can cause certain malfunctioning.  Many of the CWEs are conceptional/architectural issues and raising awareness is the main purpose of this session.
  • 7. CWE-223 - Omission of Security-relevant Information  Language independent, architectural/conceptual issue.  Not recording or displaying relevant information that would be important for identifying the source of an attack.  Loss of information might cause futher issues. OWASP 2017 A10 INSUFFICIENT LOGGING AND MONITORING
  • 8. CWE-223 - Omission of Security-relevant Information OWASP 2017 A10 INSUFFICIENT LOGGING AND MONITORING
  • 9. CWE-778 - Insufficient Logging  Security-critical event occurs and the software either does not record it or omits important details of it (similar to CWE-223). OWASP 2017 A10 INSUFFICIENT LOGGING AND MONITORING
  • 10. No CWEs „This is an unusual category. CWE does not cover the limitations of human processes and procedures that cannot be described in terms of a specific technical weakness as resident in the code, architecture, or configuration of the software. Since "known vulnerabilities" can arise from any kind of weakness, it is not possible to map this OWASP category to other CWE entries, since it would effectively require mapping this category to ALL weaknesses.” OWASP 2017 A9 USING COMPONENTS WITH KNOWN VULNERABILITIES
  • 11. Managing 3rd parties OWASP 2017 A9 USING COMPONENTS WITH KNOWN VULNERABILITIES  OWASP Dependency checker  Composer-based tools  Codario (Silver Sponsor of SecOSdays Sofia)  Violinist (Special partner of SecOSdays Sofia)  You can do it by your hand (not neccessarily a good strategy)
  • 12. CWE-502 - Deserialization of Untrusted Data OWASP 2017 A8 INSECURE DESERIALIZATION  Untrusted data cannot be considered data because of being well-formated.  It can lead to unauthorized actions (missing restrictions, methods that self-execute, shell generations)
  • 13. CWE-502 - Deserialization of Untrusted Data OWASP 2017 A8 INSECURE DESERIALIZATION
  • 14. CWE-79 - Improper Neutralization of Input During Web Page Generation OWASP 2017 A7 CROSS-SITE SCRIPTING  The application does not or incorrectly neutralize user- controlled input before it’s being placed in output.  Types: Reflected, Stored and DOM-based XSS
  • 15. CWE-79 - Improper Neutralization of Input During Web Page Generation OWASP 2017 A7 CROSS-SITE SCRIPTING
  • 16. CWE-209 - Information Exposure Through an Error Message OWASP 2017 A6 SECURITY MISCONFIGURATION  Generated error messages that include sensitive information about its environment, users or associated data.  Can be mitigated on infrastructure level, but ultimately should be avoided in the application.
  • 17. CWE-209 - Information Exposure Through an Error Message OWASP 2017 A6 SECURITY MISCONFIGURATION
  • 18. CWE-676 - Use of Potentially Dangerous Function OWASP 2017 A6 SECURITY MISCONFIGURATION  The function can be used safely, but not recommended.  Usually by evolving the language it gets deprecated (and replaced by safer solutions).
  • 19. CWE-732 - Incorrect Permission Assignment for Critical Resource OWASP 2017 A6 SECURITY MISCONFIGURATION  The application specified permissions do their job in a way that allows that resource to be read/modified by unintended actions.
  • 20. CWE-22 - Improper Limitation of a Pathname to a Restricted Directory OWASP 2017 A5 BROKEN ACCESS CONTROL  The application uses external input to construct a pathname, it identifies a file/directory that is located underneath a restricted parent directory.  This weakness is present when the input is not properly neutralized.
  • 21. CWE-22 - Improper Limitation of a Pathname to a Restricted Directory OWASP 2017 A5 BROKEN ACCESS CONTROL
  • 22. CWE-285 - Improper Authorization OWASP 2017 A5 BROKEN ACCESS CONTROL  The application does not or incorrectly performs an authorization check when an actor attempts to access a resource or performs an action.
  • 23. CWE-611 - Improper Restriction of XML External Entity Reference OWASP 2017 A4 XML EXTERNAL ENTITIES  The software processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control.  It can cause the product to embed incorrect documents into its output.  In given circumstances it can lead to Remote Code Execution.
  • 24. CWE-776 - Improper Restriction of Recursive Entity References in DTDs (XML Entity Expansion) OWASP 2017 A4 XML EXTERNAL ENTITIES  The software uses XML documents and allows their structure to be defined with a Document Type Definition (DTD), but it does not properly control the number of recursive definitions of entities.  If the DTD contains a large number of nested or recursive entities, this can lead to explosive growth of data when parsed, causing a denial of service.
  • 25. CWE-776 - Improper Restriction of Recursive Entity References in DTDs (XML Entity Expansion) OWASP 2017 A4 XML EXTERNAL ENTITIES
  • 26. CWE-120 - Buffer Copy without Checking Size of Input (Classic Buffer Overflow) OWASP 2017 TOP10 Not present  The program copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow.
  • 27. CWE-352 - Cross-Site Request Forgery OWASP 2017 TOP10 Not present  The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.  It might be possible for an attacker to trick a client into making an unintentional request to the web server which will be treated as an authentic request. (No webserver protection)  It can be done via a URL, image load, XMLHttpRequest, etc. and can result in exposure of data or unintended code execution.
  • 28. CWE-352 - Cross-Site Request Forgery OWASP 2017 TOP10 Not present
  • 29. CWE-601 - URL Redirection of Untrusted Site (Open Redirect) OWASP 2017 TOP10 Not present  A web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a Redirect.  It simplifies phishing attacks.
  • 30. CWE-601 - URL Redirection of Untrusted Site (Open Redirect) OWASP 2017 TOP10 Not present
  • 31. CWE-312 - Cleartext Storage of Sensitive Information OWASP 2017 A3 SENSITIVE DATA EXPOSURE  The application stores sensitive information in cleartext within a resource that might be accessible to another control sphere.  Even if the information is encoded in a way that is not human- readable, certain techniques could determine which encoding is being used, then decode the information.
  • 32. CWE-312 - Cleartext Storage of Sensitive Information OWASP 2017 A3 SENSITIVE DATA EXPOSURE
  • 33. CWE-359 - Exposure of Private Information (Privacy Violation) OWASP 2017 A3 SENSITIVE DATA EXPOSURE  The software does not properly prevent private data from being accessed by actors who either are not explicitly authorized to access the data or do not have the implicit consent of the people to which the data is related.  Examples:  Private user information enters the program.  The data is written to an external location, such as the console, file system, or network.
  • 34. CWE-359 - Exposure of Private Information (Privacy Violation) OWASP 2017 A3 SENSITIVE DATA EXPOSURE AOL employee sold private data In 2004 someone at AOL sold approx. 92 million private customer e-mail addresses to a spammer marketing of an offshore gambling web site. In response to such high-profile exploits, the collection and management of private data is becoming increasingly regulated.
  • 35. CWE-327 - Use of a Broken or Risky Cryptographic Algorithm OWASP 2017 A3 SENSITIVE DATA EXPOSURE  The use of a non-standard algorithm is dangerous because an attacker may be able to break the algorithm and compromise whatever data has been protected.  Well-known techniques may exist to break the algorithm.
  • 36. CWE-256 - Unprotected Storage of Credentials OWASP 2017 A2 BROKEN AUTHENTICATION  Password management issues occur when a password is stored in plaintext in an application's properties or configuration file.  Storing a plaintext password in a configuration file allows anyone who can read the file access to the password-protected resource.
  • 37. CWE-256 - Unprotected Storage of Credentials OWASP 2017 A2 BROKEN AUTHENTICATION
  • 38. CWE-308 - Use of Single-factor Authentication OWASP 2017 A2 BROKEN AUTHENTICATION  The use of weak, reused, and common passwords is rampant on the internet.  Without the added protection of multiple authentication schemes, a single mistake can result in the compromise of an account.  If multiple schemes are possible and also easy to use, they should be implemented and required.
  • 39. CWE-308 - Use of Single-factor Authentication OWASP 2017 A2 BROKEN AUTHENTICATION
  • 40. CWE-640 - Weak Password Recovery Mechanism for Forgotten Password OWASP 2017 A2 BROKEN AUTHENTICATION  The software contains a mechanism for users to recover or change their passwords without knowing the original password, but the mechanism is weak. The eBay attack eBay always displays the user id of the highest bidder. In the final minutes of the auction, one of the bidders could try to log in as the highest bidder three times. After three incorrect log in attempts, eBay password throttling would kick in and lock out the highest bidder's account for some time. An attacker could then make their own bid and their victim would not have a chance to place the counter bid because they would be locked out. Thus an attacker could win the auction.
  • 41. CWE-90 - Improper Neutralization of Special Elements used in an LDAP Query OWASP 2017 A1 INJECTION  The software constructs all or part of an LDAP query using externally- influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended LDAP query when it is sent to a downstream component.
  • 42. CWE-89 - Improper Neutralization of Special Elements used in an SQL Command OWASP 2017 A1 INJECTION  Without sufficient removal or quoting of SQL syntax in user- controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.  It can be used to alter query logic to bypass security checks, or to insert additional statements that modify the back-end database, possibly including execution of system commands.
  • 43. CWE-89 - Improper Neutralization of Special Elements used in an SQL Command OWASP 2017 A1 INJECTION
  • 44. CWE-78 - Improper Neutralization of Special Elements used in an OS Command OWASP 2017 A1 INJECTION  The software constructs all or part of an OS command using externally-influenced input from an upstream component.  It does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.
  • 45. CWE-78 - Improper Neutralization of Special Elements used in an OS Command OWASP 2017 A1 INJECTION
  • 46. Sum up  Weaknesses can harm data, users or systems directly.  Protection does not always exist.  Concepts are language-neutral.  #securityawareness
  • 48. THANK YOU! Tatár Balázs János @tatarbj

Notas do Editor

  1. This code only logs failed login attempts when a certain limit is reached. If an attacker knows this limit, they can stop their attack from being discovered by avoiding the limit.
  2. The example shows a configuration for the service security audit feature in the Windows Communication Foundation (WCF). The previous configuration file has effectively disabled the recording of security-critical events, which would force the administrator to look to other sources during debug or recovery efforts. Logging failed authentication attempts can warn administrators of potential brute force attacks. Similarly, logging successful authentication events can provide a useful audit trail when a legitimate account is compromised.
  3. PATH TRAVERSAL
  4. PATH TRAVERSAL
  5. No1: The excerpt below calls the gets() function in C, which is inherently unsafe. However, the programmer uses the function gets() which is inherently unsafe because it blindly copies all input from STDIN to the buffer without restricting how much is copied. This allows the user to provide a string that is larger than the buffer size, resulting in an overflow condition. No2: The problem with the code above is that it does not restrict or limit the size of the name entered by the user. If the user enters "Very_very_long_last_name" which is 24 characters long, then a buffer overflow will occur since the array can only hold 20 characters total.
  6. No1: The following example shows a portion of a configuration file for an ASP.Net application. This configuration file includes username and password information for a connection to a database but the pair is stored in plaintext. No2: Because the account ID is in plaintext, the user's account information is exposed if their computer is compromised by an attacker.