Application Security Verification Standard ProjectApplication Security Verification Standard Project
(ASVS)(ASVS)
Narudom Roongsiriwong, CISSP
Thailand Cybersecurity Week
June 26, 2017
About MeAbout Me
● Lazy Blogger
– Japan, Security, FOSS, Politics, Christian
– http://narudomr.blogspot.com
● Information Security since 1995
● Web Application Development since 1998
● Head of IT Security and Solution Architecture, Kiatnakin Bank PLC (KKP)
● Consultant for OWASP Thailand Chapter
● Committee Member of Cloud Security Alliance (CSA), Thailand Chapter
● Committee Member of Thailand Banking Sector CERT (TB-CERT)
● Consulting Team Member for National e-Payment project
● Contact: narudom@owasp.org
Internet AttacksInternet Attacks
Source: IBM Software Group, Rational Software
OWASP Top 10 2013 RiskOWASP Top 10 2013 Risk
Source: OWASP: Open Web Application Security Project
Security controls are essential but
cannot deal with broken business
logic such as A2, A4 and A7
Security controls are essential but
cannot deal with broken business
logic such as A2, A4 and A7
Software weaknesses reduction
down to zero is possible
Software weaknesses reduction
down to zero is possible
Reduce Security Weaknesses vsReduce Security Weaknesses vs
Increase Security ControlsIncrease Security Controls
Source: OWASP: Open Web Application Security Project
What is ASVS?What is ASVS?
● A framework of security requirements and controls that focus
on normalizing the functional and non-functional security
controls
● Required for modern web applications when
– Designing
– Developing
– Testing
● Current version 3.0.1
ASVS Main GoalASVS Main Goal
●
To help organizations develop and maintain secure
applications
●
To allow security service, security tools vendors, and
consumers to align their requirements and offerings
ASVS LevelsASVS Levels
●
ASVS Level 1 – for all software.
●
ASVS Level 2 – for applications that contain sensitive data,
which requires protection.
●
ASVS Level 3 – for the most critical applications
– Perform high value transactions
– Contain sensitive medical data
– Or any application that requires the highest level of trust.
ASVS LevelsASVS Levels
Level 1: OpportunisticLevel 1: Opportunistic
●
Defends against application security vulnerabilities that are
– Easy to discover
– Included in the OWASP Top 10 and other similar checklists.
●
Level 1 controls can be ensured either automatically by tools or
simply manually without access to source code
●
Minimum required for all applications.
●
Able to stop attackers who are using simple and low
effort techniques
Level 2: StandardLevel 2: Standard
●
Defends against most of the risks associated with software today
●
Ensures that security controls are in place, effective, and used within the
application
●
Require for applications that
– Handle significant business-to-business transactions, including those that process
healthcare information
– Implement business-critical or sensitive functions
– Or process other sensitive assets
●
Able to stop skilled and motivated attackers focusing on specific targets
using tools and techniques that are highly practiced and effective
Level 3: AdvancedLevel 3: Advanced
●
Defends against advanced application security vulnerabilities
and also demonstrates principles of good security design
●
In depth analysis, architecture, coding, and testing than all the
other levels
●
Require for applications that perform critical functions, where
failure could significantly impact the organization's operations,
and even its survivability.
DisclaimerDisclaimer
●
OWASP does not certify any vendors, verifiers or software
●
Do not claim official OWASP certification
●
ASVS is a verification not a certification
Applying ASVS in Practice
Finance and InsuranceFinance and Insurance
Threat Profile
● High value target by motivated
attackers and attacks are often
financially motivated
● Looking for sensitive data or
account credentials that can
be used to commit fraud or to
benefit directly
● Techniques
– Stolen credentials
– Application-level attacks
– Social engineering
L1:All network accessible applications.
L2: Applications that contain sensitive
information like credit card numbers,
personal information, that can move limited
amounts of money in limited ways.
L3: Applications that contain large amounts
of sensitive information or that allow either
rapid transfer of large sums of money (e.g.
wire transfers) and/or transfer of large sums
of money in the form of individual
transactions or as a batch of smaller
transfers.
Manufacturing, Professional,Manufacturing, Professional,
Transportation, Technology, Utilities,Transportation, Technology, Utilities,
Infrastructure, and DefenseInfrastructure, and Defense
Threat Profile
● Focused attacks with more
time, skill, and resources
● Looking for sensitive data that
can be used to directly or
indirectly profit from including
personally identifiable
information and payment
data
● Techniques
– Involve insiders, outsiders, or
be collusion between the two
– Social engineering
L1:All network accessible applications.
L2: Applications containing
● internal information or employees’ info that
may be leveraged in social engineering.
● nonessential, but important intellectual
property or trade secrets.
L3: Applications
● containing valuable intellectual property,
trade secrets, or government secrets that is
critical to the survival or success of the
organization.
● controlling sensitive functionality or that
have the possibility of threatening safety of
life
HealthcareHealthcare
Threat Profile
● Looking for sensitive data
that can be used to
directly or indirectly profit
from including personally
identifiable information
and payment data.
● Techniques
– Stolen credentials
– Application-level attacks
– Social engineering
L1:All network accessible applications.
L2: Applications with small or moderate
amounts of sensitive medical information
(Protected Health Information), Personally
Identifiable Information, or payment data.
L3: Applications used to control medical
equipment, devices, or records that may
endanger human life. Payment and Point of
Sale systems (POS) that contain large
amounts of transaction data that could be
used to commit fraud.
Retail, Food, HospitalityRetail, Food, Hospitality
Threat Profile
● Looking for payment
information, financial
transactions, personally
identifiable information.
● Steal intellectual property, gain
competitive intelligence, or gain
an advantage with the target
organization or a business
partner in negotiations.
● Techniques
– "smash and grab" tactics
– Application-level attacks
L1:All network accessible applications.
L2: Suitable for business applications,
product catalog, internal corporate
information, and applications with limited
user information Applications with small or
moderate amounts of payment data or
checkout functionality.
L3: Payment and Point of Sale systems (POS)
that contain large amounts of transaction
data that could be used to commit fraud.
Applications with a large volume of sensitive
information like full credit card numbers,
personal information
Detailed Verification Requirements
Verification RequirementsVerification Requirements
V1. Architecture, design and threat
modeling
V2. Authentication
V3. Session management
V4. Access control
V5. Malicious input handling
V6. Incorporated into V5
V7. Cryptography at rest
V8. Error handling and logging
V9. Data protection
V10. Communications
V11. HTTP security configuration
V12. Incorporated into V11
V13. Malicious controls
V15. Business logic
V16. File and resources
V17. Mobile
V18. Web services
V19. Configuration
Application Security Verification Standard Project

