Segurança de dispositivos móveis e aplicativos: cinco cenários de ataque populares e maneiras de proteger





Imagem: Unsplash



Os dispositivos móveis modernos são muito complexos e isso oferece aos atacantes a oportunidade de iniciar ataques. Tudo, desde Wi-Fi e Bluetooth até alto - falante e microfone, pode ser usado para desbloquear seu smartphone .



Os analistas da Positive Technologies publicaram um estudo de cenários comuns para ataques a dispositivos e aplicativos móveis. Em

nosso artigo - os principais pontos deste documento.



Como os dispositivos e aplicativos móveis são atacados





Existem cinco cenários principais de ataque. Entre eles:



  • Acesso físico . Se o telefone foi roubado ou perdido, o proprietário o entregou ou o conectou a um carregador USB falso - tudo isso abre a possibilidade de um ataque.
  • Aplicativo malicioso no dispositivo . Às vezes, esses aplicativos podem acessar o dispositivo mesmo de fontes oficiais, Google Play e App Store (para Android , para iOS ).
  • Atacante no canal de comunicação . Ao conectar-se a um Wi-Fi, servidor proxy ou VPN não confiável, nos tornamos vulneráveis ​​a ataques no canal de comunicação.
  • Ataques remotos . Um invasor pode agir remotamente, usando servidores de aplicativos móveis ou outros serviços para fornecer uma exploração.
  • Ataques do lado do servidor . Além de tudo o mais, podemos considerar ataques no lado do servidor de aplicativos móveis, pois, nesse caso, o invasor não precisa acessar o dispositivo.


Vamos falar com mais detalhes sobre cada uma das opções e discutir possíveis maneiras de se proteger contra esses ataques.





Existem vários cenários principais para ataques de acesso físico. Como regra, eles implicam o acesso de uma pessoa a um smartphone diretamente: isso acontece se o dispositivo é roubado, o proprietário o perde ou o leva ao serviço. No entanto, também existe um método bastante incomum de ataque, para o qual é usada uma estação de carregamento malicioso. Vamos considerar isso.



A estação de carregamento à qual você conecta seu smartphone via USB pode não ser totalmente segura. Para versões modernas do sistema operacional Android e iOS, ao conectar-se de um smartphone a um PC via USB, é necessária permissão para acessar o dispositivo. No entanto, isso não era necessário no Android 4.0 e abaixo. Como resultado, quando esses dispositivos são conectados a estações de carregamento comprometidas ou instaladas por hackers, abre-se uma oportunidade para um ataque. Seu script pode ficar assim:



  • Android 4.0 USB.
  • USB-.
  • adb install malware.apk, .
  • adb am start com.malware.app/.MainActivity .
  • , root . , (, , ) , .




Antes de tudo, tome cuidado para não deixar seu telefone e tablet sem vigilância em locais públicos. Certifique-se de definir uma senha para desbloquear o dispositivo ou ativar a segurança biométrica, se possível. Não eleve privilégios para administrativo (jailbreak ou root), desative a exibição de notificações na tela bloqueada.



Ataques com aplicativos maliciosos



Existem várias fontes desses aplicativos:



  • Lojas oficiais de aplicativos - Google Play e App Store. Raramente, mas mesmo em mercados oficiais, você pode encontrar um aplicativo malicioso que pode prejudicar você e seus dados. Geralmente, esses aplicativos tentam obter mais instalações com nomes de iscas de clique, como "Super Battery", "Turbo Browser" ou "Virus Cleaner 2019".
  • (third-party appstore). Android- , apk- . iOS- Safari, , .
  • USB-.
  • Android- — Google Play Instant.


Quando instalados em um smartphone, dependendo das permissões recebidas, aplicativos maliciosos terão acesso a alguns dados armazenados, microfone, câmera, localização geográfica, contatos etc. Eles também poderão interagir com outros aplicativos instalados por meio de mecanismos de comunicação entre processos (IPC / XPC). Se os aplicativos instalados contiverem vulnerabilidades que podem ser exploradas por meio dessa interação, o aplicativo mal-intencionado poderá tirar proveito disso. Isto é especialmente verdade para dispositivos Android.



Além disso, um aplicativo mal-intencionado pode tentar obter privilégios elevados no sistema, explorando vulnerabilidades que lhe permitem obter privilégios de root ou jailbreak.



Como se proteger



Para se proteger contra esses ataques, é recomendável evitar a instalação de aplicativos de fontes não confiáveis. Aplicativos com nomes suspeitos também devem ser instalados com cuidado, mesmo em lojas oficiais de aplicativos, pois nenhuma verificação funciona perfeitamente. Mantenha seu sistema operacional e aplicativos atualizados para garantir que nenhuma vulnerabilidade conhecida seja atacada.



Ataques de link



Para que um invasor possa operar a partir do canal de comunicação, ele precisa executar um ataque intermediário, ou seja, para que todo o tráfego transmitido entre o aplicativo móvel do cliente e o servidor passe pelo dispositivo do invasor. Às vezes, as vulnerabilidades são encontradas em aplicativos que permitem esses ataques.



Por exemplo, geralmente ao estabelecer uma conexão segura, o aplicativo cliente verifica a autenticidade do certificado do servidor e se seus parâmetros correspondem aos do servidor. No entanto, às vezes os desenvolvedores, por conveniência, ao trabalhar em um aplicativo, desabilitam essas verificações, esquecendo de habilitá-las novamente na versão de lançamento. Como resultado, o aplicativo aceita qualquer certificado de servidor para estabelecer uma conexão segura, incluindo o certificado do invasor.



