MonoTouchは実際のアプリ内でdllを使用しているため、このアプローチはどの程度安全ですか?たとえば、誰かがMono.Security.dllを使用している場合、そのdllを、メソッドを実装してアプリにコードインジェクション攻撃を実行するdllと交換することはできませんか?
1179 次
1 に答える
10
このアプローチはどれほど安全ですか?
私が知っている既存のものと同じくらい:-)
誰かがそのdllを交換できませんでしたか
いいえ、いくつかの理由があります。
アプリケーション ファイルは変更できません。それはデジタル署名を壊し、iOS はそれを実行しません。それだけで MitM 攻撃が取り除かれます。
すべての .dllからのコードは、(AOT コンパイラによって) ネイティブ コードに既にコンパイルされており、メインの実行可能バイナリの一部です。新しい .dll を交換しても、実行されるコードは変更されません。
デバイスに展開された .dll は削除されます(リリース ビルド用)。内部に IL (コード) はありません。これは役に立たないためです (iOS では JIT を実行できません)。IL コード (デバッグ ビルドなど) を含む .dll を追加しても、実行されません (やはり JIT が必要になります)。
.dll が展開されるのはなぜですか? メタデータ用 (リフレクションを使用する場合など)
最後の注意: MonoTouch は、Objective-C と同じように、ネイティブの ARM 実行可能ファイルを生成します。
于 2012-05-24T16:28:01.243 に答える