タグ

buffer-overflowに関するnabinnoのブックマーク (2)

  • バッファオーバーフロー - Wikipedia

    バッファオーバーフロー(英: buffer overflow)またはバッファオーバーラン(英: buffer overrun)は、コンピュータのプログラムにおけるバグのひとつ、またはそれにより引き起こされる現象で、プログラムがバッファに割り当てられた空間よりも大きなデータを書き込むことで、データがバッファ境界からあふれ、バッファの範囲外のメモリを上書きし、元々そのメモリにあったデータを破壊してしまうことを指す。 バッファオーバーフローは、上書きされるメモリ領域がスタック領域なのかヒープ領域なのかに応じてそれぞれスタックベースのバッファオーバーフロー、ヒープベースのバッファオーバーフローと呼ばれる。なお、名称が似ているスタックオーバーフローとは別の現象である。 サイバーセキュリティ・情報セキュリティの分野では、バッファオーバーフローはメモリ破壊系の脆弱性の一つとして知られ[1]、攻撃者がバッ

  • IPA ISEC セキュア・プログラミング講座:C/C++言語編 第10章 著名な脆弱性対策:整数オーバーフロー攻撃対策

    C言語やC++においては、整数演算がオーバーフローを起こしたり、ビット幅の少ない変数への代入によって上位ビットが失われても処理系がそれを誤りとして検出しないことが多い。このことが、整数オーバーフロー問題を起こりやすくしている。 整数オーバーフロー攻撃は、二進数の整数演算結果が予定外の値を生むケースを悪用し、侵入コードの送り込みと実行をもくろむものである。 この攻撃が成立すると、任意のマシンコードが実行され、最悪の場合攻撃者にコンピュータの管理者権限を取得される。軽くても、標的プログラムがサービス不能状態に陥ることが考えられる。 攻撃のメカニズムはつぎのようなものである──攻撃者はデータ配置のオフセットや転記データ長として、予定外の符号の値あるいは範囲を超えた値を生じさせるよう整数演算を誘導し、それを利用してメモリ上に攻撃コードを送り込む。それとともに関数の戻りアド レスやプログラムが使って

  • 1