# M1: 不適切なクレデンシャルの使用 (Improper Credential Usage)

## 脅威エージェント

**アプリケーション依存**

モバイルアプリにおけるハードコードされたクレデンシャルや不適切なクレデンシャル使用を悪用する脅威エージェントには、一般に利用可能なツールやカスタム構築されたツールを使用した自動化された攻撃が含まれる可能性があります。そのようなエージェントはハードコードされたクレデンシャルを見つけて悪用したり、不適切なクレデンシャル使用による弱点を悪用する可能性があります。

## 攻撃手法

**悪用難易度 容易**

攻撃者はハードコードされたクレデンシャルと不適切なクレデンシャル使用の両方の脆弱性を悪用できます。これらの脆弱性が特定されると、攻撃者はハードコードされたクレデンシャルを使用して、モバイルアプリの機密機能への認可されていないアクセスを取得できます。また、たとえば不適切に検証されたり保存されたクレデンシャルを通じてアクセスを取得して、それによって正当なアクセスの必要性を回避するなど、クレデンシャルを悪用できます。

## セキュリティ上の弱点

**普及度 普通**

**検出難易度 容易**

ハードコードされたクレデンシャルの使用や不適切な処理など、クレデンシャル管理の実装が不適切であると、深刻なセキュリティ上の弱点につながる可能性があります。包括的なセキュリティテストプロセスはこのような問題を特定することを目指すべきです。たとえば、セキュリティテスト担当者はモバイルアプリのソースコード内や設定ファイル内にハードコードされたクレデンシャルを特定することを試みてみるべきです。

## 技術的影響

**影響度 深刻**

クレデンシャル管理が不適切であると、いくつかの深刻な技術的影響につながる可能性があります。認可されていないユーザーがモバイルアプリやそのバックエンドシステム内の機密情報や機能にアクセスする可能性があります。これによりデータ侵害、ユーザープライバシーの損失、詐欺行為、管理機能への潜在的なアクセスにつながる可能性があります。

## ビジネスへの影響

**影響度 深刻**

ハードコードされたクレデンシャルや不適切なクレデンシャルの使用など、クレデンシャル管理が不適切であると、ビジネスへの影響が重大になる可能性があります。

* 風評被害
* 情報窃取
* 詐欺
* データへの認可されていないアクセス

## 「不適切なクレデンシャルの使用」の脆弱性があるか？

モバイルアプリがハードコードされたクレデンシャルを使用する場合やクレデンシャルが悪用される場合、安全でないクレデンシャル管理が発生する可能性があります。モバイルアプリが脆弱である可能性を示すいくつかの指標を示します。

* **ハードコードされたクレデンシャル** - モバイルアプリがそのアプリのソースコードや設定ファイル内にハードコードされたクレデンシャルを含んでいる場合、これは脆弱性を示す明確な指標です。
* **安全でないクレデンシャルの転送** - クレデンシャルが暗号化なしや安全でないチャネルを通じて転送される場合、これは脆弱性を示している可能性があります。
* **安全でないクレデンシャルの保存** - モバイルアプリが安全でない方法でユーザークレデンシャルをデバイスに保存している場合、これは脆弱性が存在する可能性があります。
* **脆弱なユーザー認証** - ユーザー認証が脆弱なプロトコルに依存していたり、簡単にバイパスできる場合、これは脆弱性の兆候である可能性があります。

## 「不適切なクレデンシャルの使用」を防ぐには？

安全でないクレデンシャル管理を避けるには、ハードコードされたクレデンシャルを使用せず、ユーザークレデンシャルを適切に処理する必要があります。

**ハードコードされたクレデンシャルの使用を避ける**

ハードコードされたクレデンシャルは攻撃者によって簡単に発見され、認可されていないユーザーにとって簡単なアクセスポイントとなる可能性があります。モバイルアプリのコードや設定ファイルでハードコードされたクレデンシャルを使用することは常に避けてください。

**ユーザークレデンシャルを適切に処理する**

ユーザークレデンシャルは常に安全に保存、転送、認証される必要があります。

* 転送時にはクレデンシャルを暗号化します。
* デバイスにユーザークレデンシャルを保存してはいけません。代わりに、安全で取り消し可能なアクセストークンの使用を検討してください。
* 強力なユーザー認証プロトコルを実装します。
* 使用されている API キーやトークンを定期的に更新して入れ替えます。

## 攻撃シナリオの例

以下のシナリオはモバイルアプリでの不適切なクレデンシャルの使用を示しています。

**シナリオ #1:** ハードコードされたクレデンシャル: 攻撃者はモバイルアプリのソースコード内にハードコードされたクレデンシャルを発見します。攻撃者はこれらのクレデンシャルを使用して、そのアプリやバックエンドシステム内の機密機能に認可されていないアクセスを得ます。

**シナリオ #2:** 安全でないクレデンシャルの転送: 攻撃者はモバイルアプリとそのバックエンドシステム間で安全に転送されていないクレデンシャルを傍受します。攻撃者は傍受したこれらのクレデンシャルを使用して、正規のユーザーになりすまし、認可されていないアクセスを得ます。

**シナリオ #3:** 安全でないクレデンシャルの保存: 攻撃者はユーザーのデバイスに物理的にアクセスを得て、モバイルアプリから保存されているクレデンシャルを抽出します。攻撃者はこれらのクレデンシャルを使用して、ユーザーのアカウントに認可されていないアクセスを得ます。

## 参考資料

* OWASP
  * [OWASP](https://www.owasp.org/index.php/OWASP_Top_Ten)
* その他
  * [External References](http://cwe.mitre.org/)
