SSH(Secure Shell)は,UNIXシステムへリモート・アクセスするための標準的なプロトコルである。大学や研究所,企業などいたるところで使われている。特に,重要なデータを扱うことの多いバック・オフィス・サービスで利用される。SSHのおかげで,管理者は空調の整ったマシン・ルームに何百台ものコンピュータを積み重ねておき,快適な自分のデスクから管理できる。

 ユーザー側のSSHクライアントは,リモート・サーバーと最初に接続を確立するときに,サーバーの名前と公開鍵をホスト情報のデータベース(known_hosts)に保存する。サーバー名と公開鍵をknown_hostsに入れておくことで,将来同じサーバーに接続する際の識別作業が簡単になる。

 便利な一方,このknown_hostsには危険もある。もし攻撃者がユーザーのアカウントをクラックしたら,known_hostsは次なる攻撃目標のリストとして使われかねない。さらに,攻撃者がそのユーザーのユーザー名,パスワード,鍵証明書を入手したら,次に攻撃されたサーバーはこうした情報を正当なものとして受け付ける可能性がある。

 マサチューセッツ工科大学(MIT)の関係者が書いた論文に,このSSH経由の感染手法を使ってインターネットに広まるワームの可能性を検討したものがある。現時点でも,攻撃者はパスワードをクラッキングした後に,このknown_hostsを悪用している。この論文は,SSH経由で広がるワームが,現在のワーム検出手法をすり抜ける可能性についても警告している。

 このタイプのワームは,1988年に最初のインターネット・ワームが現れて以来まだ出現していない。しかし,攻撃手法は洗練され続けており,必要なツールのほとんどは既に使用されている。そのため,ここで述べたようなワームの出現は時間の問題だ。

 しかしながら,対策は容易である。前述の論文で提案されている対策の一つに,「known_hostsには,ホスト名の代わりにホスト名のハッシュ値を保存する」というものがある。この対策は,パスワード・データベースにパスワードのハッシュ値を保存する方法とよく似ており,データベース(known_hosts)を隠さなくてもセキュリティを確保できる。さらに,ユーザーの操作性を損なうことなく問題を解決できる。

 この論文の著者は,SSH関連のオープンソース・コミュニティで活動していた人物だ。SSHのオープンソース版であるOpenSSHのバージョン4.0には,known_hostsをハッシュ化するオプションが付いた。OpenSSH 3.9にパッチを適用し,同じオプションを有効にすることも可能だ。ただし残念ながら,このオプションはデフォルトで無効になっている。

http://nms.csail.mit.edu/projects/ssh/
http://nms.csail.mit.edu/projects/ssh/sshworm.pdf(PDF形式)>

OpenSSHの修正:
http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config
http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-keygen
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/...

Copyright (c) 2005 by Bruce Schneier.


◆オリジナル記事「The Potential for an SSH Worm」
「CRYPTO-GRAM May 15, 2005」
「CRYPTO-GRAM May 15, 2005」日本語訳ページ
「CRYPTO-GRAM」日本語訳のバックナンバー・ページ
◆この記事は,Bruce Schneier氏の許可を得て,同氏が執筆および発行するフリーのニュース・レター「CRYPTO-GRAM」の記事を抜粋して日本語化したものです。
◆オリジナルの記事は,「Crypto-Gram Back Issues」でお読みいただけます。CRYPTO-GRAMの購読は「Crypto-Gram Newsletter」のページから申し込めます。
◆日本語訳のバックナンバーは「Crypto-Gram日本語訳」のページからお読みいただけます。
◆Bruce Schneier氏は米Counterpane Internet Securityの創業者およびCTO(最高技術責任者)です。Counterpane Internet Securityはセキュリティ監視の専業ベンダーであり,国内ではインテックと提携し,監視サービス「EINS/MSS+」を提供しています。