Detecção de Intrusão: Caçando Ataque em 2,5 Milhões de Sessões de Rede

Esse projeto é diferente até da Olist. A Olist eu construí capítulo por capítulo, com o professor Boldt do lado só na forma da matéria que ele deu. Esse aqui é literalmente meu trabalho final da matéria de Reconhecimento de Padrões, a prova de bloco de tudo que os outros posts dessa playlist ensinaram: EDA de dado sujo e desbalanceado, pré-processamento com ColumnTransformer, comparação honesta de modelo, avaliação além de acurácia, GridSearch. Só que dessa vez sem professor mostrando o caminho, fui eu sozinho com o dataset e o Bishop do lado.

O dataset é o UNSW-NB15, criado pelo Australian Centre for Cyber Security (ACCS) simulando tráfego de rede real misturado com nove famílias de ataque diferentes (de força bruta a worm), a partir de captura de pacote de verdade num ambiente de laboratório. A tarefa é a mais clássica de segurança de rede que existe: olhando pras características de uma sessão de rede (duração, bytes trocados, protocolo, TTL, e por aí vai), dizer se aquilo é tráfego normal ou ataque.

Diferente da Olist, aqui não são ângulos independentes sobre o mesmo dataframe mestre, é um fluxo de ponta a ponta em três capítulos, cada um assumindo o que o anterior já mostrou: capítulo 1 é a análise exploratória completa nos arquivos brutos, capítulo 2 troca de dataset e escolhe o modelo, capítulo 3 fecha com avaliação final, curva ROC e ajuste de hiperparâmetro. Começa pelo capítulo 1 aqui.

Projetos · 3 capítulos

  1. Capítulo 1: Explorando 2,5 Milhões de Sessões de Rede

    Capítulo 1 do meu trabalho final de Reconhecimento de Padrões: a análise exploratória completa do UNSW-NB15 nos arquivos brutos, desbalanceamento, dados ausentes, um bug de qualidade que só achei porque desconfiei do dtype errado, redundância entre variáveis e a decisão consciente de não podar nenhuma feature.

  2. Capítulo 2: Trocando de Dataset e Escolhendo um Candidato

    Capítulo 2 do meu trabalho final de Reconhecimento de Padrões: por que abro mão dos 2,5 milhões de sessões brutas em troca de uma partição menor e curada, o pipeline de pré-processamento que evita vazamento na validação cruzada, e a comparação justa entre quatro famílias de modelo antes de escolher qual treinar de verdade.

  3. Capítulo 3: Avaliação Final, Curva ROC e Ajuste de Hiperparâmetro

    Capítulo 3, o fechamento do meu trabalho final de Reconhecimento de Padrões: o Random Forest escolhido no capítulo 2 avaliado no teste oficial (98,3% de AUC), o corte de decisão explorado de ponta a ponta, curva ROC, as variáveis que mais pesaram, onde o modelo erra, e a descoberta de que afinar hiperparâmetro nem sempre bate o palpite padrão.