情報処理推進機構(IPA)とJPCERTコーディネーションセンター(JPCERT/CC)が共同で運営する脆弱性情報を集めたWebサイト「JVN」で2015年1月28日、UNIX系OSのLinuxに含まれるGNU Cライブラリ(glibc)に脆弱性「GHOST」があると公表されると、国内の報道機関は一斉にこの脆弱性に関するニュースを配信しました。JVNが参考にしたのは、セキュリティ脆弱性検知サービスを提供する米クォリスが2015年1月27日(現地時間)に公開したレポートです。

▼JVN Japan Vulnerability Notesの略。URLは、https://jvn.jp/
▼Cライブラリ C言語で標準的に使われる関数などのプログラムをひとまとめにしたもの。
▼GHOST glibcに含まれるgethostbynameという関数に脆弱性があることから、関数名の頭文字である「G」と途中にある「HOST」をとって、こう呼ばれる。

 GHOSTの脆弱性を持つglibcの関数を使用するアプリケーションには、バッファーオーバーフローを引き起こす可能性があります。バッファーオーバーフローとは、アプリケーションが設定したメモリー領域(バッファー領域)より大きなサイズのデータを受け取っても、そのままメモリー領域に書き込んでしまうという脆弱性です。攻撃者はこの脆弱性を悪用して、攻撃コードを含むデータを送り付けて、アプリケーションに想定外の動きをさせます。複数の報道機関が、GHOSTによって「サーバーが乗っ取られる可能性がある」「危険性が高い」などと報じたのは、このためでした。

緊急で対応する必要はなかった

 しかし実際のところ、この脆弱性を突いてサーバーを乗っ取るような深刻な被害を引き起こすのは難しかったと私は考えます。その理由は、2つあります。

 1つめは、GHOSTの影響を確認できたアプリケーションが当時、Eximというメールサーバーしかなかった点。もう1つは、報告された内容では攻撃者が攻撃コードを送り込んでコントロールできる領域が32ビット版OSで4バイトのみ、64ビット版OSでも8バイトしかなかった点です(図1)。領域がこれだけ小さいと、攻撃者ができることはかなり限られます。このことは、クォリスの最初のレポートで明らかでした(図2)。脆弱性であるため放置はできないものの、緊急で対応する必要はなかったと思います。

▼Eximというメールサーバー メールを送り出すメール転送エージェント(MTA)の1つ。
図1●GHOSTの脆弱性が重大な被害につながる可能性は低い
図1●GHOSTの脆弱性が重大な被害につながる可能性は低い
GHOSTの脆弱性を持っていたのは一部のアプリケーションだけで、しかも攻撃コードに使える領域は32ビット版OSで4バイト、64ビット版OSで8バイトしかなかった。
[画像のクリックで拡大表示]
図2●米クォリスが明らかにしたGHOSTの情報
図2●米クォリスが明らかにしたGHOSTの情報
最初に公開された時点で、脆弱性の影響は限定的であることがわかっていた。
[画像のクリックで拡大表示]