SlideShare a Scribd company logo
@joachimvda@eliwan_be
Joachim Van der Auwera
ASVS
in a business application
@joachimvda@eliwan_be
ASVS v2
• Application Security Verification Standard
• The primary aim of the OWASP Application Security Verification Standard
(ASVS) is to normalize the range in the coverage and level of rigor available in
the market when it comes to performing web application security verification.
• OWASP
• Why ?
@joachimvda@eliwan_be
Four levels
@joachimvda@eliwan_be
Level for each verification
@joachimvda@eliwan_be
Verify
[ver-uh-fahy]
1. to prove the truth of, as by evidence or testimony; confirm;
substantiate: Events verified his prediction.
2. to ascertain the truth or correctness of, as by examination,
research, or comparison: to verify a spelling.
3. to act as ultimate proof or evidence of; serve to confirm.
4. Law.
to prove or confirm (an allegation).
to state to be true, especially in legal use, formally or upon oath.
@joachimvda@eliwan_be
Authentication
• Verify all pages/resources require authentication except specific
• Verify that all authentication decisions are logged
• Verify all account password are salted – account specific – and use bcrypt, scrypt
or PBKDF2 before storing
• Credentials and identity information should not traverse un/weakly encrypted
links
• No clear text password sent to user
• Username enumeration not possible in login/reset/forgot account
• No default passwords (e.g. “admin/password”)
1 2 3
1
2
2
1
1
1
1
@joachimvda@eliwan_be
Authentication continued
• Verify password entry fields allow or encourage the use of passphrases, and do
not prevent long passphrases or highly complex passwords being entered, and
provide a sufficient minimum strength to protect against the use of commonly
chosen passwords.
• Forget password should not lock account
• No shared knowledge questions/answers (secret questions)
• Allow configuration to disallow x previous passwords
• Require two-factor authentication as per risk profile
1 2 3
2
2
2
2
3
@joachimvda@eliwan_be
Session Management
• Verify that sessions timeout after a certain period of inactivity
• Session timeout after (config) maximum time regardless of activity
• Session id never disclosed other than in cookie headers. No URL rewriting of
session cookies.
• Verify session id is changed upon re-authentication
• Session tokens should be sufficiently long and random to prevent guessing
attacks
• Cookie path should be restrictive, domain not set (unless for business
requirement like SSO)
• HttpOnly should be set on cookie, Secure set when using https
• No duplicate concurrent users originating from different machines
1 2 3
1
2
1
2
2
2
1
2
@joachimvda@eliwan_be
Acces Control
• Users can only access functions or services for which they possess specific
authorization
• Verify directory browsing disabled unless deliberately desired
• All access controls are enforced on the server side
• User, data, policy information used by access controls cannot be manipulated
unless specifically authorized
• Log all access control decisions (success and failure)
• Require use of strong CSRF tokens
• Aggregate access control protection – e.g. throttle requests to prevent the entire
database from being scraped by an individual user.
1 2 3
1
1
1
2
2
1
2
@joachimvda@eliwan_be
RESTEasy interceptor
@Component
@Provider
@ServerInterceptor
public class SecurityPreProcessInterceptor
        implements ContainerRequestFilter {
    @Override
    public void filter(
            ContainerRequestContext requestContext) 
            throws IOException {
        // ....
    }
}
@joachimvda@eliwan_be
Require access annotation
if (requestContext instanceof PostMatchContainerRequestContext) {
    PostMatchContainerRequestContext pmcrc = (PostMatch...) requestContext;
    Annotation[] annotations = pmcrc.getResourceMethod().getMethodAnnotations();
  if (!contains(annotations, PermitAll.class)) {
    if (contains(annotations, RolesAllowed.class)) {
      RolesAllowed ra = get(annotations, RolesAllowed.class);
      checkUserHasRole(requestContext, ra.value());
    } else {
      throw new AuthException("Missing security “ +
        ”constraints on endpoint. " + pmcrc.getResourceMethod().getMethod());
    }
  }
}
@joachimvda@eliwan_be
Malicious Input Handling
• Verify all input validation or encoding done server side
• Log all input validation failures
• No SQL, LDAP, OS command injection
• All untrusted data output as HTML should be escaped
• Verify defenses against HTTP parameter pollution attacks
1 2 3
1
3
1
1
2
@joachimvda@eliwan_be
Cryptography at Rest
• All cryptographic functions to protect secrets done server side
• Cryptographic modules validated agains FIPS 140-2 or an equivalent standard
• Verify there is a policy for managing cryptographic keys. Verify that policy is
properly enforced.
1 2 3
2
3
2
@joachimvda@eliwan_be
Error Handling and Logging
• No sensitive data in error messages or stack traces (including session id or
sensitive information)
• Verify that all authentication decisions are logged
• Each log event should include timestamp, severity, indication if security relevant
(in mixed logs), identity, request IP address, success/failure, description
• Do not log sensitive data that can help an attacker. Presence and length may be
logged.
• Log before executing a transaction, if logging fails the application fails safely.
Important for integrity and non-repudiation.
1 2 3
1
2
2
3
2
@joachimvda@eliwan_be
Data Protection
• Disabled client-side caching and autocomplete for sensitive fields
• Sensitive data in HTTP body (not request parameters)
• Ensure proper caching of sensitive data
• Minimize number of parameters sent to untrusted systems e.g. hidden fields,
cookies, ajax variables, header values
• Alert and detect abnormal number of requests eg for screen scraping
1 2 3
1
1
2
3
3
@joachimvda@eliwan_be
Communications Security
• Valid SSL certificates, path from root CA and validity
• Failed TLS communications should not fallback to HTTP
1 2 3
1
3
@joachimvda@eliwan_be
HTTP Security
• Every HTTP response should include a safe character set (e.g. UTF-8)
• No detailed version information in HTTP headers
1 2 3
1
2
@joachimvda@eliwan_be
Malicious Controls
All checks are level 3
• Verify no malicious code in code developed or modified
• Integrity of interpreted code, libraries, executables, configuration files verified
using checksums or hashes
• Sensitive data rapidly sanitized from memory when no longer needed
1 2 3
3
3
3
@joachimvda@eliwan_be
Business Logic
• No spoofing of high value transactions
• No tampering with high value business logic parameters like price
• Verify defensive measures against repudiation attacks such as verifiable and
protected transaction logs, or real-time monitoring of activities and trransactions
for anomalies
• Detection and governor controls to protect against brute force or denial of
service attacks
• Business limits and enforces them in trusted location, e.g. max $10/day for new
SIM users, or limit patient access to max # patients you can treat in a day, or max
100 new users a day in a forum, or not allowing posts before a users account has
been verified
1 2 3
2
2
2
2
2
@joachimvda@eliwan_be
Files and Resources
• Verify the application does not execute uploaded data from untrusted sources
1 2 3
2
@joachimvda@eliwan_be
Mobile
• Verify that unique device ID (UDID) is not used as security controle
• Don't store sensitive data on shared resources (eg shared folder)
• No sensitive data in SQLite database on device
• No hard-coded secret keys or passwords in executable
• Verify permissions requested and resources authorized (AndriodManifest.xml,
iOS entitlements)
• Obfuscate binary
• No sensitive data logged (crash log, system log or filesystem)
• Use certificate pinning to prevent proxying of app data
• Sensitive data should be cryptographically secured when stored
• Overwrite sensitive data in memory (mitigate damage from memory analysis
attack)
1 2 3
1
1
1
2
2
3
2
3
3
3
@joachimvda@eliwan_be
Think about security in your application
https://www.owasp.org/
Ad

Recommended

PPTX
Data security authorization and access control
Leo Mark Villar
 
PDF
Traka
sagarahuja303
 
PDF
Key Concepts for Protecting the Privacy of IBM i Data
Precisely
 
PPTX
Owasp top ten 2017
AnukaJinadasa
 
PPTX
The Myth of SSH Key Rotation Mythcracker Webcast Series Part 3
SSH Communications Security
 
PPTX
National Digital ID Platform Technical Forum
Narudom Roongsiriwong, CISSP
 
PPTX
Entrepreneurship & Commerce in IT - 11 - Security & Encryption
Sachintha Gunasena
 
PPTX
Provable Device Cybersecurity in Blockchain Transactions
Rivetz
 
PPTX
See Web Security Trend from OWASP Top 10 - 2017
Chia-Lung Hsieh
 
PPTX
"EL ATAQUE INTERNO"
Jose Luis Balbiano
 
PDF
Protecting the Keys to the Kingdom - The Case for Adaptive Authentication for...
SecureAuth
 
PDF
CyberArk Cleveland Defend Multi-Factor
Chad Bowerman
 
PPTX
Authentication
primeteacher32
 
PDF
Building a secure BFF at Postman
Ankit Muchhala
 
PDF
Securing Your Mobile Applications
Greg Patton
 
PDF
CyberArk Cleveland Defend End Point Infection and Lateral Movement
Chad Bowerman
 
PPTX
5 Möglichkeiten zur Verbesserung Ihrer Security
Georg Knon
 
PDF
Coding Security: Code Mania 101
Narudom Roongsiriwong, CISSP
 
PPTX
Two factor authentication 2018
Will Adams
 
PPTX
Physical security-system
Techera Consultants
 
PPTX
HIPAA 101 Compliance Threat Landscape & Best Practices
Hostway|HOSTING
 
PDF
"Inter- application vulnerabilities. hunting for bugs in secure applications"...
PROIDEA
 
PPTX
Cryptography and system security
Gary Mendonca
 
PPTX
Cm4 secure code_training_1day_error handling and logging
dcervigni
 
PPTX
Cyber Security For E-commerce (Infrastructure) development
Mohammad Ashfaqur Rahman
 
PPTX
Automation Attacks At Scale
Mayank Dhiman
 
PDF
Cybersecurity Update
Shawn Tuma
 
PPTX
Two Factor Authentication
Nikhil Shaw
 
PDF
SecDevOps - The Operationalisation of Security
Dinis Cruz
 
PDF
OWASP ASVS 3 - What's new for level 1?
Boy Baukema
 

More Related Content

What's hot (20)

PPTX
See Web Security Trend from OWASP Top 10 - 2017
Chia-Lung Hsieh
 
PPTX
"EL ATAQUE INTERNO"
Jose Luis Balbiano
 
PDF
Protecting the Keys to the Kingdom - The Case for Adaptive Authentication for...
SecureAuth
 
PDF
CyberArk Cleveland Defend Multi-Factor
Chad Bowerman
 
PPTX
Authentication
primeteacher32
 
PDF
Building a secure BFF at Postman
Ankit Muchhala
 
PDF
Securing Your Mobile Applications
Greg Patton
 
PDF
CyberArk Cleveland Defend End Point Infection and Lateral Movement
Chad Bowerman
 
PPTX
5 Möglichkeiten zur Verbesserung Ihrer Security
Georg Knon
 
PDF
Coding Security: Code Mania 101
Narudom Roongsiriwong, CISSP
 
PPTX
Two factor authentication 2018
Will Adams
 
PPTX
Physical security-system
Techera Consultants
 
PPTX
HIPAA 101 Compliance Threat Landscape & Best Practices
Hostway|HOSTING
 
PDF
"Inter- application vulnerabilities. hunting for bugs in secure applications"...
PROIDEA
 
PPTX
Cryptography and system security
Gary Mendonca
 
PPTX
Cm4 secure code_training_1day_error handling and logging
dcervigni
 
PPTX
Cyber Security For E-commerce (Infrastructure) development
Mohammad Ashfaqur Rahman
 
PPTX
Automation Attacks At Scale
Mayank Dhiman
 
PDF
Cybersecurity Update
Shawn Tuma
 
PPTX
Two Factor Authentication
Nikhil Shaw
 
See Web Security Trend from OWASP Top 10 - 2017
Chia-Lung Hsieh
 
"EL ATAQUE INTERNO"
Jose Luis Balbiano
 
Protecting the Keys to the Kingdom - The Case for Adaptive Authentication for...
SecureAuth
 
CyberArk Cleveland Defend Multi-Factor
Chad Bowerman
 
Authentication
primeteacher32
 
Building a secure BFF at Postman
Ankit Muchhala
 
Securing Your Mobile Applications
Greg Patton
 
CyberArk Cleveland Defend End Point Infection and Lateral Movement
Chad Bowerman
 
5 Möglichkeiten zur Verbesserung Ihrer Security
Georg Knon
 
Coding Security: Code Mania 101
Narudom Roongsiriwong, CISSP
 
Two factor authentication 2018
Will Adams
 
Physical security-system
Techera Consultants
 
HIPAA 101 Compliance Threat Landscape & Best Practices
Hostway|HOSTING
 
"Inter- application vulnerabilities. hunting for bugs in secure applications"...
PROIDEA
 
Cryptography and system security
Gary Mendonca
 
Cm4 secure code_training_1day_error handling and logging
dcervigni
 
Cyber Security For E-commerce (Infrastructure) development
Mohammad Ashfaqur Rahman
 
Automation Attacks At Scale
Mayank Dhiman
 
Cybersecurity Update
Shawn Tuma
 
Two Factor Authentication
Nikhil Shaw
 

Similar to Java zone ASVS 2015 (20)

PDF
SecDevOps - The Operationalisation of Security
Dinis Cruz
 
PDF
OWASP ASVS 3 - What's new for level 1?
Boy Baukema
 
PPT
Secure code practices
Hina Rawal
 
PDF
OWASP Top 10 Web Vulnerabilities from DCC 04/14
Chris Holwerda
 
ODP
OWASP Secure Coding
bilcorry
 
PDF
Stop expecting magic fairy dust: Make apps secure by design
Patrick Walsh
 
PDF
OWASP Top 10 Proactive Control 2016 (C5-C10)
Narudom Roongsiriwong, CISSP
 
PPT
Code review for secure web applications
silviad74
 
PDF
Serverless Security Checklist
Simform
 
PPT
Web application development_dos_and_donts
huynhvanphuc
 
PPTX
The path of secure software by Katy Anton
DevSecCon
 
PDF
OWASP Top 10 List Overview for Web Developers
Benjamin Floyd
 
PPTX
How to Test for The OWASP Top Ten
Security Innovation
 
PDF
42 minutes to secure your code....
Sebastien Gioria
 
PDF
2015 09-18-jug summer camp
Sebastien Gioria
 
PDF
Application Security - Your Success Depends on it
WSO2
 
PDF
Web application security (eng)
Anatoliy Okhotnikov
 
PDF
OWASP Top 10
Arthur Shvetsov
 
PDF
API Security Best Practices and Guidelines
WSO2
 
PPTX
Defending web applications v.1.0
Todd Benson (I.T. SPECIALIST and I.T. SECURITY)
 
SecDevOps - The Operationalisation of Security
Dinis Cruz
 
OWASP ASVS 3 - What's new for level 1?
Boy Baukema
 
Secure code practices
Hina Rawal
 
OWASP Top 10 Web Vulnerabilities from DCC 04/14
Chris Holwerda
 
OWASP Secure Coding
bilcorry
 
Stop expecting magic fairy dust: Make apps secure by design
Patrick Walsh
 
OWASP Top 10 Proactive Control 2016 (C5-C10)
Narudom Roongsiriwong, CISSP
 
Code review for secure web applications
silviad74
 
Serverless Security Checklist
Simform
 
Web application development_dos_and_donts
huynhvanphuc
 
The path of secure software by Katy Anton
DevSecCon
 
OWASP Top 10 List Overview for Web Developers
Benjamin Floyd
 
How to Test for The OWASP Top Ten
Security Innovation
 
42 minutes to secure your code....
Sebastien Gioria
 
2015 09-18-jug summer camp
Sebastien Gioria
 
Application Security - Your Success Depends on it
WSO2
 
Web application security (eng)
Anatoliy Okhotnikov
 
OWASP Top 10
Arthur Shvetsov
 
API Security Best Practices and Guidelines
WSO2
 
Defending web applications v.1.0
Todd Benson (I.T. SPECIALIST and I.T. SECURITY)
 
Ad

More from Joachim Van der Auwera (9)

ODP
jTransfo quickie at JavaZone 2015
Joachim Van der Auwera
 
ODP
Simple run-time profiling quickie devoxx14
Joachim Van der Auwera
 
ODP
jTransfo lightning talk
Joachim Van der Auwera
 
ODP
Overview of Geomajas plug-ins and faces
Joachim Van der Auwera
 
ODP
Geomajas introduction, BeJUG, March 2012
Joachim Van der Auwera
 
ODP
Mapping, GIS and geolocating data in Java @ JAX London
Joachim Van der Auwera
 
ODP
Securing GIS data
Joachim Van der Auwera
 
ODP
Mapping, GIS and geolocating data in Java
Joachim Van der Auwera
 
PPT
Foss4g evolution-gis-data
Joachim Van der Auwera
 
jTransfo quickie at JavaZone 2015
Joachim Van der Auwera
 
Simple run-time profiling quickie devoxx14
Joachim Van der Auwera
 
jTransfo lightning talk
Joachim Van der Auwera
 
Overview of Geomajas plug-ins and faces
Joachim Van der Auwera
 
Geomajas introduction, BeJUG, March 2012
Joachim Van der Auwera
 
Mapping, GIS and geolocating data in Java @ JAX London
Joachim Van der Auwera
 
Securing GIS data
Joachim Van der Auwera
 
Mapping, GIS and geolocating data in Java
Joachim Van der Auwera
 
Foss4g evolution-gis-data
Joachim Van der Auwera
 
Ad

Recently uploaded (20)

PPTX
最新版美国特拉华大学毕业证(UDel毕业证书)原版定制
taqyea
 
PPTX
BitRecover OST to PST Converter Software
antoniogosling01
 
PPTX
history of internet in nepal Class-8 (sparsha).pptx
SPARSH508080
 
PPTX
Azure_Landing_Zone_Best_Practices_Visuals.pptx
fredsonbarbosa1
 
PPTX
原版澳洲斯文本科技大学毕业证(SUT毕业证书)如何办理
taqyed
 
PPTX
BASICS OF SAP _ ALL ABOUT SAP _WHY SAP OVER ANY OTHER ERP SYSTEM
AhmadAli716831
 
PPT
Almos Entirely Correct Mixing with Apps to Voting
gapati2964
 
PDF
Slides: Eco Economic Epochs for The World Game (s) pdf
Steven McGee
 
PDF
Logging and Automated Alerting Webinar.pdf
ControlCase
 
PPTX
IAREUOUSTPIDWHY$)CHARACTERARERWUEEJJSKWNSND
notgachabite123
 
