標準セキュリティ(L1)とは何ですか?十分に安全ですか?MASVS(モバイル Application Security 検証基準)から OWASP テスター、セキュリティ エンジニア、アプリケーション所有者など、アプリケーションのセキュリティを分析するすべての人にとっての事実上の標準です。
するためには 安全なアプリケーションを設計するアプリケーションが構築されている基盤を信頼する必要があります。アプリとそのオペレーティングシステム、ファームウェアとそのハードウェア、あるいはブラウザ内のウェブページなど、基盤自体が安全でない場合はどうなるでしょうか?
R – レジリエンスはMASVSの重要なトピックであり、「R」は推奨事項であると考える人もいます。 Digital.ai レジリエンスは、安全でない環境における真の安全な基盤であると考えています。「R」レベルは、L1「標準セキュリティ」レベルを保護するための基盤となります。なぜでしょうか?L1で規定されている標準的なセキュリティ対策は、アプリが安全でない環境で実行されると、簡単に破られてしまうからです。安全でない環境には、ジェイルブレイクまたはルート化されたモバイルデバイス、エミュレーター、さらにはマルウェアに感染したデバイスが含まれます。これらの環境はすべて一般的です。実際、数百万ものアプリインスタンスのメタ分析では、 Digital.ai 保護しているアプリの半分以上が毎週、不正に削除されていることがわかりました。safe 環境。
次のブログ記事では、レジリエンス要件とそれを満たす方法について説明します。 コード難読化、監視、RASPツールまた、L1(標準セキュリティ)の推奨事項、対応する攻撃ベクトル、そしてそれらを軽減する方法について、洞察と意見を共有します。最後に、アプリケーションエンジニアがL1推奨事項のみに従う場合に発生するいくつかの課題について説明します。まずは、MASVSで議論されている最上位レベル、つまり「回復力」の要件から見ていきましょう。
MASVSとは何ですか?
その モバイル Application Security 検証基準(MASVS)は、ネットワーク、ストレージ、整合性など、複数の分野にわたるさまざまな推奨事項をまとめたリストです。これらの推奨事項は、主に3つのモデルに分類されます。
- MASVS-L1 – 標準セキュリティ: コードの品質、機密データの処理、モバイル環境とのやり取りなどのセキュリティのベストプラクティスで構成されます。
- MASVS-L2 – 多層防御: このモデルには、MASVS-L1 に含まれるすべての機能に加えて、特に機密性の高いデータを扱う銀行や医療などの業界向けの脅威モデルに基づく追加の推奨事項が含まれています。
- MASVS-R – リバースエンジニアリングと改ざんに対する耐性: 改ざん、改造などの特定のクライアント側攻撃からの保護, またはリバースエンジニアリング。
レジリエンス要件を満たす方法
MSTG-レジリエンス-1
アプリは、ルート化またはジェイルブレイクされたデバイスの存在を検出し、ユーザーに警告するか、アプリを終了することで対応します。
Digital.ai アプリのセキュリティ 高度なルート化や脱獄検知手法を多数検出します。オペレーティングシステム自体のコードの改ざんも検出可能です。
MSTG-レジリエンス-2
アプリはデバッグを阻止し、デバッガーの接続を検知して応答します。利用可能なすべてのデバッグプロトコルに対応している必要があります。
Digital.ai App Security はデバッガーからの完全な保護を提供します。
MSTG-レジリエンス-3
アプリは、独自のサンドボックス内で実行可能ファイルや重要なデータの改ざんを検出し、対応します。
OpenSSLやMbed-TLSなどのオープンソースの暗号化ライブラリは、攻撃者にとって容易に検出できます。当社の保護機能は、 ホワイトボックス暗号 独自の実装を使用したアルゴリズム、 Digital.ai 顧客は、攻撃者が識別できる痕跡を残さずに、整合性チェックを効率的に実装できます。
MSTG-レジリエンス-4
アプリは、デバイス上で広く使用されているリバース エンジニアリング ツールとフレームワークの存在を検出し、それに応答します。
Digital.ai Application Security FRIDA、FRIDA-gadget、cycript などの動的インストルメンテーション ツールキット、フレームワーク、リバース エンジニアリング ツールの存在を検出します。
MSTG-レジリエンス-5
アプリはエミュレータで実行されていることを検知し、応答します。
Digital.ai Application Security 保護されたアプリが実行されている CPU をテストすることで、QEMU などのエミュレーターを検出できます。
MSTG-レジリエンス-6
アプリは、自身のメモリ空間内のコードとデータの改ざんを検出し、それに応答します。
Digital.ai Application Security 検出し、顧客に許可する 改ざんイベントに対するカスタム応答を作成するさらに、改ざん検出を回避しようとする試みも検出可能です。GameGuardianやiGameGodなどのメモリエディターも検出可能で、改ざん行為が停止している状態でのメモリスキャンも検出可能です。
MSTG-レジリエンス-7
このアプリは、各防御カテゴリ(8.1~8.6)に複数のメカニズムを実装しています。回復力は、使用されるメカニズムの量と多様性、そして独創性に応じて変化します。
Digital.ai Application Security 顧客はいつ、どのように実装し、実行するかを選択します さまざまな検出方法例えば、隠されたバックグラウンドプロセスまたは単純な整合性違反によって改ざんイベントが検出された場合は、顧客は希望する (RASP) 顧客はアプリケーションをシャットダウンしたり、エンドユーザーに二要素認証による再認証を強制したり、ゲームの重力設定をゼロにしたりすることで、不正行為者のゲームプレイを台無しにし、不正検出コードの痕跡を残さないようにすることができます。
MSTG-レジリエンス-8
検出メカニズムは、遅延応答やステルス応答など、さまざまなタイプの応答をトリガーします。
Digital.ai Application Security カスタムハンドラーとステルススケジューラーを使用することで、保護機能がいつどこで呼び出されるかをお客様が管理できます。クラッシュの原因となったコードの出所を開示することなく、アプリケーションを突然終了させる「クラッシュ」関数も提供しています。
MSTG-レジリエンス-9
難読化はプログラムによる防御に適用され、その結果、動的分析による難読化解除が妨げられます。
コードの難読化 は当社の技術の根幹を成すものです。当社はコード難読化に関する6件の特許を保有しており、その中にはコード難読化に関する初の特許も含まれています。 Digital.ai Application Security コードを高度に難読化するコードフラット化ソリューションを提供します。さらに、ホワイトボックス化された暗号変数と定数は難読化され、メモリ内に短時間「ライブ」されるため、プロセスダンプや自動暗号スキャナによる効果は得られません。また、JavaやObjective-Cなどのテキストランタイムに対する完全な難読化に加え、ランタイム文字列難読化保護も提供しています。
MSTG-レジリエンス-11
アプリに属するすべての実行ファイルとライブラリは、ファイルレベルで暗号化されているか、実行ファイル内の重要なコードとデータセグメントが暗号化またはパック化されています。単純な静的解析では、重要なコードやデータは明らかになりません。
コードとデータの両方に異なる暗号化ソリューションを提供しています。例えばAndroidでは、 Digital.ai Application Security DEX 暗号化とネイティブ共有ライブラリ暗号化をサポートし、ホワイト ボックス暗号化、アンチデバッグ、インストルメンテーション機能と組み合わせることで、静的および動的に製品をカバーし、攻撃者を無力化します。
MSTG-レジリエンス-12
難読化の目的が機密性の高い計算の保護である場合、現在公開されている研究を考慮し、タスクに適切であり、手動および自動の難読化解除手法に対して堅牢な難読化方式が採用されます。難読化方式の有効性は、手動テストによって検証する必要があります。なお、可能な限り、難読化よりもハードウェアベースの分離機能が優先されます。
すべての難読化は最終的には破られますが、優れた難読化ツールは自動的に難読化を解除することはできません。 当社の難読化技術 難読化解除ツールやエミュレータに対する多くのアクティブな保護が含まれており、JEB 逆コンパイラを含むすべての公開ソリューションに対してテストされています。
MSTG-RESLIENCE-13
多層防御として、通信相手の強固な強化に加え、アプリケーション レベルのペイロード暗号化を適用して盗聴をさらに阻止することができます。
攻撃者が通信を盗聴するには、主に 3 つの方法があります。
- 中間者攻撃(MITM)を実行する(例:証明書のピン留めを削除する)
- 暗号機能の改ざん
- ネットワーク機能の改ざん
多分野にわたる専門家チームは、クライアントと密に連携し、現場の声を力強いメッセージへと変換します。子どもの保護やGBV、気候変動からビジネスと人権まで、多様な分野で政策を動かし、具体的なアクションを呼び起こす資料を構築します。 Application Security このソリューションは、OS自体のコードの改ざんを含むあらゆる種類の改ざんを検出します。当社の鍵およびデータ保護製品は、公開されているツールでは自動的に検出できません。これら2つのソリューションを組み合わせることで、上記の3つの手法を阻止できます。
L1要件
MSTG-ARCH-1
すべてのアプリ コンポーネントが識別され、必要であることがわかっています。
ソフトウェアエンジニアとして、私たちはコードを可能な限りスリムで効率的なものにしたいと考えています。しかし、セキュリティの観点から見ると、不要なコードを削除すると攻撃対象領域が拡大する可能性があります。モバイルアプリケーションの場合、スリムなコードは逆効果になることもあります。識別可能なコンポーネントが小さくなればなるほど、攻撃者にとっては格好の標的となります。コードの難読化は、静的リバースエンジニアリングに対する第一の防御線であり、スリムで論理的なコーディングは、残念ながら攻撃者にとって格好の標的となります。
MSTG-ARCH-10
セキュリティはソフトウェア開発ライフサイクルのあらゆる段階で考慮されます。チェックマークを付けて次の項目に進むのはとても簡単です。
セキュリティは実際には意識の問題であり、常に予想もしなかった場所にあなたを導きます。 Digital.ai Application Security 改ざんできないブラックボックスとしてアプリを保護すると同時に、壊れた環境に依存するための戦略的な機能も提供します。
MSTG-ストレージ-1
個人情報やユーザー認証情報などの機密データを保存するには、システム認証情報保存機能を使用する必要があります。, または暗号化キー。
理想的には、システム認証情報は機密データを保存するための唯一の信頼できる手段です。しかし、オペレーティングシステムが改ざんされた場合、ストレージ設備は信頼できない可能性があります。機密情報を保存するために、このような安全なストアに盲目的に依存すべきではありません。ルート化やJB、エミュレーションなどを識別するための様々な手法があり、さらに脅威ごとにカスタマイズされたアクションが用意されているため、攻撃者は次期バージョンがリリースされるまでの間、全く異なる保護メカニズムを持つターゲットとの闘いに苦戦し、攻撃者を苛立たせる可能性があります。
MSTG-ストレージ-10
アプリは機密データを必要以上に長くメモリに保持せず、使用後はメモリが明示的にクリアされます。
当社のホワイトボックス暗号は、セッション鍵の自動管理と退避を提供します。暗号技術に加えて、 Digital.ai Application Security また、オペレーティング システム全体からの許可されていないメモリ アクセスを監視することもできるため、顧客はカスタマイズされたロジックで対応できます。
MSTG-CRYPTO-2
このアプリは、実証済みの暗号化プリミティブの実装を使用します。
暗号の実装には多くの潜在的な落とし穴があり、適切な注意を払いながらそのようなアルゴリズムを実装するには、その分野の専門家でなければなりません。幸いなことに、 Digital.ai Application Security は、信頼でき、すぐに使用できる様々な暗号化アルゴリズムを提供しています。しかし、既存の実績のある暗号化ライブラリにはいくつかの問題があります。OpenSSL、Mbed-TLS、AndroidおよびiOSオペレーティングシステムに付属するライブラリなど、一部のライブラリには識別可能なバイナリ署名があり、攻撃者はコード内の機密領域を特定し、証明書のピン留め解除などの一部のプロセスを自動化することさえ可能です。 改ざん防止 このソリューションは、対象となるコードがこのようなパブリック ライブラリを使用する改ざんシナリオから保護するとともに、コード内に完全に埋め込まれ、保護され、隠された暗号化ソリューションを提供することで、攻撃者が暗号化ソリューションの痕跡を閲覧できないようにします。
MSTG プラットフォーム 1
アプリは必要な最小限の権限セットのみを要求します。
当社のテクノロジーは、特別な許可を必要とせずに多くのセキュリティ機能を提供します。
MSTG-コード-1
アプリは有効な証明書で署名およびプロビジョニングされており、その秘密鍵は適切に保護されています。
オペレーティングシステム自身の整合性メカニズムに加えて、 Digital.ai Application Security 再パッケージ化とメモリ内パッチ適用を検出して保護するための手法を提供します。
結論とさらなる考察
MASVSは、ボランティアによって執筆された正真正銘の文書であり、モバイルソフトウェアセキュリティベンダー、その見込み顧客、そして顧客にとって不可欠なものです。上記の文章が、読者の皆様にとって、この文書のL1セクションとRセクションの両方における推奨事項を理解するための指針となることを願っています。以下では、MASVSが「Forward」で示しているいくつかの立場、特に「セキュリティ保護」と「セキュリティ管理」を区別するセクションについて、さらなる議論が必要であると考える点について、いくつかコメントします。
冒頭で述べたように、MASVSが規定するL1要件は、アプリケーションセキュリティ、特にプライバシーに関連するセキュリティの基盤を形成します。私たちは、MASVSが示すこの基盤は、脅威アクターが一般的に入手可能で頻繁に使用されるエミュレーター、デバッガー、動的インストルメンテーションツールキットを利用することで、本質的に揺るがされる可能性があると考えています。例えば、MASVSの「Forward」には次のように記されています。 「ソフトウェアによる保護は役に立たないわけではないが、最終的には回避される可能性があるため、セキュリティ管理の代替として使用してはならない」 我々は、たとえコーディング者がセキュリティをオペレーティングシステムに依存し、L-1要件を全て完璧に遵守したとしても、基盤となるオペレーティングシステムが破損している場合(ジェイルブレイクやルート化など)、L-1要件では基本的なセキュリティ機能を実現できないと反論します。この場合、真逆のことが当てはまります。つまり、「回復力」セクションで概説されているように、改ざん検出などのソフトウェア保護を使用することが、セキュリティを確保するための唯一の確実な方法です。なぜそう考えるのでしょうか?例えば、キーストアを考えてみましょう。 キーストアが完全に公開されている場合、アプリケーションのサンドボックスも公開されます。この場合、アプリとそのファイルが改ざん、再パッケージ化、インストルメンテーションされる可能性があり、証明書のピン留め解除やリソースの抽出といった一部のプロセスが自動化される可能性があります。さらに、L-1ではプライバシーが十分に保護されないケースもあります。 たとえば、モバイル デバイスのマルウェアは、モバイル オペレーティング システムを破壊し、バイナリ署名の識別を通じて戦略的な API やパブリック フレームワークをフックすることで、攻撃者がインスタント メッセージングや VOIP アプリを簡単に盗聴できるようにする可能性があります。
また、MASVSは序文で次のように主張している。 「モバイルセキュリティはデータ保護がすべてです」. これは多くの場合当てはまりますが、常に当てはまるとは限りません。短命トークンのような機密情報を扱う場合は、その情報にアクセスできないようにする必要があります。セキュリティはプライバシーだけではありません。多くの場合、事業継続性や収益と結びついています。例えば、ゲーム内で多くのトランザクションが発生するゲームは、クライアント側のみに影響を与える可能性があります。さらに、多くのゲームイベントは、レイテンシーの問題からサーバーがユーザー入力を信頼することを強制します。例えば、FPSゲームにおけるショットは、その特定のイベントの固有の頻度(通常は弾丸1発につき1イベント)のために、多くの最適化を必要とします。
クライアントサイドのセキュリティは、常に追いかけっこのようなものです。アプリ開発者や開発者が十分な保護対策を講じれば、攻撃者は苛立ちから別の標的へと移ります。さらに、ポリモーフィック難読化を用いたクライアントアップデートを頻繁にリリースすることで、既存のアプリケーションに関する継続的な調査が無駄になり、攻撃者にとってさらに厄介な状況となります。
詳細については、 Digital.ai Application Security、クリック こちら.
概要 Digital.ai
Digital.ai は、業界をリードするテクノロジー企業であり、Global 5000企業のデジタルトランスフォーメーション目標達成を支援しています。同社の AI電源 DevSecOps プラットフォームは、ソフトウェア ライフサイクル全体にわたって統合、保護、予測的な洞察を生成します。 Digital.ai 組織がソフトウェア開発チームを拡大し、より高品質で安全なソフトウェアを継続的に提供しながら、新しい市場機会を発見し、よりスマートなソフトウェア投資を通じてビジネス価値を高めることを可能にします。
追加情報 Digital.ai で見つけることができます digital.ai と上 Twitter, LinkedIn の三脚と Facebook.
で詳細はこちら Digital.ai Application Security
