Closed guidovranken closed 5 years ago
Hi Guido, sorry no one ever got back to you on this - I don't think anyone knew who should respond. It seems like everyone is in favor of improving security and think fuzzing is a good idea. What do we need to do to run your stuff against this project. Thoughts on best way to proceed ?
I can integrate it into Google oss-fuzz if you want? Let me know which e-mail addresses should receive notifications if a crash is found, and I'll set it up.
Great - I'll get an email list set up.
Merging into oss-fuzz: https://github.com/google/oss-fuzz/pull/2183
Please specify one or more e-mail addresses that will deal with the crashes oss-fuzz might find, thanks.
Add richbarn@cisco.com - thanks
It's running. richbarn can login to https://oss-fuzz.com/ to see progress/build status. Note that he must have a Google account linked to his e-mail address. If oss-fuzz finds a bug, richbarn will get an e-mail.
Are you interested in merging my fuzzing tree into the main tree, so that the fuzzer can built against the latest libsrtp code?
Hi @guidovranken , great that it is up and running, Maybe should also add libsrtp-security@lists.packetizer.com to the cc list?
Is the tree basically the same one that you shared with me last year? I have no problem merging it in if the change is not to obtrusive. Is that the norm when it comes to oss-fuzz, that the individual projects include the fuzzer code?
Will it mean that the fuzzer will be automatically run against the latest libsrtp code, or is the version on oss-fuzz fixed?
I will add that e-mail to the CC's.
I'll make sure that my fuzzing tree of libsrtp can be merged without making changes to the existing library code. Currently it runs against my fuzzing tree, but yes, it would be ideal if it constantly ran against the latest master branch, so that any bugs can be found before they enter production/official releases. I'm a bit busy right now but I will try to do a PR within a few days.
Having your own fuzzer is the preferred way to integrate with OSS-Fuzz, yes.
Let us know if we can help in any way :)
@guidovranken now your fuzzer is integrated into master, will you switch to using this branch now?
Will close this now as it is complete. Thank you for all the effort @guidovranken !
I've written an extensive libsrtp fuzzer with a focus on dynamic configuration generation (eg. policy chains of arbitrary length extracted from the fuzzer input, EKT yes/no, dynamic window size, dynamic SSRC type and value and so on). It is libFuzzer-based and supports ASAN+UBSAN and MSAN sanitization. If you are keen to include it in your project, I will make a PR. I will sign a CLA if necessary. I am meaning to submit it for inclusion in Google's OSS-fuzz.