CYBERSECURE CODER (CSC) Training Course
Software security is of paramount importance. Yet, many development teams often defer security measures until after the code is written and the software is nearly ready for release. Just as with any other aspect of software quality, achieving successful implementation demands the management of security and privacy concerns throughout the entire software development lifecycle.
This course introduces an approach to handle security and privacy concerns throughout the complete software development cycle. You will gain insights into vulnerabilities that can compromise security and learn how to recognize and resolve them in your own projects. The course 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 caters to individuals such as software developers, testers, and architects involved in creating software using different programming languages and platforms like desktop, web, cloud, and mobile. It aims to enhance their capacity to produce software of superior quality, with a special focus on security and privacy aspects.
Objectives:
Throughout this course, you will utilize top-notch techniques in software development to create software with robust security measures.
You will:
- Recognize the necessity for security in your software undertakings.
- Eradicate weaknesses within the software.
- Employ a Security by Design methodology to construct a secure structure 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 that apply to many different types of software development projects. While this course uses Python, HTML, and JavaScript to demonstrate various programming concepts, you do not need to have experience in these languages to benefit from this course. However, you should have some programming experience, whether it be developing desktop, mobile, web, or cloud applications. A variety of courses covering software development that you might use to prepare for this course, 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?
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
Upcoming Courses
Related Courses
ABAP Secure code
14 HoursUpon completion of this training, participants will be able to:
- Explain the concepts of application security and vulnerabilities
- Describe ABAP programming best practices and the 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 programme equips web application developers with essential secure coding practices. Students will learn secure programming concepts by analysing specific code snippets to identify vulnerabilities and implement effective fixes.
Through demonstrations of real-world attacks and their prevention, participants will build confidence in enhancing the security of their applications.
Duration: 3 days
Target Audience: Developers seeking to deepen their expertise in secure coding.
Learning Outcomes
• Upon completion, students will gain knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Demo Web Application Penetration Testing.
• Data Validation.
• Authentication.
• Session Management.
• Secure SDLC.
CyberSec First Responder
35 HoursThis course addresses network defence and incident response methodologies, tactics, and procedures, aligned with industry frameworks 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 ideally suited for professionals tasked with monitoring and detecting security incidents within information systems and networks, as well as executing standardised responses to such events. The course introduces tools, tactics, and procedures to manage cybersecurity risks, identify various common threats, evaluate organisational security, collect and analyse cybersecurity intelligence, and remediate and report incidents as they occur. It provides a comprehensive methodology for individuals responsible for defending their organisation’s cybersecurity.
Designed to assist students in preparing for the CertNexus CyberSec First Responder (Exam CFR-310) certification examination, the knowledge and skills acquired here form a significant part of your preparation. Furthermore, this course and the subsequent certification (CFR-310) satisfy all requirements for personnel needing DoD directive 8570.01-M position certification baselines for:
• CSSP Analyst
• CSSP Infrastructure Support
• CSSP Incident Responder
• CSSP Auditor
Course Objectives: Upon completion, you will understand, assess, and respond to security threats, and operate a system and network security analysis platform. Specifically, you will be able to:
• Compare and contrast various threats and classify threat profiles
• Explain the purpose and use of attack tools and techniques
• Explain the purpose and use of post-exploitation tools and tactics
• Explain the purpose and use of social engineering tactics
• Given a scenario, perform ongoing threat landscape research and utilise data to prepare for incidents
• Explain the purpose and characteristics of various data sources
• Given a scenario, use appropriate tools to analyse logs
• Given a scenario, use regular expressions to parse log files and locate meaningful data
• Given a scenario, use Windows tools to analyse incidents
• Given a scenario, use Linux-based tools to analyse incidents
• Summarise methods and tools used for malware analysis
• Given a scenario, analyse common indicators of potential compromise
• Explain the importance of best practices in preparation for incident response
• Given a scenario, execute the incident response process
• Explain the importance of concepts unique to forensic analysis
• Explain general mitigation methods and devices
Target Student: This course is primarily designed for cybersecurity practitioners 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 missions 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 those information systems within 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 defence, incident response, and incident handling processes.
Network Security and Secure Communication
21 HoursImplementing a secure networked application can be challenging, even for developers who have previously worked with cryptographic building blocks such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation on the core requirements of secure communication – including secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common issues that can undermine these requirements, alongside practical real-world solutions.
Given that cryptography is a critical aspect of network security, the course covers the most important algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than diving into deep mathematical theory, these concepts are presented from a developer’s perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Security protocols used across various areas of secure communication are introduced, with an in-depth focus on widely adopted protocol families like IPSEC and SSL/TLS.
The course examines typical crypto vulnerabilities related to specific cryptographic algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and the RSA timing attack. For each issue, the practical implications and potential consequences are clearly described, avoiding complex mathematical derivations.
Finally, since XML technology is central to data exchange for networked applications, the security aspects of XML are thoroughly explored. This includes the use of XML within web services and SOAP messages, alongside protection mechanisms like XML Signature and XML Encryption. The discussion also covers weaknesses in these protection measures 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
- Grasp the requirements of secure communication
- Learn about network attacks and defences across different OSI layers
- Develop a practical understanding of cryptography
- Comprehend essential security protocols
- Gain insight into recent attacks targeting cryptosystems
- Learn about some recent related vulnerabilities
- Understand the security concepts underpinning web services
- Access resources and further reading materials on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day programme provides an introduction to safeguarding C/C++ applications against exploitation by malicious actors. Participants will learn how to mitigate vulnerabilities associated with memory management and input handling, while mastering the core principles of writing robust and secure code.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the array of security services provided by Java, nor are they always aware of the various vulnerabilities relevant to Java-based web applications.
In addition to introducing the security components of Standard Java Edition, this course addresses security challenges within Java Enterprise Edition (JEE) and web services. The discussion of specific services is grounded in the fundamentals of cryptography and secure communication. Through a series of practical exercises, participants explore declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. This approach allows participants to apply the discussed APIs and tools hands-on.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, alongside web-related vulnerabilities. Beyond typical errors made by Java programmers, the covered security vulnerabilities address both language-specific issues and problems arising from the runtime environment. These vulnerabilities and their associated attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and 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 prevent them.
- Comprehend the security concepts underlying web services.
- Gain proficiency in using the various security features of the Java development environment.
- Develop a practical understanding of cryptography.
- Understand the security solutions offered by Java EE.
- Learn about common coding mistakes and how to avoid them.
- Receive insights into recent vulnerabilities within the Java framework.
- Acquire practical experience with security testing tools.
- Access resources and further reading materials on secure coding practices.
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
The Java language and its Runtime Environment (JRE) were engineered to eliminate many of the critical security vulnerabilities commonly found in languages such as C and C++. However, software developers and architects must not only master the positive security features available within the Java ecosystem but also remain vigilant about the negative security aspects, understanding the numerous vulnerabilities that still pose risks to Java development.
The course introduces essential security services by first providing a concise overview of cryptographic foundations. This establishes a common baseline for understanding the purpose and operation of relevant components. Participants will engage in several practical exercises to actively explore and test these discussed APIs.
Furthermore, the curriculum thoroughly examines the most frequent and severe programming flaws associated with the Java language and platform. This includes typical errors made by Java programmers as well as issues specific to the language and its environment. All vulnerabilities and corresponding attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities extending beyond the OWASP Top Ten and learn how to prevent them
- Acquire the skills to utilise various security features within the Java development environment
- Develop a practical understanding of cryptography
- Learn to identify typical coding mistakes and understand how to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Access sources and further reading materials on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, developers have access to various programming languages capable of compiling code for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, it is crucial for developers to understand how to apply architectural and coding-level techniques to implement effective security measures, avoid vulnerabilities, and limit potential exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions through numerous hands-on exercises. Participants will learn to protect resources via strong authentication and authorization, manage remote procedure calls, handle sessions, and explore various implementation strategies for specific functionalities.
The course introduces various vulnerabilities by highlighting typical programming errors made when using .NET. The discussion on ASP.NET vulnerabilities covers the impact of different environment settings. Furthermore, the section on ASP.NET-specific vulnerabilities addresses general web application security challenges alongside specialized issues and attack vectors, such as ViewState attacks and string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding principles
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to mitigate them
- Utilise the various security features available in the .NET development environment
- Acquire practical skills in using security testing tools
- Recognise common coding mistakes and understand how to prevent them
- Gain insights into 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 essential skills needed to fortify their applications against modern internet-based threats. The curriculum explores web vulnerabilities through practical PHP examples, extending beyond the OWASP Top Ten to cover a wide range of injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. PHP-specific vulnerabilities are categorised into standard vulnerability types, such as missing or flawed input validation, incorrect error and exception handling, misuse of security features, and time- and state-related problems. For the latter, the course examines attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In every instance, participants will learn the critical techniques and functions required to mitigate these risks.
A significant focus is placed on client-side security, addressing vulnerabilities in JavaScript, Ajax, and HTML5. The course introduces key PHP security extensions, such as hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. Best practices for hardening are discussed in the context of PHP configuration (php.ini), Apache, and general server management. Finally, an overview of various security testing tools and techniques is provided, enabling developers and testers to utilise security scanners, penetration testing, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction to vulnerabilities and the configuration practices are reinforced by a series of hands-on exercises. These demonstrations illustrate the impact of successful attacks, show how to apply mitigation techniques, and guide participants through the use of various extensions and tools.
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
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Learn to utilise various PHP security features
- Identify common coding mistakes and learn how to prevent them
- Stay informed about recent vulnerabilities affecting the PHP framework
- Acquire practical experience in using security testing tools
- Access sources and further reading 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). This course offers a level 100 overview of the fundamental building blocks of the SDL, followed by design techniques to help you detect and fix flaws in the early stages of the development process.
During the development phase, the course provides an overview of typical security-relevant programming bugs found in both managed and native code. Attack methods are presented for the discussed vulnerabilities, along with associated mitigation techniques, all explained through a number of hands-on exercises providing live hacking fun for the participants. The introduction of different security testing methods is followed by demonstrating the effectiveness of various testing tools. Participants can understand the operation of these tools through a number of practical exercises by applying the tools to the already discussed vulnerable code.
Participants attending this course will
Understand basic concepts of security, IT security and secure coding
Get known to the essential steps of Microsoft Secure Development Lifecycle
Learn secure design and development practices
Learn about secure implementation principles
Understand security testing methodology
- Get sources and further readings on secure coding practices
Audience
Developers, Managers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications requires security professionals who are fully equipped with up-to-date knowledge of current attack methods and trends. A wide array of technologies and environments facilitates the comfortable development of web applications. However, practitioners must be aware not only of platform-specific security issues but also of general vulnerabilities that persist regardless of the development tools used.
This course provides an overview of applicable security solutions for web applications, with a special emphasis on understanding essential cryptographic mechanisms. It presents web application vulnerabilities on both the server side (aligned with the OWASP Top Ten) and the client side, demonstrating relevant attacks followed by recommended coding techniques and mitigation strategies to prevent associated issues. The session on secure coding concludes by examining typical security-related programming mistakes, including input validation errors, improper use of security features, and code quality concerns.
Testing plays a pivotal role in ensuring the security and robustness of web applications. Various approaches, ranging from high-level auditing and penetration testing to ethical hacking, can be employed to identify vulnerabilities of different types. However, moving beyond easily discoverable issues requires security testing that is well-planned and properly executed. It is important to remember that while security testers ideally aim to find all bugs to protect a system, an adversary only needs to find one exploitable vulnerability to gain access.
Practical exercises will aid in understanding web application vulnerabilities, programming mistakes, and most importantly, mitigation techniques. Through hands-on trials with various testing tools—including security scanners, sniffers, proxy servers, fuzzing tools, and static source code analyzers—this course delivers essential practical skills applicable immediately in the workplace.
Participants attending this course will
- Comprehend 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
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Acquire practical knowledge in using security testing techniques and tools
- Stay informed about recent vulnerabilities across various platforms, frameworks, and libraries
- Access sources and further reading on secure coding practices
Audience
Developers, Testers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursThe Internet of Things (IoT) offers substantial advantages across various sectors, including industry, energy, utilities, municipalities, healthcare, and for consumers. It enables the collection of vast volumes and detailed insights regarding almost any measurable aspect, such as public health and safety, environmental conditions, industrial and agricultural outputs, and utility usage. New data analysis tools have been fine-tuned to handle the massive datasets 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 multiple vendors, necessitating a strong grasp of both software and hardware integration strategies, as well as an understanding of the security, privacy, and safety risks associated with managing the environments where these systems operate.
IT professionals frequently lack experience with embedded systems, sensor networks, actuators, real-time systems, and other components common to IoT. This course provides a foundational understanding of how these components interact with systems IT professionals typically know well, such as networks, cloud computing, and applications running on servers, desktops, and mobile devices.
Through various case studies and by assembling and configuring an IoT device within a sensor network, students will learn general strategies for planning, designing, developing, implementing, and maintaining an IoT system. 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 wish to learn how to design, develop, implement, operate, and manage Internet of Things devices and related systems. The ideal student is interested in learning more about 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 integral components of the toolkit for numerous organisations. When leveraged effectively, these technologies deliver actionable insights that inform critical decision-making and empower businesses to develop exciting, innovative new products and services. This course demonstrates how to apply diverse approaches and algorithms to address business challenges via AI and ML. It guides you through a methodical workflow for developing robust solutions, utilising open-source and off-the-shelf tools to build, test, and deploy these solutions while ensuring strict adherence to user privacy standards. Practical, hands-on activities are included for each topic area.
Course Objectives: In this course, you will implement AI techniques to resolve business problems. Specifically, you will:
- Define a general approach for solving a given business problem using applied AI and ML.
- Collect and refine a dataset in preparation for training and testing.
- Train and tune a machine learning model.
- Finalise 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 competencies covered in this course integrate three primary areas—software development, applied mathematics and statistics, and business analysis. Ideal candidates may possess strong skills in one or two of these areas and wish to broaden 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 might be a programmer seeking to enhance their skills to apply machine learning algorithms to business problems, or a data analyst who already excels in applying mathematics and statistics to business contexts but wishes to develop technical skills related to machine learning. A typical participant 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 programme is tailored for professionals aiming to demonstrate a vendor-neutral, cross-industry competency that empowers them to design, implement, operate, and/or manage a secure IoT ecosystem.
Target Audience: This course is ideal for IoT practitioners wishing to enhance their expertise in IoT security and privacy. It is also suitable 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 minimise 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.