You are on page 1of 5

ATPS de Desenvolvimento de Software Seguro ( Cristiano )

TIVIDADES PRTICAS SUPERVISIONADAS ATPS



Etapa 1


Atividade para compreenso da utilizao de recursos seguros no desenvolvimento de
solues computacionais.


SUMRIO

1 O DESAFIO............................................................

2 ETAPA 1.......................................

2.1 RELATRIO 1...............................

2.2 RELATRIO 2...............................

3 REFERNCIAS..............

1 O DESAFIO

O processo de desenvolvimento de software aborda diversas prioridades para produzir
um produto com excelncia, para atender aos requisitos de seus usurios, interface
inteligente e intuitiva, boa usabilidade, alm de implementar requisitos de Segurana
da Informao.
A Segurana da Informao visa garantia da integridade e confiabilidade de
sistemas e dados de uma organizao, evitando que informaes importantes sejam
danificadas ou acessadas de forma indevida.
Para evitar problemas de Segurana da Informao, h diversos conceitos e tcnicas
a serem utilizados no desenvolvimento de softwares seguros. Essas tcnicas so
utilizadas tanto nas fases de projeto e anlise do sistema quanto na sua
implementao.
No desafio proposto, verifica-se a situao em que uma empresa de desenvolvimento
de software sofreu diversos ataques em seus sistemas de informaes, esses ataques
causaram vrios prejuzos materiais, comprometendo sua credibilidade no mercado de
softwares. Para corrigir as falhas de segurana dos sistemas, essa empresa contratou
uma equipe de consultores para auxili-la.
Essa equipe tem como objetivo identificar e corrigir possveis falhas de segurana nos
sistemas da empresa e implantar os conceitos de desenvolvimento de software seguro
desde as primeiras fases de criao de seus Sistemas de Informaes.
Escopo:
Relatrio 1: Desenvolvendo Softwares Seguros.
Relatrio 2: Evitando Estouro de Buffer.

2 PRINCIPIOS DE SEGURANA DE SOFTWARE

Na fase de requisitos:

Economia de mecanismos: Manuteno do desenho simples e menos complexo

Na fase de projeto:

Proteo do ambiente de desenvolvimento: Proteger o ambiente de desenvolvimento
para que no "vaze" informaes importantes referente ao processo de
desenvolvimento do software.

Na fase de implementao:

Validao de segurana na aplicao desenvolvida: Restringir acesso as informaes
contidas no software.

Na fase de Testes:

Mnimo de privilgios:Direitos mnimos e acesso a usurios explicitamente concedidos

Na fase de manuteno:

Padres de falhas seguras:Acesso negado por padro, e garantido explicitamente

3 ETAPA 1

2.1 RELATRIO 1: DESENVOLVENDO SOFTWARES SEGUROS

O fato de que dados/informaes representam algo invisvel, abstrato, colabora para
que a maioria das empresas no os considere algo a ser protegido - embora,
curiosamente, dependam deles para sobreviver. Outro argumento de que segurana
da informao no gera receita direta. Contudo, investir em segurana da informao
importante. So custos justificados quando levados em conta os benefcios
agregados. necessrio cuidar das informaes de uma empresa porque o conjunto
destas forma um bem de grande valor. Como em um seguro de veculos, onde a
relao entre o custo da aplice e o prejuzo evitado no caso de ocorrer um sinistro,
segurana da informao tambm vale o quanto pesa.

O sucesso de um programa de segurana da informao reside em se tomar uma
posio
preventiva contra as ameaas e riscos de segurana, reduzindo os pontos vulnerveis
para evitar que estas fraquezas sejam utilizadas contra a organizao. Profissionais da
rea de segurana da informao esto sempre sob a constante presso de ter que
demonstrar que projetos de segurana produzem retorno sobre investimento, ou seja,
que a execuo de projetos de segurana da informao trar algum benefcio
financeiro para a empresa. Entretanto, a natureza das atividades relacionadas
segurana da informao faz com que projees financeiras desse tipo tornem-se, no
mnimo, difceis de serem realizadas. A atual moda entre fornecedores de
equipamentos e prestadores de servio relacionados segurana da informao de
que projetos nessa rea geram retorno claro sobre seu investimento. Adicionalmente,
a lgica imediatista sugere que agora que a segurana da informao est ganhando
ampla aceitao como um importante aspecto do negcio, o prximo passo seria
haver algum tipo de clculo ou projeo de retorno que justifique seu investimento em
termos negociais. Se os empresrios (ou patrocinadores de um projeto de segurana
da informao) passarem a adotar esse conceito, eles contaro com algo que
simplesmente no existe em sua essncia. Os resultados esperados so geralmente
calculados com base na preveno de alguns futuros eventos hipotticos que, se
viessem a ocorrer, teriam alguma implicao financeira igualmente hipottica. Os
benefcios so muito tericos e incertos para que as empresas possam lev-los a srio
como justificativa de investimento por si s. Portanto, no se deve investir em
segurana da informao tendo como objetivo ganho financeiro, mas para se impedir
que o ganho financeiro que a empresa obtm a partir de sua atividade fim no fique
comprometido devido ocorrncia de um incidente de segurana que tenha
comprometido as informaes de que necessita para conduzir seus processos de
negcio.

