Questão de Segurança da Informação — IDS, IPS e Honeypots — INSTITUTO AOCP 2023
Segurança da Informação›IDS, IPS e Honeypots
Código
qa541442
Banca
INSTITUTO AOCP
Órgão
MPE MS
Ano
2023
Cargo
Ana ( )
Após ações do time de segurança ofensiva, observou-se que o 10S não foi capaz de gerar um alerta após a execução de uma varredura utilizando o comando 'nmap -sN'. Considerando que o 10S utilizado é o Snort, qual regra seria apropriada para detectar esse tipo de varredura?
Aalert tcp any any -> any any (msg:"Alerta Null Scan": sid: 1234; flags:!SFRPAU; threshold: type both, track by_dst, count 5, seconds 5;)
Balert tcp any any -> any any (msg:"Alerta Null Scan"; sid:1234; flags :S; threshold: type both, track by_dst, count 5, seconds 5;)
Calert tcp any any -> any any (msg:"Alerta Null Scan"; sid:1234; flags:FPU; threshold: type both, track by_dst, count 5, seconds 10;)
Dalert tcp any any -> any any (msg:"Alerta Null Scan"; sid: 1234; flags:A; threshold: type both, track by_dst, count 5, seconds 10;)
Ealert tcp any any -> any any (msg:"Alerta Null Scan"; sid:1234; flags:FA; threshold: type both, track by_dst, count 5, seconds 10;)
Revelar gabarito e comentário▾
GabaritoA — alert tcp any any -> any any (msg:"Alerta Null Scan": sid: 1234; flags:!SFRPAU; threshold: type both, track by_dst, count 5, seconds 5;)
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Varredura Null Scan no Snort: flags TCP e detecção de scans
Gabarito: letra A. O comando nmap -sN realiza uma varredura do tipo Null Scan, que envia pacotes TCP com nenhuma flag ativa (todos os bits de flag zerados). Para detectar esse tipo de varredura no Snort, a regra deve especificar flags:!SFRPAU, que significa "nenhuma das flags SYN, FIN, RST, PSH, ACK ou URG está ativa" — exatamente o padrão do Null Scan. As demais alternativas usam flags incorretas (S, FPU, A, FA), que correspondem a outros tipos de varredura ou a tráfego normal.
O Snort é um IDS (Intrusion Detection System) baseado em assinaturas, que analisa o tráfego de rede comparando-o com regras pré-definidas. Cada regra do Snort possui uma estrutura específica, incluindo cabeçalho (protocolo, IPs e portas de origem/destino) e opções (como msg, sid, flags e threshold). A opção flags é crucial para detectar varreduras, pois permite especificar quais flags TCP devem estar presentes ou ausentes no pacote para que a regra seja acionada.
O comando nmap -sN é uma técnica de enumeração de portas que explora a resposta do sistema operacional alvo a pacotes TCP com flags anômalas. No Null Scan, o pacote enviado não possui nenhuma flag ativa (flags = 0). A lógica por trás disso é que, se a porta estiver fechada, o sistema operacional responderá com um pacote RST (Reset), enquanto portas abertas ou filtradas podem não responder ou responder de forma diferente. Essa técnica é útil para contornar firewalls que filtram pacotes com flags comuns, como SYN.
Para criar uma regra no Snort que detecte o Null Scan, é necessário especificar que o pacote TCP não deve ter nenhuma das flags comuns ativas. A sintaxe flags:!SFRPAU faz exatamente isso: o sinal de exclamação (!) nega a lista de flags, ou seja, a regra casa com pacotes que não possuem as flags S (SYN), F (FIN), R (RST), P (PSH), A (ACK) e U (URG). Isso corresponde precisamente ao Null Scan, onde todas essas flags estão zeradas.
A opção threshold na regra é usada para limitar a taxa de alertas, evitando que o IDS seja inundado com milhares de alertas durante uma varredura. No caso, threshold: type both, track by_dst, count 5, seconds 5 significa que o Snort só gerará um alerta se houver 5 ocorrências do padrão em 5 segundos, rastreando por endereço IP de destino. Isso ajuda a reduzir falsos positivos e a destacar varreduras reais, que geralmente geram muitos pacotes em um curto período.
A pegadinha desta questão está em associar corretamente o tipo de varredura do nmap às flags TCP correspondentes. O candidato pode confundir o Null Scan com outros tipos de varredura, como o SYN Scan (-sS, que usa a flag SYN), o FIN Scan (-sF, que usa a flag FIN), o Xmas Scan (-sX, que usa as flags FIN, PSH e URG) ou o ACK Scan (-sA, que usa a flag ACK). Cada uma dessas varreduras tem um padrão de flags específico, e a regra do Snort deve refletir exatamente esse padrão para detectá-la corretamente.
Guarde a correspondência entre os tipos de varredura do nmap e as flags TCP: é exatamente nela que as alternativas se dividem. A alternativa correta é a única que usa a negação de flags (!SFRPAU), enquanto as demais usam flags positivas que correspondem a outros tipos de varredura ou a tráfego normal.
Esta é a regra correta para detectar o Null Scan. A opção flags:!SFRPAU nega as flags SYN, FIN, RST, PSH, ACK e URG, ou seja, casa com pacotes TCP que não possuem nenhuma dessas flags ativas. Isso é exatamente o que o nmap -sN envia: pacotes com todas as flags zeradas. A opção threshold com count 5, seconds 5 é adequada para reduzir falsos positivos e detectar a varredura como um todo, em vez de alertar a cada pacote individual.
Alternativa B — ❌ Incorreta
A opção flags:S casa com pacotes que possuem a flag SYN ativa. Isso corresponde ao SYN Scan (nmap -sS), não ao Null Scan. O SYN Scan é uma técnica de varredura que envia pacotes com a flag SYN para verificar se a porta está aberta, fechada ou filtrada. Portanto, essa regra detectaria o SYN Scan, mas não o Null Scan.
Alternativa C — ❌ Incorreta
A opção flags:FPU casa com pacotes que possuem as flags FIN, PSH e URG ativas. Isso corresponde ao Xmas Scan (nmap -sX), que envia pacotes com essas três flags ligadas. O Xmas Scan é outra técnica de enumeração de portas, mas é diferente do Null Scan, que não possui nenhuma flag ativa.
Alternativa D — ❌ Incorreta
A opção flags:A casa com pacotes que possuem a flag ACK ativa. Isso corresponde ao ACK Scan (nmap -sA), que é usado para mapear regras de firewall, não para identificar portas abertas diretamente. O ACK Scan envia pacotes com a flag ACK, o que é diferente do Null Scan.
Alternativa E — ❌ Incorreta
A opção flags:FA casa com pacotes que possuem as flags FIN e ACK ativas. Isso não corresponde a nenhuma varredura comum do nmap e, na verdade, é um padrão de tráfego normal em algumas situações (como o encerramento de uma conexão TCP). Portanto, essa regra não detectaria o Null Scan e poderia gerar muitos falsos positivos.
NÃO CAIA NESSA!
A banca troca os tipos de varredura do nmap entre as alternativas. O Null Scan (-sN) envia pacotes sem nenhuma flag ativa, então a regra deve usar flags:!SFRPAU. As alternativas B, C, D e E usam flags positivas (S, FPU, A, FA), que correspondem a outros tipos de varredura (SYN Scan, Xmas Scan, ACK Scan) ou a tráfego normal. Memorize a correspondência: -sN = Null Scan = nenhuma flag; -sS = SYN Scan = flag S; -sX = Xmas Scan = flags FPU; -sA = ACK Scan = flag A.
PEGA ESSA DICA!
Para questões sobre detecção de varreduras no Snort, decore a tabela de flags TCP e os tipos de varredura do nmap:
Varredura
Comando nmap
Flags TCP
Null Scan
-sN
Nenhuma (flags = 0)
SYN Scan
-sS
SYN
FIN Scan
-sF
FIN
Xmas Scan
-sX
FIN, PSH, URG
ACK Scan
-sA
ACK
Connect Scan
-sT
SYN (completando handshake)
Na regra do Snort, use flags:!SFRPAU para Null Scan, flags:S para SYN Scan, flags:FPU para Xmas Scan, e assim por diante.