Hatena::ブログ(Diary)

セキュリティは楽しいかね? このページをアンテナに追加 RSSフィード Twitter

2006-03-29

404 Not Found

ステータス200なのに「その商品はありません」

Web屋のネタ帳さんが、「404を返すべきときにきちんと404を返す」ようにするべきだ、というようなことを述べている。もっともだと思う。上記では検索エンジンやクローラーにとってHTTPヘッダの情報が重要であることなどを指摘しているが、もうひとつとても困ることがある。それは何か。

実はWebアプリケーションセキュリティ検査が非常にやりにくくなるのである。私は仕事でこの手の検査をよく行うのだが、検査作業を自動化してくれるツールの多くがHTTPヘッダ情報を重要な判断基準として採用している。つまりセキュリティ上の問題がある場合に、404になるべきところで200 OKになったりするのをチェックしているのだ。

ところが404を返すべきときにそもそもきちんと404を返すようになっていないWebサイトの場合、セキュリティ上の問題があるのかどうか、ツールによる自動的な判定ができなくなる。その結果、人手による判断が必要になって余計な作業が増えることになる。

ユーザにとって不便であるだけでなく、セキュリティ検査を行うエンジニア泣かせでもあるわけ。

DNSの再帰問い合わせ

DNS の再帰的な問合せを使った DDoS 攻撃の対策について

日本レジストリサービス(JPRS)からDNS関連技術情報としてDNS再帰的な問い合わせに関する注意喚起がなされた。これは非常に困った問題だ。私は仕事でセキュリティ検査サービスを行っており、これまで多数の企業の検査に携わってきた。検査対象にはもちろんDNSサーバも含まれることが多いのだが、検査をした「ほとんど全て」のDNSサーバで外部からの再帰的な問い合わせを有効にしている。

Luis Grangeia氏によって2004年2月に行われたDNS Cache Snoopingの問題についての調査報告書では、世界中の約20万台のDNSサーバのうち約半分が RecursiveとNon-Recursiveどちらの問い合わせにも応答する"Open DNS Cache"サーバだったらしい。多分今でも状況はあまり変わってないのだろう。なぜこんなことになっているのか。一番大きな理由は、DNSの実装として最も広く普及しているBINDがデフォルトでコンテンツサーバ機能とキャッシュサーバ機能を兼用でき、しかも明示的にアクセス制御の設定を行わないと全ての問い合わせを受け付ける設定になっているからだと思われる。つまり管理者がきちんと設定してこれらの機能を分離しない限り兼用型のサーバになってしまい、その結果として再帰と非再帰の両方の問い合わせに答えることになる。

JPRSから推奨されている対策をばっさり要約するとこういうことになる。

  • コンテンツサーバキャッシュサーバはなるべく分離すること
  • これらを兼用するなら(しない場合でも)アクセス制御をきちんと設定すること

まあ分離できるならそれが一番だが、兼用する場合でも再帰問い合わせを許可するネットワークをちゃんと制限しましょうね、ということ。ちなみに djbdnsはコンテンツサーバキャッシュサーバの実装がもともと別になっており、アクセス制御もデフォルト拒否になっているので、BINDよりはかなり安全といえる。(もっともdjbdnsは使ったことがないので、その他の点についてはよく知らない。)


ちなみにDNSサーバ再帰的な問い合わせに応答するかどうかは簡単に調べられる。それには digなどのDNS Query Toolを利用する。例えば調べたいDNSサーバが a.example.jpだとした場合、以下のようにして適当に問い合わせてみればいい。

(例) dig @a.example.jp www.example.com

もし再帰的問い合わせが有効なら、こんな感じの結果が得られるはずだ。4行目の"flags"のところに"ra"と表示されていれば、再帰問い合わせが有効(recursion available)になっている。

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 421

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:

;www.example.com. IN A

;; ANSWER SECTION:

www.example.com. 172800 IN A 192.0.34.166

;; AUTHORITY SECTION:

example.com. 21600 IN NS a.iana-servers.net.

example.com. 21600 IN NS b.iana-servers.net.

;; ADDITIONAL SECTION:

a.iana-servers.net. 21600 IN A 192.0.34.43

b.iana-servers.net. 21600 IN A 193.0.0.236


Technorati: ,

2006-03-27

日本版SOX法が延期?

日本版SOX法の“1年先送り”でIT業界がなすべきこと : ITpro Watcher

なんだか知らない間に1年延期になっていたらしい。まあまだ形もない法律に騒ぎすぎという感じはしていたのだが。ビジネスチャンスと見ていたITベンダーはがっかり?

2005年4月の個人情報保護法の施行前にも、お祭り騒ぎでITベンダーコンサルティング会社には特需みたいになっていたが、さて今度はどうなるのだろうか。もっとも法律がどうなろうと、内部統制やガバナンスなんかはしっかりやったほうがいいに決まってるけど。

Technorati:

2006-03-23

Life Hacks! ☆☆☆☆☆