A segurana, assim como todas as outras reas de TI, deve ser ampla e holstica.
Para alcanar este objetivo, as organizaes devem iniciar com uma estrutura de
polticas bsicas sobre a qual todas as outras reas se apoiaro. Todos os
componentes de um programa de segurana devem aderir a essa estrutura.

Princpios de Segurana da Informao em um contexto de desenvolvimento de
software:

- confidencialidade: proteger informaes contra sua divulgao para algum no
autorizado, dentro ou fora da empresa. Na fase de projeto, salutar que a
documentao de requisitos, que contm informaes de todos os processos de
negcio envolvidos, seja utilizada somente pela equipe do projeto e para fins
especficos. A equipe (interna ou da empresa contratada) deve se responsabilizar pela
confidencialidade dos documentos. Na fase de desenvolvimento, cuidar para que o
cdigo-fonte, bem como tudo o que produzido pela equipe de desenvolvimento, fique
nos domnios da empresa. Estudar a viabilidade do uso de criptografia. As aplicaes
que sero acessadas externamente no devem expor informaes confidenciais da
empresa. Quando da implantao, enfatizar o uso consciente das informaes em
manuais de utilizao e processos de treinamento.

- disponibilidade: garantir os servios prestados pelo sistema sempre que forem
solicitados. Na fase de projeto, analisar de maneira ampla os pontos de fragilidade das
aplicaes. Na fase de desenvolvimento, tratar excees a fim de contornar possveis
problemas. Testes de stress so importantes. Na implantao, viabilizar solues de
contingncia e recuperao de dados.

- integridade: controlar modificaes em informaes proprietrias. No
desenvolvimento, atentar
para o acesso aos bancos de dados, que deve ser efetuado de forma a no
comprometer qualquer elemento do fluxo de dados. A utilizao de um Sistema de
Gerenciamento de Banco de Dados (SGBD) bem configurado imprescindvel. Com o
sistema em funcionamento, verificar periodicamente o log de alteraes de objetos
crticos.

- autenticidade: identificar corretamente todo e qualquer elemento em um sistema de
informao (usurio, equipamento, etc.). Na fase de projeto, definir com critrio o
papel de cada ator em cada processo para estruturar os perfis de acesso ao sistema.
Na implantao, envolver a equipe de comunicao da empresa na organizao de
campanhas de conscientizao para a segurana da informao.

- conformidade: cuidar para que nenhum recurso tecnolgico esteja em desacordo
com a legislao vigente. Na fase de projeto, alinhar junto aos gestores de direito,
tributos e auditoria quais requisitos devem ser respeitados no desenho do software.

2.2 RELATRIO 2: EVITANDO ESTOURO DE BUFFER

Estouros de buffer ocorrem quando um processo tenta armazenar dados fora dos
limites de um buffer de comprimento fixo. Quando isso acontece, todos os tipos de
comportamento errticos do sistema podem ocorrer e alguns podem ser prejudiciais
para a segurana do sistema. O resultado que os dados extras sobrescrevem os
locais da memria adjacente. Os dados sobrescritos podem incluir outros buffers,
variveis, dados de fluxo do programa, etc. Sobrescrever esses dados pode causar
problemas como comportamento errtico de programas, excees de acesso de
memria, finalizao/travamento de programas, resultados retornados incorretamente
ou uma quebra de segurana.
Estouros de buffer causam muitos defeitos de software e, portanto, so a base de
exploraes dolosas. Sistemas C/C++ so especialmente propensos a estouros. Eles
no fornecem nenhuma proteo para parar o acesso aos dados em qualquer parte da
memria e no verificam automaticamente se os dados gravados em uma matriz de
buffer interna esto dentro dos limites dessa matriz. Por isso voc deve sempre
suportar um sistema que execute verificao de limites por voc ou pelo compilador e
o tempo de execuo.
A causa dos estouros a manipulao incorreta de memria de dados/instrues em
um cdigo-fonte, principalmente em strings e estruturas de dados dinmicas.
Shellcode (instrues que podem ser executadas enquanto outro programa est
rodando) uma porta para o controle de aplicaes vulnerveis.
Solucionar problemas causados por estouros de buffer uma tarefa rdua. Alterar
trechos de cdigo perigosos, utilizando bibliotecas seguras, ou optar por linguagens de
programao com auto-proteo contra acessos indevidos. Tambm possvel
efetuar configuraes no kernel do sistema operacional para que o buffer seja
parcialmente inutilizado. Outra ao instalar patches de proteo de memria
(OpenWall, Pax, etc.).

3 REFERNCIAS

http://www.faustiniconsulting.com/artigo10.htm

http://www.pcforum.com.br/cgi/yabb/YaBB.cgi?num=1252410801

http://www.ibm.com/developerworks/br/library/l-lopbuf1/


http://www.trabalhosfeitos.com/ensaios/Atps-Software-Seguro-5Tads/732165.html

You might also like