Skip to main content
サイバーセキュリティ

セキュリティの脆弱性とは?定義と種類

セキュリティの脆弱性は、システムを攻撃にさらします。弱点を効果的に特定し、修正する方法をご紹介します。

著者 SentinelOne
セキュリティの脆弱性とは?定義と種類

セキュリティの脆弱性とは、攻撃者に悪用され、システムやデータの侵害につながる弱点です。このガイドでは、脆弱性の種類、組織への潜在的な影響、そして脆弱性管理の重要性を解説します。

ソフトウェアのバグや設定ミスなど、脆弱性の一般的な原因を解説します。また、リスクを特定・評価・軽減するためのベストプラクティスも紹介します。脆弱性管理の最新動向を把握し、組織のセキュリティ態勢を強化しましょう。

Security Vulnerability - Featured Image | SentinelOne企業をソフトウェアの脆弱性から守る方法

セキュリティの脆弱性から企業を守るには、サイバーセキュリティのベストプラクティスに従うことが重要です。主な対策は次のとおりです。

  1. セキュリティ監査と評価を定期的に実施し、脆弱性を特定して優先順位を付けます。
  2. パッチ管理プログラムを導入し、すべてのソフトウェアとシステムに最新のセキュリティパッチや修正を適用します。
  3. 脆弱性スキャナーなどのセキュリティツールを使い、脆弱性を迅速に特定・修正します。
  4. 潜在的な脆弱性の特定と報告について従業員を教育し、報告された脆弱性への対応プロセスを整備します。
  5. 信頼できるセキュリティパートナーやマネージドセキュリティサービスプロバイダーと連携し、環境内の脆弱性を特定・軽減します。
  6. 定期的にを定期的に実施し、現実世界の攻撃をシミュレートして環境内の脆弱性を特定・修正する。を実施して実際の攻撃を再現し、環境内の脆弱性を特定・修正します。
  7. 強固なアクセス制御と認証の仕組みを導入し、システムやデータへの不正アクセスを防ぎます。

企業への攻撃に悪用される脆弱性にはどのような種類がありますか?

セキュリティ侵害に悪用された、よく知られる脆弱性には次のようなものがあります。

  1. SQLインジェクション:攻撃者が悪意のあるSQLコードをデータベースに注入し、機密データへのアクセスやデータベースの改ざんを行える脆弱性です。
  2. クロスサイトスクリプティング(XSS):攻撃者が悪意のあるJavaScriptコードをウェブサイトに注入し、ユーザーデータの窃取などの不正行為を行える脆弱性です。
  3. リモートコード実行(RCE):攻撃者がリモートシステム上で任意のコードを実行し、不正アクセスなどの悪意ある行為を行える脆弱性です。
  4. 未検証の入力:攻撃者がウェブサイトやアプリケーションに悪意のある入力を送り、セキュリティ制御の回避や任意のコードの実行を行える脆弱性です。
  5. 保護されていない認証情報:ユーザー名やパスワードなどの機密データが安全に保管されておらず、攻撃者が容易にアクセスできる状態です。
  6. 保護されていないネットワーク:ネットワークが適切に設定されていない、またはファイアウォールなどの対策で保護されておらず、攻撃者が容易にアクセスできる状態です。
  7. 保護されていないデバイス:ノートパソコンや携帯電話などのデバイスが適切に保護されておらず、攻撃者が容易にアクセスして機密データを盗める状態です。

