Como a inteligência artificial melhorará a segurança das APIs

Usando modelos de IA para inspecionar as atividades das APIs, podemos resolver falhas deixadas pelas proteções baseadas em políticas

Author Photo
4:06 pm - 30 de janeiro de 2020

As APIs se tornaram essenciais para as iniciativas de transformação digital das organizações, capacitando funcionários, parceiros, clientes e outras partes interessadas a acessar aplicativos, dados e funcionalidades de negócios em todo o seu ecossistema digital. Portanto, não é de se admirar que os hackers tenham aumentado as suas ondas de ataques contra esses ativos críticos das empresas.

Leia mais na IT Trends

Infelizmente, parece que o problema só vai piorar. O Gartner previu que, “até 2022, os abusos de APIs serão o vetor de ataque mais frequente, resultando em violações de dados para aplicativos empresariais da Web”.

Muitas empresas responderam implementando soluções de gerenciamento de APIs que fornecem mecanismos, como autenticação, autorização e limitação. Esses são recursos essenciais para controlar quem acessa as APIs no ecossistema – e com que frequência. No entanto, na construção de estratégias internas e externas, as organizações também precisam lidar com o crescimento de ataques mais sofisticados, implementando segurança dinâmica orientada por inteligência artificial (IA).

Este artigo examina as ferramentas de gerenciamento e segurança de APIs que as organizações devem incorporar para garantir segurança, integridade e disponibilidade em seus ecossistemas.

Medidas de segurança baseadas em regras e políticas

As verificações de segurança baseadas em regras e políticas, que podem ser executadas de maneira estática ou dinâmica, são partes obrigatórias de qualquer solução de gerenciamento de APIs. Os gateways servem como o principal ponto de entrada para acesso à API e, portanto, geralmente lidam com a imposição de políticas, inspecionando solicitações recebidas em relação a regras relacionadas à segurança, limitação, etc. Vamos olhar mais de perto algumas verificações de segurança estáticas e dinâmicas para observar o seu valor.

Verificações estáticas de segurança

As verificações de segurança estáticas não dependem do volume de solicitações ou de nenhum dado anterior, pois geralmente validam os dados em relação a um conjunto predefinido de regras ou políticas. Diferentes verificações de segurança estática são realizadas nos gateways para bloquear a injeção de SQL e diversos tipos de ataques.

As verificações estáticas podem ser aplicadas à verificação de carga útil, inspeção de padrões de acesso, entre outros. Por exemplo, a injeção de SQL é um tipo comum de ataque. Se um usuário enviar uma carga JSON (JavaScript Object Notation), o gateway da API poderá validar essa solicitação específica com relação ao esquema JSON predefinido. O gateway também pode limitar o número de elementos ou outros atributos no conteúdo, conforme necessário, para proteger contra dados ou padrões prejudiciais.

Verificações dinâmicas de segurança

As verificações de segurança dinâmicas, em contraste com as estáticas, estão sempre verificando algo que varia ao longo do tempo. Geralmente, envolve a validação dos dados de solicitação com as decisões tomadas usando as informações existentes.

Exemplos de verificações dinâmicas incluem validação de token de acesso, detecção de anomalias e limitação. Essas verificações dinâmicas dependem muito do volume de dados enviado ao gateway. Às vezes, essas verificações dinâmicas ocorrem fora do gateway da API e as decisões são comunicadas ao gateway. Vejamos alguns exemplos.

A otimização e a limitação da taxa são importantes para reduzir o impacto dos ataques, porque sempre que os invasores obtêm acesso às APIs, a primeira coisa a fazer é ler o máximo de dados possível. A limitação de solicitações de API – isto é, a limitação do acesso aos dados – exige que mantenhamos uma contagem de solicitações recebidas dentro de uma janela de tempo específica. Se uma contagem de solicitações exceder a quantidade alocada naquele momento, o gateway poderá bloquear as chamadas da API. Com a limitação da taxa, podemos limitar o acesso simultâneo permitido para um determinado serviço.

Autenticação

A autenticação ajuda os gateways da API a identificar cada usuário que acessa uma API exclusivamente. As soluções de gateway de API disponíveis geralmente suportam autenticação básica, segurança OAuth 2.0, JWT (JSON Web Token) e segurança baseada em certificados. Alguns gateways também fornecem uma camada de autenticação para validação de permissão adicional. Essa prática é importante quando uma API contém diversos recursos que precisam de diferentes níveis de controle de acesso.

Limitações da segurança tradicional das APIs

As abordagens baseadas em políticas em torno de autenticação, autorização e limitação são ferramentas eficazes, mas ainda deixam brechas pelas quais os hackers podem explorar as APIs. Notavelmente, os gateways enfrentam vários serviços da Web e as APIs que gerenciam são frequentemente carregadas com um alto número de sessões. Mesmo se analisássemos todas essas sessões usando políticas e processos, seria difícil para um gateway inspecionar todas as solicitações sem poder de computação adicional.

Além disso, cada API tem seu próprio padrão de acesso. Portanto, um padrão de acesso legítimo para uma API pode indicar atividade maliciosa para uma API diferente. Por exemplo, quando alguém compra itens por meio de um aplicativo de compras on-line, a pessoa realiza várias pesquisas antes de fazer a compra. Portanto, um único usuário enviando de 10 a 20 solicitações para uma API de pesquisa em um curto período de tempo pode ser um padrão de acesso legítimo para uma API de pesquisa. No entanto, se o mesmo usuário enviar várias solicitações para uma API de compra, o padrão de acesso poderá indicar atividade maliciosa, como um hacker usando um cartão de crédito roubado. Portanto, cada padrão de acesso da API precisa ser analisado separadamente para determinar a resposta correta.

