RVSec : Runtime verification methods for high precision detection of cryptography API misuse

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Torres, Adriano Rodrigues Figueiredo
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.unb.br/handle/10482/45114
Resumo: Dissertação (Mestrado em Informática) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, Brasília, 2022.
id UNB_d747d0e91622fd5c2956346dc951af6d
oai_identifier_str oai:repositorio.unb.br:10482/45114
network_acronym_str UNB
network_name_str Repositório Institucional da UnB
repository_id_str
spelling RVSec : Runtime verification methods for high precision detection of cryptography API misuseSegurançaCriptografiaVerificação em tempo de execuçãoAnálise de programasEngenharia de softwareDissertação (Mestrado em Informática) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, Brasília, 2022.O uso incorreto de APIs de criptografia pode causar vulnerabilidades em software. Portanto, recentemente, foram propostas ferramentas baseadas em análise estática para detecção de mau uso. Estes detectores encontram diversos maus usos, mas diferem em suas capacidades e limitações, alem de não detectarem alguns bugs. Neste trabalho, investigamos verificação em tempo de execução (RV, de Runtime Verification em Inglês) - como uma alternativa baseada em análise dinâmica para detectar mau uso de crypto APIs. RV monitora execução de programas em relação a especificações formais, e há evidência da eficiência e eficácia do seu uso na deteccção de bugs em software. Neste estudo empírico sobre a eficácia e eficiência da aplicação de análise dinâmica para detectar tais maus usos, nós propomos um um protótipo baseado em JavaMOP - uma implementação de Monitoring-Oriented Programming para Java - para realizar Verificação em Runtime (RV) de 22 classes da Java Cryptography Architecture (JCA). Desenvolvemos nossas especificações através da tradução manual de 22 especificações presentes em CrySL - o estado da arte em detecção estática - para nosso contexto MOP. Após conduzir um estudo comparativo de RVsec com o estado da arte em análise estática, nos calculamos métricas de acurácia - precision, recall e F-measure - bem como custos de execução e correlação com cobertura de testes. Nossos resultados suportam RV como um complemento efetivo para analisadores estáticos, uma vez que os métodos aqui propostos apresentam precisão comparável, quando não superior, sem incorrer em custos de execução proibitivos.Incorrect usage of cryptographic (crypto) APIs can cause software security vulnerabilities, but developers often find it difficult to reason about those APIs. To automate the detection of misuse, static-analysis based crypto API tools have been proposed. These detectors find many misuses, but they differ in strengths and weaknesses, and miss bugs. We investigate runtime verification (RV) as a dynamic-analysis based alternative for crypto API misuse detection. RV monitors program runs against formal specifications and was shown to be effective and efficient for amplifying the bug-finding ability of software tests. In this empirical study on the efficacy and efficiency of applying dynamic analysis to detect such misuses, we propose a prototype based on JavaMOP - a Java implementation of Monitoring-Oriented Programming - to perform Runtime Verification of 22 classes of the Java Cryptography Architecture (JCA). We developed our specifications by manually translating 22 specifications from CrySL - a state-of-the-art static detector - into our MOP context. Upon conducting a comparative assessment of the methods using three benchmarks provided in the literature, we evaluated accuracy metrics - precision, recall and F-measure - as well as runtime overhead cost and correlation to coverage. Our results support RV as an effective complement to static analysers, as the methods herein proposed presented competitive, when not superior, accuracy metrics, without incurring in prohibitive runtime overhead.Instituto de Ciências Exatas (IE)Departamento de Ciência da Computação (IE CIC)Programa de Pós-Graduação em InformáticaAlmeida, Rodrigo Bonifácio deadrianotorres@gmail.comTorres, Adriano Rodrigues Figueiredo2022-11-04T22:12:41Z2022-11-04T22:12:41Z2022-11-042022-06-24info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfTORRES, Adriano. RVSec: Runtime verification methods for high precision detection of cryptography API misuse. 2022. ix, 65 f., il. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2022.https://repositorio.unb.br/handle/10482/45114porA concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UnBinstname:Universidade de Brasília (UnB)instacron:UNB2025-03-19T15:56:34Zoai:repositorio.unb.br:10482/45114Repositório InstitucionalPUBhttps://repositorio.unb.br/oai/requestrepositorio@unb.bropendoar:2025-03-19T15:56:34Repositório Institucional da UnB - Universidade de Brasília (UnB)false
dc.title.none.fl_str_mv RVSec : Runtime verification methods for high precision detection of cryptography API misuse
title RVSec : Runtime verification methods for high precision detection of cryptography API misuse
spellingShingle RVSec : Runtime verification methods for high precision detection of cryptography API misuse
Torres, Adriano Rodrigues Figueiredo
Segurança
Criptografia
Verificação em tempo de execução
Análise de programas
Engenharia de software
title_short RVSec : Runtime verification methods for high precision detection of cryptography API misuse
title_full RVSec : Runtime verification methods for high precision detection of cryptography API misuse
title_fullStr RVSec : Runtime verification methods for high precision detection of cryptography API misuse
title_full_unstemmed RVSec : Runtime verification methods for high precision detection of cryptography API misuse
title_sort RVSec : Runtime verification methods for high precision detection of cryptography API misuse
author Torres, Adriano Rodrigues Figueiredo
author_facet Torres, Adriano Rodrigues Figueiredo
author_role author
dc.contributor.none.fl_str_mv Almeida, Rodrigo Bonifácio de
adrianotorres@gmail.com
dc.contributor.author.fl_str_mv Torres, Adriano Rodrigues Figueiredo
dc.subject.por.fl_str_mv Segurança
Criptografia
Verificação em tempo de execução
Análise de programas
Engenharia de software
topic Segurança
Criptografia
Verificação em tempo de execução
Análise de programas
Engenharia de software
description Dissertação (Mestrado em Informática) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, Brasília, 2022.
publishDate 2022
dc.date.none.fl_str_mv 2022-11-04T22:12:41Z
2022-11-04T22:12:41Z
2022-11-04
2022-06-24
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv TORRES, Adriano. RVSec: Runtime verification methods for high precision detection of cryptography API misuse. 2022. ix, 65 f., il. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2022.
https://repositorio.unb.br/handle/10482/45114
identifier_str_mv TORRES, Adriano. RVSec: Runtime verification methods for high precision detection of cryptography API misuse. 2022. ix, 65 f., il. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2022.
url https://repositorio.unb.br/handle/10482/45114
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UnB
instname:Universidade de Brasília (UnB)
instacron:UNB
instname_str Universidade de Brasília (UnB)
instacron_str UNB
institution UNB
reponame_str Repositório Institucional da UnB
collection Repositório Institucional da UnB
repository.name.fl_str_mv Repositório Institucional da UnB - Universidade de Brasília (UnB)
repository.mail.fl_str_mv repositorio@unb.br
_version_ 1839083993699450880