Crédito da imagem:  DNA Films.

Olá, e obrigado por sua visita. Este post é o primeiro de uma série de três que é dedicada a tratar sobre a relação entre estes dois temas ao mesmo tempo dinâmicos e empolgantes: Inteligência Artificial (IA) e CyberSecurity. Pretendo mostrar, com base em argumentos, e diversas referências técnicas e acadêmicas, como a IA pode, por um lado, proteger ativos de informação, e por outro também servir de ferramenta de ataque aos mesmos ativos.

Este artigo é resultado final de um trabalho de pesquisa demandado pelo grupo TEDIREI (Tecnologia, Direito e Inclusão), do qual tenho honra de fazer parte, e para o qual fui selecionado.

Nesta primeira parte, faço um apanhado com introduções a termos que precisam ser compreendidos antes de podermos prosseguir com o restante da abordagem. Os conceitos aqui definidos serão apresentados nos outros dois futuros posts. Todas as referências que não consistirem de links aparecerão ao final de cada texto. Vamos ao que interessa!

 

Introdução

Segundo o Merriam-Webster, existem duas definições para Inteligência Artificial::

  1. Um ramo da Ciência da Computação que lida com a simulação de comportamento inteligente em computadores;
  2. A capacidade de uma máquina imitar o comportamento inteligente humano.

Portanto, a Inteligência Artificial, ou IA, para simplificar, ocupa-se do estudo e aprimoramento de técnicas de simulação do comportamento humano. Tradicionalmente, os computadores foram projetados e programados para executarem tarefas e cálculos complexos. Atividades repetitivas também encontram nos computadores um terreno fértil, uma vez que podem ser rapidamente finalizadas devido à alta velocidade empregada.

O treinamento consiste em amadurecer o modelo, de maneira a fazê-lo “aprender” que, com base nas entradas fornecidas, deve chegar às saídas esperadas.

No entanto, para que tudo isto funcione, é preciso preestabelecer um conjunto de regras em que os dados que servirão de subsídio para a execução de tais tarefas sejam previamente fornecidos, ou que uma maneira de os obter esteja disponível (como o fornecimento de dados através de teclado ou mouse). Este artigo da revista “C Online Mag” explica de forma bem didática o conceito.

A IA leva este entendimento além. Os programas de computador que implementam IA continuam seguindo regras pré-definidas. Entretanto, os dados são fornecidos antecipadamente através de uma estrutura genericamente conhecida por dataset ou “conjunto de dados”. Este dataset contém entradas e saídas que se esperam obter a partir de tais entradas. De posse dos mesmos, o programa de computador, que normalmente implementa um modelo matemático, é treinado (ou ensinado). Ele “estuda” o dataset.

O treinamento consiste em amadurecer o modelo, de maneira a fazê-lo “aprender” que, com base nas entradas fornecidas, deve chegar às saídas esperadas. Após a fase de treinamento, o modelo passa a ser capaz de gerar saídas após receber entradas não conhecidas ou previamente vistas.

A tecnologia, em qualquer área, pode ser usada tanto para o bem quanto para o mal.

Um paralelo simplista pode ser traçado com o aprendizado de uma parte básica da Matemática: as operações aritméticas. Após aprender as tabuadas, é possível para qualquer pessoa alfabetizada e com nível escolar mínimo realizar cálculos, tendo como base quaisquer números de entrada. Há um período do aprendizado das tabuadas (datasets), bem como a explicação das definições de cada operação aritmética (conjunto preestabelecido de regras). Assim, a junção destes conceitos dá ao ser humano a capacidade de calcular adição, subtração, multiplicação e divisão de qualquer quantidade. Para efeitos de simplificação, foram desconsiderados os conjuntos de números não naturais.

