SlideShare a Scribd company logo
SECURITY FOR DEVELOPERS
@shawkyz1
@shawkyz
• Secure Software Development Life Cycle
• Design Issues.
• Threat Modeling.
• Static Code Analysis.
• Fuzzing.
• Resources.
AGENDA
SDLC (SOFTWARE DEVELOPMENT LIFECYCLE)
• A Software Development Life Cycle (SDLC) is a framework that defines the process
used by organizations to build an application from its inception to its
decommission. Over the years, multiple standard SDLC models have been proposed
(Waterfall, Iterative, Agile, etc.) and used in various ways to fit individual
circumstances.
• Planning and requirements.
• Architecture and design.
• Test planning.
• Coding.
• Testing and results.
• Release and maintenance.
SDLC PHASES
SECURE YOUR SDLC ACCORDING TO
MICROSOFT
• Provide Training.
• Define Security Requirements.
• Perform Threat Modeling.
• Define and Use Cryptography Standards.
• Follow Best Practices.
• Perform Static Analysis.
• Perform Dynamic Analysis.
• Regularly Pentest.
• Establish Incident Response Mechanism.
Source: https://www.microsoft.com/en-us/securityengineering/sdl/practices
EX: LOGIN PROCESS
EX: LOGIN PROCESS
EX: LOGIN PROCESS FLOW SSO
THREAT MODELING
THREAT MODELING
THREAT MODELING
EXAMPLE OF UNSAFE MANAGED
CODE
• unsafe static void Main()
• {
• fixed (char* value = "safe")
• {
• char* ptr = value;
• while (*ptr != '0')
• {
• Console.WriteLine(*ptr);
• ++ptr;
• }
• }
• }
ATTACK SURFACE REDUCTION
• Part of the process of reducing the attack surface is taking down APIs or functionalities that are no longer neeeded by
following the LEAN engineering principle.
• Threat modelling can also help with scaling-down the attack surface.
• Unnecessary logic complexity can lead to security problems in the future.
• Automated Tests (Static and/or dynamic analysis).
• Pentesting your application.
STATIC ANALYSIS TOOLS
• https://owasp.org/www-community/Source_Code_Analysis_Tools
BROWSER SECURITY FEATURES
• HTTP Strict Transport Security (HSTS)
• Public Key Pinning Extension for HTTP (HPKP)
• X-Frame-Options
• X-XSS-Protection
• X-Content-Type-Options
• Content-Security-Policy
• X-Permitted-Cross-Domain-Policies
• Referrer-Policy
• Expect-CT
• Feature-Policy
• Cookies attributes (Secure, Samesite).
OWASP TOP 10
RESOURCES?
• Troy Hunt‘s OWASP Top 10 for .NET developers
• https://files.troyhunt.com/OWASP%20Top%2010%20for%20.NET%20developers.pdf
• OWASP TOP 10 2017
• https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
• Security Engineering Practices
• https://www.microsoft.com/en-us/securityengineering/sdl/practices
HOW TO APPLY BEST PRACTICES
• Always check OWASP‘s Best practices for a certain vulnerability.
• Look for OWASP‘s Library/Framework Recommendations.
• Don‘t trust any default configs. Always double check it.
• Never trust user‘s input.
• Apply ACLs.
HOW DO I KNOW ABOUT NEW 0DAYS?
• Check if your local CERT if they offer a newsletter.
• Subscribe to MITRE newsletter https://cve.mitre.org/news/newsletter.html
• Regrularly Update Libraries/Frameworks you‘re using.
FOLLOW ME?
@shawkyz1
@shawkyz
@shawkyz1
https://shawkyz.info abdelrhmanshawky4@gmail.com

More Related Content

PDF
Continuous Integration: Live Static Analysis with Puma Scan
PPTX
Server Side Template Injection by Mandeep Jadon
PPTX
Secure programming with php
PPTX
Secure Coding 101 - OWASP University of Ottawa Workshop
PDF
Secure code
PPTX
Microsoft Fakes, Unit Testing the (almost) Untestable Code
PPT
Owasp Code Crawler Presentation
PPTX
Secure Programming In Php
Continuous Integration: Live Static Analysis with Puma Scan
Server Side Template Injection by Mandeep Jadon
Secure programming with php
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure code
Microsoft Fakes, Unit Testing the (almost) Untestable Code
Owasp Code Crawler Presentation
Secure Programming In Php

What's hot (20)

PPTX
Owasp Top 10 - A1 Injection
PPT
Agnitio: its static analysis, but not as we know it
PPTX
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
PDF
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
PPT
How To Detect Xss
DOCX
Selenium interview-questions-freshers
PPTX
Static Analysis Security Testing for Dummies... and You
PPTX
Secure programming language basis
PDF
Automated Security Testing
PDF
Java Defects
PPTX
Basics of Server Side Template Injection
PDF
Pragmatic Code Coverage
PPTX
Fuzzing | Null OWASP Mumbai | 2016 June
PPTX
Manual JavaScript Analysis Is A Bug
PDF
OWASP Portland - OWASP Top 10 For JavaScript Developers
PPTX
Fortify - Source Code Analyzer
PPTX
Web Hacking Series Part 4
PPTX
Hacker Proof web app using Functional tests
PDF
Vulnerable Active Record: A tale of SQL Injection in PHP Framework
Owasp Top 10 - A1 Injection
Agnitio: its static analysis, but not as we know it
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
How To Detect Xss
Selenium interview-questions-freshers
Static Analysis Security Testing for Dummies... and You
Secure programming language basis
Automated Security Testing
Java Defects
Basics of Server Side Template Injection
Pragmatic Code Coverage
Fuzzing | Null OWASP Mumbai | 2016 June
Manual JavaScript Analysis Is A Bug
OWASP Portland - OWASP Top 10 For JavaScript Developers
Fortify - Source Code Analyzer
Web Hacking Series Part 4
Hacker Proof web app using Functional tests
Vulnerable Active Record: A tale of SQL Injection in PHP Framework
Ad