今一番気になるキーワード。というわけでLife Hacks PRESS ~デジタル世代の「カイゼン」術~を読んでみたり。GTDも気になるので読んではみたいものの、日本語訳が酷評されているので、原書を買おうかどうか悩み中。とりあえずこの本を読んでから考える予定。

なんとか楽しく仕事ができないか日々考え中...

2006-03-21

Bugtraq-JP終了

日本語によるセキュリティ情報の公開、流通に大きな役割を果たしてきたBugtraq-JPが終了するらしい。先週、モデレータを務めるLACの三輪さん(今では社長)からのメールがMLに流れた。開始当初は日本語による数少ないセキュリティ情報源として貴重だったが、最近はそうでもなくなっており、Security Focus Newsletterの日本語訳が時々流れてくる程度になっていた。時代とともにその役割を終えたということだろうか。

いつから始まったのか全然覚えていないので、ちょっと調べてみると(セキュリティホール memo - 1999.08)、どうやら1999年8月にスタートしたようだ。私がセキュリティ関係の仕事に携わるようになったのはその前年の1998年からだが、当時はセキュリティホールmemoもなかったし(かわりに Security Watchというサイトが人気だった)、Bugtraq-JPもなかった。日本語による有用なセキュリティ情報はほとんどなく、英語情報に頼らざるを得ない状況だった。

今では日本語によるセキュリティ情報は格段に増えたし、質の高い書籍(残念ながらほとんどは英語版の翻訳)も大量にあり、1999年頃とは比べ物にならないほど状況は良くなっている。それでも日本発の情報、技術、製品はセキュリティ分野ではまだまだ少ない。私も様々なサイトの情報に日々お世話になっているが、良質の情報を提供できるようにしていきたいと思う。

Technorati:

2006-03-18

PCからの情報流出をどう防ぐ?

Lost Ernst & Young laptop exposes IBM staff | The Register

アーンスト アンド ヤングでまたPCからの情報流出があったらしい。記事によるといわゆる車上荒らしラップトップPCが盗まれたようだ。でPCの中に数千人にのぼるIBMerの個人情報が含まれていたとのこと。

もちろんこの手の事件は海外だけでなく、国内でも毎日のように起こっている。IT保険ドットコムの個人情報漏洩事件一覧を見ても、PCの盗難だの紛失だのといった事件が後を絶たない。

会社からPCを持ち出さないようにしたり、キャビネットに鍵をかけて保管したり、持ち歩くときは肌身離さずなんてやってみたりしても、こうした事件を100%防ぐことは不可能だ。だから盗難や紛失が起こっても情報が流出する可能性を低くするような対応をあらかじめしておく必要がある。

ではどういう対策が有効なのだろうか?今のところ最も効果が高いと思われるのは、ハードディスク内の全てのデータを丸ごと暗号化しておくことだろう。データを復号するために必要なパスワード(またはこれに相当する鍵となる情報)を適切に管理しておけば、これでかなり情報流出のリスクを低減できる。具体的な製品でいうと例えば Pointsecや Safebootなどが該当する。

しかし難点はコストだ。導入から運用までを考えるとかなりのコストを覚悟しなければならない。PC向けのOSとして最も広く使われているWindowsが標準でこうした暗号化に対応していればいいのだが、残念ながら最新のWindowsXP SP2でもハードディスク全体を暗号化することはできない。(次期OSであるVistaではシステムボリューム全体の暗号化に対応するそうだ。)

ではなるべくコストをかけずにできる対策はあるのか。手間はかかるがもちろんできることはいろいろある。しかしハードディスク全体を暗号化する場合にはあまり考えなくてもよかったことをいろいろと注意しなければならなくなる。

参考までに私が自宅のPCで実施している方法を紹介する。(ちなみに会社のPCでは上にあげたような暗号化製品を利用している。)

  • PC内の重要なファイルは1つのフォルダに集約し、そのフォルダをEFSで暗号化する
  • デスクトップ、マイドキュメント、メールソフト(Thunderbird)のフォルダなどもEFSで暗号化する
  • IEの履歴、一時ファイル、Cookie、オートコンプリートなどは全て削除し、IEはできるだけ使わない
  • Firefoxデフォルトブラウザにして、プロファイルのフォルダ(C:\Documents and Settings\ユーザ名\Application Data\Mozilla)をEFSで暗号化する
  • syskeyをモード2にして、スタートアップパスワードを有効にする(syskey.exe)
  • ハードディスクパスワードを設定する(BIOSの設定画面で行う)
  • 上記のEFS暗号化を実施し、ディスク内の不要なデータを全て削除してから、cipher.exeを使って未使用の領域を全て上書きする(cipher.exe /W:ドライブ名:)
  • 以後、ファイルを削除する際には Eraserなどの削除ツールを利用してデータの上書きを行う

これだけやるとずいぶんリスクが低減されるだろう。さらに証明書スナップインを使ってEFSの復号に必要なユーザの秘密キーをエクスポートし、USBメモリなど外部媒体に保管してからディスク内のキーを削除するとさらに安全性は高まる。(面倒なので私もここまではやっていない。)

