Course

Course Summary
Credit Type:
Course
ACE ID:
UMBC-0022
Organization's ID:
TCPRG4005
Location:
Classroom-based
Length:
5 days (40 hours)
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 Computer Science or Information Technology
Description

Objective:

The course objective is to present to professional computer programmers the common methods used by hackers to exploit vulnerabilities in computer programs and how to program defensively to avoid introducing such vulnerabilities into their own programs.

Learning Outcomes:

  • Principles of Secure Design
  • Secure Programming Best Practices
  • Network Security as a developer
  • Shell Code, Exploits and Hacking tools
  • Secure Application Testing
  • Security Issues in Error Messages and Documentation
  • Demonstrate proficiency in Concepts in Secure Programming and Information Security
  • Principles in Security Vulnerabilities
  • Most common software security errors
  • Security Considerations in Web Applications

General Topics:

  • Data validation
  • Safe coding subsets
  • Deprecated functions
  • Safe library functions
  • Failsafe defaults and exception handling
  • Designing secure architecture
  • Cryptography
  • Buffer overflows
  • Secure programming concepts
  • Windows socket programming
  • Writing shellcode
  • Writing exploits
  • Programming port scanners and hacking tools
  • Securing e-commerce applications
  • Software activation, piracy blocking and automatic updates
  • Secure application testing
  • Writing secure documentation and error messages
Instruction & Assessment

Instructional Strategies:

  • Audio Visual Materials
  • Discussion
  • Lectures

Minimum Passing Score:

70%
Supplemental Materials