カテゴリー
Linux

起きてびっくり,サイト改竄? at よそ様-続々々々報。

投稿アップデート情報  追記

 完全に,後出しの話になる(爆)。ところで,踊り字3つだよーっ(汗)。

 実は,「起きてびっくり,サイト改竄? at よそ様-続々報。」のときに, Apache のドキュメントを読みに行って,何のことだろうと思っていた記述があった。それは,「このオプションを省略したからといってセキュリティの強化にはなりません。 なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、 そのため回避可能になるからです。」というものだ。その時点では,そのことについて,触れているところを見つけられなかった。

 ところが,今晩,2つも見つけてしまった。やはり, Symlink Attacks に関連のあることだったようだ。
 見つけたのは,次の2つ。一つは WikiPedia で「 Symlink race 」の説明のところ,もう一つは,「 Apache HTTPD: `Options -FollowSymLinks` は不完全」というページ。

 特に,2つ目は,今回の事件を踏まえて書いていることなので,飲み込みやすい。要するに,
————————————————————————————————————————————————
「シンボリックリンク機能を持つ UNIX (リンク先の文中に,LINUX についても同等のことが可能である記述がある ― o6asan 追記) には 『ファイルがシンボリックリンクかどうかの判定』、 『ファイルまでのパスがシンボリックリンクかどうかの判定』、 『ファイルのオープン』を一度に処理する方法がない」
————————————————————————————————————————————————
ために,タイムラグが生じる。そのせいで隙が生まれ,悪用可能という話だ。この種類のことには,名前まである(「Time Of Check to Time Of Use」 = TOCTTOU)らしい。

 OSSTech の佐藤さんの書いた記事で,この間引用した徳丸さんの記事の話も,さくらインターネット社長の田中さんの記事の話も出てくる。

 実にわずかな時間の話だが,コンピュータは瞬時の生き物だからなあ。

 ここで,「TOCTTOU について具体的に解説していて参考になるページ」として挙げられている IPA の説明は,素人にはまるで手品のように思える不思議さである。

 今,徳丸さんのところに「ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策」を読みに行ったら,3日付の追記が増えていた。うーん,共用レンタルサーバだとそういうことになるんですか。

 田中さんのページ,「共用サーバにおけるSymlink Attacksによる攻撃とその対策について」には,今のところ,特に追記はないようだが, twitter では,佐藤さんとのつぶやきを閲覧可能である。いろいろと,使える対策を話し合ってる感じ。

追記:
 4日に書いたつもりが,公開の日付を見たら5日になっている。書いてる間に日が変わったようだ。まっ,いいけど。

 ところで関連でこんなのもあった。興味深いが,むずかしー。ユーザが一人しかいない,我が家では悩まなくていいようだけどネ。

カテゴリー
Windows

起きてびっくり,サイト改竄? at よそ様-続々々報。

 ウウウッ,こんなに続けるなら,初めから番号にしときゃよかったと,悔やむ表題。続々々報って,踊り字が何個になるんだよぉー。

 あれから, Symlink Attacks について調べてみた。つまり,ロリさんとこのクラックに使われたかもしれないって方法だよね。まぁ,いろいろ見つかる時代だね。いいというか,悪いというか,なんともはや表現に困る。

 ところで,
