情報セキュリティ技術 1997.6 |
1997年の3月下旬に,インターネットのセキュリティについての大きな事件がありました。この事件は,マスコミ等でも取り上げられましたが,インターネットのサービスのひとつであるネットニュースシステム(inn)のセキュリティホールを利用したクラッキングです。ネットニュースに特別なコントロールメッセージを流すことにより,inn-1.5.1より前のニュースシステムを利用しているニュースサーバのパスワードファイルをはじめ,重要な情報やシステムファイルをメールで入手するものでした。これが実際に行われたので,多くのネットニュース利用組織では,余儀なくパスワードの変更やニュースシステムのバージョンアップなどの対策を取らざるを得ませんでした。(このクラッキングによるこれ以上の被害は,6月時点では不明です)
(注)コンピュータシステムに不正侵入するなどの破壊行為を行う者を俗に「ハッカー」という場合が多いですが,システムの仕組みや動作について研究し,コンピュータ技術の進展や普及に寄与している人を指すのが本来の意味です。
一方,不正侵入などの破壊行為を行う者は,正しくは「クラッカー(攻撃者)」や「イントルーダ(侵入者)」と呼びます。
| 1. 2つの情報セキュリティ |
インターネットをはじめとするコンピュータネットワークの普及によりセキュリティ対策は不可欠のものとなっています。
情報セキュリティについては,表1に示すように物理的セキュリティとコンピュータセキュリティに分類できます。物理的セキュリティとは,コンピュータでなくとも被ることのある盗難や災害,過失,事故あるいは破壊といったものです。しかし被害を受けるものがコンピュータであるため,各方面に重大な被害を及ぼすだけでなく,プログラムやデータの紛失など復旧にかなりの時間と労力を要します。また,完全に普及することが困難である場合もあります。対策としては,コンピュータの設置してある部屋の施錠や入室制限,そしてパソコンを盗難から守るための施錠・防犯キット,耐震用ブロックやベルトの取り付けなどがあります。さらに,無停電電源装置や万一の障害に備えるためにデータバックアップは極めて重要です。予算とセキュリティのトレードオフですが,ハードディスクをはじめとするシステムやネットワークの二重化と設置場所の分散化も考慮する必要があります。
| 表1 2つの情報セイキュリティ |
| 具 体 例 | 対 策 例 | |
| 物理的セキュリティ | 盗難,破壊,過失など 地震,落雷,火災,水害,台風 停電,通信回線障害,システム障害 | 設置施設の施錠などの侵入・盗難対策 設置施設の耐震・耐火構造,ハロン系消化器 無停電電源装置,システムや回線の二重化 データ等のバックアップ |
| コンピュータセキュリティ | 不正侵入 盗聴,改ざん,なりすまし ウィルス | ファイアウォール,パスワード,ワンタイムパス ワード 暗号化,電子署名,公開鍵証明 ウィルスワクチン,バックアップ |
最近のインターネットの普及によりクローズアップされているのは,この物理的なセキュリティではなく,不正アクセスやコンピュータウィルス等のコンピュータセキュリティです。一般的に情報セキュリティというと,後者のインターネットやイントラネットにおけるセキュリティを指す場合が多くなっています。
インターネットが学術研究的な目的で発展してきたという歴史的な背景と,最近のような急速な普及もあってセキュリティ対策が結果的に後手に廻ってしまったことは否めませんが,最近,セキュリティを確保するための各種の方法が開発されています。また,企業においてはセキュリティ対策そのものが売上げに寄与しないこともあり,対投資効果という面からもセキュリティ対策は重要な課題とされていませんでした。しかし,インターネットを利用した情報伝達や業務報告が日常的に利用されるようになり,電子マネーの試験運用が始まり,SET(Secure Electronic Transaction)などのクレジットカード決済のための仕様が規格化されるなど,電子商取引(EC:Electronic Commerce)を取り巻く環境においてもセキュリティ対策が極めて重要になってきています。さらに,ネットワークを経由したコンピュータウィルスの被害が明るみに出るようになって,情報セキュリティは一層重要なものとして認識されるようになってきています。
情報セキュリティについては,従来から一般的に
安全性×利便性=一定
という式で表されてきました。要するに,安全性を高めれば利便性が低くなり,逆に,利便性を高めれば安全性が低くなります。例えば,非常に難しいパスワードを短い周期で変更すれば,安全性を高めることはできますが,非常に使いづらいものになってしまうということです。最近の技術開発の進展もあり,コストをかければあるいは技術力を高めれば,安全性も利便性もある程度,高めることができるようになってきています。しかし,最も重要なことはセキュリティポリシーの確立と,セキュリティに対する認識の向上,セキュリティ対策の実行であることは間違いありません。
| 2. 情報セキュリティ対策の基礎知識 |
情報セキュリティ対策には,外部からの侵入を防ぐ不正侵入対策と,暗号化技術を利用した積極的な対策があります。
| 2−1. 不正侵入対策 |
不正侵入対策としては,ファイアウォール,パスワード,ワンタイムパスワード,PET(Privacy Enhanced Telnet),SSH(Secure SHell)などがあります。PETは標準のログインプロトコル TELNETに,認証や暗号化などの拡張を加えたもので,通信路の暗号化には秘密鍵暗号方式のDES(Data Encryption Standard)を,暗号化鍵の交換には公開鍵暗号方式のRSA(Rivest-Shamir-Adleman)を用いています。また,SSHはrsh/rlogin などのリモートコマンドにユーザ認証機能を強化したもので,IPスプーフィングやDNS情報,ルーティング情報を偽るような攻撃に対処するために開発されました。ここでは,ファイアウォール,パスワード及びワンタイムパスワードについて簡単に説明します。
| 2−1−2. ファイアウォール |
ファイアウォールは,組織内LAN(内部ネットワーク)とインターネット(外部ネットワーク)を接続する部分に情報の壁(防火壁)を設置して,インターネットからの不正アクセスを制限するもので,イントラネット構築には不可欠のセキュリティ対策です。セキュリティポリシーに基づき,内部ネットワークからインターネットへは不自由なくアクセスでき,逆にインターネットから組織内部のコンピュータへはアクセスが制限され,不正侵入を阻止することができます。
ファイアウォールとしては,ルータによるパケットフィルタリング(スクリーニング)と,ネットワークインターフェースを2つ持つアプリケーションゲートウェイ(デュアルホームゲートウェイ)の2つの方法があります。
パケットフィルタリング方式は,図1のようにルータを通過しようとするパケットの送信先/発信元アドレスやポート番号を調べて通過させるかどうかを決めます。パケットフィルタリングでは,ルータだけでは本格的なファイアウォールにはなりませんが,アクセス制御を高速かつ簡易に行うことができます。パケットフィルタリングはIP層で行われますが,ルールに従ってパケットのアドレスやTCP,UDPのポート番号を調べる必要があります。このため上位プロトコルのヘッダ内容を調べるというオーバヘッドも生じます。なお,IPアドレス等を偽装するIPスプーフィングに対しては,このパケットフィルタリングは無力です。UNIXマシンでパケットフィルタリングするには,フリーソフトとしてscreend>やdrawbridgeなどがあります。
アプリケーションゲートウェイ方式は,図2のように2つのネットワークインターフェースを持ち,一方を内部ネットワークに,他方をインターネットに接続されているバリアセグメントに接続します。そして,このゲートウェイを通過するパケットのフォワード機能を無効にして,内部ネットワークとインターネットの間でパケットが直接通過しないようにします。アプリケーションゲートウェイで中継されるのは,パケットデータそのものではなく,アプリケーションのメッセージであり,メッセージを転送するためのパケットの送信先と発信元は入れ替わります。
こうすることによって,インターネット側からはバリアセグメントまでは見えますが,内部ネットワークは全く見えないようになります。しかし,このままではバリアセグメント上のサーバのアプリケーションは問題ありませんが,内部のネットワーク上のホストとインターネット上のホスト間の直接的なIP接続が必要なtelnetやWWWなどのアプリケーションは実行できなくなります。このようなエンドツーエンドの接続が必要なアプリケーションを中継するために,プロキシサーバ(Proxy)を設置します。UNIXマシンでプロキシサーバを構成するには,フリーソフトとしてfwtk>やSOCKS,DeleGateなどがあります。
また,httpプロトコルの場合はsquidやApache,CERN HTTPなどを利用することができます。特に,大量のデータ転送が必要なWWWでは,プロキシサーバをキャシュサーバとしても利用することにより,データ転送の高速化と回線への負荷を抑えることができます。
このほかに,telnetやrloginなどのサービスに対して,これらのポートを監視するスーパーデーモンinetdをアクセス制御やアクセス記録の可能なものに置き換えることによって,相手のIPアドレス等の認証を行うことができます。この高機能なスーパーデーモンとしては,xinetdがよく利用されています。また,スーパーデーモンとtelnetdなどのサービスの間に,ラッパーと呼ばれるプログラムを介在させることによって,IPアドレス等によるアクセス制御や記録が可能になります。この様子を図3に示します。ラッパーには,TCPWrappersがよく利用されています。 さらに,万一クラッカーが侵入した場合,システムファイル等を書き換えて,侵入した痕跡を消し去ることがありますが,この痕跡を検出するソフトにTripwireなどがあります。
| 2−1−2. パスワード |
UNIXでのパスワードは,8文字までのパスワードを一方向関数を用いて暗号化し,パスワードファイルに書き込んでいます。一方向関数を使っているため,パスワードファイルからパスワードを解読することは極めて困難です。しかし,"辞書攻撃"という方法で,辞書に載っている単語等を一方向関数で変換して,片っ端から調べていき,やがてパスワードファイルが保存しているのと同じデータが得られれば,そのときの単語がパスワードです。このため,このパスワードファイルを盗まれないようにすることが非常に重要です。また,パスワードは次の基準に従って決めることが大切です。
・辞書にない文字列を選ぶ。(辞書にある文字列の単語を合成したり,順番を入れ替えたり,1文字足したりするのもダメ。日本語についても全く同様です。
・人名や地名,電話番号,生年月日などを使わない。
・大文字や小文字,数字,記号を混ぜ,8文字を全部使うようにする。
このような基準だと,全く意味のない文字列になってしまい,非常に使いにくく感じます。しかし,例えば次のような文字列にすれば,さほど無意味な文字列だという意識が無くなります。
Wcup'98F
(意味 World cup 1998 France)
そして,パスワードは定期的に変更するようにします。
パスワード解読の容易性をパスワード設定時にチェックするフリーソフトとして,passwd+やAntiCrackなどがあります。また,パスワードファイルのパスワードをチェックするCrackなども有効です。
| 2−1−3. ワンタイムパスワード |
前述したパスワードの設定は,閉じたネットワーク内では有効ですが,インターネットのようなオープンなネットワークでは必ずしも完璧ではありません。例えば,出先からインターネットを経由して社内のコンピュータにtelnetでログインしようとした場合など,パスワードはネットワーク上を平文(plain text)で流れます。パケットアナライザを利用してこのパケットを調べれば,容易にパスワードを盗むことができます。有名なNetwork Monitoring Attackでは,これが組織的に行われたために,被害が広範囲に及びました。
これを防ぐ手段として,ワンタイムパスワードが開発されています。ワンタイムパスワードを用いたシステムでは,システムで使用している本来のパスワードが,ネットワーク上を流れることがないような工夫がなされています。通常UNIXでは,クライアントがサーバに対して,ユーザ名とパスワードをペアにして伝えることにより,パスワード認証を行っています。これに対してワンタイムパスワード方式では,次のような手順になります。(図4)
(1)クライアントはサーバに対してユーザ名を伝えます。
(2)サーバは乱数を発生し,これをあらかじめ登録してあるユーザのパスフレーズで暗号化して,Challengeをクライアントに返します。Challengeはコマンド名,シーケンス番号,シード(種)の3つの部分から構成された文字列です。
(3)クライアントでは受け取ったChallengeをそのままコマンドとして実行させ,復号化します。このときパスフレーズを要求されるので,ユーザがあらかじめ登録した秘密のパスフレーズを入力すると,4文字以下の6つの単語として毎回異なる使い捨てのパスワードが計算されますので,これををサーバに伝えます。これをResponseと呼びます。
(4)サーバは(2)で発生した乱数と,クライアントから受け取った文字列を比較して,パスワード認証を行います。
このようにして,1回切りの使い捨てパスワードを使うことにより,ネットワーク上に本来のパスワードやパスフレーズが流れることはなくなります。
なお,出張などでChallengeコマンドが実行できないときは,あらかじめ複数のワンタイムパスワードを出力し,紙に印刷して持ち歩くことができます。
ワンタイムパスワードは,リモートアクセスやSOHOなどの普及もあり,最近さまざまな製品が出ていますが,フリーソフトとしては,米国NRL研究所が開発したOPIEなどがあります。
| 2−2. 盗聴,改ざん,なりすまり対策 |
ワンタイムパスワードのところでも触れましたが,例えば,送信したメールはネットワーク上を平文のまま流れ,メールスプールなどでも平文のままです。これは,封筒に入っていない郵便ハガキに例えることができます。要するに,悪意を持ったクラッカーはメールの内容を容易に盗聴することができ,ファイル転送などでもファイルの内容を横取りすることができます。また,途中経路でメールやファイル内容を書き換えたり(改ざん),メールアドレスを書き換えたり(なりすまし)することもできます。さらにメールサーバには平文のままスプールされますので,クラッカーや悪意のある管理者がメールを読んだり,書き換えたりすることも可能です。
これらを解決するためには,メールやファイルなどの暗号化や電子署名が有効です。暗号化には,秘密鍵暗号(対称暗号)と公開鍵暗号(非対称暗号)があります。
ただ,暗号・認証技術は国家安全保障上の重要な技術なので,米国で開発された暗号・認証技術を実装した製品等の輸出に関しては厳しい規制や制限を設けています。
| 2−3. 秘密鍵暗号対策技術 |
秘密鍵暗号では暗号化と複号化に同じ鍵を用います。これは,昔から使われてきた通常の鍵と同じ原理ですので,慣用暗号とも呼ばれます。秘密鍵暗号では,非常に多くの鍵が必要になりますが,公開鍵暗号に比べて処理速度が速いのが特長です。短所として,安全な手段で鍵を受信人に届ける必要があり,異なる相手ごとに鍵を準備する必要があります。(図5)
秘密鍵暗号はメッセージを1バイトごとに暗号化するストリーム暗号と,メッセージを複数ビットでブロック化して暗号化するブロック暗号に分類することができます。このブロック暗号の主なものに,米国商務省標準局(NIST)の募集に応じて米国IBM社が開発したDES(Data Encription Standard)や,スイス工科大学で開発されたIDEA(International Data Encryption Algirithm),NTTが開発したFEAL(Fast data Encipherment ALgorithm)などがあります。
| 2−2−2. 公開鍵暗号対策方式 |
一方,公開鍵暗号では暗号化と複号化に異なる鍵を用います。これは,メールの発信者と受信者とで同じ鍵を分け合う必要が無くなることを意味しています。つまり,自分の公開鍵で暗号化されたメールは,自分の秘密鍵でしか複号できないので,自分は複号用の秘密鍵さえ保持していればよいわけです。(図6)
秘密鍵暗号のように,鍵を秘密裏に交換する必要がありません。暗号化に使う鍵は公開するので公開鍵(Public key),複号化に使う鍵は秘密鍵(Secret key)と呼びます。ちなみに,解読とは鍵を持っていない第三者が暗号文を解読することを指し,複号化と区別します。公開鍵暗号には米国マサチューセッツ工科大学のRivest,Shamir,Adlemanの3氏が開発したRSAなどがあります。
| 2−2−3. 電子署名 |
次に,メールやファイルの改ざん対策としての電子署名について説明します。電子署名はディジタル署名とも呼ばれ,紙ベースの社会における印鑑や署名に相当します。情報ネットワーク上で本人であることを認証するための方法です。印鑑は全く同じ印影を持った印鑑を偽造することが困難であるという性質を利用しています。また,署名は他人と同じ筆跡で署名することが困難であるという性質を利用しています。しかし電子署名の場合は,印影でも筆跡でも容易に複製できます。このため,電子署名では承認を与えるべき元データの内容などに応じて,毎回異なる署名データが生成されます。例えばメールの場合,送信者が自分の秘密鍵でメール本文に電子署名を付けて受信者に送信します。受信者は,送信者の公開鍵を使ってメールを複合化すると同時に,電子署名を確認することができます。または,メール本文は暗号化せず平文のままで,電子署名のみを複号化して本人確認をすることも可能です。万一,メールの配送経路で第三者がデータの書き換えを行った場合は,チェックサムの検査などで電子署名の確認が不可能となり,データが改ざんされていることがわかります。(図7)
ここで,もうひとつ悩みがあります。それは公開鍵の信頼性です。送信者の公開鍵を使って,電子署名を確認し,メッセージを信頼しているわけですが,間違いなく正しい送信者からのメッセージかどうかは,実際にはわからないということです。もしかして受信者が持っている公開鍵は,第三者が送信者になりすまして,受信者に送ってきた鍵かもしれないという点です。最も確実な方法は,直接会って公開鍵を手渡して貰うことですが,このネットワーク社会においては非常に不便です。これを解決する方法のひとつとして,信頼できる認証局(Certificate Authority:公開鍵証明書発行局)を使う方法があります。認証局で公開鍵を登録し証明書を発行することにより,なりすましを防ぐことができます。役所などで,印鑑を認証してもらうために印鑑証明を発行してもらうのと同じ方法です。
暗号化メールのフリーソフトとしては,PGP(Pretty Good Privacy)やPEM(Privacy Enhanced Mail),S-MIME(Secure Multipurpose Internet Mail Extension)などが使われています。また,PGPを容易に使えるようにしたメーラとしてMew(Message interface to Emacs Window)があります。
| 2−3. WWWのセキュリティ対策 |
WWWは,今日のインターネット普及の大きな原動力となり,間違いなくインターネットの大きなアプリケーションのひとつとなっています。そこで,このWWWを利用したオンラインショッピングシステムが開発され,現在利用されています。WWWを利用してショッピングを行う場合,クレジットカードの情報等を入力する必要があり,この情報が平文のままネットワーク上を流れたとしたらセキュリティ上,大きな問題となります。そこで,クレジットカードの番号等を入力する必要がある場合は,WWWに暗号化技術を取り込んでいます。この例として,SSL(Secure Socket Layer)やPCT(Private Communication Technology),S-HTTP(Secure HTTP),SET(Secure Electronic Transaction protocol)などがあります。
SSLは米国Netscape社が開発したレイヤ化されたプロトコル技術で,TCP層のすぐ上のセッション層に位置し,ソケット間で鍵配送,暗号化,メッセージ認証,署名検証などを行います。このSSL層の上に,HTTP,SMTP,NNTPなどのアプリケーションが存在することになります。したがって,SSLはWWWのためだけのセキュリティプロトコルではなく,電子メールやネットニュースなどの他のアプリケーションについてもセキュリティ機能を強化することができます。このSSLの機能は,Netscape社のNetscape Commerce ServerやApacheなどのWWWサーバと,Netscape NavigatorなどのWWWブラウザで利用することができます。
PCTは米国マイクロソフト社が開発したプロトコル技術で,SSLに若干の変更を行ったものです。暗号化と認証にバリエーションを加えたり,ネゴシエーション時のオーバヘッドを減らす等の工夫がなされています。
S-HTTPはHTTPにセキュリティ機能を付加したもので,米国RSA Lab社のPKCS-7と呼ばれる暗号化規格をベースに,WWWコンソーシアムが提案しています。現在のWWWブラウザでは,SMTPやPOP,NNTP,FTPなども扱えるようになっていますので,SSLのようにセキュリティ層を設けて対策するほうがすっきりします。(図8)
またWWWについては,1996年9月に米国中央情報局(CIA)のホームページが,クラッカーに改ざんされるという事件も実際に発生しました。この事件の場合は,HTTPサーバのソフトウェアのセキュリティホールを利用して,パスワードファイルを入手して,辞書攻撃でユーザのパスワードを解読するという方法でした。そして,実際に解読に成功し,ホームページの写真を取り替えたりしました。
WWWサーバは,通常バリアセグメント上に置かれ,CGIスクリプトなども実行することから,クラッカーにとっては恰好の侵入口となっています。
| 2−4. ウィルス対策 |
コンピュータウィルスを取り巻く状況は,LANやインターネットの普及により,ここ数年でかなり変わってきています。OSにウィルス対策ソフトをバンドルしたものも多くなっています。また,ウィルスは8,000種類以上になったと言われています。
1997年4月,厚生省のWWWサーバに置いてあるEXCELのデータがウィルスに感染していたという事件がありました。このように,最近のウィルスは電子メールやデータファイルによって感染する新型のウィルスです。最近のウィルス被害の半数以上は,このネットワークを経由した新型ウィルスのようです。このウィルスの特徴は,(1)コンピュータに突然,侵入してくる,(2)国境を越えて感染する,(3)爆発的な感染力を持つ,(4)退治してもまた出現する,などです。従来のウィルスは,実行型のファイルを実行することによって,ウィルスに感染していました。一方この新型のウィルスはワープロや表計算の文書ファイルなどにマクロプログラムとして含まれていますので,この文書ファイルを読む(開く)ことによって感染します。そして文書の内容を書き換え,破壊するだけでなく,他のデータやコンピュータのシステムファイルまで被害を及ぼします。これをマクロウィルスと呼んでいます。従来型のウィルスはマシン語として実行ファイルに含まれていて,この実行ファイルから類似のウィルスを派生させることは誰でも容易にできることではありませんでした。ところがこのマクロウィルスは,マクロプログラムなのである程度の知識があれば派生した類似のウィルスを容易に作ることができます。このため,半年で10倍くらいの派生ウィルスが出現していて,ウィルス対策ソフトが追いつかない状況なのです。
このマクロウィルスによる被害を未然に防ぐには,次のような対策が必要です。
(1)身元不明のファイルの使用は避ける。
(2)各サーバとクライアントのウィルス対策ソフトは最新のものを使い,1日に数回,自動または手動で実行する。
(3)メールを送信するときはウィルスチェックを行う。
(4)フロッピーの受け渡し時にはウィルスチェックを行う。
万一,ウィルスに感染したら被害を最小限に留める工夫が必要になります。
(1)まず管理者をはじめ全ユーザに対してウィルス感染を周知する。
(2)ネットワークは最適な感染媒体となることから,すべてのコンピュータのネットワーク接続を断ち,スタンドアロンの状態にする。
(3)ウィルスの情報と感染経路及び被害について,正確な情報を取得し,専門家を交えて対策を具体的に検討する。
(4)感染していないだろうと思われるコンピュータも含め,間違いなくすべてのコンピュータとディスクに対して,ウィルスチェックと復旧を行う。復旧には,バックアップが必要になります。
(5)一斉にネットワークに接続することを避け,1台ずつ確認しながら接続する。
(6)反省と今後の対策を十分に検討する。
一方,被害を受けた組織の管理体制・運用体制の不備やモラルの低さを露呈することになるため,ウィルスによる被害は統計上,実際よりもかなり少なくなっていることも事実です。
なおウィルスに関連する情報は,情報処理振興事業協会(IPA)等で入手することができます。
| 3. セキュリティ対策の基本的な考え方 |
セキュリティを確保するために考えるべき事項として,次のようなものがあります。
| 3−1. アカウント管理 |
(1)使用していないアカウントは削 除する
(2)すべてのアカウントにパスワードを付ける
(3)パスワードの付いていないアカウントは削除する
(4)パスワードは簡単に見破られないものにし,定期的に変更する
(5)管理者は定期的にパスワードをチェックするソフトを実行する
(6)特権ユーザのパスワードは厳重に注意する。また,ログインと作業についてログを取り,管理する。
| 3−2. ファイル管理 |
(1)ファイルのアクセス制御(パーミッションやトラスティ)を適切に設定する
(2)重要なファイルについては暗号化する
(3)シャドウパスワードファイルを利用する
(4)バックアップを定期的に取る
| 3−3. ネットワーク管理 |
(1)不要なネットワークサービスは 停止させる
(2)外部との接続に当たってはファイアウォールを設ける
(3)外部からのアクセスが必要な場合は,必ずワンタイムパスワードを利用する
(4)重要なファイルをメール等で転送する場合は,暗号化技術を利用する
(5)公衆回線を使った通信路(裏口)を設けない。設ける場合は,接続時の認証やアクセス制御を徹底する
(6)認証なしのアクセス(rloginやrshなど)は,可能な限り排除する
| 3−4. その他 |
(1)システムのアクセス記録やログ 管理を厳重に行う
(2)システムやネットワークのセキュリティを検査するツールを定期的に使用する
(3)セキュリティホールを完全に塞ぐためにパッチを当てる。なお,新しいソフトが常にセキュリティホールが少なくなっているとは言えないが,できるだけ新しいソフトに入れ替える
(4)ウィルス対策ソフトを実行する
(5)一般ユーザのセキュリティ教育を徹底する
(6)セキュリティポリシーを明確にする
| 4. セキュリティに関連する話題 |
セキュリティに関するその他の話題としては,VPNやIPv6,電子印鑑,そして電子マネーや電子決済などの電子商取引などがあります。
VPN(Virtual Private Network)はインターネットを,あたかも専用回線による企業情報ネットワークのインフラとして利用するものです。このため,不正侵入やデータの盗聴,改ざんそして,なりすましなどのセキュリティ対策が重要になっています。VPNがもたらす最も直接的なメリットは,専用回線などのコスト削減です。VPNを実現するために,ファイアウォールとトンネリング技術が用いられています。このトンネリングは認証と暗号化によって実現されています。認証は,お互いのコンピュータあるいはネットワークが信頼できるものであるかを確認する(なりすましを防ぐ)ために,トンネリングセッションの開始時に行われます。またIPパケットの暗号化によるトンネリングのために,ネットワーク層でのセキュリティ機能を実現するIPsecと呼ばれるプロトコルがIETFで公開され,次世代のインターネットプロトコルIPv6でも採用されることになっています。
このほか,ダイアルアップ接続の標準となっているPPPプロトコルを拡張してVPNを実現するための規格PPTP(Point-to-Point Tunneling Protocol)を,マイクロソフト社やアセンドコミュニケーション社,3COM社などが共同で提唱しています。
現在は,IPv4と呼ばれるインターネットプロトコルを利用していますが,32ビットのIPアドレス空間では不足することが予想されています。また,経路情報が急速に増大していることもあり,バックボーンのルータに大きな負担がかかってきています。このような従来のプロトコルの問題点を解決し,新たな機能を追加するだけでなく,柔軟で多彩なサービスを提供することを目標に,IPv6の開発と実装が進められています。IPv6ではIPアドレス空間を128ビットとして,IPアドレス空間を拡張しています。またセキュリティを確保するために,認証用のヘッダとカプセル化セキュリティペイロードの2つの拡張ヘッダを用意し,ネットワーク層レベルでのセキュリティ機能をサポートすることになっています。
パスワードや電子署名などに代わる個人認証の新しい流れとしては,動的署名照合システムとして,自分のサインをタブレット等から入力して,筆跡の特徴を抽出して認証を行うサイバーサインがあります。また,指紋や声紋,DNAなどバイオメトリクス(生体情報)を用いた認証も実用化されています。
また,不正アクセスやウィルスなどの対策について技術的側面から支援し,コンピュータセキュリティに関連する技術情報の提供などを行うJPCERT/CC(コンピュータ緊急対応センター)という非営利組織が昨年8月に設立されました。
表2 セキュリティ関連情報の主な入手先
| WWWサーバ | コンピュータ緊急対応センター(JPCERT/CC) 認証実用化実験協議会(ICAT) 情報処理振興事業協会(IPA) CERT CIAC NIST CSRC FIRST Purdue大学 Telstra社 |
http://www.jpcert.or.jp/ http://www.icat.or.jp/ http://www.ipa.go.jp/ http://www.cert.org/ http://www.ciac.lln1.gov/ http://csrc.ncsl.nist.gov/ http://www.first.org/ http://www.cs.purdue.edu/coast/coast.html http://www.telstra.co.au/info/security.html |
| ネットニュース |
fj.comp.security jp.inet.security tnn.internet.firewall comp.security.* | |
| メーリングリスト |
firetalk-request@is.aist-nara.ac.jp scrtyl1@takamatsu-nct.ac.jp | |
| 5. セキュリティ情報の入手先 |
セキュリティに関する情報は常に更新されており,緊急性も高いため最新の情報を入手するように心掛けることが大切です。情報源としては表2のようなものがあります。
また,本文でも取り上げたセキュリティ関連のツールは表3から入手することができます。
| 表3 セキュリティ関連の主なUNIXツール |
| パスワード関連 |
ANLpasswd anticrack crack cracklib npasswd passwd+ shadow |
ftp://info.mcs.anl.gov/pub/systems/anlpasswd-2.3.tar.gz ftp://ftp.cs.titech.ac.jp/pub/security/anticrack/anticrack-1.1a.tar.gz ftp://ftp.jpcert.or.jp/pub/cert/tools/crack5.0.tar.gz ftp://ftp.jpcert.or.jp/pub/cert/tools/cracklib/cracklib25_small.tar.Z ftp://ftp.cc.utexas.edu/people/clyde/npasswd/2.0beta/npasswd_2b3.tar.Z ftp://ftp.iij.ad.jp/pub/security/dartmouth/passwd+.tar.Z ftp://i17linuxb.ists.pwr.wroc.pl/pub/linux/shadow/shadow-current.tar.gz |
| ワンタイムパスワ ード関連 |
donkey opie logdaemon |
ftp://ftp.aist-nara.ac.jp/pub/Security/tool/donkey/donkey-0.5.tar.gz ftp://ftp.nrl.navy.mil/pub/security/opie/opie-2.3.1.tar.gz ftp://ftp.win.tue.nl/pub/security/logdaemon-5.6.tar.gz |
| システムファイル 関連 |
COPS iss rscan SATAN swatch tiger Tripwire |
ftp://ftp.cs.purdue.edu/tools/unix/cops/cops_104.tar.gz ftp://ftp.iss.net/pub/iss/iss-{Linux|Solaris|SunOS}.tar ftp://ftp.vis.colostate.edu/usr/rscan/rscan.150-B3.tar.gz ftp://coast.cs.purdue.edu/pub/tools/unix/satan/satan-1.1.1.tar.Z ftp://ftp.stanford.edu/general/security-tools/swatch/swatch-2.2.tar.gz ftp://net.tamu.edu/pub/security/TAMU/tiger-2.2.3.tar.gz ftp://coast.cs.purdue.edu/pub/COAST/Tripwire/tripwire-1.2.tar.Z |
| ファイアウォール 関連 |
ip_fil TCP Wrappers xinitd drawbridge screend DeleGate SOCKS TISfwtk |
ftp://coombs.anu.edu.au/pub/net/firewall/ip-filter/ip_fil3.2a2.tgz ftp://coast.cs.purdue.edu/pub/tools/unix/tcp_wrappers/tcp_wrappers_7.5.tar.gz ftp://coast.cs.purdue.edu/pub/tools/unix/xinitd/xinitd.2.1.7.tar.gz ftp://net.tamu.edu/pub/security/TAMU/drawbridge-2.0.1.tar.gz ftp://ftp.vix.com/screend/screend-960126.tar.gz ftp://ftp.etl.go.jp/ccipr/DeleGate/delegate4.0.6.tar.gz ftp://ftp.nec.com/pub/security/socks.cstc/socks5-beta-0.17.1.tar.gz ftp://ftp/tis.com/pub/firewalls/toolskit/ |
| 暗号化メール関連 |
PGP FJPEM Mew |
ftp://ftp.ifi.uio.no/pub/pgp/src/pgp263is.tar.gz ftp://ftp.fujitsu.co.jp/pub/security/fjpem/fjpem1.2.tar.gz ftp://ftp.aist-nara.ac.jp/pub/elisp/Mew/mew-1.69.tar.gz |
| ネットワークモニ タ関連 |
netlog tcptop IsOn nocol tcplist tcplocate |
ftp://net.tamu.edu/pub/security/TAMU/netlog-1.2.tar.gz ftp://ftp.hyperion.com/pub/tcptop-1.0.shar.gz ftp://ftp.aqix.net/pub/utils/ison-5.0.0.tar.gz ftp://ftp.navya.com/pub/vikas/nocol-4.2beta4.tar.gz ftp://ftp.cdf.toronto.edu/pub/tcplist/tcplist-2.1.shar.gz ftp://ftp.lysator.liu.se/pub/ident/tools/tcplocate-1.0.tar.gz |
| その他 |
PET ssh sudo |
ftp://ftp.fujitsu.co.jp/pub/security/pet/pet-3.56.tar.gz ftp://ftp.cs.hut.fi/pub/ssh/ssh-1.2.18.tar.gz ftp://coast.cs.purdue.edu/pub/tools/unix/sudo/cu-sudo.v1.3.1p14.tar.Z |
| 6. セキュリティ対策の具体例 |
セキュリティ対策の具体例として,不正侵入対策のためにTCP Wrappersを利用した例,パスワードをチェックするためにCrackを利用した例,ワンタイムパスワードopieの利用例,及び暗号メールPGPの利用例について簡単に説明します。
| 6−1. TCP Wrappers |
TCP Wrappersはスーパデーモンから起動される各デーモンプロセスをアクセス制御・記録が可能なものに変更します。具体的には,図9に示すようにスーパデーモンの設定ファイルinetd.confのサービスプログラム名に,TCP Wrappersをコンパイルして作成されるtcpdへの絶対パスを記述します。この例では,/usr/sbin/in.telnetdの代わりに/usr/local/sbin/tcpdが起動します。
さらに,アクセスに関するルールを記述するための2つのファイル/etc/hosts.allowと/etc/hosts.denyを作成します。この例では,192.168.0/24にマッチするアドレスのコンピュータからのアクセスを許可します。また,許可されたコンピュータ以外からのアクセスがあった場合は,そのコンピュータにsafe_fingerを実行して,ユーザ名やIPアドレス等をpostmasterにメールで送信するように設定しています。(図10)
TCP Wrappersを利用すれば,IPアドレスやコンピュータ名等によるアクセス制御ができ,アクセス記録や不正アクセスの通知が可能になります。しかしTCP接続の制御に関与するだけなので,ユーザ認証は行えません。
|
図9 TCP Wrappersの各設定例
|
図10 不正アクセスをブービトラップし,postmasterにメールした例
| 6−2. Crack |
Crackはパスワードファイルの情報と辞書をもとに,パスワードを推測する辞書攻撃を行います。これによって,見破られやすい(弱い)パスワードを発見することができます。
まず,CrackはpasswdファイルのGECOSフィールドから文字列情報を得ます。この文字列を,そのまま,逆にしたり,2回繰り返したり,綴りを並べ替えたりしてパスワードを推測します。
次に,辞書をもとにパスワードを推測します。これには非常に多くの処理時間を要します。なお,辞書は日本語の辞書を追加して利用することもできます。
図11に示した例では,ユーザ名hogehogeのパスワードが,gehogehoであることを見破っています。ちなみに,パスワードをWcup'98Fに設定したときは見破られませんでした。
|
図11 crackの実行例
| 6−3. OPIE |
OPIEはワンタイムパスワードの実装パッケージです。OPIEをサーバにインストールすると認証コマンドであるloginやsuが,OPIEのものに置き換えられます。
まず,ユーザはサーバマシンのopiepasswdコマンドで秘密のパスフレーズを決めます。この例を図12に示します。シーケンス番号が499で,シードがki3174であることがわかります。
このシーケンス番号とシードを元にotp-md5(opiekey)を実行します。このとき秘密のパスフレーズを入力します。こうして得られたパスワードがLIFE HIM COMB KNOW OWN FATEです。
(図13)
次に,このOPIEを使ってログインした例を図14に示します。login:のところにユーザ名を入力すると,otp-md5 498 ki3174がchallengeとして表示され,Responceを要求します。ここで,ユーザは(パスフレーズがネットワーク上に流れないように)別の計算機で,otp-md5 498 ki3174を実行してパスワードを計算し,得られたパスワードをResponceに入力します。これによって,正常にログインすることができます。
なお,常にchallengeコマンドを実行できる環境とは限らないので,あらかじめ複数のワンタイムパスワードを出力しておくことができます。
|
図12 秘密のパスフレーズの生成例
|
図13 ワンタイムパスワードの計算例
|
図14 ワンタイムパスワードによるログイン例
| 6−4. PGP |
PGPは現在,主流の公開鍵暗号を利用したメールの実装パッケージです。
まず自分の鍵を作成します。pgp -kgコマンドで,secring.pgpとpubring.pgpの2つのファイルに秘密鍵と公開鍵が作成されます。(図15)
次に,公開鍵を相手に渡す必要がありますので,pgp -kxaコマンドでアスキー形式の鍵を取り出します。また相手からもらった鍵は,pgp -kaコマンドで自分のキーリングに登録します。これで準備は整いましたので,pgp -kvコマンドで確認します。(図16〜18)
次に相手にメールで送る場合は,送信するファイルだけを暗号化する方法,暗号化したファイルに電子署名も添付する方法,及び暗号化しないファイルに電子署名(クリア電子署名)を添付する方法の3つが考えられます。クリア電子署名は,本文は秘密ではないけど本人が確実に書いたことを証明する場合に用います。
暗号化されたメールを受信した場合は,自分の秘密鍵で複号化し,本来のファイルを取り出します。
(図19〜図22)
|
図15 鍵を生成する例
|
図16 公開鍵を取り出す例
|
図17 相手の公開鍵を自分のキーリングに登録する例
|
図18 キーリングに登録した鍵を確認する例
|
図19 文書を受取人の公開鍵で暗号化した例
|
図20 受取人が復号化した例
|
図21 クリア電子署名の実行例
|
図22 クリア電子署名の確認例
| 6−5. netman |
netmanはフリーソフトとしては数少ないネットワークモニタです。netmanにはイーサネット接続をリアルタイムで表示するethermanと,IP接続を表示するinterman,パケットを解析するpacketmanなどが含まれています。
図23はethermanの実行例です。イーサネットで接続されているコンピュータ間のパケット転送の状況が,リアルタイムでプロトコルごとに色分けして表示されます。またトラフィック量に応じて,接続している線の太さが変化します。さらに,パケットフィルタ機能によりモニタするプロトコルを選択することができ,ログ等も取ることができます。
図24はintermanの実行例です。IP接続の状況をサービスプロトコルごとに色分けして表示するなど各種の機能があります。
packetmanはtcpdumpやtcpviewと同じような機能を持った,パケット解析ツールです。
これらのツールを利用することによって,ネットワークのトラフィック状況を確認することができます。
■コラム■
1.UNIXシステムに侵入する方法
UNIXシステムに侵入する方法としては,従来から次の(1)〜(3)のような方法がよく知られています。
(1)fingerを利用してユーザ情報を取得する
fingerコマンドはUNIXシステムのユーザ情報を調べるコマンドですが,%finger @host.foo.bar などのようにユーザ名を指定しないで実行すれば,host.foo.barというシステムにログインしているユーザ名を知ることができます。次に,%finger username@host.foo.bar とユーザ名を指定して実行すれば,ホームディレクトリをはじめそのユーザに関するさまざまな情報を知ることができます。
(2)リモートマウントする
マウントは,システムの特定のディレクトリをリモートマシンからアクセスできるようにします。クラッカーは,%showmount -e host.foo.bar というコマンドによって,エクスポートしたファイルシステムを調べることができます。この結果,あるディレクトリが(everyone)というようにどこからでもマウントできるようになっていた場合,クラッカーはそのディレクトリをリモートマウントします。その結果,マウントしたディレクトリはクラッカーから自由にアクセスできるようになり,さまざまな情報を得ることができます。
(3).rhostsファイルに自分のマシン名を追加する
無防備のシステムにリモートマウントができるようになると,あるユーザのホームディレクトリの.rhostsファイルに自分のマシン名を追加します。これによって,クラッカーはそのシステムにログイン(rlogin)できるようになり,パスワードファイルなどの重要なファイルを容易に入手できます。クラッカーは,パスワードファイルを盗むと"辞書攻撃"などのパスワード破りのプログラムを用いて,rootユーザをはじめとするユーザのパスワードを解読しようとします。
その他,メールシステムやネットニュースシステムの中枢をなすsendmailやinnなどのセキュリティホールを持つプログラムを使って,パスワードファイルやシステム情報などをメールで取得することも実際に行われています。
2.Windows95のセキュリティ
Windows95は誰でも起動でき,ログインしなくともスタンドアロンのパソコンとして利用できます。またシステムポリシーエディタを使えば,ログインしないとWindows95起動後の操作をできなくすることが可能です。しかしMS-DOSモードで起動すれば,ファイルはすべて読むことができます。現在,主なワープロソフトにはファイルにパスワードを付けて,パスワードの認証なしにはアクセスできないようになっていますが,Windows95自身はセキュリティの面ではあまり考慮されていません。
一方,WindowsNTではセキュリティがかなり強化されています。まず,WindowsNTはログインなしでは起動しません。また,NTFSというファイルシステムを導入することにより,MS-DOSからファイルをアクセスすることはできなくなります。さらに,ファイルやディレクトリごとにアクセス権を設定することにより,セキュリティを確保することができます。アカウントの不正使用を防ぐためにも,アカウントの原則の設定では,パスワードの有効期限を設け,定期的にパスワードを変更する必要があります。また,セキュリティの監査を設定し,定期的にドメインユーザマネージャで監視を行うようにします。こうすることによって,イベントビューアにセキュリティ情報が記録されます。