Windows用SSHクライアントのPuTTY 0.63がリリース、開発者はセキュリティ更新と明言。早急のアップデートが望まれる

Windows用SSHクライアントでは古くから利用されていて、かつ主流であろう「PuTTY」の最新版(0.63)がリリースされた模様。PuTTYそのものは開発がひと段落ついているような感があるのか、この2年ほどはアップデートが行われない。前回も1件のセキュリティ修正が行われていたが、今回は複数のセキュリティに関する修正が含まれている。機能向上なども含まれているようだ。具体的な更新内容についてはChangeLogを参照のこと。

■PuTTY Change Log – PuTTY: A Free Telnet/SSH Client
http://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html

■PuTTY 0.63 is released – putty-announce mailing list
http://lists.tartarus.org/pipermail/putty-announce/2013/000018.html

セキュリティに関する修正は2件。不正なSSHサーバやネットワークの攻撃者から、悪意を持って構成された公開鍵と署名をPuTTYに送ることでPuTTY起動時に3つの異なる方法でクラッシュさせる攻撃についての対策と、ユーザ側のプライベート鍵での認証失敗後における鍵のメモリ内残存を行わない対応のようだ。

・Security fix: prevent a nefarious SSH server or network attacker from crashing PuTTY at startup in three different ways by presenting a maliciously constructed public key and signature.
・Security fix: PuTTY no longer retains the private half of users’ keys in memory by mistake after authenticating with them.

メーリングリストでは、さらに具体的に注意喚起がなされていて、今回のアップデートが明確にセキュリティに関する更新であることを明記している。加えて利用者全員が可能な限り早めに更新することを推奨している。

This release fixes multiple security holes in previous versions of
PuTTY, which can allow an SSH-2 server to make PuTTY overrun or
underrun buffers and crash. We do not know of any way in which these
vulnerabilities could permit a server to actually take control of the
client, but we also don’t know that that _can’t_ be done, so we
recommend you upgrade.
[誤訳可能性有] このリリースは前バージョンのPuTTYに含まれる複数のセキュリティホールの修正である。この脆弱性はSSH-2サーバにPuTTYのバッファオーバランもしくはアンダーラン、それによりクラッシュさせることを許容する。開発チームはこれらの脆弱性が実際にクライアントの制御剥奪をサーバに許す手法を知らないが、そうされないようにする手法もまた知らない。そのため開発チームとしてはアップグレードをお勧めする。

この脆弱性を悪用してPuTTYをクラッシュさせるような具体的な方法は知らないが、クラッシュされないようにすることも知らないので、アップグレードが望ましいとしている。

These vulnerabilities can be triggered before host key verification,
which means that you are not even safe if you trust the server you
_think_ you’re connecting to, since it could be spoofed over the
network and the host key check would not detect this before the attack
could take place.
[誤訳可能性有] これらの脆弱性はホスト鍵の検証前に引き起こすことができる。これは、仮にPuTTY利用者が接続しようと考えているサーバを信頼している場合、まったく安全ではないことを意味する。なぜならネットワークごしに騙ることができ、かつ攻撃が行われる前にホスト鍵チェックがこのことを検出しないからである。

なんやちょっと分かりにくい……。
攻撃者は偽物のSSHサーバを準備して、PuTTY利用者がログインしようとしているSSHサーバの代わりに偽サーバ側で脆弱性を悪用することでPuTTYをクラッシュさせることができるというものと想像する。ホスト鍵検証前に仕掛けることができるので、信頼しているSSHサーバか否かでは判断がつけられないということなのだろう。

Additionally, when PuTTY authenticated with a user’s private key, the
private key or information equivalent to it was accidentally kept in
PuTTY’s memory for the rest of its run, where it could be retrieved by
other processes reading PuTTY’s memory, or written out to swap files
or crash dumps. This release fixes that as well.
[誤訳可能性有] 加えて、PuTTYがユーザのプライベート鍵で認証し、プライベート鍵もしくは同等の情報が、認証実行の残存するメモリ内にたまたま保持されていた場合、PuTTYのメモリを読むことのできる他のプロセスや、もしくはスワップファイルやクラッシュダンプの書き出しによってプライベート鍵を抽出することができる。このリリースはこれも修正している。

プライベート鍵やそれに類する情報がPuTTYスタートアップ時にメモリ中に残っている場合がありうるため、PuTTYのメモリ空間にアクセスできる他のプロセスやスワップされた場合はそのスワップアウトのファイル、クラッシュした場合のクラッシュダンプファイル中からプライベート鍵を抽出することができてしまう、ということだろう。
1つ目の脆弱性は「不正に構成された鍵や署名でPuTTYをクラッシュさせることができる」ものなので、クラッシュダンプファイルさえ回収できれば、そこからプライベート鍵を取り出すことも可能であろう、ということだ。

攻撃者が細工した鍵と署名でPuTTYに攻撃を仕掛ける際、ホスト鍵の検証前であれば脆弱性を利用して攻撃が成功し、その際にクラッシュファイルが生成され、そのファイルを分析することでユーザの秘密鍵を知ることができる……という筋書きがあり得るということなのかもしれない。そうした方法が存在するかどうかは開発者も不明と言っている気がするが、ウィルスやマルウェアなどをローカルのマシンに常駐させてネットワークトラフィックを監視してPuTTYからの22/tcpを見つけたらトラフィックハイジャックしてターゲットホストに成りすまして攻撃して秘密鍵を入手し送信する……などが考えられるのであろうか。

いずれにしても、早めの更新が求められるだろう。

PuTTY 0.63のダウンロードは以下から可能である。

■PuTTY Download Page – PuTTY: A Free Telnet/SSH Client
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys実用SSH 第2版―セキュアシェル徹底活用ガイド入門OpenSSH―Linux/FreeBSD/Solaris/Mac OS X対応図解入門 よくわかる最新情報セキュリティの基本と仕組み―基礎から学ぶセキュリティリテラシー (How‐nual Visual Guide Book)ウイルスセキュリティZERO Windows 8対応版

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください