Violação de dados da Uber: como evitar que seu aplicativo tenha incidentes como esses
Publicados: 2017-11-28Em 2016, a Uber perdeu 57 milhões de informações de usuários e motoristas para hackers, a quem eles pagaram US$ 1.00.000 para excluir os dados.
O incidente veio à tona alguns dias atrás, quando seu CEO, Dara Khosrowshahi, fez um post esclarecendo a violação de dados . E desde então, o caso da segurança de aplicativos entrou em foco.
Uber não é o primeiro caso de violação de dados, há várias vezes em que os dados pessoais dos usuários foram comprometidos: um evento que deixou as pessoas desconfiadas ao usar aplicativos móveis que solicitam suas informações.
Aqui está um visual para mostrar a postura dos usuários de aplicativos móveis à luz das preocupações de segurança do aplicativo –
Veja como é horrível?
No entanto, você pode impedir que seu aplicativo se torne o próximo estudo de caso, alertando as marcas para que seu jogo de segurança de aplicativos seja adequado.
Aqui está como -
1. Proteja seu aplicativo do zero
Existem várias vulnerabilidades no código-fonte do aplicativo, mas a maioria das empresas de aplicativos se concentra apenas na parte da rede enquanto se concentra na implementação das melhores práticas de segurança de aplicativos móveis . Existem muitos lugares que podem ser a base de violações de dados – erro de codificação, teste de código etc.
Aqui estão as coisas que você pode fazer para proteger seu aplicativo desde o dia de sua existência –
- Proteja o código do seu aplicativo com criptografia. Existem duas maneiras de fazer isso – minificação e ofuscação, mas não são suficientes. É aconselhável que você fique com algoritmos bem suportados que são combinados com a criptografia da API.
- Execute a verificação de código-fonte em seus códigos, com frequência
O sinal de um código seguro é que ele permanece seguro mesmo depois de ser portado entre sistemas operacionais e dispositivos. Criar um código ágil ajuda muito nessa frente.
2. Proteja a conexão de rede do back-end
Os servidores em nuvem que estão sendo acessados pela API do seu aplicativo precisam ter medidas de segurança adequadas para impedir o acesso não autorizado e proteger os dados dos usuários. A verificação da API deve estar em vigor para que nenhuma informação confidencial passe do cliente para o banco de dados ou servidor do aplicativo.
Para tornar essa etapa um sucesso, é imperativo que seu processo de desenvolvimento de back-end seja robusto .
Veja como proteger a conexão de rede
- Crie contêineres criptografados para armazenar documentos e dados
- Realize uma série de avaliações de vulnerabilidade e testes de penetração de sua rede para garantir que os dados estejam protegidos.
- Criptografe o banco de dados e as conexões com SSL, VPN e TLS para maior segurança
- Aplicar Federação – a medida, que distribui os recursos pelos servidores para que não fiquem todos em um só lugar, enquanto separa os principais recursos dos usuários.
3. Ter um processo de autenticação, identificação e autorização em vigor
Veja como tornar seu aplicativo identificado, autenticado e autorizado
- Certifique-se de que as APIs que seu aplicativo usa sejam apenas aquelas necessárias para funcionar e dê acesso apenas às partes que estão em foco, em vez de todas as funcionalidades do aplicativo.
- Existem várias ferramentas e protocolos que você pode usar e não deixe de seguir quando seu aplicativo estiver em fase de desenvolvimento. Aqui estão eles -
- JSON Web Token – A ferramenta leve é usada para criptografar a troca de dados, sua implementação sem complicações a torna ideal para aplicativos móveis.
- OpenID Connect – É um protocolo que permite que os usuários reutilizem suas credenciais em diferentes domínios com a ajuda de um token de ID, para economizar tempo em se registrar e se inscrever sempre com as mesmas informações.
- OAuth2 – O protocolo é usado para gerenciar a conexão segura por meio de um token específico do usuário de uma vez. Ao instalar a estrutura no servidor de autorização, ela permitirá que você conceda permissão aos usuários entre os usuários finais e o cliente coletando credenciais, como perguntas SMS de 2 fatores.
4. Faça um conjunto abrangente de testes
Ao contrário de um aplicativo da Web, a maioria dos dados de aplicativos móveis é salva localmente e, com os dados em um dispositivo cuja largura de banda, desempenho e qualidade variam, o risco de serem invadidos é muito maior.
Junto com o fator de instabilidade nos dispositivos, também existem alguns aplicativos que tendem a liberar dados sem que os usuários saibam, como sexo, idade, uso do dispositivo etc.
Maneiras de garantir que os dados do cliente estejam seguros no aplicativo –
- Com a ajuda da criptografia em nível de arquivo, você pode proteger os dados arquivo por arquivo. É uma das maneiras de criptografar os dados em repouso para que não sejam lidos quando interceptados.
- Ferramentas como a plataforma Appcelator garantem que os dados móveis armazenados localmente estejam seguros.
O gerenciamento de chaves deve ser sua prioridade. A base de um algoritmo forte é seu certificado e chaves igualmente fortes.
5. Estratégia de segurança de API planejada
Como o desenvolvimento móvel está intimamente ligado às APIs, a maior parte de tornar um aplicativo seguro depende de tornar sua API segura. As APIs transmitem dados entre os aplicativos, a nuvem e entre vários usuários. Todas as partes envolvidas precisam ser identificadas e autorizadas para ver e usar os dados. As APIs são a base da funcionalidade, do conteúdo e dos dados, portanto, garantir que estejam protegidos pode levar muito tempo.
Existem três estágios na API que você precisará cuidar, a saber – Identificação, Autenticação e Autorização.
Vejamos os elementos de todos os três abaixo –
Identificação
A primeira parte do processo, os hacks de identificação, podem ser evitados por meio da implementação de chaves de API. Essas chaves são identificadores únicos e aleatórios que eliminam a necessidade de senhas.
Embora você possa proteger quando os dados são vistos usando as chaves de API, você não pode decidir que eles são vistos por alguém que deveria vê-los.
Autenticação
É o processo que garante que a informação seja vista por alguém que deveria vê-la. Nesse estágio, você define nomes de usuário e senhas para garantir que o sistema obtenha um nível extra de segurança.
Autorização
Esta etapa responde à pergunta – O que se pode fazer com a API. As etapas para proteger esse processo incluem autorização de 2 fatores, tokens e senhas de uso único.
6. Teste o aplicativo
Independentemente de seu aplicativo ser híbrido, nativo ou web, ele deve ser testado não apenas pelo aspecto de usabilidade e funcionalidade, mas também pela segurança. Há várias etapas que você deve seguir para garantir que seu aplicativo tenha qualidade garantida para garantir que seja seguro.
Aqui estão as maneiras de garantir que seu aplicativo seja testado quanto à segurança:
- Teste de penetração – significa sondar a rede e o sistema para encontrar pontos fracos.
- Use emuladores para testar o desempenho do aplicativo em um ambiente simulado.
- Teste detalhadamente os problemas de autorização e autenticação, gerenciamento de sessão e segurança de dados.
Então, essas foram as 6 maneiras que você pode empregar em seu processo de desenvolvimento de aplicativos para garantir que o seu não seja o destaque.
Certifique-se de incorporar bem a tempo, enquanto você tem tempo.