SlideShare a Scribd company logo
1 of 25
CSCE 201
Secure Software Development
Best Practices
2
Reading
 This lecture:
 G. McGraw, Software [In]security: Software
Security Zombies, 07/2011,
http://www.cigital.com/resources/papers/
3
How to address software
security?
 Do not address at all
 Ad-hoc evaluation
 Add security features after the fact
 Identify security vulnerabilities
 Test security level
 Incorporate security throughout of SDLC
4
Checking for Known
Vulnerabilities
 Need tool
 Possible attacks and attack types
 How the software behaves if something
goes WRONG
 What motivates an attacker?
5
Three Pillars of Software Security
 Risk Management – Business case
 Software Security Touchpoints – Best
practices
 Knowledge – Tools
6
Risk Management
 How much effort to invest in security
 Consequences of security breaches
 Acceptable-level of security
 Tracking and mitigating risk throughout the
full SDLC
7
Knowledge
 Gathering, encapsulating, and sharing security
knowledge
 Knowledge categories:
– Prescriptive knowledge
– Diagnostic knowledge
– Historical knowledge
 Applied along the SDLC
8
Touchpoints
 System-wide activity: from design to testing and feedback
 Touchpoints:
1. Code review
2. Architectural risk analysis
3. Penetration testing
4. Risk-based security testing
5. Abuse cases
6. Security requirements
7. Security operations
9
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
10
Misuse Cases
 Software development: making software do something
– Describe features and functions
– Everything goes right
 Need: security, performance, reliability
– Service level agreement – legal binding
 How to model non-normative behavior in use cases?
– Think like a bad guy
11
Misuse Cases
 Analyze system design and requirements
– Assumptions
– Failure of assumptions
– Attack patterns
 Software that is used also going to be
attacked
 What can a bad guy do and how to react to
malicious use
12
Misuse Case Development
 Team work – software developers and security
experts
 Identifying and documenting threats
 Creating anti-requirements: how the system can be
abused
 Creating attack model
– Select attack pattern relevant to the system
– Include anyone who can gain access to the system
13
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
14
Software Testing
 Application fulfills functional requirements
 Dynamic, functional tests late in the SDLC
 Contextual information
15
Security Testing
 Test: finding flaws in software can be
exploited by attackers
 Quality, reliability and security are tightly
coupled
 Software behavior testing
– Need: risk-based approach using system
architecture information and attacker’s model
16
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)
17
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
18
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
19
Behavior in the Presence of
Malicious Attack
 What happens when the software fails?
– Safety critical systems
 Track risk over time
 Security relative to
– Information and services protected
– Skills and resources of adversaries
– Cost of protection
 System vulnerabilities
20
Malicious Input
 Software: takes input
 Trust input?
– Malformed or malicious input may lead to
security compromise
– What is the input?
 Data vs. control
 Attacker toolkit
21
Traditional Software
Development
 No information security consideration
 Highly distributed among business units
 Lack of understanding of technical security
risks
22
Don’t stand so close to me
 Best Practices
– Manageable number of simple activities
– Should be applied throughout the software development
process
 Problem:
– Software developers: lack of security domain
knowledge  limited to functional security
– Information security professionals: lack of
understanding software  limited to reactive security
techniques
23
Vulnerability Monitoring
 Identify security weaknesses
 Methods:
– Automated tools
– Human walk-through
– Surveillance
– Audit
– Background checks
24
Red Team
 Organized group of people attempting to penetrate
the security safeguards of the system.
 Assess the security of the system  future
improvement
 Requested or permitted by the owner to perform
the assessment
 Wide coverage: computer systems, physical
resources, programming languages, operational
practices, etc.
25
Next Class
 Midterm exam

More Related Content

Similar to csce201 - software - sec Basic Security.ppt

Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
Marco Morana
 
Ethical hacking a licence to hack
Ethical hacking a licence to hackEthical hacking a licence to hack
Ethical hacking a licence to hack
amrutharam
 
