オルタナティブ・ブログ > IT's my business >

IT業界のコメントマニアが始めるブログ。いつまで続くのか?

「安全な技術を使っているから安全」なわけではない

»

私の職種は「デベロッパー エバンジェリスト」といい、マイクロソフトの技術を開発者に啓蒙するのが仕事です。マイクロソフト プラットフォームにおけるアプリケーション開発の基盤の中心となるのは .NET Framework であり、この特徴について説明することもよくあります(最近は、低位の話をすることは少ないですが)。たとえば、「バッファオーバーランを防ぐ仕組みがある」とか「メモリの管理や解放は自動的に行われる」「アセンブリという単位で署名も可能」といった仕組みを説明することで、安全かつ信頼性の高いアプリケーション開発を実現できるといった説明をしています(同じような仕組みは Java にもあるとか、そういう話は脇においておきます)。できるだけ誤解のないよう正確な表現に努めてはいますが、「そのような仕組みがあるから、.NET Framework ベースのアプリケーションは常に安全である」というような保証を与えているわけではありません

当たり前のことですが、玄関に鍵を取り付けても鍵をかけなければ安全ではありません。安全な技術をベースにしていても、正しい使い方をしていなければ安全性は確保されません。.NET Framework を使っていても、コーディングミスにより正しい動作をしない可能性もあります。一応、Visual Studio の上位製品には SQL インジェクションの可能性まで検査する仕組みを持っているものはありますが、そうした機能によって問題の発生を完全におさえられるわけではありません。

これは、もっと一般的な話にも当てはまります。たとえば、Web サイトの安全性を担保する仕組みとして使われている「デジタル証明書」は「その組織が実在すること」の証明にはなりますが、安全な組織であるかどうかの証明になるわけではありません。以前、WebNameSolution.com という非常にまともなドメイン名を使ったサイトから、ドメイン名の売り込みメールが届いたことがありました(whois を公開していると、こういうメールはよく届きます)。普通の SPAM メールなのですが、驚いたことに、そのメールに書かれていたドメイン名は私が所有していたものでした。念のためにサイトを訪れてみると、ちゃんと VeriSign によるデジタル証明書を使って運営されていました(ちなみに、知らぬふりをしてメー ルを出してみたら、ちゃんと返事が来たので、ドメイン名を語った第三者からメールが届いたわけではないようでした)。

もうひとつ驚いた例が、しばらく前に高木浩光氏の日記で見た「前代未聞のCAPTCHAもどき」です。CAPTCHA とは画像を使った認証手段ですが、紹介されている例は CAPTCHA らしき動作をさせているものの、まったくその意味をなしていません(そもそも CAPTCHA もどきであって CAPTCHA じゃないわけですが)。これが、場末の会社などではなく、大手の銀行銀行系カード会社のサイトだというところが、さらに驚きです。

「SSL を使っているから安全です」「IC カードによって安全性を確保しています」と書かれている場合でも、それらがすべての安全性を保証してくれるわけではないことに注意すべきでしょう。ちなみに、こうした情報は(例によって^_^;)高木浩光氏の日記が的確かつ詳細です。

※突っ込まれる前に書いておきますが、たとえば Windows Vista の「より安全である」という宣伝文句も「完璧」だと断言しているわけではありません。まあ、セキュリティアップデートを出している Mac が「ウイルスに感染する心配はありません」などと書いていて大丈夫なのかという気もしますが:-) いや、ラーメンズは好きですけど;-)

Comment(2)