Application Security Verification Standard Project

  • 1.
    Application Security VerificationStandard ProjectApplication Security Verification Standard Project (ASVS)(ASVS) Narudom Roongsiriwong, CISSP Thailand Cybersecurity Week June 26, 2017
  • 2.
    About MeAbout Me ●Lazy Blogger – Japan, Security, FOSS, Politics, Christian – http://narudomr.blogspot.com ● Information Security since 1995 ● Web Application Development since 1998 ● Head of IT Security and Solution Architecture, Kiatnakin Bank PLC (KKP) ● Consultant for OWASP Thailand Chapter ● Committee Member of Cloud Security Alliance (CSA), Thailand Chapter ● Committee Member of Thailand Banking Sector CERT (TB-CERT) ● Consulting Team Member for National e-Payment project ● Contact: narudom@owasp.org
  • 3.
    Internet AttacksInternet Attacks Source:IBM Software Group, Rational Software
  • 4.
    OWASP Top 102013 RiskOWASP Top 10 2013 Risk Source: OWASP: Open Web Application Security Project
  • 5.
    Security controls areessential but cannot deal with broken business logic such as A2, A4 and A7 Security controls are essential but cannot deal with broken business logic such as A2, A4 and A7 Software weaknesses reduction down to zero is possible Software weaknesses reduction down to zero is possible Reduce Security Weaknesses vsReduce Security Weaknesses vs Increase Security ControlsIncrease Security Controls Source: OWASP: Open Web Application Security Project
  • 7.
    What is ASVS?Whatis ASVS? ● A framework of security requirements and controls that focus on normalizing the functional and non-functional security controls ● Required for modern web applications when – Designing – Developing – Testing ● Current version 3.0.1
  • 8.
    ASVS Main GoalASVSMain Goal ● To help organizations develop and maintain secure applications ● To allow security service, security tools vendors, and consumers to align their requirements and offerings
  • 9.
    ASVS LevelsASVS Levels ● ASVSLevel 1 – for all software. ● ASVS Level 2 – for applications that contain sensitive data, which requires protection. ● ASVS Level 3 – for the most critical applications – Perform high value transactions – Contain sensitive medical data – Or any application that requires the highest level of trust.
  • 10.
  • 11.
    Level 1: OpportunisticLevel1: Opportunistic ● Defends against application security vulnerabilities that are – Easy to discover – Included in the OWASP Top 10 and other similar checklists. ● Level 1 controls can be ensured either automatically by tools or simply manually without access to source code ● Minimum required for all applications. ● Able to stop attackers who are using simple and low effort techniques
  • 12.
    Level 2: StandardLevel2: Standard ● Defends against most of the risks associated with software today ● Ensures that security controls are in place, effective, and used within the application ● Require for applications that – Handle significant business-to-business transactions, including those that process healthcare information – Implement business-critical or sensitive functions – Or process other sensitive assets ● Able to stop skilled and motivated attackers focusing on specific targets using tools and techniques that are highly practiced and effective
  • 13.
    Level 3: AdvancedLevel3: Advanced ● Defends against advanced application security vulnerabilities and also demonstrates principles of good security design ● In depth analysis, architecture, coding, and testing than all the other levels ● Require for applications that perform critical functions, where failure could significantly impact the organization's operations, and even its survivability.
  • 14.
    DisclaimerDisclaimer ● OWASP does notcertify any vendors, verifiers or software ● Do not claim official OWASP certification ● ASVS is a verification not a certification
  • 15.
  • 16.
    Finance and InsuranceFinanceand Insurance Threat Profile ● High value target by motivated attackers and attacks are often financially motivated ● Looking for sensitive data or account credentials that can be used to commit fraud or to benefit directly ● Techniques – Stolen credentials – Application-level attacks – Social engineering L1:All network accessible applications. L2: Applications that contain sensitive information like credit card numbers, personal information, that can move limited amounts of money in limited ways. L3: Applications that contain large amounts of sensitive information or that allow either rapid transfer of large sums of money (e.g. wire transfers) and/or transfer of large sums of money in the form of individual transactions or as a batch of smaller transfers.
  • 17.
    Manufacturing, Professional,Manufacturing, Professional, Transportation,Technology, Utilities,Transportation, Technology, Utilities, Infrastructure, and DefenseInfrastructure, and Defense Threat Profile ● Focused attacks with more time, skill, and resources ● Looking for sensitive data that can be used to directly or indirectly profit from including personally identifiable information and payment data ● Techniques – Involve insiders, outsiders, or be collusion between the two – Social engineering L1:All network accessible applications. L2: Applications containing ● internal information or employees’ info that may be leveraged in social engineering. ● nonessential, but important intellectual property or trade secrets. L3: Applications ● containing valuable intellectual property, trade secrets, or government secrets that is critical to the survival or success of the organization. ● controlling sensitive functionality or that have the possibility of threatening safety of life
  • 18.
    HealthcareHealthcare Threat Profile ● Lookingfor sensitive data that can be used to directly or indirectly profit from including personally identifiable information and payment data. ● Techniques – Stolen credentials – Application-level attacks – Social engineering L1:All network accessible applications. L2: Applications with small or moderate amounts of sensitive medical information (Protected Health Information), Personally Identifiable Information, or payment data. L3: Applications used to control medical equipment, devices, or records that may endanger human life. Payment and Point of Sale systems (POS) that contain large amounts of transaction data that could be used to commit fraud.
  • 19.
    Retail, Food, HospitalityRetail,Food, Hospitality Threat Profile ● Looking for payment information, financial transactions, personally identifiable information. ● Steal intellectual property, gain competitive intelligence, or gain an advantage with the target organization or a business partner in negotiations. ● Techniques – "smash and grab" tactics – Application-level attacks L1:All network accessible applications. L2: Suitable for business applications, product catalog, internal corporate information, and applications with limited user information Applications with small or moderate amounts of payment data or checkout functionality. L3: Payment and Point of Sale systems (POS) that contain large amounts of transaction data that could be used to commit fraud. Applications with a large volume of sensitive information like full credit card numbers, personal information
  • 20.
  • 21.
    Verification RequirementsVerification Requirements V1.Architecture, design and threat modeling V2. Authentication V3. Session management V4. Access control V5. Malicious input handling V6. Incorporated into V5 V7. Cryptography at rest V8. Error handling and logging V9. Data protection V10. Communications V11. HTTP security configuration V12. Incorporated into V11 V13. Malicious controls V15. Business logic V16. File and resources V17. Mobile V18. Web services V19. Configuration