PDF
Global Networking Trends, presented at the India ISP Conclave 2025
APNIC
 
PDF
Transmission Control Protocol (TCP) and Starlink
APNIC
 
PPTX
PROCESS FOR CREATION OF BUSINESS PARTNER IN SAP
AhmadAli716831
 
PPTX
Q1 English3 Week5 [email protected]
JenniferCawaling1
 
PDF
DDoS in India, presented at INNOG 8 by Dave Phelan
APNIC
 
PPTX
原版一样(ISM毕业证书)德国多特蒙德国际管理学院毕业证多少钱
taqyed
 
PPTX
Pitch PitchPitchPitchPitchPitchPitch.pptx
157551
 
PDF
B M Mostofa Kamal Al-Azad [Document & Localization Expert]
Mostofa Kamal Al-Azad
 
PPTX
原版一样(ANU毕业证书)澳洲澳大利亚国立大学毕业证在线购买
Taqyea
 
PPTX
ChatGPT_and_Its_Uses_Presentationss.pptx
Neha Prakash
 
最新版美国特拉华大学毕业证(UDel毕业证书)原版定制
taqyea
 
BitRecover OST to PST Converter Software
antoniogosling01
 
history of internet in nepal Class-8 (sparsha).pptx
SPARSH508080
 
Azure_Landing_Zone_Best_Practices_Visuals.pptx
fredsonbarbosa1
 
