Développement de code sécurisé, "Des menaces au code"



Référence de la formation

KSE005

Niveau

  • Débutant
  • Intermédiaire

Nombre de jours

16 heures (4 heures/jour)

Prix

1.390,50 € HT

Lieu de la formation

V: v-learning, classe virtuelle



Pre-requis

  • Avoir une solide compréhension des réseaux TCP / IP et maîtriser au moins un langage de programmation - C / C ++, C #, PHP, Java ou JavaScript.
  • Un niveau d'anglais business moyen est requise car la formation sera dispensée en anglais.

Public

Si vous développez des produits logiciels qui se connectent à un réseau - des produits tels que des dispositifs médicaux, des applications SaaS ou des applications médicales mobiles - vous devriez y assister.

Objectifs de la formation

«Des menaces au code» est une introduction concentrée et rapide au
développement de code sécurisé pour toute l'équipe de
développement logiciel, du managers à l'ingénieur d'implémentation.
Nous introduisons une approche analytique des menaces basée sur la
compréhension des menaces qui comptent vraiment et le deuxième
jour, nous nous penchons sur la bonne évaluation de la sécurité
logicielle et le codage sécurisé pour atténuer les menaces telles que
le Shellcode et les attaques par débordement de tampon.

Contenu du cours

Day #1 - An Introduction to threat modeling and analysis

Table 1: KSE005 - Course Contents (Part#1)
Chapter Description
Ideology • Why bother modeling?
• Why security defenses don’t work
• Why risk management is broken
• Bridging the valley of death between IT and security
• A secure SDLC (software development lifecycle) for an unsecure world
Security metrics • Escaping the hamster wheel of pain
• Defining security metrics
− What makes a good metric, bad metric, what is not a metric?
− Modelers versus measurers
How to measure anything • Asset valuation
• Threat damage to asset
• Probability of occurrence
Threat modeling and analysis objectives and drivers • Qualitative or quantitative?
• Is there ROI on security?
• Compliance drivers: Industry, Government, Vendor-neutral standards
Threat modeling building blocks • Threats / attack scenarios
• Assets
• Vulnerabilities
• Countermeasures
− Encryption
− Network monitoring
− Auditing activity logs and data flows
− Input validation
− Error handling
Analyzing your threat model • Analyzing your threat model and building a cost-effective security countermeasure plan
Pulling it all together • A class exercise
Software vulnerability fundamentals • Vulnerabilities
− Security Policies
− Security expectations
• Classifying vulnerabilities
− Design vulnerabilities
− Implementation vulnerabilities
− Operational vulnerabilities
− Gray areas
• Common threads
− Input and data flow
− Trust relationships
− Assumptions and misplaced trust
− Interfaces
− Environmental attacks
− Exceptional conditions

Day #2 – An Introduction to secure coding

Table 2: KSE005 - Course Contents (Part#2)
Chapter Description
Design review • Software design fundamentals
− Algorithms
− Abstraction and decomposition
− Trust relationships
− Principles of software design
− Fundamental design flaws
• Enforcing security policy
− Authentication
− Authorization
− Accountability
− Confidentiality
− Integrity
− Availability
• Threat modeling of software
− Data collection
− Attack trees
− Prioritizing
Operational review • Exposure
− Attack surface
− Insecure defaults
− Access control
− Unnecessary services
− Secure channels
− Spoofing
− Network profiles
• Countermeasures
− Development-based
− Host-based
− Network-based
Software vulnerabilities • Buffer overflows
− Process memory layout
− Stack overflows
− Off-by-one errors
− Heap overflows
− Global and static data overflows
• Shellcode
− Writing the code
− Finding your code in memory
• Protection mechanisms
− Stack cookies
− Heap hardening
− Non-executable stack and help protection
• Address space layout
− Randomization
− SafeSEH
− Function pointer obfuscation
Windows objects and the file system • Processes and threads
− Process loading
− ShellExecute and ShellExecuteEx
− DLL loading
− Services
• File access
− File permissions
− File IO API
− Links
Windows messaging • Window messages
• Shatter attack
Network vulnerabilities in practice • TCP connections, an overview
• TCP streams
− TCP spoofing
− Connection fabrication
− Connection tampering
− Blind reset attacks
− Blind data injection attacks
− TCP segment fragmentation spoofing
The End • Summary
• Q&A
• Course’s Evaluation

Dates


23 Nov 2020 au 02 Déc 2020


23 Nov 2020 au 02 Déc 2020


NOTE :
ATTENTION CETTE FORMATION EST SUR MESURE
CE COURS EST REALISABLE TOUTE L'ANNEE AVEC UN MINIMUM DE 5 PARTICIPANTS


Des questions ?

+33 (0) 950 20 91 64


Inscription ou Demande de devis