脆弱性と論理的な分離エラーは、Nintendo Entertainment Systemの音楽ファイルのgstreamerプレーヤーバージョン0.10.xで解決された、とChris Evans はサイバーセキュリティブログに語っています。 システムの脆弱性により、64ビットASLR 、 DEPなどの使用と回避への安定したアクセスが可能になります。 これは、プレーヤー内の音楽ファイルのチューリング完全スクリプトのサポートのおかげで可能になりました。 この脆弱性は、下位互換性のサポートにあります。
脆弱性は、まだサポートされている古いLTSバージョン12.04.5のUbuntuの影響を受けます。 将来のバージョンでは新しいglibcが使用されるため、システム上のエクスプロイトは機能しなくなります。
とは
分析の作成者は、エクスプロイトコールのスクリーンショットを提供します。
アクティベーションプロセスは、感染したファイルを初期化せずに実行され、そのファイルに移動するだけです。
gstreamer-0.10
ディストリビューションのサウンドデコーダファイル
libgstnsf.so
にはバグがあります。これは、サウンドに関連するすべてのタスクに対してシステムでデフォルトで使用されます。 Ubuntu 14.04にもこのデコーダがありますが、ほとんどの場合、デフォルトで
gstreamer-1.0
ます。
Ubuntuをインストールするプロセスで、システムは、ユーザーがmp3ファイルを使用したいかどうかを偶然に質問します。 Badパッケージのプラグインなど、多くの追加パッケージが肯定的な応答後にインストールされます-常に品質を促進するとは限らないもの:コードレビュー、メンテナー、ドキュメントなどがありません。
攻撃はどのように見えますか?
このエクスプロイトは、NSF音楽ファイルを再生するためのプラグインの脆弱性を悪用します。 これらのオーディオトラックは、パーソナルコンピューターで再生される通常のトラックとは異なります。
NSFフォーマットファイルは、NESコンソールプロセッサエミュレータとリアルタイムオーディオハードウェアによって再生されます。 さらに、NSFファイル内に一連の指示がある場合があります。 それを再生するために、脆弱なオーディオプレーヤーは40年前にプロセッサをエミュレートしました。 脆弱なバージョンのUbuntuには2人のプレイヤーがいますが、2番目の
libgme
にはエラーはありません。
gstreamer
プラグインは、6502プロセッサー用の仮想ハードウェア環境を作成し、エミュレーターでコードの一部を実行して音楽を再生します。 次に、仮想サウンドレジスタから結果の値を読み取り、それらに基づいてサウンドサンプルをレンダリングします。
NES Sound Format-再生のために音楽をNESゲームに圧縮する音楽ファイル標準。 脆弱性を起動するために使用されるスクリプト言語が含まれています。 感染したUbuntuシステムでNSFファイルを開くと、音楽プレーヤーとgstreamerマルチメディアフレームワークを介して
libgstnsf.so
ファイルへのパスが
libgstnsf.so
ます。
この例に興味のある方は、Castlevania 2 cv2.nsfからオーディオファイルをダウンロードできます。 Linuxがこの形式をサポートしている場合、サウンドは
totem cv2.nsf
などのコマンドで
totem cv2.nsf
されます。 17,264バイトのこの小さなファイルには小さなプログラムが含まれています。このサンプルは適合しません。 システムがこの形式を認識しない場合、不足しているプラグインのダウンロードを提案します。
プラグインは、出力で音楽を受信するためのNESのように、実際の6502をエミュレートするプロセスで動作し、どこかに脆弱性があります。 したがって、ポイントは、理解できない音楽ファイル形式を再生するための多層下位互換性だけでなく、1970年代からの「8ビット」のプログラムのエミュレーションでもあります。
この脆弱性の使用方法:
- 悪用をレターの添付ファイルとして転送します。 被害者がファイルをダウンロードして開くと、システムが危険にさらされます。 多くのLinux構成では、NSFファイルの操作方法がわからないため、名前をmp3に変更できます。 ほとんどの
gstreamer
ベースのメディアプレーヤーは、ファイル拡張子を無視し、自動フォーマット検出を使用して適切なデコーダーをロードします。 - 部分的なドライブバイダウンロード 。 ある意味、危険なGoogle Chrome経由でのファイルのダウンロードを使用すると、ユーザーが「間違った」Webページにアクセスしたときに、被害者のダウンロードフォルダーにファイルをダンプすることができます。 後でファイルマネージャによってダウンロードディレクトリが開かれると、ソフトウェアはシステムフレンドリーな拡張子を持つファイルのアイコンを表示しようとします。
- 完全ドライブバイダウンロード。 Google Chromeブラウザーを介した同様の安全でないダウンロードでは、途中で可能な完全ダウンロードへのパスがあります。 クリスは彼のブログの次の記事でこれについて話すことを約束しました。
- USBベースの攻撃。 ファイルマネージャでUSBフラッシュドライブを開くと、彼は再びファイルアイコンの描画を試みます。
追加の説明
このエクスプロイトは、次のプログラムで実行した場合も同様に機能します。
- トーテム
- リズムボックス
- gst-launch-0.10
- Nautilus (サブプロセスを開始する場合があります)
詳細については、 Chrisの投稿の関連セクションで説明されています。エクスプロイト自体の概要、考えられる脆弱性、エクスプロイトの詳細です。
彼はまた、正式に見つかったエラーは0日間の脆弱性に関連しているが、2012年4月にリリースされた長期のサポートバージョンである古いUbuntu 12.04にのみ影響を与えると書いています。 彼女は 2017年4月26日までサポートされます 。 問題は、メジャーではなくマイナーです。 彼女が1975年のプロセッサーを介して来たという事実は楽しいままです。
PSこの脆弱性は、Ubuntuチームのメンバーによって既に修正されています。