{"id":21504,"date":"2023-07-11T15:45:05","date_gmt":"2023-07-11T18:45:05","guid":{"rendered":"https:\/\/www.kaspersky.com.br\/blog\/?p=21504"},"modified":"2023-07-12T11:17:02","modified_gmt":"2023-07-12T14:17:02","slug":"low-code-apps-security","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.br\/blog\/low-code-apps-security\/21504\/","title":{"rendered":"A seguran\u00e7a dos apps low-code e no-code"},"content":{"rendered":"<p><em>Low code<\/em>, <em>no code<\/em> e <em>zero code<\/em> s\u00e3o termos da moda no mundo dos aplicativos, nos quais tarefas que antes exigiam programadores agora xs\u00e3o realizadas por usu\u00e1rios comuns. A funcionalidade necess\u00e1ria \u00e9 montada a partir de modelos prontos, a interface \u00e9 desenhada em um editor WYSIWYG (sigla que significa \u201cWhat You See Is What You Get\u201d, ou \u201cO que voc\u00ea v\u00ea \u00e9 o formato final\u201d, em tradu\u00e7\u00e3o livre) conforme necess\u00e1rio e a l\u00f3gica do programa \u00e9 descrita por meio de diagramas simples ou trechos de c\u00f3digo muito curtos. Tudo isso pode ser feito por um usu\u00e1rio comum sem nenhum treinamento especial. Low code ajuda a reduzir o tempo de desenvolvimento de um aplicativo m\u00f3vel simples de seis meses para algumas semanas, enquanto uma p\u00e1gina promocional para uma loja online ou um novo relat\u00f3rio pode ser entregue em algumas horas.<\/p>\n<p>Existem muitas plataformas no-code por a\u00ed: <em>Bubble<\/em> para desenvolver aplicativos mobile, <em>Webflow<\/em> para projetar sites e <em>Parabola<\/em> e <em>Airtable<\/em> para an\u00e1lise e ci\u00eancia de dados. Todos esses sistemas ajudam as empresas a reduzir os custos de TI e acelerar o desenvolvimento das fun\u00e7\u00f5es de neg\u00f3cios.<\/p>\n<p>Claro, existem armadilhas \u2013 com os riscos cibern\u00e9ticos sendo os principais entre eles. Para manter os dados e processos de uma empresa seguros, essas amea\u00e7as precisam ser minimizadas j\u00e1 na implementa\u00e7\u00e3o da plataforma low-code. Aqui est\u00e1 o que mais deve ser mantido em mente.<\/p>\n<h2>Contas privilegiadas<\/h2>\n<p>Um miniaplicativo desenvolvido por sua empresa em uma plataforma de low-code ou no-code geralmente precisa de acesso a v\u00e1rios bancos de dados e recursos de computa\u00e7\u00e3o. Geralmente \u00e9 executado com os privil\u00e9gios de seu criador e todos os usu\u00e1rios subsequentes do aplicativo executam a\u00e7\u00f5es com esse n\u00edvel de acesso. A partir da\u00ed, \u00e9 um salto curto para ataques de escalonamento de privil\u00e9gios, e descobrir nos logs quem \u00e9 o respons\u00e1vel pela atividade maliciosa ser\u00e1 problem\u00e1tico.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Implemente o <a href=\"https:\/\/www.kaspersky.com.br\/blog\/zero-trust-security\/15805\/\" target=\"_blank\" rel=\"noopener\">princ\u00edpio de privil\u00e9gio m\u00ednimo<\/a> para todas as conex\u00f5es de banco de dados e API do sistema no-code.<\/li>\n<li>Use contas separadas para usu\u00e1rios de miniaplicativos (usar as credenciais do desenvolvedor do aplicativo \u00e9 inaceit\u00e1vel).<\/li>\n<li>Introduza medidas de registro especiais para rastrear quem realmente usa os miniapps quando eles consultam bancos de dados e APIs.<\/li>\n<\/ul>\n<h2>Autoriza\u00e7\u00e3o incorreta<\/h2>\n<p>Quase todas as plataformas low-code utilizam o conceito de conector\/conex\u00e3o, permitindo o acesso a bancos de dados e outras aplica\u00e7\u00f5es dentro da empresa. A arquitetura desses sistemas n\u00e3o d\u00e1 ao usu\u00e1rio nenhum controle direto sobre uma conex\u00e3o ap\u00f3s conceder permiss\u00e3o para estabelec\u00ea-la. A conex\u00e3o pode ser reutilizada para fazer outras solicita\u00e7\u00f5es dos mesmos dados \u2013 inclusive de um miniaplicativo diferente ou at\u00e9 mesmo de um usu\u00e1rio diferente.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Atualize frequentemente os tokens de autoriza\u00e7\u00e3o em sistemas vinculados \u00e0 plataforma no-code.<\/li>\n<li>Monitore as conex\u00f5es usadas ativamente.<\/li>\n<li>Reescreva miniaplicativos programados incorretamente que usam conex\u00f5es \u201cemprestadas\u201d. Desabilite conex\u00f5es desnecess\u00e1rias.<\/li>\n<li>Mais uma vez, use o princ\u00edpio do menor privil\u00e9gio.<\/li>\n<li>Treine os usu\u00e1rios de neg\u00f3cios para compreender os riscos do acesso excessivamente amplo aos dados do aplicativo.<\/li>\n<\/ul>\n<h2>Vazamento ou modifica\u00e7\u00e3o de dados<\/h2>\n<p>Com as plataformas no-code tendo amplo acesso aos dados, os miniaplicativos programados por n\u00e3o especialistas podem retornar mais dados do que o desenvolvedor pretendia. E erros no processamento de dados ou sincroniza\u00e7\u00e3o entre sistemas podem levar \u00e0 corrup\u00e7\u00e3o generalizada de dados n\u00e3o intencional ou mesmo a c\u00f3pias n\u00e3o autorizadas.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Restrinja o acesso aos dados, minimizando as permiss\u00f5es de grava\u00e7\u00e3o e exclus\u00e3o.<\/li>\n<li>Minimize a lista de funcion\u00e1rios autorizados a criar e modificar conex\u00f5es e configurar regras de acesso para eles.<\/li>\n<li>Monitore os dados transferidos pela plataforma no-code para identificar quantidades excessivas em tempo h\u00e1bil.<\/li>\n<\/ul>\n<h2>Configura\u00e7\u00f5es de seguran\u00e7a incorretas<\/h2>\n<p>Bugs perigosos e configura\u00e7\u00f5es incorretas podem ocorrer no c\u00f3digo do miniaplicativo, como: acesso ao armazenamento de arquivos sem criptografia; <a href=\"https:\/\/www.kaspersky.com.br\/blog\/tokens-on-github\/11702\/\" target=\"_blank\" rel=\"noopener\">armazenamento de chaves de API ou outros segredos diretamente no c\u00f3digo<\/a> do aplicativo; acesso a sistemas corporativos sem autentica\u00e7\u00e3o adequada. Como muitos aplicativos low-code s\u00e3o f\u00e1ceis de analisar, os invasores podem exfiltrar rapidamente todas essas informa\u00e7\u00f5es e us\u00e1-las para ataques cibern\u00e9ticos e outros roubos de dados.<\/p>\n<p><strong>\u00a0<\/strong><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Garanta a conformidade com as melhores pr\u00e1ticas do setor para configurar aplicativos e proteger segredos.<\/li>\n<li>Treine os usu\u00e1rios de neg\u00f3cios que criam aplicativos sem c\u00f3digo para aderir a tais pr\u00e1ticas.<\/li>\n<li>Introduza medidas de seguran\u00e7a adicionais ao n\u00edvel da infraestrutura. Restrinja m\u00e9todos de acesso inseguros e monitore solicita\u00e7\u00f5es an\u00f4malas de sistemas sem c\u00f3digo.<\/li>\n<\/ul>\n<h2>Fraca sanitiza\u00e7\u00e3o de entrada<\/h2>\n<p>A maioria dos aplicativos low-code possui algum tipo de interface que permite inserir dados; por exemplo \u2013 um site rec\u00e9m-constru\u00eddo que pede detalhes de contato em um formul\u00e1rio. A verifica\u00e7\u00e3o dos inputs recebidos por esses formul\u00e1rios de entrada geralmente \u00e9 insuficiente ou inexistente, deixando-os abertos a ataques cl\u00e1ssicos de inje\u00e7\u00e3o de SQL.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Treine os usu\u00e1rios de neg\u00f3cios: os miniaplicativos que eles criarem devem verificar e higienizar qualquer informa\u00e7\u00e3o recebida, seja um formul\u00e1rio de texto, arquivo CSV ou qualquer outra coisa.<\/li>\n<li>Implante ferramentas adicionais de limpeza de dados \u2013 por exemplo, ao passar consultas SQL da plataforma low-code para um banco de dados.<\/li>\n<\/ul>\n<h2>Vulnerabilidades em m\u00f3dulos<\/h2>\n<p>Muitas plataformas no-code t\u00eam arquitetura modular com seus pr\u00f3prios reposit\u00f3rios de componentes para projetos de usu\u00e1rios. As vulnerabilidades nesses componentes costumam ser muito s\u00e9rias e agravadas pelo fato de n\u00e3o poderem ser rastreadas e atualizadas rapidamente usando ferramentas padr\u00e3o. Esses m\u00f3dulos podem at\u00e9 ser trojanizados se seu desenvolvedor for hackeado.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Limpe regularmente a plataforma. Plug-ins, m\u00f3dulos e outros componentes n\u00e3o utilizados devem ser removidos.<\/li>\n<li>Limite a lista de componentes dispon\u00edveis para os usu\u00e1rios.<\/li>\n<li>Inventariar todos os componentes em uso e monitorar vulnerabilidades e lan\u00e7amentos de novas vers\u00f5es.<\/li>\n<li>Use sistemas de prote\u00e7\u00e3o projetados especificamente para sua plataforma low-code (por exemplo, Wordfence para WordPress).<\/li>\n<\/ul>\n<h2>Processamento ilegal de dados<\/h2>\n<p>Os bancos de dados armazenados por miniaplicativos \u00e0s vezes est\u00e3o sujeitos \u00e0s regras gerais de uma determinada plataforma low-code, o que significa que os administradores da empresa n\u00e3o t\u00eam controle total sobre sua localiza\u00e7\u00e3o e conte\u00fado. Isso pode levar a viola\u00e7\u00f5es das leis locais, como a LGPD, em rela\u00e7\u00e3o ao armazenamento de certos tipos de dados.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Treine usu\u00e1rios de neg\u00f3cios sobre as <a href=\"https:\/\/www.kaspersky.com.br\/blog\/pii-gathering-advice\/20998\/\" target=\"_blank\" rel=\"noopener\">regras b\u00e1sicas de processamento de dados<\/a>.<\/li>\n<li>Todos os aplicativos que potencialmente t\u00eam acesso a dados confidenciais devem ser verificados pela equipe de seguran\u00e7a da informa\u00e7\u00e3o.<\/li>\n<\/ul>\n<h2>Aplicativos esquecidos<\/h2>\n<p>Por sua pr\u00f3pria natureza, os aplicativos no-code s\u00e3o f\u00e1ceis de criar e f\u00e1ceis de deixar em execu\u00e7\u00e3o sem serem notados. Por exemplo, se um funcion\u00e1rio sair de uma empresa, seu miniaplicativo pode continuar funcionando e criando relat\u00f3rios di\u00e1rios. Ou um colega pode continuar usando sem o conhecimento das equipes de TI e infosec.<\/p>\n<p><strong>Mitiga\u00e7\u00e3o de riscos<\/strong><\/p>\n<ul>\n<li>Mantenha um cat\u00e1logo detalhado de miniaplicativos, seus propriet\u00e1rios e usu\u00e1rios finais.<\/li>\n<li>Exclua aplicativos e conex\u00f5es desnecess\u00e1rios. Verifique as listas de permiss\u00f5es de usu\u00e1rios e remova aqueles que n\u00e3o precisam mais do aplicativo.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Os aplicativos de low-code reduzem os custos de TI, mas aumentam os riscos de ciberseguran\u00e7a. Como mitig\u00e1-los?<\/p>\n","protected":false},"author":2722,"featured_media":21505,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1119,1655],"tags":[218,335,2842,830,776],"class_list":{"0":"post-21504","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"tag-ameacas","10":"tag-dados","11":"tag-desenvolvimento","12":"tag-tips","13":"tag-riscos"},"hreflang":[{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/low-code-apps-security\/21504\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/low-code-apps-security\/25859\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/low-code-apps-security\/21300\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/low-code-apps-security\/28559\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/low-code-apps-security\/26159\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/low-code-apps-security\/26498\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/low-code-apps-security\/28982\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/low-code-apps-security\/35670\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/low-code-apps-security\/48554\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/low-code-apps-security\/20810\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/low-code-apps-security\/32168\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/low-code-apps-security\/31852\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.com.br\/blog\/tag\/riscos\/","name":"riscos"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/21504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/users\/2722"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/comments?post=21504"}],"version-history":[{"count":3,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/21504\/revisions"}],"predecessor-version":[{"id":21509,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/21504\/revisions\/21509"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media\/21505"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media?parent=21504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/categories?post=21504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/tags?post=21504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}