SlideShare a Scribd company logo
DESIGN
      A
   SECURE
PROGRAMMING
  LANGUAGE
Overview
• To develop a secure application secure coding techniques
  should be incorporated into every phase of SDLC


• Discusses about impact of various vulnerabilities



• Covers secure coding guidelines for Java and C++.



• Reviews about the High Integrity C++ i.e. HICPP
Vulnerabilities

Buffer Overflow
• A buffer overflow occurs when a program allows
  input to write data beyond allocated memory



Integer Overflow
• An integer overflow takes place when the integer
  variable tries to store a larger value than the valid
  range as a result of an arithmetic operation
Vulnerabilities

Command Injection
• Takes place when malicious data is embedded into
  input and is passed to the shell



Improper error handling
• When a programmer fails to implement proper error
  handling, the application might leak information
Secure Software Development

   Secure          • To reduce the number of vulnerabilities
                     before development starts
 Architecture      • It is easier and more cost-effective to
 and Design          eliminate security flaws


                   • Increase awareness about software
Secure Coding        security among the developer
  Practices

                   • Code Review
   Software        • Penetration Testing
Security Testing   • Fuzz Testing
General Secure Coding Guidelines

   Efficient input validation is mandatory
   Modular programming approach
   Use of the latest compilers
   Encrypt all confidential data using strong
    cryptographic techniques
   Practice to code with proper error/exception handling
   Every organization must educate its developers on
    how to write secure code
Programming Language-Specific
        Guidelines

       • Secure Coding Practices in
         Java


       • Secure Coding Practices In
         C/ C++
Secure Coding Practices in Java

   Understand the effect of a superclass on a
    subclass
   Use public static fields for defining a constant
   Use try catch statements for exception handling
   An instance of a non-final class is fully
    initialized
   Be cautious when dealing with multiple threads
Secure Coding Practices in C/C++

   Use pointers safely
   Watch out for memory leaks
   Run a ‘Garbage Collector’ to free the memory
   Securely delete sensitive data from memory by
    declaring the variable as volatile
   Allocate memory dynamically
High Integrity C++

 Define the set of rules and guidelines for the production of
  C++ code
 It provide the restrictions necessary to make C++
  suitable.
   exploring C++ use for high integrity and safety critical
    applications
   Enforce the best and secure practice in C++ development.
Conclusion
Provides a practical and effective set of secure
coding guidelines


     Secure SDLC that considers security at every
     stage of development contributes to early
     identification of potential vulnerabilities


          Discusses the about the concept of HICPP
          which is more secure than C++.
References
[1]. Kevin Soo Hoo, Andrew W. Sudbury and Andrew R. Jaquith,
    ‘Tangible ROI through Secure Software Engineering’, 2006.
[2]. Michael Howard, David LeBlanc and John Viega, ‘19 Deadly Sins
    of Software Security’, 2005.
[3]. Andrew van der Stock, Jeff Williams, Dave Wichers ‘OWASP top
    10: The 10 most critical web application security vulnerabilities’,
    2007.
[4]. Noopur Davis, ‘Secure Software Development Life Cycle
    Processes: A technology Scouting Report’,2006.
[5]. Michael Howard, Steve Lipner , ‘The Security Development Life
    Cycle’, 2006.
References
[6]. Sun Microsystems, Inc., ‘Secure Coding Guidelines for the Java
    Programming Language, version 2.0’, 2007
[7]. Mark G. Graff, Kenneth R. van Wyk, ‘Secure Coding Principles,
    and Practices’, 2003.
[8]. Dave Dyer, ‘Can Assure save Java from the perils of
    multithreading’, 1998
[9]. Flight Lieutenant Derek W. Reinhardt, ‘Use of the C++
    Programming Language in Safety Critical Systems’, 2004
[10]. Trupti Shiralkar and Brenda Grove,’ Guidelines for Secure
    Coding’, 2009
Secure programming language basis

More Related Content

