Uma arquitetura detalhada da segurança é conseguida melhor com uma aproximação cada vez mais granular que comece de um viewpoint externo e progrida através dos detalhes da execução. Os seguintes componentes organizam a informação necessitada para a criação da arquitetura da segurança de uma aplicação:
|
|
· Avaliação e resposta de risco
· Exigências da segurança
· Segurança da fase do projeto
· Segurança da fase da execução
A avaliação de risco é um processo importante no desenvolvimento de todo o produto ou aplicação. A criação de uma aplicação começa com a faísca de uma idéia. É provável que esta idéia da aplicação resolve um problema, ou fornece a utilidade ou a inovação nova que foram feitas previamente ineficaz ou inefficiently, ou não feito em tudo, por aplicações existentes. Quando a análise for feita para determinar os shortcomings na função das aplicações mais velhas, as considerações da segurança estão esquecidas frequentemente. A tendência focalizar estritamente na funcionalidade que uma aplicação fornece e os benefícios ao dilemma explícito resolve aumentos o potencial para o risco da segurança. É extremamente importante resolver os problemas da segurança de uma aplicação, as.well.as os problemas funcionais.
Conseqüentemente, o primeiro estágio na criação da arquitetura da segurança de uma aplicação deve documentar os riscos inerentes nas aplicações existentes que devem ser substituídas pela criação nova. Os colaboradores devem também anotar os riscos relacionados a uma aplicação com que o programa novo interagirá. A aplicação nova enfrenta frequentemente todas as edições de segurança que cara similar das aplicações, as.well.as as edições novas que se levantam da inovação.
Avaliar os riscos da segurança de uma aplicação requer algum diligence na parte dos desenhadores de aplicação; se os desenhadores tiverem qualquer nível da experiência da segurança, o esforço avaliar riscos torna-se rapidamente menor. A pesquisa a mais básica que identifica as edições de segurança com aplicações relacionadas envolve uma busca através dos arquivos de edições vendedor-específicas da sustentação. Os locais da correia fotorreceptora destas organizações têm geralmente as áreas especiais e os forums que anunciam a disponibilidade dos remendos aos problemas da segurança em suas aplicações. Esta pesquisa dá um sentido das edições comuns enfrentadas pela aplicação nova e pela funcionalidade que fornece. Uma pesquisa mais adicional em forums segurança-específicos fornece um detalhe mais técnico a respeito das naturezas dos problemas, as.well.as um sentido mais largo das edições de segurança relacionadas a uma área de aplicação específica.
Porque os vulnerabilities nas áreas técnicas pertinentes são pesquisados, é importante documentá-las. Criando uma lista de riscos da segurança e de ajudas dos vulnerabilities estabeleça um espaço para a aplicação sob o desenvolvimento, determinando que edições são prováveis afetar o desenvolvimento novo.
Os vulnerabilities sabidos de uma aplicação existente podem fornecer sugestões para a presença ou a falta de uma arquitetura da segurança em seu projeto. Os vulnerabilities podem frequentemente ser categorizados como falhas da execução, falhas de projeto, e falhas funcionais. As falhas da execução relacionam-se ao código real usado fazer a aplicação; fornecem somente um pouco de introspecção à arquitetura da segurança. O projeto e as falhas funcionais refletem o pensamento e o esforço postos no projeto da aplicação. Uma aplicação com uma arquitetura da segurança destaca e strengthens a funcionalidade fazendo a consciência da segurança um a parte inerente dela. Os shortcomings no projeto e na função deixam furos no thoroughness da funcionalidade, criando frequentemente riscos da segurança.
Os projetos fortes reconhecem a funcionalidade fornecida, as.well.as aquela que não é fornecido. O nível o mais básico da funcionalidade possível está definindo que aplicação . Isto é feito sob uma vista completamente positiva porque esboça somente o que uma aplicação faz sob as circunstâncias as mais pristine. Supõe ingènua que o mundo é perfeito e que nada vontade má acontece sempre quando a aplicação está funcionando. Isto significa que todas as entradas serão completamente compreensíveis e cabidas a entrada prevista "molde"—para o exemplo, "todos os usernames será valores alfanuméricos de um comprimento determinado e nenhum usuário , acidentalmente ou de outra maneira, para incorporar um caráter que não seja um número ou letra." Esta vista supõe também que todas as conexões de rede seriam dos clientes conhecidos, e que estes clientes todos se comunicariam com o protocolo apropriado—para o exemplo, "todos os clientes que conectam à aplicação aderirão à seqüência sabida do messaging requerida para executar a comunicação definida." Finalmente, supõe que toda a interação com o sistema se operando ocorre em um ambiente sterile que a aplicação espera—para o exemplo, "cada lima que é modificada existe sempre e é formatada corretamente." Obviamente, este não é necessariamente o caso e não pode esperar-se. Infelizmente, muitas aplicações fazem-no raramente além deste nível do projeto. Um projeto detalhado faz exame na consideração das imperfeições no mundo real. Um projeto desta natureza reconhece aquele que estabelece réguas e os esquemas fornecem a confiabilidade.
Considerando scenarios positivos e negativos para uma aplicação a operação é vital ao criar uma aplicação. A vista negativa define a reação a entrada desconhecida, sintaxe e comunicações inválidas, e as circunstâncias anômalas que puderam ocorrer. A aplicação necessita responder corretamente aos eventos que não se esperam nem não se são definidos. A tabela abaixo compara um projeto básico contra um projeto mais detalhado e os efeitos cada um têm na entrada do usuário, no acesso da lima, e nas conexões do cliente.
Efeitos de básico contra o projeto mais detalhado da segurança em funções da aplicação |
||
| Função Efetuada Da Aplicação | Com Projeto Básico | Com Projeto Detalhado |
| Entrada Do Usuário | A aplicação recebe a entrada inválida e deixa de funcionar porque o valor non-alfanumérico é entendido mal. | A aplicação examina a entrada para valores inválidos e responde com uma mensagem de erro, indicando que um valor non-alfanumérico estêve encontrado. |
| Acesso Da Lima | A aplicação espera encontrar uma lima de base de dados no acesso apropriado do formato, o pronto e da espera. Instead, uma lima doente-formatada ou uma ligação a uma outra lima por esse nome são abertas, os dados tornam-se corrupted, e os ruídos elétricos da aplicação. | A aplicação verifica para ver se há a existência de uma lima nomeada que seja do tipo apropriado, as.well.as o formato interno da lima. |
| Conexões Do Cliente | A aplicação espera um cliente conectar com a primeira mensagem que é "hello." Se um cliente conectar e transmitir algum outro valor, a aplicação espera indefinidamente, disallowing todo o outro cliente de conectar, e é funcionar não mais longo. | A aplicação valida a transmissão e responde com um de advertência indicando que a mensagem recebida era um valor inesperado. |
O grau a que os desenhadores e os colaboradores formulam respostas aos resultados negativos joga um fator significativo na confiabilidade e na segurança de uma aplicação. Quando for frequentemente difícil e infeasible segurar explicitamente cada exceção sabida, as réguas gerais podem fàcilmente ser criadas para segurar eventos indesejados. Estes três exemplos apresentam os scenarios extremamente simples que puderam parecer unrealistic, mas todos ocorreram mais de uma vez em muitas aplicações.
Esta discussão estaria incompleta sem mention das organizações third-party, se comercial ou public domain, que fornecem o software da segurança, os jogos do desenvolvimento, e a ferragem para realçar a segurança das aplicações. Muitas destas organizações comerciais apresentam seus produtos como fornecer "garantiu" a segurança.
Entretanto, não há nenhum substituto da ferragem ou do software para um projeto do bem-pensamento-para fora. Frequentemente, os gerentes, os desenhadores, e os colaboradores são conduzidos acreditar que a adição de alguns componentes complexos e caros da segurança oferecidos por uma organização comercial da segurança fornece a segurança "garantida". Isto é simplesmente untrue; a segurança "garantida" é um fallacy. Este conceito rapina nas vítimas que compreendem a segurança como uma característica ou um componente que possam plugged dentro para a satisfação imediata da segurança.
Poucas aplicações são devoid de componentes da segurança, mas não é suficiente incorporar simplesmente os componentes o mais geralmente sabidos a fim render um projeto ou uma execução seguro. O inclusion de componentes da segurança sem consideração para seu uso não realça a segurança de uma aplicação e pode, no fato, hinder o. Os produtos ofereceram por companhias de segurança são muito valiosos e úteis quando usados corretamente, mas não podem garantir a segurança de uma aplicação. O inclusion de tecnologias de segurança third-party deve ser examinado para a utilidade e o valor, dado as exigências da segurança que são estabelecidas para a aplicação.
Online: 961 users browsing the articles directory
|
|