--
You received this message because you are subscribed to the Google Groups "afl-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to afl-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thanks for sharing the links. And thanks for advertising OSS-Fuzz in your paper :)
Here is a much better example: https://github.com/google/fuzzer-test-suite/tree/master/openssl-1.1.0cThese are two different bugs in openssl, both of which took us many CPU years to find.Now we know where the bugs are -- can we find them quicker with AFLGo?
The existence of virtual/indirect function calls makes the distance function incorrect (as you mention in 5.1),i.e. this method is less suitable for cases where you can't construct full CG at compile-time.
The general idea of computing certain properties of the CFG/CG at compile-time and then using it while fuzzing is great.libFuzzer is also moving in that direction, but you've done more.
Giving different weights to different seeds is (obviously?) very important, but I am not convinced that your approach is best.Focusing on the shortest path to the target(s) is not necessary the winning strategy.What if the shortest path is not actually possible?
If you concentrate on the shortest path and give less "energy" to the longer path(s) you just make things worse.
In section 5 you compare the ability of Katch and AFLGo to find bugs in binutils.(BTW, great results!! http://seclists.org/oss-sec/2017/q1/635)But wouldn't it be more interesting to compare AFL vs AFLGo? (Or did I miss it?)
In section 6 you test your integration with OSS-Fuzz and it may sound like you've found 26 bugs that OSS-Fuzz didn't. Butlibxml2/expat/libc++abi: there were a few bugs there that were kept private according to OSS-Fuzz's disclosure policy. It's likely that you re-discovered some of those.
I.e. Section 6 does not actually demonstrate the advantages of AFLGo over what we use in OSS-Fuzz (libFuzzer+AFL).(It just demonstrates that AFLGo can find tons of bugs; but the same is true for vanilla AFL)
You received this message because you are subscribed to a topic in the Google Groups "afl-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/afl-users/qcqFMJa2yn4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to afl-users+...@googlegroups.com.
(e.g., no paths discovered in the last cycle or setting AFL_EXIT_WHEN_DONE)?Cheers!Marcel and Thuan
To unsubscribe from this group and all its topics, send an email to afl-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
We keep fuzzing even when there is no progress, but we rebuild each target from fresh top-of-tree every day,so that every day we fuzz something new.
Hi KCC,We keep fuzzing even when there is no progress, but we rebuild each target from fresh top-of-tree every day,so that every day we fuzz something new.Just want to be sure, I get the scheduling of the fuzzing campaigns right. So, every day1) you choose a set of targets from all projects (perhaps by criticality or whether the project has changed?),
2) you build the target binaries from top-of-tree, and3) you fuzz the chosen target binaries for 24 hours.4) Next day (once finished), restart at (1).If this were the case, you would essentially work in a resource-constrained regime, assigning eachindividual fuzzing campaign a fixed time budget.Say, there are 10 commits to project OpenSSL since the last time you fuzzed it. Over many weeks offuzzing OpenSSL, no error were found. We argue that it seems more reasonable to spend the fixedtime budget directing the fuzzer towards the recent changes in the 10 commits. Arguably, only thosecould have introduced any new (regression) errors and need to be checked much more carefully.
Thanks again for your feedback!Best regards,Marcel + Thuan
To unsubscribe from this group and stop receiving emails from it, send an email to afl-users+...@googlegroups.com.
Hi KCC,I'm very curious when you said AFL could find heartbleed in less than 1 minute.So I tried to run AFL 2.51 on OpenSSL 1.0.1 using a dummy communication here
To unsubscribe from this group and stop receiving emails from it, send an email to afl-users+unsubscribe@googlegroups.com.
@KCC: sorry, what is the persistent mode, it is of AFL or of OpenSSL?
The target you showed me uses a function of LLVMFuzzer so I cannot compile.
@Michael: thanks for the link. I can re-discover heartbleed using your version of KCC's file. But it took more than 5 minutes on my relatively new desktop. Not ``less than 10 seconds'' as in the README.On Monday, 11 September 2017 10:17:13 UTC-7, michael.macnair wrote:Hi qcc,
> Could you tell me how to setup to test heartbleed?
One of the challenges in my afl training workshop is to find heartbleed: https://github.com/ThalesIgnite/afl-training/tree/master/challenges/heartbleed
The README.md / HINTS.md / ANSWERS.md walks you through it.
Regards,
Michael
--
You received this message because you are subscribed to the Google Groups "afl-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to afl-users+unsubscribe@googlegroups.com.