コンテンツへ

セキュリティニュース&コラム

セキュリティコラム

難易度2

ITセキュリティの背景(2)

2006年07月21日

PCには、どうして脆弱性があるの

脆弱性(ぜいじゃくせい)というのは「もろくて弱いこと」をいいます。なぜPCに脆弱性があるのでしょうか。

PCで使われるアプリケーションソフトウェアは、ユーザのさまざまな利用を想定して作られています。しかしそれを作るのは人間です。四則演算を行うプログラムを考えてみましょう。

入力されたふたつの数の合計を出すだけですが、数字ではなく文字が入力されたらどうしましょうか。電卓ではないため、ユーザが間違って入力する可能性もあります。PCで扱える数字の桁には限度がありますが、何桁まで対応すればよいでしょう。1,000億まで、それとも1,000兆まで必要でしょうか。1,000兆×1,000兆の場合はどうしましょう。

このように、プログラムはユーザのさまざまな利用ケースを想定してエラーが起きないように作られていますが、稀に想定していない使われ方をすることがあります。そのような部分が脆弱性と呼ばれます。

「Ping Of Death」という攻撃は、ネットワーク管理に使われる「Ping」というコマンドを悪用したことで知られています。Pingは相手のサーバに要求を送信して応答するかどうか調べるだけの簡単なコマンドですが、一度に大量の要求を送信するとサーバは応答できなくなってダウンしてしまいます。この場合も、Pingコマンドがサーバの状態を確認する目的だけに作られていたため、そのような大量の要求を送ることは想定されていなかったのです。


脆弱性は、OSとアプリケーションソフトウェア両方にある

OSもアプリケーションソフトウェアも、人間が作成したプログラムです。従って何らかの脆弱性が存在する可能性はあります。ウイルスや不正な攻撃は、そのような脆弱性をターゲットにして行われてきました。また、OSやアプリケーションソフトウェアのメーカーは、脆弱性が発見されるたびに、それを修正する「パッチ」と呼ばれる修正プログラムを提供してきました。(例:Windows の場合は Windows Update 、など。)パッチを適用する場合は、ターゲットとなるOSやアプリケーションソフトウェアのバージョン確認が重要です。バージョンが違うと修正する部分が違うため、却って問題を起こしてしまう可能性があります。

最近のウイルスは、ゼロデイ攻撃(0-day Attack)と呼ばれるほど、脆弱性が発見されてすぐにその脆弱性を攻撃するタイプが出現しています。メーカーから脆弱性が公表されたら、すぐにそのメーカーが提供するパッチを適用し、脆弱性のある部分を修正しておきましょう。


このページの先頭へ

<< ITセキュリティの背景(1) | | 自分の使っているWindows XPのバージョンを調べよう >>