企業への侵害に悪用された脆弱なソフトウェアの例は次のとおりです。

  1. Adobe Flash:インターネット上で広く使われていましたが、バッファオーバーフローやヒープオーバーフロー攻撃など、複数の攻撃に悪用される脆弱性が知られていました。
  2. Microsoft Windows:世界で最も広く使われているオペレーティングシステムですが、リモートコード実行や権限昇格など、数多くの脆弱性の標的にもなってきました。
  3. Apache Web Server:インターネット上で広く使われているウェブサーバーソフトウェアですが、クロスサイトスクリプティングやクロスサイトリクエストフォージェリ攻撃に悪用される脆弱性の標的にもなってきました。
  4. Oracle Database:企業で広く使われているデータベースソフトウェアですが、SQLインジェクションや権限昇格攻撃に悪用される脆弱性の標的にもなってきました。
  5. Adobe Acrobat Reader:PDFファイルの閲覧に広く使われているソフトウェアですが、リモートコード実行やヒープオーバーフロー攻撃に悪用される脆弱性の標的にもなってきました。
  6. Java:ウェブアプリケーションの開発に広く使われているプログラミング言語ですが、クロスサイトスクリプティングやリモートコード実行攻撃に悪用される脆弱性の標的にもなってきました。
  7. PHP:ウェブアプリケーションの開発に広く使われているプログラミング言語ですが、SQLインジェクションやクロスサイトスクリプティング攻撃に悪用される脆弱性の標的にもなってきました。

実際の攻撃で特に多く悪用されている脆弱性の一つが、Microsoft Officeのリモートコード実行の脆弱性CVE-2017-0199です。攻撃者はこれを利用して、被害者のシステム上で悪意のあるコードを実行できます。この脆弱性は、Ryuk、 Emotet、および Dridexのマルウェアファミリーを含む、さまざまなランサムウェアグループに悪用されてきました。

脆弱なソフトウェアへのパッチ適用が重要な理由

CISOは、組織をセキュリティ侵害から守り、業界標準への準拠を維持し、法的責任を回避して、全体的なセキュリティ態勢を改善するために、脆弱なソフトウェアへのパッチ適用を優先することが重要です。そのための対策には、組織内で使用するすべてのソフトウェアについて、セキュリティパッチを定期的に確認・適用するパッチ管理プログラムの導入が含まれます。また、ITチームなどの他部門と連携し、パッチを迅速かつ一貫して適用することも重要です。さらに、セキュリティを取り巻く状況を監視し、最新の脅威や脆弱性を把握することで、潜在的なリスクが発生した際に特定・対処します。

脆弱なソフトウェアへのパッチ適用が重要な理由は、次のとおりです。

  1. セキュリティ侵害を防ぐため: 脆弱性のあるソフトウェアにパッチを適用することで、組織はデータ窃取やランサムウェア攻撃などのサイバー犯罪によるセキュリティ侵害を防げます。たとえば2017年のWannaCryランサムウェア攻撃では、Microsoft Windowsの脆弱性を悪用してデータを暗号化し、身代金を要求しました。
  2. 業界標準への準拠を維持するため: 多くの業界では、脆弱性のあるソフトウェアに速やかにパッチを適用するよう求めるコンプライアンス基準が定められています。たとえば、Payment Card Industry Data Security Standard(PCI DSS)は、セキュリティ侵害を防ぐため、公開から30日以内にセキュリティパッチを適用するよう組織に求めています。
  3. 法的責任を回避するため: 組織が脆弱性のあるソフトウェアにパッチを適用せず、その結果セキュリティ侵害が発生した場合、法的責任を問われる可能性があります。たとえば2018年、米国の裁判所は、決済カードシステムの既知の脆弱性にパッチを適用しなかったことによるデータ侵害について、Targetに責任があると判断しました。
  4. 全体的なセキュリティ態勢を強化するため: 脆弱性のあるソフトウェアにパッチを適用すると、攻撃に利用され得る経路と侵害リスクを減らし、組織全体のセキュリティ態勢を強化できます。たとえば、Adobe Flash、Microsoft Windows、Apache Web Serverなどにパッチを適用することで、バッファオーバーフロー、ヒープオーバーフロー、リモートコード実行を含む幅広い脆弱性を悪用した攻撃を防げます。

脆弱性の優先順位はどう決めるのか?

