Saltar para o conteúdo
020 · Security Essentials

023.2 — Segurança de Aplicativos

TópicoT09Objetivo023.2Peso3PáginasLPI Security Essentials (020) - Version 1.0

Resumo Conciso

A segurança de software abrange a instalação segura, atualizações regulares e a gestão de ligações de rede para manter a integridade dos sistemas e dados.

Tipos Comuns de Software

TipoDescriçãoImportância de Atualização
FirmwareSoftware de baixo nível embutido em hardwareVulnerabilidade pode comprometer todo o dispositivo
Sistemas OperacionaisSoftware central que gere recursos de hardware/softwarePatches de segurança para protocolos de rede, memória, controlo de acesso
AplicativosProgramas para tarefas específicas do utilizadorCorrigir bugs, prevenir injeções, estouros de buffer

Aquisição e Instalação Segura de Software

  • Lojas de aplicativos oficiais: Apple App Store, Google Play Store, Microsoft Store — verificação de segurança, mas não são infalíveis
  • Sítios de fornecedores: Verificar certificados HTTPS e assinaturas digitais
  • Gestores de pacotes: APT (Linux), Windows Package Manager — repositórios confiáveis
  • Práticas recomendadas: Evitar fontes não confiáveis, verificar integridade via hashes/assinaturas digitais

Fontes para Aplicativos Móveis

FonteNível de SegurançaObservações
Lojas oficiais (App Store, Play Store)AltoProcessos rigorosos de verificação
Lojas de terceirosBaixoRisco significativamente maior, sem verificação rigorosa
Lojas empresariaisMédio/AltoExigem gestão cuidadosa para distribuição segura

Vulnerabilidades Comuns de Software

VulnerabilidadeDescriçãoMitigação
Buffer OverflowGravação de dados em excesso num buffer, sobrescrevendo memória adjacenteValidação de entrada, verificações de limites, stack canaries, ASLR
Injeção de SQLInserção de código SQL malicioso em campos de entradaSanitização de entrada, consultas parametrizadas

Software de Proteção Local

FerramentaCamadaDescrição
Filtros de pacotes locaisRedeInspecionam pacotes individuais com base em regras (IP, porta, protocolo)
Firewalls de endpointDispositivoProteção abrangente para dispositivos individuais, controlam todo o tráfego
Firewalls de camada de aplicaçãoAplicaçãoInspecionam tráfego de protocolos como HTTP, FTP, SMTP

Exemplos de Ferramentas

PlataformaFerramentaTipo
LinuxiptablesFiltro de pacotes
LinuxSELinuxControlo de acesso obrigatório (MAC)
WindowsWindows Defender FirewallFiltro de pacotes + firewall de endpoint
macOSFirewall integradoFiltro de pacotes + firewall de endpoint
WebModSecurity (WAF)Firewall de camada de aplicação
WebF5 BIG-IPFirewall de camada de aplicação
CloudAWS WAF, Cloud Armor, Azure WAFFirewalls baseados em nuvem

Exercícios Guiados

Exercício Guiado 1: Importância da Instalação Segura de Software

Enunciado: Qual é a importância da instalação segura de software?

Solução: Garantir que o software seja instalado a partir de fontes confiáveis ajuda a prevenir a introdução de código malicioso. Esse processo assegura que o software é legítimo e livre de ameaças de segurança, reduzindo o risco de acesso não autorizado ou infecções por malware.

Exercício Guiado 2: Atualização Regular de Software

Enunciado: Por que a atualização regular de software é crucial para a segurança?

Solução: Atualizações de software e patches são vitais porque abordam vulnerabilidades que os invasores podem explorar. Atualizações regulares garantem que quaisquer falhas de segurança sejam corrigidas, ajudando a proteger os sistemas contra ameaças conhecidas. É também importante monitorar o ciclo de vida do SO, pois sistemas antigos podem deixar de receber atualizações críticas.

Exercício Guiado 3: Gestão de Ligações de Rede

