SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
TL
PM Tutorial
10/1/2013 1:00:00 PM

"Security Testing for Testing
Professionals"
Presented by:
Jeff Payne
Coveros, Inc.

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Jeff Payne
Coveros, Inc.
Jeff Payne is CEO and founder of Coveros, Inc., a software company that builds secure
software applications using agile methods. Since its inception in 2008, Coveros has become a
market leader in secure agile principles and has been recognized by Inc. magazine as one of
the fastest growing private US companies. Prior to founding Coveros, Jeff was chairman of the
board, CEO, and cofounder of Cigital, Inc., a market leader in software security consulting.
8/20/2013

Security Testing for Test
Professionals

© Copyright 2011 Coveros, Inc.. All rights reserved.

1

Trainer

Jeffery Payne
Jeffery Payne is CEO and founder of Coveros, Inc., a software company that
helps organizations accelerate the delivery of secure, reliable software. Coveros
uses agile development methods and a proven software assurance framework to
build security and quality into software from the ground up. Prior to founding
Coveros, Jeffery was Chairman of the Board, CEO, and co-founder of Cigital, Inc.
Under his direction, Cigital became a leader in software security and software
quality solutions, helping clients mitigate the risk of software failure. Jeffery is a
recognized software expert and popular speaker at both business and technology
conferences on a variety of software quality, security, and agile development
topics. He has also testified before Congress on issues of national importance,
including intellectual property rights, cyber-terrorism, Software research funding,
and software quality.

© Copyright 2011 Coveros, Inc.. All rights reserved.

2

1
8/20/2013

About Coveros

 Coveros helps organizations accelerate the delivery of secure, reliable
software
 Our consulting services:
–
–
–
–

Agile software development
Application security
Software quality assurance
Software process improvement

Corporate Partners

 Our key markets:
–
–
–
–

Financial services
Healthcare
Defense
Critical Infrastructure

© Copyright 2011 Coveros, Inc.. All rights reserved.

3

© Copyright 2011 Coveros, Inc.. All rights reserved.

4

Agenda

 Introduction to Security Testing
 Security Testing Framework
– Steps in security testing
– Security test planning
– Security test tools

 Wrap up

2
8/20/2013

Expectations
 What are your expectations for this tutorial?
 What do you wish to learn?
 What questions do you want answered?

© Copyright 2011 Coveros, Inc.. All rights reserved.

5

Introduction to Security Testing

© Copyright 2011 Coveros, Inc.. All rights reserved.

6

3
8/20/2013

What is Information Security?

When you hear the term “Information Security” and
“Security Testing”:
What do you think they mean?
What comes to mind?

© Copyright 2011 Coveros, Inc.. All rights reserved.

7

What is Information Security?
Definition of Information Security
 Information Security means protecting information and
information systems from unauthorized access, use,
disclosure, disruption, modification, perusal, inspection,
recording or destruction.
 The key concepts of Information Security include:
– Confidentiality – prevent the disclosure of information to
unauthorized individuals or systems
– Integrity – data cannot be modified undetectably
– Availability – data and systems are available in an uninterrupted
manner
– Authenticity – ensure that data, transactions, communications or
documents (electronic or physical) are genuine
– Non-Repudiation – ensure that someone cannot deny something

© Copyright 2011 Coveros, Inc.. All rights reserved.

8

4
8/20/2013

The Software Security Problem
Our IT systems are not castles any longer!

© Copyright 2011 Coveros, Inc.. All rights reserved.

9

© Copyright 2011 Coveros, Inc.. All rights reserved.

10

Why Software Security is Important

5
8/20/2013

Understanding Risk
How to Define Security Risk in Software
 Common Security Nomenclature
– Risk: a possible future event which, if it occurs, will lead to an
undesirable outcome
– Threat: A potential cause of an undesirable outcome
– Vulnerability: Any weakness, administrative process, or act of
physical exposure that makes an information asset susceptible to
exploit by a threat.
– An exploit is a piece of software, a chunk of data, or sequence of
commands that takes advantage of a vulnerability in order to cause
unintended or unanticipated behavior to occur on computer
software, hardware, or something electronic.
– Attack: the approach taken by a threat to exploit a vulnerability
 Denial of service, spoofing, tampering, escalation of privilege
© Copyright 2011 Coveros, Inc.. All rights reserved.

11

Security Testing
What? How?
 Security Testing is testing used to determine whether an
information system protects its data from its threats.
 Security Testing is not a silver bullet for your enterprise
security. Security Testing doesn’t fix your security, it only
makes you aware of it. Security must be built into your
software
 A sound Security Testing process performs testing
activities:
–
–
–
–
–

Before development begins
During requirements definition and software design
During implementation
During deployment
During maintenance and operations

© Copyright 2011 Coveros, Inc.. All rights reserved.

12

6
8/20/2013

Exercise
Security Testing Case Study
 Your company, SecureTelco, has developed an instant
messaging program to be used for private use in customers
homes and for companies and government agencies.
 SecureChat requires users to sign up with an account prior
to using the system. After authenticating with a username
and password, each user can message other users and
expect their conversations to be private.
 Users have the ability to add/remove friends from their
contact list, search for friends based on their email, block
users from IMing them, become “invisible” to all users on
demand.
 Messages archives and activities logs document user
behavior and can be retrieved by the user or a SecureTelco
Administrator through the application or by the
administrative console, respectively.
© Copyright 2011 Coveros, Inc.. All rights reserved.

13

Security Testing Framework

© Copyright 2011 Coveros, Inc.. All rights reserved.

14

7
8/20/2013

Security testing before development begins
Overview
 “Testing” before development begins is really a QA function
to assess the readiness of the organization to build secure
software applications.
 Always remember that security testing evaluates the
security posture of your applications, it does not build
security in.
 Irrespective of your findings, do not become the “quality
police”.

© Copyright 2011 Coveros, Inc.. All rights reserved.

15

Security testing before development begins
Review Security Policies and Standards
 Understand the policies and standards that have been
adopted by the organization and their relationship to
software security
 Examples:
–
–
–
–

Privacy policies regarding your customer data
Service level agreements with clients
IT security standards you must adhere to
PCI compliance activities for credit card transactions

 Your goal is to understand these policies and standards to
the level that will allow you to validate security requirements
and effectively test the end product against them
© Copyright 2011 Coveros, Inc.. All rights reserved.

16

8
8/20/2013

Security testing before development begins
Review Secure Software Development Lifecycle
 If the security of your software is an enterprise concern, the
development team should be adhering to a defined secure
software development lifecycle model.
– Defines development activities that builds security in
– Defines security testing activities performed by appropriate parties
(development, testing, security org, operations, etc.)

 Common secure software development models
– Microsoft’s Secure Development Lifecycle (SDL)
– Coveros SecureAgile process
– There are others as well

 Secure software standards
– Secure coding standard
© Copyright 2011 Coveros, Inc.. All rights reserved.

17

Security testing during definition and design
Overview
 Testing activities during requirements definition and
software design focus on assuring that security has been
effectively integrated into software requirements and the
overall architecture and design of the product
 Typical activities include:
–
–
–
–

Security requirements development/validation
Architecture and design reviews
Threat modeling
Test strategy and planning

© Copyright 2011 Coveros, Inc.. All rights reserved.

18

9
8/20/2013

Security testing during definition and design
Software Requirements
 Functional Requirements: These are statements of
services the system should provide, how the system should
react to particular inputs and how the system should behave
in particular situations.
 What each feature within the software should do

 Non-Functional Requirements: These statements
describe additional requirements that are not associated
with individual functional behaviors. These statements
include information about: reliability, configurability,
availability, performance, etc.
 What quality goals must the entire software system achieve

© Copyright 2011 Coveros, Inc.. All rights reserved.

19

Security testing during definition and design
Security Requirements
 Security Requirements describe functional and nonfunctional requirements that need to be satisfied in order to
achieve the security attributes of an IT system or
application.

What does that mean?
 Functional Security Requirements
 Additions to functional requirements that define what
the software should not do.
 Non-Functional Security Requirements
 Additional non-functional requirements that define what
