Skip to main content

Conheça a segurança de aplicativos

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Descrever o que é um aplicativo.
  • Definir a segurança de aplicativos e seu papel em relação ao desenvolvimento de aplicativos.

O que é um aplicativo?

Se você já usou um computador, usou um aplicativo. Para defini-lo, um aplicativo é um pacote de software de computador que executa uma ou mais tarefas e permite a interação direta do usuário. Mas vamos ver o que isso realmente significa olhando para exemplos de aplicativos e como os usamos.

Os aplicativos vêm em muitos formatos, como programas de banco de dados, navegadores web, clientes de email, planilhas, players de mídia, editores de texto e software de edição de imagens/fotos, para citar alguns. Cada um desses pacotes de software permite que um usuário interaja diretamente com o aplicativo. Por exemplo, quando você usa software de edição de texto, interage diretamente com o aplicativo quando digita, exclui ou copia e cola texto. E você interage com aplicativos de diferentes maneiras: seja em um computador usando um pacote de software de edição de fotos, como o Photoshop, seja interagindo com um aplicativo móvel em seu smartphone, seja ainda realizando transações comerciais em um aplicativo bancário baseado na web. Isso é muito claro, certo? 

Existem duas maneiras de os desenvolvedores criarem aplicativos. Eles desenvolvem códigos proprietários, que não são compartilhados fora das organizações, ou desenvolvem códigos por meio de projetos de código aberto, que são criados e desenvolvidos de forma pública e colaborativa com desenvolvedores que trabalham juntos. 

Os aplicativos de código aberto concedem aos desenvolvedores o direito de usar, estudar e alterar o software, permitindo assim que ele seja adaptado e aplicado a uma variedade de casos de uso. Há toda uma comunidade dedicada ao desenvolvimento de projetos de código aberto. Como alguém que pode estar interessado em se tornar um engenheiro de segurança de aplicativos, contribuir para projetos de código aberto é uma ótima maneira de obter experiência prática em desenvolvimento e segurança de aplicativos, ao mesmo tempo que otimiza e prova suas habilidades. Como resultado, você entenderá melhor como os aplicativos são desenvolvidos e funcionam, e começará a entender o papel da segurança de aplicativos no ciclo de vida da codificação e do desenvolvimento de software.

O papel da segurança de aplicativos

Na pilha de tecnologia de uma organização, a camada de aplicativos é a camada mais próxima do usuário. Ela permite interação com o usuário e, portanto, fornece a maior superfície de ataque para invasores. Por causa disso, um número relativamente grande de violações de segurança é o resultado de vulnerabilidades de aplicativos. 

Os aplicativos também podem fornecer um tesouro de dados pessoais que um invasor adoraria roubar, adulterar ou destruir, incluindo informações de identificação pessoal (PII), como nomes, dados de identificação nacional (como números da Previdência Social) e endereços de email. Isso significa que proteger aplicativos é uma parte fundamental da cibersegurança, a fim de minimizar os riscos de perda de dados e os prejuízos financeiros, reputacionais, de privacidade ou jurídicos resultantes para uma organização e seus clientes. 

Os engenheiros de segurança de aplicativos precisam pensar como um invasor para entender como um aplicativo pode ser usado indevidamente, ao mesmo tempo que garantem que a entrada fornecida por usuários legítimos é higienizada, validada e processada com segurança pelo aplicativo. 

Os engenheiros de segurança de aplicativos se concentram na proteção de aplicativos, a fim de evitar que os invasores tenham acesso a dados confidenciais. Como é muito mais fácil e menos caro encontrar falhas de segurança nas fases iniciais do desenvolvimento de software, os engenheiros de segurança de aplicativos devem reunir requisitos de segurança antes que um projeto ou trabalho de desenvolvimento seja iniciado.

Um engenheiro está vendo um bug com uma lupa em um laptopOs engenheiros de segurança de aplicativos trabalham com equipes de desenvolvimento e unidades de negócios para projetar, criar, documentar, codificar, testar, implantar e manter aplicativos seguros. O processo de concepção e criação de aplicativos é conhecido como ciclo de vida do desenvolvimento de software (SDLC, Software development lifecycle). Os desenvolvedores de aplicativos são responsáveis pelas etapas de documentação e programação (codificação) nesse processo. Eles escrevem o código-fonte que faz com que um aplicativo realize as tarefas desejadas. Os engenheiros de segurança de aplicativos fazem parceria com desenvolvedores de aplicativos e outros em todo o SDLC para proteger aplicativos diagnosticando, documentando e corrigindo vulnerabilidades de segurança de aplicativos.

Normalmente, em uma organização, o principal objetivo de um desenvolvedor de aplicativos é produzir códigos que funcionem o mais rápido possível para atender aos requisitos de negócios. Como resultado, programar códigos seguros às vezes é um detalhe. É aí que os engenheiros de segurança de aplicativos podem ser muito úteis incorporando segurança no processo de desenvolvimento para que os dados confidenciais permaneçam protegidos. Ao fazer isso, eles visam a garantir que um aplicativo fornecerá o que é comumente chamado de CIA: confidencialidade, integridade e disponibilidade (confidentiality, integrity, availability). 

Por exemplo, os engenheiros de segurança de aplicativos ajudam os desenvolvedores a compilar e implantar o aplicativo de forma a exigir autenticação adequada (para proteger a confidencialidade dos dados), a transferir informações confidenciais com segurança para evitar que elas sejam modificadas (integridade) e a garantir que os usuários poderão acessar seus dados (disponibilidade). 

Os engenheiros de segurança de aplicativos são frequentemente incorporados em uma equipe de desenvolvimento de aplicativos e servem como conselheiros para designers e desenvolvedores. Eles garantem que os requisitos do aplicativo incluirão considerações de segurança, sugerem protocolos de autenticação seguros durante a fase de projeto, implementam revisões de códigos para verificar vulnerabilidades comuns de segurança, testam aplicativos antes da implantação e aconselham sobre o timing e os métodos para corrigir vulnerabilidades.

Nesta unidade, você aprendeu o que é um aplicativo e como o desenvolvimento de aplicativos e a segurança trabalham juntos na prática. Na próxima unidade, você aprenderá sobre o impacto da segurança de aplicativos nos negócios, as habilidades de que os engenheiros de segurança de aplicativos precisam e os cenários comuns de segurança de aplicativos.

Recursos

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira