2009-9-15

Chaotic Next Stage                       第7

                                                  発行責任者  稲崎義明

脆弱性とは(1)

 

コンピュータソフトウェアの脆弱性ということはよく聞く話だと思います。マイクロソフトは毎月定期的にパッチを提供していますが、これは、Windowsなどに発見された脆弱性に対応するためのものです。では、脆弱性とはそもそもなんでしょうか。辞書的にいうと、「もろくて弱いこと」、「傷つきやすいこと」ということになりますが、コンピュータソフトウェアの場合、「セキュリティ上問題を引き起こす可能性のある、コンピュータソフトウェアの欠陥(問題)」ということなになります。本来ソフトウェアに欠陥があってはならないものです。しかし、コンピュータが出始めた初期のころならそれほどでもなかったソフトウェアの大きさが、このごろは大変大きなものとなり、すべてのところに完全に目を通すということはできなくなっているのが現実です。プログラムを作る場合、ある程度利用方法などを想定して作るものです。想定外の使用方法の場合は、開発者の予想とは異なる動きとなり、脆弱性となってしまいます。今回は、毎月のように公開されているパッチの元となる脆弱性について解説してみたいと思います。パソコンが乗っ取られるとはどういうことか、ウィルス拡散の踏み台にされるということはどういうことかを含めて書いてみます。

まず、脆弱性ですが、最も影響の大きいのが、「リモートでプログラムを実行してしまう」脆弱性です。もちろんこの脆弱性を突いて悪用されるとウィルスに感染することになるのですが、始末の悪いことに、よくあるようなメールなどで送られてきたウィルス入りの添付ファイルを起動して感染するだけでなく、ごく普通の操作であるインターネットに接続する、HPを閲覧する、文書ファイルを開くといった行為をするだけで感染することになります。インターネットに接続しただけで感染するのは、OSやサーバOSに脆弱性がある場合ですし、HPを閲覧して感染するのは、IEなどのブラウザに脆弱性がある場合、文書ファイルを開けただけで感染するのは、Officeなどのオフィスソフト(PDFなどもあります)に脆弱性がある場合です。なかには、USBメモリを経由して感染するウィルスのように、元々OSが持っている、使い勝手を良くするための機能である「オートラン機能」を利用して感染するものもあります。「オートラン機能」とは、USBメモリやCD、DVDを挿入すると事前に設定したプログラムが自動に起動する機能で、もともとの仕様に含まれていたものを悪用したものということが言えます。

ではどうしてプログラムが勝手に動き出すのでしょうか。これより先はプログラムをある程度わかっていないと良くわからないかもしれませんのであしからず。まず前提として覚えていてもらいたいのは、パソコンは常にプログラムが動作しているということです。一見動いてないように見える場合でも動いていますし、インターネットのホームページも画面を表示しているだけのように見えますが、実は情報の入力を待っていたり、外部とずっと通信していたりするわけです。インターネットの場合、簡単に言うとアクセスすることによって、自分のパソコンに関する情報が送られているかもしれません。これは、HP側としてもアクセスしてきた相手を判別する必要があったりするので、当たり前のことと思ってください。よく、怪しいサイトをアクセスすることによって不正請求されたりすると、PCのIPアドレスが表示されたりして脅しをかけたりしますが、あの程度のことは簡単な話です。なぜかというと、HPのあるサーバ側は、いろいろなところからアクセスされているわけです。PCを特定して的確な情報を提供したり、次のページの情報を提供するためには必要となるということはお分かりいただけることと思います。PCの乗っ取りの方法については、次回とします。       (次回へ続く)