www.morihi-soc.net

誰もが安心して使える、安全なインターネットを目指して

WOWHoneypot の Version 1.2 公開

どうも。ハニーポッターの森久です。

寒暖の差が激しい毎日ですが、みなさまいかがお過ごしでしょうか。
今回は WOWHoneypot の Version 1.2 の新機能について紹介します。

GitHub: WOWHoneypot
https://github.com/morihisa/WOWHoneypot

2018年5月19日 WOWHoneypot Version 1.2 公開

  • 新機能:GDPR のため、IP アドレスをマスクして保存する設定項目を追加しました(デフォルト:無効)。
  • 新機能:アクセスログを保存するときの区切り文字を設定ファイルで指定できるようにしました(デフォルト:半角スペース1個)。
  • 改善:URL のパースで、メソッドが大文字アルファベットから始まるリクエストのみ受け入れるようにしました。
  • 改善:URL に”(ダブルクォート)が含まれていた場合は、%22に変換するようにしました。
  • 改善:huntrules.txt にルールを追加しました。

 

新機能:IP アドレスのマスキング機能

2018年5月25日からEU一般データ保護規則(General Data Protection Regulation:GDPR)が始まります。
GDPR は個人データの保護に関する法律です。私は法律家ではないので、詳細な解説はできません。

ハニーポットが、法律施行に伴う影響を受けるかどうかは、ハニーポットで得た情報をどのように扱うかに係っていると思います。
GDPR で保護される個人データの一例として、オンライン識別子で IP アドレスと Cookie が挙げられています。

おそらくいないとは思いますが、WOWHoneypot に接続してきたホストの IP アドレスを保存したくない(攻撃の内容だけ記録したい/個人の特定に繋がる情報は保持したくない)という方がいらっしゃるかもしれません。
そこで送信元 IP アドレスをマスク(0.0.0.0)して記録する機能を追加しました。
デフォルトでは無効化されています。有効化するには、設定ファイル(config.txt)で「ipmasking=True」に変更し、WOWHoneypot  を再起動してください。

なお IP アドレスを保存しなくなるため、WOWHoneypot のブラックリスト機能による接続拒否ができなくなります。

※WOWHoneypot が発行する Cookie は、マッチ&レスポンス機能によるものであり、誰に対しても常に一定です。そのため個人を特定する情報になりえません。

 

新機能:アクセスログのセパレータが自由に指定可能

WOWHoneypot Version 1.1 までは、アクセスログの区切り文字が半角スペース1個でした。
この区切り文字は、ハードコーディングされていて、ハニーポッターによる柔軟な変更に対応していませんでした。
Version 1.2 からは、区切り文字を設定ファイル(config.txt)にて、自由に変更することができるようになりました。

なぜこの機能を追加したかというと、将来的に WOWHoneypot のアクセスログを機械学習のデータセットに使用する場合、データの前処理を簡単化できるようにしておこうと考えたからです。

先日、Security meets Machine Learning #2(#SecML) という機械学習とセキュリティがテーマの勉強会に参加してきました。内容は非公開のものが多く、紹介はできないのですが、データセットを用意するだけでなく、機械学習に入る前のデータの前処理(正規化などデータを扱いやすくすること)が重要だけど大変だなという印象を受けました。
実際にどのような前処理が必要なのか把握できていないのですが、CSV が良いのではないかという話を小耳に挟みました。(某マルウェア解析のデータセットでは、CSV&テキストに変更したとのこと)

そこでスペース区切りだけでなく、他の文字区切りでもアクセスログを保存できるようにしました。
デフォルトではスペースが指定されています。変更するには設定ファイル(config.txt)で「separator=” “」の””で挟まれた文字を変更し、WOWHoneypot  を再起動してください。

なお複数文字にも対応していますが、ログ件数が多くなればなるほど、区切り文字も多く使われてファイルサイズが肥大化します。ご注意ください。

今回は区切り文字を自由に指定できるようにしましたが、将来的には、アクセスログに保存する項目の種類や順番を入れ替えできるようにすることなども検討しています。

 

その他改善について

・URL のパースで、メソッドが大文字アルファベットから始まるリクエストのみ受付する

アクセスログを見ていると、結構、適当なメソッドの指定をしてくるアクセスがありました。Apache などの Web サービスでは拒否するようなリクエストも受け付けてしまうので、受け入れるリクエストに制限を加えました。

 

・URL に”(ダブルクォート)が含まれていた場合は、%22に変換する

アクセスログのパースで、”GET / HTTP/1.1″ の部分だけを抜き出す場合があります。このとき、たとえば SQL インジェクションの攻撃で、”GET /?q=p” 1=1 HTTP/1.1″のようなログが含まれていると、抜き出す時に一工夫必要になります。
そこで、強制的に “GET /?q=p%22 1=1 HTTP/1.1″として保存することで、ログのパースが簡単にできるようにしました。おそらく Apache 等のアクセスログの解析に使う awk コマンドのパターンが流用しやすくなると思います。
※上記の例では見やすさのため、スペースをそのまま表示しています。実際は%20に置き換わります。

 

・huntrules.txtにルール追加

perl のライブラリを使ってダウンロードするときに使われる lwp-download コマンドをart/huntrules.txt ファイルに追加しました。

 

まとめ

WOWHoneypot Version 1.2 では、新機能として IP アドレスのマスキング機能と、アクセスログのセパレータを自由に指定できる機能を追加しました。またいくつかの改善をしました。

ぜひ遊んでみてください。それでは。

 


告知

技術書典4で頒布した「WOWHoneypot の遊びかた」の紙の本を COMIC ZIN 様にて、委託販売を開始しました。部数としては少ないので、売り切れ御免。

電子版ではなく、紙が良い!という方はどうぞ。技術書典4で頒布したものと同一商品です。Version 1.0 がベースですが、基本的な考え方やログ分析に関するところなどに影響はありません。

http://shop.comiczin.jp/products/detail.php?product_id=36510

 

※COMIC ZIN の店舗でも販売していると思います。在庫があるかどうかは分かりません。
先日様子を見に行ったときは、新宿店は入って右奥の技術書典4の箱の辺り、秋葉原店は2階の棚にありました。たいてい技術書は、技術書が集まっているところに置いてあります。

社会見学として同人誌コーナーを見て回るのも一興。ただ一般的な書店と雰囲気がだいぶ違います。
よろしくお願いします。

 

Written by 森久

5月 20th, 2018 at 10:55 am