Brasília 2015
DedicatóriaEsse trabalho é primeiramente dedicado à Deus, que me permitiu chegar ao final dele, quando muitas vezes, duvidei da possibilidade de fazê-lo. Em segundo lugar, é dedicado à minha família, especialmente à minha esposa, Giuliana, que foi obrigada a sofrer com minha "ausência" por conta deste mestrado durante quase dois anos.Aos chefes da Controladoria-Geral da União que acreditaram, desde o início, na importância deste trabalho, ele também é dedicado a vocês.Por último, mas não menos importante, dedico este trabalho ao meu orientador -Dr. Guilherme Ramos -pela compreensão e apoio fundamentais em todas as dificuldades enfrentadas.Esse trabalho é para vocês. Esse trabalho é por vocês.iv
AgradecimentosEm primeiro lugar, agradeço à Controladoria-Geral da União por permitir minha participação nesse programa de mestrado. Em seguida, um sincero agradecimento ao corpo docente da Universidade de Brasília que proporcionou, ao longo deste curso, uma extensão da minha maneira de pensar sobre engenharia de software e seus desafios contemporâneos.Agradecimento especial aos participantes do survey realizado ao longo desta pesquisa, bem como ao e Gestão pelo suporte oferecido.Por último, agredecimentos também são dirigidos a organizações como OWASP, MITRE, SOFTEX e Fatto Consultoria que permitiram, por meio de materiais disponibilizados online, a realização deste trabalho.v Palavras-chave: riscos de segurança, linguagem natural, mineração de texto vi Abstract Secure software has its security risks well managed regarding vulnerabilities. IT managers in the Brazilian Federal Public Sector (APF) are legally required to strive for software security. However, only a small number of software security professionals are employed in the technical support for development, maintenance and acquisition of such software in their public organizations. This problem, combined with recent advances in text mining, especially in natural language processing and multi-label classification, motivate this work on research for a computational solution that can understand the semantics of sentences in documents written in Portuguese and connect them to previously defined software security risks, such as OWASP Top Ten.This solution (A2E) can improve the software factories bidding process of the APF by providing the authors and reviewers of technical specifications with a computational tool which can automatically evaluate the integration between security risks management and software processes described in these documents. After applying A2E to more than 120 thousand sentences extracted from OWASP ASVS and past APF specifications, a survey was conducted to compare its performance with the opinion of software engineers and security specialists through objective metrics like Precision, Recall, Hamming Loss and Negative Predictive Values (NPV).A2E's final version, after a series of improvements in the development process, obtained a significantly better Hamming Loss measure when compared to the specialists' assessments. Additionally, ...