CYBR437 — Secure Coding
Secure program characteristics and vulnerabilities. Topics include buffer overflows, injection attacks, and secure coding standards in Java, C, and C++.
Learning Objectives & Matches
Write secure code in multiple programming languages following security best practices
Write supporting code for Web applications or Web sites.
Write new functions or applications in programming languages to conduct analyses.
Select programming languages, design tools, or applications.
Perform security analyses of developed or packaged software components.
Design, analyze, and decipher encryption systems designed to transmit military, political, financial, or law-enforcement-related information in code.
Write program code to analyze data with statistical analysis software.
Evaluate code to ensure that it is valid, is properly structured, meets industry standards, and is compatible with browsers, devices, or operating systems.
Develop or install software, such as firewalls and data encryption programs, to protect sensitive information.
Design and verify cryptographic protocols to protect private information.
Identify and remediate security vulnerabilities including buffer overflows, injection attacks, and authentication flaws
Scan networks, using vulnerability assessment tools to identify vulnerabilities.
Gather cyber intelligence to identify vulnerabilities.
Implement catastrophic failure handlers to identify security breaches and prevent serious damage.
Prepare and submit reports describing the results of security fixes.
Conduct investigations of information security breaches to identify vulnerabilities and evaluate the damage.
Coordinate vulnerability assessments or analysis of information security systems.
Identify security system weaknesses, using penetration tests.
Identify security system weaknesses, using penetration tests.
Identify or develop reverse-engineering tools to improve system capabilities or detect vulnerabilities.
Identify or implement solutions to information security problems.
Perform security code reviews and static analysis to identify vulnerabilities
Assess the physical security of servers, systems, or network devices to identify vulnerability to temperature, vandalism, or natural disasters.
Design security solutions to address known device vulnerabilities.
Develop or implement software tools to assist in the detection, prevention, and analysis of security threats.
Monitor security system performance logs to identify problems and notify security specialists when problems occur.
Develop infiltration tests that exploit device vulnerabilities.
Perform security analyses of developed or packaged software components.
Troubleshoot security and network problems.
Research, test, or verify proper functioning of software patches and fixes.
Monitor systems for intrusions or denial of service attacks, and report security breaches to appropriate personnel.
Develop response and recovery strategies for security breaches.
Implement input validation, output encoding, and proper error handling
Apply secure coding standards including CERT, OWASP, and CWE guidelines
Develop information security standards and best practices.
Develop standards and guidelines for the use and acquisition of software and to protect vulnerable information.
Evaluate code to ensure that it is valid, is properly structured, meets industry standards, and is compatible with browsers, devices, or operating systems.
Identify program deviance from standards, and suggest modifications to ensure compliance.
Create and enforce database development standards.
Identify, standardize, and communicate levels of access and security.
Provide customers or installation teams guidelines for implementing secure systems.
Review security assessments for computing environments or check for compliance with cybersecurity standards and regulations.
Design, analyze, and decipher encryption systems designed to transmit military, political, financial, or law-enforcement-related information in code.
Design and verify cryptographic protocols to protect private information.