(前提)
大学でnmapとsnortの使い方に関する課題が出ました。
2人がattackerPCとdefenderPCに分かれ、defenderはsnortを使ってportscanを検知することが目的で、一方、attackerはdefenderに気づかれずportscanを行う(open portを調べる)というのが目的です。
お互いのPCは同一ネットワーク上にあり、PC上のpersonal firewallはOFF、attackerはdefenderのIPアドレスを試合前に教授から知らされます。nmapのコマンドオプション、snortのチューニング(snort.confの設定)はそれぞれ各人が設定し、attackerはzenmap4.76、defenderはsnort2.8.3を使用。
(質問)
defender側からするとsnortでscan.ruleを使ったり、sfportscanのsense_levelをhighにするなどして、容易にportscanを検知できそうです。一方、attacker側からするとsense_levelがhighのdefenderをportscanするとすぐ検知されてしまいそうな気がします。実際、練習試合をやったときはステルススキャン(-sF)もslowscan(--scan_delay=500msec)も検知されてしまいました。
このような状況において、検知されづらいnmapのコマンドラインオプションはどのようなものが考えられるでしょうか?
PS:
・一応、一通りnmapのman pageは目を通しました。
可能性を求めるとすればディフェンダー側が
snortのルールをどの程度理解して対処してくるかが鍵だろうけど
事前学習及び試合時間といった時間的制限などもあるでしょうから
デフォルトに近い状態と仮定してもディフェンダー側が圧倒的に有利。
余程のポカをしていない限りは
ポートスキャンに感づかれないようにするのは事実上不可能。
# ただ単に、攻撃元を簡単には悟られないようにするだけでよければ
# デコイを大量に放つという手くらいは残されているけれど・・・。
ポカを起こしやすい部分としては
起動オプションの付け忘れ、コメントの外し忘れなど
自分(対戦相手)なら見逃しそうな部分をまずは検討してみてください。
それと各種閾値の設定値。
誤検出を恐れる(=そこまで考える)のか
とりあえずは何でもアラート(=何も考えず闇雲に)なのか・・・
このあたりになると心理戦ですね。
今回の課題で何を求められているのかにもよりますが
どのような思考プロセスによって攻撃方法を絞り込んだのかを
まとめる事に終始したほうがよろしいかもしれません。
コメント欄にでも書く事だと思ったのだけど、どうかしら?
kn1967 様
回答ありがとうございます。
私自身、Nmap、snort、ネットワークセキュリティにあまり詳しいわけではないので、この課題に対しての私の印象(defender側が圧倒的に有利)が正しいものか不安だったのですが、それに同意してくださっただけでもとても価値の高い回答です。ありがとうございました。
実際の企業でのIDS運用ではなく、今回は授業の中でのIDS試用であるため、defender側は誤検出を恐れずに、何でもアラートを出す設定(sense_level=high等)にするものと思われますし、私がdefender側で試合をするときにもそのようにする予定です。
冗談か本気なのか分からないのですが、この課題に関して、以下のような採点基準が示されています。
・defender側のときに全てのportscanを検出し、attacker側のときに全てのportscanが相手にばれずに成功したとき:A+
・defender側のときに全てのportscanを検出したが、attacker側のときにいくつかのportscanが相手にばれてしまったとき:A
・defender側のときにいくつかのportscanを検出し、attacker側のときに全てのportscanが相手にばれてしまったとき:B+
などなど
ただ、教授も今回の課題の目的は我々がsnortやnmapの使い方に慣れることだと言っていました。snortにおいてはsnort.confの書き方やruleファイルの書き方とその意味。nmapにおいては、オプションの書き方やその意味などです。
なので、回答していただいたように、どのような思考プロセスを経てsnortなりnmapなりのオプションを決定していったのかをまとめていこうかなと思います。
まだ少し時間があるので、他の回答をお持ちの方、ご回答の程よろしくお願い申し上げます。