New Age Red Teaming - Enterprise Infilteration
New Age Red Teaming - Enterprise InfilterationNew Age Red Teaming - Enterprise Infilteration
New Age Red Teaming - Enterprise Infilteration
Shritam Bhowmick
 
Ethicalhackingalicencetohack 120223062548-phpapp01
Ethicalhackingalicencetohack 120223062548-phpapp01Ethicalhackingalicencetohack 120223062548-phpapp01
Ethicalhackingalicencetohack 120223062548-phpapp01
rajkumar jonuboyena
 

Similar to csce201 - software - sec Basic Security.ppt (20)

Software security testing
Software security testingSoftware security testing
Software security testing
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
 
Ethical hacking a licence to hack
Ethical hacking a licence to hackEthical hacking a licence to hack
Ethical hacking a licence to hack
 
Security assessment isaca sv presentation jan 2016
Security assessment isaca sv presentation jan 2016Security assessment isaca sv presentation jan 2016
Security assessment isaca sv presentation jan 2016
 
New Age Red Teaming - Enterprise Infilteration
New Age Red Teaming - Enterprise InfilterationNew Age Red Teaming - Enterprise Infilteration
New Age Red Teaming - Enterprise Infilteration
 
Defense In Depth Using NIST 800-30
Defense In Depth Using NIST 800-30Defense In Depth Using NIST 800-30
Defense In Depth Using NIST 800-30
 
Software Security Initiatives
Software Security InitiativesSoftware Security Initiatives
Software Security Initiatives
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
 
Ethicalhackingalicencetohack 120223062548-phpapp01
Ethicalhackingalicencetohack 120223062548-phpapp01Ethicalhackingalicencetohack 120223062548-phpapp01
Ethicalhackingalicencetohack 120223062548-phpapp01
 
Engineering Security Vulnerability Prevention, Detection, and Response
Engineering Security Vulnerability Prevention, Detection, and ResponseEngineering Security Vulnerability Prevention, Detection, and Response
Engineering Security Vulnerability Prevention, Detection, and Response
 
Introduction to Application Security Testing
Introduction to Application Security TestingIntroduction to Application Security Testing
Introduction to Application Security Testing
 
Information Technology Security Basics
Information Technology Security BasicsInformation Technology Security Basics
Information Technology Security Basics
 
Best Practices, Types, and Tools for Security Testing in 2023.docx
Best Practices, Types, and Tools for Security Testing in 2023.docxBest Practices, Types, and Tools for Security Testing in 2023.docx
Best Practices, Types, and Tools for Security Testing in 2023.docx
 
1_Introduction.pdf
1_Introduction.pdf1_Introduction.pdf
1_Introduction.pdf
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)
 
Software Security
Software SecuritySoftware Security
Software Security
 
Penetration Testing Services - Redfox Cyber Security
Penetration Testing Services - Redfox Cyber SecurityPenetration Testing Services - Redfox Cyber Security
Penetration Testing Services - Redfox Cyber Security
 
What is the software supply chain and how can it be secured.pdf
What is the software supply chain and how can it be secured.pdfWhat is the software supply chain and how can it be secured.pdf
What is the software supply chain and how can it be secured.pdf
 
Which Security Testing Technique is Best for Testing Applications.pdf
Which Security Testing Technique is Best for Testing Applications.pdfWhich Security Testing Technique is Best for Testing Applications.pdf
Which Security Testing Technique is Best for Testing Applications.pdf
 
Security overview 2
Security overview 2Security overview 2
Security overview 2
 

More from gealehegn

hel29999999999999999999999999999999999999999999.ppt
hel29999999999999999999999999999999999999999999.ppthel29999999999999999999999999999999999999999999.ppt
hel29999999999999999999999999999999999999999999.ppt
gealehegn
 
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
gealehegn
 
ch03Threat Modeling - Locking the Door to Vulnerabilities.ppt
ch03Threat Modeling - Locking the Door to Vulnerabilities.pptch03Threat Modeling - Locking the Door to Vulnerabilities.ppt
ch03Threat Modeling - Locking the Door to Vulnerabilities.ppt
gealehegn
 
