WindowsやUnix/Linuxプラットフォームでお仕事をしている方なら、間違いなくPuTTYをご存知でしょう。これは、多くの管理者や開発者のワークステーションに広く普及しているツールの一つです。 Microsoft Windowsには、つい最近までSSHクライアントが搭載されていませんでした。そのため、以前はWindowsマシンからUnix系システムに接続したい場合、SSHクライアントが必要でした。 開発者のサイモン・タタム氏による「PuTTY」は、人気があり、多機能なオープンソースのターミナルエミュレータ、シリアルコンソール、およびファイル転送アプリケーションです。
他のソフトウェアと同様、PuTTYも複雑なプログラムであり、複雑なものでは欠陥が生じる可能性があります。 場合によっては、そうした欠陥が悪意のある攻撃者に悪用される可能性があります。 2019年3月のリリースに伴い、PuTTYには更新が適用され、8つの脆弱性が修正されました。また、 SSHv2の関連ライブラリである LibSSH2についても、9つの脆弱性が修正されました。
これらの脆弱性は、さまざまなシナリオを想定しています。 あるものはDoS攻撃の可能性を許容し、あるものは秘密鍵フレーズの漏洩を許容し、またあるものは、脆弱性のあるシステム上で任意のコードが実行される可能性を許容しています。 SSHを介してリモートシステム(通常はサーバー)に接続する必要が生じる可能性があるのは、管理者や特権アクセス権を持つユーザーであり、彼らがPuTTYの主なユーザー層を構成していることを考慮すると、これらの脆弱性をできるだけ速やかに是正しないことにはリスクが伴うことがわかります。
お客様の課題への対応
さて、次のような場面を想像してみてください。あなたと同僚たちは、グローバル組織全体で 100,000 台近くのエンドポイントを運用・管理しています。 これには、サーバー、ワークステーション、ノートパソコン、仮想マシン(VM)、オンプレミス、外出先、自社クラウド、あるいは他社のクラウド上で稼働するクラウドインスタンスなどが含まれ、これらすべてにおいて、さまざまなオペレーティングシステム、アプリケーション、アプリケーションの所有者、および関係者が存在します。 少なくとも、以下の課題があります:
- PuTTY や関連アプリケーションをすべて見つけ出し、それらが最新の状態であることを確認するには、どれくらいの時間がかかりますか?
- 世界各地のオフィスで業務時間が始まり、管理者や開発者がオンラインに接続する際、あらゆる問題が自動的に解決されるようにするには、どうすればよいでしょうか?
- その朝、ニュースの見出しを飾っているような重大なセキュリティインシデントに関する最新ニュースを目にしたCIOやCISOから状況報告を求められたとき、自組織のセキュリティ対策が最新の状態にあると、どのように確信できるでしょうか?
こうした厄介な課題こそ、Taniumが独自の強みを活かして支援できる分野です。 準備として、引き続きPuTTYを例に挙げて、以下の点をご検討ください:
- 私たちは脆弱なのでしょうか?
組織内のどこにも、PuTTY や LibSSH2 の古いバージョンが残っていないことを、どのように確認すればよいでしょうか? この件について、どのようにリアルタイムで報告し、その結果を確実なものにすればよいでしょうか? - これらの脆弱性を悪用してアクセスしようとしている人はいますか? 私たちは、脆弱性をめぐる悪意のある活動を示唆し、さらなる調査が必要となるような行動上の兆候を特に探したいと考えています。
- どのようにすれば、全員が更新版を利用できるようにできるでしょうか? PuTTYの更新版および関連ツールを、管理グループに配布することは可能でしょうか。あるいは、少なくともアプリケーション提供のセルフサービスの一環として、ユーザーがこれをインストールできるようにすることは可能でしょうか。
- ソフトウェアの脆弱性のあるバージョンの使用を、検知すると同時に防止することは可能でしょうか?
それでは、これらの各セクションと、Taniumがどのような機能を提供できるのかを見ていきましょう。
1. リアルタイム表示
まず、当社の環境全体におけるすべてのPuTTYのインストール状況をリアルタイムで確認できるようになりました。
Taniumのクエリを次のように設定いたします。「オペレーティングシステムに『Windows』を含むすべてのマシンから、インストール済みのアプリケーション『putty』のバージョンが 0.71.0.0 未満のものを取得してください」