毎年報告されるCommon Vulnerabilities and Exposures(CVE)の件数は年によって異なりますが、近年は増加傾向にあります。2020年には24,000件を超えるCVEが報告され、前年までと比べて大幅に増加しました。接続デバイスの数とオンラインで共有される機密データの量が増えるにつれ、この傾向は続くと考えられます。

Common Vulnerability Scoring System(CVSS)は、脆弱性の深刻度を測るために広く使われる評価尺度です。攻撃の種類、悪用が成功する可能性、機密性・完全性・可用性への影響など、複数の指標を用いて脆弱性の潜在的な影響を評価します。

CVSSでは0から10までのスコアを使用し、0が最も深刻度が低く、10が最も高くなります。たとえば、スコア0.1の脆弱性は深刻度が低く、9.0の脆弱性は緊急と評価されます。組織はCVSSスコアを基に、脆弱性の潜在的な影響に応じてパッチ適用とリスク軽減の優先順位を決められます。

最も深刻度が高いとされるCVSSスコア10の脆弱性には、次のような例があります:

  1. Heartbleedの脆弱性が存在する の Heartbleed 脆弱性により、攻撃者は脆弱なサーバーからパスワードや秘密鍵などの機密データにアクセスできます。 では、攻撃者が脆弱なサーバーからパスワードや秘密鍵などの機密データにアクセスできます。
  2. この ランサムウェア攻撃は、Microsoft Windowsの脆弱性を悪用してファイルを暗号化し、身代金の支払いを要求しました。 ランサムウェア攻撃では、Microsoft Windowsの脆弱性を悪用してファイルを暗号化し、身代金を要求しました。
  3. この BlueKeep の脆弱性は Microsoft Windows に存在し、攻撃者が脆弱なシステム上で任意のコードをリモート実行できるようにします。
  4. BashのShellshock脆弱性により、攻撃者は任意のコードを実行し、システムに不正アクセスできます。
  5. この EternalBlue はMicrosoft Windowsの脆弱性で、攻撃者が任意のコードをリモート実行し、ネットワーク全体にマルウェアを拡散することを可能にします。
  6. Bash の Shellshock 脆弱性により、攻撃者は任意のコードを実行し、システムへの不正アクセスを得ることができます。
  7. Microsoft Windows の EternalBlue 脆弱性により、攻撃者はネットワーク上で任意のコードをリモート実行し、マルウェアを拡散させることが可能です。

ゼロデイ脆弱性とは?

「 脆弱性とは、まだ発見されていない、あるいは公に開示されていないセキュリティ上の欠陥を指します。つまり、攻撃者は、その脆弱性が修正される前に悪用することができ、システムやネットワークへの不正アクセスが可能になります。ゼロデイ脆弱性は、被害者に知られていないため、防御が困難であり、特に危険です。 」脆弱性とは、まだ発見されていない、または公表されていないセキュリティ上の欠陥です。攻撃者はパッチの適用や修正が行われる前に悪用し、システムやネットワークに不正アクセスできます。ゼロデイ脆弱性は被害者がその存在を知らず、対策が難しいため、特に危険です。

Security Vulnerability - Zero-day Vulnerability | SentinelOne

マルウェアは脅威か、それとも脆弱性か?

マルウェア は脆弱性ではなく、脅威の一種です。脆弱性とは、攻撃者が不正アクセスや被害を引き起こすために悪用できる、システムやネットワークの弱点です。一方、マルウェアは脆弱性を悪用してシステムやネットワークを侵害するよう設計された悪意のあるソフトウェアです。つまり、マルウェアは脆弱性を悪用してシステムやネットワークにアクセスしますが、それ自体は脆弱性ではありません。

