

Stops his fuzzer in the project zero supported researched, which I explain in the next chapters, I also perform ed 15 billion executions with Told me, that he typically performs at least 1 billion executions before he Performed 8 467 311 executions in that week Samuel, the developer of Fuzzilli, Just 1 core on a VM for just 1 week is not enough (just to compare numbers: I
#CLEAN DISK SECURITY V8.01 CODE#
Would had found way more bugs with code review using the same time so I would also suggest to others to do code review instead.įor evaluation of my Master Thesis I started my fuzzer on a VM on my home computerįor 1 week. Thesis on “I performed code review and found X bugs”. However, I had to develop a fuzzer because I couldn’t write a master Really everyone told me that I should not develop a fuzzer and instead focus on code I also talked to a lot of researchers who develop browser exploits professionally. Another difference is that I have a state which describes a testcase and this means that I must implement mutations twice - one time on the JavaScript code and one time on the state (and an error in one of them would de-synchronize the state with the testcase). I decided to implement everything myself – again something which resulted Other fuzzers such as DIE or Code alchemist use a third-party library to parse Myself which is a ton of work to implement (and it's error-prone). This helps my fuzzer to find very “exotic” testcases (but they don’t really occur so often…), however, it requires that I parse JavaScript code My fuzzer applies mutations directly on the JavaScriptĬode. A lot of designĬhoices make a lot of sense afterwards. The end it turned out that Fuzzilli’s design is very good.

Had two possibilities – modify the well-working Fuzzilli fuzzer or to develop aįuzzer from scratch. To proof (or disproof) my ideas, I developed a fuzzer. You can find my master thesi s in the docs-folder of the fuzzer project. This should reduce the search space and should The other required code lines can be fuzzed. Structure of the vulnerability class can be hardcoded in the fuzzer and just Vulnerability classes share a similar structure and that a fuzzer must not For example, by analyzing the PoCs, it can be seen that most Similarities which can help fuzzers to identify variations of these exploitableīugs. I re-developed most of these exploits and my goal was to find The end, I analyzed 56 different browser exploits which were exploited in the Researched a lot on the topic of browser and JavaScript engine exploitation. Between December 2019 and September 2020, I Results, ideas, failures, and everything else I learned along my journey toįuzz JavaScript engines (mainly Chrome’s v8 engine).Įverything started with my Master Thesis which I In this blog post I want to summarize the You can find the source code of the fuzzer here. I still try to describe my ideas in this blog post. Most of my ideas are not fully implemented yet and the fuzzer still lacks a lot of fine tuning because I didn't had so much time for the project. I got 5 000$ bounty per report, so in total 10 000$.

I submitted them in these reports: CRBUG 1236694 and CRBUG 1237730. In total I found 18 unique bugs, 11 of them were not security related, 4 were security related but duplicates and the remaining 3 bugs were security related and new (2 were very similar). Using 3400 € of these credits I tested approximately 15 billion generated testcases. I participated with the fuzzer in the Fuzzilli Research Grant Program and Google gave me 5000$ in the form of Google Compute Engine credits. I developed a coverage-guided (v8) JavaScript fuzzer similar to Fuzzilli (but without an intermediate language and developed in Python).
