Бро IDS триггер сигнатуры - PullRequest
0 голосов
/ 27 июня 2018

Я новичок в BRO и только начал проверять подпись в BRO. У меня есть один скрипт, main.bro, и файл подписи protosigs.sig. Идея состоит в том, чтобы сравнить подпись и сделать что-то внутри переписанной функции события - signature_match. Я попытался использовать следующую меру для тестирования файла pcap, но тест не сгенерировал note.log. Казалось, функция - signature_match не была вызвана. Кто-нибудь может дать мне знать, что здесь происходит? Большое спасибо!

Как проверить скрипт и подпись:

bro -r ./bittorrent.Transfer.pcap ./main.bro -s ./protosigs.sig

Моя подпись:

signature torrent-request-tcp {
    ip-proto == tcp
    payload /^\x13/
    tcp-state originator
    event "torrent-request-tcp"
}

Мой скрипт - main.bro:

@load base/frameworks/notice
@load base/frameworks/signatures/main
@load base/utils/addrs
@load base/utils/directions-and-hosts

#@load-sigs ./protosigs.sig

module bittorrent;

export {

    redef enum Notice::Type += {
        Torrent,
    };
}


event signature_match(state: signature_state, msg: string, data: string)
    &priority=-5
    {print "Triggerd!"; //at least this one should be triggered, but..
    if ( /torrent/ in state$sig_id ) 
        {
            print "TTTTTTTTTTTTTTTTTTT";
        NOTICE([$note=bittorrent::Torrent,
                $msg="Torrent whatsoever",
                $sub=data,
                $conn=state$conn,
                $identifier=fmt("%s%s", state$conn$id$orig_h, state$conn$id$resp_h)]);
        }
    }

1 Ответ

0 голосов
/ 21 августа 2018

Xifeng, ваша установка, кажется, здесь работает нормально (оставляя в стороне разделитель комментариев "//", где вместо этого вам понадобится "#"). Сигнатура тоже должна быть в порядке, поскольку протокол BitTorrent действительно начинается с 0x13 отправителем. PCAP, который я использовал, это:

https://pcapr.net/view/gerald/2009/0/3/10/Comcast_Bittorrent_no_RST.pcap.html

Вы уверены, что ваш pcap в порядке? Убедитесь, что он содержит квитирование TCP, чтобы Bro мог правильно загрузить состояние соединения.

...