マルウェアと脆弱性のどちらがより危険かは、状況によって異なるため一概には言えません。脆弱性がなければ、マルウェアはシステムやネットワークを侵害できません。一方、マルウェアがなければ、攻撃者は脆弱性を悪用して侵入できません。潜在的な影響として、マルウェアはデータの窃取、ファイルの暗号化、業務の妨害など、システムやネットワークに重大な被害をもたらす可能性があります。一方、脆弱性そのものはシステムやネットワークに直接影響しない場合もありますが、攻撃を受けやすくします。マルウェアと脆弱性はいずれも深刻なサイバーセキュリティ上の脅威であり、包括的なセキュリティ戦略の一環として対処する必要があります。


Callout Background Image Gradient

AIを活用したサイバーセキュリティの実現

リアルタイムの検知、マシンスピードのレスポンス、デジタル環境全体の可視化により、セキュリティ態勢を強化します。

まとめ

ソフトウェアの脆弱性によるリスクは、定期的なパッチ適用や更新、安全な開発手法の実践によって軽減できます。しかし、攻撃者は新たな脆弱性を絶えず発見して悪用するため、リスクを完全になくすことは困難です。組織は脆弱性を継続的に監視し、効果的な対策を講じてリスクを最小限に抑えることが重要です。

セキュリティ脆弱性に関するよくある質問

セキュリティ脆弱性とは、攻撃者が不正アクセスや被害を引き起こすために悪用できる、ソフトウェア、ハードウェア、プロセス上の欠陥や弱点です。コードのバグ、設定ミス、未適用のパッチなどが該当します。放置すると、マルウェアの侵入、データ窃取、サービスの中断につながります。迅速な発見と修正が、システムの安全性と信頼性を守ります。

バッファオーバーフローでは、攻撃者がメモリバッファの領域を超えてデータを書き込み、任意のコードを実行できます。SQLインジェクションやコマンドインジェクションなどは、信頼できない入力によってクエリやコマンドが改変される脆弱性です。クロスサイトスクリプティング(XSS)では、攻撃者がユーザーのブラウザでスクリプトを実行できます。

アクセス制御の不備は権限昇格につながります。デフォルトの認証情報や開放されたポートなどの設定ミスも、よく見られる問題です。これらは多くの侵害やデータ漏えいの原因となっています。

脆弱性はCVSSなどの仕組みでスコア化されます。CVSSは、悪用の複雑さ、機密性・完全性・可用性への影響、ユーザーの操作が必要かどうかを基に、深刻度を0~10で評価します。チームはさらに、資産の価値、悪用される可能性、事業への影響といった自社環境の要素を加味し、修正の優先順位を決めます。これにより、価値の高いシステムの重大な脆弱性からパッチを適用できます。

脆弱性は、コードレビュー、自動スキャン、欠陥を調べるペネトレーションテストなどで発見されます。バグバウンティプログラムでは、外部の研究者が稼働中のシステムの脆弱性を探します。セキュリティ研究者やベンダーも、新たな欠陥を見つけると勧告を公開します。インシデント調査で、これまで見過ごされていた修正すべき弱点が明らかになることもあります。

責任ある開示は、まずベンダーや管理者に非公開で通知し、修正までの予定を合意することから始まります。その後、ベンダーは一般公開前にパッチを開発・テストします。協調的な脆弱性開示では、勧告とパッチを同時に公開し、詳細が公になる前にユーザーが更新できるようにします。これにより、攻撃者が問題を悪用できる期間を短縮します。

主な指標には、脆弱性の発見からパッチの適用までにかかる平均時間があります。システム全体のパッチ適用率と、未対応の重大度が高い脆弱性の件数を追跡します。脆弱性の再発率を測定し、プロセスの問題を特定します。脅威フィードで攻撃の傾向も監視し、未修正の脆弱性が実際に攻撃されているかを確認して、対応の優先順位を決めます。

さらに詳しく見る サイバーセキュリティ

Decorative background gradient

最先端のサイバーセキュリティプラットフォームを体験

世界で最もインテリジェントで自律型のサイバーセキュリティプラットフォームが、現在そして将来にわたって組織をどのように保護できるかをご覧ください。
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text