MASTG-TEST-0073 UIPasteboard のテスト (Testing UIPasteboard)

概要

静的解析

システム全体の汎用ペーストボードgeneralPasteboardarrow-up-right を使用して取得できます。このメソッドについてソースコードやコンパイル済みバイナリを検索します。機密データを扱う場合、システム全体の汎用ペーストボードの使用は避けるべきです。

カスタムペーストボードpasteboardWithName:create:arrow-up-right または pasteboardWithUniqueNamearrow-up-right で作成できます。カスタムペーストボードが永続的に設定されているかどうかを検証します。これは iOS 10 以降非推奨であるためです。代わりに共有コンテナを使用する必要があります。

さらに、以下を検査できます。

  • ペーストボードが removePasteboardWithName:arrow-up-right で削除されているかどうかをチェックします。これはアプリのペーストボードを無効にし、それで使用されているすべてのリソースを解放します (汎用ペーストボードには影響しません)。

  • 除外されているペーストボードがあるかどうかをチェックします。UIPasteboardOptionLocalOnly オプションを指定して setItems:options: を呼び出す必要があります。

  • 期限切れのペーストボードがあるかどうかをチェックします。UIPasteboardOptionExpirationDate オプションを指定して setItems:options: を呼び出す必要があります。

  • バックグラウンドに移行するとき、または終了するときに、アプリがペーストボードアイテムをクリアしているかどうかをチェックします。これは機密データ露出を制限しようとする一部のパスワードマネージャアプリによって行われます。

動的解析

ペーストボードの使用を検出する

以下をフックまたはトレースします。

  • システム全体の汎用ペーストボードには generalPasteboard

  • カスタムペーストボードには pasteboardWithName:create: および pasteboardWithUniqueName

ペーストボードの永続的な使用を検出する

非推奨の setPersistent:arrow-up-right メソッドをフックまたはトレースし、それが呼び出されているかどうかを検証します。

ペーストボードアイテムの監視と検査

実行時にペーストボードアイテムを監視および検査するには、ペーストボードの監視 (Monitoring the Pasteboard)arrow-up-right の手順に従います。

Last updated