Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.

Secure Coding

  • Course Code: SEC 1002
  • Course Dates: Contact us to schedule.
  • Course Category: Security & Cybersecurity Duration: 3 Days Days Audience: Developers, team leads, project managers

Overview

This course will teach secure coding practices

Audience

Developers, team leads, project managers

Skill Level

Introductory – Intermediate

Duration

Three days

Format

Lectures and hands on labs. (50% – 50%)

Prerequisites

  • Recommended: Cybersecurity awareness
  • Comfortable developing code in the target environment

Lab environment

  • Zero Install: There is no need to install software on students’ machines!
  • A lab environment in the cloud will be provided for students.

Students will need the following

  • A reasonably modern laptop with unrestricted connection to the Internet. Laptops with overly restrictive VPNs or firewalls may not work properly.
    • A checklist to verify connectivity will be provided
  • Chrome browser

Detailed outline

Threat modeling

  • STRIDE attack classification
  • Security terminology
  • Threat modeling
  • CVSS attack assessment
  • Labs on threat modeling

Common attacks

  • Cross site scripting
  • Malicious file execution
  • Session hijacking
  • Encryption
  • Unsecured direct object reference
  • Failure to authorize/hidden URLs

Secure design

  • Layered design concepts
  • Object layer
  • Persistence layer
  • Presentation layer

Countermeasures

  • Validation
  • Validation controls
  • Strong typing
  • Regular expressions
  • White list
  • Scrubbing
  • Black list
  • Encoding
  • CAPTCHA
  • Honey pots
  • Avoiding SQL injection
  • Parametrizing queries/Prepared statements
  • Stored procedures
  • Entity Frameworks/Hibernate
  • Avoiding cross site request forgeries

Modern security frameworks

  • Introduction to modern frameworks
    • Vault
    • Consul
    • Anthos
  • Modern security design patterns
    • Dynamic secrets
    • Automatic credential rotation
    • Cubbyhole response wrapping
    • Encryption as a service
  • Where to go from here

Authorization and Authentication

  • .NET authentication
  • Basic & Digest
  • Forms
  • Windows authentication
  • JAAS and other Java authentication services
  • Authorization
  • Password security
  • Brute force attacks
  • Password resets
  • Secret questions/answers
  • SSL/TLS

Session security

  • Session IDs
  • Policies
  • Hijacking/Fixation Attacks

Framework architecture

  • Threading
  • Privileges
  • Audits/Logs
  • Secure coding
  • Encryption services
  • Static code analysis

Securing the runtime environment

  • .NET
  • Code Access
  • GAC
  • Strong named assemblies
  • CLR
  • Security Zones
  • Permissions
  • Security policy

Security future

  • Zero-trust networks
  • Artificial intelligence
  • Appendix – Background

Problem

  • Security of software systems is becoming more and more important and visible in the public eye. Meanwhile, there is a basic imbalance between the attackers (hackers) and defenders (software developers). That is, hackers get immediate reward for their breach they effect and the damage the cause. By contracts, defenders get the blame when they are hacked and no mention when they are not.
  • Our system addresses this and changes the balance, ultimately resulting in more secure software systems.

Solution

  • (Pat. Pend.) IMPACT
  • Breaking the developers into two teams: blue (defenders) and red (attackers)
  • Recording the results of the attacker’s actions
  • Recording the successes of the defenders in stopping the attackers and their failures
  • Periodically update the scoreboard of the defenders thus proving positive reinforcement for their actions
  • The IMPACT system records the above data as logs. It is built on logging frameworks and well-known open source tools for log generation. It uses NoSQL databases to store the log data and Big Data analytics tools such as Spark generate the scoreboards.
View All Courses

    Course Inquiry

    Fill in the details below and we will get back to you as quickly as we can.

    Interested in any of these related courses?