Engenharia de Software - Teste de segurança

4.91k views1801 WordsCopy TextShare
UNIVESP
univesp.br Engenharia de Software Univesp (Universidade Virtual do Estado de São Paulo) Professor: M...
Video Transcript:
E aí [Música] o Olá eu sou professor Marcelo Fantinato Essa é a disciplina engenharia de software e agora nós vamos falar sobre o teste de segurança mais um tipo específico de teste dentro de uma estratégia de teste de software a ser realizada no processo de engenharia de software a bom então falando sobre a segurança da informação é a gente sabe que todo o sistema com informações sigilosas ele principalmente atualmente ele é alvo é para ser assim próprio ou ilegal então a é comum que se Tente fazer acesso a sistemas que de alguma forma possam ter
alguma informação sigilosa ou mesmo que ao acessar as informações de sistema de forma Não autorizada de forma ilegal você acaba e conseguindo o o o invasor consiga causar algum prejuízo a alguém ou algum benefício a ele próprio é então por isso o desenvolvedor quando ele está desenvolvendo o sistema ele precisa se preocupar para tornar esse acesso não autorizado difícil né porque eu digo difícil eu não digo o impossível naquela linha do que a gente já vem trabalhando nas aulas anteriores é impossível tornar o acesso não autorizado impossível Então o que ele vai fazer é deixar
o mais difícil possível né para o a pessoa que vai tentar então o desenvolvedor junto com uma equipe especialista em segurança Ele vai tentar é desenvolver o técnicas para fazer o tudo que for possível necessário e esses acessos não autorizados isso é o papel do desenvolvedor o papel do analista de teste de segurança do testador é a fazer o teste para saber se isso foi feito da forma adequada ou não se realmente está sendo possível é segurar o acesso não autorizado e até em que ponto em até que medida a gente sabe que existem vários
exemplos é a várias motivações para alguém tentar invadir um sistema né Por exemplo hacker que tenta invadir o sistema simplesmente por diversão funcionários desgostosos que tentam invadir por vingança as pessoas às vezes até trabalho na empresa ainda é mais achando que vão ficar anônimos alguns até conseguem eles ainda trabalha na própria empresa empresa podem invadir o sistema para tentar destruir alguma coisa ou para tentarem captar alguma informação e usar em seu benefício próprio a desonesta os que tentam invadir para obter ganhos pessoais e ilícitos é ou até mesmo concorrentes desonestos então motivações não faltam para
algumas pessoas fazerem esse tipo de acesso não autorizado é e como que esse tipo de acesso não autorizado é feito quais são os tipos de invasao você pode né a pessoa interessada pode simplesmente roubar informações sigilosas as vai lá rouba né faz uma cópia né geralmente é uma cópia de uma informação é digital sigilosa pode modificar o com o conteúdo que tá lá de forma que o que estava lá vai não vai ser mais usado como era usado antes é pode degradar o desempenho do sistema E aí a gente vai ter um crossover aí com
a aula anterior lá ou se o desempenho era degradado de uma o desempenho poderia ser de degradado de tal a atrapalhar na segurança e agora na brecha na segurança pode fazer alguém entrar e degradar o desempenho do sistema deixar alto desempenho do sistema muito ruim a pode desabilitar uma funcionalidade alguém pode entrar no sistema simplesmente para desabilitar uma funcionalidade seja por vingança seja por diversão ou seja um concorrente é ou seja atrapalhar uma pessoa uma organização a um negócio uma forma geral então você pode fazer diferentes ações ao invadir um sistema a invasão é sempre
alguma ação que você faz de forma Não autorizada E para isso então dentro da área de teste de software existe a área de teste de segurança que é checar se os mecanismos de proteção que foram incorporados no sistema né Não só projetados mais incorporados E implementados se eles são suficientemente os dados de acordo com os requisitos de novo não verificar se eles são perfeitos se o sistema está a prova de qualquer acesso não autorizado por que nenhum sistema no mundo é completamente perfeito nesse ponto mas se se aquele sistema em particular ele está bom o
suficiente considerando os requisitos para aquilo né a mais nova mais uma vez um requisito no caso não funcional um problema que costuma existir é geralmente os requisitos não-funcionais de segurança não são levantados não são especificados índia aí como saber fazer o teste se você não tem os requisitos mas ele é um outro problema vamos assumir aqui que os requisitos eles existem e você então vai verificar se os requisitos estão sendo satisfeitos bom então durante o teste de segurança novamente como é que você vai projetar casos de testes você vai projetar casas de teste que de
alguma forma investir em é vulnerabilidades do software para descobrir os pontos fracos é que os as pessoas mal intencionadas vão tentar explorar Então você no seu teste de segurança vai tentar fazer a mesma coisa que as pessoas mal intencionadas tentariam fazer certo e isso pode acontecer do lado do cliente ou do lado do Servidor ou também no lá na comunicação entre o cliente eo servidor então pensando aí que a maioria dos sistemas de alguma forma tem um servidor um cliente uma comunicação entre cliente e servidor as vulnerabilidades pode estar nesses três componentes servidor cliente ou
comunicação do lado do cliente normalmente as vulnerabilidades elas existem nos navegadores então e por exemplo quando vocês usam algum aplicativo web num computador Vocês estão usando um navegador o Chrome o Edi O Firefox e às vezes esse navegador já tem alguma vulnerabilidade E aí quem desenvolve o aplicativo né para rodar nesse navegador fica sujeito aquelas vulnerabilidades mas é paciência né você precisa e tentar evitar de qualquer forma não é porque o seu sócio está usando um software de terceiro que você vai dizer bom se acontecer algum problema uma problema meu não é problema seu de
qualquer forma Então vamos testar inclusive para tentar encontrar vulnerabilidades no software de terceiro que o seu software preciso usar e além de navegadores programas de e-mail costumam ser teve a vulnerabilidades e outros softwares de comunicação inclusive softwares baixo nível que ficam mais perto do sistema operacional e que você às vezes nem como usuário nem tem acesso né apenas o seu o software é que usa os serviços do software de comunicação o aplicativo final é que o sol os serviços do software de comunicação do lado do servidor é a vulnerabilidade se incluem ataques que causam recusa
de serviço então é isso é um termo bastante comum recusa de serviço de nylon of service é de ou és um de maiúsculo ou minúsculo S maiúsculo que a sigla em inglês eu poderia ter posto aqui mas esqueci a que significa que alguém faz um ataque no seu sistema para que o seu sistema não consiga mais atender outras as mães válidas o seu servidor é infecção de scripts mal-intencionados alguém coloca um escript dentro do seu servidor para que esse script desabilite alguma operação do próprio Servidor ou que esse script seja passado do Servidor para o
cliente em vez de atacar diretamente o cliente atacou o servidor para que o servidor com é passe o escript é para o cliente ou então acessos não autorizados no banco de dados que fica do lado do servidor são exemplos né de vulnerabilidades do lado do servidor é bom E aí esses testes de segurança eles devem pôr à prova tecnologias de segurança é que são criados que são incorporados no sistema né inclusive Tecnologias do próprio sistema operacional do sistema como um todo que você como desenvolvedor vai usar vou mandar no seu na segurança do seu sistema
por exemplo Fire Firewall e criptografia autenticação técnicas de de de autorização perto então a você como um analista de teste Você precisa assumir que isso não vai funcionar que que você vai encontrar uma forma de quebrar essas mecanismos de segurança e invadir o sistema que está sendo que está em teste Esse é um conceito que sempre está associado a segurança mas que tem aí uma diferença é o conceito de privacidade então você pode fazer um teste específico é um teste de privacidade é então nós temos dois tipos possíveis de violação que a violação de segurança
EA violação de privacidade é a violação de segurança que é o que a gente tava falando durante toda essa aula é ocorre quando uma ação é executada além das permissões concedidas então para tudo o que pode ser feito dentro de um sistema só se pode fazer se você tiver autorização se você tiver um os lares se você tiver a senha se você tiver direito para fazer aquela operação OK agora é por exemplo se uma aplicação acessa os dados sensíveis para os quais não é concedida a permissão Então essa é uma clara violação de segurança então
se alguém a gente pode até tá falando de dados sensíveis mas não alguém não tem a acesso aquilo e alguém conseguiu ter acesso Aquilo é uma violação de segurança já a violação de privacidade ocorre quando há a divulgação Não autorizada não esperada de alguma informação sensível Então nesse caso nós estamos falando especificamente de informação sensível que foi divulgada sem autorização certo então quando a gente está falando de segurança não precisa necessariamente ser informação sensível informação pessoal de clientes de funcionários basta ser um acesso não autorizado assessor de forma Não autorizada é uma violação de segurança
agora se Além disso houve divulgação de informações sensíveis E então também houve uma violação de privacidade então você pode precisar fazer testes específicos de privada teste de privacidade para saber se não está se não existe o risco de violação de privacidade é exemplos de informações sensíveis né é a localização do usuário pode ser uma informação sensível dados pessoais obviamente são informações sensíveis identificadores como por exemplo cpf rg podem ser informações sensíveis então a o teste de desculpa aqui aqui é o teste de privacidade ele Visa checar os riscos de ocorrer divulgação de dados ou informações
sensíveis sem o consentimento dos proprietários então eu vou fazer um teste de privacidade para saber se o se a esse o serviço e risco de ocorrer esse tipo de divulgação por isso eu possa querer fazer especificamente o teste de privacidade é bom como referências é os livros né é introdução ao teste de software organizado pelos autores delamar Maldonado de hino de 2016 e o livro engenharia de software uma abordagem profissional preze e Max de 2021 é isso visão geral sobre teste de segurança dentro do tópico geral teste de sofre obrigado a [Música] [Música] E aí
[Música]
Copyright © 2024. Made with ♥ in London by YTScribe.com