A type system for value-dependent information flow analysis


Autoria(s): Lourenço, Maria Luísa Sobreira Gouveia
Contribuinte(s)

Caires, Luís

Data(s)

26/04/2016

26/04/2016

01/01/2016

01/04/2016

Resumo

Information systems are widespread and used by anyone with computing devices as well as corporations and governments. It is often the case that security leaks are introduced during the development of an application. Reasons for these security bugs are multiple but among them one can easily identify that it is very hard to define and enforce relevant security policies in modern software. This is because modern applications often rely on container sharing and multi-tenancy where, for instance, data can be stored in the same physical space but is logically mapped into different security compartments or data structures. In turn, these security compartments, to which data is classified into in security policies, can also be dynamic and depend on runtime data. In this thesis we introduce and develop the novel notion of dependent information flow types, and focus on the problem of ensuring data confidentiality in data-centric software. Dependent information flow types fit within the standard framework of dependent type theory, but, unlike usual dependent types, crucially allow the security level of a type, rather than just the structural data type itself, to depend on runtime values. Our dependent function and dependent sum information flow types provide a direct, natural and elegant way to express and enforce fine grained security policies on programs. Namely programs that manipulate structured data types in which the security level of a structure field may depend on values dynamically stored in other fields The main contribution of this work is an efficient analysis that allows programmers to verify, during the development phase, whether programs have information leaks, that is, it verifies whether programs protect the confidentiality of the information they manipulate. As such, we also implemented a prototype typechecker that can be found at http://ctp.di.fct.unl.pt/DIFTprototype/.

Identificador

http://hdl.handle.net/10362/17101

101416296

Idioma(s)

eng

Relação

CITI PEst-OE/EEI/UI0527/2014

FCT/MEC grant SFRH/BD/68801/2010

FLEX-Agile grant by OutSystems SA

Direitos

openAccess

Palavras-Chave #Information flow #Type systems #Dependent types #Language-based security #Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Tipo

doctoralThesis