CYBERSECURE CODER (CSC) Training Course
Software security is of paramount importance. Yet, numerous development teams often postpone addressing security until the code is written and the software is nearly ready for release. Just as with any other aspect of software quality, successful implementation demands the management of security and privacy concerns throughout the entire software development lifecycle.
This course introduces a comprehensive approach to managing 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 in 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 every stage of development.
Target Audience
This course is designed for individuals such as software developers, testers, and architects who are 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 particular emphasis on security and privacy.
Objectives:
Throughout this course, you will employ advanced techniques in software development to create software with robust security measures.
You will:
- Recognize the need for security in your software projects.
- Eliminate weaknesses within the software.
- Apply a Security by Design methodology to build a secure structure for your software.
- Implement standard safeguards to ensure user and data security.
- Use various testing approaches to identify and fix security flaws in your software.
- Maintain the security 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 presents secure programming concepts applicable to many different types 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 it. However, you should have some programming experience, whether in developing desktop, mobile, web, or cloud applications. A variety of courses covering software development that you might use to prepare for this course include:
- 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?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
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
Related Courses
ABAP Secure code
14 HoursUpon completion of this training, participants will be equipped to:
- Articulate the fundamentals of application security and common vulnerabilities
- Outline ABAP programming best practices and the proper management of SY-SUBRC
- Gain an understanding of injection vulnerabilities
- Describe various security testing tools
- Explain the roles of ATC and CVA
Course Format
- Interactive lectures and discussions
- Extensive exercises and practice sessions
- Hands-on implementation within a live-lab environment
Applications Security Foundation
21 HoursThis programme explores the essential secure coding principles that are vital for a broad spectrum of web application developers. It equips participants with the concepts of secure programming by guiding them through the process of examining specific code snippets, identifying potential security vulnerabilities, and implementing effective remediation strategies.
Throughout this course, learners will observe demonstrations of real-world attacks and learn practical methods to prevent them, thereby building confidence in their ability to enhance the security posture of their applications.
Duration: 3 days
Target Audience: Developers seeking to expand their expertise in secure coding practices.
Key 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 Software Development Life Cycle (SDLC).
CERTIFIED ETHICAL EMERGING TECHNOLOGIST (CEET)
21 HoursAdvancements in computing and engineering are propelling technological progress, ranging from blockchain and AI to gene editing and IoT. These innovations present significant opportunities for enhancing productivity and human well-being. However, recent scandals have underscored that such innovations also introduce new risks. Technology professionals are under growing pressure to address ethical concerns, carefully balancing privacy, accuracy, fairness, and safety. This course offers practical tools to manage ethical risks associated with emerging data-driven technologies, drawing on theoretical frameworks, regulatory guidelines, and industry best practices. Learners will acquire the skills necessary to navigate ethical dilemmas within their professional roles and organizations.
CyberSec First Responder
35 HoursThis course explores network defense strategies and incident response methodologies, aligned 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 professionals responsible for monitoring and detecting security incidents within information systems and networks, as well as executing standardized response protocols. The curriculum introduces tools, tactics, and procedures to manage cybersecurity risks, identify common threats, assess organizational security posture, collect and analyze cybersecurity intelligence, and remediate and report incidents in real-time. This course offers a comprehensive framework for individuals tasked with defending their organization’s cybersecurity.
Designed to assist students in preparing for the CertNexus CyberSec First Responder (Exam CFR-310) certification, the knowledge and skills acquired here form a critical part of your preparation. Furthermore, this course and the subsequent CFR-310 certification satisfy 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 learn to understand, assess, and respond to security threats while operating a system and network security analysis platform. 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
• Conduct ongoing threat landscape research and utilize data to prepare for incidents in given scenarios
• Explain the purpose and characteristics of various data sources
• Utilize appropriate tools to analyze logs in given scenarios
• Use regular expressions to parse log files and identify meaningful data in given scenarios
• Use Windows tools to analyze incidents in given scenarios
• Use Linux-based tools to analyze incidents in given scenarios
• Summarize methods and tools used for malware analysis
• Analyze common indicators of potential compromise in given scenarios
• Explain the importance of best practices in preparing for incident response
• Execute the incident response process in given scenarios
• Explain 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 perform 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 focuses on the knowledge, abilities, and skills necessary to defend information systems in a cybersecurity context, including protection, detection, analysis, investigation, and response processes.
Additionally, 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 HoursDeveloping secure networked applications presents challenges even for developers who have previously utilized various cryptographic building blocks, such as encryption and digital signatures. To ensure 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 acknowledgment, integrity, confidentiality, remote identification, and anonymity. This is complemented by an exploration of common threats that can compromise these requirements, alongside practical real-world solutions.
Given that cryptography is a cornerstone of network security, the curriculum covers the most vital algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theories, these concepts are presented from a developer's viewpoint, illustrating typical use cases and practical considerations, including the implementation of public key infrastructures (PKI). The course introduces security protocols across various domains of secure communication, providing an in-depth look at widely-used protocol families like IPsec and SSL/TLS.
Typical cryptographic vulnerabilities associated with specific algorithms and protocols are examined, including BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding Oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each vulnerability, the course details practical considerations and potential consequences, maintaining a focus on applicability rather than deep mathematical analysis.
Finally, recognizing that XML technology is central to data exchange for networked applications, the security implications of XML are thoroughly described. This covers the use of XML in web services and SOAP messages, as well as protective measures like XML Signature and XML Encryption. The course also addresses weaknesses in these protections and specific XML-related security issues, 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
- Grasp 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
- Analyze recent attacks against cryptosystems
- Identify information regarding recent related vulnerabilities
- Understand security concepts relevant to web services
- Access sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursDeveloping secure C and C++ code demands robust defenses against malicious exploitation, memory corruption, and input validation bypasses. This program explores vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants will apply secure coding guidelines, leverage static analysis tools, and utilize defensive programming techniques to eliminate weaknesses, enforce input sanitization, and deliver hardened software that is resilient against cyberattacks.
Advanced Java Security
21 HoursEven seasoned Java developers often struggle to fully master the diverse security services provided by Java, and they are frequently unaware of the various vulnerabilities that impact web applications built with Java.
Beyond introducing the security components of Standard Java Edition, this course addresses the security challenges associated with Java Enterprise Edition (JEE) and web services. The discussion of specific services is grounded in the fundamental principles of cryptography and secure communication. Participants will engage in various exercises covering declarative and programmatic security techniques in JEE, while also exploring transport-layer and end-to-end security for web services. Through practical exercises, attendees can apply the discussed APIs and tools, gaining hands-on experience with each component.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, as well as web-related vulnerabilities. In addition to typical errors made by Java developers, the identified security vulnerabilities encompass both language-specific issues and problems arising from the runtime environment. All vulnerabilities and corresponding attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and effective mitigation techniques.
Participants attending this course will
- Grasp the core concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Understand the security concepts underlying web services
- Acquire skills in utilizing various security features within the Java development environment
- Develop a practical understanding of cryptography
- Comprehend the security solutions offered by Java EE
- Learn about typical coding mistakes and strategies to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Acquire practical knowledge in using security testing tools
- Receive resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
The Java language and the Runtime Environment (JRE) were designed to be free from the most problematic common security vulnerabilities experienced in other languages, like C/C++. Yet, software developers and architects should not only know how to use the various security features of the Java environment (positive security), but should also be aware of the numerous vulnerabilities that are still relevant for Java development (negative security).
The introduction of security services is preceded with a brief overview of the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. The use of these components is presented through several practical exercises, where participants can try out the discussed APIs for themselves.
The course also goes through and explains the most frequent and severe programming flaws of the Java language and platform, covering both the typical bugs committed by Java programmers and the language- and environment-specific issues. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn to use various security features of the Java development environment
- Have a practical understanding of cryptography
- Learn about typical coding mistakes and how to avoid them
- Get information about some recent vulnerabilities in the Java framework
- Get sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages can compile code for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, developers must understand how to apply programming techniques at both the architectural and coding levels. This knowledge is essential for implementing desired security features while avoiding vulnerabilities or limiting their exploitation.
The primary goal of this course is to guide developers through numerous hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, protect resources using strong authentication and authorization mechanisms, manage remote procedure calls, handle sessions, and explore various implementation strategies for specific functionalities, among other critical skills.
The introduction to various vulnerabilities begins by highlighting typical programming errors commonly made when using .NET. The discussion on ASP.NET vulnerabilities also covers different environment settings and their impact. Furthermore, the topic of ASP.NET-specific vulnerabilities addresses not only general web application security challenges but also specialized issues and attack vectors, such as attacks targeting the ViewState or string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Utilize various security features within the .NET development environment
- Gain practical experience with security testing tools
- Recognize typical coding mistakes and understand how to prevent them
- Learn about recent vulnerabilities affecting .NET and ASP.NET
- Access sources and further reading materials on secure coding practices
Audience
Developers
Secure coding in PHP
21 HoursThis course equips PHP developers with the vital skills needed to harden applications against modern internet threats. We explore web vulnerabilities through practical PHP examples, extending beyond the OWASP Top Ten to address various injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. PHP-related vulnerabilities are categorized into standard types such as missing or improper input validation, incorrect error and exception handling, misuse of security features, and time- and state-related problems. We also examine specific attack vectors like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In each scenario, participants will master the key techniques and functions required to mitigate these risks.
A significant portion of the course focuses on client-side security, addressing issues related to JavaScript, Ajax, and HTML5. We introduce essential PHP extensions for cryptography, such as hash, mcrypt, and OpenSSL, as well as tools for input validation like Ctype, ext/filter, and HTML Purifier. Best practices for hardening PHP configurations (including php.ini settings), Apache, and the broader server environment are also covered. Additionally, the course provides an overview of various security testing tools and techniques available to developers and testers, including security scanners, penetration testing methodologies, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerabilities and the configuration practices are reinforced through hands-on exercises. These demonstrations illustrate the consequences of successful attacks, show how to apply mitigation techniques, and guide the use of various extensions and tools.
Upon completion of this course, participants will be able to
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify and avoid web vulnerabilities beyond the OWASP Top Ten
- Understand client-side vulnerabilities and implement secure coding practices
- Develop a practical understanding of cryptography
- Utilize various security features inherent to PHP
- Recognize common coding errors and learn how to prevent them
- Stay informed about recent vulnerabilities in the PHP framework
- Gain practical experience in using security testing tools
- Access resources and further readings on secure coding practices
Target Audience
Developers
Microsoft SDL Core
14 HoursThis comprehensive core training offers a deep dive into secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It provides a foundational overview of SDL’s key principles, followed by design strategies aimed at identifying and rectifying vulnerabilities during the early stages of the development process.
Focusing on the development phase, the course outlines common security-related programming errors in both managed and native code environments. Participants will explore attack vectors associated with these vulnerabilities, along with corresponding mitigation techniques. The learning experience is reinforced through numerous hands-on exercises that provide practical, real-world hacking scenarios. Additionally, various security testing methods are introduced, alongside demonstrations of effective testing tools. Participants gain a clear understanding of these tools by applying them to previously discussed vulnerable codebases during practical exercises.
Key Takeaways for Participants
Grasp fundamental concepts of security, IT security, and secure coding practices
Familiarize themselves with the critical stages of the Microsoft Secure Development Lifecycle
Acquire skills in secure design and development methodologies
Understand the principles of secure implementation
Comprehend security testing methodologies
- Access resources and further reading materials on secure coding practices
Target Audience
Software Developers, IT Managers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursThe Internet of Things (IoT) offers a diverse array of advantages for industries, energy and utility sectors, municipal governments, healthcare providers, and consumers. It allows for the collection of data in unprecedented volume and detail concerning almost any measurable aspect, including public health and safety, environmental conditions, industrial and agricultural output, energy usage, and utility services. Advanced data analysis tools have been refined to handle the massive data volumes generated by IoT, facilitating rapid and well-informed decision-making.
However, deploying IoT systems can be complex and fraught with potential hazards. Solutions often involve devices and technologies from various vendors, necessitating a solid grasp of software and hardware, as well as strategies for integration. Additionally, professionals must address risks related to security, privacy, and the safety of individuals whose work and living environments are managed by these systems.
Many IT professionals have limited or no prior experience with embedded systems, sensor networks, actuators, real-time systems, and other components typical of IoT. Therefore, this course provides a foundational understanding of how these components interact with systems that IT professionals are more familiar with, such as networks, cloud computing, and applications running on servers, desktops, and mobile devices.
Through case studies and the assembly and configuration of an IoT device for a sensor network, students will learn general strategies for planning, designing, developing, implementing, and maintaining an IoT system. Students will build an IoT device based on 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 wish to learn how to design, develop, implement, operate, and manage Internet of Things devices and related systems. Students will gain deeper insight into 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 previous experience in electronics assembly and programming is 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 utilized effectively, these technologies deliver actionable insights that drive critical decision-making and empower organizations to develop exciting, innovative, and new products and services. This course demonstrates how to apply diverse approaches and algorithms to resolve business challenges through AI and ML. It guides you through a methodical workflow to develop robust solutions, utilize open-source and off-the-shelf tools to build, test, and deploy these solutions, and ensure the protection of user privacy. Each topic area includes hands-on activities to reinforce learning.
Course Objectives: Upon completion of this course, you will be able to implement AI techniques to solve business problems. Specifically, you will:
- Define a general approach to address a specific business problem using applied AI and ML.
- Gather and refine a dataset in preparation for training and testing.
- Train and fine-tune a machine learning model.
- Finalize a machine learning model and present findings 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 standards within AI and ML projects.
Target Student: The skills covered in this course integrate three core areas—software development, applied mathematics and statistics, and business analysis. Ideal candidates for this course may excel in one or two of these areas and seek to expand their expertise in the others, thereby enabling them to apply artificial intelligence (AI) systems, particularly machine learning models, to business challenges.
Consequently, the target student may be a programmer aiming to acquire additional skills to apply machine learning algorithms to business contexts, or a data analyst who possesses strong proficiency in applying math and statistics to business problems but wishes to enhance their technical skills related to machine learning. A typical participant in this course should have several years of experience with computing technology, along with some aptitude in computer programming. This course is also designed to help students prepare for the CertNexus® Certified Artificial Intelligence (AI) Practitioner (Exam AIP-110) certification.
Certified Internet of Things Security Practitioner (CIoTSP™)
21 HoursThis programme is tailored for professionals aiming to showcase a vendor-neutral, cross-industry skill set that empowers them to design, implement, operate, and/or manage a secure IoT environment.
Target Audience: This course is intended for IoT practitioners seeking to enhance their expertise in IoT security and privacy. It is also suited for learners 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.