Como sabemos, a área de Segurança da Informação é extremamente complexa e dinâmica e as novidades tanto no tocante a vetores de ataque quanto de diferentes técnicas de ataque e defesa surgem diariamente.
Por isto mesmo uma equipe responsável pela Resposta a Incidentes de Segurança, Forense Computacional ou "Cybersecurity" precisa estar composta de profissionais que possuem uma grande quantidade de habilidades e obviamente precisam estar em constante treinamento para se adaptarem a esta realidade.
Hoje tive uma ótima surpresa quando vi que o CERT e o Software Engineering Institute da Universidade Carnegie Mellon publicaram um documento fundamental para a preparação e o desenvolvimento contínuo de equipes de Cybersecurity, chamado "The CERT® Approach to Cybersecurity Workforce Development"
Logo na sua introdução, é feita uma colocação muito interessante a respeito de dois fatores fundamentais para que uma habilidade seja verdadeiramente efetiva nesta área: a proeficiência (experiência/conhecimento do assunto) e a relevância (utilidade para execução da função).
Algumas limitações dos treinamentos tradicionais em salas de aula são apresentadas, como a diferença entre a experiência vivida e o mundo real (quadro negro versus redes, softwares e usuários); o tempo (geralmente dias) gasto para aulas tradicionais (o que gera uma frequência inadequada de treinamento); a necessidade de deslocamento, e a óbvia demora do método tradicional em adaptar-se as novidades tecnológicas.
A nova abordagem sugerida pelo CERT para treinamento de profissionais ligados à Cybersecurity é dividida em quatro fases (que são brevemente apresentadas abaixo, mas são bem detalhadas no documento original)
- Desenvolvimento de Conhecimentos - onde os fundamentos e conceitos de tópicos específicos são abordados;
- Desenvolvimento de Habilidades (*) - como aplicar praticamente os conhecimentos / exercícios hands-on;
- Desenvolvimento de Experiência - adaptabilidade da aplicação das habilidades desenvolvidas em ambientes não familiares (mundo real);
- Avaliação - são propostas métricas para avaliar a evolução dos profissionais treinados e identificação de áreas que necessitam de melhoria continuada.
* Na seção de desenvolvimento de habilidades, existem colocações acerca da diferença entre usar ferramentas (e ter a vantagem da velocidade e a possibilidade de usar analistas menos treinados na tecnologia de mais baixo nível envolvida).
A conclusão apresentada é a seguinte (pg. 12): o melhor é ganhar eficiência executando tarefas que já são automatizadas adequadamente por ferramentas como o Autopsy, o Encase e o FTK (para ações como recuperação de arquivos deletados, carving, etc) e deixar a "escovação de bit" para atividades que as ferramentas não executam (reconstrução de um filesystem corrompido, por exemplo).
Uma pergunta que emerge naturalmente destas afirmações é: como diferenciar? Apenas com habilidade, conhecimento e experiência.. Por isto a Gestão Técnica ou ao menos o envolvimento - mesmo que apenas consultivo - de profissionais técnicos sêniores é fundamental na maioria das atividades ligadas à Cybersecurity.
O documento traz também um caso de estudo de treinamento contendo a experiência do CERT desde 2009 com um esquadrão de operações cibernéticas da USAF (força aérea norte-americana).
E para não ficar só na teoria, o CERT libera um acesso de demonstração ao sistema XNET, desenvolvido pela Carnegie Mellon (dica: via RDP é melhor..) - veja a captura (JPG): http://j.mp/h2gaJw e a rede do laboratório (JPG)
Neste sistema, times precisam executar várias tarefas relacionadas à Cybersecurity e são monitorados pelos instrutores, online. Existe um PDF contedo um WORKBOOK das atividades como Incident Detection & Reporting Challenge , Prioritizing Defense Measures
e Mitigation Tasks.
Seguem exemplos de exercícios práticos acessíveis via XNET:
Logging:
- OSSEC HIDS Server
- Remote Centralized Monitoring Server
- OSSEC Agent on Linux hosts
- OSSEC Agent on Windows hosts
- SQL Server Event Log Auditing
Detection:
- Configuring Arpwatch
- Creating a DHCP Offer Packet Filter for tcpdump
- Nagios Network Monitoring
- Appendix – Configuring Nagios
- NTOP Traffic Monitoring
- Snort Rules
Hardening:
- Securing the Domain with Security Templates and Group Policy
- Bandwidth Throttling
- Configuring IPTables as a Host Based Firewall on Linux Systems
- ACL on Router for Data Exfiltration / IRC
- Disable Directory Traversal
- Disabling Telnet on Router
- Drop Traffic from a Host
- Endian Firewall SSH Access
- Exchange Server Hardenin
- Firewall Access Control
- Hardening FTP Server
- Install and Configure Reverse Proxy Using Pound
- Linux Host System Hardening
Os ataques que precisam ser evitados/detectados incluem:
- EasyFTP Remote Exploit
- SQL Injection
- WebSite Directory Transversal
- Data Extrafiltration (TCP, UDP, ICMP)
- WebSite Defacement
- Infected User beaconing to an external IP
- Insecure router using telnet
- Infected user scanning internal IP space
- Attack using xp_cmdshell stored procedure
Se interessou? Leia o documento na íntegra. Certamente este tipo de experiência pode auxiliar internamente na melhor preparação do seu time de Segurança/Resposta a Incidentes ou Forense Computacional.
Aproveito para desejar a todos vocês uma ótimo virada de ano e um 2011 cheio de conquistas pessoais e profissionais!
Post Relacionados:
Uma equipe com membros de niveis diferentes, seniores com experiencia real em cybersecurity, APT e repassando os conhecimentos adquiridos ao longo do tempo para membros mais juniories que executem as tarefas mais repetitivas para se ambientarem com as mesmas seria o melhor. Nao adianta simplesmente saber como rodar ferramenta A ou B, eh preciso ter experiencia por exemplo do APT para saber que tipo de evidencia a ferramenta pode capturar, revelar que ajude no processo de investigacao.
ReplyDeleteSandro,
ReplyDeleteFalando em CyberSecurity, que na minha humilde opinião, é só outro nome para um desafio pré-existente, mas visto com os olhos dos GOVs e outras agências; em termos práticos, como elencar, por ordem de prioridade, o conhecimento a ser adquirido por um jovem recém-formado e sem experiência?
Network Security: monitoramento, resposta a incidentes, forensics, network design, etc;
Application Security: firewall de aplicação, revisão de código, hardening, etc;
Sem falar em processos e conscientização... enfim, tirando eventos do SANS, acredita termos cursos de capacitação ou formação adequado no Brasil?
Em relação aos métodos tradicionais, acredito estarmos bem atrasados. Com exceção de poucas instituições onde o investimento em EAD é alto (FGV, Insper e outros para poucos), essa metodologia não é bem vista por aqui.
Pergunte, por exemplo, a um estudante - de SP, onde há cursos de pós em SI -, que realmente quer aprender (não somente pelo título), se ele prefere estar em sala de aula/lab ou se prefere aprender por meio do computador, em casa. Posso estar errado, mas acredito que a maioria optaria por aulas presenciais.
Muita empresa por aí faz "oba-oba" com EAD, instala um Moodle e cobra a mensalidade. Não é bem assim...
Desculpe pelo longo comentário, mas esta discussão merece páginas!
Abraço e parabéns pelo post!
Alexandre Teixeira
Grande Alexandre, antes de mais nada, obrigado pela ilustre visita ao blog! =)
ReplyDeleteCom relação às suas perguntas, vou emitir minha opinião por aqui..
I) Como elencar, por ordem de prioridade, o conhecimento a ser adquirido por um jovem recém-formado e sem experiência?
Acredito que em primeiro lugar, é preciso saber que não se pode saber tudo. O ideal é se especializar em algo e ter um conhecimento "lateral" que se amplifica com a experiência..
Depois de uma formação básica (formal ou não) Ir para o front. Trabalhar de estagiário, trainee ou júnior
O problema maior é que os passos 1, 2, 3 citados no post acima normalmente não são seguidos, e na melhor das hipóteses o profissional salta do 1. (teoria/conhecimento) para o 3. (vida real) sem uma preparação prática adequada / (2. hands-on) que só existem em cursos lá fora..
Uma abordagem possível é o mentoring técnico (não estou falando de gestão, mas de alguém experiente e disponível que dê dicas e caminhos para os novatos).. Costuma funcionar (parte do meu trabalho como CTO é fazer isto com nossa equipe técnica / 20 pessoas).
II) Acredita termos cursos de capacitação ou formação adequado no Brasil?
/dev/null. Mesmo lá fora os cursos bons são caros (ex. SANS) e a maioria dos EAD são "moodle like" como você falou.. O jeito é tomar coragem, aproveitar que é jovem e ir errando - até aprender =) ou torcer pra cair em uma equipe que faça "mentoring" ou seja lá como isto se chama.. =)
um grande [ ] e obrigado pela contribuição!
S.S.