いまさら聞けない「バッファオーバーフロー攻撃」とは? 仕組みと対策を解説「バッファオーバーフロー攻撃」を知る【後編】

「バッファオーバーフロー攻撃」はシステムの一時的な記憶領域を狙った攻撃だ。その具体的な攻撃手法と対策を紹介する。

2019年08月29日 05時00分 公開
[Brien Posey, Madelyn BaconTechTarget]
画像

 前編「知っておきたい『バッファオーバーフロー攻撃』とは? 主要な4種を紹介」は、一時的な記憶領域の「バッファ」を溢れさせて、プログラムの制御やクラッシュ、変更を可能にする「バッファオーバーフロー攻撃」の主要な4種類を解説した。後編は、バッファオーバーフロー攻撃の概要と、その対策方法を紹介する。

バッファオーバーフロー攻撃の仕組み

 バッファオーバーフロー攻撃で最も一般的なのは、関数呼び出しに利用する記憶領域「スタック」を狙った攻撃だ。通常、関数の集合体であるプログラムがユーザー名やパスワードなどの入力をユーザーに要求するまで、スタックは空の状態になっている。入力を受け付けた時点で、プログラムは戻り先のアドレスをスタックに書き込み、ユーザーの入力をその上に格納する。スタック内に格納されたコマンドを実行すると、プログラムが指定した戻り先のアドレスにユーザーの入力を送る。

 スタックのサイズは有限だ。開発者は、具体的な大きさを指定してスタック用の領域を確保しなければならない。ユーザーの入力が、入力用に確保したスタック領域の大きさを上回った場合、その入力が適切かどうかをプログラムが確認しなければ、スタックはオーバーフローする。それ自体はそれほど大きな問題ではないが、悪意のある入力と組み合わさると非常に大きなセキュリティホールになる。

 続いて攻撃者は、悪意のあるプログラム内の関数が出すコマンドを格納するアドレスを、戻り先のアドレスとして指定する。スタックがオーバーフローして部分的に破壊されたプログラムは、戻り先のアドレスに帰ってプログラムを回復しようと試みる。このとき意図したコマンドをシステムに実行させるよう、攻撃者は戻り先のアドレスを変更する。そのために攻撃者は悪意のあるコマンドが配置されるアドレスを把握しなければならない。実アドレスを特定しなくていいようにするために、攻撃者は「NOP」(何もしない)コマンドを悪意のあるコマンドの前後に挿入する。これは正確なメモリ範囲が分からないときに使われる手法だ。そうすることで、攻撃者が指定したアドレスがNOPコマンドで埋めた範囲のどこかにあれば、その悪意のあるコマンドが実行されるようになる。

 最後は、実行可能なプログラムの権限を回避する。たいていのOSには、現在ログインしているユーザーのアクセスレベルを制御する仕組みがある。通常、プログラムの実行には高度な権限が必要なため、これらのプログラムは上位の権限を持つ「カーネルモード」で実行されることが一般的だ。

 スタックベースのバッファオーバーフロー攻撃により、新たな戻り先のアドレスにあるコマンドが実行されると、プログラムは自身の実行が続いていると誤認識する。攻撃者がコマンドによってシステムを不正に操作するため、標的のアプリケーションを通じて立ち上げたコマンド実行ウィンドウは、侵害されたアプリケーションと同じ権限を持ったまま実行される。一般に、この状態は「攻撃者がOSを完全に制御した」ことを意味する場合が多い。

バッファオーバーフロー攻撃からの防御方法

会員登録(無料)が必要です

Copyright © ITmedia, Inc. All Rights Reserved.

隴�スー騾ケツ€郢晏ク厥。郢ァ�、郢晏現�ス郢晢スシ郢昜サ」�ス

市場調査・トレンド ラピッドセブン・ジャパン株式会社

「検知と対応に関する調査」から見えてきた、各組織のサイバー脅威への取り組み

脅威の検知と迅速な対応は、セキュリティ戦略の中核をなす重要な機能だ。これを実現するために、多くの組織が自動化ツールやAIなどの技術を採用しているが、成果を挙げている組織もあれば、そうでない組織もあり、明暗が分かれている。

市場調査・トレンド ラピッドセブン・ジャパン株式会社

セキュリティ製品の乱立を解消し、ベンダーを統合すべき理由とは?

近年、多くの組織が多数のセキュリティ製品をパッチワーク的に導入している。その結果、運用が複雑化し、非効率な状況が生まれてしまった。このような状況を改善するためには、セキュリティベンダーを統合することが必要だ。

製品資料 フォーティネットジャパン合同会社

費用対効果の高いセキュリティ製品をどう見極める? 5つの組織の例に学ぶ

