e知識「e-chishiki.com」では、インドでの著名なIT著者、IT教育者、eセキュリティーの大家により作成された様々な種類のプログラミング言語に関する技術的なコンテンツを知識情報データーベースとして提供します。
週刊e-セキュリティシーリズ(Web アプリケーションセキュリティ)
ゼロ デイ攻撃 - 噴火を待つ火山
ヴィジェイ・ムーキ
ゼロ デイ攻撃 - 噴火を待つ火山
ハッカーはソフトウェアに何らかの脆弱性を見つけると、悪用コードを作成します。そして、この悪用コードを使ってシステムの制御を完全に奪います。理屈の上では、ソフトウェアに脆弱性が存在しなければ、悪用コードも作られません。しかし、それはあまりに不自然で現実離れした考えです。
ゼロ デイ攻撃は、パッチが利用できない攻撃です。サード パーティの会社が製品のパッチや修正プログラムを出すまでには数日かかるため、攻撃者は悪用コードを使ってコンピュータ システムを荒らし回ります。ハッカーはゼロ デイ攻撃を送り出すことを 1 つの挑戦ととらえています。
バグが見つかると、プログラマは不眠不休で働いて製品のパッチを直ちに配布するよう求められます。しかし、ユーザーがシステムをセキュリティで保護するには、このパッチをインストールしなければなりません。初期段階では、ソフトウェア ベンダからパッチの情報を知らされると、ユーザーは直ちにパッチをインストールします。しかし、パッチの数が 100 個を超えると、必ず疲れが出てきます。こうして、決して来ないまさかのときのためのパッチは先延ばしになります。
油断のならないことに、侵入者はこのユーザーの心理を知り尽くしています。そのため、パッチがリリースされると、侵入者はパッチをリバース エンジニアリングして脆弱性を解析し、悪用コードを作成します。その後、大規模な攻撃を仕掛けて、パッチが適用されていないすべてのシステムの制御を奪います。パッチや修正プログラムは、実行可能ファイルやライブラリの一部のバイトまたはコードを変更します。攻撃者は一般に、脆弱なコードにつけ込み、自動化ツールを作成して、パッチが適用されていないシステムを攻撃します。
パッチの火曜日と悪用コードの水曜日
以前、Microsoft では、セキュリティの問題が検出されると直ちにパッチを出していました。それでも、多くの人々はシステムにパッチを適用しなかったため、攻撃者は欠陥を悪用するコードを作成し、システムを大規模に攻撃していました。その後、Microsoft は脆弱性を直ちに公表しない方針を固めました。代わりに、‘Patch-Tuesday’ (パッチの火曜日) の概念を導入し、毎月第 2 火曜日に、その月に検出された欠陥に対するセキュリティ パッチと修正プログラムをリリースすることにしたのです。これに対抗するために、攻撃者は ‘Exploit-Wednesday’ (悪用コードの水曜日) を打ち出しました。
これは望ましくない結果も生みました。月例パッチのインストール後は起動プロセスが必要だったからです。起動プロセスのためにサーバーをシャット ダウンしなければならず、ビジネス チャンスが失われることがありました。現在は、新しい更新があることをユーザーに知らせる更新アイコンを表示して、ユーザーの都合がよいときにパッチをインストールできるようになっています。しかし、ほとんどの場合は再起動が必須です。
パッチの適用後にシステムが動作しなくなることもたびたびあるため、パッチは危険を伴います。そのため、まず 1 台のコンピュータにパッチを適用し、十分なテストを行ってから初めてネットワーク上のすべてのコンピュータにパッチを適用することをお勧めします。
IRC - 悪用コードの配布経路
明白な理由から、ゼロ デイ攻撃の情報は、どの雑誌や出版物にも掲載されません。また、企業も攻撃されていることを報告しません。インターネットでセキュリティ関連の話題を調べても、複数のサイトで成功したゼロ デイ攻撃の話はめったに書かれていません。けれども、チャット ルームやその他のインターネットの地下室に足を踏み入れると、人々が悪用コードを始めとするさまざまなものを数十ドルから数百ドルで売買していることがわかります。さらに物騒なのは、これが世界的規模の活動になっていることです。彼ら 10 代のハッカーは世界各地に住んでおり、英語を話さない人々もいます。悪用コードを書くことは挑戦であり、ハッカーたちはそれによってかなりの金額を稼いでいます。
最近の悪用コードは、あらゆる金融機関を標的にしています。サード パーティのベンダが作成した有料のソフトウェアの抜け穴からシステムが攻撃されていることを知りながら、手の打ちようがないというのは不愉快なことです。さらに腹立たしいのは、データ、パスワード、銀行口座などが、単なる遊びや、挑戦に勝つためだけに危険にさらされていることです。ゼロ デイ攻撃によって、いかなるサイバー犯罪を犯しても犯罪者が決して罪に問われないことが確認されました。
予防措置
ソフトウェアにはバグがあり、そのバグが発見されない限り、バグの修正手段もリリースされないということを当然と考える必要があります。したがって、製品が市場に出る前にバグを発見できる職業倫理にかなったハッカーを雇うことが賢明です。企業は社内ハッカーを置く必要があります。長い目で見れば、それがコストの節約になります。外部からの侵入によって生じるコストはきわめて高額になるだけでなく、次回の侵入時にシステムが保護されるという保証はないからです。したがって、予防的ハッキングが最善の策となります。
第 2 に、バグの検出からパッチのリリースまでの間隔を空けないようにします。パッチを月に 1 度しかリリースしないのはばかげています。それまでに、攻撃者は余裕でシステムに侵入してしまうでしょう。バーチャル時代の新しい規範を設けることに加え、ゼロ デイ攻撃に対するゼロ トレランス (容赦ない規範の適用) を実施する必要があります。
さらに、常駐のセキュリティの専門家が、プログラマ向けにセキュリティの定期的なトレーニング プログラムを実施し、ソフトウェアの作成にかかわる新たな脅威と課題の最新情報を周知させる必要があります。パッチがリリースされたらすべてのシステムに直ちにインストールし、ルートキットやマルウェアと完全に無縁の状態にしなければなりません。これは口で言うほど容易ではありません。
Microsoft では、ソフトウェアのセキュリティ バグを減らすために、プログラマ全員が気を配り、セキュリティ開発ライフ サイクルに従うよう強く求めています。
最後に、製品のバグが原因で会社が被った損失や被害に関しては、ソフトウェア会社に責任を負わせる必要があります。



