Desenvolvimento de software seguro
Projeto de pesquisa: Desenvolvimento de software seguro. Pesquise 862.000+ trabalhos acadêmicosPor: kpompeu • 6/10/2014 • Projeto de pesquisa • 836 Palavras (4 Páginas) • 439 Visualizações
Sumário
Resumo 4
Relatório 1: Desenvolvendo Softwares Seguros. 6
Relatório 2: Evitando Estouro de Buffer 9
Referências Bibliográficas 12
Resumo
DESAFIO
O processo de desenvolvimento de software aborda diversas prioridades para produzir um produto com excelência, para atender aos requisitos de seus usuários, interface inteligente e intuitiva, boa usabilidade além de implementar requisitos de Segurança da Informação.
A Segurança da Informação visa à garantia da integridade e confiabilidade de sistemas e dados de uma organização, evitando que informações importantes sejam danificadas ou acessadas de forma indevida.
Para evitar problemas de Segurança da Informação, há diversos conceitos e técnicas a serem utilizados no desenvolvimento de softwares seguros. Essas técnicas são utilizadas tanto nas fases de projeto e análise do sistema quanto na sua implementação.
No desafio proposto, verifica-se a situação em que uma empresa de desenvolvimento de software sofreu diversos ataques em seus sistemas de informações, esses ataques causaram vários prejuízos materiais, comprometendo sua credibilidade no mercado de softwares. Para corrigir as falhas de segurança dos sistemas, essa empresa contratou uma equipe de consultores para auxiliá-la.
Essa equipe, tem como objetivo, identificar e corrigir possíveis falhas de segurança nos sistemas da empresa e implantar os conceitos de desenvolvimento de software seguro desde
as primeiras fases de criação de seus Sistemas de Informações.
A atividade deve ser realizada em grupo para troca de conhecimento e experiências e, para isso, o professor irá definir o número de integrantes. Considere que a equipe foi contratada por um colaborador da empresa representada pelo professor.
No decorrer do desenvolvimento dessa atividade, deverão ser entregues, ao representante da empresa, os seguintes documentos:
Relatório 3: Utilizando Criptografia.
Relatório 4: Evitando Ataques SQL INJECTION.
Relatório 5: Evitando ataques RPC E DDOS.
Relatório 6: Testes de Segurança e Instalação de Software Seguros.
Relatório 3: Utilizando Criptografia
Analisar o código-fonte escrito na linguagem PHP (Hypertext Preprocessor) a seguir:
$texto_criptografado = base64_encode("senha");
echo $texto_criptografado;
O código acima demonstra a utilização do método de criptografia Hash base64.
Pesquise como utilizar na linguagem PHP outros dois métodos de criptografia que
sejam mais fortes que a criptografia base64, justificando por que são mais seguras.
Métodos de criptografia em php
MD5- Metodo mais comum , é um algoritimo de um hash de 128 bits. É um método mais
porque fera uma string alfa-numérica de 32 caracteres. Quando é preciso guardar um dado
importante que ninguém possa ter acesso usa-se o md5, é mais seguro e ninguém tem acesso
O único problema do md5 , é que se hover algum descuido pode se gerar dois md5 iguais ,
duas strings diferentes que acabem como o mesmo md5. É raro mas é um evento que pode
Modo de usar o md5 no php.
$string = ' Metodos de criptografia em php';
$codificada = md5($string);
echo "Resultado da codificação usando md5: " . $codificada;
// a6f964b1c15648a4488f1dacdbb6e2a8
SHA1- Uma outra maneira de usar criptografia em php é o sha1, parecido com o md5, mas
a diferença é que ele tem 160 bits, tem uma string maior de 40 caracteres alfa-numéricos,
que gera uma cadeia de caracteres maior, causando uma encontro de duas strings que,
codificadas são a mesma coisa.
Modo de usar o sha1 no php.
$string = 'Modo de usar o sha1 no php';
$codificada = sha1($string);
Echo "Resultado da codificação usando sha1: " . $codificada;
// dcef6a0bb35e30d1b67f77d3ee7d176a37c97424
Pesquisar como utilizar os métodos de criptografia utilizados no Passo 2, nas linguagens
Java e ASP (Active Server Pages). Observar que nessa pesquisa teremos três métodos de
criptografia (base64 e outros dois métodos resultado da pesquisa anterior).
Metodo de criptografia no Java
String texto = "teste 3";
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(texto.getBytes());
byte[] bytes = md.digest();
StringBuilder s = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
int parteAlta = ((bytes[i] >> 4) & 0xf) << 4;
int parteBaixa = bytes[i] & 0xf;
if (parteAlta == 0) {
s.append(Integer.toHexString(parteAlta | parteBaixa));
System.out.println("M1: " + s2);
//Saida: "M1: bf99afd7f589db5b524cb34f316277b1"
...