データ実行防止にもかかわらず、ランダムコード実行

データ実行防止にもかかわらず、ランダムコード実行

今日でも同様の保護装置が存在する。幅^ X、バッファオーバーフローをうまく利用することはまだ可能ですか?NOPスライド

ベストアンサー1

バッファオーバーフローの悪用の可能性は、周囲のコードによって大きく異なります。たとえば、スタックカナリアなどの他の緩和技術はありますか?ただし、DEP/W^X のみを検討している場合は、通常、それを悪用する可能性があります。

これを利用する方法は、主にバッファオーバーフローの種類によって異なります。 NOPスライドの使用に関する言及を見ると、簡単スタックベースのバッファオーバーフロー。この場合、次のようなものを使用できます。リターン指向プログラミング(ROP)またはジャンプ指向プログラミング(JOP)。これらの技術は、実行可能とマークされたメモリ部分に存在するコードを再利用する。したがって、実行可能で書き込み可能とマークされたメモリは不要です。

これらのコード再利用攻撃を軽減する1つの技術は次のとおりです。制御フロー整合性(CFI)調べる。この緩和は、コードが既知の「良好な」パスを介してのみ流れるようにしようとします。近年、これは次の会社のコンパイラのサポートなど、より多くの主流のサポートを受け始めました。クラン/llvm

おすすめ記事