📗
owasp-asvs-ja
  • OWASP Application Security Verification Standard ja
  • OWASP アプリケーションセキュリティ検証標準 5.0 日本語版
    • 口絵
    • 序文
    • ASVS とは何か?
    • 監査と認証
    • v4.x と比較した変更点
    • V1: エンコーディングとサニタイゼーション
    • V2: バリデーションとビジネスロジック
    • V3: Web フロントエンドセキュリティ
    • V4: API と Web サービス
    • V5: ファイル処理
    • V6: 認証
    • V7: セッション管理
    • V8: 認可
    • V9: 自己完結型トークン
    • V10: OAuth と OIDC
    • V11: 暗号化
    • V12: 安全な通信
    • V13: 構成
    • V14: データ保護
    • V15: セキュアコーディングとアーキテクチャ
    • V16: セキュリティログ記録とエラー処理
    • V17: WebRTC
    • 付録 A: 用語集
    • 付録 B: 参考情報
    • 付録 V: 暗号化標準
    • 付録 X: 推奨事項
  • OWASP アプリケーションセキュリティ検証標準 4.0 日本語版
    • ヘッダ
    • 口絵
    • 序文
    • ASVS の使い方
    • 監査と認証
    • V1: アーキテクチャ、設計、脅威モデリング
    • V2: 認証
    • V3: セッション管理
    • V4: アクセス制御
    • V5: バリデーション、サニタイゼーション、エンコーディング
    • V6: 保存時における暗号化
    • V7: エラー処理とログ記録
    • V8: データ保護
    • V9: 通信
    • V10: 悪意あるコード
    • V11: ビジネスロジック
    • V12: ファイルとリソース
    • V13: API と Web サービス
    • V14: 構成
    • 付録 A: 用語集
    • 付録 B: 参考情報
    • 付録 C: Internet of Things の検証要件
Powered by GitBook
On this page
  • 管理目標
  • V10.1 コード完全性
  • V10.2 悪意あるコード検索
  • V10.3 アプリケーションの完全性
  • 参考情報

Was this helpful?

  1. OWASP アプリケーションセキュリティ検証標準 4.0 日本語版

V10: 悪意あるコード

管理目標

コードが以下の上位要件を満たすことを確認します。

  • 悪意のある行為はアプリケーションの他の部分に影響を与えないようセキュアかつ適切に処理されます。

  • 時限爆弾や他の時間ベースの攻撃を持ちません。

  • 悪意のある宛先や認証されていない宛先に "Phone Home" していません。

  • バックドア、イースターエッグ、サラミ攻撃、ルートキット、または攻撃者がコントロールできる不正なコードを持ちません。

悪意のあるコードを見つけることは否定命題の証明であり、完全に確認することは不可能です。コードに固有の悪意のあるコードや不要な機能が含まれていないことを確認するために、最善の努力を払うべきです。

V10.1 コード完全性

悪意のあるコードに対する最善の防御は「信頼するが検証する」です。不正なコードや悪意のあるコードをコードに取り込むことは多くの法的管轄で犯罪行為となります。方針と手続きにより悪意のあるコードに関する制裁措置が明確になるでしょう。

開発リーダーは定期的にコードチェックインを確認すべきです。特に時刻、I/O、ネットワーク機能にアクセスする可能性を確認します。

#
説明
L1
L2
L3
CWE

10.1.1

時間関数、安全ではないファイル操作、ネットワーク接続など、悪意のあるコードを検出できるコード解析ツールが使用されている。

✓

749

V10.2 悪意あるコード検索

悪意のあるコードは極めてまれであり、検出が困難です。手動で詳細にコードレビューすることで論理爆弾を探す手助けができますが、非常に経験豊富なコードレビュー担当者でさえ、悪意のあるコードが存在することを知っていても見つけるのに苦労します。

このセクションに従うことは、サードパーティライブラリを含む、ソースコードへの完全なアクセスなしでは不可能です。

#
説明
L1
L2
L3
CWE

10.2.1

アプリケーションソースコードおよびサードパーティライブラリに不正な phone home やデータ収集機能が含まれていない。そのような機能が存在する場合、データを収集する前に、その機能操作に対するユーザの許可を得る。

✓

✓

359

10.2.2

アプリケーションが連絡先、カメラ、マイク、位置情報などのプライバシー関連機能やセンサーに対する不要な許可や過剰な許可を要求していない。

✓

✓

272

10.2.3

アプリケーションソースコードおよびサードパーティライブラリに、ハードコードされたアカウントや鍵、追加の文書化されていないアカウントや鍵、文書化されていないバイナリ BLOB、ルートキット、デバッグ防御、セキュアではないデバッグ機能、その他の発見された場合に悪意を持って使用される可能性のある古い機能、セキュアではない機能、隠し機能などのバックドアがない。

✓

507

10.2.4

日付と時刻に関連する関数を検索して、アプリケーションソースおよびサードパーティライブラリに時限爆弾が含まれていない。

✓

511

10.2.5

アプリケーションソースコードおよびサードパーティライブラリに、サラミ攻撃、ロジックバイパス、論理爆弾などの悪意のあるコードが含まれていない。

✓

511

10.2.6

アプリケーションソースコードおよびサードパーティライブラリにイースターエッグやその他の望ましくない機能が含まれていない。

✓

507

V10.3 アプリケーションの完全性

アプリケーションがデプロイされた後も、悪意のあるコードが挿入される可能性があります。アプリケーションは、信頼されていないソースから署名されていないコードの実行やサブドメインのテイクオーバーなどの一般的な攻撃から自分自身を保護する必要があります。

このセクションに従うことは戦略的かつ継続的であることが望まれます。

#
説明
L1
L2
L3
CWE

10.3.1

アプリケーションにクライアントまたはサーバの自動更新機能がある場合、更新はセキュアなチャネル経由で取得し、デジタル署名されている。更新コードは更新をインストールまたは実行する前に、その更新のデジタル署名を確認する必要がある。

✓

✓

✓

16

10.3.2

アプリケーションがコード署名やサブリソース完全性などの完全性保護を採用している。アプリケーションは、信頼できないソースやインターネットからのインクルード、モジュール、プラグイン、コード、ライブラリをロードするなど、信頼できないソースからのロードや実行をしてはいけない。

✓

✓

✓

353

10.3.3

アプリケーションが期限切れドメイン名、期限切れ DNS ポインタや CNAME、パブリックソースコードリポジトリの期限切れプロジェクト、一時的なクラウド API、サーバレス機能、ストレージバケット (自動生成バケットID.cloud.example.com) などの DNS エントリや DNS サブドメインに依存している場合、そのアプリケーションがサブドメインテイクオーバーから保護されている。保護にはアプリケーションにより使用される DNS 名が有効期限や変更について定期的にチェックされるようにすることも含めることができる。

✓

✓

✓

350

参考情報

PreviousV9: 通信NextV11: ビジネスロジック

Last updated 4 months ago

Was this helpful?

Hostile Subdomain Takeover, Detectify Labs
Hijacking of abandoned subdomains part 2, Detectify Labs