CYBERSECURE CODER (CSC) Training Course
The importance of software security is paramount. However, many development teams often address software security only after the code has been written and the software is nearly ready for release. Similar to other aspects of software quality, ensuring a successful implementation requires the management of security and privacy concerns throughout the entire software development process.
This course introduces an approach to manage security and privacy concerns throughout the complete software development lifecycle. Participants will gain insights into vulnerabilities that can compromise security and learn how to identify and mitigate them in their 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 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 applications. It aims to enhance their ability to produce high-quality software with a special focus on security and privacy aspects.
Objectives:
Throughout this course, participants will employ best practices in software development to create software with robust security measures for government and other critical sectors.
Participants will:
- Recognize the importance of security in their software projects.
- Eliminate vulnerabilities within the software.
- Adopt a Security by Design methodology to build a secure foundation for their software.
- Implement standard safeguards to protect user and data security.
- Use various testing methods to identify and correct security flaws in their software.
- Maintain the security of deployed software to ensure 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: Discover Vulnerabilities in Your Software
Topic D: Gather Intelligence on Vulnerabilities and Exploits
Lesson 2: Managing Vulnerabilities
Topic A: Address Vulnerabilities Due to Software Defects and Misconfiguration
Topic B: Address Vulnerabilities Due to Human Factors
Topic C: Address Vulnerabilities Due to Process Shortcomings
Lesson 3: Designing for Security
Topic A: Apply General Principles of Secure Design
Topic B: Design Software to Mitigate Specific Threats
Lesson 4: Developing Secure Code
Topic A: Adhere to 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: Secure Sensitive Data and Functions
Topic E: Secure Database Access
Lesson 6: Testing Software Security
Topic A: Conduct Security Testing
Topic B: Analyze Code to Identify Security Issues
Topic C: Utilize Automated Testing Tools to Detect Security Issues
Lesson 7: Maintaining Security in Deployed Software
Topic A: Monitor and Log Applications to Enhance Security
Topic B: Sustain Security Post-Deployment
Appendix A: Mapping Course Content to Cyber Secure Coder (Exam CSC-110)
Requirements
Runs with a minimum of 4 + people. For 1-to-1 or private group training, request a quote.
CYBERSECURE CODER (CSC) Training Course - Booking
CYBERSECURE CODER (CSC) Training Course - Enquiry
CYBERSECURE CODER (CSC) - Consultancy Enquiry
Consultancy Enquiry
Testimonials (5)
General course information
Paulo Gouveia - EID
Course - C/C++ Secure Coding
Nothing it was perfect.
Zola Madolo - Vodacom
Course - Android Security
Trainer willing to answer questions and give bunch of examples for us to learn.
Eldrick Ricamara - Human Edge Software Philippines, Inc. (part of Tribal Group)
Course - Security Testing
It opens up a lot and gives lots of insight what security
Nolbabalo Tshotsho - Vodacom SA
Course - Advanced Java Security
I was benefit from the exercises (SQL injection, XSS, CRSF. .).
David Lemoine - Statistical Solutions
Course - .NET, C# and ASP.NET Security Development
Upcoming Courses
Related Courses
CERTIFIED ETHICAL EMERGING TECHNOLOGIST (CEET)
21 HoursCyberSec First Responder
35 HoursAndroid Security
14 HoursAndroid is an open platform for mobile devices, including handsets and tablets. It offers a wide array of security features designed to facilitate the development of secure software; however, it also lacks certain security aspects found in other handheld platforms. This course provides a comprehensive overview of these features, highlighting critical shortcomings related to the underlying Linux system, file management, the general environment, and the use of permissions and other Android software development components.
The course addresses typical security pitfalls and vulnerabilities for both native code and Java applications, offering recommendations and best practices to avoid and mitigate these issues. Many discussions are supported with real-life examples and case studies. Additionally, the course includes a brief overview of how to use security testing tools to identify any programming bugs that could impact security.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding for government applications
- Learn about the security solutions available on the Android platform
- Gain proficiency in using various security features of the Android platform
- Receive information on recent vulnerabilities in Java on Android
- Understand typical coding mistakes and how to avoid them
- Acquire knowledge about native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Comprehend architectural protection techniques and their limitations
- Access sources and further readings on secure coding practices
Audience
This course is designed for professionals in the public sector who require a deep understanding of Android security to enhance the development and maintenance of secure mobile applications for government use.
C/C++ Secure Coding
21 HoursAdvanced Java Security
21 HoursEven experienced Java programmers may not fully master all the security services provided by Java, nor are they always aware of the vulnerabilities relevant to web applications written in this language.
This course introduces the security components of Standard Java Edition and delves into the security issues of Java Enterprise Edition (JEE) and web services. Before discussing specific services, the course covers the fundamentals of cryptography and secure communication. Various exercises focus on declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Practical exercises allow participants to use the discussed APIs and tools firsthand.
The course also examines the most frequent and severe programming flaws in the Java language and platform, along with web-related vulnerabilities. It covers both language-specific issues and problems arising from the runtime environment. Each vulnerability and associated attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding for government applications
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Understand the security principles of web services
- Learn to utilize various security features in the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions offered by Java EE
- Learn about common coding mistakes and how to avoid them
- Receive information on recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
Standard Java Security
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, such as C/C++. However, software developers and architects should not only know how to use the various security features of the Java environment (positive security), but also be aware of the numerous vulnerabilities that are still relevant for Java development (negative security).
The introduction of security services is preceded by a brief overview of the foundations of cryptography, providing a common baseline for understanding the purpose and 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.
This course also covers the most frequent and severe programming flaws of the Java language and platform, including both typical bugs committed by Java programmers and language- and environment-specific issues. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and possible mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding for government
- Learn Web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Learn to use various security features of the Java development environment
- Gain a practical understanding of cryptography
- Learn about typical coding mistakes and how to avoid them
- Receive information on recent vulnerabilities in the Java framework
- Obtain sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursSecure coding in PHP
21 HoursMicrosoft SDL Core
14 HoursThe Combined SDL Core Training provides an in-depth understanding of secure software design, development, and testing through the Microsoft Secure Development Lifecycle (SDL). It offers a foundational overview of the key components of SDL, followed by practical techniques for identifying and addressing security flaws early in the development process.
During the development phase, the course covers common security-related programming bugs in both managed and native code. It presents various attack methods associated with these vulnerabilities along with effective mitigation strategies. These concepts are reinforced through hands-on exercises that offer participants a practical understanding of live hacking techniques. The training also introduces different security testing methodologies and demonstrates the effectiveness of various testing tools, allowing participants to apply these tools to previously discussed vulnerable code.
Participants attending this course will
Understand basic concepts of security, IT security, and secure coding for government.
Gain knowledge of the essential steps in the Microsoft Secure Development Lifecycle.
Learn secure design and development practices.
Understand secure implementation principles.
Grasp security testing methodologies.
- Access sources and further readings on secure coding practices.
Audience
Developers, Managers
Security Testing
14 HoursAfter gaining familiarity with vulnerabilities and attack methods, participants will learn about the general approach and methodology for security testing, along with techniques that can be applied to uncover specific vulnerabilities. Security testing should begin with information gathering about the system (ToC, i.e., Target of Evaluation), followed by a thorough threat modeling process to identify and rate all threats, culminating in a risk analysis-driven test plan.
Security evaluations can occur at various stages of the Software Development Life Cycle (SDLC). Therefore, we discuss design reviews, code reviews, reconnaissance and information gathering about the system, testing the implementation, and securing the environment for deployment. The course introduces numerous security testing techniques in detail, such as taint analysis, heuristic-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. Various types of tools are presented to automate the security evaluation of software products, supported by exercises where these tools are used to analyze previously discussed vulnerable code. Real-life case studies enhance understanding of various vulnerabilities.
This course equips testers and quality assurance (QA) staff with the necessary skills to effectively plan and execute security tests, select and use appropriate tools and techniques to identify even hidden security flaws, providing essential practical skills that can be applied immediately in their work for government.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about Web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Learn client-side vulnerabilities and secure coding practices
- Understand security testing approaches and methodologies
- Gain practical knowledge in using security testing techniques and tools
- Access sources and further readings on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web applications requires well-prepared security professionals who are continuously aware of current attack methods and trends. A variety of technologies and environments exist that facilitate the development of web applications. It is essential to be knowledgeable about both platform-specific security issues and general vulnerabilities that apply regardless of the development tools used.
This course provides an overview of applicable security solutions in web applications, with a special focus on understanding the most important cryptographic solutions to be applied. The various web application vulnerabilities are presented from both the server side (following the OWASP Top Ten) and the client side, demonstrated through relevant attacks. The course also covers recommended coding techniques and mitigation methods to avoid these issues. The subject of secure coding is concluded by discussing typical security-related programming mistakes in input validation, improper use of security features, and code quality.
Testing plays a crucial role in ensuring the security and robustness of web applications. Various approaches—from high-level auditing through penetration testing to ethical hacking—can be applied to identify different types of vulnerabilities. However, if you want to go beyond easily identifiable issues, security testing should be well planned and properly executed. It is important to remember that security testers should ideally find all bugs to protect a system, while adversaries need only find one exploitable vulnerability to penetrate it.
Practical exercises will help participants understand web application vulnerabilities, programming mistakes, and most importantly, the mitigation techniques. Hands-on trials of various testing tools—from security scanners through sniffers, proxy servers, fuzzing tools to static source code analyzers—will provide essential practical skills that can be applied immediately in the workplace for government.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond OWASP Top Ten and how to avoid them
- Learn client-side vulnerabilities and secure coding practices
- Have a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Gain practical knowledge in using security testing techniques and tools
- Be informed about recent vulnerabilities in various platforms, frameworks, and libraries
- Receive sources and further readings on secure coding practices
Audience
Developers, Testers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursCertified Artificial Intelligence (AI) Practitioner
35 HoursArtificial intelligence (AI) and machine learning (ML) have become essential tools for many organizations. When used effectively, these technologies provide actionable insights that drive critical decisions and enable the creation of innovative products and services. This course demonstrates how to apply various approaches and algorithms to solve business problems through AI and ML, follow a methodical workflow to develop sound solutions, use open-source, off-the-shelf tools to develop, test, and deploy those solutions, and ensure the protection of user privacy. The course includes hands-on activities for each topic area.
Course Objectives: In this course, you will implement AI techniques to solve business problems. You will:
- Specify a general approach to address a given business problem using applied AI and ML.
- Collect and refine a dataset to prepare it for training and testing.
- Train and tune a machine learning model.
- Finalize a machine learning model and present the results to the appropriate audience.
- Build linear regression models.
- Build classification models.
- Build clustering models.
- Build decision trees and random forests.
- Build support-vector machines (SVMs).
- Build artificial neural networks (ANNs).
- Promote data privacy and ethical practices within AI and ML projects.
Target Student: The skills covered in this course intersect three areas—software development, applied mathematics and statistics, and business analysis. This course is designed for individuals who are strong in one or two of these areas and are looking to enhance their skills in the others, so they can effectively apply artificial intelligence (AI) systems, particularly machine learning models, to business problems.
The target student may be a programmer aiming to develop additional skills to apply machine learning algorithms to business challenges, or a data analyst with strong skills in applying mathematics and statistics to business problems who is looking to expand their technology skills related to machine learning. A typical student in this course should have several years of experience with computing technology, including some proficiency 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.
These skills are particularly valuable for government professionals looking to enhance their ability to solve complex problems and improve public sector workflows, governance, and accountability through AI and ML.
Certified Internet of Things Security Practitioner (CIoTSP™)
21 HoursCertNexus CyberSAFE
7 HoursObjectives:
In this course, you will identify many of the common risks involved in using conventional end-user technology and learn ways to use it safely to protect yourself from those risks.
You will:
- Identify security compliance measures for government.
- Address social engineering attempts effectively.
- Secure various devices, including desktops, laptops, tablets, and smartphones.
- Use the Internet securely to mitigate potential threats.
Target Student:
This course is designed for non-technical end users of computers, mobile devices, networks, and the Internet. It aims to enable you to use technology more securely to minimize digital risks. Additionally, this course prepares you to earn the Certified CyberSAFE credential. You can obtain your Certified CyberSAFE certificate by completing the credential process on the CHOICE platform following the course presentation.