Outro fator é que um número significativo de ataques ocorre internamente. Aqui, usuários com credenciais válidas e acesso a sistemas utilizam a sua capacidade de atacar esses sistemas. Os recursos de autenticação e autorização com base em políticas não foram projetados para impedir esses tipos de ataques.

Mesmo se pudéssemos aplicar mais regras e políticas a um gateway para proteger as APIs contra os ataques descritos, a sobrecarga adicional seria inaceitável. As empresas não podem se dar ao luxo de frustrar usuários genuínos, solicitando que eles suportem os atrasos de processamento de seus gateways. Em vez disso, os gateways precisam processar solicitações válidas sem bloquear ou diminuir as chamadas do usuário.

O argumento para adicionar uma camada de segurança de IA

Para preencher as lacunas deixadas pelas proteções de API baseadas em políticas, as equipes modernas precisam de uma segurança baseada em inteligência artificial que possa detectar e responder a ataques dinâmicos e às vulnerabilidades exclusivas de cada API. Ao aplicar modelos de IA para inspecionar e relatar continuamente todas as atividades da API, as empresas podem descobrir automaticamente atividades e ameaças anômalas da API nas infraestruturas que os métodos tradicionais não atendem.

Mesmo nos casos em que as medidas de segurança padrão são capazes de detectar anomalias e riscos, pode levar meses para as descobertas. Por outro lado, usando modelos pré-criados com base nos padrões de acesso do usuário, uma camada de segurança orientada por IA tornaria possível detectar alguns ataques praticamente em tempo real.

É importante ressaltar que os mecanismos de IA geralmente são executados fora dos gateways e comunicam as suas decisões a eles. Como o gateway da API não precisa gastar recursos para processar essas solicitações, a adição de segurança de IA normalmente não afeta o desempenho do tempo de execução.

Integração de segurança baseada em políticas e orientada por IA

Ao adicionar segurança baseada em AI a uma implementação de gerenciamento de API, haverá um ponto de imposição de segurança e um ponto de decisão. Normalmente, essas unidades são independentes por conta da alta potência computacional necessária, mas a latência não deve afetar a sua eficiência.

O gateway intercepta solicitações de API e aplica várias políticas. Vinculado a ele está o ponto de imposição de segurança, que descreve os atributos de cada solicitação ao ponto de decisão, solicita uma decisão de segurança e aplica essa decisão no gateway. O ponto de decisão, desenvolvido pela IA, aprende continuamente o comportamento de cada padrão de acesso, detecta comportamentos anômalos e sinaliza diferentes atributos da solicitação.

Deve haver uma opção para adicionar políticas ao ponto de decisão, conforme necessário, e invocá-las – que podem variar de API para API – durante o período de aprendizado. Quaisquer políticas devem ser definidas pela equipe de segurança, uma vez que as possíveis vulnerabilidades de cada API que planejam expor sejam completamente compreendidas. No entanto, mesmo sem o apoio de políticas externas, o ponto de decisão adaptável e a tecnologia de ponto de aplicação com inteligência artificial acabarão aprendendo e impedindo alguns dos ataques complexos que não podemos detectar com as políticas.

Outra vantagem de ter dois pontos de imposição de segurança é a capacidade de integração às soluções de gerenciamento de API existentes. Um aprimoramento simples da interface do usuário e uma extensão personalizada podem integrar o ponto de imposição de segurança ao editor e gateway da API. Na interface do usuário, o editor da API pode escolher se deseja ativar a segurança da IA ​​para a API publicada, juntamente com as políticas especiais necessárias.

Desafios da camada de segurança orientada por IA

Obviamente, os benefícios não vêm sem custos. Embora uma camada de segurança orientada por IA ofereça um nível adicional de proteção, ela apresenta alguns desafios que as equipes de segurança precisam enfrentar.

Sobrecarga adicional. A camada de segurança adicional cria alguma sobrecarga ao fluxo de mensagens. Portanto, as soluções de mediação devem ser inteligentes o suficiente para lidar com a coleta e publicação de informações fora do fluxo principal.

Falsos positivos. Um alto volume de falsos positivos exigirá uma revisão adicional por profissionais de segurança. No entanto, com alguns algoritmos avançados de IA, podemos reduzir esse número.

Falta de confiança. As pessoas se sentem desconfortáveis ​​quando não entendem como uma decisão foi tomada. Dashboards e alertas podem ajudar os usuários a visualizar os fatores por trás de uma decisão. Por exemplo, se um alerta indicar claramente que um usuário foi bloqueado por acessar o sistema a uma taxa anormal de mais de 1.000 vezes em um minuto, as pessoas poderão entender e confiar na decisão do sistema.

Vulnerabilidade de dados. A maioria das soluções de IA e aprendizado de máquina depende de grandes volumes de dados, que geralmente são sensíveis e pessoais. Como resultado, essas soluções podem se tornar propensas a violações de dados e roubo de identidade. O cumprimento do GDPR da União Européia (Regulamento Geral de Proteção de Dados) ajuda a mitigar esse risco, mas não o elimina completamente.

Dados defeituosos. A eficácia de um sistema de IA depende dos dados nos quais ele é treinado. Com muita frequência, dados ruins são associados a preconceitos étnicos, comunitários, de gênero ou raciais, que podem afetar decisões cruciais sobre os usuários.

Por conta do papel crítico das APIs nas empresas, elas estão se tornando cada vez mais alvos de hackers e usuários mal-intencionados. Mecanismos baseados em políticas, como autenticação, autorização, verificação de carga, validação e limitação são requisitos básicos para a implementação de uma estratégia de segurança bem-sucedida. No entanto, apenas ao adicionar modelos de IA para inspecionar e informar continuamente todas as atividades da API, as empresas estarão protegidas contra os ataques de mais sofisticados que surgirem.

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.