HEADER
検索更新情報サイトマップ English Chinese


バックナンバー一覧はこちら >>

インターネットセキュリティ講座
 第2回 クラッキングテクニック


株式会社ネットワークボックス・ジャパン(NBJ)代表取締役社長の坂野直人(ばんのなおと)です。

初回の講座ではインターネットに潜む脅威について解説し、これらの筆頭にハッカー(クラッカー)を挙げました。今回のインターネット・セキュリティ講座第2回目は、このハッカーがコンピュータシステムに侵入を試みる際に使う「クラッキングテクニック」について解説します。この技術はコンピュータシステムの「脆弱性(vulnerability)」と密接に結びついています。ちょうど空き巣狙いが家屋に侵入するときにピッキングしやすい錠前を選んで狙うのに状況が似ています。

     

コンピュータおよびネットワークの脆弱性

 

コンピュータシステムやネットワーク機器の持つ脆弱性とは具体的にどんなものなのでしょうか?

見た目は完璧な作りに見える製品でも、欠陥が全くないとは言い切れません。たとえ欠陥のない正常なシステムであっても、悪用されれば脅威と化すものもあります。これらを総合したものが脆弱性の実態です。

  【セキュリティ・ホール】
    コンピュータシステムはハードウェアにしろソフトウェアにしろ、発売された初期の状態では何らかの欠陥があるのが普通です。市場で販売する製品なのですから欠陥などあってはならないと思われるでしょうが、所詮はどちらも人間が設計して人間が製造したものです。システムが複雑になればなるほど最初から完全無欠な仕事を期待するのは酷なことでしょう。今では初期のシステムにはこういった欠陥(bug)が少なからず含まれているのが半ば常識になっていて、ユーザはそれを前提に製品を使いこなすことを強いられています。

これらの欠陥には軽微なものから重大なものまで程度の差がいろいろとあります。計算結果が間違っていたり、システムが途中で止まったり、他のシステムに悪影響を与えたりするような欠陥は、放置するとユーザに大変な損害をもたらすことになります。一方、軽微な欠陥のなかには通常の使用環境では気が付かれず、製造元もユーザも不具合を感じることがないため見過ごされてしまうタイプのものもあります。

ところがこの軽微な欠陥のうち、その欠陥を持った部分に通常ではあり得ないような操作を加えると、結果的に重大な不具合に発展する種類のものがあります。例えばパスワードなどは通常は数文字から数十文字程度の長さしか入力しないものですが、そこに1000文字を越えるような膨大なパスワードを無理やり入力するとシステムが異常な動きをしてしまうという欠陥の例があります。すなわち、ある一定の長さ以上のパスワードを拒否するように設計されていないという欠陥なのですが、通常の使用状態では見過ごされてしまう種類のものです。

実はハッカー(クラッカー)たちはこれを見過ごさず、故意にシステムの異常を発生させて侵入を試みたり、コンピュータの管理者権限を乗っ取ったりといった悪さをします。このように通常では軽微な欠陥であったとしても、ハッカーの手によって悪用される危険性のある重大な欠陥のことを一般に「セキュリティ・ホール(security hole)」と呼んでいます。
   
  【正常なシステムが持つ危うさ】
    では欠陥がないシステムならば絶対安全かというと、インターネットの世界では必ずしもそうとは言えないのが歯がゆいところです。長くなってしまうので技術的な細かい話は割愛しますが、インターネットではデータや情報の受け渡しに共通のルールを定めています。そのルールは第1回目で紹介したRFCなどで定められていますが、特に情報の受け渡しに関する取り決めを「通信プロトコル(protocol)」と称しています。そのプロトコル自体は完璧であっても、それゆえにハッカーに悪用されてしまう危うさが潜んでいます。

例えば、ある方法でコンピュータに問合せの信号を送ると、必ず決まった方法で応答の信号を送り返さねばならないプロトコルのルールがあります。これはちょうど電話のベルが鳴ると受話器を上げて「もしもし」と答える行為に相当します。通常はこのやりとりでコンピュータ同士の通信が開始されるのですが、これを無言電話よろしく問合わせの信号ばかり大量に送りつけることで相手のコンピュータを忙殺するという悪さができてしまいます。