> LINUX を使ったときにシンボリックリンクとは便利なものだと思ったが,元来は UNIX 由来のものだろうと思う。
と書いたように,やはりシンボリックリンクというのは UNIX 由来のものだ。ということで, Symlink Attacks そのものも,ものすごく昔からあるようだ。 Symlink Attacks を google.co.jp で引用符付きで検索してみたら, 1997 年まではヒットした。引用符なしで内容的なものを調べてみるともっと昔からある。要するに,きちんと設定しないと狙われやすいところなわけだ。

 Apache の場合,ドキュメントルートの Options にはデフォルトで FollowSymLinks が入っているから,私のような素人の自鯖運営者でなければ,共有サーバの場合はこうしなきゃいけないよというのをちゃんと知っているだろうし,確立されていると思う。しかし,今回, “R.I.P lolipop” と名指しで攻撃されたということは,ロリさんところがそうなってなかったということなのだろう。大穴があいていたもので,個別の穴狙いでチョコチョコ出入りしていたクラッカーが,図に乗っちゃったということになるのか。

 TODOS でりりさんが「そういうプログラムが最期までできなかった」みたいなことを,相当,昔に書いていたから,そういう面で狙われやすい属性ができてしまっていたのかもしれないとも思う。

 シンボリックリンクについて, Windows の「ショートカット」のようなもんだという説明を,昔,されたことがあるが, LINUX を齧りだして使ってみた感じだとかなり違う。むしろ, Apache の「エイリアス」のほうが近い気がする。シンボリックリンクというのは,参照先のものを実体として使える。これは, Windows の「ショートカット」には無理だ。そのうえ,今回知ったわけだが,つけ方によっては,ファイルの性質さえ変えられるわけだ。バイナリをテキストとして参照するなんてのは論外だろうが, php を txt として見ることはできるわけだからね。

 まぁ,一般的には, WordPress 使いは,最新の環境を素早く安全に提供してくれるホスティングサービスを選ぶことを,念頭に置いておけばいいと思うよ。私の場合は,他人には提供してはいないが,自宅にサーバがある環境だから,一般的な場合より,いろいろ気にかけているだけの話だ。

 しかしねぇ,「最新の環境を素早く安全に提供してくれるホスティングサービスを選ぶことを,念頭に置いておけばいい」といっても,これが結構難しいのは確かだし,「安価」でというのが入ってくると,一層大変だよね。

 どの辺まで,自分で管理するのかは難しいところだけど,せめてすごく簡単なパスワードとか,更新されていない古いバージョンを,パッチあてなしで使うことは,やめようよ。そして,自分が新しいバージョンで行きたいと思っても,サーバのソフトを刷新してくれないホスティング会社を使っている場合は,乗り換えを考えたほうがいい。趣味で,乗っ取られても実害のないサイトなら,無理をしなくてもいいけど,小さくても,営業がらみだと,怪我の小さいうちに考えることをお勧めします。これ,ホント!!

カテゴリー
WordPress

起きてびっくり,サイト改竄? at よそ様-続々報。

 徳丸さんが関連記事(新規での投稿時刻は 9:48 のようである)を書いている。表題はそのものずばり。「ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策」。

 この中で,徳丸さんは hissy さんが,個人的な見解の中で, “symlink, mass deface” と書いておられたことの具体的手法だろうと,私が思ったことについて,詳しく書いてくださっている。

 しかし, WordPress を使う場合 mod_rewrite がいるから, FollowSymLinks は必須だ。ということは, 共有サーバの場合,ここを必ず SymLinksIfOwnerMatch にしておけばいいということなのか。うちの場合,ユーザは私ひとりなので,ドキュメントルートの Options はデフォルトのままで, AllowOverride のほうは,デフォルトの None から FileInfo Indexes Limit に変更してある。 .htaccess で使うためだ。

 LINUX を使ったときにシンボリックリンクとは便利なものだと思ったが,元来は UNIX 由来のものだろうと思う。メインフレームしか存在しなかったような時代においては,今のように不特定多数のしかも初心者に近いような人間がネット上で使用するようなことは想定外だったろうから,そのころのゆるさが残ってしまっているのだろう。

 なんちゅうか,自分の住んでいるところの郵便局と,西部劇の新開地の銀行を比べてみているのような気分になってきた。

 自鯖の環境を振り返ってみて,上記の件も大丈夫かなという気になってきたところである。ところで, WordPress をお使いの同好の士は,環境を最新に保つようにがんばりましょう。今回, timthumb.php の脆弱性が利用されたのであれば, timthumb.php を開発している方たちはがっくり来てると思うよ。「俺たちの努力は何だったんだ」って。まっ,何の分野でもよくある話だけどね,ありがたくないことに(爆)。