Segurança informática : vulnerabilidades aplicacionais - Silva, Tiago Miguel Brito da (2013)
Com o aparecimento dos computadores e com a atual dependência da população relativamente a estas máquinas, surge a necessidade de melhorar a segurança dos sistemas. Há alguns anos atrás que as vulnerabilidades por buffer overflow e DLL injection são consideradas críticas, pois são utilizadas muitas vezes para atacar computadores em rede. Um atacante anónimo, ao realizar um ataque deste tipo, procura obter acesso ilegal a um computador, muitos destes ataques derivam da aplicação de engenharia social. A aliança entre o acesso ilegal a um sistema por via de uma vulnerabilidade com a utilização da Engenharia Social, tem como objectivo a criação de um ataque híbrido. A fim de poder proteger um sistema, é necessário identificar as potenciais ameaças e por conseguinte conhecer e prever a maneira de proceder do possível atacante. Perante este cenário, foi necessário criar proteções que minimizem o risco de ataque muitas vezes partindo de formação dada aos utilizadores e estabelecer um conjunto de critérios que avaliem um sistema, quanto à sua confidencialidade, integridade e disponibilidade. Para provar que as novas funcionalidades de segurança dos atuais sistemas operativos são eficientes contra algumas destas vulnerabilidades, procurou-se neste trabalho construir um malware que testasse essas mesmas funcionalidades. Este programa engloba um ataque por via da injeção de uma DLL, seguido de um escalamento de privilégios, culminando com roubo de informação do utilizador. Na metodologia proposta procurou-se verificar em que condições os sistemas de proteção dos sistemas operativos cedem e permitem a instalação do malware. Através da metodologia proposta foi possível verificar os sistemas operativos que conseguem impedir o ataque. De modo a impedir e a melhorar a mais os sistemas operativos atuais é necessário novas formas de desenvolver software seguro, baseadas na aplicação das teorias existentes, como na adopção de um processo de desenvolvimento que considere os requisitos de segurança como parte integral do projeto de construção de software. Este trabalho espera-se contribuir para a melhoria dos sistemas de segurança dos sistemas operativos.