ATPS GERENCIAMENTO DE SOFTWARE SEGURO
Pesquisas Acadêmicas: ATPS GERENCIAMENTO DE SOFTWARE SEGURO. Pesquise 861.000+ trabalhos acadêmicosPor: ronaldopontes • 2/6/2014 • 4.811 Palavras (20 Páginas) • 412 Visualizações
INTRODUÇÃO
À medida que cresce a importância da internet, os aplicativos estão se tornando altamente interconectados. Antigamente, os computadores normalmente eram ilhas de funcionalidade, com pouca, se alguma, interconectividade. Naqueles tempos não importava se seu aplicativo era inseguro – o pior que você poderia fazer era se auto-atacar – e, contanto que um aplicativo realizasse sua tarefa com sucesso, a maioria das pessoas não se preocupava com a segurança. Esse paradigma é evidente em boa parte dos livros clássicos sobre as melhores práticas publicados no início dos anos 90. Por exemplo, o excelente Code Complete (Microsoft Press, 1993), de Steve McConnell, faz poucas ou nenhuma referência à segurança nas suas 850 páginas.
Os tempos mudaram. Na era da internet, praticamente todos os computadores, servidores, computadores desktop, notebooks, tablets, smartphones pessoais, estão interconectados. Embora isso crie oportunidades incríveis para os desenvolvedores e empresas de software, também significa que esses computadores interconectados podem sofrer ataques. Por exemplo, aplicativos não-projetados para rodar em ambientes altamente conectados (e, portanto, potencialmente hostis) frequentemente tornam os sistemas de computados suscetíveis a ataques, porque os desenvolvedores de aplicativos simplesmente não planejaram os aplicativos para serem conectados em rede e, portanto, acessíveis por invasores mal-intencionados.
A internet é um ambiente hostil, portanto o nosso aplicativo deve ser projetado para suportar um ataque.
Também é bem importante lembrar-se de que sistemas seguros são sistemas com qualidade. Um código projetado e construído com a segurança como recurso principal é mais robusto do que um código escrito com a segurança sendo pensada posteriormente.
A Necessidade de Uma Computação Confiável
Computação confiável não seria uma jogada de marketing. É uma campanha séria para uma melhor segurança nas empresas. Pensando no telefone, no início do século passado, era um milagre o simples fato de os telefones funcionarem. Particularmente, não importava se eles funcionavam apenas por algum tempo ou se não poderíamos fazer chamadas de linga distância. As pessoas até mesmo toleravam inconveniências, como linhas compartilhadas, ocupadas. O fato de que você na verdade, poderia falar com alguém que estava em outra lugar era algo formidável. À medida que os sistemas de telefonia melhoravam, as pessoas começaram a utilizá-los mais frequentemente em suas vidas diárias. E, com o aumento da utilização, as pessoas passaram a considerar os telefones como algo dado como garantido e a depender deles para emergências. Esse é o padrão que devemos fazer nossa infra-estrutura de computação seguir. Nossos computadores precisam estar em execução o tempo todo, realizando as tarefas para as quais os adquirimos; sem travar porque uma pessoa enviou um pacote mal-intencionado e sem seguir as ordens de uma pessoa sem autorização para utilizar o sistema (um hacker).
Evidentemente temos um grande volume de trabalho a fazer para que nossos computadores sejam considerados confiáveis. Há problemas difíceis que precisam ser resolvidos, tais como tornar nossos sistemas autocorrigíveis. Manter grandes redes seguras é um problema muito interessante e não trivial.
Assim como o telefone no século passado, onde não havia, nem muito menos pensava-se em segurança, os nossos softwares após o advento da internet foram se aprimorando, e hoje é uma das principais preocupações de um desenvolvedor.
Fazendo todo Mundo Pensar
“Segurança é uma prioridade” precisa ser a máxima corporativa porque, a necessidade de distribuir um software seguro nunca foi tão importante. Seus usuários exigem que você construa aplicativos seguros – eles veem esses sistemas como um direito, não como um privilégio. Além disso, a equipe de vendas do concorrente vai espalhar boatos aos seus clientes potenciais de que seu código é arriscado e perigoso. Portanto, por onde devemos instigar a segurança em nossa empresa? O melhor lugar é a gerência, o que pode ser um trabalho difícil. É difícil porque precisaremos mostrar um impacto financeiro para a empresa e ao mesmo tempo, oferece pouco ou nenhum retorno financeiro. Vender a idéia de construir produtos seguros à gerência existe tato e, às vezes subversão.
Produtos Seguros São Produtos com Qualidade
Essa é uma questão simples de vender aos nossos superiores. Tudo o que precisamos fazer é perguntar se eles se preocupam em criar produtos com qualidade. Há somente uma resposta: sim! Se a resposta for não, melhor encontrar um emprego em outro local, em algum lugar onde a qualidade é valorizada.
Saber que isso não é tão simples assim, porque não estamos falando de um software perfeito. Um software perfeito é um oximoro, assim como segurança. (como é frequentemente dito na comunidade de segurança, o sistema mais seguro é aquele que está desligado e enterrado em um bunker de concreto, mas mesmo isso não representa uma segurança perfeita). Estamos falando de um software suficientemente seguro para o ambiente em que ele vai operar. Por exemplo, devemos tornar um jogo de múltiplos jogadores seguro a ataques, mas deve investir ainda mais tempo aumentando a segurança de um aplicativo projetado para manipular dados sigilosos de registros médicos ou de inteligência militar.
Apesar do fato de que a necessidade de segurança e a qualidade da segurança são orientadas pelo contexto – situações diferentes indicam soluções diferentes – o que fica evidente nesse argumento é que a segurança é um subconjunto da qualidade. Um produto que não é adequadamente seguro é inferior aos produtos concorrentes. Algumas pessoas argumentariam que a segurança também é um subconjunto da confiabilidade; isso, porém, depende daquilo que o usuário entende por segurança. Por exemplo, uma solução que protege dados secretos não precisa necessariamente ser confiável. Se o sistema entrar em colapso, mas o fizer de uma maneira que não revele os dados, ele ainda poderá ser considerado seguro. Como mostra a figura 1-1, se nós se preocuparmos com a qualidade ou confiabilidade, se preocupara também com a segurança.
Figurar 1-1 Um software seguro é um subconjunto de softwares de qualidade e de softwares confiáveis.
O
...