CYBERSECURE CODER (CSC) Training Course
The importance of software security cannot be overstated. Nevertheless, numerous development teams often only focus on software security once the coding phase is complete and the product is nearly ready for release. Similar to other aspects of software quality, effectively managing security and privacy concerns must be integrated throughout every stage of the software development process.
This course presents a method for addressing security and privacy issues across the entire software development lifecycle. You will learn about potential vulnerabilities that can jeopardize security and how to identify and mitigate them in your projects. The curriculum includes general strategies for tackling security flaws and misconfigurations, techniques for designing software with human factors in mind, and methods for embedding security at every stage of development.
Target Audience
This course is designed for professionals such as software developers, testers, and architects who are engaged in developing software across various programming languages and platforms including desktop, web, cloud, and mobile environments. It aims to improve their ability to produce high-quality software with a strong emphasis on security and privacy.
Objectives:
Throughout this course, you will apply advanced techniques in software development to build applications with robust security features.
You will:
- Understand the critical need for security in your software projects.
- Eliminate vulnerabilities within the software.
- Adopt a Security by Design approach to establish a secure foundation for your software.
- Incorporate standard protections to safeguard user and data security.
- Use various testing methods to detect and fix security issues 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 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?
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:
- Elaborate on application security and vulnerabilities
- Detail best practices for ABAP programming and the management of SY-SUBRC
- Grasp the concept of injection vulnerabilities
- Outline various security testing tools
- Delineate ATC and CVA
Course Structure
- Engaging lectures and discussions.
- Extensive exercises and practical sessions.
- Practical implementation in a live-lab setting.
Applications Security Foundation
21 HoursThis course delves into the critical aspects of secure coding that are pertinent to numerous web application developers. It will impart students with fundamental concepts of secure programming, including analyzing specific code segments, pinpointing security vulnerabilities, and applying corrective measures.
Throughout this course, you will observe demonstrations of actual attacks and learn effective prevention strategies, thereby boosting your confidence in enhancing the security of your applications.
Duration: 3 days
Target Audience: Developers aiming to expand their expertise in secure coding.
Learning Outcomes
• Students will acquire knowledge in:
• Web Application Security.
• Common Risks in Web Applications.
• Demonstrations of Web Application Penetration Testing.
• Data Validation Techniques.
• Authentication Practices.
• Session Management Strategies.
• Secure Software Development Lifecycle (SDLC).
CERTIFIED ETHICAL EMERGING TECHNOLOGIST (CEET)
21 HoursAdvances in computing and engineering are driving technological progress, from blockchain and AI to gene editing and IoT, offering opportunities for productivity and human well-being. Yet, these innovations also bring new risks, as recent scandals highlight. Technology professionals face increasing pressure to address ethical concerns, balancing privacy, accuracy, fairness, and safety. This course provides practical tools to manage ethical risks in emerging data-driven technologies, drawing from theory, regulations, and industry practices. Learners will gain skills to navigate ethical dilemmas in their roles and organizations.
CyberSec First Responder
35 HoursThis course delves into network defense and incident response strategies, aligning 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 particularly suited for individuals tasked with monitoring and detecting security incidents in information systems and networks, as well as executing standardized responses to these incidents. The course introduces tools, tactics, and procedures aimed at managing cybersecurity risks, identifying common threats, evaluating organizational security, collecting and analyzing cybersecurity intelligence, and addressing and reporting incidents as they arise. This comprehensive approach is designed for those responsible for safeguarding the cybersecurity of their organization.
This course is tailored to help students prepare for the CertNexus CyberSec First Responder (Exam CFR-310) certification examination. The knowledge and practical skills gained in this course can significantly contribute to your exam preparation. Additionally, this course and subsequent certification (CFR-310) meet 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: In this course, you will gain an understanding of security threats and operate a system and network security analysis platform. You will:
• Differentiate between various threats and categorize threat profiles
• Understand the purpose and application of attack tools and techniques
• Explain the use and function of post-exploitation tools and tactics
• Describe the purpose and methods of social engineering tactics
• In a given scenario, conduct ongoing threat landscape research and utilize data to prepare for incidents
• Understand the purpose and characteristics of various data sources
• In a given scenario, use appropriate tools to analyze logs
• In a given scenario, employ regular expressions to parse log files and extract relevant information
• In a given scenario, utilize Windows tools for incident analysis
• In a given scenario, leverage Linux-based tools for incident analysis
• Summarize the methods and tools used in malware analysis
• In a given scenario, analyze common indicators of potential compromise
• Understand the importance of best practices in preparing for incident response
• In a given scenario, execute the incident response process
• Explain key concepts unique to forensic analysis
• Outline general mitigation methods and devices
Target Audience: This course is primarily designed for cybersecurity professionals preparing for or currently performing roles related to protecting information systems by ensuring their availability, integrity, authentication, confidentiality, and non-repudiation. It is ideal for positions within federal contracting companies and private sector firms where 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, skills, and abilities necessary to defend information systems in a cybersecurity context, including protection, detection, analysis, investigation, and response processes.
Furthermore, this course ensures that all IT team members—regardless of size, rank, or budget—understand their role in cyber defense, incident response, and handling procedures.
Android Security
14 HoursAndroid serves as an open platform for mobile devices, including smartphones and tablets. It offers a wide range of security features to facilitate the development of secure software; however, it lacks certain security elements present in other handheld platforms. This course provides a comprehensive overview of these features while highlighting critical shortcomings related to the underlying Linux system, file system, and overall environment, as well as issues concerning permissions and other Android software development components.
Common security pitfalls and vulnerabilities are discussed for both native code and Java applications, along with recommendations and best practices to prevent and mitigate them. Real-life examples and case studies support many of the issues covered. Lastly, an overview is provided on using security testing tools to identify any programming bugs that could compromise security.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Familiarize themselves with Android's security solutions
- Master the use of various security features on the Android platform
- Become informed about recent vulnerabilities in Java applications on Android
- Learn about typical coding errors and how to avoid them
- Gain insight into native code vulnerabilities on Android
- Recognize the serious consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their limitations
- Receive resources and additional readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursCreating a secure networked application can be challenging, even for developers familiar with cryptographic components like encryption and digital signatures. To help participants grasp the role and application of these cryptographic elements, we first establish a strong foundation in the key requirements for secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. We also highlight common issues that could compromise these requirements and present practical solutions.
Given that cryptography is crucial to network security, this course covers essential cryptographic algorithms in symmetric encryption, hashing, asymmetric cryptography, and key agreement from a developer's perspective. Rather than delving into complex mathematics, we focus on real-world use cases and practical considerations such as public key infrastructures. We also introduce various security protocols used in secure communication and provide an in-depth look at widely-used protocol families like IPSEC and SSL/TLS.
We discuss common vulnerabilities associated with specific cryptographic algorithms and protocols, including BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and the RSA timing attack. For each vulnerability, we explain practical implications and potential outcomes without overwhelming mathematical details.
Since XML technology is pivotal for data exchange in networked applications, this course also covers its security aspects. This includes using XML within web services and SOAP messages, along with protective measures such as XML signature and encryption. We also address weaknesses in these protections and specific XML-related security issues like XML injection, XXE attacks, XML bombs, and XPath injection.
Participants attending this course will
- Gain an understanding of fundamental security concepts, IT security, and secure coding practices
- Learn the requirements for secure communication
- Acquire knowledge about network attacks and defenses across different OSI layers
- Develop a practical grasp of cryptography
- Understand key security protocols
- Be informed about recent attacks on cryptosystems
- Receive insights into recent vulnerabilities
- Comprehend the security aspects of Web services
- Access resources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course delves into the fundamentals of safeguarding C/C++ code from malicious users who could exploit various vulnerabilities related to memory management and input handling. It also emphasizes the principles of developing secure code.
Advanced Java Security
21 HoursEven seasoned Java developers may not fully grasp the diverse security features provided by Java, nor are they always informed about the various vulnerabilities pertinent to web applications developed in Java.
This course – while introducing the security aspects of Standard Java Edition – also addresses the security concerns related to Java Enterprise Edition (JEE) and web services. It begins with an overview of cryptography and secure communication before delving into specific security services. Exercises focus on both declarative and programmatic security methods in JEE, as well as transport-layer and end-to-end security for web services. Participants will engage in practical exercises to explore the discussed APIs and tools firsthand.
The course also examines and elucidates common and critical programming errors associated with the Java language and platform, along with web-related vulnerabilities. It covers both typical mistakes made by Java developers and broader issues related to the runtime environment. Each vulnerability and its corresponding attacks are illustrated through straightforward exercises, followed by recommended coding practices and mitigation strategies.
Participants in this course will
- Gain a foundational understanding of security principles, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten list and how to prevent them
- Acquire knowledge on the security aspects of Web services
- Master various security features within the Java development environment
- Develop a practical understanding of cryptography
- Understand security solutions in Java EE
- Be informed about typical coding errors and how to avoid them
- Stay updated on recent vulnerabilities in the Java framework
- Aquire hands-on experience with security testing tools
- Receive resources for further reading on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java language and its Runtime Environment (JRE) were crafted to avoid the most common security issues found in other languages, such as C/C++. However, software developers and architects must not only be proficient with the various security features of the Java environment (positive security), but also be knowledgeable about the vulnerabilities that still affect Java development (negative security).
Before delving into security services, a brief overview of cryptography fundamentals is provided to establish a common understanding of the purpose and operation of relevant components. Participants will have hands-on experience with these components through several practical exercises where they can test out the discussed APIs.
The course also examines and explains the most frequent and serious programming flaws in Java language and platform, covering both typical errors made by Java programmers and issues specific to the language and environment. All vulnerabilities and related attacks are demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Acquire knowledge of Web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Master the use of various security features in the Java development environment
- Gain practical insights into cryptography
- Be informed about common coding mistakes and how to avoid them
- Stay updated on recent vulnerabilities within the Java framework
- Receive resources and additional readings for secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursIn the modern programming landscape, several languages can compile code to the .NET and ASP.NET frameworks. While these environments offer robust security features, developers must be adept at applying both architectural and coding techniques to effectively implement security measures and mitigate vulnerabilities.
This course is designed to equip developers with practical skills through extensive hands-on exercises. Participants will learn how to prevent unauthorized actions by untrusted code, safeguard resources via strong authentication and authorization mechanisms, facilitate remote procedure calls, manage sessions, explore various implementations for specific functionalities, and much more.
The curriculum begins by highlighting common programming errors encountered when working with .NET, followed by an in-depth look at ASP.NET vulnerabilities. This includes discussions on environmental settings and their implications, as well as unique security challenges such as attacks targeting ViewState or string termination issues.
Participants of this course will
- Grasp fundamental principles of IT security and secure coding practices
- Identify Web vulnerabilities beyond the OWASP Top Ten list and learn to prevent them
- Familiarize themselves with various security features within the .NET development environment
- Acquire practical experience in using security testing tools
- Recognize typical coding errors and strategies for avoiding them
- Stay informed about recent vulnerabilities in .NET and ASP.NET
- Access resources and additional readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to fundamental security concepts, offers a broad overview of vulnerabilities irrespective of the programming languages or platforms used, and elucidates how to manage risks related to software security throughout the different stages of the software development lifecycle. By avoiding in-depth technical specifics, it emphasizes some of the most intriguing and critical vulnerabilities across various software development technologies, and discusses the challenges associated with security testing along with techniques and tools that can be utilized to identify existing issues within code.
Participants completing this course will
- Grasp foundational principles of security, IT security, and secure coding practices
- Comprehend web vulnerabilities on both the server and client sides
- Acknowledge the serious repercussions of insecure buffer handling
- Be informed about recent vulnerabilities in development environments and frameworks
- Acquire knowledge of common coding errors and strategies to prevent them
- Understand various security testing approaches and methodologies
Audience
Managers
Certified Internet of Things Practitioner (CIoTP™)
21 HoursThe Internet of Things (IoT) offers numerous advantages to various sectors including industry, energy, utilities, municipalities, healthcare, and consumers. It enables the collection of vast amounts of detailed data on critical areas such as public health and safety, environmental conditions, industrial and agricultural output, energy usage, and utility management. Advanced data analysis tools have been tailored for handling the extensive datasets generated by IoT, facilitating prompt and well-informed decision-making.
However, implementing IoT systems can be complex and risky. Solutions often involve devices and technologies from multiple vendors, necessitating a thorough understanding of both software and hardware integration strategies, along with an awareness of security, privacy, and safety risks associated with managing working and living environments through these systems.
IT professionals frequently lack experience in embedded systems, sensor networks, actuators, real-time systems, and other components typical to IoT. This course aims to provide a foundational understanding of how these components interact with more familiar IT systems such as networking, cloud computing, and applications running on servers, desktops, and mobile devices.
Throughout this course, students will explore strategies for planning, designing, developing, implementing, and maintaining an IoT system through various case studies. They will also assemble and configure an IoT device to function within a sensor network. Specifically, they will develop an IoT device using the ESP8266 microcontroller, incorporating features like analog and digital sensors, web interfaces, MQTT messaging, and data encryption.
Course Objectives: In this course, you will learn how to leverage Internet of Things technologies to address real-world challenges. You will:
- Plan an IoT deployment.
- Build and program an IoT device.
- Communicate with an IoT device via wired and wireless connections.
- Process sensor data and control actuators on an IoT device.
- Manage security, privacy, and safety risks in IoT projects.
- Oversee the development lifecycle of an IoT prototyping and development project.
Target Audience: This course is tailored for IT professionals with basic skills in computer hardware support, software support, and development who wish to learn how to design, develop, implement, operate, and manage Internet of Things devices and related systems. Students are interested in gaining knowledge about embedded systems, microcontroller programming, IoT security, and the project lifecycle for IoT initiatives.
Although students will gain practical 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 to take the CertNexus Certified Internet of Things (IoT) Practitioner (Exam ITP-110).
Certified Artificial Intelligence (AI) Practitioner
35 HoursArtificial intelligence (AI) and machine learning (ML) have evolved into indispensable components of the organizational toolkit across the United Arab Emirates. When leveraged effectively, these technologies deliver actionable insights that inform critical decision-making and empower businesses to engineer innovative products and services. This course demonstrates how to apply diverse approaches and algorithms to address business challenges through AI and ML, guiding you through a structured workflow to develop robust solutions. You will learn to utilize open-source, off-the-shelf tools for development, testing, and deployment, all while ensuring strict adherence to user privacy standards. Each topic includes practical, hands-on activities to reinforce learning.
Course Objectives: In this course, you will implement AI techniques to solve real-world business problems. You will:
- Define a general strategy to address specific business challenges using applied AI and ML.
- Gather and refine datasets to prepare them for training and testing phases.
- Train and fine-tune machine learning models for optimal performance.
- Finalize machine learning models and effectively present findings to the relevant stakeholders.
- Construct linear regression models.
- Develop classification models.
- Create clustering models.
- Design decision trees and random forests.
- Implement support-vector machines (SVMs).
- Build artificial neural networks (ANNs).
- Advocate for data privacy and uphold ethical standards within AI and ML initiatives.
Target Student: The competencies covered in this course bridge three key domains: software development, applied mathematics and statistics, and business analysis. Ideal candidates may possess strong expertise in one or two of these areas and seek to broaden their capabilities in the others, enabling them to apply artificial intelligence (AI) systems, specifically machine learning models, to complex business scenarios.
Consequently, the target learner might be a programmer seeking to acquire skills for applying machine learning algorithms to business issues, or a data analyst with a solid foundation in mathematics and statistics who wishes to enhance their technical proficiency in machine learning. A typical student for this course should have several years of experience with computing technology, including a demonstrated aptitude for computer programming. Furthermore, this course is designed to support students in preparing for the CertNexus® Certified Artificial Intelligence (AI) Practitioner (Exam AIP-110) certification.
Certified Internet of Things Security Practitioner (CIoTSP™)
21 HoursThis program is tailored for professionals aiming to showcase a versatile, industry-wide skill set that will empower them to design, implement, operate, and manage a secure IoT environment.
Target Audience: This course is intended for IoT specialists looking to enhance their expertise in IoT security and privacy. It is also suitable for individuals pursuing the CertNexus Certified Internet of Things Security Practitioner (CIoTSP) certification and preparing for Exam ITS-110.
CertNexus CyberSAFE
7 HoursObjectives:
In this course, you will identify many of the common risks involved in using conventional end-user technology, as well as ways to use it safely, to protect yourself from those risks.
You will:
- 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.