Programação segura
Por: Marco Aurelio Teixeira Rodrigues • 24/9/2015 • Trabalho acadêmico • 2.088 Palavras (9 Páginas) • 254 Visualizações
[pic 1]
ANHAGUERA DE CAMPINAS – UNIDADE 2 (PQ VIA NORTE)
ATIVIDADES PRÁTICAS SUPERVISIONADAS APLICADAS AO CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
DESENVOLVIMENTO DE SOFTWARE SEGURO
Jeniffer Gonçalves de Almeida Laura RA: 1299010581
Leandro José Solla RA: 1299010610
Marco Aurélio Teixeira Rodriguez RA: 1299010612
ETAPA 1:Segurança Atualmente. Técnicas Seguras de Codificação: Estouro de Buffer, Controle de Acesso Apropriado.
REQUISITOS * Efetuar brainstorming; * Pesquisa de opinião; * Classificação de dados seguros; * Restrição aos desenvolvedores; |
PROJETO / ANÁLISE * Modelagem de caso / uso; * Mascarar senhas e dados sensíveis; * Técnicas e classificação de politicas de privacidade; |
IMPLEMENTAÇÃO * Todos os formulários de entrada necessitam de validação do sistema; * O software deve conter protocolos de segurança com a função check-in disponível; |
TESTE *Cada atividade do usuário deverá ser rastreada de modo único; *Gerenciar todas as tentativas de logon devem ser registrada; |
MANUTENÇÃO * Erros de exceções devem ser manipulados e corrigidos; * detalhes de segurança devem ser auditados e monitorados periodicamente; |
RELATÓRIO 1:DESENVOLVENDO SOFTWARES SEGUROS.
Para obtermos maior segurança no desenvolvimento de um aplicativo web,devemos nos atentar a vários itens de segurança tais como senhas criptografadas,acesso limitado aos usuários, uso de protocolos de reconhecimento de arquivos inseguros dentre outros.
A cada dia que passa a mais aparelhos conectados a rede de internet nos tornando assim mais vulneráveis aataques cibernéticos colocando computadores,redes,usuário,softwares e grandes organizações em risco.Para desenvolvemos softwares seguros devemos estar sempre atentos as novas tecnologias,e
Mantermos sempres fontes seguras de pesquisas evitando roubo e indisponibilidade da equipe de desenvolvimento.
Conseguimos lograr êxito no que tange a segurança ao adotar normas práticas de boa programação como funções seguras em que temos conhecimento,verificar os códigos de erro retornado por funções e métodos,e atentar para o tamanho de buffers e arrays do software e sempre documentar seus códigos .
Devemos ter um espaço físico restrito para um bom local de desenvolvimento,
com controle de acesso e restrições aos servidores principais da organização,definir bem
as funções de cada ambiente,( desenvolvimento, teste e construção do programa), gerenciando cada etapa do processo,evitando vulnerabilidade que comprometem a segurança do cliente.
RELATÓRIO 2:EVITANDO ESTOURO DE BUFFER.
* Sobrescrever uma variável local que está próxima do buffer na memoria de uma pilha para mudar o comportamento do programa de modo a beneficiar o atacante;
* Sobrescrever o endereço de retorno da pilha uma vez que a função retorna ,a execução irá continuar no endereço especificado pelo atacante , geralmente um buffer seenchido por entrada do usuário;
* Sobrescrever um ponteiro de função ou tratador de exceções ,que é posteriormente executado;
* Sobrescrever estruturas como listas encadeadas e ponteiros que se dá corrompendo dados específicos da programação chamada estourpo de heap ,que comprometem a lincagem de alocação de memória dinâmica (como : malloc)
MEDIDAS DE PROTEÇÃO :
* Sempre escolher uma boa linguagem de programação que tenha uma proteção embutida contra acesso indevido ou quanto a sobrescrever códigos no buffer;
* Uso de bibliotecas seguras bem escritas e testadas que centralizem e chequem
Automaticamente o gerenciamento de buffer
*Criptografar todos os codigos
ETAPA 2: Técnicas Seguras de Codificação: Criptografia.
Os outros dois tipos de criptografia que conseguimos achar são :
O RSA , um dos métodos mais utilizados atualmente pelas empresas de TI
mundial .ele é construído através de áreas matemáticas clássicas, ele consiste na dificuldade de fatorar um numero qualquer com seus números primos o que tornar
de alta complexidade a sua quebra.
O MD5,é de domínio publico a partir de uma mensagem de um tamanho qualquer, criado e desenvolvido pela RSA Data Security Inc.,oque tornar ela uma criptografia segura é que podemos criar vários algoritmos unidirecional que podem ser transformados em password.
BASE64
$codificada = base64_encode($string);
echo "Resultado da codificação usando base64: " . $codificada; // TyByYXRvIHJldSBhIHJvcGEgZG8gcmVpIGRlIFJvbWE= echo " ";
$original = base64_decode($codificada);
echo "Resultado da decodificação usando base64: " .
$original; // O rato reu a ropa do rei de Roma // Note que $original vai ser idêntica a $string
MD5
$palavra = "palavra, valor ou texto a ser encriptado."; echo md5($texto); // RESULTADO: baaa1364d9c44fc768e91fc26134808f //
...