doctoralThesis
Desenvolvimento Ético de Software : a impossibilidade de desconsideração da Segurança Computacional na produção de software e a premência de mudança na conduta da Indústria, da Academia e dos desenvolvedores
Registro en:
FLORES, Fabiana Figueira Sanches. Desenvolvimento Ético de Software: a impossibilidade de desconsideração da Segurança Computacional na produção de software e a premência de mudança na conduta da Indústria, da Academia e dos desenvolvedores. 2019. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.
Autor
FLORES, Fabiana Figueira Sanches
Institución
Resumen
Devido ao advento da Internet e à massiva produção de sistemas embarcados no presente, há, literalmente, software em todos os lugares. Na sociedade atual, esta irreversível onipresença do software impacta na vida das pessoas e empreendimentos em uma forma inédita, tendo feito com que o desenvolvimento de software e a Indústria de Software atingissem um nível de importância sem precedentes. Embora a Indústria de Software tenha crescido em relevância e evoluído muito nas últimas décadas, dados empíricos sugerem que algumas de suas práticas podem apresentar uma faceta preocupante, especialmente quando considerados a Segurança, a forma com que este atributo é considerado ao longo do desenvolvimento do software e um procedimento usual adotado para evasão de responsabilidade pelo que se produz: a definição de End User License Agreements e de Terms of Services, documentos nos quais são feitas exclusões e limitações de responsabilidade, bem como a difusão da ideia de que o software é oferecido no “estado em que se encontra”. Pretendendo-se examinar estas condutas, foi realizada a investigação ora relatada nesta Tese com foco na obtenção de respostas às seguintes perguntas de pesquisa: Qual é, atualmente, a expressividade das vulnerabilidades de segurança em software? Existem fatores que contribuem para a insegurança no software? É possível se associar preterição dos Requisitos de Segurança em favor dos Requisitos Funcionais ao longo dos processos de desenvolvimento de software? Os desenvolvedores em geral têm um conhecimento formal mínimo sobre Segurança Computacional e sobre Segurança no software? O que a Indústria de Software tem feito relativamente à Segurança? Está a Indústria de Software tentando se evadir à responsabilidade por falhas de Segurança no software que produz, condicionando o uso dos seus produtos/serviços à irrestrita aceitação de cláusulas unilaterais de exclusão/limitação de responsabilidade em End User License Agreements e Terms of Services? Se a Indústria de Software estiver se furtando à responsabilidade pelo que produz, é possível a sua responsabilização no Direito Civil? Se as cláusulas em End User License Agreements e Terms of Services puderem ser tidas como legais, é possível as considerar antiéticas? A Indústria de Software e os desenvolvedores de software agem eticamente quando lidam com os Requisitos de Segurança? Que consequências podem resultar, para o público em geral e para a própria Indústria de Software, da consolidação de um estado de insegurança relativamente ao software? Há algo que possa ser feito para se evitar a consolidação referida? Para se responder a estas perguntas de pesquisa, foi delineado um pragmático estudo quantiqualitativo. Formado um referencial teórico, realizaram-se coletas primárias e secundárias de dados. Partindo-se de uma amostra de dados reais de pentesting obtida junto a uma empresa de Segurança Computacional, de entrevistas, de surveys e de análise documental, construiu-se um panorama geral sobre a segurança atual no software, apresentando-se reflexões sobre a significância dos números obtidos para a Engenharia de Software, para a Academia, para a Indústria de Software e para a sociedade civil. Após a exposição referida, fez-se uma proposta para a superação das potenciais nocivas consequências da Crise de Segurança no Software, apresentando-se comentários finais. Due to the advent of the Internet and to the massive production of embedded systems at present, there is, literally, software everywhere. In nowadays society, this irreversible omnipresence of software impacts people’s lives and enterprises in an inedita way, making the software development and the Software Industry to reach an unprecedented level of importance. Although the Software Industry has grown in relevance and evolved a lot in the last decades, empirical data suggest that some of its practices may have a very worrisome aspect, specially when considered Security, the way in which this attribute is dealt during software development and an usual procedure adopted for evading the responsibility/liability by what it is produced: the definition of End User License Agreements and Terms of Services, documents in which there are liability exclusions and limitations, as well as the diffusion of the idea that the software is provided as it is. Intending to examine these conducts, it was done the inquiry exposed in this thesis with the purpose of obtaining answers to the following research questions: What is the expressiveness of security vulnerabilities in software nowadays? Are there factors that contribute to insecurity in software? Is it possible to associate a preterition in Security Requirements in favor of Functional Requirements during software development processes? Do developers in general have a minimal formal knowledge about Computational Security and about Security in software? What does the Software Industry have done about Security? Is the Software Industry trying to evade its liability by Security fails in the software it produces, conditioning the use of its products/services to the unrestricted acceptance of liability exclusion/limitation clauses that it creates unilaterally in End User License Agreements and Terms of Services? If the Software Industry is evading the liability for what it produces, is it possible its responsibilization by Civil Law? If the clauses in the End User License Agreements and Terms of Services can be reputed legal, is it possible to consider them antiethical? Do Software Industry and software developers act ethically when they deal with Security Requirements? Which consequences can result, for the general public and for the Software Industry itself, from the consolidation of a state of insecureness in software? Is there anything that can be done for avoiding the referred consolidation? For answering these research questions, it was designed a pragmatic quantitative and qualitative study. Built a theoretical background, primary and secondary data gathering were done. Starting with a pentesting sample obtained from real data of a Security Intelligence Company, interviews, surveys and documental analysis, it was constructed an overview about software security nowadays, presenting reflexions about the significance of the number obtained in the mentioned overview to the Software Engineering, to the Academy, to the Software Industry and to the general society. After the exposition referred, it was made a proposal for overcoming the potential nocive consequences of the Crisis of Security in Software, presenting final comments.