「バッファオーバーフロー攻撃」を知る【前編】
知っておきたい「バッファオーバーフロー攻撃」とは? 主要な4種を紹介
メモリに許容量以上のデータを送り込む「バッファオーバーフロー攻撃」にはさまざまな種類がある。主要な4種類について、それぞれの特徴と攻撃手法について説明する。
「バッファオーバーフロー攻撃」とは、プログラムやプロセスの処理対象データを一時的に保持する固定長のメモリ領域「バッファ」に、許容量より多くのデータを書き込む攻撃のことだ。攻撃者は外部端末やプロセスから入力を受け取るプログラムを利用して、バッファオーバーフロー攻撃を引き起こし、プログラムの制御やクラッシュ、変更を可能にする。
アプリケーションベンダーはさまざまなパッチを提供して、バッファオーバーフロー攻撃に対処してきた。だが企業が社内で開発したアプリケーションはどうだろうか。自社開発のアプリケーションも、商用アプリケーションと同様にバッファオーバーフロー攻撃を受ける可能性がある。バッファオーバーフロー攻撃の仕組みを理解し、自社開発のアプリケーションの導入前に脆弱(ぜいじゃく)性テストを実行することが重要だ。
バッファオーバーフロー攻撃の種類
バッファオーバーフロー攻撃は、プログラムやプロセスが使用するメモリ内でのバッファの位置に応じて、以下の4種類を利用した攻撃に分類できる。
スタック
「スタック」とは、関数呼び出しに関するデータを格納するための、連続するメモリ領域だ。具体的には関数パラメータやローカル変数の他に、スタックフレーム(呼び出したデータの集合)やスタックポインタ(データの格納場所を示す情報)などスタックを操作するための管理情報も格納する。スタックベースのバッファオーバーフロー攻撃は、プログラムやプロセスを悪用して、入力情報をスタックに不正に格納する。
ヒープ
「ヒープ」は、動的に確保可能なメモリ領域を指す。開発者はコンパイル時、サイズ不明のメモリを確保するためにヒープを使用することがある。メモリがスタックに収まらないほど大きかったり、メモリを複数の関数呼び出しにまたがって使用したりする場合がこれに当たる。ヒープベースのバッファオーバーフロー攻撃は、プログラムやプロセス用に確保していたメモリ領域を溢れさせる。ただし、この攻撃は実行するのが難しく、あまり見かけなくなっている。
整数
算術演算に整数を使用し、システムで表現できる整数の最大サイズを上回る計算結果となった場合に起きるエラーを悪用したバッファオーバーフロー攻撃がある。ほとんどのプログラミング言語は整数の最大サイズを定めている。このサイズを上回ると、整数長の制限内に丸めて、誤った結果を返すことがある。
Unicode
全ての入力が「ASCII」(American Standard Code for Information Interchange)文字であることを想定しているプログラムを狙ったバッファオーバーフロー攻撃がある。ASCII文字は半角英数字や記号などを含む128文字の文字セットだ。攻撃者はそこに含まれないギリシャ文字や漢字などの「Unicode」文字を使用することで、バッファオーバーフロー攻撃を成立させる。
後編は、バッファオーバーフロー攻撃の仕組みと対策について説明する。
Copyright © ITmedia, Inc. All Rights Reserved.
「バッファオーバーフロー攻撃」を知る
「バッファオーバーフロー攻撃」を受けると、プログラムやプロセスの制御を攻撃者に奪われる恐れがある。本連載はバッファオーバーフロー攻撃の仕組みと対策について説明する。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
3
クラウド資格コレクターは評価されない? 年収1000万を分ける“OSの理解度”
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
高額な「AI PC」を一般従業員も使えたら? 費用のハードルを一気に下げる方法
-
6
「コピペ運用の限界」に直面するAI活用 7割超が“別画面”のまま使う理由は?
-
7
LLMの「過学習」、正しく説明している文章はどれ?
-
8
「AIバブル」は崩壊するのか? 熱狂の後に来る“尻拭い”と4つの防衛策
-
9
2035年までに1億4500万台、急拡大する「フィジカルAI」市場の勝者は誰か
-
10
IT調達担当者が知るべき「IT機器 大インフレ時代の前向きな選択肢」
ホワイトペーパーランキング PR
-
1
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
4
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
5
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
6
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
7
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
8
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
9
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー