- Japan Edition
- ZDNet is available in the following editions:
- Austrailia
- Asia
- China
- France
- Germany
- United Kingdom
- USA
- Blog
- ホワイトペーパー
- 企業情報センター
- 話題の1本
- builder by ZDNet Japan
- CNET Japan
- TechRepublic Japan
アイルランドのセキュリティ研究者、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)」をクリックすると、自ら自分への攻撃をスタートさせてしまうことになる。
原因は、悪意あるハッカーが偽のApportクラッシュファイルの中に、Apport Crash Report Formatを使ってCrashDBフィールドにリストされたPythonプログラムを走らせるように仕組むことができるためだ。このCrashDBフィールドがパースされ、ユーザーの介在なしに勝手に実行されてしまう。
ApportがクラッシュファイルにあるPackageとSourcePackageフィールドを処理前に適切に無害化していないから、ともいえる。
なお、これを含む不具合はすでに修正済みだ。だが、古いバージョンのオープンソースコードを狙おうとする悪意あるハッカーもいるので注意したい。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
「ナビダイヤル」の「トラフィックレポート」を利用したことで着信前のコール数や
離脱数など、コールセンターのパフォーマンスをリアルタイムに把握するに成功。詳細はこちらから
「SoR」から「SoE」「SoI」の構築へと拡大しつつある今、IT部門はこうした新しいタイプのシステムにどう対応し検討してくべきか。次世代ITインフラ構築の最適解をご紹介!
2016年1月に始まる社会保障と税の共通番号(マイナンバー)制度への対応状況について、あてはまるものを選んでください。
ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。