Introduction
セキュリティの脆弱性対策が重要なことはわかっているが、どの程度重要なのか、具体的に何をすべきかわからないという方も多いでしょう。普段から適切なセキュリティ対策を講じるためには、脆弱性について正しく理解する必要があります。
この記事では、脆弱性とは何か、具体的な脆弱性の種類、脆弱性対策の重要性などについて詳しく解説します。
目次
脆弱性とは?
情報セキュリティ対策を万全に行うために、脆弱性とは何かをご説明します。
脆弱性とは「サイバーセキュリティ上の欠陥」
「脆弱性」とは、コンピューターのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生したサイバーセキュリティ上の欠陥のことを言います。(参照:総務省)
パソコンやサーバー、ネットワーク機器に搭載されているOSやソフトウェアには、設計ミスやプログラムのバグが混入していることがあります。この脆弱性を突いて、コンピューターウイルスなどが侵入することがあるのです。
たとえば、あるソフトウェアにプログラムのバグが存在し、個人情報を格納する変数のマスキング処理が不十分だったとします。悪意のある第三者がこの事実を知れば、バグが改修される前に個人情報を盗み出し悪用しようとするでしょう。
このように、OSやソフトウェアなどに脆弱性が存在すると、セキュリティの脅威になることがあります。
情報セキュリティリスクの要因は「脅威」と「脆弱性」にある
情報セキュリティのリスクが生じる要因には「脅威」が存在することと、脅威が入り込む隙になる「脆弱性」が存在することの二つがあります。脅威だけでは入り込めなくても、弱点である脆弱性があれば、侵入を許してしまうこともあります。
脅威自体を制御するのはむずかしいですが、脆弱性への対処をすることは、セキュリティリスクを防ぐ有効な手段なのです。
脆弱性とセキュリティホールの違い
脆弱性とよく似た言葉に「セキュリティホール」というものがあります。セキュリティホールとは、プログラムの不具合などによって脆弱性が生じている状態のことを指します。
一方、脆弱性は不具合だけが原因とは限らず、不具合がない状態や最新バージョンになっている状態でも存在することがあります。
関連サービスについて
代表的な脆弱性の種類
脆弱性には具体的にどのようなものがあるのでしょうか?ここでは、代表的な脆弱性について、具体例も含めてご紹介します。
SQLインジェクション
データベースと連携したアプリケーションに潜む脆弱性です。アプリケーションへのリクエストにデータベースを閲覧、更新、削除するようなSQL文を組み込むことで、外部からデータベースを操作します。これにより顧客情報などを盗み出したり、勝手に書き換えたりする被害に遭う可能性があります。
SQLインジェクションについてはこちらもご覧ください。
>>SQLインジェクションとは?手口や被害事例、対策をわかりやすく解説のページへ
クロスサイトスクリプティング
掲示板などの書き込み可能なWebサイトに悪意のあるスクリプト(命令文)を書き込むことで、悪意あるWebページを表示させるものです。ユーザーが悪意のあるWebページを表示することでスクリプトが実行され、偽情報の流布や情報漏洩などを引き起こしてしまいます。
クロスサイトスクリプティングについてはこちらもご覧ください。
>>クロスサイトスクリプティング(XSS)とは?手口や被害事例、対策をわかりやすく解説のページへ
OSコマンド・インジェクション
Webサイトの入力フォームなどに悪意あるOSコマンドやプログラムの実行コードを入力することで、Webサーバーがそれを実行してしまうことがあります。その結果、Webサイトが不正な実行コードを行うための踏み台にされてしまうのです。
たとえば、入力フォームにメールを送信した後にログを削除する実行コマンドを入力し、サーバー側でその操作を実行したとします。すると、悪意ある第三者に操られてスパムメールを送り、さらに証拠となるログまで消されてしまいます。
バッファエラー
プログラムを実行する際には、変数やデータなどを格納するためにメモリ領域を確保します。そのメモリ容量を大幅に超えるデータを送り付けることで領域をあふれさせるのが、バッファエラーです。
これによりシステムダウンやサーバーダウンなどが起きることもあります。
関連サービスについて
脆弱性を放置する危険性
OSやソフトウェアなどの脆弱性を放置すると起きる可能性がある、危険性についてご説明します。
外部から攻撃を受けやすくなる
脆弱性を放置したままだと、外部から悪意ある攻撃を受ける隙ができてしまいます。不正ログインや不正アクセスなどを許すことになり、Webページやデータが改ざん、破壊されることもあります。また、重要な社内情報や顧客情報が盗まれる場合もあるでしょう。
マルウェア(ウイルス)に感染しやすくなる
マルウェアとは、悪意あるプログラムやソフトウェアの総称で、具体的にはランサムウェア、ワーム、スパイウェア、トロイの木馬などがあります。脆弱性を放置するとマルウェアの感染を許すことがあります。
▼あわせて読みたい▼
>>マルウェア対策とは?特徴や種類、感染経路を理解し、事前・事後対策する方法を紹介のページへ
>>ランサムウェアとは?種類や被害事例、感染を防ぐための対策まで詳しく解説のページへ
脆弱性が発生する原因
ここでは、脆弱性が発生する原因についてご説明します。
システムの設計ミス・不具合
データ暗号化の不具合や、任意のスクリプトを実行できてしまうなど、システム設計にそもそもミスや不具合が混入している場合です。いわゆる既存バグに脆弱性が潜んでいる状態です。
管理体制・管理文書の不備
サーバー・ネットワーク機器などのハードウェアやシステム、OS、ソフトウェアなどの種類は非常に多く、管理しきれない現場も多いでしょう。そのような場合、アップデートや最新化などが行き届かず、脆弱性が生まれることがあります。
災害やトラブルに見舞われやすい立地
地震や落雷などの災害やトラブルにより、セキュリティが物理的に守られていたものが守られなくなってしまうこともあります。ファイルやセキュリティソフトなどによるセキュリティ対策だけではなく、データサーバーの物理的なバックアップなども必要です。
アップデートの未実施
OSやソフトウェアなどが常に最新の状態にアップデートされていれば、既知の脆弱性に対しては対応が可能です。しかし、アップデートが正しく行われないと、脆弱性が残ったままとなってしまいます。
従業員による不正行為
従業員が不正を行うことで、データの漏洩や改ざんなどが起こることもあります。システム管理者によるシステム監視やログの収集など、内部犯行向けの対策も必要です。
関連サービスについて
脆弱性が発生するのを防ぐためにとるべき対策
脆弱性の発生を防ぐためには、日ごろからセキュリティ対策を万全に行っておく必要があります。ここでは、必要な対策についてご説明します。
情報セキュリティの担当者をおく
専任の情報セキュリティ担当者を常駐させ、脆弱性が発生していないか監視し、OSやソフトウェアのアップデートなどを対応する必要があります。また、セキュリティインシデントが発生した際に対応できる体制も必要です。
セキュリティに関する最新情報を常に調査・入手する
脆弱性対策を行うためには、日ごろからセキュリティに関する最新情報を知っておく必要があります。
たとえば、ソフトウェアの脆弱性が発表されたら、そのソフトウェアを利用していないか確認し、利用していた場合には修正後にアップデートを行う必要があるでしょう。
脆弱性はいつどこで発見されるかわからないため、常に最新情報を入手できる体制を整えておく必要があります。
脆弱性対策情報を確認する方法
脆弱性に関する最新情報は、IPAの『脆弱性対策情報(JVN)』で確認できます。ソフトウェアなどの脆弱性関連情報や、その対策についてチェックできるのでご利用ください。
OSやソフトウェアのアップデートを欠かさない
脆弱性を突いたセキュリティの脅威を防ぐためには、OSやソフトウェアのアップデートを欠かさないことが重要です。自動更新の状態にしておき、セキュリティソフトのアカウント管理や更新管理を徹底しましょう。
また、年末年始やお盆などの長期休暇に入る際にサーバーやパソコンが長期間停止すると、休み明けに脆弱性を突いたセキュリティ攻撃が起こりやすいため、休暇前後の対策も重要になるでしょう。
社内における不正対策を行う
社内の従業員による不正が起こらないように対策する必要もあります。具体的には、社内ネットワークやデバイス、ファイルサーバーなどへのアクセス権限を付与する、データを持ち出せない仕組みを導入するなどです。必要に応じて監視カメラやアクセスログによる監視も必要になるでしょう。
ハードウェア・ソフトウェアのセキュリティ機能を強化する
ハードウェアやソフトウェアのセキュリティ機能を確認し、必要に応じて強度を高めるのも良い方法です。ソフトウェアそのものを高機能なものに切り替えたり、より強力なファイアウォールを導入したりするなど、状況に応じて対策をとりましょう。
セキュリティ(脆弱性)診断を定期的に行う
常にソフトウェアのアップデートを行い、セキュリティ機能を充実させたとしても、なお脆弱性が潜んでいる可能性は十分あります。そこで、脆弱性がすでに存在していないか、定期的にセキュリティ診断を行うことをおすすめします。
診断してみると、思わぬところに脆弱性が潜んでいることが判明するかもしれません。普段行っているセキュリティ対策が万全であると過信することなく、定期的にセキュリティ診断を行うようにしましょう。
>>SHIFTのセキュリティソリューションのページへ
セキュリティ(脆弱性)診断とは?
セキュリティ診断とはOSやアプリケーション、ネットワークなどを調査し、セキュリティリスクに対する堅牢性がどの程度あるかを調べるものです。あらゆるセキュリティ攻撃の視点を想定し、システム面の脆弱性だけでなく、社内のセキュリティ意識などについても診断します。
セキュリティソフトのアップデートやネットワーク上の不正検知システムなどの対策を行ったうえで、セキュリティ診断も定期的に依頼することをおすすめします。
▼あわせて読みたい▼
>>脆弱性診断とは?診断の種類や必要な理由、やり方やツールについても解説のページへ
>>脆弱性診断のよくある質問にお答えします。種類や必要性、外注先の選び方などのページへ
関連サービスについて
ペネトレーションテストとの違い
セキュリティ診断とよく似たものに、ペネトレーションテストというものがあります。ペネトレーションテストとは、「外部からサイバー攻撃が行われる」、「従業員が情報を盗み出す」などのシナリオを想定したテストのことです。企業ごとの体制や業務手順などを考慮して検証をしていきます。
対して、セキュリティ診断とは、アプリケーションセキュリティ検証標準(ASVS)などの特定の基準をもとに検証するものです。
自社の社内ネットワークに外部から侵入できる隙があるのか、内部犯罪は可能かなどを知りたい場合は、ペネトレーションテストが有効です。一方で、新規のWebサービスを立ち上げるなら、一定の基準に沿ったセキュリティ要件を満たしているか確認するためにセキュリティ診断を行うべきでしょう。
このように、目的に応じて適した診断を行う必要があります。
セキュリティ(脆弱性)診断の内容
セキュリティ診断では、アプリケーション、ネットワーク機器、OS、ミドルウェアなどを診断し不正アクセスできる経路がないか、攻撃が可能な通信ポートがないかなどを検証します。
また、システム的な面だけでなく、社内で不正行為を容易に行える状態になっていないかなどの検証も必要です。
SHIFTのセキュリティソリューションについて
SHIFTでは、セキュリティ戦略や政府機関を対象とするNIST RMFを実現する幅広いサービスを提供します。
セキュリティ監査や診断/ペネトレーションテスト・NIST SP800-171/53ベースのガイドライン策定/アセスメント、CSIRT/PSIRTの構築、各種セキュリティ運用の支援、脆弱性診断やセキュリティ監視などのサイバーセキュリティ領域まで、SHIFTの “標準化・仕組化” ナレッジによって、柔軟かつ高品質なサービスを提供します。
>>SHIFTのセキュリティソリューションのページへ
脆弱性診断サービス資料
SHIFTの脆弱性診断は、ホワイトハッカーの診断プロセスを徹底的に標準化した、手動でもブレのない高い品質水準を誇る診断です。この資料では、脆弱性診断の課題やそれを解決するSHIFTのサービス、選ばれる理由などをまとめています。
SHIFTの脆弱性診断は、ホワイトハッカーの診断プロセスを徹底的に標準化した、手動でもブレのない高い品質水準を誇る診断です。この資料では、脆弱性診断の課題やそれを解決するSHIFTのサービス、選ばれる理由などをまとめています。
まとめ
この記事では、脆弱性とは何か、具体的な脆弱性の種類や対策の重要性などについて詳しく解説しました。
セキュリティ対策は多くの企業にとって重要なテーマであり、対策を怠ると大きな損失が出てしまうことがあります。日々のセキュリティ対策はもちろん重要ですが、定期的なセキュリティ診断を行うことで、積極的に問題点を洗い出すことも大切です。
>>SHIFTのセキュリティソリューションのページへ
>>お問い合わせページへ
>>料金についてページへ