[go: up one dir, main page]

0% found this document useful (0 votes)
42 views4 pages

Secure Software Notes

The document outlines the curriculum for CB3591, focusing on engineering secure software systems across five units. Key topics include the need for software security, secure software design, security risk management, security testing methodologies, and secure project management. It emphasizes the importance of integrating security throughout the software development life cycle and provides detailed insights into various testing techniques and tools for identifying vulnerabilities.

Uploaded by

Mohana Priya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views4 pages

Secure Software Notes

The document outlines the curriculum for CB3591, focusing on engineering secure software systems across five units. Key topics include the need for software security, secure software design, security risk management, security testing methodologies, and secure project management. It emphasizes the importance of integrating security throughout the software development life cycle and provides detailed insights into various testing techniques and tools for identifying vulnerabilities.

Uploaded by

Mohana Priya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

CB3591 – ENGINEERING SECURE SOFTWARE SYSTEMS

UNIT I – NEED OF SOFTWARE SECURITY AND LOW-LEVEL


ATTACKS
[Detailed notes for Unit I included previously]

UNIT II – SECURE SOFTWARE DESIGN


[Detailed notes for Unit II included previously]

UNIT III – SECURITY RISK MANAGEMENT


[Detailed notes for Unit III included previously]

UNIT IV – SECURITY TESTING


1. Traditional Software Testing vs. Security Testing
Traditional Software Testing: - Focuses on functional correctness,
performance, usability, and reliability. - Uses test cases derived from
specifications. - Techniques include unit testing, integration testing, system
testing, regression testing.
Security Testing: - Focuses on verifying the confidentiality, integrity, and
availability of software. - Aims to identify vulnerabilities and security
weaknesses. - Involves negative testing, threat modeling, fuzz testing, and
penetration testing.
Comparison: | Aspect | Traditional Testing | Security Testing | |——–|
———————-|——————| | Objective | Functional correctness |
Vulnerability detection | | Inputs | Requirements/specs | Threat models,
attack surfaces | | Techniques | Unit, regression | Fuzzing, pen-testing | |
Tools | JUnit, Selenium | OWASP ZAP, Metasploit |

2. Secure Software Development Life Cycle (SSDLC)


SSDLC integrates security at each phase of the traditional SDLC:
1. Requirements: Define security requirements alongside functional
ones.
2. Design: Use threat modeling and secure architecture principles.
3. Implementation: Follow secure coding guidelines.
4. Testing: Conduct static and dynamic analysis.
5. Deployment: Ensure secure configuration and monitoring.
6. Maintenance: Regular patching and vulnerability management.
Frameworks: - Microsoft SDL - OWASP SAMM - BSIMM (Building Security In
Maturity Model)

3. Risk-Based Security Testing


Definition: Testing focused on areas with the highest security risks.
Process: - Identify risk assets (data, services) - Perform threat modeling -
Prioritize based on likelihood and impact - Design targeted tests for high-risk
areas
Benefits: - Efficient resource allocation - Maximized vulnerability detection
in critical areas

4. Prioritizing Security Testing with Threat Modeling


Threat Modeling: - Structured approach to identify, enumerate, and
prioritize potential threats
Popular Models: - STRIDE (Spoofing, Tampering, Repudiation, Information
Disclosure, Denial of Service, Elevation of Privilege) - DREAD (Damage,
Reproducibility, Exploitability, Affected users, Discoverability) - Attack Trees
Integration: - Incorporate into design reviews - Drive test case generation
for critical threats

5. Penetration Testing
Definition: Simulated cyber attack on a system to identify exploitable
vulnerabilities.
Types: - Black-box: No prior knowledge of system - White-box: Full
knowledge of system architecture - Gray-box: Partial knowledge
Phases: 1. Planning and Scoping 2. Information Gathering
(Enumeration) 3. Vulnerability Analysis 4. Exploitation 5. Post-
Exploitation 6. Reporting
6. Planning and Scoping
 Define rules of engagement (what can and can’t be tested)
 Identify goals (e.g., gain admin access, extract data)
 Agree on timelines and success criteria

7. Enumeration
 Process of extracting detailed system information
 Includes user accounts, network shares, open ports
Tools: - Nmap - Netcat - SNMPwalk

8. Remote Exploitation
 Attacks initiated from remote machines to exploit networked systems
Examples: - Exploiting buffer overflows in network services - Brute force
attacks against login portals
Tools: - Metasploit - Hydra

9. Web Application Exploitation


 Targeting vulnerabilities in web apps (OWASP Top 10)
Common Vulnerabilities: - SQL Injection - Cross Site Scripting (XSS) -
Cross Site Request Forgery (CSRF)
Testing Tools: - OWASP ZAP - Burp Suite - Nikto

10. Exploits and Client-Side Attacks


Client-Side Exploits: - Targeting browser or local software (e.g., Adobe
Flash, PDF Readers) - Delivered via phishing emails, malicious links
Examples: - Drive-by downloads - Malicious JavaScript execution
Defense Techniques: - Browser sandboxing - Disabling unnecessary
plugins

11. Post-Exploitation
Goals: - Escalate privileges - Maintain persistence - Extract sensitive data -
Move laterally within network
Techniques: - Credential harvesting - Creating backdoors - Privilege
escalation

12. Bypassing Firewalls and Avoiding Detection


Evasion Techniques: - Port spoofing and tunneling - Encrypted payloads -
Using stealthy traffic patterns
Detection Avoidance: - Disabling antivirus - Manipulating logs - Using
known trusted processes

13. Tools for Penetration Testing


Tool Purpose
Nmap Network discovery & port
scanning
Metasploit Exploitation framework
Wireshark Packet analysis
Nikto Web vulnerability scanning
OWASP ZAP Web app penetration testing
Hydra Password brute-forcing
Burp Suite Intercepting proxy for web
attacks
John the Ripper Password cracking

UNIT V – SECURE PROJECT MANAGEMENT


[Placeholder for next update]

You might also like