IPAのSQLインジェクション検知ツールであるiLogScannerはなぜJavaアプレットなのか?

参照:IPAのiLogScannerのサイト
ログをスキャンするのなら、サーバ上で実行できるカタチにしといて欲しいんだけど...
そうでない理由をいくつか考えてみたけど、説得力無いなー

  • サーバ版ももちろん存在してるんだけど、リンク張るの忘れた→ありがち(汗
  • Javaアプレットの実行環境(=ブラウザ)のsandbox機能があれば、アプレットに深刻なバグがあってもサーバを乗っ取られたりしない→これはあるかも(汗
  • チェック内容を知られたくない→Javaアプレットを実行してる最中にコードを解析するぐらい、朝飯前の連中を相手にしてるわけだし、意味無し
  • ログ内容をひそかにIPAに送信して、その情報でIPAが商売しようとしている→その可能性は考えたくない
  • 対象としているのは、レンタルサーバ利用者で、ログは基本的にダウンロードして活用するのが前提→これはあるかも。でも、SQLインジェクションで社会的にインパクトあるのは、自分でサーバ立てて営業してる人たちでしょーが。
  • あくまで簡易ツールだから、大事なサーバなら、お金だしてセキュリティ会社のサポートを受けましょう→業界保護っていう意味では、これが一番大きいかな(笑)
  • アプレットの認証とかができるから、ダウンロードしてからチェックサムの確認とかをしないずぼらなユーザへの対策になる→これはあるかも

IPAの中の人は自己矛盾に苦しんでるかなぁ。だとしたらかわいそうだからつっこむのはやめとこ。簡易ツールでも、たくさんアタックの痕跡がみつかれば、人々のリテラシーを高める効果はぜんぜん馬鹿にならないと思うし。

もし使うとしたら

自分なら、ログに前処理して使うだろうな

  • そもそもmod_securityで、ありがちなケースはひっかけておく
  • とりあえずは404,403のケースのみにする(←いきなりアタックがすべて成功する確率は低い)
  • pathとrefererが一致するものはuniqしておく
  • 正常と思われるpathのパターンは除外する
  • 接続元はぜんぶlocalhostに変換する
  • refererのホスト名はexample.netにする(うまく変換できないようなケースがあれば、そこでtrap)

これなら、大抵のホストでもテスト可能なサイズになるんじゃなかろか?