Um estudo recente da Universidade Columbia constatou que ficamos sobrecarregados com mais de 70 decisões por dia. Isso considerando apenas as decisões importantes, já que uma pesquisa anterior da Universidade Cornell concluiu que tomamos mais de 200 decisões relacionadas apenas à alimentação em um único dia.
Muitas das decisões que tomamos ao longo do dia não têm consequências a longo prazo. O impacto é mínimo, e a maioria delas não pode ser classificada como "boa" ou "ruim". São apenas as escolhas que fizemos. Mas algumas escolhas têm consequências significativas. Algumas são intencionais e tomadas após cuidadosa reflexão. Outras são involuntárias e só se tornam evidentes em retrospecto.
Algumas consequências não intencionais que parecem óbvias em retrospecto estão relacionadas à segurança de nossas aplicações.
ESCOLHAS: PLATAFORMAS, FRAMEWORKS e COMPONENTES
Desde o primeiro dia de desenvolvimento, decisões são tomadas. Muitas delas envolvem plataformas e frameworks, bibliotecas e componentes de terceiros. Diversas decisões desse tipo são tomadas durante o desenvolvimento. Atualmente, estima-se que entre 80% e 90% de uma aplicação seja composta por componentes de código aberto ou de terceiros. Cada decisão que resulta na inclusão de um componente de código aberto ou de terceiros pode ter consequências, especialmente no que diz respeito à segurança da aplicação. A análise da Black Duck Software aponta uma média de 105 componentes de código aberto por produto de software comercial.
Essas consequências, à primeira vista, não são tão assustadoras. Afinal, uma pesquisa da Contrast Security constatou que as bibliotecas de software representam apenas 7% das vulnerabilidades. A Black Duck encontrou uma média de 22,5 vulnerabilidades de código aberto por aplicação. Quarenta por cento (40%) dessas vulnerabilidades foram classificadas como “graves”. Ainda assim, isso é pouco, considerando que os 10% a 20% restantes de uma aplicação — o código personalizado — são responsáveis pela maioria das vulnerabilidades nas aplicações.
Infelizmente, a maioria das vulnerabilidades não é divulgada por meio de CVEs e de exemplos de código de exploração facilmente acessíveis aos invasores. Agentes mal-intencionados não precisam se esforçar tanto para encontrar alvos em um ambiente no qual os mesmos componentes e bibliotecas costumam ser usados por milhares e milhares de aplicações web. Atualmente, o builtwith.com — que monitora o uso das tecnologias empregadas na criação de aplicativos e sites — contabiliza quase 40 mil sites ativos que utilizam o Apache Struts. A maioria de nós está ciente da exploração bem-sucedida de vulnerabilidades publicadas no Apache Struts 2, que causou um leve pânico na Internet. Situações semelhantes de pânico foram provocadas pela divulgação de vulnerabilidades graves envolvendo outras bibliotecas de código aberto e de terceiros amplamente utilizadas, como a OpenSSL.
Mas não é apenas a decisão de incluir bibliotecas ou componentes de terceiros ou de desenvolver aplicativos com base em frameworks de código aberto que pode ser problemática. Outras escolhas que fazemos durante o desenvolvimento também podem ter consequências graves, principalmente quando levam a práticas de desenvolvimento inseguras.
ESCOLHAS: TROCAR SEGURANÇA POR VELOCIDADE
Nunca é surpresa saber que a segurança foi sacrificada em prol da velocidade. Sempre foi assim. Uma pesquisa da McAfee de 2014 com 504 profissionais de segurança constatou que "em cerca de um terço das organizações pesquisadas, os operadores admitiram que tentam aumentar o desempenho da rede desativando rotineiramente os recursos de segurança do firewall."
Acontece que o desenvolvimento não é diferente. O foco não está na velocidade de execução, mas na velocidade do pipeline. Para atender à demanda por lançamentos mais ágeis de aplicativos e atualizações no mercado, muitos admitem ignorar completamente a segurança durante o desenvolvimento. Uma pesquisa de 2017 da Arxan | IBM com desenvolvedores de aplicativos móveis e de IoT revelou que 26% dos entrevistados não realizam nenhum teste de segurança em aplicativos móveis, e quase metade (48%) não testa aplicativos de IoT. A pressão para cumprir os prazos foi apontada por 69% como o motivo pelo qual a segurança costuma ser ignorada.
Uma pesquisa com os participantes do nosso evento para clientes, Agility, realizado neste verão, reforçou que essa é a realidade. Mais da metade — 62% — admitiu que, em sua organização, havia sacrificado a segurança em favor da velocidade.
E há também as decisões tomadas sobre como as organizações lidam com as vulnerabilidades descobertas. A análise da Black Duck revelou que 10% dos aplicativos verificados em 2018 ainda estavam vulneráveis à falha Heartbleed de 2014. Um estudo da ServiceNow conduzido pelo Ponemon Institute constatou um dado alarmante: 57% das vítimas de violações de segurança afirmaram que poderiam ter evitado o incidente instalando uma correção disponível.
ESCOLHAS TÊM CONSEQUÊNCIAS
Desde o primeiro dia de desenvolvimento até o período pós-implantação, as escolhas que fazemos em relação à segurança de toda a pilha de aplicações são importantes. Essas escolhas não são como decidir entre um hambúrguer ou uma salada no almoço; são decisões cujas consequências podem repercutir não apenas na TI e nos negócios, mas também nos clientes que confiam que os fornecedores de aplicativos levem a segurança a sério.

Pouquíssimos de nós podem afirmar que nunca receberam uma carta começando com "Prezado usuário do aplicativo", informando que nossos dados foram expostos. Isso não é motivo para negligenciar a segurança; pelo contrário, todos devemos nos empenhar mais para proteger as informações pessoais e privadas de nossos clientes.
A melhor maneira de fazer isso é reconhecer que cada escolha, desde o primeiro dia de desenvolvimento, é uma oportunidade de aprimorar a segurança dos aplicativos que desenvolvemos. Faça escolhas conscientes e sensatas.
Sobre o autor

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.
Mais publicações de Lori Mac VittiePublicações relacionadas no blog
O estado da maturidade digital empresarial: a transformação digital ainda não terminou
Explore como a IA impacta as empresas, as aplicações da IA generativa, as estratégias para modernizar as operações de TI e os benefícios da maturidade digital com a F5.
Como a IA generativa acelera a transformação digital
Veja como a IA generativa impulsiona a transformação digital nas empresas, acelerando tendências como a integração de APIs, os desafios dos modelos operacionais de TI híbrida e a adoção de AIOps.
Seis capacidades técnicas para acelerar a transformação digital
As arquiteturas empresariais atuais carecem dos fatores necessários de agilidade, escalabilidade, segurança e observabilidade, essenciais para impulsionar a mudança tecnológica. No entanto, estas seis capacidades fundamentais ajudarão as empresas a gerenciar riscos e desafios ao longo de sua transformação digital.
Inverter a API é a transformação digital de que as empresas precisam para participar e competir em uma economia de APIs
As organizações detêm um valor latente — na forma de APIs internas — que precisam explorar para competir em uma economia de APIs. Embora os desafios técnicos e de segurança possam desestimular algumas delas, as empresas precisam reconhecer que inverter suas APIs permitirá liberar o valor da organização como plataforma.
A modernização da TI começa pela infraestrutura
O hardware e o software evoluíram rapidamente desde os primórdios da internet, mas, para aproveitar ao máximo os benefícios resultantes dessa evolução, as organizações precisam avaliar e modernizar sua infraestrutura e a entrega de aplicativos. Acelere os esforços de modernização com a nova F5 rSeries.