10/11/2015 | Fonte: Computer World

Três coisas que não nos contaram sobre segurança dos aplicativos

Apesar da ampla penetração dos aplicativos em nossas vidas, a segurança ainda é um conceito bastante emergente nesse ambiente

imagem notícia

Não faltam conversas sobre a segurança na empresa. À luz de alguns incidentes recentes de hacking de alta visibilidade, todo mundo está falando sobre a importância de proteger as redes, os dados e os dispositivos para evitar o pior cenário possível em relação às informações confidenciais do cliente ou da organização, ou para o caso de o IP ficar comprometido. Curiosamente, essas conversas muitas vezes se esquecem de um elemento essencial: os aplicativos que funcionam nesses sistemas e a forma como suas próprias vulnerabilidades podem derrubar toda a estratégia de segurança das organizações.

Apesar da ampla penetração dos aplicativos em nossas vidas corporativas e de consumo, a segurança nativa do aplicativo ainda é um conceito bastante emergente. Não se trata de uma solução que sirva em todos os contextos, e em uma época de tanta "agilidade" os desenvolvedores (internos e externos) estão por vezes priorizando a rápida entrada no mercado em detrimento da tecnologia segura.

Então, como vamos resolver essa questão? Pense na segurança dos aplicativos como algo semelhante à construção de uma casa. A integração dos principais serviços básicos de uma casa, como luz elétrica e encanamento, é muito mais fácil durante a fase de construção, quando se faz do zero, e não quando se precisa fazer uma reforma completa para mudar um banheiro para o outro lado da casa. Os mesmos princípios se aplicam na hora de desenvolver aplicativos. A segurança deve estar incorporada nos aplicativos desde o início, e não como um remendo ou como uma ideia que alguém sugeriu na última hora. Quando aplicada à metodologia e à inovação ágeis, é importante que, em cada fase ou iteração, você pergunte: "Como posso violar isso?". Afinal, quanto mais tempo você entrar nos estágios iterativos, mais difícil e caro será voltar atrás e corrigir algo que não ficou bem desde o início.

Com isso em mente, aqui vão algumas considerações e estratégias importantes para garantir o desenvolvimento e a implantação seguros de aplicativos corporativos.

1. Dedique tempo para avaliar o ambiente

Dedicar tempo para definir como é a segurança do aplicativo para você e para sua organização é um primeiro passo natural. Se sua organização estiver desenvolvendo sistemas de controle industrial, por exemplo, você precisa dedicar um pouco mais de tempo e esforço na segurança do que se estivesse construindo aplicativos básicos da Web, como um jogo, que não vão armazenar dados confidenciais ou que permitam a identificação pessoal do cliente.

Eis algumas questões a considerar: que dados formam o armazenamento do aplicativo? Que tipo de dado está passando por esse aplicativo? Qual é o pior cenário possível para a vulnerabilidade? Em que tipos de situações isso poderia ocorrer? Por exemplo, se você fosse fazer uma pesquisa e um hacker realizasse um "dump" de memória completo ou atribua privilégios de acesso mais altos, até que ponto isso seria prejudicial? Da mesma forma, se um funcionário deixa um dispositivo móvel em um táxi, a rede exige uma senha VNP para acesso e será que essa senha está no cache do aparelho? Pense para a frente e implante a política certa para sua empresa. Questionar quem está acessando um aplicativo, e de quais dispositivos, informará diretamente a abordagem que você adota.

2. Estabeleça as bases certas

Ao codificar para proteger um aplicativo, a chave é fazer isso desde o início. Embora possa parecer uma precaução excessiva no momento, está provado que, ao "negar por padrão" tudo durante todo o processo de design, o aplicativo estará fechado e bloqueado o suficiente. Ao atribuir as permissões quando e como são necessárias, ficará muito mais fácil identificar a fonte da vulnerabilidade se e quando ela ocorrer.

Da perspectiva do projeto, embora a interface e a experiência do usuário sejam considerações importantes na evolução de qualquer aplicativo, elas também são intrínsecas à segurança. O objetivo deve ser sempre remover a carga de responsabilidade do usuário final. Por quê? Porque se pessoalmente é necessário fazer uma escolha entre segurança e conveniência, como regra eles vão acabar recorrendo à conveniência – uma decisão que é quase sempre a errada para uma organização. Nesses cenários em que você é forçado a comprometer a conveniência em nome da segurança, ou seja, fazendo com que os usuários insiram uma senha VPN todas as vezes que usam um aplicativo, certifique-se de que eles entendam claramente a lógica por trás dessa decisão.

3. Planeje-se para as contingências

