このテストケースでは、アプリの ネイティブライブラリ が、メモリ破損攻撃に対する一般的な緩和技法である 位置独立コード (PIC) を有効にせずにコンパイルされているかどうかをチェックします。
Android 5.0 (API レベル 21) 以降、Android は すべてのダイナミックリンクされた実行可能ファイルが PIE をサポートすることarrow-up-right を必須としています。
Build System Maintainers Guide - Additional Required Argumentsarrow-up-right: API 21 以降、Android は位置非依存実行可能ファイルを必須としています。Clang はデフォルトで PIE 実行可能ファイルをビルドします。リンカーを直接呼び出す場合や Clang を使用しない場合は、リンク時に -pie を使用します。
-pie
アプリのコンテンツを抽出します (アプリパッケージの探索 (Exploring the App Package)arrow-up-right)。
各共有ライブラリで コンパイラが提供するセキュリティ機能の取得 (Obtaining Compiler Provided Security Features)arrow-up-right を実行し、"pic" または選択したツールで使用される対応するキーワードを grep で検索します。
出力には PIC が有効か無効かをリストする可能性があります。
PIC が無効になっている場合、そのテストケースは不合格です。
Last updated 1 month ago