脆弱性の注意喚起から攻撃までの期間がますます短くなる――。2017年4月26日に開催された「危険な脆弱性にいかに対処するか 実践的ウェブサイト防衛セミナー」では、ゼロデイ攻撃などに備えるための能動的なWebサーバ防御の在り方について、セキュリティコンサルタントの徳丸浩氏が最近の事案を踏まえてレクチャーした。
大量の情報流出を伴うセキュリティインシデントは、今ではすっかり日常の出来事になってしまった感がある。セキュリティ対策機関がソフトウェアの脆弱(ぜいじゃく)性情報を公表する前にアタックされてしまう「ゼロデイ攻撃」はまだそれほどは発生してはいないものの、情報の公表から数時間以内に攻撃が始まってしまうケースは多発しており、企業のセキュリティ管理者にしてみれば“不可抗力”との思いが強いことだろう。
ただし、情報セキュリティを巡る外部の状況がいかに意に沿わないものであったとしても、情報流出の防止は経営層やセキュリティ管理者に与えられた至上命令である。“危ない”情報は持ち歩かないようにしたり、暗号化したりする――、侵入されたという事実を早期に把握してシステムを停止したり、ネットワークの“出口”を閉じたりする――、といった次善策であってもよいから、可能な範囲での防衛行動は絶対に必要だ。
2017年4月26日に開催された「危険な脆弱性にいかに対処するか 実践的ウェブサイト防衛セミナー」(EGセキュアソリューションズ(旧社名:HASHコンサルティング)/ジェイピー・セキュア共催)の目玉は、EGセキュアソリューションズの徳丸浩氏(代表取締役)による「脆弱性によるウェブサイト侵入の現状と今できる対応策」と題したセッション。徳丸氏は最近発生した大型の情報流出事件について、その原因と経緯、そして「どうすれば事件の発生を防げたか」「どうすれば被害を緩和できたか」を詳細に解説してくれた。
まず、取り上げられたのは、2017年3月に発見された「Apache Struts2の脆弱性」(CVE-2017-5638/S2-045)だ。「この事案は、情報公開のやり方が悪かったために、結果的にゼロデイ攻撃になってしまいました」と徳丸氏。具体的には、GMOペイメントゲートウェイが運営していた2つの決済サービスWebサイト(東京都の都税クレジットカードお支払いサイト/住宅金融支援機構の団体信用生命保険特約料クレジットカード支払いサイト)から約72万件のクレジットカード情報が流出した可能性がある、というセキュリティインシデントである。
徳丸氏の「情報公開のやり方が悪かった」という指摘は、独立行政法人 情報処理推進機構(IPA)の注意喚起(2017年3月8日午後)とJPCERTコーディネーションセンター(JPCERT/CC)の注意喚起(2017年3月9日午前)に先立つ2017年3月6日の19時ごろに「S2-045」のアドバイザリーが公開され、Apache Struts2の修正版が「dev」リポジトリにアップロードされてしまったことを指している。
つまり、攻撃者は「dev」ディレクトリにアップロードされた修正コードから脆弱性の詳細内容を知り(または推測して)、その脆弱性を突く悪用コードを急いで作成して、注意喚起が公開される前に2つの決済サービスWebサイトを攻撃したとみられている(図1)。
一方で、脆弱性に関する非公式情報が早期に世に出たことによって、防御策もそれだけ早く出来上がることにもなった。
例えば、ジェイピー・セキュアでは、IPAやJPCERT/CCが脆弱性の注意喚起を出す前の3月7日20時に自社のWebアプリケーションファイアウォール(WAF)「SiteGuard」シリーズ向けにS2-045対応のシグネチャの配信を開始している。「SiteGuardを設置して、自動更新モードで運用していれば、3月8日の早朝と推定されるGMOペイメントゲートウェイへの攻撃は防げていたでしょう」と徳丸氏は指摘する。
もちろん、ソフトウェア開発者側でも、脆弱性情報を公開することが攻撃者を利する“もろ刃の剣”になりかねないことはよく承知している。修正版の配信と同時に脆弱性情報を公開するという方法がこれまで一般にとられてきたのも、そのためだ。
例えば、2017年1月〜2月にかけて「WordPress.org」がとった情報公開の先送り策。徳丸氏は、「1月26日に更新版のWordPress 4.7.2がリリースされたときは、最も深刻な脆弱性であるWordPress REST APIについての脆弱性情報は伏せられ、1週間の猶予期間が過ぎた2月1日にブログで初めて公開されました」と説明する。
しかし、情報を伏せても、攻撃者が何らかの方法で脆弱性の存在を突き止めてしまうことはある。事実、オープンソースソフトウェアのコンテンツ管理システム(CMS)「Joomla!」の場合、修正版Ver.3.4.6の配信(2015年12月14日)が始まる2日前にはゼロデイ攻撃が発生していたことが、セキュリティベンダーによって確認されている。このときには、国内の地域ポータルサイトがスパムメール大量送信の足掛かりにされてしまうというセキュリティインシデントが発生した。
脆弱性情報の公開は早すぎても、遅すぎてもいけない――。
このような教訓から、ソフトウェア開発者の側では“早すぎず、遅すぎず”の情報公開に向けた模索がすでに始まっているという。
その1つが「Joomla! Security Strike Team(JSSK)」が2016年10月に発した“事前予告”という手法だ。Joomla!では、まず、機能追加などを含まない“脆弱性対策だけの修正版”を用意。さらに、この修正版を適用するための準備期間をユーザーに与えるために、配布の4日前に予告するようにした(図2)。
「明言はされてはいませんが、これは“機能追加による副作用の心配はないので安心して適用してほしい”という意味です」と、徳丸氏は説明する。ただし、“脆弱性対策だけの修正版”は最新版にしか適用できないことが多いので、日頃から最新版を適用しておくことが重要だとも付け加えた。
これらの事案からセキュリティ管理者が学べることは幾つかある。セミナー終了後、徳丸氏にゼロデイ攻撃の被害に遭わないための心構えや企業が行うべき具体的な対策方法をあらためて伺った。
まず、IPAやJPCERT/CCによる公的な注意喚起が“間に合わない”場合もあるということを知っておいてほしいとのこと。少しでも早く情報を入手するには、情報セキュリティ関連のコミュニティーやブログ/SNSを定期的にチェックしてほしいと徳丸氏はアドバイスする。
また、ソフトウェア開発者が提供する修正版は、なるべく早く適用しておくことが望ましいとも指摘。機能追加による副作用の懸念があることは確かだが、「一般論としては、システムを安全側に倒して、修正パッチは早く当てるのがよい」というのが徳丸氏のお勧めだ。
ソフトウェア開発や環境構築の時点で考えておかなければならないこともあるという。例えば、サービス提供に不要な情報は、データベースなどに持たないことだ。PCI DSS(クレジットカードの情報保護基準)はセキュリティコード(クレジットカードの裏面に印刷されている4〜8桁の数字)を保管することを禁じているし、クレジットカード番号も記録しない方が賢明であるという。
データベースやファイルに対するアクセス権限も注意深く設定しておく必要があるという。「鍵の保存方法に課題はありますが、暗号化にも一定の有用性はあります」と、徳丸氏。情報流出に対する最後の砦としては、外向き通信を制限することも有効な手段であるという。
運用管理面では、どのような事態になったら業務システムを止めるかについて、社内のルールと体制を整備しておくことも重要になるという。システム停止を容易にするには、切り戻しのための手段(仮想ディスクイメージのバックアップなど)を確保しておくとよいとのこと。
多層防御も防衛対策には非常に有効であり、それに役立つセキュリティソリューションとして徳丸氏はWAFの他、改ざん検知システム、SELinuxなどを挙げた。
特に、WAFは「SQLインジェクションやOSコマンドインジェクションであれば、標準のシグネチャで防御できる可能性が高い」(徳丸氏)ことがポイントだ。非公式の脆弱性情報にも素早く対応してくれるベンダーの製品を選べば、さらに安心度が高まるという。
改ざん検知システムの強みは、マルウェアやバックドアが仕込まれたことを素早く検知できること。SELinuxは、Linuxベースのシステムに強力なアクセス制御の仕組みを組み込むのにぴったりとのことだ。
【徳丸氏が教えるWebサイトを守る最適防衛策】
――脆弱性の排除(脆弱性情報の速やかな把握が重要に)
――ログインを強固に
――パッチ適用等を見越したプラットフォーム選定
――緊急性がなくてもバージョンアップを行っておく
――サイトの使用期間に渡ってサポートが継続するソフトウェアを選定する
――ファイルパーミッションの制限
――SELinuxの活用
――WAFの導入
――改ざん検知システムによる早期検知と対策
徳丸氏に続いて登壇したのは、ジェイピー・セキュアの矢次弘志氏(取締役 プロダクト推進部長)。「ウェブサイトを守る『SiteGuardシリーズ』のご紹介」と題したセッションでは、同社の国産WAF製品の特長を紹介。新しいセキュリティ脅威にも公的な注意喚起に先んじて対応していることをアピールした。
SiteGuardシリーズの第1の特長として矢次氏が挙げたのは、広範なインフラに導入できるソフトウェア製品のWAFであること。ネットワーク構成を変えずにシンプルに導入したり、クラウドに組み込んだりするにはホスト型の「SiteGuard Lite」と、複数のWebサーバをまとめて防御するにはゲートウェイ型の「SiteGuard」の2つが提供されており、システム構成によって柔軟に使い分けられることが大きな魅力でもある(図3)。
第2の特長は、導入が容易なこと。「導入ウィザードを使ってインストールした後は、GUIの管理画面で設定するだけです。標準の構成であれば半日、早ければ1〜2時間で初期設定は完了します」と矢次氏は説明する。
また、基本的にはシグネチャベースで攻撃を防ぐので、難解なセキュリティポリシー設計も不要だ。同社でチューニング済みのシグネチャがあらかじめ組み込まれているので、情報セキュリティの専門家でなくても手間をかけずにWebサーバの保護を開始することができる。
第3の特長は、使用を開始してからの運用管理に要する工数が少ないこと。純国産のソフトウェア型WAF製品なので、マニュアルから画面のメニュー、警告ページ、検出通知など、全て日本語で表示される。生ログをローカル側に複製して参照することもできるので、管理作業を柔軟に行うことが可能だ。
また、シグネチャ更新は「自動」「手動」「オフライン」の3方式を利用できる。シグネチャ更新を「自動」に設定しておくと、最新の脅威に対応したシグネチャを同社が作成した都度、その内容がWAFに自動的に組み込まれるようになる。
徳丸氏の指摘にもあったように、脆弱性へのジェイピー・セキュアの対応スピードは極めて速い。2017年3月に発見されたApache Struts2の脆弱性(CVE-2017-5638/S2-045)については、IPAによる注意喚起の前日にシグネチャを配信。2011年8月のApacheの脆弱性(Apache Killer)の場合は5日前に対応を済ませている。その他の注意喚起についても、対応は同日またはプラス1日と迅速さだ。
価格も非常に魅力的だ。ホスト型のSiteGuard Liteは最小構成で25万2000円(税別、新規価格)から。評価版サービス(90日間有効、技術サポート付き)も用意されている。
専任のセキュリティ担当者がいないので、情報セキュリティ関連のコミュニティーやブログ/SNSを毎日チェックするわけにいかない――。SiteGuardシリーズは、このような企業にぴったりの情報セキュリティソリューションとなる。もちろん、シグネチャの更新には自動方式を選ぶのがベストだ。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:株式会社ジェイピー・セキュア
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2017年6月29日