Defendendo sistemas críticos: tem que ser “inteligente”?

Defendendo sistemas críticos: tem que ser “inteligente”?

Onde quer que eu vá, parece que sistemas “críticos” estão sendo atacados. No começo desse ano as pessoas estavam falando se os aviões podiam ser hackeados. Nós falamos se as redes inteligentes também podiam ser hackeadas. Há cerca de uma semana, a LOT Polish Airlines foi quase totalmente paralisada por um ataque de negação de serviço (DDoS).

Em muitos casos, esses sistemas críticos acabam sendo construídos em um software de código aberto, pronto para uso. Quase uma década atrás, eu disse que um software de código aberto era mais seguro. Apesar disso ter se mostrado verdade em grande parte, problemas mais recentes como o Heartbleed e o Shellshock demonstraram que um software de código aberto também tem seus próprios problemas.

Pessoas não técnicas podem perguntar: “Por que ninguém identificou esses problemas antes? Os desenvolvedores de software são apenas preguiçosos demais? Os desenvolvedores se esqueceram de como criar aplicações seguras?” Basicamente, eles estão perguntando à comunidade de software: como fizemos uma besteira tão grande?

Desenvolver um código seguro é difícil sob as melhores circunstâncias e, infelizmente, para muitos desenvolvedores isso não era uma prioridade. Por pior que seja, um jogo ou um navegador não se mostrar seguro, é uma coisa. Outra coisa é se um dispositivo SCADA, que faz parte de uma usina de energia, falha. E é outra coisa se um dispositivo médico for hackeado e machucar um paciente.

Conforme os dispositivos inteligentes ficam cada vez mais predominantes e são usados em situações críticas, os desenvolvedores terão que entender que agora eles têm uma responsabilidade maior em manter seus produtos de software seguros. Talvez entidades reguladoras dos setores relevantes devam estabelecer novas regras cobrindo a segurança de software! Dada as graves consequências de um software ruim, isso não é tão louco como parece.

Tão importante quanto isso: temos que decidir o que precisa ser protegido e o que precisa ficar online. Por exemplo, as pessoas continuam dizendo: medidores inteligentes são mais seguros e ajudarão a rede de energia. Pode ser verdade, mas quais são as consequências? Quem controla esses dispositivos? Quem tem acesso a esses dados?

Se os dispositivos verdadeiramente críticos serão colocados online, eles precisam ser adequadamente protegidos. O software usado deve ser desenvolvido com as melhores práticas e fortalecido para resistir a explorações. Testes usando métodos “black box” também devem ser estabelecidos para examinar esses sistemas críticos contra vulnerabilidades conhecidas e ataques.

Cada vez mais sistemas críticos estarão conectados em um futuro próximo. O setor de software deve se comportar de maneira responsável para garantir que não vamos repetir os erros de segurança do passado – com mais consequências adversas para a sociedade em geral.

Defendendo Sistemas Críticos: Tem que Ser “Inteligente”? (em inglês)

Publicado originalmente por Raimund Genes (Chief Technology Officer) em TrendLabs.

Categorias

Veja outras publicações

Menu