16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

11. Discuss the importance of usability in security mechanism design. [Familiarity]<br />

12. Describe security issues that arise at boundaries between multiple components. [Familiarity]<br />

13. Identify the different roles of prevention mechanisms and detection/deterrence mechanisms. [Familiarity]<br />

IAS/Defensive Programming<br />

[1 Core-Tier1 hour, 1 Core-Tier2 hour]<br />

Topics in defensive programming are generally not thought about in isolation, but applied to<br />

other topics particularly in SDF, SE and PD Knowledge Areas.<br />

Topics:<br />

[Core-Tier1]<br />

• Input validation and data sanitization (cross-reference SDF/Development Methods/Program Correctness)<br />

• Choice of programming language and type-safe languages<br />

• Examples of input validation and data sanitization errors (cross-reference SDF/Development<br />

Methods/Program Correctness and SE/Software Construction/Coding Practices)<br />

o Buffer overflows<br />

o Integer errors<br />

o SQL injection<br />

o XSS vulnerability<br />

• Race conditions (cross-reference SF/Parallelism/Parallel programming and PD/Parallel Architecture/Shared<br />

vs. distributed memory and PD/Communication and Coordination/Shared Memory and PD/Parallelism<br />

Fundamentals/Programming errors not found in sequential programming)<br />

• Correct handling of exceptions and unexpected behaviors (cross-reference SDF/Development<br />

Methods/program correctness)<br />

[Core-Tier2]<br />

• Correct usage of third-party components (cross-reference SDF/Development Methods/program correctness<br />

and Operating System Principles/Concepts of application program interfaces (APIs)<br />

• Effectively deploying security updates (cross-reference OS/Security and Protection/Security methods and<br />

devices)<br />

[Electives]<br />

• Information flow control<br />

• Correctly generating randomness for security purposes<br />

• Mechanisms for detecting and mitigating input and data sanitization errors<br />

• Fuzzing<br />

• Static analysis and dynamic analysis<br />

• Program verification<br />

• Operating system support (e.g., address space randomization, canaries)<br />

• Hardware support (e.g., DEP, TPM)<br />

- 104 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!