Runtime Checking of Privacy and Security Contracts in Dynamic Architectures
Thesis title in Czech: | Běhové ověřování kontraktů pro soukromí a bezpečnost v dynamických architekturách |
---|---|
Thesis title in English: | Runtime Checking of Privacy and Security Contracts in Dynamic Architectures |
Key words: | jvmti; běhové monitorování; bytekódová instrumentace; dynamické architektury; Glinior |
English key words: | jvmti; runtime monitoring; bytecode instrumentation; dynamic architectures; Glinior |
Academic year of topic announcement: | 2017/2018 |
Thesis type: | diploma thesis |
Thesis language: | angličtina |
Department: | Department of Distributed and Dependable Systems (32-KDSS) |
Supervisor: | doc. RNDr. Pavel Parízek, Ph.D. |
Author: | hidden - assigned and confirmed by the Study Dept. |
Date of registration: | 17.01.2018 |
Date of assignment: | 30.01.2018 |
Confirmed by Study dept. on: | 05.02.2018 |
Date and time of defence: | 10.09.2018 00:00 |
Date of electronic submission: | 19.07.2018 |
Date of submission of printed version: | 20.07.2018 |
Date of proceeded defence: | 10.09.2018 |
Opponents: | doc. RNDr. Petr Hnětynka, Ph.D. |
Guidelines |
Two application domains that have recently gained prominence are Industry 4.0 and the Internet of Things (IoT). Important aspects of IoT-enabled systems include security, privacy, and dynamic architectures with ad-hoc communication. The same is true also for Industry 4.0. One possible approach for access control and checking privacy contracts is to use runtime tracking with information flow analysis.
The goal of this project is to design and implement a generic tool along such principles. Its input will be (1) intermediate representation of a subject program and (2) low-level declarative specification of privacy constraints and valid data flow (e.g., in the form of logic constraints and finite automata). Data flow has to be tracked and checked both at the inter-procedural (program code) and the inter-component level (architecture). Another specific goal is the design of a simple language for modeling the data flow and expressing the privacy requirements. The main overall challenge is the need to cope with the dynamic nature of IoT and Industry 4.0 systems, where devices may connect and disappear at any time. Implementation should be highly extensible, and needs to handle concurrent events properly. As a proof of concept, candidate may also implement translation of a particular mainstream programming language and user-friendly specifications into the low-level representations and perform experiments on realistic benchmarks. |
References |
1. Java Virtual Machine Tool Interface (JVM TI), https://docs.oracle.com/javase/8/docs/technotes/guides/jvmti/index.html
2. C. Flanagan and S.N. Freund. The RoadRunner Dynamic Analysis Framework for Concurrent Programs. PASTE 2010 3. M. Burrows, S. Freund, and J. Wiener. Run-Time Type Checking for Binary Programs. CC 2003 4. M. Tows and H. Wehrheim. Policy Dependent and Independent Information Flow Analyses. ICFEM 2017 |