データセンターにおいて、NGFWやマルウェア対策といったセキュリティ製品の導入は不可欠だが、選定を誤ると非効率な運用プロセスや高いコストに悩まされることとなる。5つの組織の例から、費用対効果の高い製品を見極めるコツを探る。

製品レビュー サイオステクノロジー株式会社

マンガで分かる:クラウドシステムの障害対策でユーザーが考慮すべきポイント

ダウンタイムが許されない基幹系システムやデータベースをクラウドに展開している場合、システムの障害対策をベンダー任せにすることは危険だ。本資料では、その理由を解説するとともに、クラウドの障害対策を実施する方法を紹介する。

製品資料 Absolute Software株式会社

サイバーレジリエンスがなぜ今重要? 調査で知るエンドポイントの3大リスク

エンドポイントがサイバー攻撃の対象となるケースも増えている今、企業にはどのような対策が必要なのか。2024年に実施された調査の結果を基に、3つの重大なリスク要因と、その解決策としてサイバーレジリエンスが重要な理由を解説する。

郢晏生ホヲ郢敖€郢晢スシ郢ァ�ウ郢晢スウ郢晢ソスホヲ郢晢ソスPR

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

繧「繧ッ繧サ繧ケ繝ゥ繝ウ繧ュ繝ウ繧ー

2025/05/14 UPDATE

  1. 窶懆、�尅縺ェ繝代せ繝ッ繝シ繝俄€昴h繧翫€後ヱ繧ケ繝輔Ξ繝シ繧コ縲阪r蟆る摩螳カ縺悟匡繧√k逅�罰
  2. 繝ゥ繝ウ繧オ繝�繧ヲ繧ァ繧「髮�屮Black Basta縺ョ莨夊ゥア縺梧オ∝�縲€譏弱i縺九↓縺ェ縺」縺滓判謦�€��窶懈悽髻ウ窶�
  3. IPA縲梧ュ蝣ア繧サ繧ュ繝・繝ェ繝�ぅ10螟ァ閼�ィ√€阪r蜊倥↑繧九Λ繝ウ繧ュ繝ウ繧ー縺ァ邨ゅo繧峨○縺ェ縺�婿豕�
  4. 繝ゥ繝ウ繧オ繝�繧ヲ繧ァ繧「縺ォ謔ェ逕ィ縺輔l縺溪€弩indows縺ョ遨エ窶昴→縺ッ�溘€€繝代ャ繝√〒逶エ繧峨↑縺�ф蠑ア諤ァ繧�
  5. 譌・譛ャ縺ァ繧ょッセ遲悶′驕�l繧九€後≠縺ョ萓オ蜈・邨瑚キッ縲阪′諤・蠅冷€補€墓判謦�げ繝ォ繝シ繝励�豢サ蜍募ョ滓�
  6. 繝ゥ繝ウ繧オ繝�繧ヲ繧ァ繧「縺ョ蜊頑焚莉・荳翫′窶懊≠縺ョ萓オ蜈・邨瑚キッ窶昴r謔ェ逕ィ窶補€戊ヲ矩℃縺斐&繧後◆繝ェ繧ケ繧ッ縺ィ縺ッ��
  7. 蟆主�貂医∩縺ョ縲郡ASE縲崎ヲ狗峩縺励b�溘€€繝阪ャ繝医Ρ繝シ繧ッ繧サ繧ュ繝・繝ェ繝�ぅ縺ョ窶�3螟ァ蜍募髄窶�
  8. 縺ゥ繧後□縺代〒縺阪※縺�k�溘€€縺セ縺輔°縺ョ縲後ョ繝シ繧ソ豬∝�縲阪r髦イ縺絶€�11蛟九�隕∫せ窶�
  9. 菫。鬆シ縺励※縺�◆Web繧オ繧、繝医′縺セ縺輔°縺ョ諢滓沒貅撰シ溘€€縲梧ーエ鬟イ縺ソ蝣エ蝙区判謦�€阪�謇句哨縺ィ縺ッ
  10. 縲瑚コォ莉」驥代r謾ッ謇輔≧縲堺サ・螟悶�繝ゥ繝ウ繧オ繝�繧ヲ繧ァ繧「蟇セ遲悶�譛ャ蠖薙↓縺ゅk縺ョ縺具シ�

いまさら聞けない「バッファオーバーフロー攻撃」とは? 仕組みと対策を解説:「バッファオーバーフロー攻撃」を知る【後編】 - TechTargetジャパン セキュリティ 隴�スー騾ケツ€髫ェ蛟�スコ�ス

ITmedia マーケティング新着記事

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...

news025.png

「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。

news014.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。