原版澳洲斯文本科技大学毕业证(SUT毕业证书)如何办理
taqyed
 
BASICS OF SAP _ ALL ABOUT SAP _WHY SAP OVER ANY OTHER ERP SYSTEM
AhmadAli716831
 
Almos Entirely Correct Mixing with Apps to Voting
gapati2964
 
Slides: Eco Economic Epochs for The World Game (s) pdf
Steven McGee
 
Logging and Automated Alerting Webinar.pdf
ControlCase
 
IAREUOUSTPIDWHY$)CHARACTERARERWUEEJJSKWNSND
notgachabite123
 
Global Networking Trends, presented at the India ISP Conclave 2025
APNIC
 
Transmission Control Protocol (TCP) and Starlink
APNIC
 
PROCESS FOR CREATION OF BUSINESS PARTNER IN SAP
AhmadAli716831
 
DDoS in India, presented at INNOG 8 by Dave Phelan
APNIC
 
原版一样(ISM毕业证书)德国多特蒙德国际管理学院毕业证多少钱
taqyed
 
Pitch PitchPitchPitchPitchPitchPitch.pptx
157551
 
B M Mostofa Kamal Al-Azad [Document & Localization Expert]
Mostofa Kamal Al-Azad
 
原版一样(ANU毕业证书)澳洲澳大利亚国立大学毕业证在线购买
Taqyea
 
