最近の流行から学ぶセキュリティ対策「標的型攻撃」
はじめに
「情報セキュリティスペシャリスト」試験では、最近流行っている攻撃手法や事例をもとに問題が作成されることが多く、これは「情報処理安全確保支援士」試験に代わっても同じ傾向が続くと考えられます。
先日、IPAから「情報セキュリティ10大脅威 2017」が発表されました。これは、最近の事件をもとにランキングが作成されているので、掲載されている内容を一度調べてみてください。あらかじめ事件の内容や対策技術等を知っておけば試験で出題されても内容が理解しやすく、また正解を導き出しやすいと思います。
ちなみに、「情報セキュリティ10大脅威 2017」の組織編で第1位となったのは昨年に引き続き「標的型攻撃による情報流出」でした。標的型攻撃については、ここ数年情報セキュリティスペシャリストの午後Ⅰ試験においても、ほぼ毎回出題されています(表)。
したがって、次の春試験の午後Ⅰ試験でも、標的型攻撃に関する問題が出題される可能性は高いと思われます。「標的型攻撃について勉強しなくては!」と思われる方も多いと思いますが、勉強法の1つとして、午後試験の「過去問」を解くことをお勧めします。
過去問は「本番試験がどのような問題か知りたい」、「自分の実力で本試験を解くことができるか腕試ししたい」といった理由で取り組む方が多いと思いますが、午後問題は問題文中で様々なセキュリティ技術について解説していることが多いため、問題を解きながら攻撃手法やセキュリティ技術、対策法も学ぶことができます。「あまり勉強していないうちから過去問にチャレンジしても解けないし直前しか見ない」と言われる方もいますが、できれば早い段階で午後試験の過去問題にもチャレンジしてみてください。
午後問題の標的型攻撃に関する出題
それでは、さっそく午後Ⅰ問題にチャレンジしてみましょう。今回は、平成26年度秋期 午後Ⅰ問題の問3「マルウェア感染の対応」を例に解説していきます。この問題は、前の表にも記載した「標的型攻撃」関連についての問題です。
●設問1
設問1は標的型攻撃メールの受信を防ぐために、「受信メールの制限」をする問題です。標的型攻撃メールの多くは送信元を詐称して受信者を騙します。例えば、平成28年度 春期情報セキュリティマネジメント試験 午後Ⅰ問題の問1に出てくる標的型攻撃メール(図1)では、差出人のメールアドレスにフリーメールアドレスが使われており、本文下の署名欄にあるメールアドレスと異なっています。
この場合は、注意深く観察をすれば詐称メールだとわかりますが、差出人が社内のメールアドレスやよくやり取りする方のメールアドレスに詐称されていると、受信者が偽メールだと気づくのは難しくなります。そのため、メールサーバで送信ドメイン認証やフィルタリングルールを設定することにより、適切に詐称メールをブロックする必要があります。
設問1(1)では、フィルタリングルール(図2)としてブラックリストにM社のドメインを設定すると「正規のメールも一部届かなくなる」ことが指摘されており、それがどのような場合に発生するかが問われています。
これは、差出人がM社のメールアドレスで、そのメールがどのような場合に外部から送られてくるかを考えればよいので、もうわかりますよね。営業部がSaaS型クラウドサービス「サービスX」を利用しており、そのサービスで顧客へ商品紹介メールを自動送信する際に、M社のメールアドレスを送信者としてメールの写しをM社営業部全員にも送信している、という内容が本文に書かれています。よって、正解は「メールサーバZから営業部員宛てに送られてくるメール」です。M社のドメイン名を「m-sya.co.jp」とすると、図3のようなイメージになります。
図3からもわかるように、このままだとサービスXから送られてくるメールはすべてブラックリストでブロックされてしまいます。そこで、設問1(2)ではメールサーバZからのメールを受信できるようにするためには、どのようなフィルタリングルールを追加すればよいかが問われています。
図2のフィルタリング機能より、受信を許可する場合はホワイトリストに条件を記載すればよいことが分かります。また、条件を記載するリストには「送信元メールサーバのIPアドレス」と「送信ドメイン名」の2つがあるため、解答は「送信元メールサーバのIPアドレスのホワイトリストにメールサーバZのIPアドレスを追加する」になります。
●設問2
設問2は「バックドア通信の遮断」について問われています。標的型攻撃でマルウェアに感染した場合、感染したユーザに気づかれないように裏でC&Cサーバ(攻撃者サーバ)と通信し、攻撃者から遠隔操作されることになります。この通信は「バックドア通信」や「コネクトバック通信」と呼ばれます。
一般的に、これらの通信の多くは宛先TCPポート80番(http)や443番(https)が使われます。よって、内部で通信トラフィックを監視していても外部のWebサーバにアクセスしているように見えるため、不正な通信であることを発見しづらくなります。
設問2(1)では、問題文中の「マルウェアY」のバックドア通信の説明の中に、まず「プロキシサーバを経由せずに、TCPポート番号8050を使用して、アクセスする」とあります。そこで、M社のFWのフィルタリングルール(図4)を見てみます。
社員のPCはプロキシサーバ(ポート8080)へのアクセスしか許可されていないため、この通信はFWによって遮断されます。よって、解答は「FWのフィルタリングルールで遮断しているから」になります。
設問2(2)と(3)は、「マルウェアY」がプロキシサーバを経由したC&Cサーバへのアクセスを防ぐため、プロキシサーバのアクセス制御ルール(図5)を設定した場合に支障が出る業務と、支障を回避するため項番1と2の間に追加するアクセス制御ルールを解答する問題です。
図5のアクセス制御ルールを見る限り、HTTPのCONNECTメソッドを使用して接続する場合はポート番号443(https)しか許可されていません。したがって、項番1と2の間に追加するルールはCONNECTメソッドで許可しなければならないポートがあり、その通信を行う業務を解答すればよいことになります。よって、HTTPのCONNECTメソッドについて記載がある、営業部の「顧客管理」業務で使用するCONNECTメソッドでの「ポート番号2650」を「許可」する必要があることが分かります。
●設問3
設問3は、マルウェアによる機密情報を持つ開発サーバへのアクセスを防ぐ「ネットワーク分離」について問われています。現在では、重要な情報を扱う業務や重要なシステムにアクセスする業務は、インターネットに接続されているコンピュータからは直接アクセスさせないよう「ネットワーク分離」を行うことが一般的です。
L3SWフィルタリングルール(図6)を見てください。
現状の設定では、利用者セグメント2(開発部)から開発サーバセグメントへのアクセスはすべて許可されています。よって、開発部のPCがマルウェアに感染すると開発サーバセグメントへアクセスされる可能性があります。開発専用PCを開発サーバセグメント内に置き、利用者セグメント2(開発部)からアクセスできないようにすればネットワーク分離が実現できるため、設問3(1)の解答は「利用者セグメント2から開発サーバセグメントへの通信を拒否にする」となります。
また、設問3(2)では運用管理にも同様の対策が必要であり、運用管理専用PCを運用サーバセグメント内に置いてネットワーク分離を行います。また、運用管理専用PCも開発専用PCと同様に、PC自身がマルウェアに感染するリスクを軽減する対策を行う必要があります。「マルウェアY」がWebブラウザやPDF閲覧ソフトの脆弱性を悪用して感染したこともあり、できるだけ不必要なソフトウェアは利用しないことが考えられます。よって、設問3(2)の解答は「運用サーバセグメントの管理に必要のないソフトウェアの利用を禁止する」となります。
●設問4
設問4はタイトルが「サーバの脆弱性検査」とありますが、「パスワードハッシュ」に関する問題です。OSのパスワードを格納するには、図7のような方法があります。
「L1ハッシュ」と「L2ハッシュ」は、Windowsのパスワードハッシュについて理解していれば、すぐに「LMハッシュ」と「NTLMハッシュ」であるとわかります。
LMハッシュは昔のMicrosoftのOSであるLAN ManagerやWindows 95/NT等のパスワードを保存するために使われていたハッシュ関数です。パスワード長が最大14文字まで、またパスワードハッシュ作成時に7文字ずつ分割するため、7文字ごとに解析できる脆弱性があります。よって、Windows Vista以降のOSは既定値でLMハッシュを保存しないようになっています(既定値を変更すれば保存できます)。
NTLMハッシュはパスワード長が最大127文字まで、またパスワードハッシュ作成時に文字列の分割も行わないため、LMハッシュと比べて推測されにくくなります。この設問は特にLMハッシュやNTLMハッシュを知らなくても解答できますが、知っていれば「何を問おうとしているのか」がわかり、問題の理解も早くなります。余力があれば、こういった技術についても調べてみてください。
設問4(1)は「総当たり攻撃で解析する」とあり、そのハッシュの最大数を解答する問題なので、例えばLMハッシュは文字種類69種類、前半7文字について考えると、
パスワードが1文字の時:69種類
パスワードが2文字の時:69×69(69の2乗)種類
パスワードが3文字の時:69×69×69(69の3乗)種類
……
というようにパスワードが7文字の時まで考え、その合計値を求めればよいので、LMハッシュとNTLMハッシュの計算式は下記のようになります。
設問4(2)は、LMハッシュやNTLMハッシュを生成するときにソルトは使用しないため、同じパスワードのユーザがいた場合、そのパスワードハッシュの文字列も全く一緒となり、推測されやすくなります。
ソルトとは、パスワードを生成するときに生成されるランダムな文字列のことで、ソルトとパスワードを使用してパスワードハッシュを作成します。同じパスワードのユーザでもソルトが異なればパスワードハッシュも異なり、推測されにくくなります。UNIXやLinuxは、ソルトを使用してパスワードハッシュを作成しています。よって、解答は「同じパスワードでもソルトが異なるとハッシュ値が変わるため」です。
今回は、受信メール制限やバックドア通信の遮断、ネットワーク分離等、標的型攻撃対策で一般的に行われる対策についての問題を確認しました。パスワードハッシュも、この試験で考えられたパスワードハッシュの仕組みではなく、日ごろ使用しているWindowsのパスワードハッシュについて出題されていました。
冒頭にも書きましたが、過去問からは実際に現場で使用されているセキュリティ対策や現在のセキュリティ技術等についても知識を習得できます。ただ問題を解いて終わりではなく、関連する用語や技術についても、一度調べてみましょう。さらに試験合格に一歩近づくことができると思います。
次回も、試験で頻出するセキュリティ技術問題について解説します。