overall security the system must provide
© Copyright 2011 Coveros, Inc.. All rights reserved.

20

10
8/20/2013

Security testing during definition and design
Example Security Requirement
Functional requirement:
SecureChat login screen shall accept a valid
username/password pair and allow system access
Functional requirement that includes security:
SecureChat login screen shall accept valid
username/password pairs and allow system access.
•

Entering either an invalid username or invalid password will result in the
display of the message “Invalid username or password” on a redisplay
of the login screen after both a username and password are entered

•

Three successive invalid login attempts from a particular machine will
lock the user’s account and display the message “User Account
Locked, Call System Administrator” on a redisplay of the login screen.
Subsequent valid login/password pairs will not allow system access
until the account is unlocked by the system administrator
© Copyright 2011 Coveros, Inc.. All rights reserved.

21

Security testing during definition and design
Example Security Requirement
Functional requirements:
SecureChat user shall choose a userid and a password for
their account during registration
Functional security requirement:
SecureChat user shall choose a userid and a password for
their account during registration
• Userid shall be unique within the system
• Userid shall consist of alphanumeric characters
• Password shall be at least 12 characters long and include
at least one capital letter, one special character, and one
whole number
© Copyright 2011 Coveros, Inc.. All rights reserved.

22

11
8/20/2013

Security testing during definition and design
Examples of Non-Functional Security Requirements
 SecureChat shall ensure that data is protected from
unauthorized access at all times.
 SecureChat shall have an availability of 99.9%.
 SecureChat shall process a minimum of 8 transactions per
second.
 Each SecureChat build shall undergo secure code review
prior to release.
 All communications between the SecureChat client
application and the SecureChat central servers shall be
encrypted.
© Copyright 2011 Coveros, Inc.. All rights reserved.

23

Security testing during definition and design
Architectural and Design Reviews
 Architectural and design reviews focus on determining
whether the stated architecture / design enforces the
appropriate level of security as defined in the requirements.
 Typically performed by security architects and/or other
software leads within the organization.
 Examines these artifacts for flaws such as:
– Violation of trust boundaries
– Distributed control of authorization
– Custom algorithms for cryptography / random number generation

© Copyright 2011 Coveros, Inc.. All rights reserved.

24

12
8/20/2013

Design Flaws vs. Implementation Bugs
 Flaws (Design Defects)
– Misuse of cryptography
– Compartmentalization problems
in design
– Privileged block protection failure
– Type safety confusion error
– Insecure auditing
– Broken or illogical access control
– Method over-riding problems

 Bugs (Implementation Defects)
–
–
–
–

Buffer overflows
Cross site scripting
Race conditions
SQL Injection

© Copyright 2011 Coveros, Inc.. All rights reserved.

25

Security testing during definition and design
Threat modeling for risk assessment
 Threat modeling – a process by which any risks to a piece of
software are identified and mitigated
 A variety of approaches exist for doing threat modeling
 Microsoft STRIDE model
–
–
–
–

Diagram your system – high level dataflow diagrams
Identify threats (risks) – each type of entity/interaction has enemies
Mitigate threats (risks) – determine security controls
Validate mitigations – test effectiveness of these controls

 Spoofing, Tampering, Repudiation, Information Disclosure,
Denial of Service, Escalation of Privilege (STRIDE)
© Copyright 2011 Coveros, Inc.. All rights reserved.

26

13
8/20/2013

Fixing the Problem – One DoD Initiative
60.00

Critical/High Vulnerabilities Per 1,000 Lines of Code
Initial
Follow-On

40.00

20.00

0.00
App1

App2

App3

App4

App5

App6

But there are 1,000’s of apps … do the math
© Copyright 2011 Coveros, Inc.. All rights reserved.

27

Security testing during definition and design
Assessing your risk – Answers the ‘so what?’ question
 Identifying threats and flaws in your design only result in
better security if the flaws are mitigated to minimize the
threat.
 But at what cost to the organization?
 What benefit?
 How do you convince management to fund mitigation
efforts?
© Copyright 2011 Coveros, Inc.. All rights reserved.

28

14
8/20/2013

Security testing during definition and design
Risk Assessments
 Information on design flaws/vulnerabilities and known
threats from our threat model are often combined together
to estimate the likelihood and consequence of a flaw/defect
resulting in significant business impact
Highly Likely

Likely

Unlikely

Business-critical

High priority

Priority

Priority

Business concern

High priority

Priority

Not a Priority

Minor or cosmetic

Not a Priority

Not a Priority

Not a Priority

© Copyright 2011 Coveros, Inc.. All rights reserved.

29

Security testing during definition and design
Risk Assessments Results
 Risks are placed in appropriate categories based upon
understood consequence and likelihood of occurrence
– Consequence – depends upon your business and market
– Likelihood – depends upon your risks and threats
Highly Likely

Business-critical
Business concern
Minor or cosmetic

Likely

Unlikely

High priority

Priority
Stealing of
secrets

Priority

High priority

Priority
Tampering

Not a Priority

Not a Priority

Not a Priority

Not a Priority

Denial of
service

Inappropriate
access

© Copyright 2011 Coveros, Inc.. All rights reserved.

30

15
8/20/2013

Exercise
Functional Security Requirement
 SecureChat Authentication Requirements
– When a user attempts to authenticate with a valid username and an
invalid password, the application shall not authenticate the user and
return them to the authentication page.
– The system must alert the user that their attempt to authenticate has
failed due to an incorrect password (“Invalid Password”) utilizing the
standard error text formatting.
– When a user attempts to authenticate with a invalid username, the
application shall not authenticate the user and return them to the
authentication page.
– The system must alert the user that their attempt to authenticate has
failed due to an incorrect username (“Invalid Username”) utilizing
the standard error text formatting.
– What a user attempts to authenticate using a username and a valid
password, the application shall authenticate the user and redirect
them to the homepage.

 What risks/attacks might be possible?
© Copyright 2011 Coveros, Inc.. All rights reserved.

31

Test strategy and planning
Security test strategy
 Security is one aspect of testing that must be incorporated
into your test strategy and is typically included in a master
test plan
 Typical master test plan format
–
–
–
–
–
–

Overview of system
High level risks and threats to quality
Types of testing that will help mitigate risks and threats
Roles and responsibilities
Automation approach
Test infrastructure and schedule

© Copyright 2011 Coveros, Inc.. All rights reserved.

32

16
8/20/2013

Developing a security test plan
What should be included?
 Describe and detail your process and procedures for
security testing
–
–
–
–

When should testing begin?
How are test results reported?
Who validates and verifies findings/results?
When are vulnerabilities addressed?

 Types of tests you should include in your test plan:
–
–
–
–

Security Feature Testing
Risk Based Testing of functional and non-functional requirements
Internal Penetration Tests
External (Independent) Penetration Tests

 Security test plans are usually separate test plans (for
compliance / audit reasons)
© Copyright 2011 Coveros, Inc.. All rights reserved.

33

Integrating security requirements in test plans
Know your Security Requirements – Requirements analysis
 It is important that each tester understand the security
requirements for your application and what they imply.
 Often Security requirements may come in conflict with another type
of requirement. If there are conflicts, it is important that you identify
those concerns and the requirements are clarified by a Business
Analyst.

 In most organizations, security requirements are not well
defined if it all.
 A general rule of thumb: Make sure your core information security
concepts are all covered. If not, request that they are.

 Understand which security requirements are functional and
which are non-functional, this will have an impact how you
plan to test them.
© Copyright 2011 Coveros, Inc.. All rights reserved.

34

17
8/20/2013

Integrating security requirements in test plans
Testing Security Requirements
 Feature testing covers positive security requirements. This
typically ensures the software behaves according to
customer expectations.
 Example – If security requirements state that the length of any user
input must be validated, then a feature test suite should be created
to exercise the application inputs and verify that this requirement is
implemented correctly.

 Testers should also cover negative security testing or RiskDriven testing. Each test is intended to probe for a specific
risk or vulnerability. These risk may have been identified
during your risk assessment.
 Example – Cross Site Scripting and SQL Injection;