ChatGPT_and_Its_Uses_Presentationss.pptx
Neha Prakash
 

Java zone ASVS 2015

Editor's Notes

  • #2: Who am I Disclaimer
  • #3: Who knows OWASP? OWASP -> Open Web Application Security Project Improve security of software Make software security visible -> informed decisions about true software security risks ASVS -> practical reference to think about security Questions -> raise hand – personal opinion - discuss
  • #4: Cursory : optional, “some” kind of verification, custom requirements Opportunitic Requirements can be verified using minimal-to-low effort Protection against simple attacks or easy-to-exploit vulnerabilities Standard Includes OWASP Top 10 and business logic “sensitive applications”, b2b applicatons Advanced Include more difficult to exploit vulnerabilities Protect against determined attackers - also check design, reqs + - security stuff (cross cutting) -> centralized implementation - all validation should use whitelist approach - input validation only second line of defense, parameterization and output encoding is first Critical app, life and safety, substantial damage, sensitive assets Scope + The code for the application or release needs to comply with req Frameworks/libraries/services verification is optional (+) certification when checking those Not all reqs applicable as no code available -
  • #5: 13 security areas Various requirements for each area, each indicates with the levels at which the requirement needs to be met 190 requirements, of which 54 at level 1
  • #6: All requirements use “Verify...” wording. Automated testing is not enough. Trusting your developers is not enough. Trusting the libraries / frameworks / tooling is not enough