Auditoria de Segurança a Apps Mobile (IOS & Android)
A Hardsecure segue as metodologias consideradas mais relevantes para a análise da segurança de aplicações móveis assentes em arquiteturas Android e IOS.
Uma das metodologias que melhor permite a execução e validação de vulnerabilidades é a OWASP Mobile Top 10, pois tal como a popular lista das vulnerabilidades Top 10 para aplicações web publicada pela OWASP, a Lista “Mobile Top 10” apresenta os dez principais riscos para aplicações móveis. A lista do último ano, indica os seguintes riscos:
M1: Weak Server Side Controls
M2: Insecure Data Storage
M3: Insufficient Transport Layer Protection
M4: Unintended Data Leakage
M5: Poor Authorization and Authentication
M6: Broken Cryptography
M7: Client Side Injection
M8: Security Decisions Via Untrusted Inputs
M9: Improper Session Handling
M10: Lack of Binary Protections
Será com base nesta lista que a Hardsecure executa a respetiva análise e avaliação, complementada com as seguintes metodologias.
Metodologia: "iOS Application Security Testing Cheat Sheet"
Igualmente publicada pela OWASP, esta metodologia indica passos concretos para levar a cabo análises de segurança em apps iOS. A metodologia tem em conta o software, o canal de comunicação e a infraestrutura da organização. Encontra-se dividida em quatro fases:
- Information gathering: observação do comportamento da aplicação, identificação de métodos de acesso, API’s e protocolos usados, identificação de serviços e outras aplicações que interagem com a App, desencriptar os binários da Appstore, etc
- Application traffic analysis: análise de mensagens de erro, informação em cache, segurança na camada de transporte, injeção de SQL, notificações push, Denial of Service, validação de input/output, etc
- Runtime analysis: inspecionar a aplicação com debugger, analisar interação com o sistema de ficheiros, buffer overflows, injeções em runtime, etc
- Insecure data storage: inspecionar logs de dados, analisar base de dados SQLlite, cookies, iOS keychain, etc
Metodologia: "OASAM (Open Android Security Assessment Methodology)"
Metodologia focada em Android e que está dividida nos seguintes pontos:
- OASAMNINFO: Recolha de informação e definição da superfície de ataque
- OASAMNCONF: Análise da configuração e gestão do lançamento
- OASAMNAUTH: Análise da autenticação
- OASAMNCRYPT: Análise do uso de criptografia
- OASAMNLEAK: Análise de fuga de informações confidenciais
- OASAMNDV: Análise de Data Validation
- OASAMNIS: Análise da gestão de receção de Intents
- OASAMNUIR: Interceção de Intents
- OASAMNBL: Análise da Business Logic
AppSec List of Android Client-Side Attacks and Tests
Lista publicada pela empresa AppSec Labs, onde são apontados os testes realizados pela empresa para analisar aplicações Android. Esta lista está dividida em dez categorias e apresenta um total de 53 testes a executar pela Hardsecure:
- Information Gathering
- Application Local Storage Flaws
- IPC Security
- Privacy Breaches
- UI Security
- Business Logic Testing
- Execution of Untrusted Code
- Transport Layer Security
- Authentication Flaws
- Android Sandbox Security
A primeira metodologia apresentada é a mais abstrata e será útil para qualquer plataforma móvel que analisamos. As seguintes são direcionadas para sistemas operativos específicos e apresentam passos concretos que os auditores seguem durante a análise. Grande parte das vulnerabilidades nas aplicações móveis tendem a ser baseadas numa ótica de Business Logic, o que as torna difíceis de detetar por scanners automáticos.