セキュリティの論点

Linuxに潜む脆弱性「GHOST」とは何だったのか

中山貴禎(ネットエージェント) 2015年03月14日 07時00分

  • このエントリーをはてなブックマークに追加

 1月27日、米国のセキュリティ企業であるQualys(クォリス)から、Linuxで一般的な標準Cライブラリ「glibc(GNU C Library)」に重大な脆弱性が存在することを確認した、という発表がありました。まだ記憶にも新しいこの脆弱性(CVE-2015-0253)は通称「GHOST」と名付けられましたが、今回はこの件に関して説明します。

 GHOSTは、glibcの関数「gethostbyname*()」を呼び出すことで引き起こされるバッファオーバーフロー(Buffer Overflow)の脆弱性です。これが利用されると、オペレーティングシステム(OS)としてLinuxを搭載するクライアントやサーバなどのマシン上で任意のコードを実行することが可能になったり、それを利用して最終的にはマシンを乗っ取ることが可能となったりするかもしれない、というものです。

 バッファオーバーフローというのは代表的な脆弱性の一つですが、確保したメモリ領域を超えてデータが入力された場合に、データがあふれてしまう現象を起こす脆弱性を指します。まずはとても大ざっぱに解説します。

バッファオーバーフローとは

 プログラムが主に「一時的に利用するデータ」を格納するための領域のうち、コンパイラやOSがメモリ上に割り当てる領域「スタック」には、複数の文字情報を格納するためのバッファ領域があり、他にも子関数から親関数に戻るためのメモリアドレス(戻りアドレス、リターンアドレス)などが保持されます。

 もし、リクエストされた文字データがスタック上のバッファ領域よりも大きかったら、どうなるでしょうか。


 この文字データをバッファ領域にコピーさせようとした場合、バッファ領域より入力しようとしている文字データの方が大きいので、通常であればプログラムが単にエラーメッセージを返せばいいだけですが、


 サイズのチェックを行わずにコピーを実行する(脆弱性)関数を用いている場合など、上記のようにバッファがあふれ(これをバッファオーバーランと言います)、戻りアドレスが文字データで上書きされてしまって親関数に戻れなくなり、プログラムが誤作動を起こすことがあります。これがバッファオーバーフローという現象です。

 そして、この脆弱性を利用することで、


 上のようなデータをバッファ領域にコピーさせると、


 スタックの中身が上書きされ、本来の戻りアドレスを悪意あるコードが存在するアドレスに置き換えられたことによって、CPUはこのアドレスを参照して悪意のあるコードを実行してしまいます。かなり大ざっぱですが、これが“バッファオーバーフロー攻撃”です。

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

  • このエントリーをはてなブックマークに追加

この記事を読んだ方に

関連ホワイトペーパー

連載

CIO
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
セキュリティの論点
スペシャル
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft WPC
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell Technologies World
AWS re:Invent
AWS Summit
PTC LiveWorx
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]