CYBERSECURE CODER (CSC) Training Course
Software security is of critical importance. Yet, many development teams often prioritize addressing security concerns only after the code has been finalized and the software is nearly ready for release. Just as with any other dimension of software quality, achieving successful outcomes requires managing security and privacy issues throughout the entire software development lifecycle.
This course introduces an approach to managing 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
Related Courses
ABAP Secure code
14 HoursUpon completion of this training, participants will be capable of:
- Articulating the concepts of application security and common vulnerabilities
- Outlining ABAP programming best practices and the management of SY-SUBRC
- Gaining insight into injection-related vulnerabilities
- Describing security testing utilities
- Explaining the functions of ATC and CVA
Course Format
- Interactive lectures accompanied by discussions.
- Ample opportunities for exercises and practical application.
- Hands-on implementation within a live-lab environment.
Applications Security Foundation
21 HoursThis course addresses the fundamental secure coding practices essential for a wide array of web application developers. It equips students with secure programming principles by examining specific code snippets, identifying vulnerabilities, and implementing effective remediation strategies.
Participants will observe demonstrations of real-world attacks and learn how to mitigate them, thereby building confidence in enhancing the security posture of their applications.
Duration: 3 days
Target Audience: Developers seeking to expand their expertise in secure coding.
Learning Outcomes
• Upon completion, students will gain proficiency in:
• Web Application Security.
• Common Web Application Risks.
• Demo Web Application Penetration Testing.
• Data Validation.
• Authentication.
• Session Management.
• Secure SDLC.
CERTIFIED ETHICAL EMERGING TECHNOLOGIST (CEET)
21 HoursBreakthroughs in computing and engineering are propelling technological advancement, spanning from blockchain and artificial intelligence to gene editing and the Internet of Things. These innovations present significant opportunities for enhancing productivity and improving 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 associated with emerging data-driven technologies, integrating theoretical foundations, regulatory frameworks, and industry best practices. Participants will develop the capabilities needed to navigate ethical dilemmas within their professional roles and organizations.
CyberSec First Responder
35 HoursThis course explores network defense 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 ideal for candidates tasked with monitoring and detecting security incidents in information systems and networks, and executing standardized responses. The course introduces tools, tactics, and procedures to manage cybersecurity risks, identify common threats, evaluate organizational security, collect and analyze cybersecurity intelligence, and remediate and report incidents as they occur. This course provides a comprehensive methodology for individuals responsible for defending the cybersecurity of their organization.
This course is designed to assist students in preparing for the CertNexus CyberSec First Responder (Exam CFR-310) certification examination. The knowledge and practice gained in this course can significantly aid in preparation. Additionally, this course and subsequent certification (CFR-310) meet all requirements for personnel requiring DoD directive 8570.01-M position certification baselines:
• CSSP Analyst
• CSSP Infrastructure Support
• CSSP Incident Responder
• CSSP Auditor
Course Objectives: In this course, you will understand, assess, and respond to security threats and operate a system and network security analysis platform. You will:
• 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 use data to prepare for incidents
• Explain the purpose and characteristics of various data sources
• Given a scenario, use appropriate tools to analyze logs
• Given a scenario, use regular expressions to parse log files and locate 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 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 designed primarily 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 mission or strategic objectives require the execution of Defensive Cyber Operations (DCO) or DoD Information Network (DODIN) operation and incident handling. This course focuses on the knowledge, ability, and skills necessary to provide for the defense of those information systems in a cybersecurity context, including protection, detection, analysis, investigation, and response processes.
In addition, the course ensures that all members of an IT team—regardless of size, rank, or budget—understand their role in the cyber defense, incident response, and incident handling process.
Network Security and Secure Communication
21 HoursBuilding a secure networked application can be challenging, even for developers who have prior experience with cryptographic building blocks like encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, this course first establishes a solid foundation on the core requirements of secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common threats that compromise these requirements alongside practical, real-world solutions.
Since cryptography is a critical component of network security, the course covers essential cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theories, these concepts are explored from a developer's perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. The course also introduces security protocols used across various domains of secure communication, with a detailed examination of widely adopted protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are discussed in relation to specific algorithms and protocols, including BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and the RSA timing attack. For each issue, practical implications and potential consequences are outlined, avoiding deep mathematical derivations.
Finally, given that XML technology is central to data exchange for networked applications, the course addresses XML security. This includes the use of XML in web services and SOAP messages, along with protective measures such as XML Signature and XML Encryption. It also covers weaknesses in these protections and XML-specific security issues, including 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 HoursOver the course of three days, this program introduces the fundamental practices for protecting C and C++ code from malicious exploitation. It addresses common vulnerabilities arising from memory management and input handling, while also emphasizing the core principles of writing secure software.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the diverse security services provided by Java, nor are they always aware of the various vulnerabilities that impact web applications built with Java.
In addition to introducing the security components of Standard Java Edition, this course addresses security concerns within Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamentals of cryptography and secure communication. Participants will explore declarative and programmatic security techniques in JEE through various exercises, while also examining both transport-layer and end-to-end security for web services. Practical exercises allow participants to apply these APIs and tools, providing hands-on experience with all discussed components.
The course also covers and explains the most common and severe programming flaws associated with the Java language and platform, as well as web-related vulnerabilities. Beyond typical bugs committed by Java developers, the security vulnerabilities addressed include both language-specific issues and problems arising from the runtime environment. All vulnerabilities and corresponding attacks are demonstrated through clear, understandable exercises, followed by recommended coding guidelines and potential mitigation strategies.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Understand the security concepts of web services
- Learn to utilize various security features within the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions offered by Java EE
- Learn about typical coding mistakes and how to prevent them
- Gain information on recent vulnerabilities in 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
Although the Java language and the Java Runtime Environment (JRE) were engineered to minimize the common security vulnerabilities often found in other languages like C/C++, developers and architects must do more than just leverage the environment's positive security features. They must also recognize the persistent 'negative security' vulnerabilities that remain relevant to Java development.
This course begins with a concise overview of cryptographic foundations, establishing a common baseline for understanding the purpose and operation of applicable security components. Participants will then apply these concepts through practical exercises, allowing them to experiment with the discussed APIs firsthand.
Additionally, the curriculum examines the most frequent and severe programming flaws inherent to the Java language and platform. This includes addressing typical mistakes made by Java programmers as well as issues specific to the language and environment. All vulnerabilities and associated attack vectors are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and effective mitigation techniques.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security, and secure coding principles
- Identify Web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Master the use of various security features within the Java development environment
- Develop a practical understanding of cryptography
- Recognize common coding mistakes and learn strategies to avoid them
- Stay informed about recent vulnerabilities in the Java framework
- Access sources and further reading materials on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, a variety of programming languages can be used to compile code for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, developers must understand how to apply architecture-level and code-level programming techniques to implement the required security functionality, avoid vulnerabilities, and limit their potential exploitation.
This course aims to equip developers with practical skills through numerous hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, secure resources via strong authentication and authorization, manage remote procedure calls, handle sessions effectively, and explore various implementations for specific functionalities.
The course introduces various vulnerabilities by highlighting typical programming errors made when using .NET. It also examines ASP.NET vulnerabilities in the context of different environment settings and their impact. Furthermore, the topic of ASP.NET-specific vulnerabilities covers general web application security challenges as well as specialized issues and attack methods, such as ViewState attacks and string termination attacks.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Master the use of various security features within the .NET development environment
- Gain practical knowledge on using security testing tools
- Identify typical coding mistakes and learn how to prevent them
- Stay informed about recent vulnerabilities in .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 build applications that are resilient against modern internet-based attacks. The curriculum explores web vulnerabilities using practical PHP examples that extend beyond the OWASP Top Ten, addressing a wide range of issues such as various injection attacks, script injections, session handling weaknesses in PHP, insecure direct object references, file upload problems, and more. PHP-specific vulnerabilities are categorized into standard vulnerability types, including missing or inadequate input validation, improper error and exception handling, misuse of security features, and time- and state-related issues. For the latter category, we examine attacks such as open_basedir circumvention, denial-of-service via magic float manipulation, and hash table collision attacks. In every scenario, participants will learn the critical techniques and functions required to mitigate these risks.
A significant emphasis is placed on client-side security, tackling security concerns related to JavaScript, Ajax, and HTML5. The course introduces several PHP security extensions, such as hash, mcrypt, and OpenSSL for cryptographic purposes, as well as Ctype, ext/filter, and HTML Purifier for robust input validation. Best practices for hardening are discussed in the context of PHP configuration (specifically php.ini), Apache, and server-level settings in general. Furthermore, the course provides an overview of various security testing tools and techniques available to developers and testers, including security scanners, penetration testing methods, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerability concepts and configuration practices are reinforced through numerous hands-on exercises. These demonstrations illustrate the consequences of successful attacks, show how to apply mitigation strategies, and guide participants in using various extensions and tools effectively.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities that extend beyond the OWASP Top Ten and learn how to prevent them
- Acquire knowledge of client-side vulnerabilities and secure coding standards
- Develop a practical understanding of cryptography
- Learn to utilize various built-in security features of PHP
- Identify typical coding mistakes and understand how to avoid them
- Stay informed about recent vulnerabilities within the PHP framework
- Gain practical experience in using security testing tools
- Access resources and further readings on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis comprehensive SDL core training offers an in-depth look at secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It presents a foundational Level 100 overview of SDL's essential components, 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. Attack vectors associated with these vulnerabilities are discussed alongside mitigation techniques, all illustrated through practical, hands-on exercises that engage participants in live hacking scenarios. The training introduces various security testing methods and demonstrates the effectiveness of different testing tools. Participants gain a clear understanding of how these tools operate by applying them to previously discussed vulnerable code through practical exercises.
By the end of this course, participants will be able to
Comprehend fundamental concepts of security, IT security, and secure coding
Familiarize themselves with the key steps of the Microsoft Secure Development Lifecycle
Acquire knowledge of secure design and development practices
Understand principles of secure implementation
Grasp the methodology of security testing
- Access resources and further reading materials on secure coding practices
Target Audience
Developers, Managers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursThe Internet of Things (IoT) offers substantial advantages for industries, energy and utility sectors, municipal bodies, healthcare providers, and end consumers. It enables the collection of vast amounts of detailed data on nearly any measurable factor, including public health and safety, environmental conditions, industrial and agricultural output, energy usage, and utility management. Advanced data analysis tools, now optimized for the massive volumes of data generated by IoT, facilitate rapid and informed decision-making.
However, deploying IoT systems can be complex and carries significant risks. Solutions often involve devices and technologies from various vendors, necessitating a solid understanding of both hardware and software integration strategies, as well as an awareness of security, privacy, and safety risks associated with managing the environments where people work and live.
IT professionals frequently lack experience with embedded systems, sensor networks, actuators, real-time systems, and other IoT components. This course provides a foundational understanding of how these elements interact with systems more familiar to IT professionals, such as networks, cloud computing platforms, and applications running on servers, desktops, and mobile devices.
Through various 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 IoT systems. Participants will build an IoT device using an ESP8266 microcontroller, implementing key 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 challenges. You will:
• Plan an IoT implementation.
• Construct and program an IoT device.
• Communicate with an IoT device via wired and wireless connections.
• Process sensor input and control actuators on an IoT device.
• Manage security, privacy, and safety risks in IoT projects.
• Oversee an IoT prototyping and development project throughout its 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 those interested in gaining deeper knowledge of embedded systems, microcontroller programming, IoT security, and the IoT project development lifecycle.
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 or programming is not required. This course prepares students for the CertNexus Certified Internet of Things (IoT) Practitioner certification exam (Exam ITP-110).
Certified Artificial Intelligence (AI) Practitioner
35 HoursArtificial intelligence (AI) and machine learning (ML) have become indispensable tools for many organizations. When utilized effectively, these technologies provide actionable insights that drive critical decisions and enable the creation of exciting, innovative new products and services. This course demonstrates how to apply various approaches and algorithms to solve business problems using AI and ML, follow a systematic workflow to develop robust solutions, leverage open-source and off-the-shelf tools to build, test, and deploy those solutions, and ensure user privacy is protected. Each topic area includes hands-on activities.
Course Objectives: By the end of this course, you will be able to implement AI techniques to solve business problems. You will:
- Define a general approach to address a specific business problem using applied AI and ML.
- Collect and refine datasets to prepare them for training and testing.
- Train and tune machine learning models.
- Finalize a machine learning model and present results to the relevant stakeholders.
- Develop linear regression models.
- Develop classification models.
- Develop clustering models.
- Develop decision trees and random forests.
- Develop support-vector machines (SVMs).
- Develop artificial neural networks (ANNs).
- Promote data privacy and ethical practices within AI and ML projects.
Target Audience: The skills covered in this course converge on three areas—software development, applied math and statistics, and business analysis. Ideal students may be strong in one or two of these areas and seek to expand their skills in the others, enabling them to apply artificial intelligence (AI) systems, particularly machine learning models, to business problems.
Consequently, 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 possesses strong skills in applying math and statistics to business problems but aims to develop technology skills related to machine learning. A typical student 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 skill set that empowers them to design, implement, operate, and manage a secure IoT ecosystem.
Target Audience: This course is ideal for IoT practitioners looking to enhance their skills and knowledge of IoT security and privacy. It is also designed for individuals seeking the CertNexus Certified Internet of Things Security Practitioner (CIoTSP) certification and preparing for Exam ITS-110.
CertNexus CyberSAFE
7 HoursCourse Objectives:
In this course, you will identify common risks associated with using standard end-user technology and learn strategies to use it safely, thereby protecting yourself from those risks.
You will be able to:
- Identify security compliance measures.
- Address social engineering attempts.
- Secure devices such as desktops, laptops, tablets, smartphones, and more.
- Use the Internet securely.
Target Audience
This course is tailored for non-technical end users of computers, mobile devices, networks, and the Internet. It aims to enable you to utilize technology more securely, minimizing digital risks.
Additionally, this course prepares you for the Certified CyberSAFE credential. Upon completing the course presentation, you can obtain your Certified CyberSAFE certificate by completing the credential process on the CHOICE platform.