PreEmptive Protection - DashO v8.2 User Guide

チェックの概要

チェックは、既存のメソッドに差し込まれた特定の条件を調べるコード部分です。 その条件がトリガーされた場合(つまり、true と判断された場合)に、アプリケーションが対応するさまざまな方法を構成できます。

PreEmptive Protection - DashO では、次のチェックを使ってアプリケーションをインストルメントすることができます。

  • デバッグ - アプリケーションがデバッグされているか、あるいはデバッグを許可するように設定されているか。
  • ルート - ルート化されたデバイスでアプリケーションが実行されているか。
  • Shelf Life - このアプリケーションは有効期限が切れているか(あるいは、間もなく切れるか)。
  • 改ざん - アプリケーションは改ざんされているか。

Shelf Life を除き、さまざまなチェックやレスポンスはすべて同じように動作します。 チェックはさまざまな方法で、直ちに、あるいは後で別のレスポンスを介して対応することができます。 また、メッセージを PreEmptive Analytics サーバーへ送信することもできます。これらのチェックとレスポンスの構成は、Injection UI パネルを使って、またはコード アノテーションを追加することにより行えます。 Shelf Life には個別のレスポンスはありません。

ページの内容

チェック

チェックが実行されているとき、任意でカスタム動作を実行できます。

  • メソッドを呼び出すか、またはフィールドを設定する。単一の boolean を取るメソッドを呼び出すか、または boolean 型のフィールドを設定することによって、チェックの状態をアプリケーションに渡し返すことができます。チェックがトリガーされた場合の boolean 値は true です。チェックがトリガーされていない場合は、false が使用されます。アプリケーションは、この情報に基づいて直ちに行動するか、あるいは後でレスポンスとやり取りするために格納しておくことができます。詳細については、ソースおよび操作の指定を参照してください。

メモ:Shelf Life は、boolean ではなく Token 引数を取るメソッドを必要とします。

チェックがトリガーされたら、さまざまな方法でそれに対応することができます。次のうちの一方または両方を選択できます。

  • メッセージを送信する。メッセージが PreEmptive Analytics サーバーへ送信されます。既定では、メッセージは送信されません。メッセージには、任意でカスタム データを含めることができ、オプトインの設定と関係なく送信されます。

メモ:アプリケーションが分析を使用しており、アプリケーションに ApplicationStart が含まれている場合は、これ以上の構成は必要ありません。チェックのみを使用している場合は、他のアノテーションを用いて会社とアプリケーションの ID を供給するか、または Injection Options パネルでそれらを提供する必要があります。Android アプリケーションにインストルメンテーションを差し込む場合の追加情報については、PreEmptive Analytics の概要を参照してください。

  • レスポンスを実行する。即時に実行できるレスポンスがいくつかあります。
    • exit - ランダムなゼロ以外のリターン コードを生成してアプリケーションを終了する。
    • hang - 現在のスレッドをハングさせる。
    • error - java.lang.Error の、ランダムに選択されたサブクラスをスローする。
    • exception - java.lang.Exception の、ランダムに選択されたチェックされていないサブクラスをスローする。
    • none - 何もしない(既定)。

メモ:リターン コードおよび Throwable の選択のランダム化は、チェックが差し込まれた時点で実行されます。エラーと例外は、その出所を隠すために、空のスタック トレースを伴ってスローされます。

Android では、exit はアクティビティ スタックの最上にある Activity のみを閉じます。スタックに Activity が 1 つしかない場合は、アプリケーションが閉じます。

これらのうち複数を選択すると、カスタム動作の前にメッセージが送信され、カスタム動作が呼び出されてから、レスポンスの動作が実行されます。これらのうちのどれも要求しない場合は、チェックは省かれ、DashO が警告メッセージを生成します。

アプリケーションには、さまざまな用途のチェックをさまざまな構成で含めることができます。複数のチェックを使用したり、レスポンスを混合したりすることにより、アタッカーの侵入を妨げられるでしょう。

メモ:チェックの多くは、リフレクションを使用するコードを差し込むため、チェックをさらに隠すために文字列の暗号化を有効にすることをお勧めします。

レスポンス

チェックとレスポンスを分離すると、アタッカーにとってより困難になります。複数の異なるレスポンスをアプリケーション中に散在させることで、アプリケーションの困難さが増します。それらのレスポンスが場合によってのみ発生するようにすると、プロセスをイライラさせるものにすることができます。DashO では、レスポンスを単純にでも複雑にでも望みどおりに構成することができます。

Response は、チェックとレスポンスのコードを分離するために Check とやりとりするコードを追加します。同じ Check に多数の Responses を追加できます。

  • Response は、boolean 値を介して Check に合わせられます。Check動作を使用する値セットは、Responseソースを使って取得されます。取得された値が true であれば、レスポンスが実行されます。詳細については、ソースおよび操作の指定を参照してください。

Check と同様に、Response はメッセージを送信し、かつレスポンスを実行することができます。さらに、レスポンスの動作には、0.0(なし)から 1.0(常時)までの確率係数に基づいて条件を付けることができます。既定値は 1.0 です。

PreEmptive Protection - DashO Version 8.2.0. Copyright © 2017 PreEmptive Solutions, LLC