CYBERSECURE CODER (CSC) Training Course
Software security is of paramount importance. Yet, many development teams often defer addressing these concerns until the code is complete and the software is near release. Similar to other quality attributes, achieving effective security and privacy protection requires integrating these considerations throughout the entire software development lifecycle.
This course presents a comprehensive approach to managing security and privacy across the full software development cycle. You will learn to identify vulnerabilities that threaten security and discover how to detect and resolve them within your projects. The curriculum covers strategies for addressing security flaws and misconfigurations, techniques for designing software that accounts for human behavior in security contexts, and methods for embedding security into every stage of development.
Target Audience
This course is designed for professionals such as software developers, testers, and architects who create software across various programming languages and platforms, including desktop, web, cloud, and mobile environments. It aims to strengthen their ability to deliver high-quality software, with a particular emphasis on security and privacy.
Objectives:
Throughout this course, you will apply advanced software development techniques to build applications with robust security controls.
You will:
- Understand the critical need for security in your software projects.
- Eliminate weaknesses within your software systems.
- Apply a Security by Design methodology to build a secure foundation for your applications.
- Implement standard safeguards to ensure user and data security.
- Use various testing methodologies to identify and remediate security flaws.
- Maintain the security posture of deployed software for ongoing protection.
Course Outline
Lesson 1: Identifying the Need for Security in Your Software Projects
Topic A: Identify Security Requirements and Expectations
Topic B: Identify Factors That Undermine Software Security
Topic C: Find Vulnerabilities in Your Software
Topic D: Gather Intelligence on Vulnerabilities and Exploits
Lesson 2: Handling Vulnerabilities
Topic A: Handle Vulnerabilities Due to Software Defects and Misconfiguration
Topic B: Handle Vulnerabilities Due to Human Factors
Topic C: Handle Vulnerabilities Due to Process Shortcomings
Lesson 3: Designing for Security
Topic A: Apply General Principles for Secure Design
Topic B: Design Software to Counter Specific Threats
Lesson 4: Developing Secure Code
Topic A: Follow Best Practices for Secure Coding
Topic B: Prevent Platform Vulnerabilities
Topic C: Prevent Privacy Vulnerabilities
Lesson 5: Implementing Common Protections
Topic A: Limit Access Using Login and User Roles
Topic B: Protect Data in Transit and At Rest
Topic C: Implement Error Handling and Logging
Topic D: Protect Sensitive Data and Functions
Topic E: Protect Database Access
Lesson 6: Testing Software Security
Topic A: Perform Security Testing
Topic B: Analyze Code to find Security Problems
Topic C: Use Automated Testing Tools to Find Security Problems
Lesson 7: Maintaining Security in Deployed Software
Topic A: Monitor and Log Applications to Support Security
Topic B: Maintain Security after Deployment
Appendix A: Mapping Course Content to Cyber Secure Coder (Exam CSC-110)
Requirements
This course introduces secure programming concepts applicable to a wide range of software development projects. Although Python, HTML, and JavaScript are used to illustrate key programming concepts, prior experience with these specific languages is not required to benefit from the content. However, some background in programming is essential, whether through the development of desktop, mobile, web, or cloud applications. To prepare for this course, you might consider completing courses such as:
- Developing Secure Universal Windows® Platform Apps in C# and XAML
- Developing Secure iOS® Apps for Business
- Developing Secure Android™ Apps for Business
- Python® Programming: Introduction
- Python® Programming: Advanced
- Programming Google App Engine™ Applications in Python®
- HTML5: Content Authoring with New and Advanced Features
- SQL Querying: Fundamentals
Open Training Courses require 5+ participants.
CYBERSECURE CODER (CSC) Training Course - Booking
CYBERSECURE CODER (CSC) Training Course - Enquiry
CYBERSECURE CODER (CSC) - Consultancy Enquiry
Testimonials (3)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
the knowledge of the trainer was very high - he knew what he was talking about, and knew the answers to our questions
Adam - Fireup.PRO
Course - Advanced Java Security
Very good to understand how a hacker would potentially analyse sites for weakness and tools they might employ .
Roger - OTT Mobile
Course - .NET, C# and ASP.NET Security Development
Upcoming Courses
Related Courses
ABAP Secure code
14 HoursUpon completion of this training, participants will be able to:
- Explain application security concepts and common vulnerabilities
- Describe ABAP programming best practices and the proper handling of SY-SUBRC
- Understand injection vulnerabilities
- Describe security testing tools
- Explain ATC and CVA
Course Format
- Interactive lectures and discussions
- Extensive exercises and practice sessions
- Hands-on implementation in a live-lab environment
Applications Security Foundation
21 HoursThis course addresses the essential secure coding topics pertinent to a broad range of web application developers. It educates participants on the principles of secure programming by examining specific code samples, identifying security vulnerabilities, and implementing effective remediation strategies.
Throughout the course, students will observe demonstrations of real-world attacks and learn how to prevent them, building the confidence needed to enhance the security posture of their applications.
Duration: 3 days
Target Audience: Developers seeking to deepen their expertise in secure coding practices.
Learning Outcomes
• Participants will acquire knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Penetration Testing of Demo Web Applications.
• Data Validation.
• Authentication.
• Session Management.
• Secure SDLC.
CERTIFIED ETHICAL EMERGING TECHNOLOGIST (CEET)
21 HoursBreakthroughs in computing and engineering are propelling technological advancement, spanning from blockchain and AI to gene editing and the IoT, presenting significant opportunities for enhancing productivity and human welfare. However, as recent scandals demonstrate, these innovations also introduce novel risks. Technology professionals are under growing pressure to tackle ethical challenges, balancing privacy, accuracy, fairness, and safety. This course offers practical tools for managing ethical risks within emerging data-driven technologies, grounded in theory, regulations, and industry best practices. Participants will acquire the skills needed to navigate ethical dilemmas in their professional roles and organizational contexts.
CyberSec First Responder
35 HoursThis program explores network defense and incident response methodologies, tactics, and procedures, aligning with industry standards such as NIST 800-61 r.2 (Computer Security Incident Handling), US-CERT’s NCISP (National Cyber Incident Response Plan), and Presidential Policy Directive (PPD) 41 on Cyber Incident Coordination Policy. It is tailored for candidates responsible for monitoring and detecting security incidents within information systems and networks, as well as executing standardized responses to these events. The course introduces tools, tactics, and procedures to manage cybersecurity risks, identify common threat types, evaluate organizational security, collect and analyze cybersecurity intelligence, and remediate and report incidents in real-time. This program offers a comprehensive methodology for individuals tasked with defending their organization's cybersecurity posture.
The course is designed to help students prepare for the CertNexus CyberSec First Responder (Exam CFR-310) certification. The skills and practices gained here are a significant component of exam preparation. Additionally, this course and the subsequent CFR-310 certification satisfy all personnel requirements for DoD directive 8570.01-M position certification baselines:
• CSSP Analyst
• CSSP Infrastructure Support
• CSSP Incident Responder
• CSSP Auditor
Course Objectives: Participants will learn to understand, assess, and respond to security threats while operating a system and network security analysis platform. Key learning outcomes include:
• Comparing and contrasting various threats and classifying threat profiles
• Explaining the purpose and usage of attack tools and techniques
• Explaining the purpose and usage of post-exploitation tools and tactics
• Explaining the purpose and usage of social engineering tactics
• Conducting ongoing threat landscape research and utilizing data to prepare for incidents, given a specific scenario
• Describing the purpose and characteristics of various data sources
• Utilizing appropriate tools to analyze logs, given a specific scenario
• Using regular expressions to parse log files and locate meaningful data, given a specific scenario
• Using Windows tools to analyze incidents, given a specific scenario
• Using Linux-based tools to analyze incidents, given a specific scenario
• Summarizing methods and tools used for malware analysis
• Analyzing common indicators of potential compromise, given a specific scenario
• Explaining the importance of best practices in incident response preparation
• Executing the incident response process, given a specific scenario
• Explaining concepts unique to forensic analysis
• Explaining general mitigation methods and devices
Target Student: This course is primarily intended for cybersecurity practitioners who are preparing for or currently performing job functions related to protecting information systems by ensuring availability, integrity, authentication, confidentiality, and non-repudiation. It is ideal for roles in federal contracting companies and private sector firms whose mission or strategic objectives involve executing Defensive Cyber Operations (DCO) or DoD Information Network (DODIN) operations and incident handling. The course focuses on the knowledge, ability, and skills necessary to defend these information systems in a cybersecurity context, including protection, detection, analysis, investigation, and response processes.
Furthermore, the course ensures that all members of an IT team—regardless of size, rank, or budget—understand their role in cyber defense, incident response, and incident handling.
Network Security and Secure Communication
21 HoursBuilding secure networked applications can be challenging, even for developers who have previously worked with various cryptographic components (such as encryption and digital signatures). To help participants grasp the role and application of these cryptographic primitives, the course begins by establishing a strong foundation on the core requirements of secure communication: secure authentication, integrity, confidentiality, remote identity verification, and anonymity. It also addresses common threats that compromise these requirements and presents practical, real-world solutions.
As cryptography is a cornerstone of network security, the course examines essential algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theory, these topics are explored from a developer's perspective, highlighting typical use cases and practical considerations, such as public key infrastructures. The course also introduces security protocols across various domains of secure communication, with a detailed analysis of widely adopted protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are discussed, covering both specific algorithms and protocols. Examples include BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each vulnerability, the course outlines practical implications and potential consequences, again avoiding deep mathematical derivations.
Finally, given that XML technology is central to data exchange in networked applications, the course covers XML security. This includes the use of XML in web services and SOAP messages, alongside protection mechanisms like XML Signature and XML Encryption. It also addresses weaknesses in these protections and XML-specific security issues, such as XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Understand the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain a practical understanding of cryptography
- Understand essential security protocols
- Understand recent attacks against cryptosystems
- Gain information about some recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursOver the course of three days, this program explores the fundamental principles of safeguarding C/C++ code against potential exploits by malicious actors. Participants will learn how to mitigate risks associated with memory management and input handling, while mastering the core tenets of writing robust and secure software.
Advanced Java Security
21 HoursEven seasoned Java developers do not necessarily master all the security services provided by Java, nor are they always aware of the various vulnerabilities relevant to web applications built with Java.
In addition to introducing the security components of the Standard Java Edition, this course addresses security issues within the Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamentals of cryptography and secure communication. Various exercises cover declarative and programmatic security techniques in JEE, as well as both transport-layer and end-to-end security for web services. The use of all components is illustrated through several practical exercises, allowing participants to explore the discussed APIs and tools themselves.
The course also reviews and explains the most frequent and severe programming flaws of the Java language and platform, as well as web-related vulnerabilities. Beyond the typical bugs made by Java programmers, the security vulnerabilities covered include both language-specific issues and problems arising from the runtime environment. All vulnerabilities and relevant attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and possible mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Understand the security concepts of web services
- Learn to use various security features of the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions of Java EE
- Learn about typical coding mistakes and how to avoid them
- Get information about some recent vulnerabilities in the Java framework
- Gain practical knowledge in using security testing tools
- Get sources and further readings on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
The Java language and its Runtime Environment (JRE) were designed to minimize exposure to the most critical security vulnerabilities commonly found in other languages, such as C/C++. However, software developers and architects must do more than just utilize the positive security features of the Java environment; they must also be vigilant about the numerous vulnerabilities that still pose significant risks in Java development (negative security).
The course introduces security services by first providing a concise overview of cryptographic foundations, establishing a common baseline for understanding the purpose and functionality of relevant components. Participants engage with these components through practical exercises, allowing them to explore the discussed APIs firsthand.
The curriculum also examines and explains the most frequent and severe programming flaws in the Java language and platform, addressing both typical errors made by Java developers and issues specific to the language and environment. All vulnerabilities and corresponding attacks are illustrated through accessible exercises, followed by recommended coding guidelines and effective mitigation techniques.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Gain knowledge of Web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Learn to effectively utilize various security features within the Java development environment
- Develop a practical understanding of cryptography
- Identify common coding mistakes and learn how to avoid them
- Receive information on recent vulnerabilities within the Java framework
- Access sources and further reading materials on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages can compile code into the .NET and ASP.NET frameworks. While this environment offers robust mechanisms for security development, it is essential for developers to master the architectural and coding-level techniques required to implement necessary security functions, prevent vulnerabilities, and mitigate their exploitation.
This course aims to equip developers with practical skills through extensive hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, safeguard resources via strong authentication and authorization, manage remote procedure calls and sessions, and explore various functional implementations, among other critical topics.
The course introduces various vulnerabilities by first examining typical programming issues encountered when using .NET. It further discusses ASP.NET vulnerabilities, addressing how different environment settings and their impacts affect security. Additionally, the section on ASP.NET-specific vulnerabilities covers general web application security challenges as well as specialized issues and attack vectors, such as ViewState attacks and string termination exploits.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security principles, and secure coding practices
- Identify web vulnerabilities beyond the OWASP Top Ten and learn effective strategies to avoid them
- Master the utilization of various security features within the .NET development environment
- Acquire practical expertise in using security testing tools
- Recognize common coding mistakes and understand how to prevent them
- Stay informed about recent vulnerabilities affecting .NET and ASP.NET
- Access valuable resources and further reading materials on secure coding practices
Audience
Software Developers
Secure coding in PHP
21 HoursThis course equips PHP developers with the essential skills needed to fortify applications against modern internet-based threats. The curriculum explores web vulnerabilities through PHP-centric examples that extend beyond the OWASP Top Ten, addressing various injection attacks, script injections, session handling flaws, insecure direct object references, file upload issues, and more. PHP-related vulnerabilities are categorized into standard types such as inadequate or missing input validation, incorrect error and exception handling, misuse of security features, and time- and state-related problems. For the latter, we examine attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In every scenario, participants will learn critical techniques and functions to mitigate these risks.
A significant emphasis is placed on client-side security, addressing issues related to JavaScript, Ajax, and HTML5. Several PHP security extensions are introduced, including hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. Comprehensive hardening practices are provided for PHP configuration (php.ini settings), Apache, and server infrastructure in general. Additionally, the course offers an overview of diverse security testing tools and techniques available to developers and testers, such as security scanners, penetration testing and exploit kits, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the exploration of vulnerabilities and configuration best practices are reinforced with hands-on exercises. These exercises demonstrate the impact of successful attacks, show how to implement mitigation strategies, and guide participants through the use of various extensions and tools.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Explore web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Understand client-side vulnerabilities and secure coding practices
- Gain practical knowledge of cryptography
- Learn to utilize various PHP security features
- Identify common coding errors and learn how to avoid them
- Stay updated on recent vulnerabilities within the PHP framework
- Acquire practical experience using security testing tools
- Receive resources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThe Combined SDL core training provides an in-depth look at secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It offers a foundational overview of the essential SDL components, followed by design techniques aimed at identifying and rectifying flaws during the early stages of development.
Focusing on the development phase, the course reviews common security-related programming bugs in both managed and native code. The curriculum presents attack vectors for the discussed vulnerabilities alongside their corresponding mitigation strategies, all illustrated through hands-on exercises that offer participants practical, live hacking experience. Following the introduction to various security testing methods, the effectiveness of different testing tools is demonstrated. Participants gain a clear understanding of how these tools operate by applying them to previously discussed vulnerable code through numerous practical exercises.
Participants attending this course will
Grasp the fundamental concepts of security, IT security, and secure coding.
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle.
Acquire knowledge of secure design and development practices.
Learn the principles of secure implementation.
Understand security testing methodology.
- Access resources and further readings on secure coding practices.
Audience
Developers, Managers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursThe Internet of Things (IoT) offers extensive advantages for industries, energy and utility providers, municipal governments, healthcare sectors, and end consumers. It enables the collection of vast quantities of highly detailed data concerning almost any measurable aspect, including public health and safety, environmental conditions, industrial and agricultural output, as well as energy and utility metrics. Advanced data analysis tools, optimized for the massive volume of data generated by IoT, empower organizations to make rapid, well-informed decisions.
However, implementing IoT systems can be complex and fraught with potential risks. Solutions often require integrating devices and technologies from multiple vendors, demanding a solid grasp of both software and hardware, along with effective integration strategies. Professionals must also address critical risks related to security, privacy, and the safety of individuals whose work and living environments are managed by these systems.
IT professionals frequently lack experience with embedded systems, sensor networks, actuators, real-time systems, and other components typical of IoT. This course provides a foundational understanding of how these components interact with systems that IT professionals typically know well, such as networks, cloud computing platforms, and applications running on servers, desktops, and mobile devices.
Through various case studies and hands-on assembly and configuration of an IoT device within a sensor network, students will learn general strategies for planning, designing, developing, implementing, and maintaining IoT systems. Students will build an IoT device using an ESP8266 microcontroller, implementing common IoT features such as analog and digital sensors, a web-based interface, MQTT messaging, and data encryption.
Course Objectives: In this course, you will learn how to apply Internet of Things technologies to solve real-world problems. You will:
• Plan an IoT implementation.
• Construct and program an IoT device.
• Communicate with an IoT device using wired and wireless connections.
• Process sensor input and control an actuator on an IoT device.
• Manage security, privacy, and safety risks on IoT projects.
• Manage an IoT prototyping and development project throughout the development lifecycle.
Target Student: This course is designed for IT professionals with baseline skills in computer hardware, software support, and development who want to learn how to design, develop, implement, operate, and manage Internet of Things devices and related systems. The student is interested in learning more about embedded systems, microcontroller programming, IoT security, and the development life cycle for IoT projects.
While students will gain hands-on experience assembling a prototype IoT device and using software development tools, these activities are closely guided, so previous experience in electronics assembly and programming are not required. This course prepares students for taking the CertNexus Certified Internet of Things (IoT) Practitioner (Exam ITP-110).
Certified Artificial Intelligence (AI) Practitioner
35 HoursArtificial intelligence (AI) and machine learning (ML) have become indispensable components of the toolkit for numerous organizations. When leveraged effectively, these technologies provide actionable insights that drive critical decision-making and empower organizations to develop exciting, innovative, and novel products and services. This course demonstrates how to apply various approaches and algorithms to resolve business challenges through AI and ML, adhere to a methodical workflow for developing robust solutions, utilize open-source and commercial tools to create, test, and deploy these solutions, and ensure the protection of user privacy. Each topic area includes hands-on activities to reinforce learning.
Course Objectives: In this course, you will implement AI techniques to address business problems. You will:
- Define a general approach to solve a specific business problem using applied AI and ML.
- Collect and refine a dataset to prepare it for training and testing.
- Train and tune a machine learning model.
- Finalize a machine learning model and present the results to the appropriate audience.
- Build linear regression models.
- Build classification models.
- Build clustering models.
- Build decision trees and random forests.
- Build support-vector machines (SVMs).
- Build artificial neural networks (ANNs).
- Promote data privacy and ethical practices within AI and ML projects.
Target Student: The skills covered in this course converge on three areas—software development, applied math and statistics, and business analysis. Target students for this course may be strong in one or two of these areas and looking to round out their skills in the other areas, so they can apply artificial intelligence (AI) systems, particularly machine learning models, to business problems.
So the target student may be a programmer looking to develop additional skills to apply machine learning algorithms to business problems, or a data analyst who already has strong skills in applying math and statistics to business problems, but is looking to develop technology skills related to machine learning. A typical student in this course should have several years of experience with computing technology, including some aptitude in computer programming. This course is also designed to assist students in preparing for the CertNexus® Certified Artificial Intelligence (AI) Practitioner (Exam AIP-110) certification.
Certified Internet of Things Security Practitioner (CIoTSP™)
21 HoursDesigned for professionals aiming to validate a vendor-neutral, cross-industry competency, this course equips learners with the skills to design, deploy, operate, and manage a secure IoT environment.
Target Audience: Ideal for IoT practitioners seeking to enhance their expertise in IoT security and privacy, as well as for individuals preparing for the CertNexus Certified Internet of Things Security Practitioner (CIoTSP) certification and Exam ITS-110.
CertNexus CyberSAFE
7 HoursObjectives:
In this course, you will identify many of the common risks involved in using conventional end-user technology, as well as ways to use it safely, to protect yourself from those risks.
You will:
- Identify security compliance measures.
- Address social engineering attempts.
- Secure devices such as desktops, laptops, tablets, smartphones, and more.
- Use the Internet securely.
Target Student
This course is designed for you as a non-technical end user of computers, mobile devices, networks, and the Internet, to enable you to use technology more securely to minimize digital risks.
This course is also designed for you to prepare for the Certified CyberSAFE credential. You can obtain your Certified CyberSAFE certificate by completing the Certified CyberSAFE credential process on the CHOICE platform following the course presentation.