
Explore the cyber secure coder overview, detailing the certification path, exam structure, and domains for developing secure code, testing software security, and addressing vulnerabilities and exploits.
Explore security in software projects with the cyber secure coder series, learning how to gather user, platform, and compliance requirements, address vulnerabilities, and design secure code.
Gather software requirements across business, user, security, compliance, and platform needs to guide secure, iterative development. Compare waterfall and agile cycles, and emphasize proactive security, testing, and regulatory considerations.
Identify security requirements and issues for an app that presents a multilingual product catalog with images, search, self-registration, and admin panel to manage users and cloud or on-premises deployment options.
Identify and address user expectations and compliance needs for an e-commerce app, including payment handling, PCI compliance, data privacy, and secure cloud hosting.
Explore the three p's of software security: product, people, and process, and learn how vulnerability assessment and pen testing guide process-driven reviews, user education, and secure deployment.
Cyber secure coder explains software vulnerabilities and attack phases, contrasting builders and breakers, and outlining survey and assess, exploit and penetrate, maintain access, escalate privileges, and denial of service.
Explore reconnaissance and attacker patterns, including port checks and version discovery via headers, brute force, authentication bypass, and input validation flaws, with practical defense for robust software.
Build a strong password validator in a Python app and write tests to expose edge cases and fix logic errors in the 8-character, uppercase, lowercase, number, and special character rules.
Explore how a password policy and unit tests reveal vulnerabilities, show how shorter passwords bypass checks, and reinforce layered security and thorough test reviews to prevent brute-force and edge-case flaws.
Extend the password validator to enforce no three consecutive identical characters. Preserve the existing requirements: minimum eight characters, uppercase, lowercase, a number, and a special character.
We implement and test a password validator that blocks any three consecutive identical characters, enforces uppercase, lowercase, numbers, and special characters, and checks length; then discuss maintainability and production deployment.
Evaluate password security by adding a random salt before hashing and assess if the 256-bit hashing algorithm is the best choice, considering rainbow table risks.
Learn best practices for hashing passwords with per-user salts and robust algorithms, such as sha512 with iterations or pbkdf2_hmac and scrypt. Avoid MD5 and insecure storage.
Master vulnerability intelligence by tracking vulnerabilities with Exploit DB, MITRE, OWASP Top 10, and security bulletins; manage dependencies and test safely in controlled environments.
Complete the vulnerability search assignment by analyzing a Node.js Express app and an AngularJS frontend, inspecting dependencies and versions, and using CVE details and Snyk to identify security issues.
Identify application vulnerabilities by examining dependencies, package.json, and bower.json, and libraries like Angular and Express, assess cross-site scripting risks, apply semantic versioning, and leverage automated tools and vulnerability databases.
Explore how bugs arise as errors, faults, and defects, how buffer overflows enable exploits like remote code execution, and how design, validation, and logging reduce security risks.
Navigate secure software development with external libraries and cloud services, and vet third-party modules, open-source risks, encryption, and least privilege to prevent data exposure.
Apply language-specific try catch blocks and fail-safe logic, avoid leaking detailed errors, log securely, verify return codes, and close resources with finally to prevent unauthorized access.
Explore how human factors impact software security, from weak passwords and social engineering to input validation, and learn practical moves for developers to enforce policies.
Define security requirements and design using the CIA triad—confidentiality, integrity, and availability—while ensuring secure connections, input validation, and a symbiotic, focused, complete, unitary, and measurable approach.
Explore security across the entire software lifecycle from design to maintenance, using threat modeling, encrypted connections, code reviews, automated testing, and deployment monitoring.
Explore leftover artifacts in a live web app by examining an ftp directory, identify what could be left behind, assess risks, and design safeguards to prevent exposure.
Explore leftover artifacts in an FTP directory that expose confidential documents and coupon codes due to anonymous access. Identify exposed data and apply secure deployment measures to prevent leaks.
Design for security from the start, default to secure settings, apply least privilege, sanitize input, and segment services with encryption in transit.
Learn the top security design flaws and how to prevent them by validating input, enforcing authentication and authorization, using proper cryptography, and managing external dependencies and keys.
Explore a sample node backend and Angular single-page app to identify security design flaws, assess authentication and trust boundaries, and spot issues such as hard-coded passwords and data-control logic separation.
Examine common security design flaws in a deliberately unsafe app, highlighting authentication and authorization weaknesses, hard-coded credentials, insecure hashing, SQL injection risks, and insecure secret management.
Identify risk by examining threats, vulnerabilities, and consequences, then apply threat modeling in design to preempt security issues with encryption, secret management, and input sanitization.
Explore four risk response strategies—risk avoidance, risk transfer, risk mitigation, and risk acceptance—to manage cybersecurity risks. See practical examples like outsourcing authentication and input sanitization, with cost-based decision making.
Protect against common exploits by enforcing strong authentication, end-to-end encryption, and minimal data; enforce server-side authorization, validate inputs, and apply least privilege with defense in depth.
Spot common programming errors that cause security vulnerabilities, sanitize user input, guard against unsafe libraries and unsafe loads, and enforce strict configuration and testing practices.
Identify how buffer overflows occur in memory management across C, C++, and higher-level languages, and implement prevention through input validation and bounds checking.
Explore race conditions in multi-threaded and multi-process code, learn how shared resource access and timing cause incorrect results, and apply synchronization, locking, or atomic operations to prevent them.
Explore how a race condition arises in Python by using threading to increment a global hits dictionary. See how unsynchronized access across 10 threads leads to the last writer wins.
learn how to remediate race conditions by using locks for synchronization, including a threading.lock example and the context manager approach, and explore related concurrency primitives.
Explore the OWASP top 10 platform vulnerabilities across web, IoT, and mobile. The lecture highlights injection, cross site scripting, broken access control, data exposure, insecure data storage, and secure updates.
Dive into web application vulnerabilities and defenses, covering authentication, password policies, input validation, sql injection, cross-site scripting, and server-side authorization with encryption.
Explore mobile device vulnerabilities and learn best practices for secure mobile apps, including data storage, encryption, permission handling, secure communication, authentication, and code integrity across Android and iOS.
Explore IoT vulnerabilities in depth and learn to secure devices, web interfaces, and cloud connections with end to end encryption, strong authentication, and timely firmware updates.
Explore desktop vulnerabilities in cross-platform apps, including dynamic linking, dll injection, and shell code risks. Learn to mitigate with input validation, encryption, signing, and safe debugging practices.
Identify and mitigate privacy vulnerability defects to prevent data leakage, using anonymization, encryption, and proactive incident response, with clear deletion policies and transparent privacy guidelines.
Secure session management covers authentication and authorization, using session IDs stored in cookies or storage, secured by https, with get and post requests, and guarding against hijacking.
Learn secure user provisioning and management within applications, including when to rely on external identity systems, role and permission controls, and the importance of 2FA, password resets, and audit logging.
Explore encryption and data protections, including cryptographically secure hashing with salts and symmetric and asymmetric encryption for data in transit and at rest; avoid MD5 and ensure integrity.
Master error handling and protections by preventing and testing runtime errors, using structured exception handling, fuzzing and property-based testing, and logging to secure production environments.
Highlights why security testing matters and outlines approaches such as penetration testing, static and dynamic analysis, code reviews, and regression testing to patch weaknesses and improve secure design.
Learn how to implement security monitoring and logging for production apps, balancing passive and active techniques, real-time alerts, and post-incident analysis to detect attacks and prevent breaches.
The Cyber Secure Coder (CSC-110) course is designed to provide participants with a comprehensive understanding of secure coding practices and principles. This course focuses on equipping individuals with the necessary knowledge and skills to develop secure software applications, with an emphasis on mitigating common vulnerabilities and ensuring data confidentiality, integrity, and availability.
Cyber Secure Coder will aid in developing an appropriate understanding of secure development practices and how those practices protect against various types of vulnerabilities. You will learn the types of vulnerabilities, the exploits that can occur from those vulnerabilities, and the programming practices that will help prevent exploitation in an application.
By the end of the Cyber Secure Coder (CSC-110) course, participants will have the necessary skills to develop secure software applications and integrate security practices throughout the software development life cycle. They will be able to identify and mitigate common vulnerabilities, ensuring the confidentiality, integrity, and availability of data.
Understand the importance of secure coding practices in software development.
Identify common vulnerabilities and threats in software applications.
Learn secure coding principles and best practices.
Develop skills to write secure code for various programming languages.
Implement secure coding techniques to protect against common attacks.
Apply security controls to ensure data confidentiality, integrity, and availability.
Learn how to conduct security testing and code reviews to identify vulnerabilities.
Understand the legal and ethical aspects of secure coding.