SO ハードニング前に JNI と ABI をマッピングする理由
ELF 依存関係、JNI 登録、ロード順序、NDK API レベル、および ABI アーティファクトマトリックスを分析して SO の保護範囲を定義し、ハードニング後の起動失敗や互換性問題を最小限に抑えます。
Yudun は、SO、JNI、ダイナミック ライブラリの依存関係、貴重なネイティブ関数を中心に保護を設計し、各ターゲット ABI での読み込み、起動、実際の呼び出しを検証します。
すべてのパスを覆うことなく、貴重なネイティブ関数、シンボル、文字列、定数の保護を選択します。
登録、依存関係、ロード順序、サードパーティ SDK を確認して、保護後も呼び出しを検証できるようにします。
各ターゲット アーキテクチャでインストール、起動、ライブラリのロード、および重要な JNI フローをテストします。
Yudun S21-R43 評価では、ファイル名だけでネイティブ保護を判断するのではなく、リリース構造とデバッグ ランタイム スモーク テストの両方をレビューしました。
ネイティブ評価を見る範囲: 結果は、完全なデバイス、ABI、またはパフォーマンス マトリックスではなく、この候補と実行されたスモーク スコープをカバーします。
ライブラリ、JNI エントリ ポイント、ターゲット ABI、依存関係、および貴重な関数を提供します。
値、関数呼び出し頻度、読み込み制約に関する SO および VMP 保護を構成します。
ターゲット ABI および OS バージョンで実際のパスを実行し、障害を記録し、ロールバック構成を保持します。
ELF 依存関係、JNI 登録、ロード順序、NDK API レベル、および ABI アーティファクトマトリックスを分析して SO の保護範囲を定義し、ハードニング後の起動失敗や互換性問題を最小限に抑えます。
はい。登録、シンボルの可視性、ロード順序、サードパーティの依存関係は、すべてのターゲット アーキテクチャで検証する必要があります。
いいえ、1 クラスの手がかりが削除されます。文字列、定数、制御フロー、読み込み、および実行時マテリアルは、依然として別個の関心事です。
ABI は、命令、リンク、依存関係が異なります。別のアーキテクチャからの結果では互換性を確立できません。
明確な入力、出力、独立した回帰パスを使用して、貴重なネイティブ関数を優先します。初期化パスや頻繁に実行されるパスを包括的にカバーすることは避けてください。
ネイティブ アーキテクチャ、ABI パッケージング、および互換性
Android アプリケーションのセキュリティ設計とリリースの境界
モバイルアプリケーションのセキュリティ管理と検証範囲
ID の署名、アップグレードの継続性、リリースの整合性
サーバー側の決定とアプリケーション整合性信号の制限