Desenvolvimento10 dicas de segurança para desenvolver aplicações iOS

10 dicas de segurança para desenvolver aplicações iOS

-

Publicidade
10 dicas de Segurança para Desenvolver Aplicações iOS
10 dicas de Segurança para Desenvolver Aplicações iOS

Muito se fala do OWASP Top 10 para aplicações Web, mas nem tanto sobre o OWASP Top 10 para aplicações voltadas aos dispositivos móveis. Embora o OWASP Top 10 Mobile 2013 ainda não tenha sido lançado, fiz questão de separar algumas das melhores práticas de segurança para o desenvolvimento de aplicações iOS que são muito úteis:

1) Limpe dados confidenciais caso a aplicação saia do primeiro plano
Essa prática é importante porque quando a aplicação sai do primeiro plano, o próprio iOS gera um screenshot da aplicação e armazena no diretório da mesma, ou seja, caso o usuário tenha preenchido seu cartão de crédito na aplicação bancária e alterna de aplicação para outra como o Angry Birds por exemplo,o iOS gera uma imagem contendo o último estado da aplicação bancária que possui o cartão de crédito que pode vir a cair nas mãos de um atacante que terá acesso à informações confidenciais.

2) Desabilite a funcionalidade de autocorreção para campos sensíveis
Quando o campo de texto da aplicação possui habilitado a funcionalidade de autocorreção, o iOS armazena o que foi digitado em um arquivo binário para posteriormente adicionar esta “palavra” na lista de palavras conhecidas devido ao mecanismo de auto-aprendizado do dicionário, que pode vir a ser obtido por um atacante.

3) Valide os dados de entrada
Nunca confie no input do usuário, tanto no aplicativo, quanto no servidor. É importante que seja feito a validação dos dados de entrada para evitar diversos tipos de ataque, inclusive SQL Injection, visto que a maioria do armazenamento das informações no iOS é feito em bancos de dados SQLite.

4) Não permita que informações confidenciais sejam armazenadas no clipboard
Desabilite a opção de copiar para campos com informações sensíveis visto que eles podem ser acessados por qualquer aplicação, que pode vir a ser maliciosa e envie periodicamente o conteúdo do clipboard para o servidor de um atacante.

5) Sempre valide os certificados digitais
Geralmente os desenvolvedores para fins de teste desabilitam a validação dos certificados para utilizar um auto-assinado em ambiente de desenvolvimento, mas esquecem de habilitar novamente antes de publicar o aplicativo.

6) Não confie cegamente no Keychain
O recurso Keychain da Apple para armazenamento seguro não é a solução para todos os problemas, pois recuperando a senha do usuário (que geralmente é um PIN de 4 dígitos), é possível fazer o dump e crack da Keychain para obter os valores armazenados.  Experimente o SQLCipher.

7) Restrinja o tempo máximo de Sessão
Dispositivos móveis são facilmente perdidos, furtados e roubados, portanto, é importante definir um tempo máximo que a sessão do aplicativo estará aberta para que nenhum outro indivíduo além do verdadeiro usuário da aplicação consiga manipular a mesma.

8) Homologue bibliotecas de terceiros
De nada adianta desenvolver um código seguro e adicionar bibliotecas inseguras à sua aplicação. Realize uma análise estática do código fonte da biblioteca em busca de possíveis bugs de segurança que podem comprometer a sua aplicação.

9) Valide a integridade do Aplicativo e demais arquivos
Proteja sua aplicação contra adulteração de binários e demais arquivos validando a integridade dos mesmos por meio de funções hash one-way, bem como SHA1 e MD5, por exemplo, mas não use esses algoritmos devido à facilidade de colisão de hashes. Utilize SHA512 para esta tarefa.

10) Ofusque seu código
Essa prática de ofuscação é bastante complexa e intimamente ligada à Análise de Malware, trata-se de tratar o seu código como um malware que está fugindo de um analista de malware. Uma das técnicas de ofuscação é não utilizar nomes de variáveis passíveis de adivinhação (por exemplo usuario.logado), para dificultar a manipulação de código em tempo de execução via gdb.

Para saber mais, acesse:

Anderson Dadariohttps://dadario.com.br
Anderson Dadario é fundador do Gauntlet.io, serviço gratuito para execução de diversos scanners de segurança em aplicações web; Dadario possui larga experiência com testes de intrusão, análise de vulnerabilidades e integração de segurança no ciclo de desenvolvimento de software.Site: https://dadario.com.br

Latest news

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!

Inovação e Liderança: Uma Jornada de Transformação Digital

Inovação e Liderança: Uma Jornada de Transformação DigitalNo ritmo acelerado do mundo de hoje, a combinação de inovação e empreendedorismo é fundamental para profissionais que desejam gerar impacto nas organizações. Ao longo da minha carreira, passei de funções técnicas para posições de liderança, e, nesse caminho, aprendi como a tecnologia pode ser uma força transformadora nos negócios.

IDCA – A Força Motriz por Trás da Excelência em Infraestrutura Digital

Em um mundo cada vez mais digital, a Infraestrutura Digital robusta e confiável se tornou a espinha dorsal da sociedade moderna. É nesse cenário crucial que o IDCA (International Data Center Authority) se destaca como líder mundial, moldando o presente e o futuro da indústria. Mas o que torna o IDCA tão especial?

Gerenciador de senhas: saiba como fortalecer a segurança de TI da sua empresa em 2024

Um gerenciador de senhas é uma ferramenta projetada para armazenar, organizar e gerenciar senhas de forma segura. Mas podemos mostrar que ele vai muito além disso!
Publicidade

Software para MSPs: indo além do preço ao procurar pelas ferramentas certas

Confira 5 dicas essenciais para escolher as melhores plataformas para compor o monitoramento e segurança da infraestrutura de TI dos seus clientes

Rápido, seguro e nativo: Chrome chega ao Windows no Snapdragon

"Projetamos o navegador Chrome para ser rápido, seguro e fácil de usar em desktops e dispositivos móveis, e estamos sempre procurando maneiras de levar essa experiência a mais pessoas", disse Hiroshi Lockheimer, Senior Vice President, Google.

Must read

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!

Inovação e Liderança: Uma Jornada de Transformação Digital

Inovação e Liderança: Uma Jornada de Transformação DigitalNo ritmo acelerado do mundo de hoje, a combinação de inovação e empreendedorismo é fundamental para profissionais que desejam gerar impacto nas organizações. Ao longo da minha carreira, passei de funções técnicas para posições de liderança, e, nesse caminho, aprendi como a tecnologia pode ser uma força transformadora nos negócios.
- Advertisement -

You might also likeRELATED
Recommended to you