PCI_Security_Awareness12345678904321.ppt
PCI_Security_Awareness12345678904321.pptPCI_Security_Awareness12345678904321.ppt
PCI_Security_Awareness12345678904321.ppt
gealehegn
 
Taiwan_2wehuikl;lkjjk;ivfazzfffggggh.ppt
Taiwan_2wehuikl;lkjjk;ivfazzfffggggh.pptTaiwan_2wehuikl;lkjjk;ivfazzfffggggh.ppt
Taiwan_2wehuikl;lkjjk;ivfazzfffggggh.ppt
gealehegn
 
pci-comp pci requirements and controls.ppt
pci-comp pci requirements and controls.pptpci-comp pci requirements and controls.ppt
pci-comp pci requirements and controls.ppt
gealehegn
 
SecurityDevelopmentLifecycle 202512.pptx
SecurityDevelopmentLifecycle 202512.pptxSecurityDevelopmentLifecycle 202512.pptx
SecurityDevelopmentLifecycle 202512.pptx
gealehegn
 
Educause+PCI+briefing+4-19-20162345.pptx
Educause+PCI+briefing+4-19-20162345.pptxEducause+PCI+briefing+4-19-20162345.pptx
Educause+PCI+briefing+4-19-20162345.pptx
gealehegn
 

More from gealehegn (11)

MIC_3e_Ch3Add more information to your upload.ppt
MIC_3e_Ch3Add more information to your upload.pptMIC_3e_Ch3Add more information to your upload.ppt
MIC_3e_Ch3Add more information to your upload.ppt
 
How to Create an Effective PowerPoint.ppt
How to Create an Effective PowerPoint.pptHow to Create an Effective PowerPoint.ppt
How to Create an Effective PowerPoint.ppt
 
hel29999999999999999999999999999999999999999999.ppt
hel29999999999999999999999999999999999999999999.ppthel29999999999999999999999999999999999999999999.ppt
hel29999999999999999999999999999999999999999999.ppt
 
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
 
ch03Threat Modeling - Locking the Door to Vulnerabilities.ppt
ch03Threat Modeling - Locking the Door to Vulnerabilities.pptch03Threat Modeling - Locking the Door to Vulnerabilities.ppt
ch03Threat Modeling - Locking the Door to Vulnerabilities.ppt
 
PCI_Security_Awareness12345678904321.ppt
PCI_Security_Awareness12345678904321.pptPCI_Security_Awareness12345678904321.ppt
PCI_Security_Awareness12345678904321.ppt
 
Taiwan_2wehuikl;lkjjk;ivfazzfffggggh.ppt
Taiwan_2wehuikl;lkjjk;ivfazzfffggggh.pptTaiwan_2wehuikl;lkjjk;ivfazzfffggggh.ppt
Taiwan_2wehuikl;lkjjk;ivfazzfffggggh.ppt
 
pci-comp pci requirements and controls.ppt
pci-comp pci requirements and controls.pptpci-comp pci requirements and controls.ppt
pci-comp pci requirements and controls.ppt
 
SecurityDevelopmentLifecycle 202512.pptx
SecurityDevelopmentLifecycle 202512.pptxSecurityDevelopmentLifecycle 202512.pptx
SecurityDevelopmentLifecycle 202512.pptx
 
Educause+PCI+briefing+4-19-20162345.pptx
Educause+PCI+briefing+4-19-20162345.pptxEducause+PCI+briefing+4-19-20162345.pptx
Educause+PCI+briefing+4-19-20162345.pptx
 
PCI DSS Training compliance training for companies
PCI DSS Training compliance training for companiesPCI DSS Training compliance training for companies
PCI DSS Training compliance training for companies
 

Recently uploaded

Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
AnaAcapella
 
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdfContoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
cupulin
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
EADTU
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 

Recently uploaded (20)

Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportBasic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
 
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
 
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdfContoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopal
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMDEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
 
Trauma-Informed Leadership - Five Practical Principles
Trauma-Informed Leadership - Five Practical PrinciplesTrauma-Informed Leadership - Five Practical Principles
Trauma-Informed Leadership - Five Practical Principles
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 

csce201 - software - sec Basic Security.ppt

  • 1. CSCE 201 Secure Software Development Best Practices
  • 2. 2 Reading  This lecture:  G. McGraw, Software [In]security: Software Security Zombies, 07/2011, http://www.cigital.com/resources/papers/
  • 3. 3 How to address software security?  Do not address at all  Ad-hoc evaluation  Add security features after the fact  Identify security vulnerabilities  Test security level  Incorporate security throughout of SDLC
  • 4. 4 Checking for Known Vulnerabilities  Need tool  Possible attacks and attack types  How the software behaves if something goes WRONG  What motivates an attacker?
  • 5. 5 Three Pillars of Software Security  Risk Management – Business case  Software Security Touchpoints – Best practices  Knowledge – Tools
  • 6. 6 Risk Management  How much effort to invest in security  Consequences of security breaches  Acceptable-level of security  Tracking and mitigating risk throughout the full SDLC
  • 7. 7 Knowledge  Gathering, encapsulating, and sharing security knowledge  Knowledge categories: – Prescriptive knowledge – Diagnostic knowledge – Historical knowledge  Applied along the SDLC
  • 8. 8 Touchpoints  System-wide activity: from design to testing and feedback  Touchpoints: 1. Code review 2. Architectural risk analysis 3. Penetration testing 4. Risk-based security testing 5. Abuse cases 6. Security requirements 7. Security operations
  • 9. 9 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
  • 10. 10 Misuse Cases  Software development: making software do something – Describe features and functions – Everything goes right  Need: security, performance, reliability – Service level agreement – legal binding  How to model non-normative behavior in use cases? – Think like a bad guy
  • 11. 11 Misuse Cases  Analyze system design and requirements – Assumptions – Failure of assumptions – Attack patterns  Software that is used also going to be attacked  What can a bad guy do and how to react to malicious use
  • 12. 12 Misuse Case Development  Team work – software developers and security experts  Identifying and documenting threats  Creating anti-requirements: how the system can be abused  Creating attack model – Select attack pattern relevant to the system – Include anyone who can gain access to the system
  • 13. 13 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
  • 14. 14 Software Testing  Application fulfills functional requirements  Dynamic, functional tests late in the SDLC  Contextual information
  • 15. 15 Security Testing  Test: finding flaws in software can be exploited by attackers  Quality, reliability and security are tightly coupled  Software behavior testing – Need: risk-based approach using system architecture information and attacker’s model
  • 16. 16 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)
  • 17. 17 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
  • 18. 18 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
  • 19. 19 Behavior in the Presence of Malicious Attack  What happens when the software fails? – Safety critical systems  Track risk over time  Security relative to – Information and services protected – Skills and resources of adversaries – Cost of protection  System vulnerabilities
  • 20. 20 Malicious Input  Software: takes input  Trust input? – Malformed or malicious input may lead to security compromise – What is the input?  Data vs. control  Attacker toolkit
  • 21. 21 Traditional Software Development  No information security consideration  Highly distributed among business units  Lack of understanding of technical security risks
  • 22. 22 Don’t stand so close to me  Best Practices – Manageable number of simple activities – Should be applied throughout the software development process  Problem: – Software developers: lack of security domain knowledge  limited to functional security – Information security professionals: lack of understanding software  limited to reactive security techniques
  • 23. 23 Vulnerability Monitoring  Identify security weaknesses  Methods: – Automated tools – Human walk-through – Surveillance – Audit – Background checks
  • 24. 24 Red Team  Organized group of people attempting to penetrate the security safeguards of the system.  Assess the security of the system  future improvement  Requested or permitted by the owner to perform the assessment  Wide coverage: computer systems, physical resources, programming languages, operational practices, etc.