17
Secure Software Development Dr. Asankhaya Sharma SIT

Secure Software Development

Embed Size (px)

Citation preview

Page 1: Secure Software Development

Secure Software Development

Dr. Asankhaya SharmaSIT

Page 2: Secure Software Development

May 1, 2023 2

Page 3: Secure Software Development

May 1, 2023 3

Secure Software Development

• Consider security throughout the software development lifecycle– Requirements– Design– Implementation– Testing– Deployment

Page 4: Secure Software Development

May 1, 2023 4

Requirements

• Identify sensitive data and resources• Define security requirements for them– Confidentiality– Integrity– Availability

• Consider threats and abuse cases that violate these requirements

Page 5: Secure Software Development

May 1, 2023 5

Application Specific• Abuse/Misuse

Cases• Threat Models• Attacks• Assets

Generic• Common Best

Practices• Legal• IT• Development

Architectural Risk Analysis• Underlying

Framework• Ambiguity Analysis• Fundamental

Weakness

Attack Patterns• Historical Risks• Vulnerabilities

Page 6: Secure Software Development

May 1, 2023 6

Design

• Apply principles for secure software design– Prevent, mitigate and detect possible attacks

• Security principles– Favor Simplicity– Trust with Reluctance– Defend in Depth

Page 7: Secure Software Development

May 1, 2023 7

Page 8: Secure Software Development

May 1, 2023 8

Implementation

• Apply coding rules that implement secure design

• Use automated code review techniques to find potential vulnerabilities components– Static Analysis– Symbolic execution

Page 9: Secure Software Development

May 1, 2023 9

Page 10: Secure Software Development

May 1, 2023 10

Testing

• Penetration Testing to find potential flaws in the real system– Fuzz testing• Employ attack patterns

Page 11: Secure Software Development

May 1, 2023 11

Different methodologies

• BSIMM (Building Security In – Maturity Model)– http://bsimm.com

• Microsoft Security Development Lifecycle– https://www.microsoft.com/en-us/sdl/

• OpenSAMM Software Assurance Maturity Model– http://opensamm.org

Page 12: Secure Software Development

May 1, 2023 12

Page 13: Secure Software Development

May 1, 2023 13

Continuous Delivery of Software

Page 14: Secure Software Development

May 1, 2023 14

Page 15: Secure Software Development

May 1, 2023 15

Continuous Security

• Requires security automation• Integrate into CD environment and tools– Source code management systems• GitHub, Bitbucket etc.

– Build systems• Travis CI, Jenkins etc.

• Audit third party component and open-source library usage

Page 16: Secure Software Development

May 1, 2023 16

Takeaways

• Security practices should be built in during the software development process

• Continuous delivery needs continuous security

Page 17: Secure Software Development

May 1, 2023 17

Thanks!

• Questions?• Contact– @asankhaya