脆弱性とは【用語集詳細】
脆弱性(ぜいじゃくせい)(Vulnerability)とは、OSやソフトウェア、ハードウェアにおいて、情報の安全性を脅かす恐れのある欠陥のことを指します。
「もろく、弱い」の字が表すように、プログラムの不具合や設計上のミスが原因となって発生する場合が多く、セキュリティホールと呼ばれることもあります。
OSやアプリケーション、ネットワークシステムなど、さまざまなシステムが脆弱性を抱えており、サイバー攻撃者はPoCやエクスプロイトを利用して、サイバー攻撃をしかけることが多くあります。そのため、システムを運用・提供する事業者は、パッチと呼ばれる修正プログラムの提供や、ソフトウェアのアップデートといった手段で、常に脆弱性に対応しています。
一方、脆弱性を悪用する脅威(サイバー攻撃など)は多様化・高度化しており、脆弱性を完全に排除することはできないことを踏まえたうえで、情報セキュリティ対策を強化することが求められています。
脆弱性情報を集約するプロジェクトとしては、米国政府が運営するNVD(National Vulnerability Databese)があります。Webアプリケーション・セキュリティ団体であるOWASPは、頻出する脆弱性をOWASP TOP10として公開しています。
また、ホワイトハッカーや研究者にバグ発見を促し報酬を提示するバグ・バウンティも盛んであり、代表的なサイトにHacker1やBugCrowd、YesWeHackがあります。米国防総省のように、企業や組織が自らバグ発見・報告を募るケースもあります。
ソフトウェアに脆弱性が発生する根本的な原因は、開発におけるミスや不具合です。このような脆弱性を発見・修正するために、SAST、DAST、IASTといったアプリケーションセキュリティテストが開発過程に組み込まれます。
また、様々な機関や団体が、安全なソフトウェア開発のためのセキュア・コーディングに関するガイダンスや施策を公開しています。ソフトウェア開発におけるAIやNLPの活用によるバグ・脆弱性の低減策に関する研究も存在します。
関連用語