Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Penetration Testing in Secure Software Development: Techniques and Best Practices, Slides of Software Engineering

An overview of penetration testing as part of secure software development. Topics covered include the application of touchpoints, risk analysis, code review, penetration testing, security operations, and software testing. The benefits and limitations of penetration testing, as well as best practices for external and internal testing.

Typology: Slides

2012/2013

Uploaded on 04/26/2013

sharad_984
sharad_984 🇮🇳

4.5

(13)

146 documents

1 / 15

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Secure Software Development
Penetration Testing
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Penetration Testing in Secure Software Development: Techniques and Best Practices and more Slides Software Engineering in PDF only on Docsity!

Secure Software Development

Penetration Testing

Application of Touchpoints

Requirement and Use cases

Architecture and Design Test Plans^ Code^

Tests and Test Results

Feedback from the Field

5. Abuse cases 6. Security Requirements 2. Risk Analysis

External Review

4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

Security Testing

  • Look for unexpected but intentional misuse of the

system

  • Must test for all potential misuse types using
    • Architectural risk analysis results
    • Abuse cases
  • Verify that
    • All intended security features work (white hat)
    • Intentional attacks cannot compromise the system (black hat)

Penetration Testing

  • Testing for negative – what must not exist in the system
  • Difficult – how to prove “non-existence”
  • If penetration testing does not find errors than
    • Can conclude that under the given circumstances no security faults occurred
    • Little assurance that application is immune to attacks
  • Feel-good exercise

Late-Lifecycle Testing

  • Limitations:
    • Design and coding errors are too late to discover
    • Higher cost than earlier designs-level detection
    • Options to remedy discovered flaws are constrained by both time and budget
  • Advantages: evaluate the system in its final

operating environment

Success of Penetration Testing

  • Depends on skill, knowledge, and experience of

the tester

  • Important! Result interpretation
  • Disadvantages of penetration testing:
    • Often used as an excuse to declare victory and go home
    • Everyone looks good after negative testing results

Testing Process

  • External Testing: across the internet.
    • Simulate attacker’s environment
    • Gathering information related to remote access, IP addresses, open ports, allowed services, etc.
    • Tools to support
  • Internal Testing: onsite. View of the system behind the external perimeters - Software penetration testing tools - Attempt to exploit vulnerabilities

Testing Activities

  • Scoping: assessing target system
  • Discovery: building information about the system
    • Offline and online activities
  • Vulnerability scanning: testing system components
  • Target penetration: within testing parameters
  • Analysis: of results of previous stages
  • Reporting: detailed findings and recommendations

Testing and Application Context

  • Organizations: How to update legacy systems

with security capabilities

  • Application specific risk.

Is Penetration Testing Worth it?

  • Schneier, http://schneier.com/blog/archives/2007/05/is_penetr ation.html
  • Opinions:
    • Penetration testing is essential for network security
    • Penetration testing is a waste of time and money
  • What is the goal of penetration testing?
  • Finding too much vulnerabilities – how to fix them all?
  • Useful penetration testing:
    • Find vulnerabilities you’re going to fix
    • Pursue managers to invest in security