#author("2022-09-19T14:35:20+09:00","default:k1rou","k1rou") #author("2023-03-02T23:04:15+09:00","default:k1rou","k1rou") *BOF攻撃 とは [#f4126b99] **名称 [#z3ad5b45] -Buffer Over Flow攻撃 -バッファオーバーフロー攻撃 **概要 [#t9f18d3f] -C言語、[[C++]]言語で開発したプログラムのバグが原因の[[脆弱性]]に対する攻撃 --引数のサイズをチェックしない関数で発生する --対策が必要な関数と対策は「[[C++]]」参照 -BOF攻撃により、攻撃を受けたコンピュータ上に不正なデータが書き込まれ、それがプログラムのの場合は不正なプログラムが実行されてroot権限の取得などが行われる --不正なプログラムは、攻撃対象のサービスと同じ権限で実行される --権限の乗っ取り --権限昇格 *BOF攻撃の種類 [#g15a02fb] **return-to-libc [#a9c0ffa9] -メモリ上にロードされているlibc ランタイムを呼び出す攻撃 -[[DEP]]による防止機能を回避するBOF攻撃手法 **[[Use-After-Free]] を悪用したBOF攻撃 [#w4d59a9c] -解放済のメモリーを使って任意のコードが実行される[[脆弱性]]を狙った攻撃 **整数オーバーフロー攻撃 [#ea769769] -整数オーバーフローの[[脆弱性]]を狙った攻撃 **[[setuid]]/[[setgid]]属性を狙った攻撃 [#t2dbd3b9] -所有者がroot、setuid属性やsetgid属性が設定されたプログラムにBOFを発生させてroot権限を取得する -所有者がroot、[[setuid]]属性や[[setgid]]属性が設定されたプログラムにBOFを発生させてroot権限を取得する *BOF攻撃の対策 [#fb551825] **BOF攻撃を防止する機能(WindowsなどのOSに実装されている機能) [#q8cfd30e] -[[DEP]] --Data Execution Prevention --データ実行防止機能 --指定されたメモリ領域での処理実行を禁止する -[[ASLR]] --Address Space Layout Randomization --アドレス空間配置ランダム化 --return-to-libc によるBOF攻撃の成立を抑止する技術・仕組み -[[PIE]] --Position Independent Executable --ASLRによるアドレス空間に加え、テキスト領域のアドレスもランダム化する技術 *関連用語 [#xbfb6e09] -[[脆弱性]] -[[DoS攻撃]] -[[スタック]]