API da semana

Por felipe.dreher
Sobre esse blog:

As APIs são a "cola" da Internet.
Entusiasta por tecnologia e geek convicto, Kleber Bacili é CEO da Sensedia

Home > API da semana

A sua API é realmente privada ou apenas “ligeiramente escondida”?

28 de Janeiro de 2014 - 01h51

Snapchat é um aplicativo móvel para troca de fotos muito popular entre adolescentes com mais de 30 milhões de usuários no mundo todo. O Facebook tentou comprar a empresa em Novembro do ano passado por 3 bilhões de dólares, sem sucesso.

A despeito do sucesso com os usuários, uma empresa australiana relatou que através da engenharia reserva do App para Android do Snapchat é possível descobrir as APIs e implementar programas maliciosos que se passem pelo app oficial se comunicando com o backend. Como o Snapchat não deu muita bola, um grupo de hackers explorou essa brecha e divulgou dados – nome e telefone – de mais de 4,6 milhões de usuários dos EUA e Canadá.

Segurança baseada em “obscuridade” não é, digamos, segura. Algumas boas práticas de design e uma ferramenta de gerenciamento de APIs como o Sensedia API Suite poderiam ter evitado ou minimizado o dano.

Por exemplo:

Gestão de tráfego: soluções de API Gateway permitem que a empresa configure políticas de “rate limiting” que podem evitar que clientes externos bombardeiem a API com chamadas repetidas, bloqueando seu acesso. Outros recursos como “IP filtering” e regras baseadas em tokens de usuários também poderiam ter ajudado.

API pública vs. API privada: a brecha que foi explorada é parte da API privada do Snapchat. Quando a API é pública, o risco de usuários desavisados ou mal-intencionados agirem é maior. Então, sendo privada, essa API poderia estar melhor protegida se amarrasse as invocações a dados específicos do dispositivo sendo usado.

Monitoramento real-time: se a API é monitorada, situações que possam caracterizar um ataque não são difíceis de serem identificadas. Novamente, um API Gateway pode fazer esse papel.

Alertas: um usuário passar uma lista de 100 mil números telefones para a API “Find_Friends” é, no mínimo, um uso totalmente incomum. Essas soluções são também capazes de gerar alertas quando situações inusitadas começam a acontecer. Com o processo correto de análise desses alertas, esse usuários poderia ser rapidamente bloqueado.

O aplicativo móvel da sua empresa, que pode até trafegar dados sigilosos dos usuários, possui algum tipo de proteção contra a de-compilação de seu código e uso inadequado dos serviços de backend expostos através da API privada?

E mais: A sua API é realmente privada ou somente “ligeiramente escondida”?

Posts anteriores

Todos os Blogs