ちなみにEFSで暗号化を行う場合には、syskeyモードを2にしてパスワードを設定したほうがいい。それは何故か。EFSは結局のところユーザのパスワードによって保護されているのだが、ローカルユーザのパスワードはSAMファイルに保存されていて、これが比較的簡単に解析可能だからだ。Rainbow Tableを利用するツールでパスワードを解析すると脆弱なパスワード(14文字以内のLanManハッシュの場合)はすぐに判明してしまう。

syskeyによるパスワードを有効にしておくと、このSAMファイルが保護されるため、Windowsユーザのパスワード解析を行うことができなくなる。実はこの場合でもパスワードの初期化は可能なので、ログインすることはできてしまうのだが、パスワードを初期化してしまうとEFSで暗号化したファイルは見ることができなくなるため、重要なデータの安全性は保たれる。

とはいえ、ここまでの対策を全てのPCユーザが今すぐ実施することは到底不可能だろう。それでも現状では自分の情報は自分で守らなければならない。Microsoftのサイトにも有用な情報はたくさんあるので、ユーザにはぜひこういった対策を実施してほしいと思う。

Technorati: , , ,

2006-03-15

Winnyによる情報流出

今朝は朝からNHKがニュースでWinnyの話題を取り上げている。確かにWinny(Antinny)による情報流出は目に余るが、それにしても官房長官がわざわざ特定のソフトウェアを取り上げて「Winnyは使うな」と言うとは。異例が必ずしも悪いわけではないし、いい前例となることもあるが、今回の異例ははたしてどうか。

それにしても残念なのは、Winny法律違反のソフトウェアというレッテルを貼られてしまい、作者も裁判を争っている最中で、ソフトウェアの改良が出来ないという状況になってしまったことだ。Winnyが違法かどうかは法律問題なので正直よくわからないが、少なくとも今問題になっている情報流出はWinnyそのもののせいではなく、Antinnyおよびその亜種に感染することによって起こっている。そして開発者である金子さん本人が語っているように、こうしたウィルスによる情報流出を防ぐように改良を行うことは技術的に十分に可能だったはずだ。

不運な出来事が重なってしまったといえばそれまでだが...

Technorati:

はてなという会社 ☆☆☆☆☆

はてなダイアリー」がサービスを開始したころから「はてな」は知っていたのだが、そのときは特に利用しようという気にならなかった。しばらくするといろいろとサービスが拡充してきた。そろそろ使ってみようかなと思った矢先に、ユーザに住所を登録させるというニュースを見ていっぺんにいやになった。で、その後しばらく遠ざかっていたのだが...

今回はてなブログを書き始めたきっかけは、『ウェブ進化論』と『「へんな会社」のつくり方』を読んだからだ。はてなに対する興味が自分の中で急に高まって、サービスを使ってみたくなった。まあそんなわけでとりあえずブックマークRSSダイアリーを使ってみることに。しかし、しばらく見ないうちになんかすごくおもしろいことになっているではないか。いやちょっとびっくり。

ところで『「へんな会社」のつくり方』を読んで、すごく気になるフレーズがあった。本文の内容も非常に興味深い内容ばかりなのだが、実は気になったのは「おわりに」の部分だ。ちょっと引用してみる。

自分にとっては何か特別なことをやっているつもりはまったくありません。ただ毎日「もっと良い方法が無いだろうか」と考え続けて、たまに失敗しながらいろいろなことを試していただけなのです。

(略)

どうすればもっと良くなるかを考える。良いと思ったら試してみる。

この「試してみる」というのがとてもいいなぁと思って心に引っかかった。ここ数年に読んだ本の中でとても影響を受けた本が何冊かあるのだが、そのうちの一つに『仕事は楽しいかね?(原題:THE MAX STRATEGY)』という本がある。この本の中にでてくる「明日は今日とは違う自分になる」というフレーズが非常に気に入って、座右の銘みたいになっている。で、実はこの本の中に、上に引用した内容とすごくよく似た内容が書かれているのだ。いくつか抜き出してみると、こんな感じだ。

  • 試してみることに失敗はない
  • あらゆるものを変えて、さらにもう一度変える
  • あるべき状態より、良くあること

なにを最も大事と考えるかという根底に関する部分で両者がすごーくだぶって見えないだろうか。こういう考え方が物事を変えて動かしていく大きな力になると思う。

☆☆☆☆☆

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

☆☆☆☆☆

「へんな会社」のつくり方 (NT2X)

「へんな会社」のつくり方 (NT2X)

☆☆☆☆☆

仕事は楽しいかね?

仕事は楽しいかね?

書きたいことメモ

これからいろいろと書きたいことがあるのだが、すぐに忘れてしまうのでメモしておく。

あーなんか他にもあったはずなんだが...

ブログ再開

以前別の場所でブログを書き始めたが、続けるためのモチベーションが維持できずすぐに挫折。しばらく社内ブログにもぐっていたのだが、心機一転また始めることにした。まああまり気負わず、自分のために情報を整理するくらいの気持ちでやろうかと思う。

Connection: close