Índice:

Desenvolvimento seguro: boas práticas para o mobile

Índice:

Grande parte das empresas que estão construindo algum software, não importa o segmento do mercado, buscam cada vez mais por um desenvolvimento seguro dos seus produtos, sejam eles voltados para a web, computadores ou até mesmo o mobile. 

Tanto profissionais da área de TI e pessoas leigas no assunto, reconhecem, ao menos um pouco, a importância da cibersegurança. No entanto, para quem é da área, um dos pontos mais importantes a ser levado em consideração quando se fala de segurança digital é a construção de códigos seguros, feita por programadores. 

Podemos considerar que a cibersegurança é uma grande tendência para os próximos anos. Por isso, profissionais que investem em capacitações voltadas para esta área da programação serão cada vez mais requisitados por empresas e organizações, públicas ou privadas, para garantir que seus produtos estejam seguros e tenham uma boa reputação no mercado.

Para quem se interessa por cibersegurança, neste texto, encontram-se boas práticas para escrever códigos não-vulneráveis durante a atuação como desenvolvedor mobile. Continue a leitura para saber se você está no caminho certo para desenvolver aplicações mais seguras!

Por que estas práticas são tão importantes para um desenvolvimento seguro?

Em dezembro do ano passado, o Ministério da Saúde sofreu ataques hackers em sua plataforma, onde dados como os do portal Conecte SUS e Portal Covid foram apagados. Ao todo, o grupo que atacou o sistema do Governo Federal admitiu que, só no primeiro ataque, mais de 50 terabytes de dados foram capturados. 

Ataques de ransomware, como o que aconteceu neste episódio, estão cada vez mais comuns no Brasil, aumentando em grandes proporções desde o ano de 2018 e geram grandes transtornos para toda a população e autoridades governamentais a nível federal, estadual e até mesmo municipal. 

O crime cibernético contra o governo implicou até na suspensão de a necessidade de comprovante de imunização para viajantes que chegarem ao Brasil por via aérea e, em caso de ausência do documento, a exigência de 5 dias de quarentena. No entanto, o ministro do STF (Supremo Tribunal Federal), Luís Roberto Barroso, vetou a decisão e manteve obrigatória a confirmação de vacinação ou a apresentação de testes negativos para a Covid-19.

Aí você se pergunta: “Mas o que eu tenho a ver com isso?”. A resposta é simples: bons programadores precisam garantir o desenvolvimento seguro dos seus códigos, para que eles não sejam vulneráveis a ataques cibernéticos. E quando se fala em um site responsável por controlar os dados relacionados à saúde de um país inteiro, as proporções são ainda maiores.

Fontes: CNN Brasil e G1

De uma forma bem resumida, o que ocorreu com o Ministério da Saúde ilustra muito bem a importância de um desenvolvimento seguro e mostra que nem sempre os softwares e aplicações são tão seguros assim…

https://www.youtube.com/embed/A3A_hn7xY_4

Boas práticas de cibersegurança no desenvolvimento mobile

Sem mais delongas, vamos pontuar a partir de agora, algumas das diversas práticas que toda pessoa desenvolvedora deve saber para desenvolver aplicações para dispositivos móveis com mais segurança. 

Utilize plataformas de autenticação

Para desenvolver aplicativos de forma segura, o primeiro passo é investir em algum tipo de autenticação de acordo com a finalidade do seu produto. A maneira mais comum de realizar esta etapa de autenticação de forma segura é através da “2FA”, ou “Autenticação de dois fatores”, através de senhas, PINs ou até mesmo impressões digitais e reconhecimento facial (possibilidades que variam de acordo com a versão do sistema operacional).

A forma mais indicada para realizar estas autenticações é através de plataformas de autenticação que já existem no mercado e são controladas por empresas específicas. Através delas, quem está desenvolvendo aplicações para mobile têm a garantia de que os bugs e vulnerabilidades serão reparados pela empresa responsável e não prejudicarão a segurança do seu produto. 

Utilizando estes recursos, você economiza tempo no desenvolvimento, pois não precisa desenvolver a sua própria plataforma e nem corre o risco de prejudicar a segurança do seu produto com alguma possível falha no mecanismo desenvolvido por você.

Criptografia nos dados!

É preciso tomar muito cuidado ao armazenar os dados dos seus usuários e, sempre que possível, evitar que informações mais frágeis fiquem localizadas no armazenamento interno dos dispositivos móveis. A justificativa para evitar tal prática é que algumas ações dos usuários, como “rootar” o smartphone, podem comprometer a segurança dos dados e isso é algo que você não consegue controlar.

Mas, se em último caso, você precisar armazenar alguma informação na memória interna dos mobiles, em cartões SD, entre outros recursos, nunca esqueça de criptografá-los. Dessa forma, torna-se muito mais difícil que indivíduos mal intencionados invadam os dados. 

Vale lembrar que não é impossível quebrar códigos de criptografia, principalmente os mais fracos. Por isso, alguns dos códigos mais indicados para um desenvolvimento seguro são o Rivest-Shamir-Adleman (RSA) e o Advanced Encryption Standard (AES), utilizado por organizações como o governo dos Estados Unidos e considerado imune a ataques que não sejam de força bruta.

Realize diversos testes de segurança

Por último, mas não menos importante, é essencial realizar testes relacionados à segurança da aplicação desde o início do desenvolvimento até o produto final. Revise os códigos periodicamente através de ferramentas de verificação de código e de análises de código estático, por exemplo. 

Um dos frameworks mais recomendados para análises de códigos estáticos e dinâmicos é o MobSF (Mobile Security  Framework), um software open source programado em Python, que pode ser usado tanto no sistema operacional Android, como no iOS. Esta tecnologia revisa o código automaticamente, relatando todas as vulnerabilidades encontradas e verifica diversas outras especificações relacionadas à segurança da sua aplicação. 

Publicado por:
Compartilhe:

Posts relacionados

entrega de software

No atual cenário de desenvolvimento de software, a pressão por eficiência e velocidade de entrega nunca foi tão intensa. Empresas de todos os tamanhos estão buscando maneiras de acelerar o

Estimativas de projetos de software

Quando falamos em gestão de um time de engenharia de software, os principais desafios que vem à cabeça são como estimar as atividades, e como lidar com as expectativas dos

Introdução ao Shape-up

Se você trabalha na área de engenharia de software, e se interessa por gestão de projetos, com certeza já deve ter ouvido falar na metodologia Shape-up ou no produto desenvolvido