2017年10月23日公開

企業のITセキュリティ講座

【アーカイブ記事】以下の内容は公開日時点のものです。
最新の情報とは異なる可能性がありますのでご注意ください。

「パッチマネジメント」ができない場合でも脆弱性攻撃から守る「WAF」

テキスト/吉澤亨史

最近のサイバー攻撃は、ソフトウェアの脆弱性を悪用する。一般的に脆弱性は、それを解消するパッチやアップデートの提供情報とともに公開される。しかし、現在のシステムは複雑なため、パッチを当てることやアップデートを行う前に検証が必要で、すぐに対応することができない。そうした課題を解決するのが「WAF」だ。ここでは、パッチマネジメントとWAFについて紹介する。

サイバー攻撃が狙う脆弱性とは

サイバー攻撃にもさまざまな種類があるが、多くのサイバー攻撃で悪用されるのがソフトウェアの脆弱性だ。脆弱性とは、ソフトウェアの不具合や想定されていない入力などにより、結果として意図しない動作をしてしまうことを指し、セキュリティホールとも呼ばれる。

脆弱性を悪用するサイバー攻撃には、マルウェア感染を狙うものと不正アクセスを狙うものが多い。例えばマルウェア感染では、マイクロソフトの「Office」や、アドビシステムズの「Acrobat」「Adobe Flash Player」といった広く使用されているソフトウェアの脆弱性を悪用し、細工したファイルを添付したメールを送る。

ユーザーがうっかり添付ファイルを開いても、その内容は問題なく表示され、特におかしな動作もしない。しかし、その裏では脆弱性を悪用してマルウェアが侵入し、さまざまな悪意ある動作を行う。添付ファイルではなく、メールの本文にWebサイトへのリンクを記載し、そのリンク先のWebサイトに不正なファイルが埋め込まれていることもある。この場合も、ユーザーに気づかれないように感染活動が行われる。

最近では、マイクロソフトの「SMB」というサービスの脆弱性を悪用してランサムウェア「WannaCry」の感染が拡大した。通常、マルウェアに感染させるには、ユーザーに「ファイルをクリックさせる」という手順が必要だが、SMBというサービスの脆弱性を悪用することで、ユーザーが何もしなくても「WannaCry」に感染するケースが続出したという。

不正アクセスのケースでは、Webサイトを構成するソフトウェアの脆弱性が狙われる。WebサーバーソフトウェアやCMS(Contents Management System:コンテンツ管理システム)のソフトウェアなどだ。これらの脆弱性を悪用し、Webサイトを改ざんしたり、マルウェアを埋め込んだり、システムに侵入してデータベースにある重要なデータにアクセスしたりする。

脆弱性を悪用したマルウェア感染

目次へ戻る

パッチマネジメントの効果と現実

ソフトウェアの脆弱性は、通常は開発元がバージョンアップの際に解消するケースが多く、対応が完了してから脆弱性に関する情報を公開する。バージョンアップのタイミングでは間に合わないような重大な脆弱性が発見された際には、パッチという形で修正プログラムが提供されることもある。基本的にこうしたバージョンアップやパッチをそのつど適用していれば、脆弱性は解消される。「WannaCry」が悪用した脆弱性も、2017年3月にマイクロソフトが修正プログラムを公開しており、これを適用していれば感染することは無かった。

開発元が公開する脆弱性情報は、サイバー犯罪者もチェックしている。そして、影響の大きい脆弱性が公開されたときには、その脆弱性を悪用するためのコード(エクスプロイトコードと呼ばれる)を作成する。このコードをマルウェアなどに組み込めば、その脆弱性を悪用して感染が行えるようになる。エクスプロイトコードがサイバー攻撃者の間で共有されるまでの時間はどんどん短くなっており、最近では脆弱性情報の公開後、数時間でエクスプロイトコードが作成される。

脆弱性情報の公開から、その脆弱性を悪用するサイバー攻撃が行われるまでの時間が短縮されたことで、公的機関などが公開する注意喚起情報では間に合わなくなってきている。例えば、Webアプリケーションのフレームワークである「Apache Struts 2」の脆弱性とそれを解消するアップデートが、Apacheから2017年3月6日に公開され、3月8日にIPA(独立行政法人 情報処理推進機構)から、3月9日にJPCERT/CC(一般社団法人 JPCERT コーディネーションセンター)から注意喚起情報が公表されている。

この脆弱性が悪用され、クレジットカード情報が漏えいするサイバー攻撃が発生しているが、被害に遭った会社ではこれらの注意喚起を受けて、3月9日に「Apache Struts 2」の脆弱性に対応している。しかし、ログを調べたところ、脆弱性を悪用したサイバー攻撃は3月8日の早朝に行われていた。つまり、サイバー攻撃者はApacheのアップデート情報を常に監視していた可能性が高い。日本の最新情報では脆弱性対策が間に合わなくなってきていることを表す例と言えるだろう。

WindowsやAdobe Flash Playerなど、クライアントパソコンの脆弱性対策は、OSやソフトの機能によって早期に適用されるため、脅威は減りつつある。しかし、サーバーソフトの場合は、システムが複雑で容易にパッチやアップデートを行えないという現実がある。サーバー上ではさまざまなソフトウェアが動作しており、一つのソフトウェアにパッチを当てることで、他のソフトウェアに悪影響を及ぼす可能性がある。しかも、例えばCMSではプラグインやアドオンのソフトウェアが複数導入されているケースが多く、より深刻だ。

「Apache Struts 2」の脆弱性を悪用したサイバー攻撃のタイムライン

目次へ戻る

脆弱性を狙う攻撃に対応する「WAF」とは

ソフトウェアのパッチやアップデートを管理することを「パッチマネジメント」と言う。パッチマネジメントでは、自社で動作しているソフトウェアのバージョンを把握し、パッチやアップデートが公開されたときに、どのタイミングで適用するかを計画する。特にサーバーの場合は、適用しても問題がないかをテスト環境で試す必要もあり、管理が複雑になっている。

そこで注目を集めているのが「WAF:Web Application Firewall(Webアプリケーション・ファイアウォール)」だ。WAFは、ファイアウォールやIDS/IPSのようにゲートウェイに設置し、通信をチェックするもので、Webアプリケーション層まで対応することが特長だ。そして、脆弱性を悪用しようとするエクスプロイトコードなどの攻撃コードをシグネチャとして登録することで、そのコードが送られてきたときには検知して遮断する。

つまり、ソフトウェアの脆弱性をパッチやアップデートで解消しなくても、脆弱性を狙う攻撃を検知して対応できる。WAFによって攻撃を防御している間に、パッチマネジメントを実施することができるわけだ。WAFには、ハードウェアアプライアンス型、ソフトウェア型、クラウド(SaaS)型があり、特にクラウド型の人気が高い。クラウド型であれば、社内に機器を設置することなくすぐに利用を開始でき、シグネチャの更新といった運用の手間もない。

最近では、次世代ファイアウォールや次世代IPS、あるいは「UTM:Unified Threat Management(統合脅威管理製品)」にもWAFの機能を搭載するものもあるが、手軽にアドオンできるクラウド型のWAFが好評だ。今後もソフトウェアの脆弱性を狙う攻撃は、よりシビアになると考えられる。このため、パッチマネジメントが難しい場合には、WAFの導入を検討するのも有効な対策となるだろう。

WAFの特徴

目次へ戻る