Aplicações web seguras em Django

Detalhes bibliográficos
Autor(a) principal: Teixeira, Adriano Dias
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/79825
Resumo: Dissertação de mestrado em Engenharia Informática
id RCAP_87a45946e5cd880a7ef2b67f3e08478b
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/79825
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 Aplicações web seguras em DjangoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia InformáticaThe main objective of this dissertation was the development of a secure Web application with the Django framework, through the implementation of a set of selected security mea sures. The application that was selected to apply the security measures was an e-commerce platform. Another objective of the present work was to analyze the support, offered by Django, to the development of secure Web applications. The literature review helped us to identify Web application security threats as well as their possible organization in 5 classes: (i) code injection threats, (ii) authentication control threats, (iii) access control threats, (iv) threats to data confidentiality, and (v) threats to the availability of the service. This kno wledge was crucial for the selection of the protection measures to implement in the Web application. The application was developed according to the Scrum agile methodology. The main problems encountered in using Scrum were (i) the need to adapt the methodo logy to a context in which the Scrum team has few members, and (ii) managing the conflict between the need to document sprints and the Scrum practice that favors productivity over documentation. The adopted compromise was to document each sprint before starting the next one. On the other hand, using Scrum improved the definition and fulfillment of the objectives, and allowed for the improvement of the development process itself. These be nefits result from Scrum following an iterative approach geared to the rapid production of functional product increments. From the set of functionalities identified during the re quirement elicitation phase, 18 user stories were successfully implemented, resulting in a minimum viable product, i. e., a functional product that implements the top most priority requirements for potential users. After implementing and testing the application, it was found that the level of security achieved is high, since 16 of the 19 implemented security measures are effective in protecting against the respective attacks. The support provided by Django, to the implementation of the selected security measures, reached a value close to 68 %. Code injection protection is the security measure best supported by Django. At the opposite extreme are the threats to the availability of the service, against which Django does not offer any support.O principal objetivo desta dissertação era o desenvolvimento de uma aplicação Web segura com a framework Django, através da implementação de um conjunto de medidas de segu rança selecionado. A aplicação escolhida para aplicar as medidas de segurança foi uma plataforma de comércio eletrónico. Outro objetivo do trabalho consistia em analisar o su porte, oferecido pelo Django, ao desenvolvimento de aplicações Web seguras. A revisão da literatura ajudou a identificar as ameaças que a segurança das aplicações Web enfrenta, bem como uma possível organização destas em 5 classes: (i) ameaças de injeção de código, (ii) ameaças ao controlo de autenticação, (iii) ameaças ao controlo de acesso, (iv) ameaças à confidencialidade dos dados e (v) ameaças à disponibilidade do serviço. Este conhecimento foi crucial para a seleção das medidas de proteção a implementar na aplicação Web. A apli cação foi desenvolvida de acordo com a metodologia ágil Scrum. Os principais problemas encontrados na utilização do Scrum foram (i) a necessidade de adaptar a metodologia a um contexto em que a equipa Scrum é de dimensão reduzida e (ii) a gestão do conflito entre a necessidade de documentar os sprints e a prática do Scrum, que favorece a rentabili dade do trabalho em detrimento da documentação. A solução de compromisso encontrada passou por documentar cada sprint antes de se iniciar o próximo. Em contrapartida, a adoção do Scrum melhorou a definição e cumprimento dos objetivos, e permitiu o aperfei çoamento do próprio processo de desenvolvimento. Estes benefícios resultam de o Scrum seguir uma abordagem iterativa e orientada à produção rápida de incrementos de produto funcionais. Do conjunto de funcionalidades identificadas durante a fase levantamento de requisitos, foram implementadas com sucesso 18 histórias de utilizador, resultando num produto minimamente viável, ou seja, um produto funcional que satisfaz os principais requisitos que interessam aos potenciais utilizadores. Após a implementação e teste da aplicação, constatou-se que o nível de segurança atingido é elevado, visto que 16 das 19 medidas de segurança são eficazes na proteção contra os respetivos ataques. O suporte oferecido pelo Django, à implementação das medidas de segurança selecionadas, atingiu um valor próximo de 68%. A proteção contra injeção de código é a medida de segurança melhor suportada pelo Django. No extremo oposto estão as ameaças à disponibilidade do serviço, contra as quais o Django não oferece qualquer apoio.Esteves, AntónioUniversidade do MinhoTeixeira, Adriano Dias2018-12-192018-12-19T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/79825por203011082info: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:RCAAP2023-11-18T01:16:22Zoai:repositorium.sdum.uminho.pt:1822/79825Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:02:44.288589Repositó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 Aplicações web seguras em Django
title Aplicações web seguras em Django
spellingShingle Aplicações web seguras em Django
Teixeira, Adriano Dias
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Aplicações web seguras em Django
title_full Aplicações web seguras em Django
title_fullStr Aplicações web seguras em Django
title_full_unstemmed Aplicações web seguras em Django
title_sort Aplicações web seguras em Django
author Teixeira, Adriano Dias
author_facet Teixeira, Adriano Dias
author_role author
dc.contributor.none.fl_str_mv Esteves, António
Universidade do Minho
dc.contributor.author.fl_str_mv Teixeira, Adriano Dias
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Informática
publishDate 2018
dc.date.none.fl_str_mv 2018-12-19
2018-12-19T00:00:00Z
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 https://hdl.handle.net/1822/79825
url https://hdl.handle.net/1822/79825
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 203011082
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 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_ 1799132430688321536