タグ

c++と32bitに関するgologo13のブックマーク (1)

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

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

  • 1