Ementa da disciplina
Introdução e conceitos básicos de segurança da informação. Riscos envolvendo informações (Ameaças Comuns/Riscos; Técnicas de Obtenção; Técnicas de Defesa; Comunicação Segura - Criptografia/Certificado Digital/SSL). Segurança em redes de computadores. Segurança em programação.
Conteúdo detalhado
Aula 1: Introdução à Segurança da Informação e Tipos de Ameaças
- Conceitos básicos: CIA (Confidencialidade, Integridade, Disponibilidade)
- Panorama atual de ameaças cibernéticas
- Prática: Análise de casos reais usando navegador web
Aula 2: Fundamentos de Criptografia
- Criptografia simétrica vs assimétrica
- Prática: Implementação de cifra de César em Python online (repl.it/codepen)
Aula 3: Hash e Integridade de Dados
- Funções hash (MD5, SHA-256)
- Prática: Criação de checksums usando Python/JavaScript online e verificação de integridade
Aula 4: Implementação de AES
- Algoritmo AES explicado
- Prática: Exercícios de uso prático de bibliotecas de criptografia
Aula 5: Criptografia de Chave Pública (RSA)
- Conceitos matemáticos básicos
- Prática: Demonstração de um exemplo simples do mecanismo usado no algoritmo RSA
Aula 6: Infraestrutura de Chaves Públicas (PKI)
- Autoridades certificadoras
- Prática: Exame de certificados SSL usando ferramentas do navegador
Aula 7: Criação e Validação de Certificados
- Formatos de certificados (PEM, DER)
- Prática: Análise prática de certificados em sites reais
Aula 8: Protocolo SSL/TLS
- Handshake SSL/TLS
- Prática: Análise de tráfego HTTPS usando ferramentas do navegador (DevTools)
Aula 9: Implementação de Conexões Seguras
- Configuração de HTTPS
- Prática: Criação de servidor HTTPS simples usando Node.js online
Aula 10: SQL Injection
- Como funciona e impactos
- Prática: Criação de aplicação vulnerável em JavaScript/PHP online e exploração
Aula 11: Prevenção de SQL Injection
- Prepared statements e sanitização
- Prática: Correção da aplicação vulnerável criada na aula anterior
Aula 12: XSS Refletido e Armazenado
- Tipos de XSS e vetores de ataque
- Prática: Criação de aplicação web vulnerável a XSS usando HTML/JavaScript
Aula 13: Prevenção de XSS
- Content Security Policy (CSP), sanitização
- Prática: Implementação de proteções anti-XSS na aplicação anterior
Aula 14: Cross-Site Request Forgery (CSRF)
- Funcionamento e exploração
- Prática: Criação de ataque CSRF usando formulários HTML simples
Aula 15: Tokens CSRF e SameSite Cookies
- Mecanismos de proteção
- Prática: Implementação de proteção CSRF usando JavaScript
Aula 16: Sistemas de Autenticação
- Senhas, 2FA, biometria
- Prática: Implementação de sistema de login básico com hash de senhas
Aula 17: JWT (JSON Web Tokens)
- Estrutura e uso de JWTs
- Prática: Criação e validação de JWTs usando JavaScript
Aula 18: Vulnerabilidades em APIs REST
- OWASP API Security Top 10
- Prática: Criação de API vulnerável usando Node.js online
Aula 19: Securização de APIs
- Rate limiting, validação, autenticação
- Prática: Implementação de proteções na API criada anteriormente
Aula 20: Tipos de Malware
- Vírus, trojans, ransomware, spyware
- Prática: Análise estática de samples de malware usando VirusTotal
Aula 21: Análise Básica de Código Malicioso
- Técnicas de ofuscação
- Prática: Desobfuscação de JavaScript malicioso usando ferramentas online
Aula 22: Sniffing e Análise de Tráfego
- Protocolos inseguros
- Prática: Captura de tráfego
Aula 23: Firewalls e Detecção de Intrusão
- Conceitos e implementação
- Prática: Criação de regras básicas de firewall usando iptables (simulação)
Aula 24: ARP Spoofing e MITM
- Ataques man-in-the-middle
- Prática: Simulação de ataque MITM usando JavaScript/WebRTC
Aula 25: DNS Spoofing e Cache Poisoning
- Manipulação de resolução DNS
- Prática: Demonstração usando ferramentas online de DNS lookup
Aula 26: Protocolos de Segurança Wi-Fi
- WEP, WPA, WPA2, WPA3
- Prática: Análise de redes Wi-Fi usando ferramentas do navegador (WebRTC)
Aula 27: Ataques contra Redes Wireless
- Handshake capture, evil twin
- Prática: Criação de portal captivo falso usando HTML/JavaScript
Aula 28: Vulnerabilidades em Apps Mobile
- OWASP Mobile Top 10
- Prática: Boas práticas de desenvolvimento seguro para mobile/web
- Possibilidade de incluir: Análise de APKs usando ferramentas online - APKTool online
Aula 29: Desenvolvimento Seguro Mobile
- Armazenamento seguro, comunicação
- Prática: Criação de app web progressivo com boas práticas de segurança
Aula 30: Reconhecimento e Engenharia Social
- Técnicas de OSINT (Open Source Intelligence)
- Prática: Uso de ferramentas online para coleta de informações públicas (Google Dorking, Shodan, Have I Been Pwned)
Aula 31: Metodologia de Pentest
- Reconnaissance, scanning, exploitation
- Prática: Uso de ferramentas online para reconhecimento (Nmap online, Nikto online)
Aula 32: Exploração de Vulnerabilidades
- Metasploit conceitos
- Prática: Exploração manual em DVWA/WebGoat.
Aula 33: Técnicas de Engenharia Social
- Pretexting, baiting, quid pro quo
- Prática: Criação de email de phishing educativo usando HTML
Aula 34: Criação de Campanhas de Conscientização
- Simulação de ataques controlados
- Prática: Desenvolvimento de página de phishing para treinamento
Aula 35: OWASP Top 10
- Principais vulnerabilidades web
- Prática: Exploração de vulnerabilidades em WebGoat online ou DVWA
Aula 36: Secure Coding Practices
- Input validation, error handling
- Prática: Refatoração de código inseguro para versão segura
Aula 37: Coleta e Preservação de Evidências
- Chain of custody, hash de evidências
- Prática: Criação de hash de arquivos para cadeia de custódia usando JavaScript
Aula 38: Análise de Logs
- Log analysis, correlation
- Prática: Análise de logs Apache/Nginx usando JavaScript/Python online
Aula 39: Resposta a Incidentes
- Processo de IR, containment, eradication
- Prática: Simulação de resposta a incidente usando cenário fictício
Aula 40: Projeto Final - Aplicação Segura
(Essa é uma ideia a ser analisada: a proposta é integrar com uma disciplina de projetos para aplicar os conhecimentos da disciplina de SI lá e relatar os resultados.)
- Apresentação de projetos
- Prática: Desenvolvimento de aplicação web segura integrando conceitos aprendidos
Ferramentas
- Navegador Web (Chrome/Firefox/Edge/Safari)
- Ferramentas Online:
- Repl.it, CodePen, JSFiddle para programação
- VirusTotal para análise de malware
- SSL Labs para análise de certificados
- Have I Been Pwned para verificação de vazamentos
- CyberChef para operações criptográficas
- RegExr para expressões regulares
- WebGoat/DVWA online para testes
Linguagens/Tecnologias Sugeridas
- JavaScript (principal - roda no navegador)
- Python (online via Repl.it)
- HTML/CSS para interfaces
- Node.js (online) para servidores
- SQL para injeções
- Bash (simulações online)
Metodologia
- Cada aula teórica seguida de prática
- Projetos incrementais ao longo do curso
- Uso extensivo de ferramentas web
- Labs hands-on sem necessidade de instalações locais