These vulnerabilities are not obviously features of the
application, therefore the fall under the negative security
requirements umbrella.
 Security testing tools provide out of the box testing for
common web security issues

© Copyright 2011 Coveros, Inc.. All rights reserved.

35

Security testing during implementation
Overview
 Testing activities during implementation focus on assuring
that the software is implemented properly according to its
requirements and design
 Key activities during implementation include:
– Secure code review – identifying security vulnerabilities in source
code
– Testing individual components/features for security
– Testing requirements at the appropriate level

© Copyright 2011 Coveros, Inc.. All rights reserved.

36

18
8/20/2013

Security testing during implementation
Secure code review
 Secure code review identifies vulnerabilities within source
code that potentially impact system security.
 Examples
– Buffer overflows
– Race conditions

 Secure code review is a combination of manual and
automated analysis
 Secure code review is typically done by developers or a
dedicated security team
© Copyright 2011 Coveros, Inc.. All rights reserved.

37

Security testing during implementation
Testing components and features
 The testing of components and individual features will
identify code that improperly implements functionality
against its requirements.
 While some feature testing has historically been done at the
system level, more and more of this type of testing today is
done on individual units / stories by either a developer or
code savvy test engineer.
 Review of tests performed at this level should look for
common gaps that lead to security issues:
– Inadequate testing of error handling routines
– Insufficient protection during system reboot
– Forgetting to test administrative capabilities

© Copyright 2011 Coveros, Inc.. All rights reserved.

38

19
8/20/2013

Security testing during implementation
Testing common security controls
 Due to the security-critical nature of many of our
applications, it is common to see the following security
controls implemented within our software.
 Each must be validated in order to work!
 Authentication & Access Control
 Input Validation & Encoding
 Encryption
 User and Session Management
 Error and Exception Handling
 Auditing and Logging
 Test catalog’s can assure security controls are tested
adequately.

© Copyright 2011 Coveros, Inc.. All rights reserved.

39

Common Approaches to Authentication
All About Authentication
 When we refer to authentication in computer security, we
refer to the process of attempting to verify the digital identity
of the sender of a communication.
– A common example of such a process is the login process.
– Authentication always depends upon using one or more
authentication category: something I know, I have, I am

 Two-factor authentication: factors from two categories
– Multi-factor authentication: more than one authentication factor but
can be from the same category

 Testing authentication schemas means understanding how
the process works and using that information to circumvent
the authentication mechanism.
© Copyright 2011 Coveros, Inc.. All rights reserved.

40

20
8/20/2013

Common Approaches to Authentication
Authentication Test Catalog
 Credentials transport over an encrypted channel
– The tester must try to understand if the data inputted by the user is
transmitted using secure protocols that protect them from an
attacker or not.

 Testing for user enumeration
– The tester must verify if it is impossible to collect a set of valid users
by interacting with the authentication mechanism of the application.
This will become useful for brute force testing.

 Testing for guessable (dictionary) user accounts
– The tester must validate that there are no default user accounts or
guessable username/password combinations

 Brute force testing
– When dictionary attacks don’t succeed, the tester can attempt brute
force methods to gain access. This is not often easy to accomplish
because of time constraints.
© Copyright 2011 Coveros, Inc.. All rights reserved.

41

Common Approaches to Authentication
Authentication Test Catalog (cont.)
 Testing for bypassing authentication schema
– The tester must validate that other application resources are
adequately protected, and can’t be used to bypass authentication
using those other resources.

 Testing for vulnerable remember password and password
reset features
– The tester must analyze how the application manages the process
of “password resets”. The tester must check whether the application
allows the user to store passwords in the browser.

 Testing for logout and browser cache management
– The tester must check that the logout and caching functions are
properly implemented.

© Copyright 2011 Coveros, Inc.. All rights reserved.

42

21
8/20/2013

Common Approaches to Authentication
Authentication Test Catalog (cont.)
 Testing for CAPTCHA
– Used by many applications to ensure the response is not generated
by a computer, CAPTCHA (“Completely Automated Public Trust test
to tell Computers and Humans Apart”) implementations are often
vulnerable to various kinds of attacks.

 Testing multiple factor authentication
– The tester must test the following scenarios:





One Time Password Generator Tokens
Crypto devices like USB tokens or smart cards
X.509 Certificates
Random OTP sent via SMS

 Testing for race conditions
– The tester must ensure that an unexpected result on a multithread
application doesn’t create an authentication flaw. By their nature,
Race Conditions are difficult to test for

© Copyright 2011 Coveros, Inc.. All rights reserved.

43

Common Approaches to Authentication
Authentication Test Catalog (cont.)
 Testing for session management schema
– The tester must test the security of a session tokens issues to the
client browser:
 How to reverse engineer a cookie
 How to manipulate cookies to hijack a session

 Testing for cookie attributes
– The tester must check if an application can take the necessary
precautions when assigning cookies and test the cookie attributes.

 Testing for session fixation
– The tester must validate that an application renews the cookie after
a successful user authentication, so that an attacker could not utilize
a session fixation vulnerability.

© Copyright 2011 Coveros, Inc.. All rights reserved.

44

22
8/20/2013

Common Approaches to Authentication
Authentication Test Catalog (cont.)
 Testing for exposed session variables
– The tester must validate that it is not possible to create a replay
session attack utilizing exposed session information.

 Testing for CSRF (Cross Site Request Forgery)
– The tester must ensure that there is not a way to force an
unknowing user to execute unwanted actions on a web application
they are authenticated on.

© Copyright 2011 Coveros, Inc.. All rights reserved.

45

Tools to Support Authentication Testing
Password Crackers/Brute Force Tools
 Where to use?
– When you want to break the default credentials or test your
authentication mechanisms against common security tools.

 Free Tools
– THC Hydra
– Cain and Abel
– Wfuzz

 Paid Tools
– John the Ripper

© Copyright 2011 Coveros, Inc.. All rights reserved.

46

23
8/20/2013

Security testing during implementation
Risk-based Testing
 Risk-based Testing focuses on testing that the risks
identified during threat modeling, design reviews, code
reviews were properly mitigated in the code
 Define negative tests that validate these issues have been
mitigated.
 Perform these tests at whatever level is appropriate to
identify any remaining vulnerabilities.
 Typically performed at the integration / system level
© Copyright 2011 Coveros, Inc.. All rights reserved.

47

Security testing during implementation
Top 25 Most Dangerous Software Errors
 SQL Injection
 OS Command Injection
 Buffer Overflow

 Cross site scripting
 Missing authentication
 Missing authorization

 Untrusted inputs in a
security decision
 Unnecessary privileges
 Cross-site request forgery
 Improper limitation of a
restricted file path

 Hard-coded credentials

 Download of code without
integrity checks

 Missing encryption

 Risky crypto algorithms

 Upload of dangerous files

 Use of potentially
dangerous functions
© Copyright 2011 Coveros, Inc.. All rights reserved.

48

24
8/20/2013

Security testing during implementation
Integration and Systems Testing
 Testing non-functional security requirements that span
features within the system
 Includes Web Application Security testing of any web-based
interfaces
– Learn to read the output of these tools and understand how the
vulnerabilities identified can be mitigated!

 Often includes internal Penetration Testing type activities to
“test like a hacker”
–
–
–
–

Fuzzing
Password crackers
Network port scanners
Dynamic input strings

© Copyright 2011 Coveros, Inc.. All rights reserved.

49

Tools to Support Web Security Testing
Web Application Scanners
 Where to use?
– Looking for XSS, Injection and input validation vulnerabilities; some
tools will attempt to actively exploit vulnerabilities.

 Free Tools
–
–
–
–
–
–
–

Zap
Nikto
W3af
Paros
Skipfish
Wfuzz
ratproxy

 Paid Tools
– Netsparker
– WebSecurify
© Copyright 2011 Coveros, Inc.. All rights reserved.

50

25
8/20/2013

Zaproxy
 Intercepting Proxy


Active scanner



Passive scanner



Brute Force scanner



Spider



Fuzzer



Port Scanner



Dynamic SSL certificates



API



Beanshell integration
© Copyright 2011 Coveros, Inc.. All rights reserved.

Continuous Integration

$

51

$

Management

Engineer

IntelliJ IDEA/
Eclipse
JDepend

Hudson

subversion

© Copyright 2011 Coveros, Inc.. All rights reserved.

52

26
8/20/2013

Tools to Support Penetration Testing
Network Security Tools
 Where to use?
– Scanning for mis-configurations
– Testing for OS, application and network vulnerabilities

 Free Tools
– OpenVAS

 Paid Tools
– Nessus
– Core Impact

© Copyright 2011 Coveros, Inc.. All rights reserved.

53

Security testing during deployment
Overview
 Testing during the deployment process focuses on those
tests that cannot be adequately completed within a
development/QA environment plus any third party IV&V
– Red Team Penetration Testing
– Load and performance testing (for availability)
– Configuration testing

 Red Team Penetration Testing is typically done by a team
of security experts and includes both network and
application testing

© Copyright 2011 Coveros, Inc.. All rights reserved.

54

27
8/20/2013

Security testing during maintenance / support
Overview
 Testing during maintenance and support focuses on:
– Assuring that any identified vulnerabilities within the application,
supporting software, or network configuration are patched and
revalidated

 Based upon the identified vulnerability and patch, a wide
variety of testing activities may be performed again to
assure the patch operations properly and also does not
break something else!

© Copyright 2011 Coveros, Inc.. All rights reserved.

55

Questions?
Contact Information:
Jeffery Payne
Jeff.payne@coveros.com
703.431.2920
© Copyright 2011 Coveros, Inc.. All rights reserved.

56

28

Mais conteúdo relacionado

Mais procurados

Why Penetration Tests Are Important Cyber51
Why Penetration Tests Are Important Cyber51Why Penetration Tests Are Important Cyber51
Why Penetration Tests Are Important Cyber51martinvoelk
 
OWASP - Building Secure Web Applications
OWASP - Building Secure Web ApplicationsOWASP - Building Secure Web Applications
OWASP - Building Secure Web Applicationsalexbe
 
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015Minded Security
 
Vulnerability Assesment
Vulnerability AssesmentVulnerability Assesment
Vulnerability AssesmentDedi Dwianto
 
Penetration Testing, Auditing & Standards Issue : 02_2012-1
Penetration Testing, Auditing & Standards Issue : 02_2012-1Penetration Testing, Auditing & Standards Issue : 02_2012-1
Penetration Testing, Auditing & Standards Issue : 02_2012-1Falgun Rathod
 
PT Application Inspector SSDL Edition product brief
PT Application Inspector SSDL Edition product briefPT Application Inspector SSDL Edition product brief
PT Application Inspector SSDL Edition product briefValery Boronin
 
ENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONS
ENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONSENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONS
ENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONSIJMIT JOURNAL
 
Software Security Frameworks
Software Security FrameworksSoftware Security Frameworks
Software Security FrameworksMarco Morana
 
Walls of Steel, Doors of Wood - Relevance of Application Security
Walls of Steel, Doors of Wood - Relevance of Application SecurityWalls of Steel, Doors of Wood - Relevance of Application Security
Walls of Steel, Doors of Wood - Relevance of Application SecurityAbdul Jaleel
 
3rd Party Outsourcing Information Security Assessment Questionnaire
3rd Party Outsourcing Information Security Assessment Questionnaire3rd Party Outsourcing Information Security Assessment Questionnaire
3rd Party Outsourcing Information Security Assessment QuestionnairePriyanka Aash
 
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...CSCJournals
 
how to secure web applications with owasp - isaca sep 2009 - for distribution
how to secure web applications  with owasp - isaca sep 2009 - for distributionhow to secure web applications  with owasp - isaca sep 2009 - for distribution
how to secure web applications with owasp - isaca sep 2009 - for distributionSantosh Satam
 
Edgilis principles of isa may11
Edgilis principles of isa may11Edgilis principles of isa may11
Edgilis principles of isa may11Max Armbruster
 
WHY SOC Services needed?
WHY SOC Services needed?WHY SOC Services needed?
WHY SOC Services needed?manoharparakh
 
Secure Design: Threat Modeling
Secure Design: Threat ModelingSecure Design: Threat Modeling
Secure Design: Threat ModelingCigital
 
Security is our duty and we shall deliver it - White Paper
Security is our duty and we shall deliver it - White PaperSecurity is our duty and we shall deliver it - White Paper
Security is our duty and we shall deliver it - White PaperMohd Anwar Jamal Faiz
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineeringAHM Pervej Kabir
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Mykhailo Antonishyn
 

Mais procurados (20)

Why Penetration Tests Are Important Cyber51
Why Penetration Tests Are Important Cyber51Why Penetration Tests Are Important Cyber51
Why Penetration Tests Are Important Cyber51
 
Information Security and the SDLC
Information Security and the SDLCInformation Security and the SDLC
Information Security and the SDLC
 
OWASP - Building Secure Web Applications
OWASP - Building Secure Web ApplicationsOWASP - Building Secure Web Applications
OWASP - Building Secure Web Applications
 
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015
 
Vulnerability Assesment
Vulnerability AssesmentVulnerability Assesment
Vulnerability Assesment
 
Penetration Testing, Auditing & Standards Issue : 02_2012-1
Penetration Testing, Auditing & Standards Issue : 02_2012-1Penetration Testing, Auditing & Standards Issue : 02_2012-1
Penetration Testing, Auditing & Standards Issue : 02_2012-1
 
PT Application Inspector SSDL Edition product brief
PT Application Inspector SSDL Edition product briefPT Application Inspector SSDL Edition product brief
PT Application Inspector SSDL Edition product brief
 
ENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONS
ENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONSENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONS
ENGINEERING LIFE CYCLE ENABLES PENETRATION TESTING AND CYBER OPERATIONS
 
Software Security Frameworks
Software Security FrameworksSoftware Security Frameworks
Software Security Frameworks
 
Walls of Steel, Doors of Wood - Relevance of Application Security
Walls of Steel, Doors of Wood - Relevance of Application SecurityWalls of Steel, Doors of Wood - Relevance of Application Security
Walls of Steel, Doors of Wood - Relevance of Application Security
 
3rd Party Outsourcing Information Security Assessment Questionnaire
3rd Party Outsourcing Information Security Assessment Questionnaire3rd Party Outsourcing Information Security Assessment Questionnaire
3rd Party Outsourcing Information Security Assessment Questionnaire
 
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
 
how to secure web applications with owasp - isaca sep 2009 - for distribution
how to secure web applications  with owasp - isaca sep 2009 - for distributionhow to secure web applications  with owasp - isaca sep 2009 - for distribution
how to secure web applications with owasp - isaca sep 2009 - for distribution
 
NASA OIG Report
NASA OIG ReportNASA OIG Report
NASA OIG Report
 
Edgilis principles of isa may11
Edgilis principles of isa may11Edgilis principles of isa may11
Edgilis principles of isa may11
 
WHY SOC Services needed?
WHY SOC Services needed?WHY SOC Services needed?
WHY SOC Services needed?
 
Secure Design: Threat Modeling
Secure Design: Threat ModelingSecure Design: Threat Modeling
Secure Design: Threat Modeling
 
Security is our duty and we shall deliver it - White Paper
Security is our duty and we shall deliver it - White PaperSecurity is our duty and we shall deliver it - White Paper
Security is our duty and we shall deliver it - White Paper
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineering
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.
 

Destaque

Design Patterns Explained: From Analysis through Implementation
Design Patterns Explained: From Analysis through ImplementationDesign Patterns Explained: From Analysis through Implementation
Design Patterns Explained: From Analysis through ImplementationTechWell
 
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsMobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsTechWell
 
There’s No Room for Emotions in Testing—Not!
There’s No Room for Emotions in Testing—Not!There’s No Room for Emotions in Testing—Not!
There’s No Room for Emotions in Testing—Not!TechWell
 
12 cbsce bw2
12 cbsce bw212 cbsce bw2
12 cbsce bw2TechWell
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTechWell
 
