application security verification standard project

22
Applicaon Security Verificaon Standard Project Applicaon Security Verificaon Standard Project (ASVS) (ASVS) Narudom Roongsiriwong, CISSP Thailand Cybersecurity Week June 26, 2017

Upload: narudom-roongsiriwong-cissp

Post on 21-Jan-2018

974 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Application Security Verification Standard Project

Application Security Verification Standard Project Application Security Verification Standard Project (ASVS)(ASVS)

Narudom Roongsiriwong, CISSP

Thailand Cybersecurity Week

June 26, 2017

Page 2: Application Security Verification Standard Project

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: [email protected]

Page 3: Application Security Verification Standard Project

Internet AttacksInternet Attacks

Source: IBM Software Group, Rational Software

Page 4: Application Security Verification Standard Project

OWASP Top 10 2013 RiskOWASP Top 10 2013 Risk

Source: OWASP: Open Web Application Security Project

Page 5: Application Security Verification Standard 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 possibleSoftware weaknesses reduction down to zero is possible

Reduce Security Weaknesses vsReduce Security Weaknesses vsIncrease Security ControlsIncrease Security Controls

Source: OWASP: Open Web Application Security Project

Page 6: Application Security Verification Standard Project
Page 7: Application Security Verification Standard 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

Page 8: Application Security Verification Standard Project

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

Page 9: Application Security Verification Standard Project

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.

Page 10: Application Security Verification Standard Project

ASVS LevelsASVS Levels

Page 11: Application Security Verification Standard Project

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

Page 12: Application Security Verification Standard Project

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

Page 13: Application Security Verification Standard Project

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.

Page 14: Application Security Verification Standard Project

DisclaimerDisclaimer

● OWASP does not certify any vendors, verifiers or software● Do not claim official OWASP certification● ASVS is a verification not a certification

Page 15: Application Security Verification Standard Project

Applying ASVS in Practice

Page 16: Application Security Verification Standard Project

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.

Page 17: Application Security Verification Standard Project

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

Page 18: Application Security Verification Standard Project

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.

Page 19: Application Security Verification Standard Project

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

Page 20: Application Security Verification Standard Project

Detailed Verification Requirements

Page 21: Application Security Verification Standard Project

Verification RequirementsVerification Requirements

V1. Architecture, design and threat modeling

V2. Authentication

V3. Session management

V4. Access control

V5. Malicious input handling

V6. Incorporated into V5V7. Cryptography at rest

V8. Error handling and logging

V9. Data protection

V10. Communications

V11. HTTP security configuration

V12. Incorporated into V11V13. Malicious controls

V15. Business logic

V16. File and resources

V17. Mobile

V18. Web services

V19. Configuration

Page 22: Application Security Verification Standard Project