Entrar     Registrar  
 
 
De Tudo um Pouco
 
 
Colunas
 
 
Fale conosco
 
 

 

 

 
 Pequenas doações são suficientes para fazer grandes projetos ou manter vivas algumas ideias.
Da forma que você puder, e quiser, ajude-nos a manter o De Tudo Um Pouco no ar.
  ColunasDesenvolvimentoDesenvolvimento Seguro    março 29, 2017

ATENÇÃO Sr. OU Sra. COLUNISTA

Ao adicionar um novo artigo, observe os seguintes elementos:

  • O título do artigo deve estar em CAIXA ALTA;
  • O corpo do artigo não deve ser esquecido e a formatação do mesmo deve ser a seguinte: fonte Verdana, tamanho 2 e o texto deve estar justificado;
  • O resumo do artigo também não deve ser esquecido e a formatação do mesmo deve ser a seguinte: fonte Verdana, tamanho 2 e o texto deve estar justificado.

 

Minimizar
23

Segurança no Desenvolvimento de Software

I - Resumo

Neste artigo será abordado o conceito de Segurança no Desenvolvimento de Software. Os estudos para o desenvolvimento seguro de software, surgiu como uma reação aos sucessivos ataques as aplicações, que exploraram vulnerabilidades que até então, não tiveram seu grau de periculosidade analisadas e avaliadas corretamente. Serão evidenciados os procedimentos básicos padrões.

II – Introdução.

Inevitavelmente, a preocupação de segurança no desenvolvimento de Software tornou-se nos dias atuais o agente mais importante para a garantia na credibilidade do uso de um aplicativo bem como as informações gerenciadas pelo mesmo, frente aos inúmeros tipos de ameaças as instituições e aplicações em todo mundo

Em função da ordem de grandeza dos prejuízos alcançados por tais incidentes de segurança, eles podem ser financeiros, podem ser operacionais, causar danos à imagem da empresa ou quebrar a confiança dos usuários. Em função disso, foram realizadas iniciativas no sentido de estabelecer procedimentos que visam a aumentar a segurança e mitigar as chances de sucesso das investidas às aplicações e aos ativos de informações das instituições.

Foi neste cenário que foram elaboradas as normas Internacionais que abordam os procedimentos de segurança na área de software, padronizando as regras a serem adotadas por organizações como a OWASP, SANS Institute entre outras com a finalidade de divulgar as vulnerabilidades das linguagens de desenvolvimento de software, como também as boas práticas para desenvolvimento seguro de software.

III - Evolução da Segurança na Informática.

Por volta da época das aplicações do tipo Desktop stand-alone e Cliente-Servidor, as possíveis ameaças as aplicações, eram apenas vírus de computador e acesso não autorizado à aplicação na própria rede interna com o intuito de violar ou roubar os dados.

Com o uso comercial intensivo da Web e da quase total interoperabilidade de todos os sistemas operacionais, as aplicações ficaram expostas a exploração de vulnerabilidades por toda a comunidade Web. Para viabilizar ataques sob diversas maneiras, surgiram os malwares que combinados, aumentaram exponencialmente a capacidade de danificar os ativos de informação de um instituição.

Assim sendo, toda a infraestrutura de TI de uma organização, pode ser passível de um incidente de segurança por sua possível vulnerabilidade. Portanto surgem novas regras para fortalecer toda essa infraestrutura e particularmente nesse artigo focamos o surgimento do desenvolvimento seguro das aplicações, que visa reduzir falhas e consequentemente os incidentes de segurança, no ambiente da codificação da aplicação.

IV - A Segurança no Desenvolvimento de Software.

Sabendo-se que existem ameaças que exploram as vulnerabilidades das aplicações, com o objetivo de acessar sem autorização, violar ou adulterar os ativos de informação das organizações, foram estabelecidos princípios básicos que formam o alicerce para a construção de software que priorizem a segurança. Este princípios são:

a) Responsabilidade;