あるいは、インストールされているすべてのアプリケーションを一覧表示し、「putty」という単語で絞り込み、その結果をわかりやすいグラフ形式で表示するように選択することもできます:

Tanium Indexは、当社の「Threat Response」モジュールの構成要素であり、保存中のファイルに関する脅威インジケーターの検出および報告に関わるセキュリティユースケースを実現するための重要な基盤となっています。 このモジュールを使用すれば、管理対象のすべてのシステムを対象に、putty.exeのあらゆるバージョンの存在有無をリアルタイムで検索することができます。 これは重要な点です。多くの場合、PuTTYは実際にはインストールされたアプリケーションではなく、エンドポイント上にスタンドアロンの実行ファイルとして存在しているからです。 どのような状況でもそれを見つけられると、どうして確信できるのでしょうか?

「Trace Event Recorder」は、当社の脅威対応モジュールを構成するもう一つのコンポーネントです。 Trace を使用することで、ネットワーク上の Linux、Mac、Windows のエンドポイントにおける重要なフォレンジックおよびセキュリティ関連のイベントを直接調査することができます。 Traceは、プロセスの実行、ログオン履歴、ネットワーク接続、ファイルやレジストリの変更など、重要なイベントのリアルタイムおよび過去の状況を確認できる機能を提供します。 この例では、過去 30 日間に、管理対象システム内のどこかでPuTTYが実行されたかどうかを確認したいと思います。 以下の例では、ユーザー「Elain_Devito」がまさにこれを行ったことがわかります。

2。 シグナル
次に、悪意のある攻撃者がPuTTYの脆弱性の1つを悪用しようとしている可能性を示すような、不審な動作がなかったか確認してみるといいでしょう。 Taniumシグナルを使用すると、複数の検索式を組み合わせることで、不審な、あるいは注目すべきプロセスの挙動を検出することができます。
以下に、CVEのいずれかに関連している可能性のある活動を検出するための信号の例を示します。 要するに、PuTTYに関連するプロセスがコマンドシェルやPowerShellのインスタンスを起動した場合は、そのことを把握し、調査できるようにしたいのです。

3。 パッケージのデプロイ
PuTTYの古いバージョンに起因するリスクを軽減するもう一つの方法は、それを必要とする管理者や開発者のユーザーに対して、インストール用にすぐに配布できる最新のパッケージを用意しておくことです。 当社の「Deploy」モジュールからの例を以下にご紹介します:

以下のスクリーンショットでは、ユーザーがインストールしたいパッケージを選択できる当社のセルフサービス型アプリケーション配信ポータルにおいて、PuTTYがエンドユーザー向けの選択可能なオプションとして提供されていることが確認できます。

4。 Protect モジュールを使用して、ネイティブのセキュリティ機能を管理します
ここでは、このような状況において、Taniumのスピードと柔軟性がいかに独自の形で役立つか、さらに別の例をご紹介します。 AppLockerのエンタープライズレベルのポリシーを設定し、「Protect」モジュールを使用することで、脆弱性のあるputty.exe実行ファイルが起動されるのを防ぐことができます。この際、エンドポイントにポップアップを表示し、ユーザーにTaniumのセルフサービスを通じてアップグレードを行うよう促します。
この一見単純に見える状況が、週ごとに、世界中の数え切れないほどの組織で繰り返し起こっています。 既存の運用およびセキュリティツールは、実際のある程度の規模での運用には到底対応できていません。また、セキュリティチームや運用チームに「これにはどれくらい時間がかかりますか」と尋ねた際、典型的な回答は「よくわかりません」や「たぶん1週間くらいでしょうか?」といったものになります。 「それについては、確かなことは言えません。」
このような単純で典型的な出来事に対応するためには、機敏に反応し、避けられない困難にも柔軟に対処する能力が不可欠です。しかも、それは大規模かつ迅速に行わなければなりません。
Taniumの実際の動作をご覧になりませんか? の個別デモをご予約いただくか、毎週開催されているウェビナーにご参加ください。 「 」の今後のイベント()にて、当社のTaniumエキスパートにご相談ください。
