Temos visto na última década o exponencial crescimento da participação das aplicações no sucesso das empresas. Quem diria 14 anos atrás que iríamos abandonar os DVDs e Blu-ray (na época, recém-lançados) para assistir a filmes e séries em streamings via apps? Que deixaríamos de comprar CDs para ouvir música no celular em aplicativos cuja coletânea remonta dezenas de milhões de músicas?
Em 2019, cerca de 400 bilhões de apps foram baixados, proporcionando um faturamento aproximado de US 190 bilhões somente neste mercado. Estima-se que serão criadas mais aplicações nos próximos três anos do que em toda a história.
O que nos faz pensar: como essas aplicações são criadas? Será que frente a demanda de criação de apps de forma cada vez mais ágil, seus desenvolvedores levam em consideração a segurança dos usuários que baixam os aplicativos? Em um mundo cada vez mais preocupado com a proteção de dados, esse tema não pode ser deixado de lado.
O segredo está na automação. O ideal é que a Esteira de Produção de uma aplicação – análise da codificação e do ciclo de desenvolvimento – esteja automatizada e com parâmetros de segurança desde o início, ainda na codificação. Quanto mais tarde um problema é descoberto, mais tarde acontecerá a correção, consequentemente, os custos para a referida correção ficarão maiores do que se os parâmetros de segurança tivessem sido estabelecidos desde o princípio. Isso se agrava ainda mais se o incidente se tornar tão crítico a ponto de culminar na exposição de dados.
O investimento em prevenção de segurança em todo o ciclo de vida da aplicação diminui prejuízos com imagem, exposição de marca e gastos financeiros.
No atual cenário de negócios, as empresas precisaram diversificar. Quantos casos, além dos citados no começo deste artigo, você conhece onde a empresa é a própria aplicação? Até pouco tempo, em muitos casos a empresa era o produto.
É possível diversificar as possibilidades de serviços oferecidos e, assim, faz-se necessário mais desenvolvimento de aplicações. Com isso, as esteiras crescem e a necessidade de cuidados também.
Otimização
Penso que existem três importantes fatores a serem considerados na criação de uma aplicação: segurança, agilidade e escalabilidade. Ou seja, dar a agilidade e o crescimento que o mercado precisa, com segurança em todos os passos.
Geralmente as empresas de TI responsáveis pelo desenvolvimento pecam nas questões de segurança para garantir a agilidade. Na ânsia de ter a aplicação rodando para atender ao consumidor, podem cometer alguns erros:
Muitas vezes acham que a esteira de produção (o processo produtivo da aplicação) está correta, contemplando todos os fatores, mas quando se coloca um olhar mais atento, percebe-se que a segurança está prejudicada.
Ainda trabalham com muitos processos manuais. Nesse caso, para funcionar, o processo deve ser muito bem escrito e o desenvolvedor, muito bom. Mas o que acontece se a companhia perde o desenvolvedor? Perde o processo! E precisa começar tudo de novo, gastando tempo e dinheiro. Essa troca de desenvolvedores e consequente metodologia de trabalho, certamente, pode também trazer problemas de segurança!
Muitas vezes os procedimentos de segurança não estão automatizados. Por isso, nem sempre as validações são feitas do mesmo jeito garantindo uma padronização.
E como podemos resolver essas questões?
Gosto de usar a seguinte equação do ponto de vista da segurança: ataque x vulnerabilidade = incidente.
Se conseguimos diminuir a quantidade de ataques à aplicação, diminuímos a quantidade de incidentes. Da mesma forma, se conseguimos diminuir as vulnerabilidades, diminuímos também os incidentes.
Ao utilizar o modelo "Tudo como Serviço" (XaaS), ou seja, obter as melhores ferramentas via nuvem e o melhor gerenciamento como prestação de serviço, é possível relacionar os ataques e falhas de segurança que são monitorados em todo o mundo e comparar com as vulnerabilidades dos aplicativos que estão na Esteira de Desenvolvimento. Cria-se, então, métodos de proteção confiáveis, frequentemente atualizados e melhorados.
Inteligência
Para o melhor processo de desenvolvimento de uma aplicação, é preciso colocar inteligência de automação em cada passo, desde o começo do seu ciclo de vida. Dessa forma, em cada input criam-se regras e auto avaliações muitas vezes utilizando-se da própria Inteligência Artificial
Com uma ferramenta bem estruturada, é possível avaliar se o código está seguindo um rumo seguro. Caso haja algum problema, pop-ups aparecem na tela e avisam o desenvolvedor, que pode, inclusive, acessar vídeos e literaturas que mostrem as melhores formas de seguir com o desenvolvimento.
Esta é a melhor maneira de conseguir tudo o que se necessita: agilidade, escalabilidade e segurança. Na era dos apps, estes processos se tornaram essenciais! Quem não os levar em consideração corre o risco de não evoluir no cenário digital cada vez mais emergente.
Amir Velho, product owner com foco em segurança da informação na Agility.