Requirements Engineering: A Practicum
Requirements Engineering: A PracticumRequirements Engineering: A Practicum
Requirements Engineering: A PracticumTechWell
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101TechWell
 
White-box Testing: When Quality Really Matters
White-box Testing: When Quality Really MattersWhite-box Testing: When Quality Really Matters
White-box Testing: When Quality Really MattersTechWell
 
Testing Metrics: Project, Product, Process
Testing Metrics: Project, Product, ProcessTesting Metrics: Project, Product, Process
Testing Metrics: Project, Product, ProcessTechWell
 
How to Break Software: Robustness Edition
How to Break Software: Robustness EditionHow to Break Software: Robustness Edition
How to Break Software: Robustness EditionTechWell
 
Lean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise AgileLean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise AgileTechWell
 
Tuning and Improving Your Agility
Tuning and Improving Your AgilityTuning and Improving Your Agility
Tuning and Improving Your AgilityTechWell
 
T23 HTML5 Security Testing at Spotify
T23 HTML5 Security Testing at SpotifyT23 HTML5 Security Testing at Spotify
T23 HTML5 Security Testing at SpotifyTechWell
 
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
Continuous Delivery: Rapid and Reliable Releases with DevOps PracticesContinuous Delivery: Rapid and Reliable Releases with DevOps Practices
Continuous Delivery: Rapid and Reliable Releases with DevOps PracticesTechWell
 
Critical Thinking for Software Testers
Critical Thinking for Software TestersCritical Thinking for Software Testers
Critical Thinking for Software TestersTechWell
 

Destaque (15)

Design Patterns Explained: From Analysis through Implementation
Design Patterns Explained: From Analysis through ImplementationDesign Patterns Explained: From Analysis through Implementation
Design Patterns Explained: From Analysis through Implementation
 
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsMobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
 
There’s No Room for Emotions in Testing—Not!
There’s No Room for Emotions in Testing—Not!There’s No Room for Emotions in Testing—Not!
There’s No Room for Emotions in Testing—Not!
 
12 cbsce bw2
12 cbsce bw212 cbsce bw2
12 cbsce bw2
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to Practice
 
Requirements Engineering: A Practicum
Requirements Engineering: A PracticumRequirements Engineering: A Practicum
Requirements Engineering: A Practicum
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101
 
White-box Testing: When Quality Really Matters
White-box Testing: When Quality Really MattersWhite-box Testing: When Quality Really Matters
White-box Testing: When Quality Really Matters
 
Testing Metrics: Project, Product, Process
Testing Metrics: Project, Product, ProcessTesting Metrics: Project, Product, Process
Testing Metrics: Project, Product, Process
 
How to Break Software: Robustness Edition
How to Break Software: Robustness EditionHow to Break Software: Robustness Edition
How to Break Software: Robustness Edition
 
Lean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise AgileLean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise Agile
 
Tuning and Improving Your Agility
Tuning and Improving Your AgilityTuning and Improving Your Agility
Tuning and Improving Your Agility
 
T23 HTML5 Security Testing at Spotify
T23 HTML5 Security Testing at SpotifyT23 HTML5 Security Testing at Spotify
T23 HTML5 Security Testing at Spotify
 
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
Continuous Delivery: Rapid and Reliable Releases with DevOps PracticesContinuous Delivery: Rapid and Reliable Releases with DevOps Practices
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
 
Critical Thinking for Software Testers
Critical Thinking for Software TestersCritical Thinking for Software Testers
Critical Thinking for Software Testers
 

Semelhante a Security Testing for Testing Professionals

Security Testing for Test Professionals
Security Testing for Test ProfessionalsSecurity Testing for Test Professionals
Security Testing for Test ProfessionalsTechWell
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing ProfessionalsTechWell
 
Security Testing for Test Professionals
Security Testing for Test ProfessionalsSecurity Testing for Test Professionals
Security Testing for Test ProfessionalsTechWell
 
JavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaJavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaChris Bailey
 
Secure Engineering Practices for Java
Secure Engineering Practices for JavaSecure Engineering Practices for Java
Secure Engineering Practices for JavaTim Ellison
 
Information security software security presentation.pptx
Information security software security presentation.pptxInformation security software security presentation.pptx
Information security software security presentation.pptxsalutiontechnology
 
Project Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docxProject Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docxwkyra78
 
Security Testing In The Secured World
Security Testing In The Secured WorldSecurity Testing In The Secured World
Security Testing In The Secured WorldJennifer Mary
 
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdfCisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdfNathanDjami
 
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docxCMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docxclarebernice
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeTechWell
 
Criterion 1A - 4 - MasteryPros and Cons Thoroughly compares the
Criterion 1A - 4 - MasteryPros and Cons Thoroughly compares theCriterion 1A - 4 - MasteryPros and Cons Thoroughly compares the
Criterion 1A - 4 - MasteryPros and Cons Thoroughly compares theCruzIbarra161
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life CycleMaurice Dawson
 
Selecting an App Security Testing Partner: An eGuide
Selecting an App Security Testing Partner: An eGuideSelecting an App Security Testing Partner: An eGuide
Selecting an App Security Testing Partner: An eGuideHCLSoftware
 
Procuring an Application Security Testing Partner
Procuring an Application Security Testing PartnerProcuring an Application Security Testing Partner
Procuring an Application Security Testing PartnerHCLSoftware
 
CMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTCMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTHamesKellor
 
10 Best Practices for Implementing DevOps Security
10 Best Practices for Implementing DevOps Security10 Best Practices for Implementing DevOps Security
10 Best Practices for Implementing DevOps SecurityDev Software
 
Security architecture, engineering and operations
Security architecture, engineering and operationsSecurity architecture, engineering and operations
Security architecture, engineering and operationsPiyush Jain
 
Building a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps WorldBuilding a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps WorldArun Prabhakar
 

Semelhante a Security Testing for Testing Professionals (20)

Security Testing for Test Professionals
Security Testing for Test ProfessionalsSecurity Testing for Test Professionals
Security Testing for Test Professionals
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing Professionals
 
Security Testing for Test Professionals
Security Testing for Test ProfessionalsSecurity Testing for Test Professionals
Security Testing for Test Professionals
 
JavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaJavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for Java
 
Secure Engineering Practices for Java
Secure Engineering Practices for JavaSecure Engineering Practices for Java
Secure Engineering Practices for Java
 
Information security software security presentation.pptx
Information security software security presentation.pptxInformation security software security presentation.pptx
Information security software security presentation.pptx
 
Project Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docxProject Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docx
 
Security Testing In The Secured World
Security Testing In The Secured WorldSecurity Testing In The Secured World
Security Testing In The Secured World
 
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdfCisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
 
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docxCMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to Practice
 
Criterion 1A - 4 - MasteryPros and Cons Thoroughly compares the
Criterion 1A - 4 - MasteryPros and Cons Thoroughly compares theCriterion 1A - 4 - MasteryPros and Cons Thoroughly compares the
Criterion 1A - 4 - MasteryPros and Cons Thoroughly compares the
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life Cycle
 
Selecting an App Security Testing Partner: An eGuide
Selecting an App Security Testing Partner: An eGuideSelecting an App Security Testing Partner: An eGuide
Selecting an App Security Testing Partner: An eGuide
 
Procuring an Application Security Testing Partner
Procuring an Application Security Testing PartnerProcuring an Application Security Testing Partner
Procuring an Application Security Testing Partner
 
Mobile Apps Security Testing -1
Mobile Apps Security Testing -1Mobile Apps Security Testing -1
Mobile Apps Security Testing -1
 
CMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTCMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECT
 
10 Best Practices for Implementing DevOps Security
10 Best Practices for Implementing DevOps Security10 Best Practices for Implementing DevOps Security
10 Best Practices for Implementing DevOps Security
 
Security architecture, engineering and operations
Security architecture, engineering and operationsSecurity architecture, engineering and operations
Security architecture, engineering and operations
 
Building a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps WorldBuilding a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps World
 

Mais de TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

