Software verification aimed at security vulnerabilities

Detalhes bibliográficos
Autor(a) principal: Gonçalo, Luís Miguel Agante
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10316/88060
Resumo: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_053fb73c79b7154b89fd342816f20eae
oai_identifier_str oai:estudogeral.uc.pt:10316/88060
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Software verification aimed at security vulnerabilitiesVerificação de software orientada a vulnerabilidades de segurançaTestesFalhas de softwareInjeção de falhasVulnerabilidades de segurançaSegurançaTestingSoftware faultsFault injectionSecurity vulnerabilitiesSecurityDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaSoftware testing é uma atividade que tem como finalidade a identificação e posterior correção de falhas que podem diminuir a qualidade do software. Esta atividade é considerada indispensável porque todos cometemos enganos e, apesar de algumas falhas não serem importantes, outras podem ser caras e perigosas. Por esse motivo, é necessário verificar tudo o que é produzido. No entanto, mesmo as melhores técnicas de testes de software deixam falhas por detetar e, em muitos casos, essas falhas são responsáveis por criar vulnerabilidades de segurança. Esta dissertação tem como objetivo desenvolver uma metodologia para a deteção de bugs propensos a criar vulnerabilidades de segurança e que são normalmente invisíveis para as técnicas de teste geralmente usadas. Numa primeira fase, foi feita uma análise aos defeitos mais frequentemente associados a vulnerabilidades de segurança. Esta análise permitiu-nos perceber que tipo de falhas as técnicas de teste falham em detetar e assim desenvolver uma metodologia mais focada neste tipo de falhas. A ferramenta desenvolvida é capaz de criar casos de teste com base nas constantes presentes no código. Por outro lado, também é capaz de detetar código superfluo, que muitas vezes é invisível às técnicas de teste habitualmente utilizadas. Posteriormente, de modo a verificar a viabilidade da ferramenta desenvolvida, foi realizada uma injeção de vulnerabilidades representativas de forma a avaliar a deteção de falhas pelas metodologias de teste estudadas em comparação com as abordagens desenvolvidas.Software testing is an activity aimed at the identification and later correction of faults capable of reducing the software quality. This activity is essential because the occurrence of mistakes is inevitable and although some of these mistakes are not relevant, others can be expensive and dangerous. Due to this, it is important to test everything that is produced. However, even the best software testing techniques may fail to detect some faults and in many cases these faults result in security vulnerabilities.This dissertation aims at developing an approach to find the bugs that are prone to create security vulnerabilities and that are usually invisible to the strategies commonly used. In the first phase, the types of mistakes more frequently associated with security vulnerabilities were analyzed. This analysis allows us to realize a representative fault injection to calculate the detection rate of the commonly used testing techniques in order to understand their effectiveness and the type of faults that are more difficult to detect... develop a methodology more focused on these faults. The developed tool is capable of creating test cases based on the constants present in the code. On the other hand, it is also capable of detecting extraneous faults, which are often invisible to the commonly used testing techniques. Afterwards, to verify the feasibility of the developed tool, it was performed a representative vulnerability injection in order to compare the detection rate of the testing techniques studied in comparison with the developed approaches.2019-09-13info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/88060http://hdl.handle.net/10316/88060TID:202307182engGonçalo, Luís Miguel Aganteinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2021-05-07T10:45:02Zoai:estudogeral.uc.pt:10316/88060Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:08:51.239969Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Software verification aimed at security vulnerabilities
Verificação de software orientada a vulnerabilidades de segurança
title Software verification aimed at security vulnerabilities
spellingShingle Software verification aimed at security vulnerabilities
Gonçalo, Luís Miguel Agante
Testes
Falhas de software
Injeção de falhas
Vulnerabilidades de segurança
Segurança
Testing
Software faults
Fault injection
Security vulnerabilities
Security
title_short Software verification aimed at security vulnerabilities
title_full Software verification aimed at security vulnerabilities
title_fullStr Software verification aimed at security vulnerabilities
title_full_unstemmed Software verification aimed at security vulnerabilities
title_sort Software verification aimed at security vulnerabilities
author Gonçalo, Luís Miguel Agante
author_facet Gonçalo, Luís Miguel Agante
author_role author
dc.contributor.author.fl_str_mv Gonçalo, Luís Miguel Agante
dc.subject.por.fl_str_mv Testes
Falhas de software
Injeção de falhas
Vulnerabilidades de segurança
Segurança
Testing
Software faults
Fault injection
Security vulnerabilities
Security
topic Testes
Falhas de software
Injeção de falhas
Vulnerabilidades de segurança
Segurança
Testing
Software faults
Fault injection
Security vulnerabilities
Security
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2019
dc.date.none.fl_str_mv 2019-09-13
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 http://hdl.handle.net/10316/88060
http://hdl.handle.net/10316/88060
TID:202307182
url http://hdl.handle.net/10316/88060
identifier_str_mv TID:202307182
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799133981634985984