Você pode ter todas as políticas que desejar, mas, se não tiver um plano para apresentar essas políticas, ou se ninguém as entender (e se você não estiver educando os testadores, desenvolvedores ou programadores), você vai colocar em risco a organização. Planejar-se para o desastre é essencial, e parte desse planejamento significa assumir a pressuposição de que alguém está sempre observando sua rede, sua infraestrutura e o que passa por ela, interna ou externamente.

Muitos poderiam perguntar por que vale a pena investir em segurança nativa do aplicativo, quando a alternativa mais lógica talvez fosse proteger a infraestrutura básica e as plataformas compartilhadas. A resposta é a seguinte: se você estiver executando aplicativos na infraestrutura compartilhada, você tem que assumir que essas plataformas não sejam seguras, e que a possibilidade de ocorrer vazamento de dados seja muito real. Pense, por exemplo, nas revelações de Snowden: os dados que supostamente só estavam viajando pelos centros de dados, na verdade, estavam sendo vigiados e coletados.

A maioria das organizações não criptografa as comunicações internas, e as revelações de Snowden mostram que, para manter a segurança, é melhor partir do pressuposto de que sua infraestrutura está aberta. Suponhamos que o usuário esteja em uma rede não confiável, e projete e implante aplicativos com isso em mente. Para os desenvolvedores que trabalham junto com uma equipe interna de infraestrutura de TI ou com um provedor de nuvem, entender quais são suas políticas, com que frequência eles as atualizam e validam, e se usam ou não auditores, são elementos importantíssimos para adotar uma abordagem de defesa em camadas para a segurança do aplicativo. Seu aplicativo pode ser seguro, mas as informações que transportam ou a plataforma na qual está instalado podem não ser; portanto, faz-se necessária uma estratégia multifacetada.

Igualmente importante é avaliar o que você sabe e o que você não sabe sobre o histórico de segurança de um fornecedor. Qual é o tempo de resposta dele se um cliente ou ele próprio perceberem uma vulnerabilidade? Que experiências ele já teve? O fornecedor deve ter sua própria política implantada e ter provas de que ela funciona.

Uma política vigorosa de segurança de aplicativos corporativos exige três coisas fundamentais: 1) Um ponto de contato claro para os funcionários da organização, transparência no SLA que determina a rapidez com que um fornecedor e o departamento de TI podem responder; 2) Uma estratégia clara de mitigação se o fornecedor não conseguir responder de forma rápida; e 3) finalmente, linhas abertas de comunicação: o fornecedor deve alertá-lo se for encontrada uma vulnerabilidade, e não o contrário. Implantando esses processos, junto com uma abordagem "de baixo para cima" para a segurança do aplicativo, o projeto e a implantação significam que estamos no caminho certo para o desenvolvimento de aplicativos seguros e protegidos. Neste mundo, os vazamentos de dados serão a exceção, e não a regra.

Últimas Notícias

Aonde a automação vai nos levar?

Um em cada 3 desenvolvedores trabalha com nuvem privada

É hora de bloquear endereços IP por país?

Acordo Microsoft-Nokia pode matar Windows Mobile

Empresas preveem revolução IP nos próximos anos

Mobilidade: o futuro é multiplataforma, diz especialista

Especial SO Chrome: por que os CIOs não devem desprezá-lo

Yahoo perde com aliança com Microsoft

zaite
Nós usamos cookies e outras tecnologias semelhantes para melhorar a sua experiência em nosso site.
Ao utilizar nosso site e suas ferramentas, você concorda com a nossa Política de Privacidade.

HGCode - Política de Privacidade

Esta política estabelece como ocorre o tratamento dos dados pessoais dos visitantes dos sites dos projetos gerenciados pela HGCode.

As informações coletadas de usuários ao preencher formulários inclusos neste site serão utilizadas apenas para fins de comunicação de nossas ações.

O presente site utiliza a tecnologia de cookies, através dos quais não é possível identificar diretamente o usuário. Entretanto, a partir deles é possível saber informações mais generalizadas, como geolocalização, navegador utilizado e se o acesso é por desktop ou mobile, além de identificar outras informações sobre hábitos de navegação.

O usuário tem direito a obter, em relação aos dados tratados pelo nosso site, a qualquer momento, a confirmação do armazenamento desses dados.

O consentimento do usuário titular dos dados será fornecido através do próprio site e seus formulários preenchidos.

De acordo com os termos estabelecidos nesta política, a HGCode não divulgará dados pessoais.

Com o objetivo de garantir maior proteção das informações pessoais que estão no banco de dados, a HGCode implementa medidas contra ameaças físicas e técnicas, a fim de proteger todas as informações pessoais para evitar uso e divulgação não autorizados.

fechar