Segurança de apps: a responsabilidade do desenvolvedor no combate às vulnerabilidades

Publicado por
Felipe Campos

Aluno de Ciência da Computação e bolsista PROEX do FacompCast

De preocupações com vazamento de dados em fintechs a questões de segurança em modelos de linguagem neurais lançados recentemente, segurança digital ganha cada vez mais espaço no debate público que envolve a computação e o papel dela nas nossas vidas. Mas, será que tudo é culpa do usuário ou o desenvolvedor também deve ter papel ativo na proteção de seus códigos e aplicações? Pensando nisso, o FacompCast #33 recebeu Misael Júnior, especialista em teste de software na PrimeUP, para conversar sobre o papel do desenvolvedor no combate às vulnerabilidades de software atualmente no Brasil e no mundo. Em 45 minutos, ele contou para Felipe Campos como está o estado da arte atual desse ramo cada vez mais importante na computação e como IA e testes automatizados auxiliam os desenvolvedores a prevenirem ações de usuários maliciosos em seus códigos.

Usuário e desenvolvedores: camadas duplas de segurança

Usuários são a camada final, como menciona Misael durante o episódio, este deve ter um papel ativo ao identificar que apps mobiles estão buscando mais permissões que o necessário para o seu trabalho proposto. Contudo, não adianta nada essa preocupação se as aplicações não tem tráfego seguro de dados e lidam com os dados dos usuários da melhor forma – e este é um papel do desenvolvedor de software. Nada se faz sozinho na computação e não seria diferente na segurança de apps: usuários e desenvolvedores precisam estar juntos nessa caminhada de proteção.

É preciso que o usuário também tenha papel ativo ao avaliar as permissões que os aplicativos tem sobre seus dispositivos móveis. Por qual motivo, por exemplo, um jogo precisa ter acesso a minha câmera? Precisamos ficar atentos e, quando necessários, buscar outros apps menos invasivos quando acharmos conveniente.

Misael Júnior

O futuro dos testes e como a IA pode impactar

Entender que as aplicações podem ter falhas é um primeiro passo para entender a necessidade de testes e integrar essa preocupação de segurança desde o inicio do ciclo de desenvolvimento. Fortalecer a cultura do report para as empresas que tem apps com comprometimento também é algo que, segundo Misael, é necessário para fortalecer ainda mais a área e tornar apps cada vez mais seguros. Mas isso não basta. É preciso que desenvovedores de fato entendam que, para além do retrabalho posterior ao deixar de lado a segurança em um primeiro momento, a reputação de seus códigos e empresas também está em jogo quando falamos sobre segurança, afinal, ninguém quer ser cliente de uma companhia que não está preocupada em proteger suas aplicações.
Mas também a IA é uma importante aliada nesse cenário e Misael tem algumas considerações sobre ela:

A IA pode ajudar a prever melhor comportamentos de usuários e escrever testes mais aderentes a esses comportamentos. Não irão substituir os testadores, mas irão ajudar eles cada vez mais.

Misael Júnior

Então se tu queres entender mais sobre o mundo dos testes, Quality Assurance e outros, o FacompCast #33 já está disponível agora na sua plataforma de áudio favorita ou escutando pelo player do site atrelado ao Spotify. Não esqueça de nos seguir nas redes: @facompcast no Instagram, X (antigamente Twitter) e no TikTok. Você também pode seguir o convidado deste episódio: @misaellj no Instagram.

Indicações de leitura

Misael também tem algumas recomendações de leitura para quem quiser se aprofundar em segurança digital e protenção de código e dispositivos, listadas abaixo:
A GUI-based Metamorphic Testing technique for detecting authentication vulnerabilities in Android mobile apps
Disponível no ScienceDirect: https://lnkd.in/dSJHepwB
Dynamic Testing Techniques of Non-functional Requirements in Mobile Apps: A Systematic Mapping Study
Disponível na ACM Digital Library: https://lnkd.in/dxJ5UdAH
Automated verification of compliance of non-functional requirements on mobile applications through metamorphic testing
Disponível no IEEE Xplore: https://lnkd.in/dtdFMWtQ


Conheça o convidado

Misael Júnior atualmente é especialista em Teste de Software na PrimeUP e Docente na Faculdade CET (Centro de Educação Tecnológica de Teresina) em cursos de computação. É Mestre e Doutor em Ciências de Computação e Matemática Computacional (PPG-CCMC) pelo Instituto de Ciências Matemáticas e Computação (ICMC) da Universidade de São Paulo (USP), com ênfase em Teste e Qualidade de Software. Bacharel em Ciência da Computação pela Universidade Estadual do Piauí (UESPI) e certificado CTFL (Certified Tester Foundation Level). Possui experiência em Engenharia de Software, Teste de Software, Testes de API, Segurança em aplicações Android e Performance.

Compatilhe nas suas redes
Junte-se à discussão

Mais do FacompCast

Episódio 33