subversion
php
apache

初歩的な管理ミスで3300もの有名サイトがソースコードを盗まれる

次の記事

Skype for SIP(SIPベースのSkype)Cisco製品でも相互運用性を確証–徐々に明るさが見えてきた

Picture 12

ロシアのセキュリティグループが3300あまりのWebサイトのソースコードの入手に成功し、そのときの手口を詳しく書いた記事をブログに投稿した(翻訳はここ)。グループは、apache.orgphp.netのような大きくて有名なサイトでも初歩的な情報リークがあり、Webサイトのファイルの構造とソースを露呈していることを発見した。この情報は、よく使われているバージョンコントロールツールSubversionのメタデータのある隠れディレクトリを、Webからリクエストすることによって取り出せる。

その手口はかなり前からよく知られているもので、アプリケーションの欠陥というよりもサーバの管理者やデベロッパの不注意につけ込む。Subversionのメタデータはデベロッパがコードの作業用コピーを置く場所で、Webを訪れる人間が見る場所ではない。でも、この不注意はきわめて多く、しかも悪用されやすい。バージョンコントロールのメタデータのディレクトリは、’.svn’とか’.cvs’だから見つけるのも簡単だ。たとえば、こんなパスになる: http://www.test.com/.svn/

メタデータのディレクトリは、デベロッパがソースコードを正式にコミットする前の段階の変更履歴を記録しておくために使われる。しかしコードが実動サーバに乗る段階ではそれはローカルな作業用コピーではなく、エキスポートされた完成品だから、この問題が起こる。

Webサーバのデフォルトの構成では、名前がドットで始まるディレクトリ(UNIXでは伝統的に隠れファイルや隠れディレクトリ)をアクセス不可にすることが多い。だから被害に遭ったサイトは、バージョンコントロールの管理ミスと、Webサーバの構成ミス*という二重のドジを抱えていたことになるから、困惑も大きい。〔*訳注: まあ、‘ディレクトリリスティングを返さない’という構成にするのがふつうでしょう。〕

[原文へ]

(翻訳:iwatani(a.k.a. hiwa))