Mesmo que os certificados sejam verificados corretamente, o invasor ainda possui uma brecha: sob algum pretexto forçar a vítima a instalar o certificado do invasor como confiável no seu dispositivo. Além disso, se o próprio aplicativo funcionar de forma segura com o servidor, mas contiver links para recursos de terceiros baixados por HTTP, isso ainda constituirá uma oportunidade para ataques de phishing.



Se um invasor conseguir obter controle sobre o tráfego entre o aplicativo cliente e o servidor, isso lhe dará várias possibilidades:



  • falsificar respostas do servidor, por exemplo, para falsificar detalhes bancários ou de phishing;
  • substituir solicitações de aplicativos clientes, por exemplo, alterar o valor da transferência e a conta do destinatário;
  • interceptar dados, como logins, senhas, senhas únicas, dados de cartões bancários, histórico de transações.


Como resultado, ele aprende os logins e senhas da vítima de várias contas e pode usá-los para roubar dados e roubar dinheiro.



Como se proteger



Não conecte a pontos de acesso questionáveis, não use servidores proxy e VPN nos quais você não confia em suas informações pessoais e bancárias. Não instale certificados de terceiros no dispositivo.



Como regra, a maioria dos populares aplicativos de mensagens instantâneas e mídias sociais está bem protegida contra esses ataques; se, por exemplo, algum desses aplicativos se recusar repentinamente a trabalhar com a conexão Wi-Fi atual, isso pode significar que esse ponto de acesso não é seguro e é melhor desconectá-lo para não colocar em risco outros aplicativos, incluindo o seu banco móvel.



Ataques remotos



Algumas vulnerabilidades em aplicativos móveis podem ser exploradas remotamente sem exigir controle sobre a transferência de dados entre o aplicativo e o servidor. Muitos aplicativos fornecem funcionalidade para lidar com links especiais, como myapp: //. Esses links são chamados de deeplinks e funcionam no Android e no iOS. Clicar nesse link em um navegador, aplicativo de email ou messenger pode acionar a abertura do aplicativo que pode processar esses links. O link inteiro, incluindo parâmetros, será passado para o aplicativo manipulador. Se o manipulador de links contiver vulnerabilidades, para explorá-las, será suficiente forçar a vítima a seguir o link malicioso.



Da mesma forma, os links http: // e https: // mais familiares podem ser processados ​​em dispositivos móveis - eles podem ser passados ​​para o aplicativo em vez do navegador; em alguns casos, isso pode acontecer sem confirmação do usuário.



Para dispositivos Android, clicar no link pode acionar o download do Instant App, o que pode permitir a exploração remota de vulnerabilidades associadas à instalação de um aplicativo mal-intencionado.



Como se proteger



A instalação oportuna de atualizações de aplicativos e sistemas operacionais, neste caso, é a única maneira de se proteger. Se você não conseguir instalar a atualização ou ela ainda não foi lançada, pode parar temporariamente de usar o aplicativo afetado: desinstale-o do seu dispositivo ou simplesmente faça o logout.



Ataques do lado do servidor



Para atacar um servidor de aplicativos móveis, um invasor, em regra, só precisa estudar como o aplicativo cliente interage com o servidor e, com base nas informações coletadas sobre pontos de entrada, tenta modificar solicitações para detectar e explorar vulnerabilidades.



Geralmente, o dispositivo do back-end de um aplicativo móvel não é diferente de um aplicativo da web. Como regra, os servidores de aplicativos móveis são ainda mais simples e geralmente representam json ou xml-api; raramente trabalham com marcação HTML e JavaScript, como costumam fazer os sites.



Se compararmos as vulnerabilidades dos aplicativos Web e o back-end dos aplicativos móveis, veremos que as seguintes vulnerabilidades prevalecem nos aplicativos móveis:



  • proteção insuficiente contra credenciais de força bruta: 24% dos aplicativos da web e 58% dos servidores de aplicativos móveis contêm essas vulnerabilidades,
  • erros de lógica de negócios: 2% dos aplicativos da web e 33% dos servidores de aplicativos móveis.


Nossa pesquisa mostra que frequentemente os usuários de aplicativos podem acessar dados de outros usuários: para números de cartões, nomes e sobrenomes, números de telefone etc. Além disso, o acesso pode ser fornecido erroneamente em nome de outro usuário ou sem autenticação, devido a a presença de fragilidades na autenticação e autorização.



Como se proteger



Nesse caso, o usuário médio pode fazer pouco. No entanto, você pode reduzir o risco de ataques ao servidor usando uma senha forte e configurando a autenticação de dois fatores usando senhas únicas em todos os aplicativos essenciais que fazem isso.



Para minimizar a probabilidade de um ataque bem-sucedido a um aplicativo móvel, seus desenvolvedores devem verificar a viabilidade de cada um dos cenários descritos. Ao desenvolver, é necessário levar em consideração vários modelos de intrusos, e algumas medidas de proteção devem ser tomadas no estágio de design.



Uma boa recomendação para os desenvolvedores é implementar um ciclo de vida de desenvolvimento de segurança (SDL) e revisar regularmente a segurança do aplicativo. Essas medidas não apenas ajudarão a identificar oportunamente ameaças em potencial, mas também aumentarão o nível de conhecimento de segurança dos desenvolvedores, o que aumentará o nível de segurança dos aplicativos desenvolvidos a longo prazo.



Postado por Nikolay Anisenya, chefe do grupo de pesquisa de segurança de aplicativos móveis da Positive Technologies



All Articles