MASTG-TEST-0222 位置独立コード (PIC) が有効でない (Position Independent Code (PIC) Not Enabled)

概要

このテストケースでは、アプリの ネイティブライブラリ が、メモリ破損攻撃に対する一般的な緩和技法である 位置独立コード (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 を使用します。

手順

  1. アプリのコンテンツを抽出します (アプリパッケージの探索 (Exploring the App Package)arrow-up-right)。

  2. 各共有ライブラリで コンパイラが提供するセキュリティ機能の取得 (Obtaining Compiler Provided Security Features)arrow-up-right を実行し、"pic" または選択したツールで使用される対応するキーワードを grep で検索します。

結果

出力には PIC が有効か無効かをリストする可能性があります。

評価

PIC が無効になっている場合、そのテストケースは不合格です。

Last updated

Was this helpful?