編集部からのお知らせ
解説集:台頭するロボット市場のいま
解説集:データ活用で考えるデータの選び方

「Ubuntu」デスクトップに深刻なバグ--遠隔からコード実行のおそれ

Steven J. Vaughan-Nichols (Special to ZDNet.com) 翻訳校正: 編集部

2016-12-20 10:44

 アイルランドのセキュリティ研究者、Donncha O'Cearbhaill氏が「Ubuntu」に遠隔からコードを実行されるバグを発見した。この不具合が影響するのは「Ubuntu 12.10」で、攻撃を仕組まれたファイルを開封するとシステムに悪意あるコードを挿入される。悪意あるハッカーはこれを利用してシステムをクラッシュさせたり、マルウェアを動かすことができる。幸い、ルート権限を獲得することはできないようだ。

 O'Cearbhaill氏は、Ubuntuは「ProblemType:」で始まるファイルであれば、Apportで未知のファイルを開くことを発見した。ApportはUbuntuのデフォルトのクラッシュ処理・クラッシュレポートプログラムだ。

 Apportは「.crash」という拡張子とマジックバイトシーケンスを持つクラッシュファイルを生成する。マジックバイトは、ファイルを識別するための独自のシーケンスだ。例えば、PDFの拡張子を持たないPDFドキュメントであっても、”25 50 44 46”と16進数のマジックバイトにより、PDFであることがわかる。

 もちろんマジックバイトは悪用もできる。そしてこれが、今回のUbuntuの脆弱性の原因になっている。Ubuntuは未知のファイルがあるとき、最初にMIMEタイプとの照合を試みる。うまくいかない場合、フォールバックしてマジックバイトの照合を試みる。

 したがって攻撃者は、Apportのファイルのマジックバイトを持つものとして識別されるファイルを作成できる。「.crash」という拡張子のあるファイルであれば、通常は開封しないだろう。だが、拡張子がなければ開けるかもしれない。これをクリックすると、Apportがファイルを開き、最小化されたクラッシュレポートプロンプトを表示する。ここで「詳細を表示(Show Details)」をクリックすると、自ら自分への攻撃をスタートさせてしまうことになる。


パッチが当てられていないUbuntu Linuxを使っている場合、このような通常のエラーメッセージに攻撃が隠されている可能性がある。

 原因は、悪意あるハッカーが偽のApportクラッシュファイルの中に、Apport Crash Report Formatを使ってCrashDBフィールドにリストされたPythonプログラムを走らせるように仕組むことができるためだ。このCrashDBフィールドがパースされ、ユーザーの介在なしに勝手に実行されてしまう。

 ApportがクラッシュファイルにあるPackageとSourcePackageフィールドを処理前に適切に無害化していないから、ともいえる

 なお、これを含む不具合はすでに修正済みだ。だが、古いバージョンのオープンソースコードを狙おうとする悪意あるハッカーもいるので注意したい。

 

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

Special PR

特集

CIO

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]