このほかルータなどのネットワーク機器の遠隔管理機能といった本来はユーザの利便性を追及した機能も、ひとたびハッカーの手に落ちれば意のままにシステムを操る道具と化す危険性を持っています。機器の導入時に初期設定を解除して管理機能にログインするパスワードを変更する、といったユーザ側のセキュリティ対策の実施が必要になりますが、こういったものも広い意味ではセキュリティ・ホールの一種と考えられます。

脆弱性に関する最新情報はインターネットで入手するのが早道です。充実しているサイトは海外のものが多いのですが、読みこなすには相応な英語力が必要です。日本国内ではIPA(情報処理振興事業協会)のセキュリティセンターが豊富な情報を公開しています。それらを下記に示しますので参照してみてください。

  IPA(情報処理振興事業協会)セキュリティセンター :http://www.ipa.go.jp/security/

  Common Vulnerabilities and Exposures (CVE) :http://cve.mitre.org/

  SecurityFocus :http://www.securityfocus.com/

  NTBugtraq :http://www.ntbugtraq.com/
     

クラッキングテクニックの実態

 

先ほども空き巣狙いの例を出しましたが、ハッカーのクラッキングテクニックには空き巣そっくりの一連のパターンがあります。それは以下のようなフローになります。

空き巣
 
ハッカー
   
下見〜侵入対象の特定
  入り易そうな侵入対象を公開情報から探し出す
   
無防備な侵入口の探索
  開放しているサービスをスキャンして発見する
   
鍵をこじ開ける
  パスワードクラッキング、DoS攻撃
   
侵 入
  攻撃対象システムに侵入する
   
目ぼしい家財の探索
  目ぼしい情報を探索する
   
窃 盗
  情報をダウンロードして盗む
   
再侵入口の確保
  バックドアのインストール
   
指紋・足跡の消去
  侵入の記録の削除
     

侵入対象の探索はWebで公開している情報で十分行えます。例えば大型合併を予定している企業であれば、両社の情報システムの統合を進めているはずです。システム統合前のテスト段階ではセキュリティの甘いテスト用のコンピュータが接続されている可能性が高く、そこが攻撃対象になる危険性があります。

コンピュータは複数のアプリケーションやサービスを同時に動かしているのが普通です。中にはユーザが使いもしないのに勝手に起動しているサービスもあります。これらのサービスは「ポート(port)」という窓口を通じてデータの送受信を行いますが、このポートが開いていることは家の窓が開いているのと同じように侵入に対して無防備な状態を意味します。ハッカーは専用のスキャンツールを使って開いているポートを探します。

ポートが開いていてもアプリケーションにパスワードのロックがかかっている場合があります。初期状態だとパスワードが空白やデフォルト値だったりするので、これでは無いのと同じです。たとえパスワードが設定されていても、簡単で脆弱なパスワードだとパスワードクラッカーという専用のツールを使って簡単に破られてしまいます。そのテクニックも大変巧妙で悪質なのですが、ここでは長くなるので割愛します。

パスワードの設定が適切でどうしても侵入できない場合、ハッカーは少々荒っぽい手段で腹いせ的な攻撃を仕掛けます。これはシステムの持つある種の脆弱性を突いた攻撃を集中的に仕掛けて対象のコンピュータを制御不能に陥れ、最悪の場合システムを停止させる行為です。このクラッキングテクニックを「DoS(Denial of Service)」と呼びます。日本語では「サービス妨害」または「サービス拒否」と呼ばれています。

パスワードクラッキングに成功するとハッカーはすでに管理者権限でコンピュータに侵入しています。管理者権限を持っていれば事実上何でもできます。パスワードファイルや機密情報などの目ぼしい情報を探して好き放題盗まれてしまいます。

ハッカーは侵入に成功すると「バックドア(Backdoor)」というソフトウェアを仕掛けることがあります。バックドアとは裏口を意味しますが、他人のコンピュータを自分のもののように自由に遠隔操作できるソフトウェアのことです。本来の管理者が侵入に気付いてパスワードの変更を行っても、バックドアがあればハッカーは再び侵入することができます。

