2022-04-19, 04:53
USING FUZZ TESTING TO FUZZ TEST KODI
- Name: Ahmed ElShereef
- forum/e-mail: [email protected]
- Summary:
we're going to use A Dynamic Security testing which is Fuzzing
Software issues are mostly resulted from bad parsed input/output data/files,We should Catch the existing bugs/vulnerabilities in the libraries or in our dependency code,
By Creating a coverage-guided fuzzer which is capable of exploring Kodi's Code/Files, Injected/Tested it with random inputs/data to find bugs that leads
to make our Kodi crash or fail.
By Creating a coverage-guided fuzzer which is capable of exploring Kodi's Code/Files, Injected/Tested it with random inputs/data to find bugs that leads
to make our Kodi crash or fail.
- How will I achieve this:
- the final proposal will contain the detailed project timeline
- the final proposal will contain the detailed project timeline
- Setup our fuzzer with it's all components.
- Select the target file
- Create our input set (testcases)// Corpus
- Check the code Coverage to decide of we should continue or stop fuzzing
- Catch the bugs.
- Document the results in a folder/PDF
- What will the project focus on:
the most important parts are:
Fuzzer Setup
Coverage rate
Documentation
- Benefits:
For Developer, a lot money and time, if we fuzz before being fuzzed!
- Goals:
Maybe In Next gsoc, we gonna try Reverse Engineering Protection As well as Exploit Development for more secure Software
- What does it touch in Kodi:
its own fuzz testing internally (OSSFuzz), and if they don't fuzzing on their own,So we will need to set up fuzzing for these libraries.
If they are adapting / having OSS-Fuzz service/System/techniue built-in in their codebase,We shouldn't fuzz that.
e.g: As you mentioned ffmpeg which is handling video, audio, and other multimedia files and streams, it handles its own fuzzing,
- case 1 : "All the libraries are doing its fuzzing"
that is already fuzzed
- case 2 : " Fuzzing for the Libraries that aren't already fuzzed "
libraries if they have files which contain "LLVMFuzzerTestOneInput" // Oss-Fuzz service
- Requirements: 'I have found that the (American Fuzzy Lop) fuzzer in the project description became outdated as last update was in 2017 and replaced with another powerful enhanced fuzzer AFLplusplus '
- AFL++ (American Fuzzy Lop Plus Plus) Fuzzer
- Fuzz testing basics
- Building Fuzzers basics
- Linux Operating System (Not Mandatory but would enhance our results and testing process) ,As it's a suitable environment for the fuzzer
- Understanding A new Codebase
- Auditing C/C++ Code
- Basic Linux,Shell and Command line environment knowledge
- Version Control
- Possible mentors: @Razze
- Workload:To be discussed ,
It depends how coverage limit we would go for / covered? There may still be bugs, but they're not easy to reach,Maybe we could parallel fuzzers to test that.