ファイナンス、情報通信技術のスキル・アグリゲーション・サイト
脆弱性スキャン、ペネトレーションテスト、コードレビューなど、情報システムのセキュリティ上の弱点を能動的に発見するための評価・テスト手法に関わるキーワードを取り上げます。
脆弱性スキャン (Vulnerability Scan / 脆弱性診断)
ネットワーク、システム、アプリケーションなどに存在する既知のセキュリティ脆弱性や設定ミスを、専用ツールを用いて自動的かつ網羅的に検出するプロセス。
脆弱性スキャナー (Vulnerability Scanner)
脆弱性スキャンを実行するためのソフトウェアまたはサービス。既知の脆弱性データベースや設定テンプレートに基づいて、システムやアプリケーションのチェックを行う。
ポートスキャン (Port Scan)
ターゲットのコンピュータが外部に公開しているポート(サービス)を特定するために、特定のポートに接続を試みる行為。セキュリティ診断や攻撃者が対象システムを調査する際に用いられる。
脆弱性データベース (Vulnerability Database)
既知のセキュリティ脆弱性に関する情報(脆弱性の種類、影響、対策など)をまとめたデータベース。CVE (Common Vulnerabilities and Exposures) などが有名。
CVSS (Common Vulnerability Scoring System)
脆弱性の深刻度を評価し、共通の基準でスコアリングするための手法。脆弱性の特性(攻撃経路、影響など)に基づいて点数化される。
非認証スキャン (Unauthenticated Scan / External Scan)
外部から認証情報なしで行う脆弱性スキャン。攻撃者視点での脆弱性を検出する。
認証スキャン (Authenticated Scan / Internal Scan)
認証情報(アカウント情報)を与えてシステム内部から行う脆弱性スキャン。内部からの攻撃や設定ミスによる脆弱性をより詳細に検出できる。
ペネトレーションテスト (Penetration Testing / 侵入テスト)
専門家(ペネトレーションテスター)が攻撃者の視点に立ち、実際にシステムやネットワークへの侵入を試みることで、現実的な脆弱性やセキュリティ上の弱点、複合的な攻撃シナリオの有効性を洗い出すテスト。
倫理的ハッキング (Ethical Hacking)
組織の許可を得て、その情報システムやネットワークのセキュリティ脆弱性を特定し、改善を目的として行うハッキング行為。ペネトレーションテストは倫理的ハッキングの一種。
ホワイトボックス型テスト (White-box Testing)
ペネトレーションテストにおいて、対象システムやネットワークの内部情報(ソースコード、設計書、ネットワーク構成図、認証情報など)をすべて開示された状態で行うテスト。
ブラックボックス型テスト (Black-box Testing)
ペネトレーションテストにおいて、対象システムやネットワークの内部情報を一切開示されず、外部からのみ行うテスト。実際の攻撃者視点に近い。
グレーボックス型テスト (Grey-box Testing)
ペネトレーションテストにおいて、対象システムやネットワークの一部情報(限定的な認証情報など)が開示された状態で行うテスト。
レッドチーム演習 (Red Team Exercise)
攻撃者(レッドチーム)が、組織の防御態勢(人員、技術、プロセス)を総合的に評価するために、実際の攻撃を模倣して侵入を試みる演習。防御側(ブルーチーム)は通常の運用体制で対応する。
ブルーチーム演習 (Blue Team Exercise)
レッドチーム演習において、攻撃を防御し、検出、対応する側のチームの演習。
コードレビュー (Code Review)
複数人でソースコードを読み合わせ、バグ、脆弱性、品質の問題点などを発見するプロセス。セキュアコーディング規約への準拠を確認するためにも行われる。
静的解析 (Static Application Security Testing: SAST)
プログラムのソースコードやバイナリコードを実行せずに、ツールを用いて自動的に分析し、潜在的な脆弱性やセキュリティ上の問題点(バッファオーバーフロー、SQLインジェクション脆弱性など)を検出する手法。
動的解析 (Dynamic Application Security Testing: DAST)
実行中のWebアプリケーションに対して外部から攻撃を模倣したリクエストを送信し、その応答を分析することで脆弱性を検出する手法。XSSやCSRFなど、実行時に顕在化する脆弱性の検出に適している。
ファジング (Fuzzing)
プログラムに予期せぬ、あるいは不正な入力データ(ファズ)を大量に与え、その応答(クラッシュ、異常終了、未定義動作など)を監視することで、脆弱性を発見するテスト手法。