CYBERSECURE CODER (CSC) Training Course
Software security is of paramount importance. Yet, many development teams often prioritize security only after the code has been written and the software is nearing release. Just as with any other aspect of software quality, achieving a successful implementation requires managing security and privacy concerns throughout the entire software development lifecycle.
This course introduces a comprehensive approach to addressing security and privacy issues across the complete software development cycle. You will gain insights into vulnerabilities that can compromise security and learn how to identify and resolve them within your own projects. The curriculum covers general strategies for addressing security flaws and misconfigurations, techniques for designing software that accounts for human factors in security, and methods for integrating security into all stages of development.
Target Audience
This course is designed for professionals such as software developers, testers, and architects involved in creating software using various programming languages and platforms, including desktop, web, cloud, and mobile. It aims to enhance their ability to produce high-quality software, with a specific focus on security and privacy aspects.
Objectives:
Throughout this course, you will apply top-tier software development techniques to create software with robust security measures.
You will:
- Recognize the necessity for security in your software projects.
- Eliminate weaknesses within the software.
- Employ a Security by Design methodology to construct a secure architecture for your software.
- Incorporate standard safeguards to uphold user and data security.
- Utilize diverse testing approaches to pinpoint and rectify security flaws in your software.
- Sustain the security of deployed software for continuous 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 presents secure programming concepts applicable to a wide range of software development projects. Although this course uses Python, HTML, and JavaScript to demonstrate various programming concepts, prior experience in these languages is not required to benefit from the content. However, you should possess some programming experience, whether in developing desktop, mobile, web, or cloud applications. To prepare for this course, you might consider taking a variety of software development 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
Need help picking the right course?
CYBERSECURE CODER (CSC) Training Course - 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 and vulnerabilities
- Describe ABAP programming best practices and handling of SY-SUBRC
- Understand injection vulnerabilities
- Describe security testing tools
- Explain ATC and CVA
Course Format
- Interactive lecture and discussion.
- Extensive exercises and practice.
- Hands-on implementation in a live-lab environment.
Applications Security Foundation
21 HoursThis course addresses the essential secure coding topics crucial for a wide range of web application developers. Participants will learn the core principles of secure programming by examining specific code segments, identifying potential security vulnerabilities, and implementing effective remediation strategies.
Throughout the training, you will observe demonstrations of real-world attack vectors and learn how to mitigate them, building confidence in your ability to enhance the security posture of your applications.
Duration: 3 days
Target Audience: Developers seeking to expand their expertise in secure coding practices.
Upon Completion
• Participants will gain 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 fueling technological advancement, spanning from blockchain and AI to gene editing and IoT. These innovations present significant opportunities to enhance productivity and improve human well-being. However, as recent high-profile incidents demonstrate, they also introduce novel risks. Technology professionals are under growing pressure to address ethical challenges, striving to balance privacy, accuracy, fairness, and safety. This course equips learners with practical tools to manage ethical risks in emerging data-driven technologies, leveraging theoretical foundations, regulatory frameworks, and industry best practices. Participants will develop the competencies needed to navigate ethical dilemmas within their professional roles and organizations.
CyberSec First Responder
35 HoursThis program focuses on network defense strategies and incident response methodologies, aligned with industry standards including NIST 800-61 r.2 (Computer Security Incident Handling), US-CERT’s NCISP (National Cyber Incident Response Plan), and Presidential Policy Directive (PPD) 41 regarding Cyber Incident Coordination Policy. It is tailored for professionals responsible for monitoring and detecting security events in information systems and networks, as well as executing standardized response protocols. Participants will learn to manage cybersecurity risks, identify common threat types, evaluate organizational security postures, collect and analyze cybersecurity intelligence, and remediate and report incidents effectively. This course offers a comprehensive methodology for individuals tasked with defending their organization's cybersecurity infrastructure.
Designed to aid candidates in preparing for the CertNexus CyberSec First Responder (Exam CFR-310) certification, the skills and practices acquired here form a significant component of your exam preparation. Furthermore, this course and the subsequent CFR-310 certification fulfill all requirements for personnel needing DoD directive 8570.01-M position certification baselines:
• CSSP Analyst
• CSSP Infrastructure Support
• CSSP Incident Responder
• CSSP Auditor
Course Objectives: Throughout this course, you will gain the ability to understand, assess, and respond to security threats while operating a system and network security analysis platform. Specifically, you will:
• Compare and contrast various threats and classify threat profiles
• Explain the purpose and application of attack tools and techniques
• Explain the purpose and application of post-exploitation tools and tactics
• Explain the purpose and application of social engineering tactics
• Given a scenario, conduct ongoing threat landscape research and utilize data to prepare for incidents
• Explain the purpose and characteristics of various data sources
• Given a scenario, employ appropriate tools to analyze logs
• Given a scenario, use regular expressions to parse log files and extract meaningful data
• Given a scenario, use Windows tools to analyze incidents
• Given a scenario, use Linux-based tools to analyze incidents
• Summarize methods and tools used for malware analysis
• Given a scenario, analyze common indicators of potential compromise
• Explain the importance of best practices in incident response preparation
• Given a scenario, execute the incident response process
• Explain the importance of concepts unique to forensic analysis
• Explain general mitigation methods and devices
Target Audience: This course is primarily designed for cybersecurity practitioners who are preparing for or currently performing job functions related to protecting information systems by ensuring their availability, integrity, authentication, confidentiality, and non-repudiation. It is ideal for roles within federal contracting companies and private sector firms whose mission or strategic objectives require the execution of Defensive Cyber Operations (DCO) or DoD Information Network (DODIN) operations and incident handling. The course emphasizes the knowledge, abilities, and skills necessary to defend these information systems in a cybersecurity context, including protection, detection, analysis, investigation, and response processes.
Additionally, the course ensures that all IT team members—regardless of size, rank, or budget—understand their role in cyber defense, incident response, and incident handling.
Android Security
14 HoursAndroid serves as an open platform for mobile devices, including smartphones and tablets. While it offers a wide array of security features to facilitate the development of secure software, it also lacks certain security aspects found in other handheld platforms. This course provides a thorough overview of these features, highlighting critical gaps related to the underlying Linux system, file structure, and general environment, as well as issues concerning permissions and other Android development components.
The course details typical security pitfalls and vulnerabilities for both native code and Java applications, offering recommendations and best practices to avoid and mitigate these risks. Many discussed issues are illustrated with real-life examples and case studies. Additionally, the course provides a brief guide on using security testing tools to identify security-related programming bugs.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about security solutions available on Android
- Learn to utilize various security features of the Android platform
- Gain information on recent Java vulnerabilities on Android
- Learn about common coding mistakes and how to prevent them
- Gain insight into native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Obtain sources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursDeveloping secure networked applications can be challenging, even for developers experienced with cryptographic building blocks like encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, this course establishes a solid foundation on the core requirements of secure communication—including secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common threats to these requirements alongside practical real-world solutions.
Since cryptography is a critical component of network security, the course covers essential algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theory, the content approaches these topics from a developer's perspective, illustrating typical use cases and practical considerations such as public key infrastructures. Additionally, various security protocols are introduced, with a detailed examination of widely used families like IPSEC and SSL/TLS.
The course addresses typical crypto vulnerabilities associated with specific algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each issue, practical implications and potential consequences are explained without delving into deep mathematical details.
Finally, as XML technology is central to data exchange in networked applications, the course explores its security aspects. This includes the use of XML in web services and SOAP messages, protection mechanisms like XML signature and XML encryption, and vulnerabilities such as XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Understand the requirements of secure communication
- Learn about network attacks and defenses at different OSI layers
- Have a practical understanding of cryptography
- Understand essential security protocols
- Understand some recent attacks against cryptosystems
- Get 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 HoursThis three-day program provides a comprehensive overview of protecting C/C++ code from malicious exploitation, focusing on vulnerabilities related to memory management and input handling. Participants will learn the fundamental principles of writing robust and secure software.
Advanced Java Security
21 HoursEven seasoned Java developers do not always fully master the array of security services provided by Java, nor are they consistently aware of the diverse vulnerabilities that impact web applications built with Java.
Beyond introducing the security components of Standard Java Edition, this course addresses security challenges in Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamentals of cryptography and secure communication. A variety of exercises explore declarative and programmatic security techniques in JEE, while both transport-layer and end-to-end security for web services are examined. Participants engage in practical exercises that allow them to test the discussed APIs and tools hands-on.
The course also reviews and explains the most common and critical programming flaws associated with the Java language and platform, as well as web-related vulnerabilities. In addition to typical errors made by Java programmers, the covered security vulnerabilities include both language-specific issues and problems arising from the runtime environment. Each vulnerability and its corresponding attack vectors are demonstrated through accessible exercises, followed by recommended coding guidelines and potential mitigation strategies.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to avoid them
- Comprehend the security concepts underlying web services
- Acquire skills in utilizing various security features of the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions available in Java EE
- Identify typical coding mistakes and learn how to prevent them
- Receive information on recent vulnerabilities within the Java framework
- Obtain practical experience with security testing tools
- Access resources and further reading on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
While the Java language and Runtime Environment (JRE) were designed to eliminate many of the critical security vulnerabilities found in languages like C and C++, developers and architects must go beyond simply utilizing Java's built-in security features (positive security). They must also maintain a keen awareness of the numerous vulnerabilities that remain pertinent to Java development (negative security).
The course begins with a concise overview of cryptographic foundations, establishing a common baseline to help participants understand the purpose and functionality of the relevant components. This knowledge is then applied through practical exercises, allowing attendees to experiment with the discussed APIs firsthand.
Additionally, the curriculum examines the most frequent and severe programming flaws specific to the Java language and platform. This includes both typical errors made by Java programmers and issues unique to the language and its environment. All identified vulnerabilities and associated attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and effective mitigation techniques.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities extending beyond the OWASP Top Ten and learn how to prevent them
- Master the usage of various security features within the Java development environment
- Gain a practical understanding of cryptography
- Avoid common coding mistakes
- Review information regarding recent vulnerabilities in the Java framework
- Access resources and further reading on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, a variety of programming languages are available to compile code for the .NET and ASP.NET frameworks. This environment offers robust tools for security development; however, developers must understand how to apply architecture- and code-level programming techniques to implement desired security functions while preventing vulnerabilities or limiting their exploitation.
The primary objective of this course is to train developers through extensive hands-on exercises on how to prevent untrusted code from executing privileged actions, safeguard resources via strong authentication and authorization, facilitate remote procedure calls, manage sessions, and explore various implementation strategies for specific functionalities, among other topics.
The introduction to different vulnerabilities begins by highlighting typical programming issues encountered when using .NET, while the discussion on ASP.NET vulnerabilities addresses various environment settings and their impacts. Furthermore, the topic of ASP.NET-specific vulnerabilities covers not only general web application security challenges but also specialized issues and attack methods, such as ViewState attacks and string termination attacks.
Participants attending this course will
- Gain a solid understanding of the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and discover methods to avoid them
- Master the use of various security features within the .NET development environment
- Acquire practical expertise in utilizing security testing tools
- Identify typical coding mistakes and learn how to avoid them
- Receive information regarding recent vulnerabilities in .NET and ASP.NET
- Access sources and further readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to fundamental security concepts, offering a broad perspective on vulnerabilities that transcend specific programming languages and platforms. It explains how to manage risks associated with software security across the various phases of the software development lifecycle. Rather than diving into deep technical specifics, the course highlights some of the most critical and prevalent vulnerabilities found in different software development technologies. It also addresses the challenges of security testing, presenting practical techniques and tools that can be applied to identify existing issues in your code.
Upon completion, participants will be able to:
- Grasp the basic concepts of security, IT security, and secure coding practices.
- Understand web vulnerabilities affecting both server-side and client-side environments.
- Recognize the severe consequences of improper buffer handling.
- Stay informed about recent vulnerabilities affecting development environments and frameworks.
- Learn to identify typical coding mistakes and how to prevent them.
- Understand security testing approaches and methodologies.
Intended Audience
Managers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursThe Internet of Things (IoT) offers extensive advantages for industries, energy and utility sectors, municipal bodies, healthcare providers, and end consumers. It enables the collection of vast quantities of detailed data on nearly any measurable aspect, including public health and safety, environmental conditions, industrial and agricultural output, energy usage, and utility management. Advanced data analysis tools have been refined to handle the massive datasets generated by IoT, facilitating rapid, informed decision-making.
However, deploying IoT systems can be complex and presents significant challenges. Solutions often involve devices and technologies from various vendors, necessitating a solid grasp of hardware and software integration strategies, as well as the security, privacy, and safety risks associated with systems that manage people's work and living environments.
IT professionals may lack experience with embedded systems, sensor networks, actuators, real-time systems, and other common IoT components. This course establishes a foundation for understanding how these components interact with systems that IT professionals typically know better, such as networks, cloud computing platforms, and applications running on servers, desktops, and mobile devices.
Through case studies and hands-on assembly of an IoT device within a sensor network, students will learn general strategies for planning, designing, developing, implementing, and maintaining IoT systems. Learners will build an IoT device based on an ESP8266 microcontroller, incorporating standard 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 to apply Internet of Things technologies to address 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 in IoT projects.
• Oversee an IoT prototyping and development project across its entire lifecycle.
Target Student: This course is designed for IT professionals with foundational skills in computer hardware, software support, and development who wish to learn how to design, develop, implement, operate, and manage Internet of Things devices and related systems. It is ideal for students interested in exploring embedded systems, microcontroller programming, IoT security, and the development lifecycle 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 prior experience in electronics assembly and programming is not required. This course prepares students to take 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 essential components of the toolset for many organizations. When utilized effectively, these technologies provide actionable insights that drive critical decision-making and empower organizations to develop exciting, new, and innovative products and services. This course demonstrates how to apply various approaches and algorithms to resolve business challenges through AI and ML, follow a systematic workflow to create robust solutions, leverage open-source and off-the-shelf tools to develop, test, and deploy those solutions, and ensure user privacy is protected. The course incorporates hands-on activities for each topic area.
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.
- Gather 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 relevant audience.
- Construct linear regression models.
- Construct classification models.
- Construct clustering models.
- Construct decision trees and random forests.
- Construct support-vector machines (SVMs).
- Construct artificial neural networks (ANNs).
- Advocate for 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 mathematics 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 HoursThis course is tailored for professionals aiming to validate a vendor-neutral, cross-industry competency set that empowers them to design, implement, operate, and/or manage a secure Internet of Things (IoT) ecosystem.
Target Audience: This program is intended for IoT practitioners seeking to enhance their expertise in IoT security and privacy. It also supports individuals preparing for the CertNexus Certified Internet of Things Security Practitioner (CIoTSP) certification, specifically for 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:
- Pinpoint security compliance measures.
- Handle 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.