Please use this identifier to cite or link to this item: http://hdl.handle.net/1822/59264

TitleOntology-driven metamodeling towards hypervisor design automation: runtime security and data integrity
Author(s)Lopes, José Pedro Silva
Advisor(s)Tavares, Adriano
Pinto, Sandro
KeywordsSecurity
Data integrity
Ontologies
Remote monitor
Embedded
Memory vulnerabilities
ARM
Meta-model
Hypervisor
SeML
μRTZVisor
CFI
Segurança
Integridade de dados
Ontologias
Monitor
Sistemas embebidos
Vulnerabilidades de memória
Meta-modelo
Issue date2017
Abstract(s)One of the most popular cyber-attack vectors to compromise computer systems is related to memory corruption. Memory corruption is one of the most prevalent and devastating vulnerabilities. The widespread adoption of virtualization technology in embedded systems generally and naively accepts Virtual Machine Manager (VMM) or hypervisor software as the Trusted Computing Base (TCB). As a software component, vulnerabilities can still be present, allowing attackers to subvert it alike Operating Systems (OSs). Virtualization empowers mixed-criticality embedded systems by executing critical and non-critical tasks under the same hardware. Therefore, security and safety are critical in their design as attacks on real-time embedded systems software can put lives in danger and/or cause enormous financial losses. Disregarding code-injection attacks, memory corruption exploits consist of: control- and noncontrol- data attacks. In practice, code-injection attacks are prevented with a W E policy which defines memory regions either as writable or executable, as Memory Protection Unit (MMU) hardware is now commonly available. Throughout this work, the focus is mainly on non-controldata attacks. Nevertheless, control-data attacks are also tackled with Control-Flow Integrity (CFI) enforcement. This thesis uncovers a tailor-made security solution enforcing data integrity in the μRTZVisor VMM, according to a specification devised by the developer. The Zynq-7000 System on Chip (SoC) was leveraged to isolate a remote integrity monitor from the hypervisor, in a separate core. Through compile-time instrumentation, execution traces are collected, recording updates to critical static variables on μRTZVisor. The monitor audits these traces by searching for violations of data integrity rules, concurrently to hypervisor’s execution. Automating the deployment of the devised security mechanism is required to facilitate its adoption. Using ontologies for knowledge representation, information related to the security mechanism and the data aspect of the μRTZVisor software is modeled into a specifically designed meta-model. Ontologies uniformize knowledge representation and aid maintainability. By inserting the modeling efforts into the SeML modeling infrastructure, code generation capabilities are leveraged to generate implementation-specific files.
Um dos mais populares vetores de ataque a comprometer os sistemas computacionais é a exploração de vulnerabilidades de corrupção de memória. Estas vulnerabilidades, além de bastante comuns, podem ter efeitos devastadores. A difusão da tecnologia de virtualização em sistemas embebidos assume, ingenuamente, o software VMM como pertencendo à TCB. No entanto, podem ainda existir vulnerabilidades, permitindo aos atacantes subverter os mecanismos de segurança. A virtualização permite a criação de sistemas embebidos de criticidade mista, executando funções criticas e não criticas na mesma plataforma. Por esta razão, a segurança é essencial na conceção dos mesmos. Ataques a sistemas embebidos críticos podem ter efeitos devastadores como a perda de vidas humanas e/ou enormes perdas económicas. Não considerando ataques que injetam código novo no programa, existem duas maneiras de explorar vulnerabilidades de corrupção de memória: ataques a dados de controlo e aos restantes dados do programa. Na prática, ataques que inserem código novo são prevenidos com uma política de W E, em que segmentos da memória são classificados como executáveis ou passiveis de serem escritos. Essa política é aplicada pelo hardware MMU que se encontra atualmente presente numa vasta gama de sistemas. O foco deste trabalho inside principalmente em ataques não direcionados aos dados de controlo. No entanto, estes ataques também são considerados através da implementação de um mecanismo de CFI. Esta tese propõe uma solução de segurança, especialmente concebida para o μRTZVisor, que providencia integridade de dados de acordo com uma especificação concebida pelo desenvolvedor. Utilizando o SoC Zynq-7000, o monitor é isolado num core diferente do utilizado pelo software de virtualização. Através da inserção de instrumentação em tempo de compilação, é efetuado um registo das operações de escrita em variáveis criticas do μRTZVisor. O monitor remoto audita o registo à procura de violações na especificação de integridade de dados providenciada. A automação da aplicação do mecanismo de segurança proposto é necessária para facilitar a sua adoção. Utilizando ontologias como linguagem de representação de conhecimento, informação relacionada com os mecanismos de segurança e o plano de dados do software de virtualização são modelados num meta-modelo desenvolvido neste trabalho. A utilização de ontologias uniformiza a representação de conhecimento e a manutenção do mesmo. Através da inserção dos esforços de modelação na infraestrutura de modelação SeML, são ainda utilizados mecanismos de geração de código para gerar ficheiros de implementação.
TypeMaster thesis
DescriptionDissertação de mestrado em Engenharia Eletrónica Industrial e Computadores
URIhttp://hdl.handle.net/1822/59264
AccessEmbargoed access (3 Years)
Appears in Collections:BUM - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
José Pedro Silva Lopes.pdf
  Restricted access
2,43 MBAdobe PDFView/Open    Request a copy!

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID