Abílio Azevedo.

Segurança em Aplicativos Móveis

Cover Image for Segurança em Aplicativos Móveis
Abílio Azevedo
Abílio Azevedo

Ao desenvolvermos aplicações precisamos tomar cuidado com segurança.

O Open Web Application Security Project® (OWASP) é uma fundação sem fins lucrativos que trabalha para melhorar a segurança do software.

Eles fazem um documento, chamado de OWASP Top 10, para conscientização de desenvolvedores com relação a segurança de aplicativos da web.

E para o mundo de aplicações móveis eles também tem um documento equivalente e também existe um documento de padrões de segurança o OWASP MASVS (Mobile Application Security Verification Standard) que possui as seguintes categorias:

  • MASVS-ARMAZENAMENTO: Armazenamento seguro de dados sensíveis em um dispositivo (data-at-rest).
  • MASVS-CRIPTO: Funcionalidades criptográficas utilizadas para proteger dados sensíveis.
  • MASVS-AUTENTICACAO: Mecanismos de autenticação e autorização utilizados pelo aplicativo móvel.
  • MASVS-REDE: Comunicação segura em rede entre o aplicativo móvel e endpoints remotos (data-in-transit).
  • MASVS-PLATAFORMA: Interação segura com a plataforma móvel subjacente e outros aplicativos instalados.
  • MASVS-CODIGO: Melhores práticas de segurança para processamento de dados e manutenção do aplicativo atualizado.
  • MASVS-RESILIENCIA: Resiliência a engenharia reversa e tentativas de adulteração.

Ok, mas como podemos analisar essas vulnerabilidades em nossas aplicações?

O Mobile Security Framework (MobSF) é um framework automatizado e completo para aplicativos móveis (Android/iOS/Windows) para teste de vunerabilidades, análise de malware e estrutura de avaliação de segurança capaz de realizar análises estáticas e dinâmicas.

Você pode instalar ele em sua máquina e colocar o APK ou IPA de seus aplicativos para rodar os testes: Screen Shot 2022-05-24 at 15.18.28

No final ele dá um relatório com as vulnerabilidades: Screen Shot 2022-05-24 at 17.38.00

Um ponto importante são credenciais que as vezes deixamos expostos ou arquivos de testes que as vezes são colocados no nosso aplicativos. Por exemplo, no React Native é possível excluir alguns arquivos do bundle de nosso app:

const exclusionList = require('metro-config/src/defaults/exclusionList');

    // exclusionList is a function that takes an array of regexes and combines
    // them with the default exclusions to return a single regex.

    module.exports = {
      resolver: {
    blacklistRE: exclusionList([/dist\/.*/])
      }
    };

Também existe um kit de ferramentas de instrumentação dinâmica para desenvolvedores, engenheiros reversos e pesquisadores de segurança chamado Frida que pode te auxiliar a rodar testes de segurança.

Busque formas de sempre protejer seus aplicativos.

Embedded content: https://docs.google.com/presentation/d/1jVQCL2h-xKEypVAPo-MU_LGoQS-CsYYXhAC9RNOpJ94/edit?usp=sharing


Mais posts

Cover Image for Superlógica - BFF para o Gruvi

Superlógica - BFF para o Gruvi

Construindo um BFF (Backend for Frontend) para o SuperApp Gruvi que tem mais de 120 mil usuários ativos e milhões de possíveis usuários para disponibilizar no ecossistema Superlogica.

Abílio Azevedo
Abílio Azevedo
Cover Image for Padrões de design na nuvem

Padrões de design na nuvem

Explore os principais padrões de design de computação em nuvem que permitem que os desenvolvedores construam aplicativos escaláveis, resilientes e de alto desempenho. Este guia abrangente abrange 42 padrões comprovados, como Embaixador, Disjuntor, CQRS e Saga - destilados a partir das experiências de arquitetos de nuvem experientes. Aprenda a aproveitar essas poderosas técnicas de design para navegar pela complexidade da nuvem e entregar soluções inovadoras que atendam às necessidades em evolução do cenário digital de hoje.

Abílio Azevedo
Abílio Azevedo

NewsLetter

Eu enviarei o conteúdo postado aqui no blog. Sem Spam =)