Skip navigation
Use este identificador para citar ou linkar para este item: http://repositorio2.unb.br/jspui/handle/10482/45114
Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2022_AdrianoRodriguesFigueiredoTorres.pdf517,21 kBAdobe PDFVisualizar/Abrir
Título: RVSec : Runtime verification methods for high precision detection of cryptography API misuse
Autor(es): Torres, Adriano Rodrigues Figueiredo
E-mail do autor: adrianotorres@gmail.com
Orientador(es): Almeida, Rodrigo Bonifácio de
Assunto: Segurança
Criptografia
Verificação em tempo de execução
Análise de programas
Engenharia de software
Data de publicação: 4-Nov-2022
Referência: 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.
Resumo: 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.
Abstract: 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.
Unidade Acadêmica: Instituto de Ciências Exatas (IE)
Departamento de Ciência da Computação (IE CIC)
Informações adicionais: 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.
Programa de pós-graduação: Programa de Pós-Graduação em Informática
Licença: 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.
Aparece nas coleções:Teses, dissertações e produtos pós-doutorado

Mostrar registro completo do item Visualizar estatísticas



Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.