脆弱性の意味を正しく理解する―種類・悪用リスク・企業が取るべき対策

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

脆弱性の意味を正しく理解する―種類・悪用リスク・企業が取るべき対策アイキャッチ画像

「脆弱性(ぜいじゃくせい)」という言葉を見かけても、正確な読み方や意味を知らない方も多いかもしれません。特にITやセキュリティの分野ではよく使われる専門用語ですが、近年では一般的なニュースや記事でも登場するようになってきました。本記事では、脆弱性の正しい意味、よくある誤解、攻撃との関わり、企業が取るべき対策までを体系的に整理し、分かりやすく解説します。

脆弱性とは何か?

「脆弱性(ぜいじゃくせい)」とは、システム・ソフトウェア・ネットワークなどに潜む“攻撃されやすい弱点”を指す言葉です。サイバー攻撃の多くは、この脆弱性を足がかりにして侵入や情報漏えいを引き起こします。しかし、「脆弱性 意味」「脆弱性とは何か?」と問われると、具体的に説明できない人も少なくありません。

脆弱性の読み方と語源

「脆弱性」は「ぜいじゃくせい」と読みます。

「脆」(ぜい):もろい、こわれやすいという意味
「弱」(じゃく):よわい、力が足りないという意味
「性」(せい):性質や特徴を示します

つまり、「壊れやすく弱い性質」という意味で、セキュリティ分野では“攻撃に利用される欠陥や弱点”を指す言葉として使われます。

脆弱性とは?意味をさらに深く解説

脆弱性とは、不正アクセスやコンピュータウイルスなどの攻撃により、その機能や性能を損なう原因となり得るセキュリティ上の問題箇所のことです。英語では 「vulnerability」(「攻撃を受けやすいこと」の意) と呼ばれます。

IT分野では、システムやソフトウェアに存在するセキュリティ上の弱点を意味します。たとえば、プログラムの不備や設定ミスなどにより、外部から不正アクセスを許してしまうような状態が「脆弱性」です。

脆弱性の多くは、「プログラムの設計ミスやコーディングミスなどによるバグ」になります。バグが存在せず正しく動作するプログラムやWebアプリケーションであっても、設計者が想定しないやり方で機能が悪用され、 結果としてサイバー攻撃が成立する場合には、その「悪用されうる機能設計」が脆弱性とみなされます。

脆弱性が攻撃の入口になる理由

攻撃者はまず「侵入できる弱点がないか」を探します。この弱点こそが脆弱性です。例えば、

  • 公開された脆弱性のパッチを適用していない
  • 古いプログラムを長期間放置している
  • 不要なサービスやポートを開けたまま

といった状態は、攻撃者に「ここから入れる」と示しているようなものです。実際、多くのサイバー攻撃は “脆弱性の悪用” から始まっています。

脆弱性が多く報告されるソフトウェアに共通する特徴

脆弱性が数多く報告されているのは、一体どんなソフトウェアでしょう。ひとつ共通することは「ユーザが多い」ということです。たとえば、皆さんがこのサイトをご覧になっているWebブラウザ、そのWebブラウザが動作するMicrosoft WindowsなどのOS、ビジネスでよく使われるPDFファイルを扱うAdobe Acrobat、WebサーバソフトのApache、データベースアプリケーションのMySQLなどです。いずれも、全世界に膨大な数のユーザを持つソフトウェアであり、規模のインパクトという点から、攻撃者にとって極めて魅力的、いわば人気があるのです。かつ、このようなソフトウェアでは、開発元において、脆弱性を早期に発見し、修正プログラムの公開、所定機関への報告を迅速に行う必要性が高いことから、報告件数が当然ながら多くなる傾向がみられます。

ここまでの説明でお気づきかもしれませんが、「脆弱性が多く報告されている」ことは必ずしも「品質が悪い」ことを意味するのではありません。脆弱性が存在してもそのことが報告・公表されていなければ、「脆弱性がある」とは認知されないわけです。

脆弱性を放置するとどうなる?企業への影響

