問題タブ [aslr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aslr - ASLR を使用したチェックサム ジェネレーター
私はここの初心者です。Windows タスク マネージャーの PID を、Visual Studio 2010 の動的ベース ASLR によって生成されたチェックサム/ハッシュ値と一致させたいですか? Visual Studio 2010 で ASLR を既に有効にしましたが、データが受信されません。方法はありますか?
手がかり:
- Windows 関数
CreateToolhelp32Snapshot
MODULEENTRY32
- Windows 関数
OpenProcess
とても感謝しています。
ギグジー
delphi - C++ Builder で安全な例外処理を有効にする
Windows 8 アプリケーションの認定には、(特に) 次の要件があります。
- 3.2
/SafeSEH
安全な例外処理を保証するために、フラグを使用してアプリをコンパイルする必要があります - 3.3
/NXCOMPAT
データの実行を防ぐために、フラグを使用してアプリをコンパイルする必要があります - 3.4 アプリは
/DYNAMICBASE
、アドレス空間レイアウトのランダム化 (ASLR) のフラグを使用してコンパイルする必要があります
C++Builder XE でこれらのいずれかを有効にする方法を見つけることができませんでした。
/NXCOMPAT
とについては、VS またはCygwin から/DYNAMICBASE
使用できます。これらを有効にするネイティブな方法があれば、副作用の可能性についてもっと自信を持っていると思います.editbin.exe
peflags.exe
とにかく、私は完全に途方に暮れてい/SafeSEH
ます。
linux - 自分だけのアドレス空間レイアウトのランダム化を無効にして再度有効にする
システム (Ubuntu Gnu/Linux 2.6.32-41-server) でアドレス空間レイアウトのランダム化 (ASLR) を無効にしたいのですが、
この変更は、システム上のすべてのユーザーに影響を与えると思います。(これは本当ですか?) ASLR を無効にした場合の影響を、ユーザーとしての自分だけ、または無効にするコマンドを呼び出したシェル セッションだけに制限するにはどうすればよいですか?
ところで、私のシステムの現在の(デフォルト)設定は
なぜ 1 や 3 ではなく 2 なのか? /proc/sys 設定の数値、その範囲、およびその意味に関するドキュメントはどこにありますか? ありがとう!
stack - スタックランダム化とは何ですか?それはどのようにしてバッファオーバーフロー攻撃を防ぎますか?
私は本から、システムを攻撃するエクスプロイトコードを注入する方法としてバッファオーバーフローが使用される可能性があることを読みました。そして、スタックのランダム化は、そのような攻撃を防ぐための効果的な方法の1つです。
スタックのランダム化とは何か、そしてそれがどのようにそれらの攻撃を防ぐのか理解できませんか?
linux - スタックをページに揃える必要があるのはなぜですか?
Linux で、カーネル ソースを process.c で変更して、より多くのエントロピーを持つスタック アドレスを作成しようとしました (特に次の行)。
これを変更しすぎると、カーネルが停止するか、未定義のように見える動作が発生します。これにより PAGE_ALIGN() が何らかの形で失敗すると思いますか? 特に PAGE_ALIGN() が失敗する理由や、失敗するカーネル内のコードの正確な部分にはあまり興味がありません (ただし、それも知っておくとよいでしょう)。スタックが特定の地域に存在しなければならない理由にもっと興味があります。この背後にあるアーキテクチャ上の理由と動機は何ですか? これは、GDT/LDT がプロテクト モードでどのように動作するかに関係がありますか?
私が求めていることを明確にするために:
スタックの形式が 0xbfXXXXXX (32 ビット) でなければならないのはなぜですか? スタックを 0xaaXXXXXX やその他の値にすることができないのはなぜですか?
c - LinuxでのASLRの制限
process.cのarch_align_stack()を変更して、モジュロの2番目の引数を次のように増やすことにより、自分のx8632ビットマシンでASLRを「改善」しようとしました。
しかし、これを改ざんしすぎるとカーネルパニックが発生することにすぐに気付きました。そして、それを少し改ざんしただけでもシステムが不安定になるのではないかと思います(運が良ければしばらくは存続するでしょう?)。
これにより、なぜこれが発生するのかについて質問するようになりました(スタックをページ揃えする必要があるのはなぜですか?)。どうやらこれは、(ユーザー "mpe"が述べたように)8 kiBの場合のデフォルトのスタックサイズ(8192バイト)が原因です。それで、拡張によってカーネルのスタックサイズを増やすことによって、この引数(8192)を増やすことができるはずですか?また、スタック自体の場所をランダム化できることも言及されました。
Paxはこれを行いますか?そうでない場合は、なぜですか?
カーネルで指定されているスタックサイズはどのように/どこにありますか?これは32ビットと64ビットで異なりますか?
これについて、32ビットと64ビットの間に違いはありますか?64ビットはまだこのようなものにprocess.cを使用していますか?process_64.cには、このコードに相当するものは何もないようです。
linux - PaX ASLR と Linux のデフォルト ASLR (64 ビット)
64 ビット x86 マシン向けの PaX の ASLR 実装は、Linux のデフォルトの 64 ビット ASLR 実装よりもはるかに強力です。私の質問は簡単です。PaX の実装がデフォルトのものではないのはなぜですか?
これは何らかの形で互換性の問題に関連していると思いますが、特定のプログラムの機能が壊れているのでしょうか? それとも、どういうわけか、何か他のものを壊しますか?
どのプログラム (誰かが知っている場合は例) が壊れますか? さらに興味深いのは、なぜそれらが壊れるのですか?
もう 1 つの可能性は、パフォーマンスの低下です。しかし、ソース コードを見ても、なぜ遅くなるのかわかりません。これについて私を自由に修正してください。私はそれが前者、互換性に関連していると仮定しています。
ios - monotouch アプリケーションで PIE/ASLR を有効にするにはどうすればよいですか?
XCodeビルド設定には、「位置に依存しない実行可能ファイルを作成しない」というオプションがあります。ここで有効にするのは簡単です。
ただし、MonoDevelop と MonoTouch を使用してアプリケーションを開発していますが、同等の設定が見つかりません。-fpie フラグをコンパイラに渡そうとしましたが、うまくいかないようです。otool を使用してコンパイルされたバイナリを調べると、PIE フラグが設定されていません。
助けてください。
linux - mmap()のエントロピーのASLRビット
x86システムでmmap()のASLRランダム化を研究しています。私は多くの場所で、mmap()でロードされたアドレスに16ビットのランダム化があることを読みました。
しかし、私が見つけたソースコードで:
つまり、それはわずか8ビットのランダム性になります。
しかし実際には、いくつかのテストを実行すると、次のアドレス(stack-heap-mmap)bf937000,09a60000、b774b000を取得します
bfa86000,090ef000、b76e2000
それがb77XX000とb76XX000である可能性がある場合、その16ビット以上です!!!!
これについて何か助けはありますか?
.net - C#プロジェクト(DynamicBase)からネイティブdllを読み込めません
Visual Studioで、clrライブラリをロードするC#実行可能ファイルを作成しました。これにより、64ビットのネイティブdllでloadlibraryが呼び出され、内部例外メッセージボックスが表示されます。実行可能ファイルをclrに変更し、exeプロジェクトで詳細オプションRandomized Base AddressをNo(/ DynamicBase:NO)に設定すると、正常にロードされます。ASLRを使用しないようにネイティブの.netexeを取得するにはどうすればよいですか?さらに、このシナリオをIISで機能させるにはどうすればよいですか?-ありがとう