A segurança dos apps low-code e no-code

Os aplicativos de low-code reduzem os custos de TI, mas aumentam os riscos de cibersegurança. Como mitigá-los?

Low code, no code e zero code são termos da moda no mundo dos aplicativos, nos quais tarefas que antes exigiam programadores agora xsão realizadas por usuários comuns. A funcionalidade necessária é montada a partir de modelos prontos, a interface é desenhada em um editor WYSIWYG (sigla que significa “What You See Is What You Get”, ou “O que você vê é o formato final”, em tradução livre) conforme necessário e a lógica do programa é descrita por meio de diagramas simples ou trechos de código muito curtos. Tudo isso pode ser feito por um usuário comum sem nenhum treinamento especial. Low code ajuda a reduzir o tempo de desenvolvimento de um aplicativo móvel simples de seis meses para algumas semanas, enquanto uma página promocional para uma loja online ou um novo relatório pode ser entregue em algumas horas.

Existem muitas plataformas no-code por aí: Bubble para desenvolver aplicativos mobile, Webflow para projetar sites e Parabola e Airtable para análise e ciência de dados. Todos esses sistemas ajudam as empresas a reduzir os custos de TI e acelerar o desenvolvimento das funções de negócios.

Claro, existem armadilhas – com os riscos cibernéticos sendo os principais entre eles. Para manter os dados e processos de uma empresa seguros, essas ameaças precisam ser minimizadas já na implementação da plataforma low-code. Aqui está o que mais deve ser mantido em mente.

Contas privilegiadas

Um miniaplicativo desenvolvido por sua empresa em uma plataforma de low-code ou no-code geralmente precisa de acesso a vários bancos de dados e recursos de computação. Geralmente é executado com os privilégios de seu criador e todos os usuários subsequentes do aplicativo executam ações com esse nível de acesso. A partir daí, é um salto curto para ataques de escalonamento de privilégios, e descobrir nos logs quem é o responsável pela atividade maliciosa será problemático.

Mitigação de riscos

  • Implemente o princípio de privilégio mínimo para todas as conexões de banco de dados e API do sistema no-code.
  • Use contas separadas para usuários de miniaplicativos (usar as credenciais do desenvolvedor do aplicativo é inaceitável).
  • Introduza medidas de registro especiais para rastrear quem realmente usa os miniapps quando eles consultam bancos de dados e APIs.

Autorização incorreta

Quase todas as plataformas low-code utilizam o conceito de conector/conexão, permitindo o acesso a bancos de dados e outras aplicações dentro da empresa. A arquitetura desses sistemas não dá ao usuário nenhum controle direto sobre uma conexão após conceder permissão para estabelecê-la. A conexão pode ser reutilizada para fazer outras solicitações dos mesmos dados – inclusive de um miniaplicativo diferente ou até mesmo de um usuário diferente.

Mitigação de riscos

  • Atualize frequentemente os tokens de autorização em sistemas vinculados à plataforma no-code.
  • Monitore as conexões usadas ativamente.
  • Reescreva miniaplicativos programados incorretamente que usam conexões “emprestadas”. Desabilite conexões desnecessárias.
  • Mais uma vez, use o princípio do menor privilégio.
  • Treine os usuários de negócios para compreender os riscos do acesso excessivamente amplo aos dados do aplicativo.

Vazamento ou modificação de dados

Com as plataformas no-code tendo amplo acesso aos dados, os miniaplicativos programados por não especialistas podem retornar mais dados do que o desenvolvedor pretendia. E erros no processamento de dados ou sincronização entre sistemas podem levar à corrupção generalizada de dados não intencional ou mesmo a cópias não autorizadas.

Mitigação de riscos

  • Restrinja o acesso aos dados, minimizando as permissões de gravação e exclusão.
  • Minimize a lista de funcionários autorizados a criar e modificar conexões e configurar regras de acesso para eles.
  • Monitore os dados transferidos pela plataforma no-code para identificar quantidades excessivas em tempo hábil.

Configurações de segurança incorretas

Bugs perigosos e configurações incorretas podem ocorrer no código do miniaplicativo, como: acesso ao armazenamento de arquivos sem criptografia; armazenamento de chaves de API ou outros segredos diretamente no código do aplicativo; acesso a sistemas corporativos sem autenticação adequada. Como muitos aplicativos low-code são fáceis de analisar, os invasores podem exfiltrar rapidamente todas essas informações e usá-las para ataques cibernéticos e outros roubos de dados.

 Mitigação de riscos

  • Garanta a conformidade com as melhores práticas do setor para configurar aplicativos e proteger segredos.
  • Treine os usuários de negócios que criam aplicativos sem código para aderir a tais práticas.
  • Introduza medidas de segurança adicionais ao nível da infraestrutura. Restrinja métodos de acesso inseguros e monitore solicitações anômalas de sistemas sem código.

Fraca sanitização de entrada

A maioria dos aplicativos low-code possui algum tipo de interface que permite inserir dados; por exemplo – um site recém-construído que pede detalhes de contato em um formulário. A verificação dos inputs recebidos por esses formulários de entrada geralmente é insuficiente ou inexistente, deixando-os abertos a ataques clássicos de injeção de SQL.

Mitigação de riscos

  • Treine os usuários de negócios: os miniaplicativos que eles criarem devem verificar e higienizar qualquer informação recebida, seja um formulário de texto, arquivo CSV ou qualquer outra coisa.
  • Implante ferramentas adicionais de limpeza de dados – por exemplo, ao passar consultas SQL da plataforma low-code para um banco de dados.

Vulnerabilidades em módulos

Muitas plataformas no-code têm arquitetura modular com seus próprios repositórios de componentes para projetos de usuários. As vulnerabilidades nesses componentes costumam ser muito sérias e agravadas pelo fato de não poderem ser rastreadas e atualizadas rapidamente usando ferramentas padrão. Esses módulos podem até ser trojanizados se seu desenvolvedor for hackeado.

Mitigação de riscos

  • Limpe regularmente a plataforma. Plug-ins, módulos e outros componentes não utilizados devem ser removidos.
  • Limite a lista de componentes disponíveis para os usuários.
  • Inventariar todos os componentes em uso e monitorar vulnerabilidades e lançamentos de novas versões.
  • Use sistemas de proteção projetados especificamente para sua plataforma low-code (por exemplo, Wordfence para WordPress).

Processamento ilegal de dados

Os bancos de dados armazenados por miniaplicativos às vezes estão sujeitos às regras gerais de uma determinada plataforma low-code, o que significa que os administradores da empresa não têm controle total sobre sua localização e conteúdo. Isso pode levar a violações das leis locais, como a LGPD, em relação ao armazenamento de certos tipos de dados.

Mitigação de riscos

  • Treine usuários de negócios sobre as regras básicas de processamento de dados.
  • Todos os aplicativos que potencialmente têm acesso a dados confidenciais devem ser verificados pela equipe de segurança da informação.

Aplicativos esquecidos

Por sua própria natureza, os aplicativos no-code são fáceis de criar e fáceis de deixar em execução sem serem notados. Por exemplo, se um funcionário sair de uma empresa, seu miniaplicativo pode continuar funcionando e criando relatórios diários. Ou um colega pode continuar usando sem o conhecimento das equipes de TI e infosec.

Mitigação de riscos

  • Mantenha um catálogo detalhado de miniaplicativos, seus proprietários e usuários finais.
  • Exclua aplicativos e conexões desnecessários. Verifique as listas de permissões de usuários e remova aqueles que não precisam mais do aplicativo.
Dicas