Em cybersecurity, a mesma metodologia pode ser empregada. Do ponto de vista do blue team, ou seja, das pessoas e empresas interessadas em proteger ativos de informação, faz-se uso de grandes datasets contendo detalhes sobre ataques conhecidos e como foram explorados. Tais conjuntos de dados são então aplicados para treinar modelos empregados em sistemas de defesa, de maneira que novas variantes dos ataques possam ser inferidas e automaticamente bloqueadas.

Crédito: Dataversity

Não obstante, o mesmo vale para o red team. De posse de um grupo de vulnerabilidades (como as CVE – Common Vulnerabilities and Exposures, divulgadas pelo MITRE), qualquer indivíduo mal-intencionado pode treinar modelos matemáticos existentes, ou mesmo criar um próprio a partir de workflows amplamente disponíveis na Internet, muitos deles de código livre, como o Tensorflow.

Nada que seja de se espantar. A tecnologia, em qualquer área, pode ser usada tanto para o bem quanto para o mal, e assim vem sendo desde muito tempo. A agência DNEWS tem um excelente artigo com 10 exemplos clássicos deste eterno dilema do mundo tecnológico.

Nos últimos anos, o mundo vem vendo um desenvolvimento exacerbado das áreas de Inteligência Artificial e Aprendizado de Máquina (ou como é mais conhecida em Inglês, Machine Learning – ML). Diversos algoritmos foram criados ou melhorados para atender a necessidades específicas da humanidade. Como exemplos, é possível citar:

  • Verificação de melhores rotas para logiística de entrega de produtos;
  • Inferência sobre massas de dados para criação de perfis de tendências;
  • Emprego de assistentes pessoais em smartphones e tablets para gerenciamento de tarefas rotineiras, ou mesmo para recomendações de entretenimento.

Com tanto avanço acadêmico e profissional (sim, há várias empresas, sobretudo as de Tecnologia da Informação, investindo forte em pesquisa em IA/ML), é de se esperar que o crescimento continue acelerado. Este outro estudodivulgado pelo portal TI Inside, conclui que cerca de 80% das empresas estão efetivamente investindo em Inteligência Artificial.

Assim, vem à tona a preocupação levantada anteriormente sobre como tanto avanço pode significar também progresso nas formas de atacar ativos de informação (sistemas, dados, aplicações) ou geração de código malicioso (malware). Portanto, esta série de posts cobrirá duas vertentes do uso de IA e ML:

  • Vertente 1: A IA pode ser usada para construir ou aprimorar malwares existentes;
  • Vertente 2: A IA pode, de forma equivalente, reconhecer novos padrões de ataques ou de códigos maliciosos e bloqueá-los em tempo hábil.

Alguns termos específicos relacionados à IA precisam ser definidos primeiro, de maneira que fiquem claras as diferenças entre os mesmos:

  1. Inteligência Artificial: é a ciência mais ampla, que se preocupa em imitar habilidades humanas;
  2. Machine Learning: em Português, Aprendizado de Máquina, automatiza a construção de modelos analíticos. Usa métodos provenientes de Redes Neurais, Estatística, Pesquisa Operacional e Física para encontrar informações relevantes ocultas em massas de dados. Tais elementos não necessariamente precisam ser programados previamente para saber onde procurar ou o que concluir a partir de suas descobertas;
  3. Rede Neural: é um tipo de aprendizado de máquina inspirado pelo modo de funcionamento do cérebro humano. É um sistema computacional feito de unidades interconectadas (como neurônios) que processam informações a partir de entradas externas, trocando informações entre cada uma das unidades. O processo pode requerer múltiplas passagens pelos dados e derivar significado a partir de estruturas indefinidas;
  4. Deep Learning: em Português, Aprendizado Profundo, usa redes neurais gigantescas com muitas camadas de processamento, aproveitando-se de poder computacional e técnicas de treinamento aperfeiçoadas para aprender padrões complexos em grandes quantidades de dados. Aplicações comuns incluem reconhecimento de imagem e fala;
  5. Visão Computacional: confia no reconhecimento de padrões e no Deep Learning para identificar o que se encontra em uma imagem ou vídeo. Quando máquinas conseguem processar, analisar e entender imagens, elas se tornam capazes de capturar imagens ou vídeos em tempo real e perceber o que se passa além do primeiro plano;
  6. Processamento de Linguagem Natural (PNL): é a capacidade dos computadores em analisar, entender e gerar linguagem humana, incluindo fala. O estágio seguinte da PNL é a interação com linguagem natural, que permite a seres humanos se comunicarem com computadores usando termos e expressões corriqueiras, como se estivessem interagindo com outros seres humanos.

