Static analysis tools for detecting buffer overflow vulnerabilities - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Static analysis tools for detecting buffer overflow vulnerabilities

Description:

Good documentation. Easy to run e.g. host% splint filename.c. Splint. Annotations ... 12)http://www.die.net/linux/man/man/efence.3.html ... – PowerPoint PPT presentation

Number of Views:259
Avg rating:3.0/5.0
Slides: 14
Provided by: sjag
Category:

less

Transcript and Presenter's Notes

Title: Static analysis tools for detecting buffer overflow vulnerabilities


1
Static analysis tools for detecting buffer
overflow vulnerabilities
  • Sreedevi Jagavarapu

2
Introduction
  • Introduction
  • Splint
  • Uno
  • Orion
  • Conclusion

3
The Problem
  • Programs are buggy
  • Manual inspection, print statements, debuggers
    are not always effective and are time consuming
  • There is lack of information on which software
    analyzer tools are most helpful

4
Static Analysis Tools
  • Static Analysis
  • analyze programs without running them
  • Analysis is possible before a program is
  • compliable
  • No test suite is necessary
  • May not find every memory error

5
Some Static Analysis Tools
C/C
Java
FlexeLint
Coverity
Flawfinder
Klocwork
Orion
Discover
PolySpace
CodeAssure
FindBugs
Klocwork
Prexis
Fortify
CodeSurfer
PREfast
Fortify
Orion
ITS4
DMS
C (only)
Splint
Smatch
Blast
Uno
CQual
MOPS
6
Easy to Use
  • Splint very easy to use
  • Knowledge of annotations is not compulsory
  • Knowledge of annotations allows full
    functionality
  • Good documentation
  • Easy to run e.g. host splint filename.c

7
Splint
  • Annotations
  • Denoted using C comments identified by an _at_
    character following the / comment marker
  • Running Splint is an iterative process
  • Splint checks approximately 1,000 lines per
    second, so it is fairly easy to run Splint
  • The goal is to eliminate all the warnings by
    modifying code or adjusting annotations

8
UNO
  • It is a simple tool for source code analysis
  • It is designed to intercept primarily the three
    most common types of software defects
  • Use of uninitialized variables
  • Null-pointer references
  • Out-of-bounds array indexing

9
Orion
  • A static analyzer from Bell Labs offering
  • analysis of C, C
  • tunable to increase speed/precision
  • incremental interprocedural analysis
  • built-in and user-defined checks
  • aim at semantic errors (use-before def rather
    than type mismatch)
  • concentrate on UNO errors first

10
Orions Approach 2-Phase Analysis
Check feasibility of each path
Find potential error paths
Parsing (GNU gcc)
Report errors and warnings
1. Analysis with light-weight dataflow info
  • 2. Tunable tradeoff speed vs. precision
  • fast, approximate internal solvers
  • slower, more precise external solvers

11
Pros and Cons of evaluated tools
  • Splint was a helpful static tool
  • Can be used during development and debugging
  • It produces more warnings leading to confusion
  • No guarantee that all messages indicate real bugs
    or all bugs will be found
  • Splint some times misses the significant errors
  • Splint hides error report in a list of
    explanations
  • Orion analyzes C and C source code

12
Conclusion
  • No tool will eliminate all security risks

13
References
  • 1)http//www.splint.org
  • 2)http//www.cs.virginia.edu/evans/pubs/ieeesoftw
    are.pdf
  • 3)http//lclint.cs.virginia.edu/usenix01.pdf
  • 4)http//cosi.clarkson.edu/docs/staticanalysistool
    s/UsingStaticAnalysisTools.htmlAnnotations
  • 5)http//www.cs.virginia.edu/pipermail/splint-disc
    uss
  • 6)http//testingfaqs.org/t-static.html
  • 7)http//samate.nist.gov/index.php/Source_Code_Ana
    lyzers
  • 8)http//en.wikipedia.org/wiki/List_of_tools_for_s
    tatic_code_analysis
  • 9)http//www.dse.nl/thelosen/artikelen/static_ana
    lysis.pdf
  • 10)http//www.soft32.com/download_206036.html
  • 11)http//lclint.cs.virginia.edu/faq.htmlquest1
  • 12)http//www.die.net/linux/man/man/efence.3.html
Write a Comment
User Comments (0)
About PowerShow.com