📗
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

Was this helpful?

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

付録 A: 用語集

PreviousV17: WebRTCNext付録 B: 参考情報

Last updated 1 month ago

Was this helpful?

  • 絶対最大セッション有効期間 (Absolute Maximum Session Lifetime) - NIST では「全体タイムアウト (Overall Timeout)」とも呼ばれ、ユーザ操作に関係なく、認証後にセッションがアクティブなままでいられる最大時間です。これはセッション有効期限の構成要素です。

  • アドレス空間配置のランダム化 (Address Space Layout Randomization) (ASLR) - メモリ破損バグの悪用をより困難にする手法です。

  • 許可リスト (Allowlist) - 許可されているデータまたは操作のリストです。例えば、入力バリデーションで許可されている文字のリストなど。

  • フォージェリ防止トークン (Anti-forgery token) - 一つ以上のトークンがリクエストに渡され、アプリケーションサーバによって検証され、リクエストが期待したエンドポイントから来たものであることを確認するメカニズムです。

  • アプリケーションセキュリティ (Application Security) - 基礎となるオペレーティングシステムや接続されるネットワークにフォーカスするのではなく、開放型システム間相互接続参照モデル (OSIモデル) のアプリケーション層を構成するコンポーネントの分析にフォーカスするアプリケーションレベルのセキュリティです。

  • アプリケーションセキュリティ検証 (Application Security Verification) - OWASP ASVS に沿って実施するアプリケーションの技術的評価です。

  • アプリケーションセキュリティ検証報告書 (Application Security Verification Report) - 特定のアプリケーションに対して検証者が作成した全体的な結果と裏付けとなる分析をまとめた報告書です。

  • 認証 (Authentication) - アプリケーションユーザが主張するアイデンティティを検証します。

  • 自動検証 (Automated Verification) - 脆弱性シグネチャを使用して問題を見つける自動ツール (動的解析ツール、静的解析ツール、その両方) を用います。

  • ブラックボックステスト (Black box testing) - アプリケーションの機能をその内部構造や動作を調べることなく検査するソフトウェアテストの手法です。

  • コンポーネント (Component) - 自己完結型のコード単位です。ディスクや他のコンポーネントと通信するネットワークインタフェースとの関連を持ちます。

  • クレデンシャルサービスプロバイダ (Credential Service Provider) (CSP) - アイデンティティプロバイダ (Identity Provider, IdP) とも呼ばれます。他のアプリケーションで認証ソースとして使用される可能性のあるユーザデータのソースです。

  • クロスサイトスクリプティング (Cross-Site Scripting) (XSS) - コンテンツにクライアントサイドスクリプトを注入することを可能にする、Web アプリケーションで典型的なセキュリティ脆弱性です。

  • 暗号モジュール (Cryptographic module) - 暗号アルゴリズムを実装し、暗号鍵を生成する、ハードウェア、ソフトウェア、ファームウェアです。

  • 共通脆弱性タイプ一覧 (Common Weakness Enumeration) (CWE) - コミュニティが開発した一般的なソフトウェアセキュリティ脆弱性のリストです。これは共通言語、ソフトウェアセキュリティツールの測定基準、および脆弱性の特定、緩和、予防の取り組みのベースラインとして機能します。

  • データグラムトランスポート層セキュリティ (Datagram Transport Layer Security) (DTLS) – ネットワーク接続上の通信セキュリティを提供する暗号プロトコルです。TLS プロトコルをベースにしていますが、データグラム指向のプロトコル (通常は UDP 上) を保護するために改良されています。DTLS 1.3 については RFC 9147 で定義されています。

  • セキュアリアルタイムトランスポートプロトコルの鍵を確立するためのデータグラムトランスポート層セキュリティ拡張 (Datagram Transport Layer Security Extension to Establish Keys for the Secure Real-time Transport Protocol) (DTLS-SRTP) – DTLS ハンドシェイクを使用して SRTP セッションの鍵マテリアルを確立するためのメカニズムです。RFC 5764 で定義されています。

  • 設計検証 (Design Verification) - アプリケーションのセキュリティアーキテクチャに関する技術的評価です。

  • 動的アプリケーションセキュリティテスト (Dynamic Application Security Testing) (DAST) - 実行状態にあるアプリケーションのセキュリティ脆弱性を示す状態を検出するように設計されている技法です。

  • 動的検証 (Dynamic Verification) - 脆弱性シグネチャを使用してアプリケーションの実行時に問題を見つける自動ツールを用います。

  • ファイド (Fast IDentity Online) (FIDO) - バイオメトリクス、トラステッドプラットフォームモジュール (Trusted Platform Module, TPM)、USB セキュリティトークンなど、さまざまな認証方式を使用できるようにする一連の認証標準です。

  • ユニバーサル一意識別子 (Universally Unique Identifier) (UUID) - ソフトウェアで識別子として使用される一意の照会番号です。

  • ハイパーテキスト転送プロトコル (HyperText Transfer Protocol) (HTTP) - 分散、協調、ハイパーメディア情報システムのためのアプリケーションプロトコルです。World Wide Web におけるデータ通信の基盤です。

  • ハードコードされた鍵 (Hardcoded keys) - コード、コメント、ファイルなど、ファイルシステムに格納されている暗号鍵です。

  • ハードウェアセキュリティモジュール (Hardware Security Module) (HSM) - 暗号鍵とその他のシークレットを保護された方法で保存するハードウェアコンポーネントです。

  • Hibernate クエリ言語 (Hibernate Query Language) (HQL) - Hibernate ORM ライブラリで使用される SQL と似た外観のクエリ言語です。

  • HTTP Strict Transport Security (HSTS) - 有効な証明書が提示された場合にのみ、TLS 経由でヘッダを返すドメインに接続するようにブラウザに指示するポリシーです。これは Strict-Transport-Security レスポンスヘッダフィールドを使用してアクティブ化します。

  • アイデンティティプロバイダ (Identity Provider) (IdP) - NIST リファレンスではクレデンシャルサービスプロバイダ (CSP) とも呼ばれます。他のアプリケーションに認証ソースを提供するエンティティです。

  • 非アクティブタイムアウト (Inactivity Timeout) - これはユーザがアプリケーションを操作していないときにセッションがアクティブなままでいられる時間の長さです。これはセッション有効期限の構成要素です。

  • 入力バリデーション (Input Validation) - 信頼できないユーザ入力を正規化およびバリデーションします。

  • JSON Web トークン (JSON Web Token) (JWT) - RFC 7519 は JSON データオブジェクトの標準を定義しており、オブジェクトの検証方法を説明するヘッダセクション、クレームのセットを含むボディセクション、ボディセクションのコンテンツを検証するために使用できるデジタル署名を含む署名セクションで構成されます。これは自己完結型トークンの一種です。

  • 悪性コード (Malicious Code) - アプリケーションの開発時にアプリケーションの所有者に気付かれることなく導入されるコードであり、アプリケーションの意図したセキュリティポリシーを迂回します。ウイルスやワームなどのマルウェアとは異なります!

  • マルウェア (Malware) - アプリケーションの実行時に、ユーザや管理者に気付かれることなくアプリケーションに侵入する実行コードです。

  • 多要素認証 (Multi-factor authentication) (MFA) - 二つ以上の単要素を含む認証です。

  • 相互 TLS (Mutual TLS) (mTLS) - TLS クライアント認証を参照してください。

  • Open Worldwide Application Security Project (OWASP) - アプリケーションソフトウェアのセキュリティ向上に注力する、世界規模のフリーでオープンなコミュニティです。OWASP のミッションは、アプリケーションのセキュリティを「見える化」することで、人や組織がアプリケーションのセキュリティリスクについて十分な情報に基づいた決断を下せるようにすることです。 を参照してください。

  • ワンタイムパスワード (One-time Password) (OTP) - 一度だけ使用するために一意に生成されるパスワードです。

  • オブジェクトリレーショナルマッピング (Object-relational Mapping) (ORM) - アプリケーション互換オブジェクトモデルを使用して、アプリケーションプログラム内でリレーショナル/テーブルベースのデータベースを参照および照会できるようにするために使用されるシステムです。

  • パスワードベース鍵導出関数2 (Password-Based Key Derivation Function 2) (PBKDF2) - 入力テキスト (パスワードなど) および追加のランダムソルト値から強力な暗号鍵を作成するために使用される特殊な一方向アルゴリズムです。元のパスワードの代わりに結果の値が保存されている場合には、パスワードをオフラインで解読することが困難になります。

  • 個人を識別できる情報 (Personally Identifiable Information) (PII) - 単独または他の情報と共に使用して、一人の人物を識別したり、連絡したり、所在を特定したり、あるいは状況に応じて個人を識別できる情報です。

  • 位置独立実行形式 (Position-independent executable) (PIE) - 一次メモリのどこかに配置されて、絶対アドレスに関係なく適切に実行される、マシンコードの本体です。

  • 公開鍵基盤 (Public Key Infrastructure) (PKI) - 公開鍵をエンティティのそれぞれのアイデンティティにバインドする仕組みです。バインディングは認証局 (CA) での証明書の登録および発行のプロセスを通じて確立されます。

  • 公衆交換電話網 (Public Switched Telephone Network) (PSTN) - 固定電話と携帯電話の両方を含む従来の電話網です。

  • リアルタイムトランスポートプロトコル (Real-time Transport Protocol) (RTP), リアルタイムトランスポートコントロールプロトコル (Real-time Transport Control Protocol) (RTCP) – マルチメディアストリームを転送に関連して使用される二つのプロトコルです。WebRTC スタックで使用されます。RFC 3550 で定義されています。

  • リファレンストークン (Reference Token) - サーバに保存されている状態またはメタデータへのポインタまたは識別子として機能するトークンの一種であり、ランダムトークンや不透明トークンと呼ばれることもあります。トークン自体に関連データの一部を埋め込む自己完結型トークンとは異なり、リファレンストークンは固有の情報を含まず、代わりにコンテキストについてはサーバに依存します。リファレンストークンはセッション識別子であるか、セッション識別子を含みます。

  • 依拠当事者 (Relying Party) (RP) - 一般的には別の認証プロバイダに対して認証されたユーザに依存するアプリケーションです。アプリケーションは認証プロバイダが提供するある種のトークンまたは一連の署名済みアサーションに依存して、ユーザが本人であることを信頼します。

  • セキュリティアサーションマークアップ言語 (Security Assertion Markup Language) (SAML) - ID プロバイダと依拠当事者の間で署名されたアサーション (通常は XML オブジェクト) を渡すことによって実現されるシングルサインオン認証のオープンスタンダードです。

  • 静的アプリケーションセキュリティテスト (Static application security testing) (SAST) - アプリケーションコード、バイトコード、バイナリを解析し、セキュリティ脆弱性を示すコーディングや設計条件を調べるために設計された一連のテクノロジです。SAST ソリューションはアプリケーションを非実行状態で「内側から外側まで」解析します。

  • ソフトウェア開発ライフサイクル (Software development lifecycle) (SDLC) - 初期要件からデプロイメントおよび保守に至るまでのソフトウェア開発における段階的なプロセスです。

  • セキュアリアルタイムトランスポートプロトコル (Secure Real-time Transport Protocol) (SRTP), セキュアリアルタイムトランスポートコントロールプロトコル (Secure Real-time Transport Control Protocol) (SRTCP) - メッセージの暗号化、認証、完全性保護のサポートを提供する RTP および RTCP プロトコルのプロファイルです。RFC 3711 で定義されています。

  • セキュリティアーキテクチャ (Security Architecture) - アプリケーションの設計を抽象化したものです。セキュリティ管理策をどこでどのように使用しているかを特定して記述します。また、ユーザデータとアプリケーションデータを保持する場所とデータの機密性について特定して記述します。

  • セキュリティ設定 (Security Configuration) - アプリケーションにおけるセキュリティ管理を左右する実行時設定です。

  • セキュリティ管理 (Security Control) - セキュリティチェック (認可チェックなど) を実行する、あるいは呼び出されるとセキュリティ効果 (監査記録の生成など) をもたらす、機能やコンポーネントです。

  • 自己完結型トークン (Self-Contained Token) - サーバサイドの状態やその他の外部ストレージに依存しない一つ以上の属性をカプセル化するトークンです。これらのトークンは含まれる属性の真正性と完全性を確保し、システム間で安全な「ステートレス」な情報交換を可能にします。自己完結型トークンは一般的にデジタル署名やメッセージ認証コード (MAC) などの暗号技法を使用して保護され、データの真正性、完全性、場合によっては機密性を確保します。一般的な例としては SAML アサーションや JWT があります。

  • サーバサイドリクエストフォージェリ (Server-side Request Forgery) (SSRF) - サーバの機能を悪用して内部リソースを読み取りまたは更新する攻撃です。攻撃者はサーバで実行されるコードがデータを読み取りまたは送信する URL を提供または変更します。

  • Session Description Protocol (SDP) – マルチメディアセッションを設定するためのメッセージフォーマットです (WebRTC などで使用されます)。RFC 4566 で定義されています。

  • セッショントークン (Session Token) - この標準で使用される「包括的な」フレーズであり、ステートレスセッションメカニズム (自己完結型トークンを使用) またはステートフルセッションメカニズム (リファレンストークンを使用) で使用されるトークンや値を参照します。

  • セッション識別子 (Session Identifier), セッション ID (Session ID) - バックエンドに保存されているステートフルセッションを識別する鍵です。「参照トークン」として、または「参照トークン」に含まれて、クライアントとの間で送受信されます。

  • Session Traversal Utilities for NAT (STUN) – ピアツーピア通信を確立するために NAT トラバーサルを支援するために使用されるプロトコルです。RFC 3489 で定義されています。

  • 単要素オーセンティケータ (Single-factor authenticator) - ユーザが認証されることをチェックするメカニズムです。知識認証 (something you know) (記憶された秘密、パスワード、パスフレーズ、PIN)、生体認証 (something you are) (生体情報、指紋、顔スキャン)、または所有物認証 (something you have) (OTP トークン、スマートカードなどの暗号化デバイス) のいずれかである必要があります。

  • シングルサインオン認証 (Single Sign-on Authentication) (SSO) - ユーザがひとつのアプリケーションにログインした後に、再認証を必要とせずに自動的に他のアプリケーションにログインするものです。例えば、Google にログインすると、YouTube、Google Docs、Gmail などの他の Google サービスに自動的にログインします。

  • ソフトウェア構成解析 (Software Composition Analysis) (SCA) - 使用している特定バージョンのコンポーネントのセキュリティ脆弱性について、アプリケーションの構成、依存関係、ライブラリ、パッケージを解析するように設計された一連のテクノロジです。これは、現在一般的に SAST と呼ばれているソースコード解析と混同しないでください。

  • SQL インジェクション (SQL Injection) (SQLi) - データ駆動型アプリケーションに対する攻撃に使用されるコードインジェクション技法です。悪意のある SQL 文がエントリポイントに挿入されます。

  • ステートフルセッションメカニズム (Stateful Session Mechanism) - ステートフルセッションメカニズムでは、アプリケーションはバックエンドでセッション状態を保持します。これは、一般的に、暗号論的に安全な疑似乱数生成 (CSPRNG) を使用して生成され、エンドユーザに発行されるセッショントークンに対応します。

  • ステートレスセッションメカニズム (Stateless Session Mechanism) - ステートレスセッションメカニズムはクライアントに渡される自己完結型トークンを使用します。このトークンには、トークンを受け取って検証するサービス内には必ずしも保存されるわけではないセッション情報を含みます。実際には、必要なセキュリティコントロールを実施できるようにするために、サービスは一部のセッション情報 (JWT 失効リストなど) にアクセスする必要があります。

  • SVG - Scalable Vector Graphics

  • タイムベース OTP (Time-based OTP) - OTP を生成する手法で、現在の時刻がパスワードを生成するアルゴリズムの一部として機能します。

  • チェック時間と使用時間 (Time-of-check to time-of-use) (TOCTOU) - アプリケーションがリソースを使用する前にそのリソースの状態をチェックしますが、リソースの状態はチェックと使用の間に変化する可能性がある状況です。これによりチェック結果が無効になり、この状態の不一致のためアプリケーションが無効なアクションを実行する状況を引き起こす可能性があります。

  • 脅威モデリング (Threat Modeling) - 脅威エージェント、セキュリティゾーン、セキュリティ管理、重要な技術資産やビジネス資産を明らかにするための、精緻なセキュリティアーキテクチャの構築に基づく手法です。

  • TLS クライアント認証 (TLS client authentication), 別名 相互 TLS (Mutual TLS) (mTLS) - 標準的な TLS 接続では、クライアントはサーバから提供された証明書を使用してサーバのアイデンティティを検証できます。TLS クライアント認証を使用する場合、クライアントは独自の秘密鍵と証明書も使用して、サーバもクライアントのアイデンティティを検証できるようにします。

  • トランスポート層セキュリティ (Transport Layer Security) (TLS) - ネットワークの通信セキュリティを提供する暗号プロトコルです。

  • Traversal Using Relays around NAT (TURN) – 直接ピアツーピア通信を確立できない場合に TURN サーバをリレーとして使用する STUN プロトコルの拡張です。RFC 8656 で定義されています。

  • Trusted Platform Module (TPM) - 通常はマザーボードなどのより大きなハードウェアコンポーネントに接続され、そのシステムの「信頼の基点 (Root of Trust)」として機能する HSM の一種です。

  • 信頼できるサービス層 (Trusted Service Layer) - マイクロサービス、サーバレス API、サーバサイド、セキュアブートを備えたクライアントデバイス上の信頼できる API、パートナー API や外部 API など、信頼できるコントロール適用ポイントです。信頼できるとは、信頼できないユーザがその層や、その層で実装されたコントロールをバイパスやスキップできるという懸念がないことを意味します。

  • Universal 2nd Factor (U2F) - USB または NFC セキュリティキーを二番目の認証要素として使用できるようにするために FIDO により作成された標準の一つです。

  • URI/URL/URL フラグメント (URI/URL/URL fragments) - Uniform Resource Identifier は名前や Web リソースを識別するために使用される文字列です。Uniform Resource Locator は多くの場合リソースへの参照として使用されます。

  • 検証者 (Verifier) - OWASP ASVS の要件に照らし合わせてアプリケーションをレビューする個人またはチームです。

  • Web Real-Time Communication (WebRTC) – Web アプリケーション (通常はテレビ会議) でのマルチメディアストリームの転送に使用されるプロトコルスタックと関連する Web API です。SRTP, SRTCP, DTLS, SDP, STUN/TURN に基づいています。

  • What You See Is What You Get (WYSIWYG) - レンダリングを制御するために使用されるコーディングを表示するのではなく、レンダリング時にコンテンツが実際にどのように見えるかを示すリッチコンテンツエディタのタイプです。

  • X.509 証明書 (X.509 Certificate) - X.509 証明書は、広く受け入れられている国際的な X.509 公開鍵基盤 (PKI) 標準を使用するデジタル証明書であり、公開鍵が証明書に含まれるユーザ、コンピュータ、サービスのアイデンティティに属していることを検証します。

  • XML 外部エンティティ (XML eXternal Entity) (XXE) - 宣言されたシステム識別子を介してローカルまたはリモートコンテンツにアクセスできる XML エンティティのタイプです。これはさまざまなインジェクション攻撃につながる可能性があります。

http://www.owasp.org/