情報処理推進機構(IPA)とJPCERTコーディネーションセンター(JPCERT/CC)が共同で運営する脆弱性情報を集めたWebサイト「JVN▼」で2015年1月28日、UNIX系OSのLinuxに含まれるGNU Cライブラリ▼(glibc)に脆弱性「GHOST▼」があると公表されると、国内の報道機関は一斉にこの脆弱性に関するニュースを配信しました。JVNが参考にしたのは、セキュリティ脆弱性検知サービスを提供する米クォリスが2015年1月27日(現地時間)に公開したレポートです。
GHOSTの脆弱性を持つglibcの関数を使用するアプリケーションには、バッファーオーバーフローを引き起こす可能性があります。バッファーオーバーフローとは、アプリケーションが設定したメモリー領域(バッファー領域)より大きなサイズのデータを受け取っても、そのままメモリー領域に書き込んでしまうという脆弱性です。攻撃者はこの脆弱性を悪用して、攻撃コードを含むデータを送り付けて、アプリケーションに想定外の動きをさせます。複数の報道機関が、GHOSTによって「サーバーが乗っ取られる可能性がある」「危険性が高い」などと報じたのは、このためでした。
緊急で対応する必要はなかった
しかし実際のところ、この脆弱性を突いてサーバーを乗っ取るような深刻な被害を引き起こすのは難しかったと私は考えます。その理由は、2つあります。
1つめは、GHOSTの影響を確認できたアプリケーションが当時、Eximというメールサーバー▼しかなかった点。もう1つは、報告された内容では攻撃者が攻撃コードを送り込んでコントロールできる領域が32ビット版OSで4バイトのみ、64ビット版OSでも8バイトしかなかった点です(図1)。領域がこれだけ小さいと、攻撃者ができることはかなり限られます。このことは、クォリスの最初のレポートで明らかでした(図2)。脆弱性であるため放置はできないものの、緊急で対応する必要はなかったと思います。