1.概要
暗号アルゴリズムに対する攻撃とともにソフトウェアに対する攻撃方法もある。ソフトウェアの内部解析や改変にたいする耐性を備える技術をタンパ・レジスタント技術という。ではいったいどのような攻撃が存在するのだろうか?
ネットワーク・クラッカー攻撃
通信を利用して他のシステムに侵入しシステムやソフトに攻撃を加えること。この攻撃では回線を使用するという制限があり、システム下でのソフトそのものを解析するのは難しい。ネットワーク・システムの管理方法等の耐性を強化させることが重要である。
ウィルス攻撃
コンピュータ・ウィルスの「トロイの木馬」のように、ネットワーク上に特別なプログラムを侵入させ、ID情報などを盗みだす。この場合もネットワーク・システムやシステムのソフトに直に被害を与えることはないが、この事により本格的なネットワーク・ジャックやID盗用による「なりすまし」、クレジットカード番号等の盗用等の危険性が考えられる。
ネットワーク・ジャック
ネットワーク・システムをスーパーバイザーとして完全に自分の管理下に置くこと。ここまで来るとクラッカーもかなりの技術を所有しておりネットワーク・システムの管理に相当な神経を使う事になる。ネットワーク上のソフトやデータが盗まれたり破壊される危険性がある。
システム・アナライズ攻撃
自由に使用できるコンピュータ上でソフトや機器の解析を行なうこと。解析方法にはデバッカ等で行なう。ネットワークと異なりクラッカー行為の発見が出来ないので厄介である。
では、これらの攻撃は暗号ソフトウェアにおいてどのように行われているのであろうか?
暗号解読攻撃
RSAを打ち破ることで秘密鍵を入手し、暗号文の復号化や電子署名を実現する攻撃方法である。しかし、この攻撃方法は非現実的であり、実際はこの攻撃方法は不可能であると思われる。なぜなら、鍵の長さがたとえ短くても、これらを実現させるためにはハードウェアにたいする天文学的な投資と数学的な知識が必要とされるからである。しかしながら、ハードウェアの目覚しい進歩や数学的知識の飛躍的向上がいつの時代かにはやってくるわけであり、これら2つの要素がかみ合えば暗号解読攻撃も現実性を帯びてくると思われる。
鍵管理攻撃
これは、秘密鍵を盗み、暗号文の復号化を行なうものである。暗号解読者は秘密鍵のコピーと秘密鍵を使用する際のパスフレーズを入手する事で実現可能となる。これらを傍受するためにはネットワークパケットの盗聴やデータ回線への細工や部外者のネットワークへの侵入によって達成される。つまり、秘密鍵を信用できないネットワークコンピュータに保管したり、パスフレーズや秘密鍵ファイルをネットワークを使って送信することが暗号解読へとつながるのである。従って秘密鍵を管理する際に信頼できるコンピュータ等、物理的に他人がアクセスできないような状態で秘密鍵を使用、管理する事で防御が可能となる。
プレイバック攻撃
この攻撃方法はネットワーク送信の過程で暗号文を盗み、暗号解読を行なわず、改竄をした上で相手に送信する。この攻撃方法は暗号解読を目的とせず、暗号文そのものの有効性を否定するやり方である。仮にA氏がB氏へ「Z社の株10万株を売却せよ」というメッセージを暗号化して送信したとする。メッセージがネットワークを経由している段階でC氏が「Z社の株10万株を購入せよ」と言うメッセージに書き換えB氏の元に送信したら全く逆の取引が行われる事になる。従って暗号そのものの解読にはつながってはいないが、改竄する事によって相手を攪乱させ、暗号文の有効性を脅かす事になる。こうしたプレイバック攻撃に対抗するためには送り手と受け手を示すものと、個別の識別子を平文につける事である。つまり、改竄されているメッセージでは無い事の裏付けを平文に残しておく事で防御できるのである。
ローカル攻撃
これは、最も容易である攻撃方法である。つまり、解読しようとしている人物が実際にその人が使用しているコンピュータを使用して、秘密鍵やパスフレーズ等を盗み出す、あるいは破壊する攻撃方法である。これに対する対策はマシンを他の人が使えないようにセキュリティを強化したり、秘密鍵やパスフレーズ等実行形式のセキュリティプログラムをフロッピーディスクに納めておく事で回避する事ができる。UNIXユーザーに於いてはログインのパスワードをこまめに変更するなどの処策を講じる事でローカル攻撃に対する防御を可能とする。
クラッカーとハッカー
従来はハッカーという言葉が誤用されていた。ハッカーの本来の意味は、コンピュータのハードウェアやソフトウェア等の技術的な側面に一心不乱にのめりこんでいたマニアの事で、賞賛や驚嘆の意味合いも含まれる言葉であった。しかし近年マスコミが、技術力に対する自己顕示欲の強い悪意のある人々も含めてハッカーと呼ぶようになってきた。そこで最近ではネットワークの進入やソフトウェア等に対し、悪意のある攻撃を行うものを「クラッカー」と呼び、「ハッカー」とは区別するようになった。
ウィルス
実行された際に、自分自身の複製を他のプログラムに付加する様な命令のセット。
トロイの木馬
一見役に立つプログラムの中に隠された、悪い事をするプログラムの断片。普通、トロイの木馬という用語は悪意に満ちた命令がプログラムが書かれた時点から組み込まれている場合に使われる。(ウィルスという言葉は命令が後から付け加えられた場合に使われる。)
バクテリア
他に存在しない独立したプログラムで、自分自身を複製し、資源を消費する事で害を与える。
ワーム
ネットワーク上の他のコンピュータに自分自身の複製を組み込んでいくことで、自己増殖プログラムするプログラム。バクテリアと似ているが、ワームはネットワーク越しに増殖するのに対して、バクテリアは一つのコンピュータに留まる傾向がある。
落とし戸
プログラム中に意図的に書かれた、資料に記載されていない入り口の事。多くはデバックのために作られたものだが、安全上の欠陥として悪用される。
論理爆弾
未来のある出来事(例えば決められた時間になる)がきっかけとなって動作する悪意のある命令。
Copyright (C) Shuichi Inage 1997. Alle Rechte vorbehalten.
E-mail:t9530605@mt.tama.hosei.ac.jp
E-mail:sinage@oocities.com (Postpet)