PDF
"CERT Secure Coding Standards" by Dr. Mark Sherman
PDF
Why should developers care about container security?
PDF
Secure Coding and Threat Modeling
PPTX
Secure coding practices
PPTX
Student Spring 2021
PDF
Finacle - Secure Coding Practices
PDF
Secure coding-guidelines
PDF
Secure Coding for Java - An Introduction
"CERT Secure Coding Standards" by Dr. Mark Sherman
Why should developers care about container security?
Secure Coding and Threat Modeling
Secure coding practices
Student Spring 2021
Finacle - Secure Coding Practices
Secure coding-guidelines
Secure Coding for Java - An Introduction

What's hot (20)

PDF
Real World Application Threat Modelling By Example
PDF
Secure Coding in C/C++
PDF
Threat modeling with architectural risk patterns
PDF
5 Important Secure Coding Practices
PDF
Scalable threat modelling with risk patterns
PPTX
Mobile security recipes for xamarin
PDF
Neoito — Secure coding practices
PDF
OWASP Secure Coding Practices - Quick Reference Guide
PPTX
Making Security Agile
PDF
[OPD 2019] Life after pentest
PPTX
Secure coding practices
PPTX
Using hypervisor and container technology to increase datacenter security pos...
PPTX
DevSecCon Talk: An experiment in agile Threat Modelling
PPTX
Secure application deployment in Apache CloudStack
PPTX
Implementing an Application Security Pipeline in Jenkins
PPTX
Agile and Secure Development
PPTX
Secure development of code
PPTX
Security as a new metric for Business, Product and Development Lifecycle
PDF
A Successful SAST Tool Implementation
Real World Application Threat Modelling By Example
Secure Coding in C/C++
Threat modeling with architectural risk patterns
5 Important Secure Coding Practices
Scalable threat modelling with risk patterns
Mobile security recipes for xamarin
Neoito — Secure coding practices
OWASP Secure Coding Practices - Quick Reference Guide
Making Security Agile
[OPD 2019] Life after pentest
Secure coding practices
Using hypervisor and container technology to increase datacenter security pos...
DevSecCon Talk: An experiment in agile Threat Modelling
Secure application deployment in Apache CloudStack
Implementing an Application Security Pipeline in Jenkins
Agile and Secure Development
Secure development of code
Security as a new metric for Business, Product and Development Lifecycle
A Successful SAST Tool Implementation
Ad

Similar to Secure programming language basis (20)

PDF
An Introduction to Secure Application Development
PDF
The Principles of Secure Development
DOC
Project
PPT
Software Security Testing
PDF
WhiteList Checker: An Eclipse Plugin to Improve Application Security
PDF
Importance of Secure Coding with it’s Best Practices
PDF
OWASP Secure Coding Quick Reference Guide
PPT
SoftwareSecurity.ppt
PDF
Program Security in information security.pdf
PDF
Arved sandstrom - the rotwithin - atlseccon2011
PPT
Secure programming - Computer and Network Security
PDF
Software Security Certification
PDF
Secured Development
PDF
Mr. Burhan Khalid - secure dev.
PDF
The Principles of Secure Development - BSides Las Vegas 2009
PPT
10290057.ppt
PDF
Java: A Secure Programming Language for Today's Market
PPTX
Eirtight writing secure code
PDF
Secure JEE Architecture and Programming 101
PPTX
Safe and secure programming practices for embedded devices
An Introduction to Secure Application Development
The Principles of Secure Development
Project
Software Security Testing
WhiteList Checker: An Eclipse Plugin to Improve Application Security
Importance of Secure Coding with it’s Best Practices
OWASP Secure Coding Quick Reference Guide
SoftwareSecurity.ppt
Program Security in information security.pdf
Arved sandstrom - the rotwithin - atlseccon2011
Secure programming - Computer and Network Security
Software Security Certification
Secured Development
Mr. Burhan Khalid - secure dev.
The Principles of Secure Development - BSides Las Vegas 2009
10290057.ppt
Java: A Secure Programming Language for Today's Market
Eirtight writing secure code
Secure JEE Architecture and Programming 101
Safe and secure programming practices for embedded devices
Ad

Recently uploaded (20)

PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
Pharma ospi slides which help in ospi learning
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Institutional Correction lecture only . . .
PPTX
Cell Types and Its function , kingdom of life
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Insiders guide to clinical Medicine.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Complications of Minimal Access Surgery at WLH
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
FourierSeries-QuestionsWithAnswers(Part-A).pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
VCE English Exam - Section C Student Revision Booklet
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Pharma ospi slides which help in ospi learning
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Institutional Correction lecture only . . .
Cell Types and Its function , kingdom of life
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Abdominal Access Techniques with Prof. Dr. R K Mishra
human mycosis Human fungal infections are called human mycosis..pptx
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Insiders guide to clinical Medicine.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Complications of Minimal Access Surgery at WLH
school management -TNTEU- B.Ed., Semester II Unit 1.pptx

Secure programming language basis

  • 1. DESIGN A SECURE PROGRAMMING LANGUAGE
  • 2. Overview • To develop a secure application secure coding techniques should be incorporated into every phase of SDLC • Discusses about impact of various vulnerabilities • Covers secure coding guidelines for Java and C++. • Reviews about the High Integrity C++ i.e. HICPP
  • 3. Vulnerabilities Buffer Overflow • A buffer overflow occurs when a program allows input to write data beyond allocated memory Integer Overflow • An integer overflow takes place when the integer variable tries to store a larger value than the valid range as a result of an arithmetic operation
  • 4. Vulnerabilities Command Injection • Takes place when malicious data is embedded into input and is passed to the shell Improper error handling • When a programmer fails to implement proper error handling, the application might leak information
  • 5. Secure Software Development Secure • To reduce the number of vulnerabilities before development starts Architecture • It is easier and more cost-effective to and Design eliminate security flaws • Increase awareness about software Secure Coding security among the developer Practices • Code Review Software • Penetration Testing Security Testing • Fuzz Testing
  • 6. General Secure Coding Guidelines  Efficient input validation is mandatory  Modular programming approach  Use of the latest compilers  Encrypt all confidential data using strong cryptographic techniques  Practice to code with proper error/exception handling  Every organization must educate its developers on how to write secure code
  • 7. Programming Language-Specific Guidelines • Secure Coding Practices in Java • Secure Coding Practices In C/ C++
  • 8. Secure Coding Practices in Java  Understand the effect of a superclass on a subclass  Use public static fields for defining a constant  Use try catch statements for exception handling  An instance of a non-final class is fully initialized  Be cautious when dealing with multiple threads
  • 9. Secure Coding Practices in C/C++  Use pointers safely  Watch out for memory leaks  Run a ‘Garbage Collector’ to free the memory  Securely delete sensitive data from memory by declaring the variable as volatile  Allocate memory dynamically
  • 10. High Integrity C++  Define the set of rules and guidelines for the production of C++ code  It provide the restrictions necessary to make C++ suitable.  exploring C++ use for high integrity and safety critical applications  Enforce the best and secure practice in C++ development.
  • 11. Conclusion Provides a practical and effective set of secure coding guidelines Secure SDLC that considers security at every stage of development contributes to early identification of potential vulnerabilities Discusses the about the concept of HICPP which is more secure than C++.
  • 12. References [1]. Kevin Soo Hoo, Andrew W. Sudbury and Andrew R. Jaquith, ‘Tangible ROI through Secure Software Engineering’, 2006. [2]. Michael Howard, David LeBlanc and John Viega, ‘19 Deadly Sins of Software Security’, 2005. [3]. Andrew van der Stock, Jeff Williams, Dave Wichers ‘OWASP top 10: The 10 most critical web application security vulnerabilities’, 2007. [4]. Noopur Davis, ‘Secure Software Development Life Cycle Processes: A technology Scouting Report’,2006. [5]. Michael Howard, Steve Lipner , ‘The Security Development Life Cycle’, 2006.
  • 13. References [6]. Sun Microsystems, Inc., ‘Secure Coding Guidelines for the Java Programming Language, version 2.0’, 2007 [7]. Mark G. Graff, Kenneth R. van Wyk, ‘Secure Coding Principles, and Practices’, 2003. [8]. Dave Dyer, ‘Can Assure save Java from the perils of multithreading’, 1998 [9]. Flight Lieutenant Derek W. Reinhardt, ‘Use of the C++ Programming Language in Safety Critical Systems’, 2004 [10]. Trupti Shiralkar and Brenda Grove,’ Guidelines for Secure Coding’, 2009