Home > Ask the Security Experts > Information Security Threats Questions & Answers > What is the best way to manually test for buffer overflows?
Ask The Security Expert: Questions & Answers
EMAIL THIS

What is the best way to manually test for buffer overflows?

John Strand EXPERT RESPONSE FROM: John Strand

Pose a Question
Other Security Categories
Meet all Security Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 01 August 2008
What is the best way to manually test for buffer overflows?

>
EXPERT RESPONSE
There are two ways of reviewing a program for buffer overflows. First, the source code should be analyzed and reviewed before the code is compiled. Numerous tools are available for this task. My favorites are Fortify Software Inc.'s Rough Auditing Tools for Security (RATS) and Cigital Inc.'s ITS4. Both are free to download. It's also possible to use the '/analyze' compiler option with Microsoft Visual C++. All of the above tool checks are not simply restricted to buffer overflows, but they will check for other weaknesses, such as format string vulnerabilities and heap overflows.

The second way to test for buffer overflows is to look at compiled code. For a long time, many security professionals believed that the only way to detect vulnerabilities was to test the source code for the program. This was (and is) just not true. Numerous tools exist that look for vulnerabilities in a compiler's low-level assembly code. They also utilize fuzzing techniques, which test software by inputting massive amounts of random data and seeing if errors occur.

To review the compiled code for patterns in the assembly code, try tools like msfpescan and mfselfscan from the Metasploit project.

For fuzzing, look at tools like SPIKE, BreakingPoint Inc.'s testing tools and MuDynamic Inc.'s analyzer products. Spike is free, while Breaking Point's and Mu's tools are commercial. If application security checking is an extensive part of your job, I would strongly suggest considering a commercial product.

Many of the fuzzing products available take good input and mangle it to attempt an application break. To do this manually, find the inputs to an application and try to put in as many characters as possible. If it crashes, you need to discuss what went wrong by reviewing the application and system logs with the developers. Obviously it's wise to make sure you have permission before attempting this.

Ultimately the issue is much wider than simply checking for buffer overflows. Buffer overflows fall under the responsibility of developers not validating the inputs to their applications. For every data type in an application, there should be a limit to the number and type of characters it can accept. Identify any inputs that accept data that should not be allowed. For example, a field asking for "State" does not need to allow *, $, @, or ^. Regardless of whether a buffer overflow exists, it should be fixed to only allow the standard Aa-zZ character set.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
Information Security Threats
What are the basics of a Web browser exploit?
Are daily antivirus scans in XP Normal Mode effective if malware must be removed in Safe Mode?
Can virtualized applications interact with each other without explicit permission?
What is the best way to conduct a rootkit-specific risk assessment?
Does the iPhone SDK effectively increase the risk iPhones pose?
How can widget malware on social networking sites threaten enterprises?
Will the new CERT security incident-response project benefit infosec pros?
How can an enterprise-wide network remain resilient against denial-of-service (DoS) attacks?
Can "good" botnets fight bad botnets?
Are there antivirus suites that pick up more than just run-of-the-mill viruses?

Securing Productivity Applications
Critical SAP flaw leaves systems vulnerable to attack
Inside MSRC: Microsoft addresses XML Core Services flaw, RPC flaw
Attackers target critical Adobe PDF flaw
Adobe issues warning for Reader, Acrobat flaws
Adobe issues patch for critical PageMaker flaws
Can virtualized applications interact with each other without explicit permission?
Oracle releases 45 database, application fixes
Hacker toolkit targets Microsoft Access zero-day
Microsoft Word zero-day being actively exploited
Using Nessus Attack Scripting Language (NASL) to find application vulnerabilities

Application Attacks (Buffer Overflows, Cross-Site Scripting)
Web app attacks grow, but developers may fight back
What risks do application virtualization products pose to enterprise security?
How to implement and enforce a social networking security policy
Quiz: Mitigating Web 2.0 threats
New blacklists: Highly predictive or hardly worth it?
Microsoft sees OS flaws drop, application breaches rise
Adobe issues patch for critical PageMaker flaws
Adobe addresses clickjacking in latest Flash Player
What are the basics of a Web browser exploit?
Clickjacking details released after attack proof-of-concept emerges
Application Attacks (Buffer Overflows, Cross-Site Scripting) Research

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
sheepdip  (SearchSecurity.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Find Security Solutions for Your Business
Targeted Security Channel Tips for Resellers, Integrators and Consultants
TechTarget Security Media
Information Security View this month\\'s issue and subscribe today.
Information Security Decisions Apply online for free conference admission.
SearchSecurity.com
HomeNewsMagazineMultimediaWhite PapersLearningAdviceTopicsEventsAbout Us

About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2003 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts