Runtime Checking of Privacy and Security Contracts in Dynamic Architectures
Běhové ověřování kontraktů pro soukromí a bezpečnost v dynamických architekturách
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/101470Identifikátory
SIS: 199787
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Hnětynka, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
10. 9. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
jvmti, běhové monitorování, bytekódová instrumentace, dynamické architektury, GliniorKlíčová slova (anglicky)
jvmti, runtime monitoring, bytecode instrumentation, dynamic architectures, GliniorMezi důležité aspekty konceptu IoT patří zajisté soukromí a bezpečí. Jsou známy případy z minulosti, kde implementace bezpečnosti nebyla dostačující, což umožnilo hackerům získat nepovolený přístup k desítkám tisíc každo- denních zařízení připojených k internetu a zneužít tuto moc k ochromení komunikace na internetu. V této práci jsme navrhli a naimplementovali nástroj Glinior, který umožňuje definovat vzájemné kontrakty mezi ob- jekty nebo komponentami v aplikaci, a zajistit, že komunikace mezi těmito objekty nebo komponentami probíhá podle takto specifikovaných kontraktů. Nástroj Glinior pro ověřování kontraktů specifikované uživatelem používá techniky dynamické analýzy, pomocí frameworku JVMTI v kombinaci s kni- hovnou ASM pro manipulaci s byte-kódem.
Important aspects of the IoT concept include privacy and security. There are various examples from the past, where implementation of security was insuffi- cient, which allowed hackers to gain unauthorized access to tens of thousands of everyday objects connected to the Internet and abuse this power to par- alyze the communication over the Internet. In this thesis we designed and implemented the Glinior tool that allows to define the contracts between objects or components in the application, and ensures that the communi- cation between specified objects or components happens according to those contracts. The Glinior tool uses techniques of dynamic analysis to verify contracts defined by the user. This is done by using the JVMTI framework with combination of the ASM library for bytecode manipulation.
