Vis enkel innførsel

dc.contributor.advisorJehl, Leander Nikolaus
dc.contributor.authorSalhus, Asbjørn
dc.contributor.authorBrandsegg, Magnus
dc.date.accessioned2023-06-29T15:51:24Z
dc.date.available2023-06-29T15:51:24Z
dc.date.issued2023
dc.identifierno.uis:inspera:130505068:56595401
dc.identifier.urihttps://hdl.handle.net/11250/3074401
dc.description.abstractBlockchain-teknologi blir stadig mer utbredt, og det bringer med seg nye sikkerhetsproblemer. På grunn av strukturen til disse distribuerte systemene, er manuelle testemetoder tidkrevende og de overser ofte mange grensetilfeller på grunn av kompleksiteten til systemene. Utviklingen av automatiske testingmetoder har vist seg å være en mer effektiv måte å oppdage sikkerhetsfeil, feil og krasjer i distribuerte systemer på. I vår avhandling presenterer vi et automatisk testverktøy for Relab/hotstuff-systemet som er bygd med Google/gofuzz fuzzing-rammeverket. Verktøyet er bygd på den automatiserte enhetstestgeneratoren, Twins. Ved å bruke de eksisterende scenariene som Twins oppretter, erstatter vi en av meldingene som sendes gjennom nettverket med en tilfeldig generert fuzz-melding. Verktøyet itererer gjennom meldingene med ny fuzzet inndata for å utløse en panikk og finne ut hvor programmet krasjer. Med bruk av vårt verktøy har vi oppdaget 6 steder i Relab/hotstuff-systemet der systemet krasjer. Verktøyet vårt presenterer relevant informasjon om hvor krasjet skjedde, en full stack trace og den fuzzede meldingen som forårsaket krasjet, noe som gjør debuggingprosessen enklere for vedlikeholdere/feilrettere.
dc.description.abstractBlockchain technology is becoming more and more prevalent, and it brings with it new security issues. Due to the structure of these distributed systems, manual testing methods are tedious and often miss a lot of edge cases because of the complexity of the systems. The development of automatic testing methods has been proven to be a more effective way of discovering security flaws, bugs, and crashes in distributed systems. In our thesis, we present an automatic testing tool for the Relab/hotstuff system built with the Google/gofuzz fuzzing framework. The tool is built on the automated unit test generator, Twins. Using the existing scenarios that Twins create, we replace one of the messages that are being sent through the network with a randomly created fuzz message. The tool iterates through the messages with new fuzzed input to trigger a panic and to find out where the program crashes. With the use of our tool, we have discovered 6 locations in the Relab/hotstuff system where the system crashes. Our tool presents relevant information as to where the crash happened, a full stack trace, and the fuzzed message that caused the crash; making the debugging process easier for the maintainers/bugfixers.
dc.languageeng
dc.publisheruis
dc.titleÅ fuzz teste et BFT system
dc.typeBachelor thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel