カテゴリー
Computer Security

Mambo, Coppermine, PHPBBが攻撃対象に(2)

/.Jの投稿で気が付いたのですが前に書いた「Mambo, Coppermine, PHPBBが攻撃対象に」でワームが活動している記載しましたが、日本のサーバでも感染しているらしいです。

http://www.merit.edu/mail.archives/nanog/msg14612.html

ネットワークブロックが記載されています。対象のアプリケーションを使っている方は確認された方がよいと思います。
# XMLRPCの対策をされていない方も直ぐに対策が必要です。

カテゴリー
Other

Wiki荒らし

私のWikiに荒らしがり、昨日それに気が付いたので修正しました。MenuBarとFrontPageページにゴミが入っていたのですが、FrontPageの方は意図が何なのか不明な変更なのです。(リンク先はページを更新するのでそのうち無くなります)

http://wiki.ohgaki.net/index.php?cmd=backup&page=FrontPage&age=22&action=diff

MenuBarの方はPukiwikiを狙った自動SPAM(?)のだったのかも知れません。

http://wiki.ohgaki.net/index.php?cmd=backup&page=MenuBar&age=10&action=diff

DIVタグを使って(Pukiwikiではそんなタグ書けませんが)URLリンクは表示されないようにしつつ、リンクを作ろうとした攻撃だったようです。DIVタグが書けるWebアプリでは見かけ上分からないので気が付きづらいです。

いくらWikiとは言え、組織的SPAMが当たり前になってきているのでFrontPage、MenuBarくらいは凍結しておくべきでした。Wikiにもある程度体系的な認証や保護が必要な時代になりました。来年は更に自動的なSPAM行為が増えると思われます。と言うことで来年のTODOの一つはWikiをMediaWikiに乗り換える、かな?
# Pukiwikiに本格的な認証機能を付ける、という手もありますが。

カテゴリー
Computer

IE, Firefox, Opera? どれを使う?

リモートから攻撃可能な脆弱性が公開されてからパッチが当てられていない期間(unsafeな期間)を調査したレポートがあるそうです。

http://bcheck.scanit.be/bcheck/page.php?name=STATS2004

詳しく脆弱性の公開日とパッチ公開日が記載されています。

Schneier on Securityによると

MSIE was 98% unsafe. There were only 7 days in 2004 without an unpatched publicly disclosed security hole.

Firefox was 15% unsafe. There were 56 days with an unpatched publicly disclosed security hole. 30 of those days were a Mac hole that only affected Mac users. Windows Firefox was 7% unsafe.

Opera was 17% unsafe: 65 days. That number is accidentally a little better than it should be, as two of the upatched periods happened to overlap.

しかし、2004年の事とはいえ98%は安全ではなかったとは想像以上に悪いですね、IEは。

2005年のレポートがどうなるか非常に興味があります。

カテゴリー
Computer Security

NSAがメールを盗聴しているか確認する方法

NSAがメールを盗聴(メールのみではなくエシュロンでありとあらゆる通信を傍受している)している事は有名ですが、盗聴されているか確認する手法の紹介です。

秘密のURLを使って盗聴を検知する手法です。

  1. フリーメールサービス(Google/Yahoo/Microsoftなど)にアカウントを作成する
  2. 米国以外の国のISPアカウントを作成する(日本のアカウントではダメ?かも)
  3. 自分だけが知っているURLを作成する
  4. NSAが関心を持ちそうなメール(英語?アラブ語?)を1、2で作成したアカウントでメールのやり取りをする。メールの中には3で作成したURLを含める
  5. NSAらしきコンピュータから3のURLへのアクセスログがあるか確認する

この方法だとNSAが盗聴を実行しているか確認できます。会社のシステム管理者が従業員を監視しているか確認する方法に応用されそうな気がします。

しかし、テロリストは暗号化しないでメールでやり取りしているのでしょうか?案外テキトーに平文で通信しているのでしょうか? 現状では暗号化しているだけで目立つので暗号化したメールの方がテロリストには危険なのかも知れません。

カテゴリー
Security

WMF脆弱性に対する攻撃

マイクロソフトの以下のサイトでは画像とFAXビューアを(Shimgvw.dll) を登録抹消するよう推奨しています。

http://www.microsoft.com/japan/technet/security/advisory/912840.mspx

登録抹消

1.[スタート] メニューの [ファイル名を指定して実行] に “regsvr32 -u %windir%\system32\shimgvw.dll” (二重引用符は必要ありません) と入力し、次に [OK] をクリックします。

2.ダイアログ ボックスに、登録を解除するプロセスが正常に完了したことを確認するメッセージが表示されます。[OK] をクリックして、ダイアログ ボックスを閉じます。

回避策の影響: Windows 画像と Fax ビューア は、ユーザーが Windows 画像と Fax ビューア に関連するイメージの種類へのリンクをクリックしても起動されません。

再登録

この変更を取り消すためには、上のステップに従って Shimgvw.dll を再登録してください。ステップ 1 のテキストを “regsvr32 %windir%\system32\shimgvw.dll” に変更してください (二重引用符は必要ありません)。

Explorerで参照するだけで感染する可能性があるようなので念のためにMS推奨の回避策も実行しておきました。この変更を行うとExplorerで縮小版を表示しなくなります。自動的にアクセスしなくなるのでとりあえずは大丈夫、と言うことなのでしょう。

ところで、この脆弱性を利用した攻撃、私のところにも幾つかメールで来ていました。ClamAVはすり抜けていましたがNorton AntiVirus2006はBloodhound.Exploit.56として検知しました。アンチウィルスソフトをインストールしていてもタイミングが悪く感染してしまった人も多いのではないかと思います。

セキュリティメモにいろいろリンクが載っています。
http://www.st.ryukoku.ac.jp/%7Ekjm/security/memo/2005/12.html#20051230_tuiki
http://www.st.ryukoku.ac.jp/%7Ekjm/security/memo/2005/12.html#20051228_WMF

カテゴリー
Security

httprintの新バージョン

Webサーバのフィンガープリンティングツールのhttprintの新バージョンがリリースされてるようです。

# [new] Multi-threaded engine. httprint v301 is a complete re-write, featuring a multi-threaded scanner, to process multiple hosts in parallel. This greatly saves scanning time. *multi-threading is not yet supported in the FreeBSD version.

# [new] SSL information gathering. httprint now gathers SSL certificate information, which helps you identify expired SSL certificates, ciphers used, certificate issuer, and other such SSL related details.

# [new] Automatic SSL detection. httprint can detect if a port is SSL enabled or not, and can automatically switch to SSL connections when needed.

パフォーマンスとSSLサポートが向上しています。

ちなみに手元のLinux/Apache2に対して57.23%の確立でApache2であると判定しました。本気で隠そう、とまでは思っていないですが単純なスキャンでは分かりづらいくらいには隠そうとしていてこの結果です。まずまずの検知性能と思います。

OSもそうですが、隠しているつもりでも隠れていない場合も結構あるので気になる方は試してみてはいかがでしょうか?
# OSならnmapが定番のフィンガープリンティングツールです。念の為。

試しに実行してみたhttprintのアクセスログは次の通りです。

192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET / HTTP/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET / HTTP/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “OPTIONS * HTTP/1.0” 200 – “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “OPTIONS / HTTP/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET /antidisestablishmentarianism HTTP/1.0” 404 7556 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “PUT / HTTP/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “JUNKMETHOD / HTTP/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET / JUNK/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “get / http/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “POST / HTTP/1.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET /cgi-bin/ HTTP/1.0” 403 7556 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET /scripts/ HTTP/1.0” 404 7556 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET / HTTP/1.1” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET / HTTP/1.2” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET / HTTP/3.0” 200 15036 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET /.asmx HTTP/1.1” 404 7556 “-” “-”
192.168.100.210 – – [25/Dec/2005:05:43:29 +0900] “GET /../../ HTTP/1.0” 400 226 “-” “-“

カテゴリー
Computer Development Security

Strict Session管理パッチ

Hardedned PHPプロジェクトのStefan EsserさんがPHP SESSIONをより安全に運用するパッチを公開しています。

このパッチはPHPのセッション管理の問題に対応します。PHPのSESSIONモジュールがSession Fixation(セッションIDの固定化)に対して脆弱であることは随分前から広く(?)知られていました。このパッチを適用すればSession Fixation問題も随分改善します。

例えば、PHP SESSIONを利用しているサイトで

http://example.jp/index.php

と言うURLがクッキーを利用したセッション管理行っているとします。セッションデータが初期化されサーバに保存されているか、されていないかに関わらず、ブラウザが送信したクッキーによって指定されたセッションIDがそのまま使われます。このパッチはセッションIDのデータが無ければ、セッションIDを再生成してセッションを開始するよう動作が変わります。(通常のPHPのセッション管理はpermissiveなセッション管理と呼ばれています。パッチ適用後はstrictなセッション管理も選択できるようになります。)クッキーだけを使ったセッション管理では、セッションIDが固定化する問題はあまり深刻な問題ではありませんが、好ましい動作とは言いがたいです。

session.use_only_cookiesがoffの場合、問題は深刻です。

http://example.jp/index.php?PHPSESSID=123456

とすると、セッションデータが無い場合、セッションIDが123456になってしまいます。session.use_cookies=on設定(デフォルト値)でクッキーを利用するセッション管理でも、PHPSESSID=123456をクッキーに設定されます。つまり、デフォルトの状態のPHPのセッション管理はsession.use_only_cookiesがoffである為、普通にSession Fixationに脆弱になってしまいます。一応、サイト外のURLに埋め込まれたセッションIDを受け付けないようにするsession.referer_check設定もあるのですが、REFERERを使っているので十分な対策とはいえません。許可するドメインなどを記載する設定項目なので、当然ですが、デフォルトでは何も設定されていません。何も設定されていない時はREFERERチェックは行われません。

追記:色々書いていますが、要するにデフォルト設定のPHPだとSession Fixationに脆弱である、と言うことです。

より厳格なセッションID管理を行うには、パッチを適用後、

session.use_strict_mode = on

と設定するだけです。

このパッチを適用するとユーザ定義セッションセーブハンドラで以下の2つの関数が利用(定義)できるようになります。

string create_sid()
bool validate_sid($key)

create_sid関数は新しいセッションIDを作成します。
validate_sid関数は$keyが正しいかチェックします。

ところで、デフォルトではsession.use_only_cookiesはoffに設定されています。しかし、普通のサイトはsession.use_only_cookiesはONで運用するべきです。もし、offで運用されている場合、強くONに変更して運用することをお勧めします。先ほども書きましたが、session.use_only_cookies=onであればSession Fixation問題はそれほど重大な問題とは言えません。パッチを適用していない場合でもsession.use_only_cookies=onであればそれほど心配する必要はありません。

# 随分古いInternet ExplorerではXMLHttpRequestで他のサイトにリクエスト
# を送信できたりしました。しかし、今は出来ないのでクッキーを利用した
# セッション管理に対して効果的なSession Fixation攻撃は出来ないと思い
# ます。