コンピュータやネットワーク機器には「ログ(log)」という機能があります。これはアクセスしたりデータを送受信したりしたユーザの記録を残す機能です。ハッカーが侵入した事実もこのログを解析すれば判明します。ところが、ハッカーは管理者権限を使って自分が侵入した記録すらログから消去してしまいます。ちょうど空き巣が自分の指紋や足跡を消して去っていくのに相当します。

   

脆弱性への対処のしかた

 

このようにハッカーはシステムの脆弱性に目をつけて、それを執拗に攻撃して侵入を図ります。従って我々はハッカーの攻撃を受けても侵入を許さないように脆弱性を補強する対策を行う必要があります。脆弱性対策にはいくつかの段階があります。個々のユーザで実行できるレベルのものから熟練した管理者が行う必要のあるものまでさまざまです。今回は個人ユーザで出来るレベルの対策をご紹介します。但し、これらを行っただけでセキュリティ対策が万全になる保証はありませんので、根本対策はあくまで専門家に任せてください。

  【セキュリティ・パッチを当てる】
    「パッチ(patch)」とは「つぎあて」を意味しますが、その名の通りソフトウェアの欠陥を修正するプログラムをパッチといいます。軽微な欠陥であればバージョンアップの際についでに修正すれば済みますが、セキュリティ・ホール対策の場合は悠長なことは言っておられません。ほとんどの場合ソフトウェアの製造元からセキュリティ・パッチが都度無償で配布されます。

我々個人ユーザにとって最も身近なのはウィンドウズ・アップデートの提供するセキュリティ・パッチでしょう。Webページに表示されたボタンをクリックするだけで自分のPCに必要なパッチを検索してくれます。Windowsのユーザであればアップデートは必須ですので必ず定期的にチェックしてパッチを当てましょう。
  【適切なパスワード設定】
    最近はクライアントのパソコンでもWindows NTやWindows 2000を使っている例を良く見るようになりました。またWindows XPも現在発売中のパソコンには標準で搭載されています。これらのオペレーティング・システムに共通なのは、ネットワークを通じて別のコンピュータからログインが出来るという機能です。これはユーザごとに利用可能な環境を制限できるため、セキュリティ上は有難い機能なはずなのですが、反面パスワードを破られたらどこからでも侵入を許してしまう脆弱性にもつながります。特にAdministratorと呼ばれる管理者権限を破られたら大変です。

先ほど説明したパスワードクラッカーは、大きく分けて2種類のパスワード推定を行います。ひとつは1文字ずつ片っ端から試していく方法(ブルートフォース攻撃)で、これは非効率で時間も掛かります。もうひとつは誰でも使いそうな名前や言葉を試す方法(辞書攻撃)で、文字通りパスワード推定用の辞書を備えています。ということは、記憶力が許す限り長いパスワードを設定してブルートフォース攻撃を防ぐとともに、ありふれた名前や固有名詞などを避けて推定しにくいパスワードを設定すべきだということです。

但しこれもパスワードクラッカーの特性に左右される問題なので、パスワードが長いからといって安心できることでもないようです。要は定期的にパスワードを変更するといったこまめな管理が大切でしょう。
  【不要なサービスの停止】
    Windows NT/2000/XPには実行中のプロセス(サービス)を管理する機能が備わっています。これらのOSはバージョンによってはメールサーバやWebサーバの機能を標準で備えている場合もあります。これらのプロセスは初期状態で起動している場合があるので注意が必要です。これらはハッカーから見るとポートを開いているサービスそのものです。クラッキングの餌食にならないよう、管理機能を使って不要なサービスを停止するように心がけましょう。密かに仕掛けられたバックドアが起動していたらそれこそ大変です。

但しコンピュータに自信のない人は実際の作業は専門家に相談してから行ってください。無造作に行うと必要なサービスを止めてしまう危険性があります。
   

次回(第3回)は?

 

今回はハッカーの駆使するクラッキングの技術について解説しました。次回はウィルスやトロイの木馬などの不正プログラムについてお話します。

株式会社ネットワークボックス・ジャパン
代表取締役社長
坂野直人

   
    第3回につづく・・・
     
 
インターネット・セキュリティについてのご相談は、
日本ユニシス・エクセリューションズの担当営業まで、
もしくは こちら からお問い合わせください。
   

お問合わせは こちら

All Rights Reserved. Copyright© 2002-2008 UEL Corporation