Para facilitar o entendimento, exceto quando for necessário explicitar um dos tópicos acima, o termo “IA” será usado para significar simplesmente “Inteligência Artificial”.

Termos referentes a ataques também necessitam ser definidos, pois serão empregados algumas vezes nesta série. Importante observar que apenas certas formas de ataque estão contempladas aqui, uma vez que se encontram mais propensas de serem exploradas por mecanismos de IA:

  • APT (Advanced Persistent Threat), ou Ameaça Persistente Avançada: corresponde a combinação de várias técnicas de intrusão para, de maneira insistentes, conseguir acesso não autorizado a um sistema de informação. Vulnerabilidades existentes podem ser exploradas, ou novas podem ser descobertas;
  • Malware: qualquer código malicioso, deliberadamente implantado ou não, que causa danos de graus distintos nos sistemas alvo;
  • Botnet: conjunto, normalmente de tamanho considerável, de computadores geograficamente dispersos que fazem parte, muitas vezes sem qualquer consentimento de seus respectivos proprietários, de uma rede de ataque com comando e controle centralizado. A partir do comando central, ataques (normalmente DDoS) são disparados contra um alvo;
  • Distributed Denial of Service: metodologia de ataque que consiste na geração de uma quantidade absurda de pacotes, comumente de pequeno tamanho, destinados a um ou poucos alvos. A intenção é tirar do ar algum serviço que está sendo prestado pelo alvo, como um servidor web, por exemplo. O objetivo é atingido quando pelo menos uma destas condições é satisfeita:
    • O(s) servidor(es) responsável(is) pelo serviçoo fica(m) impossibilitado(s) de manipular as conexões de entrada, causando timeout nos clientes;
    • O link de acesso ao(s) servidor(es) alvo fica tão saturado, que se torna impossível para os pacotes o(s) alcançarem.
  • Phishing: corresponde à geração de clone de páginas web reais com o intuito de roubo de dados sensíveis, como números de cartões de crédito, senhas bancárias, CPF, entre outros. Normalmente, as campanhas de phishing são lançadas por e-mail, SMS ou WhatsApp, e os usuários são propositadamente levados a clicar nesses clones de páginas e fornecer seus dados por acreditarem se tratar de sites reais;
  • Poisoning: este termo é exclusivo de “IA”. Consiste em manchar ou sujar datasets (conjunto de dados) com o intuito de que os mesmos não consigam chegar a resultados desejados. Ou seja, o intuito é atrapalhar o processo de treinamento de modelos e comprometer sua efetividade.

 

Mais por vir…

E assim, encerramos a introdução da nossa série. No próximo post, você vai encontrar o “lado negro da força”, ou como a IA pode ser usada para fins maliciosos.

Vejo você lá. 🙂

Compartilhe:

Maurício Harley

Olá! Meu nome é Maurício Harley. Tenho 30 anos de experiência em Tecnologia da Informação. Durante minha carreira, trabalhei em setores diversos, como suporte a usuário final, manutenção de hardware, instalação e suporte a redes de computadores, programação, projetos avançados em Data Center, Cloud Computing, Cyber Security e Redes, incluindo Service Providers.

1 comentário

IA e CyberSecurity - O Bem e o Mal - Parte 3 | Blog itHarley · 2019-05-04 às 15:18

[…] Confira a parte 1 aqui (Introdução aos conceitos); […]

Deixe um comentário

Avatar placeholder

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Translate

You cannot copy content of this page.