Mais de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Último

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Security Testing for Testing Professionals

  • 1. TL PM Tutorial 10/1/2013 1:00:00 PM "Security Testing for Testing Professionals" Presented by: Jeff Payne Coveros, Inc. Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Jeff Payne Coveros, Inc. Jeff Payne is CEO and founder of Coveros, Inc., a software company that builds secure software applications using agile methods. Since its inception in 2008, Coveros has become a market leader in secure agile principles and has been recognized by Inc. magazine as one of the fastest growing private US companies. Prior to founding Coveros, Jeff was chairman of the board, CEO, and cofounder of Cigital, Inc., a market leader in software security consulting.
  • 3. 8/20/2013 Security Testing for Test Professionals © Copyright 2011 Coveros, Inc.. All rights reserved. 1 Trainer Jeffery Payne Jeffery Payne is CEO and founder of Coveros, Inc., a software company that helps organizations accelerate the delivery of secure, reliable software. Coveros uses agile development methods and a proven software assurance framework to build security and quality into software from the ground up. Prior to founding Coveros, Jeffery was Chairman of the Board, CEO, and co-founder of Cigital, Inc. Under his direction, Cigital became a leader in software security and software quality solutions, helping clients mitigate the risk of software failure. Jeffery is a recognized software expert and popular speaker at both business and technology conferences on a variety of software quality, security, and agile development topics. He has also testified before Congress on issues of national importance, including intellectual property rights, cyber-terrorism, Software research funding, and software quality. © Copyright 2011 Coveros, Inc.. All rights reserved. 2 1
  • 4. 8/20/2013 About Coveros  Coveros helps organizations accelerate the delivery of secure, reliable software  Our consulting services: – – – – Agile software development Application security Software quality assurance Software process improvement Corporate Partners  Our key markets: – – – – Financial services Healthcare Defense Critical Infrastructure © Copyright 2011 Coveros, Inc.. All rights reserved. 3 © Copyright 2011 Coveros, Inc.. All rights reserved. 4 Agenda  Introduction to Security Testing  Security Testing Framework – Steps in security testing – Security test planning – Security test tools  Wrap up 2
  • 5. 8/20/2013 Expectations  What are your expectations for this tutorial?  What do you wish to learn?  What questions do you want answered? © Copyright 2011 Coveros, Inc.. All rights reserved. 5 Introduction to Security Testing © Copyright 2011 Coveros, Inc.. All rights reserved. 6 3
  • 6. 8/20/2013 What is Information Security? When you hear the term “Information Security” and “Security Testing”: What do you think they mean? What comes to mind? © Copyright 2011 Coveros, Inc.. All rights reserved. 7 What is Information Security? Definition of Information Security  Information Security means protecting information and information systems from unauthorized access, use, disclosure, disruption, modification, perusal, inspection, recording or destruction.  The key concepts of Information Security include: – Confidentiality – prevent the disclosure of information to unauthorized individuals or systems – Integrity – data cannot be modified undetectably – Availability – data and systems are available in an uninterrupted manner – Authenticity – ensure that data, transactions, communications or documents (electronic or physical) are genuine – Non-Repudiation – ensure that someone cannot deny something © Copyright 2011 Coveros, Inc.. All rights reserved. 8 4
  • 7. 8/20/2013 The Software Security Problem Our IT systems are not castles any longer! © Copyright 2011 Coveros, Inc.. All rights reserved. 9 © Copyright 2011 Coveros, Inc.. All rights reserved. 10 Why Software Security is Important 5
  • 8. 8/20/2013 Understanding Risk How to Define Security Risk in Software  Common Security Nomenclature – Risk: a possible future event which, if it occurs, will lead to an undesirable outcome – Threat: A potential cause of an undesirable outcome – Vulnerability: Any weakness, administrative process, or act of physical exposure that makes an information asset susceptible to exploit by a threat. – An exploit is a piece of software, a chunk of data, or sequence of commands that takes advantage of a vulnerability in order to cause unintended or unanticipated behavior to occur on computer software, hardware, or something electronic. – Attack: the approach taken by a threat to exploit a vulnerability  Denial of service, spoofing, tampering, escalation of privilege © Copyright 2011 Coveros, Inc.. All rights reserved. 11 Security Testing What? How?  Security Testing is testing used to determine whether an information system protects its data from its threats.  Security Testing is not a silver bullet for your enterprise security. Security Testing doesn’t fix your security, it only makes you aware of it. Security must be built into your software  A sound Security Testing process performs testing activities: – – – – – Before development begins During requirements definition and software design During implementation During deployment During maintenance and operations © Copyright 2011 Coveros, Inc.. All rights reserved. 12 6
  • 9. 8/20/2013 Exercise Security Testing Case Study  Your company, SecureTelco, has developed an instant messaging program to be used for private use in customers homes and for companies and government agencies.  SecureChat requires users to sign up with an account prior to using the system. After authenticating with a username and password, each user can message other users and expect their conversations to be private.  Users have the ability to add/remove friends from their contact list, search for friends based on their email, block users from IMing them, become “invisible” to all users on demand.  Messages archives and activities logs document user behavior and can be retrieved by the user or a SecureTelco Administrator through the application or by the administrative console, respectively. © Copyright 2011 Coveros, Inc.. All rights reserved. 13 Security Testing Framework © Copyright 2011 Coveros, Inc.. All rights reserved. 14 7
  • 10. 8/20/2013 Security testing before development begins Overview  “Testing” before development begins is really a QA function to assess the readiness of the organization to build secure software applications.  Always remember that security testing evaluates the security posture of your applications, it does not build security in.  Irrespective of your findings, do not become the “quality police”. © Copyright 2011 Coveros, Inc.. All rights reserved. 15 Security testing before development begins Review Security Policies and Standards  Understand the policies and standards that have been adopted by the organization and their relationship to software security  Examples: – – – – Privacy policies regarding your customer data Service level agreements with clients IT security standards you must adhere to PCI compliance activities for credit card transactions  Your goal is to understand these policies and standards to the level that will allow you to validate security requirements and effectively test the end product against them © Copyright 2011 Coveros, Inc.. All rights reserved. 16 8
  • 11. 8/20/2013 Security testing before development begins Review Secure Software Development Lifecycle  If the security of your software is an enterprise concern, the development team should be adhering to a defined secure software development lifecycle model. – Defines development activities that builds security in – Defines security testing activities performed by appropriate parties (development, testing, security org, operations, etc.)  Common secure software development models – Microsoft’s Secure Development Lifecycle (SDL) – Coveros SecureAgile process – There are others as well  Secure software standards – Secure coding standard © Copyright 2011 Coveros, Inc.. All rights reserved. 17 Security testing during definition and design Overview  Testing activities during requirements definition and software design focus on assuring that security has been effectively integrated into software requirements and the overall architecture and design of the product  Typical activities include: – – – – Security requirements development/validation Architecture and design reviews Threat modeling Test strategy and planning © Copyright 2011 Coveros, Inc.. All rights reserved. 18 9
  • 12. 8/20/2013 Security testing during definition and design Software Requirements  Functional Requirements: These are statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.  What each feature within the software should do  Non-Functional Requirements: These statements describe additional requirements that are not associated with individual functional behaviors. These statements include information about: reliability, configurability, availability, performance, etc.  What quality goals must the entire software system achieve © Copyright 2011 Coveros, Inc.. All rights reserved. 19 Security testing during definition and design Security Requirements  Security Requirements describe functional and nonfunctional requirements that need to be satisfied in order to achieve the security attributes of an IT system or application. What does that mean?  Functional Security Requirements  Additions to functional requirements that define what the software should not do.  Non-Functional Security Requirements  Additional non-functional requirements that define what overall security the system must provide © Copyright 2011 Coveros, Inc.. All rights reserved. 20 10
  • 13. 8/20/2013 Security testing during definition and design Example Security Requirement Functional requirement: SecureChat login screen shall accept a valid username/password pair and allow system access Functional requirement that includes security: SecureChat login screen shall accept valid username/password pairs and allow system access. • Entering either an invalid username or invalid password will result in the display of the message “Invalid username or password” on a redisplay of the login screen after both a username and password are entered • Three successive invalid login attempts from a particular machine will lock the user’s account and display the message “User Account Locked, Call System Administrator” on a redisplay of the login screen. Subsequent valid login/password pairs will not allow system access until the account is unlocked by the system administrator © Copyright 2011 Coveros, Inc.. All rights reserved. 21 Security testing during definition and design Example Security Requirement Functional requirements: SecureChat user shall choose a userid and a password for their account during registration Functional security requirement: SecureChat user shall choose a userid and a password for their account during registration • Userid shall be unique within the system • Userid shall consist of alphanumeric characters • Password shall be at least 12 characters long and include at least one capital letter, one special character, and one whole number © Copyright 2011 Coveros, Inc.. All rights reserved. 22 11
  • 14. 8/20/2013 Security testing during definition and design Examples of Non-Functional Security Requirements  SecureChat shall ensure that data is protected from unauthorized access at all times.  SecureChat shall have an availability of 99.9%.  SecureChat shall process a minimum of 8 transactions per second.  Each SecureChat build shall undergo secure code review prior to release.  All communications between the SecureChat client application and the SecureChat central servers shall be encrypted. © Copyright 2011 Coveros, Inc.. All rights reserved. 23 Security testing during definition and design Architectural and Design Reviews  Architectural and design reviews focus on determining whether the stated architecture / design enforces the appropriate level of security as defined in the requirements.  Typically performed by security architects and/or other software leads within the organization.  Examines these artifacts for flaws such as: – Violation of trust boundaries – Distributed control of authorization – Custom algorithms for cryptography / random number generation © Copyright 2011 Coveros, Inc.. All rights reserved. 24 12
  • 15. 8/20/2013 Design Flaws vs. Implementation Bugs  Flaws (Design Defects) – Misuse of cryptography – Compartmentalization problems in design – Privileged block protection failure – Type safety confusion error – Insecure auditing – Broken or illogical access control – Method over-riding problems  Bugs (Implementation Defects) – – – – Buffer overflows Cross site scripting Race conditions SQL Injection © Copyright 2011 Coveros, Inc.. All rights reserved. 25 Security testing during definition and design Threat modeling for risk assessment  Threat modeling – a process by which any risks to a piece of software are identified and mitigated  A variety of approaches exist for doing threat modeling  Microsoft STRIDE model – – – – Diagram your system – high level dataflow diagrams Identify threats (risks) – each type of entity/interaction has enemies Mitigate threats (risks) – determine security controls Validate mitigations – test effectiveness of these controls  Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Escalation of Privilege (STRIDE) © Copyright 2011 Coveros, Inc.. All rights reserved. 26 13
  • 16. 8/20/2013 Fixing the Problem – One DoD Initiative 60.00 Critical/High Vulnerabilities Per 1,000 Lines of Code Initial Follow-On 40.00 20.00 0.00 App1 App2 App3 App4 App5 App6 But there are 1,000’s of apps … do the math © Copyright 2011 Coveros, Inc.. All rights reserved. 27 Security testing during definition and design Assessing your risk – Answers the ‘so what?’ question  Identifying threats and flaws in your design only result in better security if the flaws are mitigated to minimize the threat.  But at what cost to the organization?  What benefit?  How do you convince management to fund mitigation efforts? © Copyright 2011 Coveros, Inc.. All rights reserved. 28 14
  • 17. 8/20/2013 Security testing during definition and design Risk Assessments  Information on design flaws/vulnerabilities and known threats from our threat model are often combined together to estimate the likelihood and consequence of a flaw/defect resulting in significant business impact Highly Likely Likely Unlikely Business-critical High priority Priority Priority Business concern High priority Priority Not a Priority Minor or cosmetic Not a Priority Not a Priority Not a Priority © Copyright 2011 Coveros, Inc.. All rights reserved. 29 Security testing during definition and design Risk Assessments Results  Risks are placed in appropriate categories based upon understood consequence and likelihood of occurrence – Consequence – depends upon your business and market – Likelihood – depends upon your risks and threats Highly Likely Business-critical Business concern Minor or cosmetic Likely Unlikely High priority Priority Stealing of secrets Priority High priority Priority Tampering Not a Priority Not a Priority Not a Priority Not a Priority Denial of service Inappropriate access © Copyright 2011 Coveros, Inc.. All rights reserved. 30 15
  • 18. 8/20/2013 Exercise Functional Security Requirement  SecureChat Authentication Requirements – When a user attempts to authenticate with a valid username and an invalid password, the application shall not authenticate the user and return them to the authentication page. – The system must alert the user that their attempt to authenticate has failed due to an incorrect password (“Invalid Password”) utilizing the standard error text formatting. – When a user attempts to authenticate with a invalid username, the application shall not authenticate the user and return them to the authentication page. – The system must alert the user that their attempt to authenticate has failed due to an incorrect username (“Invalid Username”) utilizing the standard error text formatting. – What a user attempts to authenticate using a username and a valid password, the application shall authenticate the user and redirect them to the homepage.  What risks/attacks might be possible? © Copyright 2011 Coveros, Inc.. All rights reserved. 31 Test strategy and planning Security test strategy  Security is one aspect of testing that must be incorporated into your test strategy and is typically included in a master test plan  Typical master test plan format – – – – – – Overview of system High level risks and threats to quality Types of testing that will help mitigate risks and threats Roles and responsibilities Automation approach Test infrastructure and schedule © Copyright 2011 Coveros, Inc.. All rights reserved. 32 16
  • 19. 8/20/2013 Developing a security test plan What should be included?  Describe and detail your process and procedures for security testing – – – – When should testing begin? How are test results reported? Who validates and verifies findings/results? When are vulnerabilities addressed?  Types of tests you should include in your test plan: – – – – Security Feature Testing Risk Based Testing of functional and non-functional requirements Internal Penetration Tests External (Independent) Penetration Tests  Security test plans are usually separate test plans (for compliance / audit reasons) © Copyright 2011 Coveros, Inc.. All rights reserved. 33 Integrating security requirements in test plans Know your Security Requirements – Requirements analysis  It is important that each tester understand the security requirements for your application and what they imply.  Often Security requirements may come in conflict with another type of requirement. If there are conflicts, it is important that you identify those concerns and the requirements are clarified by a Business Analyst.  In most organizations, security requirements are not well defined if it all.  A general rule of thumb: Make sure your core information security concepts are all covered. If not, request that they are.  Understand which security requirements are functional and which are non-functional, this will have an impact how you plan to test them. © Copyright 2011 Coveros, Inc.. All rights reserved. 34 17
  • 20. 8/20/2013 Integrating security requirements in test plans Testing Security Requirements  Feature testing covers positive security requirements. This typically ensures the software behaves according to customer expectations.  Example – If security requirements state that the length of any user input must be validated, then a feature test suite should be created to exercise the application inputs and verify that this requirement is implemented correctly.  Testers should also cover negative security testing or RiskDriven testing. Each test is intended to probe for a specific risk or vulnerability. These risk may have been identified during your risk assessment.  Example – Cross Site Scripting and SQL Injection; These vulnerabilities are not obviously features of the application, therefore the fall under the negative security requirements umbrella.  Security testing tools provide out of the box testing for common web security issues © Copyright 2011 Coveros, Inc.. All rights reserved. 35 Security testing during implementation Overview  Testing activities during implementation focus on assuring that the software is implemented properly according to its requirements and design  Key activities during implementation include: – Secure code review – identifying security vulnerabilities in source code – Testing individual components/features for security – Testing requirements at the appropriate level © Copyright 2011 Coveros, Inc.. All rights reserved. 36 18
  • 21. 8/20/2013 Security testing during implementation Secure code review  Secure code review identifies vulnerabilities within source code that potentially impact system security.  Examples – Buffer overflows – Race conditions  Secure code review is a combination of manual and automated analysis  Secure code review is typically done by developers or a dedicated security team © Copyright 2011 Coveros, Inc.. All rights reserved. 37 Security testing during implementation Testing components and features  The testing of components and individual features will identify code that improperly implements functionality against its requirements.  While some feature testing has historically been done at the system level, more and more of this type of testing today is done on individual units / stories by either a developer or code savvy test engineer.  Review of tests performed at this level should look for common gaps that lead to security issues: – Inadequate testing of error handling routines – Insufficient protection during system reboot – Forgetting to test administrative capabilities © Copyright 2011 Coveros, Inc.. All rights reserved. 38 19
  • 22. 8/20/2013 Security testing during implementation Testing common security controls  Due to the security-critical nature of many of our applications, it is common to see the following security controls implemented within our software.  Each must be validated in order to work!  Authentication & Access Control  Input Validation & Encoding  Encryption  User and Session Management  Error and Exception Handling  Auditing and Logging  Test catalog’s can assure security controls are tested adequately. © Copyright 2011 Coveros, Inc.. All rights reserved. 39 Common Approaches to Authentication All About Authentication  When we refer to authentication in computer security, we refer to the process of attempting to verify the digital identity of the sender of a communication. – A common example of such a process is the login process. – Authentication always depends upon using one or more authentication category: something I know, I have, I am  Two-factor authentication: factors from two categories – Multi-factor authentication: more than one authentication factor but can be from the same category  Testing authentication schemas means understanding how the process works and using that information to circumvent the authentication mechanism. © Copyright 2011 Coveros, Inc.. All rights reserved. 40 20
  • 23. 8/20/2013 Common Approaches to Authentication Authentication Test Catalog  Credentials transport over an encrypted channel – The tester must try to understand if the data inputted by the user is transmitted using secure protocols that protect them from an attacker or not.  Testing for user enumeration – The tester must verify if it is impossible to collect a set of valid users by interacting with the authentication mechanism of the application. This will become useful for brute force testing.  Testing for guessable (dictionary) user accounts – The tester must validate that there are no default user accounts or guessable username/password combinations  Brute force testing – When dictionary attacks don’t succeed, the tester can attempt brute force methods to gain access. This is not often easy to accomplish because of time constraints. © Copyright 2011 Coveros, Inc.. All rights reserved. 41 Common Approaches to Authentication Authentication Test Catalog (cont.)  Testing for bypassing authentication schema – The tester must validate that other application resources are adequately protected, and can’t be used to bypass authentication using those other resources.  Testing for vulnerable remember password and password reset features – The tester must analyze how the application manages the process of “password resets”. The tester must check whether the application allows the user to store passwords in the browser.  Testing for logout and browser cache management – The tester must check that the logout and caching functions are properly implemented. © Copyright 2011 Coveros, Inc.. All rights reserved. 42 21
  • 24. 8/20/2013 Common Approaches to Authentication Authentication Test Catalog (cont.)  Testing for CAPTCHA – Used by many applications to ensure the response is not generated by a computer, CAPTCHA (“Completely Automated Public Trust test to tell Computers and Humans Apart”) implementations are often vulnerable to various kinds of attacks.  Testing multiple factor authentication – The tester must test the following scenarios:     One Time Password Generator Tokens Crypto devices like USB tokens or smart cards X.509 Certificates Random OTP sent via SMS  Testing for race conditions – The tester must ensure that an unexpected result on a multithread application doesn’t create an authentication flaw. By their nature, Race Conditions are difficult to test for © Copyright 2011 Coveros, Inc.. All rights reserved. 43 Common Approaches to Authentication Authentication Test Catalog (cont.)  Testing for session management schema – The tester must test the security of a session tokens issues to the client browser:  How to reverse engineer a cookie  How to manipulate cookies to hijack a session  Testing for cookie attributes – The tester must check if an application can take the necessary precautions when assigning cookies and test the cookie attributes.  Testing for session fixation – The tester must validate that an application renews the cookie after a successful user authentication, so that an attacker could not utilize a session fixation vulnerability. © Copyright 2011 Coveros, Inc.. All rights reserved. 44 22
  • 25. 8/20/2013 Common Approaches to Authentication Authentication Test Catalog (cont.)  Testing for exposed session variables – The tester must validate that it is not possible to create a replay session attack utilizing exposed session information.  Testing for CSRF (Cross Site Request Forgery) – The tester must ensure that there is not a way to force an unknowing user to execute unwanted actions on a web application they are authenticated on. © Copyright 2011 Coveros, Inc.. All rights reserved. 45 Tools to Support Authentication Testing Password Crackers/Brute Force Tools  Where to use? – When you want to break the default credentials or test your authentication mechanisms against common security tools.  Free Tools – THC Hydra – Cain and Abel – Wfuzz  Paid Tools – John the Ripper © Copyright 2011 Coveros, Inc.. All rights reserved. 46 23
  • 26. 8/20/2013 Security testing during implementation Risk-based Testing  Risk-based Testing focuses on testing that the risks identified during threat modeling, design reviews, code reviews were properly mitigated in the code  Define negative tests that validate these issues have been mitigated.  Perform these tests at whatever level is appropriate to identify any remaining vulnerabilities.  Typically performed at the integration / system level © Copyright 2011 Coveros, Inc.. All rights reserved. 47 Security testing during implementation Top 25 Most Dangerous Software Errors  SQL Injection  OS Command Injection  Buffer Overflow  Cross site scripting  Missing authentication  Missing authorization  Untrusted inputs in a security decision  Unnecessary privileges  Cross-site request forgery  Improper limitation of a restricted file path  Hard-coded credentials  Download of code without integrity checks  Missing encryption  Risky crypto algorithms  Upload of dangerous files  Use of potentially dangerous functions © Copyright 2011 Coveros, Inc.. All rights reserved. 48 24
  • 27. 8/20/2013 Security testing during implementation Integration and Systems Testing  Testing non-functional security requirements that span features within the system  Includes Web Application Security testing of any web-based interfaces – Learn to read the output of these tools and understand how the vulnerabilities identified can be mitigated!  Often includes internal Penetration Testing type activities to “test like a hacker” – – – – Fuzzing Password crackers Network port scanners Dynamic input strings © Copyright 2011 Coveros, Inc.. All rights reserved. 49 Tools to Support Web Security Testing Web Application Scanners  Where to use? – Looking for XSS, Injection and input validation vulnerabilities; some tools will attempt to actively exploit vulnerabilities.  Free Tools – – – – – – – Zap Nikto W3af Paros Skipfish Wfuzz ratproxy  Paid Tools – Netsparker – WebSecurify © Copyright 2011 Coveros, Inc.. All rights reserved. 50 25
  • 28. 8/20/2013 Zaproxy  Intercepting Proxy  Active scanner  Passive scanner  Brute Force scanner  Spider  Fuzzer  Port Scanner  Dynamic SSL certificates  API  Beanshell integration © Copyright 2011 Coveros, Inc.. All rights reserved. Continuous Integration $ 51 $ Management Engineer IntelliJ IDEA/ Eclipse JDepend Hudson subversion © Copyright 2011 Coveros, Inc.. All rights reserved. 52 26
  • 29. 8/20/2013 Tools to Support Penetration Testing Network Security Tools  Where to use? – Scanning for mis-configurations – Testing for OS, application and network vulnerabilities  Free Tools – OpenVAS  Paid Tools – Nessus – Core Impact © Copyright 2011 Coveros, Inc.. All rights reserved. 53 Security testing during deployment Overview  Testing during the deployment process focuses on those tests that cannot be adequately completed within a development/QA environment plus any third party IV&V – Red Team Penetration Testing – Load and performance testing (for availability) – Configuration testing  Red Team Penetration Testing is typically done by a team of security experts and includes both network and application testing © Copyright 2011 Coveros, Inc.. All rights reserved. 54 27
  • 30. 8/20/2013 Security testing during maintenance / support Overview  Testing during maintenance and support focuses on: – Assuring that any identified vulnerabilities within the application, supporting software, or network configuration are patched and revalidated  Based upon the identified vulnerability and patch, a wide variety of testing activities may be performed again to assure the patch operations properly and also does not break something else! © Copyright 2011 Coveros, Inc.. All rights reserved. 55 Questions? Contact Information: Jeffery Payne Jeff.payne@coveros.com 703.431.2920 © Copyright 2011 Coveros, Inc.. All rights reserved. 56 28