Enunciado: Como o gestão de ligações de rede protege o software contra ameaças?

Solução: Firewalls, filtros de pacotes e proteção de endpoint garantem que o software se comunique apenas com redes autorizadas. Isso previne o acesso não autorizado e protege o software de ser comprometido por ligações indesejadas, como tráfego malicioso de entrada.

Exercício Guiado 4: Comparação entre Filtro de Pacotes e Firewall de Endpoint

Enunciado: Como um firewall de endpoint difere de um filtro de pacotes?

Solução:

  • Filtro de pacotes: Inspeciona e filtra pacotes de dados com base em regras predefinidas da camada de rede (endereços IP, portas, protocolos). Controlo básico de tráfego.
  • Firewall de endpoint: Monitora e controla todo o tráfego de entrada e saída do dispositivo. Impõe políticas de segurança mais complexas, como bloquear aplicativos não autorizados e impedir que dispositivos externos se conectem. Mais eficaz para proteger sistemas individuais.

Exemplos: Windows Defender Firewall e firewall integrado do macOS.

Exercícios Exploratórios

Exercício Exploratório 1: Buffer Overflow

Enunciado: O que acontece durante um buffer overflow?

Um buffer overflow ocorre quando mais dados são gravados num buffer do que ele pode suportar, levando à sobrescrição da memória adjacente. Isso pode permitir que invasores injetem código malicioso ou causem uma falha no sistema. Para prevenir isso, os desenvolvedores devem usar práticas de codificação seguras, como validação de entrada e verificações de limites, e empregar recursos de segurança como stack canaries e ASLR (Randomização do Layout do Espaço de Endereço).

Exercício Exploratório 2: Injeção de SQL

Enunciado: Como os invasores exploram vulnerabilidades de injeção de SQL?

A injeção de SQL ocorre quando invasores inserem código SQL malicioso nos campos de entrada de um aplicativo web, manipulando o base de dados para obter acesso não autorizado a dados sensíveis ou realizar operações destrutivas. Isso pode ser mitigado ao limpar as entradas dos utilizadores e utilizando consultas parametrizadas, que impedem a manipulação direta das declarações SQL.

Exercício Exploratório 3: Firewall de Endpoint vs. Filtro de Pacotes

Enunciado: Compare detalhadamente um firewall de endpoint e um filtro de pacotes, incluindo exemplos de cada.

CaracterísticaFiltro de PacotesFirewall de Endpoint
CamadaRedeDispositivo
InspeçãoPacotes individuaisTodo o tráfego E/S do dispositivo
PolíticasRegras predefinidas (IP, porta)Políticas complexas (bloquear apps, controlar dados)
ExemploiptablesWindows Defender Firewall

O firewall de endpoint oferece proteção mais abrangente ao monitorar e controlar todo o tráfego específico do dispositivo, enquanto o filtro de pacotes apenas inspeciona pacotes com base em regras da camada de rede.

Exercício Exploratório 4: Firewalls de Camada de Aplicação

Enunciado: Explique o funcionamento de firewalls de camada de aplicação e forneça exemplos de implementações.

Firewalls de camada de aplicação operam a um nível mais alto que filtros de pacotes ou firewalls de endpoint, inspecionando o tráfego relacionado a aplicativos ou serviços específicos. Monitoram dados trocados na camada de aplicação (HTTP, FTP, SMTP), permitindo bloquear tráfego com base no tipo de aplicativo ou conteúdo dos dados transmitidos.

Exemplos:

  • ModSecurity: WAF de código aberto que protege contra injeção de SQL e XSS
  • F5 BIG-IP: Capacidades avançadas para gerenciar tráfego em nível de aplicativo
  • AWS WAF: Proteção contra explorações web comuns na AWS
  • Cloud Armor (Google Cloud): Mitiga vulnerabilidades e protege contra DDoS
  • Azure WAF: Proteção centralizada para aplicativos na Azure