IT系の記事を担当とするものとして、このブログ執筆を担当しはじめた最初の頃は、情報セキュリティに関する話題を中心に、システムの脆弱性について何度か書かせて頂きました。
しかし、久しくその話題について触れていませんでした。
先日、ある勉強会で脆弱性情報の活用について話をしたこともあり、今回の記事では情報セキュリティの話題の中でも、脆弱性対策について改めて話を進めたいと思います。
脆弱性対策の効果的な進め方(その1:脆弱性情報の収集)
まず、最初に「脆弱性」について整理しましょう。
総務省のWebサイト:
「総務省 安心してインターネットを使うために国民のための情報セキュリティサイト」
には、
脆弱性(ぜいじゃくせい)とは、コンピュータのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥のことを言います。脆弱性は、セキュリティホールとも呼ばれます。
脆弱性が残された状態でコンピュータを利用していると、不正アクセスに利用されたり、ウイルスに感染したりする危険性があります。引用:安心してインターネットを使うために国民のための情報セキュリティサイト
とあります。
つまり、「脆弱性対策」を行うことは、『情報セキュリティ上の欠陥に関する脆弱性の情報を入手すること』から始まると言えます。
この「脆弱性の情報」は、
・脆弱性対策情報データベース(JVN iPedia)
・情報処理推進機構(IPA)
・JPCERTコーディネーションセンター(JPCERTCC)
などから発信されるものが主たるものと言われていますが、そのほか
・島根県サイバーテロ対策協議会によるセキュリティ関連ニュース
(メールマガジン)
・警察庁@policeによるメールマガジン
でも取得することができます。
脆弱性対策の効果的な進め方(その2:管理対象の台帳化)
次に入手した脆弱性の情報をどのように活用し、対応を進めていけばよいのか、具体的な対応について考えてみましょう。
例えば7月29日に出された「JPCERT/CC WEEKLY REPORT 2020-07-29」にはこんな情報がありました。
「WordPress 用プラグイン Social Sharing Plugin におけるクロスサイトリクエストフォージ
ェリの脆弱性」
WordPressはWebサイトを運用される組織では多く利用されているアプリケーションです。このような脆弱性が出されたときに、どのように対応するべきでしょうか。
こんな経験はありませんか。

WordPress用プラグインの脆弱性の情報が出たけど、うちが管理しているサーバにこのプラグインは入ってるのか?



ええっと、、システムの一覧表ってどこにあるんでしたっけ。。。



おい、これって、急いで対策しないとまずくないか!?



今週は忙しくて無理です。来週でいいんじゃないでしょうか。



本当なのか?誰に聞けば、それがわかるんだ?



誰もわからないって言ってます!



いや、確か○○グループのあいつならわかるはずだ!
今どこにいる?



今日はお休みで、連絡が付きません。



じゃあ、ドキュメントを確認してみるしかないか!ファイルサーバのプロジェクトのファイルを見てみろ。



ファイルありましたけど、ドキュメントのタイムスタンプは2年前のもので更新されてないみたいです。。



こんな状態で、一体どうすればいいんだ!!
チャンチャン
いかがですか?
笑えるようで、笑えない状態ですよね。
以上のように自分たちが管理しているシステムやアプリケーションを明確にしていないと、対策を開始することさえできません。
そこで、脆弱性対策は、この管理すべき対象の「台帳」を整備することが第一歩となります。
この「台帳」には
・ハードウェア、ソフトウェアの名称
・型番
・バージョン
・設定内容 等々
の情報を整理していくことが基本となります。
脆弱性を持つサーバやネットワーク機器が直接インターネットからアクセス可能なところに設置されていれば、即座に対応する必要があります。
しかし、ネットワーク上に不正侵入防御装置(IPS)やWeb Application Firewall(WAF※)が導入されていれば、それらの機能で守られる可能性もあり、対応の緊急性は下る場合もあります。
※Webアプリケーションのぜい弱性を悪用した攻撃からWebサイトを保護するセキュリティ対策のこと
それらを判断するためには、
・ネットワーク構成図
・システム機能図(どのような機能があり、どのようなデータのやり取りをしているのか)
等々のドキュメントが必要となります。
このように、脆弱性対策を進めるためには、これらの情報を如何に管理するかが「キモ」となります。
脆弱性対策の効果的な進め方(その3:運用体制の整備)
脆弱性に関する情報を取得する、管理すべきシステム/機器/ソフトウェアの台帳はある、となれば、次に重要なのは体制です。
必要な役割を例示します。
(1)認知チーム
脆弱性情報を取得し、台帳と照らし併せて対応が必要なものがあるかどうかをチェックする
(2)分析チーム
認知チームにて該当のものがあった場合に、対応の必要の有無や緊急度合を分析する
(3)対策チーム
分析チームにて対策が必要と判断した場合に、対象となる機器
やシステムに対策を実施する
(4)管理チーム
認知チーム、分析チーム、対策チームの進捗をチェックする
これらのチームや役割を明確にし、さらに責任者も任命することで、確実に運用が回る体制を作ることが必要です。
私どもは仕事がら、このような運用体制により脆弱性対策を日々の業務として行っています。
しかし、一般の企業や組織では、一気にこのような体制を作り、運用していくのは現実的になかなか難しいでしょう。
とは言うものの、IT資産無しで仕事はできません。
そこで、安心して仕事をするためにも、今回お伝えしたように脆弱性対策を効率的に行うには
- 脆弱性情報の収集
- 管理対象の台帳整備
- 運用体制の整備
がポイントになるということを踏まえ、自社でどの程度脆弱性対策ができているのかを改めて確認頂ければと思います。