情報処理安全確保支援士の試験合格を目指し、毎週略語に重点を置いて取り上げます。
それでは、学習スタートです!
■BOF(Buffer OverFlow)攻撃
CやC++言語で開発されたOSやアプリケーションプログラムの入力データの処理に関するバグを突いてコンピュータのメモリに不正なデータを書き込み、システムへの侵入や管理者権限の取得を試みる攻撃方法。
BOF攻撃の種類として、スタック領域、ヒープ領域、静的メモリ領域で行われるものがある。
■LIFO(Last In First Out)
後入れ先出し方式。
スタックで使われるデータ格納方式。
■DEP(Data Execution Prevention)
指定されたメモリ領域でのコードの実行を禁止する機能。
BOF攻撃を防止するため導入されたが、return-to-libcと呼ばれる、攻撃者がメモリ上にロードされたlibc共有ライブラリの特定の関数を呼び出すようにリターンアドレスと引数を書き換えることでBOF攻撃を成立させる方式が登場したため、DEPのみではBOF攻撃の完全な対策とはなりえない。
■ASLR(Address Space Layout Randomization)
アドレス空間配置ランダム化。
アドレス空間における実行ファイル、ライブラリ、スタック、ヒープなどの配置をランダムにする技術。これによりリターンアドレスが特定されるのを抑制する効果があり、BOF攻撃を成功させづらくなる。
■PIE(Position Independent Executable)
ASLRが対象とする領域に加え、テキスト領域のアドレスもランダム化することができる技術。