12 Application Security Pt. 2

12 Application Security Pt. 2 - Penetration Attacks Program...

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Penetration Attacks Program Security Common Defense Methods ● Security by Correctness ● Safe programming languages ● Code verification ● Fuzzing ● Security by Architecture ● Stack protection ● Obfuscation ● Security by Isolation ● Security by Response Safe Languages ● Java, C#, Haskell, etc. ● Provide some level of protection ● Bugs can still exist ● Not all software can be rewritten ● Efficiency, low-level access code still needed Manual Code Verification ● Peer reviews ● Lot of supporting evidence says this works well ● People write better code of colleagues are going to look at it ● Teaches people about secure software ● Share ideas and techniques ● Good code review catches roughly 50% of bugs Static Analysis ● Automated analysis of source code ● Can be done the easy way ● Also known as the limited effectiveness way ● Or the hard way ● Also known as the spend a lot of money to buy expensive software way Static Analysis ● Model program properties abstractly, look for problems ● Tools come from program analysis ● Type inference, data flow analysis, theorem proving ● Usually on source code, can be on byte code or disassembly Static Analysis ● Rarely is it this easy ● Information across functions ● Ambiguity of pointers (not done at run-time) ● Lack of association between size and data type ● Lack of information about inputs at run-time ● With that said – it is still a good tool Example – Where is the bug? int read_packet(int fd) { char header[50]; char body[100]; size_t bound_a = 50; size_t bound_b = 100; read(fd, header, bound_b); read(fd, body, bound_b); return 0; } Example – Where is the bug? int read_packet(int fd) { char header[50]; // Model (header, 50) char body[100]; // Model (body, 100) size_t bound_a = 50; size_t bound_b = 100; read(fd, header, bound_b); read(fd, body, bound_b); return 0; } Example – Where is the bug?...
View Full Document

This note was uploaded on 04/24/2011 for the course CET 4663 taught by Professor Staff during the Fall '08 term at University of Central Florida.

Page1 / 33

12 Application Security Pt. 2 - Penetration Attacks Program...

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online