TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Vulnerabilidade e Falhas

Por:   •  19/5/2018  •  Trabalho acadêmico  •  1.371 Palavras (6 Páginas)  •  256 Visualizações

Página 1 de 6

Vulnerabilidade e Falhas

A criptografia sofre ataques de força bruta constantemente. Supomos que um atacante tem um arquivo criptografado  e seu banco de dados se utilize da senha lastPass ou keePass.  Os invasores querem vizualizar os dados, sabe-se que há uma chave de criptografia que desbloqueia.

Para decifrá-la, se utilizam de programas de computadores rápidos, capazes de fazer cálculos e combinações em segundos. Uma série de combinações, até chegar ao objetivo: a senha correta.

Ainda hoje alguns grandes sites cometem o grave erro de guardar as senhas dos usuários em texto puro, fazendo com que um possível roubo de dados ocorra causando um grande problema.

A criptografia é matemática, e como os computadores se tornam mais rápidos em matemática, assim se superam ao tentar todas as soluções e ver qual se encaixa.

Podemos afirmar que em segurança de computadores uma vulnerabilidade é uma fraqueza permitindo que um atacante reduza a garantia da informação de um sistema. A interseção de 3 elementos; uma suscetibilidade ou falha do sistema,  acesso do atacante a falha e a capacidade do atacante em explorar a falha.

O ataque é feito gerando uma chamada “colisão” no algoritmo hash MD5. Essa  colisão acontece quando dois conjunto de dados tem o mesmo resultados de hash.

Colisões encontradas no algoritmo MD5 não são propriamente novidade. Em 2004 a pesquisadora chinesa Wang Xiaoyun e outros demonstraram essas colisões, e em 2005 mostraram dois certificados digitais com o mesmo hash MD5.

Algoritmos como o MD5 são desenhados para que colisões sejam extremamente difíceis de seres encontrados, uma propriedade chamada collision resistance é fundamental para a segurança de assinaturas digitais.

A assinatura digital é feita encriptando o hash de um dado com a chave privada de um algoritmo RSA. É muito importante a validação dessa assinatura, descriptando com a chave pública e comparando com hash calculado para o dado.  Isso quer dizer que eu tenho dois dados com o mesmo Hash, ao assinar um eu também estou na prática  assinando o outro.

[pic 1]

As dez vulnerabilidades de segurança mais comuns:

1 – Problemas na qualidade do código .

Muitas empresas são prejudicadas e tem seus sistemas invadidos por conta de códigos mal elaborados .

Isso é muito comum e tem que ter mais rigor em relação as praticas de programação e para isso, se utilizar de corretores automáticos para que assim se evite erros nos códigos.

2  – Problemas de criptografia .

A funcionalidade da criptografia é manter o sigilo de informações importante . A criptografia é um assunto bastante discutido entre especialistas e pessoas mau intencionadas . Numa empresa, isso dever ser gerenciado por um profissional qualificado e nunca na responsabilidade de amadores.

3 – Vazamento de informações sigilosas.

Essa situação pode acontecer de várias maneiras. Exemplo: quando invasores consegui acessar dados da empresa que não deveriam esta disponíveis. Se utilizam de uma “ injection” no código e a proveitam de instancias e roubam informações de um usuário .

É importante conscientizar os funcionários e se utilizar “ Termos de utilização “ para que as informações do negócios seja mantida em sigilo.

4 – CRLF Injection.

Porta de entrada para códigos maliciosos é o caminho por onde os invasores tem a possibilidade de invadir um sistema, através disso eles conseguem tirar paginas do ar, Cross- sites Scripting, acesso ao navegador do usuário e uma seria de outras possibilidades. Mas esse problema pode ser evitado facilmente por especialistas.

5 – Cross – sites Scripting.

Também conhecido como XSS , acontece quando um invasor explorar uma área de um site que possui conteúdos dinâmico. O invasor gera seu código dentro do site da vitima, causando o roubo de contas de usuários, controle do navegador da vitima e entre outras situações. Isso ocorre com a inserção de caracteres usados em linguagens de programação como pontos de interrogação ou barras.

6 –  Acesso a diretório restritos.

O acesso a diretório restritos pelo invasores é muito comum e qualquer um pode se utilizar desse meio. Através da estrutura dos navegadores aproveitando de sites desprotegidos, acessando um grande numero de arquivos de sistema, acessando nome de usuário, senhas, documentos importantes e código fonte do site/aplicativo. Sempre consultar um especialista em TI para que não haja essa possibilidade de invasões.

7 – Validação de dado deficientes.

Para que se tenha um controle  mais eficiente no que se é executado em seu servidor, deve-se restringir a possibilidade do usuário em relação a validação de dados. Isso é de extrema importância para que não seja invadido por pessoas que agem de má fé, não possibilite que outros leiam e tenham acesso a seus documentos, sessões de browser, executem códigos, entre outras situações.

8 – SQL Injection

SQL Injection é uma tarefa bastante simples, porém se invadido causa sérios danos ao banco de dados  e muitas vez irreparáveis.

9- Falhas no gerenciamento de credencias de acesso.

Recomenda-se que as credenciais de administrador tenham um controle rígido. A conta de adm deve ser utilizada para questões especificas de uso restrito e limitado por funcionários de confiança da empresa.

10 – Erros de ‘time’ e ‘state’ no sistema.

Esse é o tipo ataque mais prejudicial ao sistema, devido a ascensão da computação distribuída, múltiplos sistemas, leitura de diversos hardware e tarefas ao mesmo tempo.

Bibliografia

https://blogs.technet.microsoft.com/risco/2009/01/04/pesquisa-mostra-viabilidade-de-ataques-de-colis227o-com-md5/

 https://seginfo.com.br/2015/12/08/as-10-vulnerabilidades-de-seguranca-mais-comuns-2/

Melhorias propostas e ou implementadas

O processo mais comum, digamos clássico é guardar um hash (também conhecido como digest nesse exemplo) da senha do usuário, usando algum algoritmo de hash unidirecional. Pode- se utilizar a chamada função query do banco de dados, ou talvez o MessageDigest do Javax.security normalmente utilizado para não trafegar a senha entre o servidor web e o banco dados.

Exemplificando:

MessageDigest algorithm=MessageDigest.gbyte messageDigest[] = algorithm.digest(“

...

Baixar como (para membros premium)  txt (9.2 Kb)   pdf (142 Kb)   docx (232.8 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com