b) Não-repúdio;

c) Autenticidade;

d) Disponibilidade;

e) Integridade e

f) Confidencialidade.

Para que seja implementada de modo adequado na aplicação, a segurança deve ser avaliada em todas as fases do desenvolvimento do projeto, de modo a avaliar o impacto e custo no decurso do trabalho. Isto resulta em procedimentos diferenciados em termos de segurança em cada fase, gerando uma arquitetura de Software com a Segurança integrada, como é detalhado a seguir:

a) Fase de requisitos: Identificar os requisitos de segurança; delinear as soluções de segurança; identificar os ativos críticos e dados sensíveis da aplicação.

b) Fase de arquitetura: Definir e documentar a arquitetura de segurança; identificar as vulnerabilidades; definir a modelagem de ameaças; definir ferramentas e plano de testes de segurança da aplicação.

c) Fase de desenvolvimento: Aplicar os padrões de codificação e testes de software, utilizar ferramentas de análise de código estática, avaliar com ferramentas de testes defuzzing e usar relatórios de auditoria. Nesta fase é importante observar que sempre existe um risco residual inerente da aplicação a ser aceito e avaliado. Também nesta fase é aplicado o ciclo PDCA – Plan-Do-Check-Act (Planejar-Fazer-Checar-Agir) de realimentação dos resultados dos teste, propiciando que os desenvolvedores adequem seus códigos, frente as falhas detectadas.

d) Fase de Homologação:Testes finais de funcionalidades, Revisões de códigos, testes finais de análise estática, aplicação de ferramentas para verificação de vulnerabilidades da aplicação e elaboração de relatórios com as não-conformidades apuradas.

Contudo, visto que as aplicações Web apresentam um conjunto complexo de questões de segurança para os desenvolvedores, existem algumas regras básicas, que independente da linguagem utilizada, procuram proteger a aplicação Web das principais ameaças. Estas regras são:

a) O aplicativo sempre deve identificar o usuário;

b) Eficaz gerenciamento de sessão, uma vez que o usuário caminha pela aplicação, a partir da autenticação;

c) Proteger o fluxo de dados sensíveis ou críticos com mecanismos de criptografia;

d) Através do controle de perfil do usuário estabelecer uma estratégia para o controle de acesso da aplicação;

e) Atenção maior na validação dos dados de entrada, que numa aplicação web é crítica sob o ponto de vista de ameaças externas;

f) Rigoroso planejamento de controle de passagem de parâmetros da aplicação;

g) Identificação e gerenciamento das portas e protocolos permitidos pela aplicação;

h) Manter privilégios administrativos distintos;

i) Proteger as interfaces administrativas;

j) Proteger o armazenamento das configurações da aplicação;

V – Conclusão.

A Segurança não é um produto e sim um processo contínuo em constante revisão e evolução. Assim sendo também os padrões e procedimentos para o desenvolvimento seguro de software, estão em constante mudança, para adequar-se aos novos desafios e diminuir a exposição das aplicações aos riscos, tendo-se em mente no entanto, que não existe em nenhum contexto o “100% Seguro”. A identificação dos níveis de risco e o estabelecimento dos níveis de tolerancia da aplicação, bem como a avaliação dos custos e tempo a serem impactados no projeto, é que determinarão a estratégia adequada para conceber o plano de desenvolvimento seguro da aplicação.

Comentários

Enirique
quarta-feira, 12 de dezembro de 2012 12:31
Mono sf3 e9 necesse1rio caso qieura rodar a verse3o Professional 2.x, que tem alguns recursos adicionais A verse3o classica, que eu acho excelente, ne3o requer o Mono.@ViniciusAssim ne3o vale, rsrsrs KeePass + Dropbox e9 um dos itens do proximo post =DVN:F [1.9.8_1114]aguarde...

Postar comentário

Somente usuários registrados podem postar comentários.
 
  Copyright 2003-2017 - Ronaldo C. E. Santos   Termos de uso  Privacidade