脆弱性をそのままにしておくと、次のような重大なリスクがあります。

  • 重要情報(顧客情報・社員情報・機密情報等)の漏えい
  • サイバー攻撃(ランサムウェア攻撃等)を受けるリスク
  • サービス停止や業務停止リスク

特に近年は、脆弱性を狙った攻撃が高度化し、攻撃者が自動的に弱点を探索するツールも普及しています。「気づいたら侵入されていた」というケースも少なくありません。

脆弱性を突かれた場合のリスク

悪意のある第三者によって脆弱性を突かれてしまった場合、問題箇所の悪用、コンピュータ内部データ(情報)の盗取・改竄・削除、また他のコンピュータへの同様の悪事が可能になります。その結果、不正アクセスや自動的に動作させるウイルスやボットに感染する恐れもあります。また、システムやサービス全体という視点からは、設定に関して何らかの誤りがある場合など、設定ミスが脆弱性とみなされます。たとえば、ポートの開放に関する設定、権限管理、AWSをはじめとするクラウドサービスの設定ミスがセキュリティ事故を招いた例は枚挙に暇がありません。

脆弱性を悪用したセキュリティ事故は日々発生しています。SQAT.jpでは以下の記事でも取り上げていますので、ぜひあわせてご参考ください。

● 「定期的な脆弱性診断でシステムを守ろう!-放置された脆弱性のリスクと対処方法-
● 「備えあれば憂いなし!サイバー保険の利活用

企業が実施すべき脆弱性対策

脆弱性対策の基本的な考え方としては、システムの欠陥をつぶし、脆弱性を無くすこと(「攻撃の的」を無くすこと)が最も重要です。企業での実践方法としては以下の項目があげられます。

修正パッチの適用


衣服等の破れを補修する「継ぎ当て」や傷口に貼る「絆創膏」のことを英語で「パッチ(patch)」と言いますが、脆弱性を修正するプログラムも「パッチ」と呼ばれます。修正プログラムを適用することは「パッチをあてる」と言われたりします。パッチをあてることにより、システムに影響が及ぶ場合があります。適用にあたっては事前に調査を行い、必要に応じて十分な検証を実施してください。なお、自組織で開発したシステムに関しては、必ずテスト環境を用意し、パッチ適用による整合性チェックを行いましょう。

ソフトウェアやOSの定期的なアップデート

アップデートされた最新バージョンでは既知の脆弱性や不具合が修正されていますので、後回しにせずに更新を行うようにしてください。

セキュアプログラミングで脆弱性を作りこまない体制に

自組織で開発したソフトウェアやWebアプリケーション等の場合は、サービスが稼働する前の上流工程(開発段階)から、そもそも脆弱性を作り込まない体制を構築することが大切です。

また、テレワーク環境では、以上の項目に加え、クライアントサイドでのパッチ適用が適切に行われているかをチェックする体制を構築することも重要です。また、シャドーITの状況把握も厳格に実施する必要があります。

「IT部門が知らないサービスを勝手に利用され、結果として脆弱性の有無について未検証のクライアントソフトやブラウザプラグインが使われていた」という事態は防がねばなりません。

脆弱性情報はWebサイトでチェックできる

脆弱性は、さまざまなソフトウェアやプラットフォームで日々発見されています。そうした情報は、多くの場合、ソフトウェアやプラットフォーム提供元のWebサイトに掲載されます。
少なくとも、自組織で利用している主要なプラットフォームに関しては、緊急性が高い脆弱性が出現していないかどうかを、提供元のWebサイトで定期的にチェックするとよいでしょう。

JVNを利用した脆弱性情報の正確な情報収集と活用法

一般社団法人JPCERTコーディネーションセンターとIPA(独立行政法人情報処理推進機構)では、公表された脆弱性情報を収集して公開するサービス「JVN(Japan Vulnerability Notes)」を共同運営しています。日本で利用されている大半のソフトウェアの脆弱性の情報は、このサイトでチェックできます。

脆弱性情報ソースと活用

インシデントやゼロデイの発生情報については、セキュリティ専門のニュースサイト、セキュリティエバンジェリストのSNSなどからも情報をキャッチできます。

情報の裏取りとして、セキュリティベンダからの発表やtechブログ等を参照することもと重要となります。攻撃の影響範囲や危険度を確認するには、Exploitの有無を技術者のPoC検証ブログやNVD等で確認することも有効です。

ツールを使って脆弱性を見つける

脆弱性を発見するためのソフトウェアは「チェックツール」「スキャンツール」「スキャナ」などと呼ばれます。以下に、代表的なものをご紹介しましょう。有償、無償のさまざまなツールが提供されていますので、機能や特徴を知り、ニーズに合致するものを試してみてはいかがでしょうか。

  有償ツール 無償ツール
Webアプリケーション向けAppScan、Burp Suite、WebInspect など OWASP ZAP など
サーバ、ネットワーク向け Nessus(一部無償)、nmap など Nirvana改弐、Vuls など

「脆弱性診断」サービスで自組織のソフトウェアの脆弱性を見つける

上記でご紹介したツールを使えば、脆弱性のチェックを自組織で行うことが可能です。しかし、前述の通り、「脆弱性が存在するのに報告されていない」ために情報がツールに実装されていないソフトウェアも数多くあります。また、一般に広く利用されているソフトウェアであれば次々に脆弱性が発見、公開されますが、自組織で開発したWebアプリケーションの場合は、外部に頼れる脆弱性ソースはありません。さらに、実施にあたっては相応の技術的知識が求められます。そこで検討したいのが脆弱性診断サービスの利用です。脆弱性の有無を確認するには、脆弱性診断が最も有効な手段です。

脆弱性診断サービスでは、システムを構成する多様なソフトウェアやWebアプリケーション、API、スマホアプリケーション、ネットワークなどに関し、広範な知識を持つ担当者が、セキュリティ上のベストプラクティス、システム独自の要件などを総合的に分析し、対象システムの脆弱性を評価します。組織からの依頼に応じて、「自組織で気付けていない脆弱性がないかどうか」を調べる目的のほか、「脆弱性に対して施した対策が充分に機能しているか」を検証する目的で実施することもできます。

対策が正常に機能しているかの検証を含めた確認には専門家の目線をいれることをおすすめしています。予防的にコントロールをするといった観点も含め、よりシステムを堅牢かしていくために脆弱性診断をご検討ください。

脆弱性との共存(?)を図るケースもある

最後に、診断で発見された脆弱性にパッチをあてることができないときの対処法をご紹介しましょう。

まず、「パッチを適用することで、現在稼働している重要なアプリケーションに不具合が起こることが事前検証の結果判明した」場合です。このようなケースでは、システムの安定稼働を優先し、あえてパッチをあてずに、その脆弱性への攻撃をブロックするセキュリティ機器を導入することで攻撃を防ぎます。セキュリティ機器によって「仮想的なパッチをあてる」という対策になるため、「バーチャルパッチ」とも呼ばれます。

また、脆弱性が発見されたのがミッションクリティカルなシステムではなく、ほとんど使われていない業務アプリであった場合は、脆弱性を修正するのではなく、そのアプリ自体の使用を停止することを検討できるでしょう。これは、運用によってリスクを回避する方法といえます。

なお、前項でご紹介した脆弱性診断サービスの利用は、脆弱性に対して以上のような回避策をとる場合にも、メリットがあるといえます。発見された脆弱性について、深刻度、悪用される危険性、システム全体への影響度といった、専門サービスならではのより詳細な分析結果にもとづいて、対処の意思決定を行えるためです。

まとめ:脆弱性を理解することが攻撃対策の第一歩

「脆弱性とは何か?」を正しく理解することは、サイバー攻撃に備えるうえで最も基本かつ重要なステップです。脆弱性は放置すれば攻撃者にとって“格好の入口”となり、情報漏えいやサービス停止など重大な被害を招きかねません。自社システムの安全性を確保するためにも、日頃から更新・診断・運用の見直しを行い、脆弱性を適切に管理することが求められます。

関連情報

● 脆弱性診断の必要性とは?ツールなど調査手法と進め方

Webアプリケーション脆弱性診断バナー

Security NEWS TOPに戻る
バックナンバー TOPに戻る

資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像