[fuzzing] [Dailydave] Rcov - interactive code coverage for fuzzers

Charlie Miller cmiller at openrce.org
Tue Mar 27 20:51:07 CDT 2007


Speaking of using code coverage to make fuzzing better, Microsoft  
Research seems to have a private tool which does exactly this  
for .NET applications.  (Thanks DJ for pointing this out to me a  
while back)

http://research.microsoft.com/Pex/

Charlie

__________________________________


> So I think everyone brought up some great points.  (Though the
> discussion would have probably been better suited for
> fuzzing at whitestar.linuxbox.org.)
>
> I think it's cool that Kowsik is blogging on fuzzing - I believe I
> covered some of these points in a 2006 defcon talk (attack surface,
> complete CC != 0 vuls, etc.).  Sergio & Kowsik note that  
> discovering the
> attack surface prior to fuzzing could be helpful.  In fact, that leads
> to another important observation -- when doing interface testing we'll
> never reach 100% CC.  It would be more accurate to say 100% attack
> surface coverage != 0 vulnerabilities.
>
> The distinction is important because the attack surface is typically
> only a fraction of the total code.  Determining the total functions or
> basic blocks that lie on an attack surface can be a challenge.   
> Here's a
> lame example: If it's found that 5 of 100 total functions read in cmd
> line args and 15 of 100 functions handle network traffic, we simply  
> take
> the ratio:
>     local attack surface = 5/100 or 5% of total code
>     remote attack surface = 15/100 or 15% of total code
> A remote fuzzing tool that hits 15 funcs would be said to have hit  
> 100%
> of the remote attack surface.  But did it hit all combinations of  
> paths
> with all combinations of data? :)
>
> Anyway, since I enjoy the TV show myth busters here goes:
>
> MYTH 1:
> "This thread was not about vendors ..."
> Yet I submit that anytime a fuzzing vendor posts research to a high
> profile security mailing list instead of the fuzzing mailing list  
> -- it
> is about vendors.
> And since vendors have been brought up, I posted an interesting option
> to vendors last week on the fuzzing list.  Also, I'm curious how  
> people
> on this list feel about the new "value proposition".  Instead of  
> "just"
> tools to test protocols, MU and BreakingPoint are selling something
> along the lines of:
> Metasploit functionality for IDS/IPS testing + attack/pen testing +  
> load
> testing + protocol fuzzing + ??.  I believe MU calls this the "tiger
> team in a box."  BreakingPoint calls it "the most powerful network  
> test
> system on the planet".  I just wish we could get more data on the  
> exact
> internal operations of ALL commercial fuzzers.  When a software QA  
> guy,
> security group, or big network company test department is considering
> their specific needs, and find themselves on the fence about open
> source, in-house, various fuzzing companies -- and when it comes  
> time to
> write a big check -- they need to be sure of what they're paying for.
>
> MYTH 2:
> "Fuzzers don't automagically become better because of code coverage"
> Actually I'd like to give a talk this year at Black Hat about how they
> might! :)  This is the first paragraph of my proposed thesis:
>
> "Run-time code coverage analysis is feasible and useful when  
> application
> source code is not available.  An evolutionary test tool receiving  
> such
> statistics can use that information as fitness for pools of  
> sessions to
> actively learn the interface protocol.  We call this activity grey-box
> fuzzing.  We propose that, when applicable, grey-box fuzzing is more
> effective at finding bugs that RFC compliant or capture-replay  
> mutation
> black-box tools."
>
> Of course, I have no proof of this yet, but that's why it's called
> research! :)
>
> Blessings,
> Jared
> _______________________________________________
> fuzzing mailing list
> fuzzing at whitestar.linuxbox.org
> http://www.whitestar.linuxbox.org/mailman/listinfo/fuzzing



More information about the fuzzing mailing list