Campo DC | Valor | Idioma |
dc.contributor.advisor | Almeida, Rodrigo Bonifácio de | - |
dc.contributor.author | Torres, Adriano Rodrigues Figueiredo | - |
dc.date.accessioned | 2022-11-04T22:12:41Z | - |
dc.date.available | 2022-11-04T22:12:41Z | - |
dc.date.issued | 2022-11-04 | - |
dc.date.submitted | 2022-06-24 | - |
dc.identifier.citation | 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. | pt_BR |
dc.identifier.uri | https://repositorio.unb.br/handle/10482/45114 | - |
dc.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. | pt_BR |
dc.description.abstract | 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. | pt_BR |
dc.language.iso | Português | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.title | RVSec : Runtime verification methods for high precision detection of cryptography API misuse | pt_BR |
dc.type | Dissertação | pt_BR |
dc.subject.keyword | Segurança | pt_BR |
dc.subject.keyword | Criptografia | pt_BR |
dc.subject.keyword | Verificação em tempo de execução | pt_BR |
dc.subject.keyword | Análise de programas | pt_BR |
dc.subject.keyword | Engenharia de software | pt_BR |
dc.rights.license | A 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. | pt_BR |
dc.description.abstract1 | 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. | pt_BR |
dc.contributor.email | adrianotorres@gmail.com | pt_BR |
dc.description.unidade | Instituto de Ciências Exatas (IE) | pt_BR |
dc.description.unidade | Departamento de Ciência da Computação (IE CIC) | pt_BR |
dc.description.ppg | Programa de Pós-Graduação em Informática | pt_BR |
Aparece nas coleções: | Teses, dissertações e produtos pós-doutorado
|