整数オーバーフローとアンダーフローの脆弱性

整数オーバーフローとアンダーフローの概要

整数オーバーフローとアンダーフローの脆弱性は、2019年のCommon Weakness Enumeration(CWE)Top25リストの中で8番目に危険な脆弱性と考えられています。 これらの種類の脆弱性は、変数型の誤用によって作成され、バッファオーバーフローなどの他の種類の脆弱性に対する保護をバイパスするために悪用され

変数の型とサイズ

すべてのプログラミング言語は、異なる型の変数の概念を持っています。 テキストデータを含むことができる文字は、整数や浮動小数点数とは大きく異なります。 しかし、これらの一般的な型を超えて、変数間の追加の区別があり、これらの区別は整数オーバーフローとアンダーフローの脆弱性を可能にするものです。

ほとんどのプログラミング言語は符号付き整数と符号なし整数の概念を持っています。 符号付き整数(名前が示すように)には符号があり、正と負の両方の値を格納できます。 一方、符号なし変数には正の数しか格納できません。

上の画像に示すように、与えられたサイズの符号付き変数と符号なし変数は、コンピュータのメモリに同じように書き込まれます。 唯一の違いは、値がどのように解釈されるかです。 符号付きの値では、先頭の1つは負の数を意味し、符号なしの値では、最初の場所の1つは大きな数を意味します。

異なる”整数”変数型の他の主な違いは、それらに含めることができる値のサイズです。 プログラミング言語には、short、integer、long、beyondの概念があり、それぞれがその変数に割り当てられたメモリ空間のサイズと、それに含めることができる値の範囲

整数オーバーフローとアンダーフロー

整数オーバーフローとアンダーフローの脆弱性は、符号付き変数と符号なし変数と、異なるサイズの整数変数型の間の安全でな 一般的に、これらの異なるタイプの間で変換することが許可されており、多くの場合、(続きを読む。..)

コメントを残す

メールアドレスが公開されることはありません。