Fuzz testing of network subsystem in PikeOS
Fuzz testování síťového subsystému v PikeOS
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/188296Identifikátory
SIS: 250127
Kolekce
- Kvalifikační práce [11242]
Autor
Vedoucí práce
Oponent práce
Yaghob, Jakub
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Programování a vývoj software
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
5. 2. 2024
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
Fuzz testování|Dlouhodobé testování|RTOS|Síťový stack|PikeOSKlíčová slova (anglicky)
Fuzzing|Long run testing|RTOS|Network stack|PikeOSDosáhnout stability za jakékoli situace je cílem spousty aplikací. Tento problém se týká také síťového stacku ANIS, který je součástí operačního systému reálného času PikeOS vyvíjeného společností SYSGO. PikeOS vyžaduje bezpečnost a stabilitu svých komponent, protože je používán v průmyslu jako je např. letectví, kde by nedostatek těchto vlastností mohl způsobit veliké škody. Vyzkoušená cesta pro ověření stability a bezpečnosti programu je jeho testování. Fuzz testování je technika automatického tes- tování, která se snaží v programu najít chyby skrz generování náhodných vstupů. Jejím cílem je najít zranitelnosti a odhalit potenciální chyby, které mohou mít závažné důsledky na provoz aplikace. Další testovací technikou je long-run testing, přes který je aplikace vystavena náporu po delší časový úsek. Jelikož ANIS je běžně dodávám jako součást PikeOS, musí také splňovat stejné bez- pečnostní standardy jako PikeOS. My jsme s pomocí long-run a fuzz testování vytvořili testovací program pro síťový stack ANIS. Při tvorbě jsme kladli důraz na možnost na- stavování našeho testu. Tento test vystavuje ANIS různým scénářům, které mají za úkol zatížit ANIS. Test používá fuzzing jako nástroj pro generování kombinací těchto scénařů a snaží se s jejich pomocí donutit ANIS k chybám. V rámci vývoje jsme opatřili test malým...
Stability under every possible circumstance is a goal for a lot of applications. This problem applies to the network stack ANIS of the real-time operating system PikeOS developed by SYSGO. PikeOS requires security and stability because it is used in areas, e.g., airborne systems, where unstable software could cause severe damage. A proven way to ensure the stability and security of software is testing. Fuzzing is an automated testing technique that generates randomized inputs for the application to find bugs, vulnerabilities, or crashes within the application. Another testing technique is long- run testing, which exposes an application to some input for longer periods. Because ANIS is a product usually shipped with PikeOS, it must follow the same security standards. We have developed a testing tool for the ANIS network stack, using the two mentioned techniques and emphasizing the option to configure such a test. This testing tool exposes the ANIS to various scenarios that could stress the stack and uses fuzzing to create a combination of these scenarios automatically, which could crash the network stack. The developed test is implemented with a small set of scenarios that expose ANIS to various network traffic. The test can be extended to work with more scenarios. All scenarios have a predefined set of...