Similar to Security for developers (20)

PPTX
Week 4.1 Building security into the software development lifecycle copy.pptx
PPTX
Integrating Security Across SDLC Phases
PPTX
Security for devs
PDF
SDLC & DevSecOps
PDF
Managing Application Security Risk in Enterprises - Thoughts and recommendations
PDF
Arved sandstrom - the rotwithin - atlseccon2011
PDF
AppSec in an Agile World
PPT
OWASP: Building Secure Web Apps
PPT
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
PPTX
Agile and Secure SDLC
PDF
ACS-security-2821-001 Lecture Note 13.pdf
PPT
Software Security Engineering
PPTX
Security Culture from Concept to Maintenance: Secure Software Development Lif...
PPT
Software security engineering
PPT
Software security engineering
PPTX
Secure App Aspirations: Why it is very difficult in the real world
PDF
Secure Software Design and Secure Programming
PDF
Application Security Testing for Software Engineers: An approach to build sof...
PDF
App Sec Eu08 Sec Frm Not In Code
PPTX
For Business's Sake, Let's focus on AppSec
Week 4.1 Building security into the software development lifecycle copy.pptx
Integrating Security Across SDLC Phases
Security for devs
SDLC & DevSecOps
Managing Application Security Risk in Enterprises - Thoughts and recommendations
Arved sandstrom - the rotwithin - atlseccon2011
AppSec in an Agile World
OWASP: Building Secure Web Apps
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
Agile and Secure SDLC
ACS-security-2821-001 Lecture Note 13.pdf
Software Security Engineering
Security Culture from Concept to Maintenance: Secure Software Development Lif...
Software security engineering
Software security engineering
Secure App Aspirations: Why it is very difficult in the real world
Secure Software Design and Secure Programming
Application Security Testing for Software Engineers: An approach to build sof...
App Sec Eu08 Sec Frm Not In Code
For Business's Sake, Let's focus on AppSec
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
cuic standard and advanced reporting.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
KodekX | Application Modernization Development
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
cuic standard and advanced reporting.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
KodekX | Application Modernization Development
“AI and Expert System Decision Support & Business Intelligence Systems”

Security for developers

  • 2. • Secure Software Development Life Cycle • Design Issues. • Threat Modeling. • Static Code Analysis. • Fuzzing. • Resources. AGENDA
  • 3. SDLC (SOFTWARE DEVELOPMENT LIFECYCLE) • A Software Development Life Cycle (SDLC) is a framework that defines the process used by organizations to build an application from its inception to its decommission. Over the years, multiple standard SDLC models have been proposed (Waterfall, Iterative, Agile, etc.) and used in various ways to fit individual circumstances.
  • 4. • Planning and requirements. • Architecture and design. • Test planning. • Coding. • Testing and results. • Release and maintenance. SDLC PHASES
  • 5. SECURE YOUR SDLC ACCORDING TO MICROSOFT • Provide Training. • Define Security Requirements. • Perform Threat Modeling. • Define and Use Cryptography Standards. • Follow Best Practices. • Perform Static Analysis. • Perform Dynamic Analysis. • Regularly Pentest. • Establish Incident Response Mechanism. Source: https://www.microsoft.com/en-us/securityengineering/sdl/practices
  • 8. EX: LOGIN PROCESS FLOW SSO
  • 12. EXAMPLE OF UNSAFE MANAGED CODE • unsafe static void Main() • { • fixed (char* value = "safe") • { • char* ptr = value; • while (*ptr != '0') • { • Console.WriteLine(*ptr); • ++ptr; • } • } • }
  • 13. ATTACK SURFACE REDUCTION • Part of the process of reducing the attack surface is taking down APIs or functionalities that are no longer neeeded by following the LEAN engineering principle. • Threat modelling can also help with scaling-down the attack surface. • Unnecessary logic complexity can lead to security problems in the future. • Automated Tests (Static and/or dynamic analysis). • Pentesting your application.
  • 14. STATIC ANALYSIS TOOLS • https://owasp.org/www-community/Source_Code_Analysis_Tools
  • 15. BROWSER SECURITY FEATURES • HTTP Strict Transport Security (HSTS) • Public Key Pinning Extension for HTTP (HPKP) • X-Frame-Options • X-XSS-Protection • X-Content-Type-Options • Content-Security-Policy • X-Permitted-Cross-Domain-Policies • Referrer-Policy • Expect-CT • Feature-Policy • Cookies attributes (Secure, Samesite).
  • 17. RESOURCES? • Troy Hunt‘s OWASP Top 10 for .NET developers • https://files.troyhunt.com/OWASP%20Top%2010%20for%20.NET%20developers.pdf • OWASP TOP 10 2017 • https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf • Security Engineering Practices • https://www.microsoft.com/en-us/securityengineering/sdl/practices
  • 18. HOW TO APPLY BEST PRACTICES • Always check OWASP‘s Best practices for a certain vulnerability. • Look for OWASP‘s Library/Framework Recommendations. • Don‘t trust any default configs. Always double check it. • Never trust user‘s input. • Apply ACLs.
  • 19. HOW DO I KNOW ABOUT NEW 0DAYS? • Check if your local CERT if they offer a newsletter. • Subscribe to MITRE newsletter https://cve.mitre.org/news/newsletter.html • Regrularly Update Libraries/Frameworks you‘re using.

Editor's Notes