応用情報技術者試験の令和3年度 春季試験 問1:セキュリティについて解説を行っていきます。
出題テーマ:DNS
令和3年度 春季試験 問1:セキュリティの出題テーマは『DNS』です。
『DNS』を苦手としている人は多いのではないでしょうか。
苦手だから解かないという戦術を取れる情報処理試験ですが、残念ながら応用情報の問1(セキュリティ)は必須問題となっていますので、苦手でも選択しなければなりません。
応用情報の午後問題の多くの場合は、問題文中のヒントを読み取って解答する読解力や論理的思考が求められる国語の問題となっています。
DNSがテーマの場合は国語の問題というよりも、DNSに関する知識がそのまま問われる傾向にあります。
つまり、DNSに関する知識がないと解答することが難しいです。
一方で、基本的な簡単な知識があれば解くことができるので、DNSに関する知識が多少なりともあれば、1問1答のように解くことができるので難易度は一気に下がります。
『応用情報』の次のステップとして、『情報処理安全確保支援士』や『ネットワークスペシャリスト』を狙っている方が多いかと思いますが、これらの問題でもDNSをテーマとする問題が出題されます。
また、出題傾向は似ており、『応用情報』よりは深い知識が求められますが、これらの試験でもDNSが出題される場合は知識がないと解くことができない問題として出題され、知識があれば簡単に解くことができる傾向にあります。
この際ですので、DNSに関する基礎知識を身に付けておきましょう。
DNSの概要
DNSとはドメインに対応するIPアドレスを管理する仕組みです。
日常生活において、ブラウザなどからインターネットへアクセスするときに意識せずともDNSを皆さんは利用しています。
①ブラウザにURLを入力
PCやスマホでWebサイトをアクセスする際に、ブラウザにURLを入力します。
多くの場合はお気に入りなどに登録していて、そこをクリックしてアクセスしているかとは思いますが、お気に入りはクリックすることで予め登録しておいたURLを自動で入力する仕組みとなります。
②宛先IPアドレスを知る
URLの状態ではPCやスマホはWebページを表示(宛先へアクセス)することができません。
PCやスマホがアクセスするためには宛先IPアドレスを知る必要があります。
どうやって宛先IPアドレスを知るかというと、このときにDNSを用います。
入力されたURLに含まれるドメインに対応するIPアドレスをDNSサーバへ問い合わせをして、DNSサーバはドメインに対応するIPアドレスを返答します。
このようにして宛先IPアドレスを知ります。
具体例を用いて説明をすると今ご覧のサイトであれば、『https://shanai-neet.com/p=XXX』というURLです。
この『shanai-neet.com』の部分をドメインといいます。
PCやスマホはDNSサーバに対して『shanai-neet.com』に対応するIPアドレスを教えてと問い合わせを行います。
③DNSサーバがドメインに対応するIPアドレスを返答
PCからの問い合わせに応じて、DNSサーバはドメインに対応するIPアドレスを返答します。
④対応するIPアドレスへアクセス
DNSサーバから返答があったIPアドレスにアクセスすることで、PCやスマホは晴れてWebページにアクセスすることができます。
DNSの概要についてはこれぐらいでよいかと思いますが、これだけでは今回の問題を解くには少し不十分なので残りは問題解説と一緒に解説を行っていきます。
設問1
問題を解くにあたり、DNSの問い合わせのシーケンスを抑えておきましょう。
先程はPCやスマホがDNSサーバへ問い合わせを行うところまでをご紹介しましたが、もう少し詳しくDNSの問い合わせシーケンス(流れ)について確認していきます。
問題文中にR社のドメイン名は登場しませんが、ここでは便宜上、R社のドメインは『r-sha.com』とします。
①PCがキャッシュサーバへ『r-sha.com』に対応するIPアドレスを問い合わせる
この流れは先程もご紹介しました。
DNSの問い合わせを行うPCやスマホのことを『スタブリゾルバ』や『DNSクライアント』と呼びます。
このPCやスマホから問い合わせを受けるDNSサーバのことを『キャッシュサーバ』や『フルサービスリゾルバ』と呼びます。
『DNSキャッシュサーバ』であったり、問題文中では『キャッシュDNSサーバ』と記載がありますが、いずれも同じ意味です。
②キャッシュサーバがルートDNSサーバへ問い合わせ
この『キャッシュサーバ』がこの世の全てのドメインと対応するIPアドレスの組み合わせを知っているかというとそうではなく、『キャッシュサーバ』は別のDNSサーバへ問い合わせを行うことで、ドメインと対応するIPアドレスを解答してもらい、それをPCやスマホへ解答しています。
『キャッシュサーバ』はまずは『ルートDNSサーバ』に対して問い合わせを行います。
選択肢中では『DNSルートサーバ』と記載がありますが、同じ意味です。
DNSサーバ上では『r-sha.com.』と『com』の後ろに『.(ドット)』が付いています。
階層構造になっており、トップはこの『.(ドット)』を管理するルートDNSサーバとなっています。
③ルートサーバは.comの権威DNSサーバを案内する
ルートDNSサーバは『r-sha.com』に対応するIPアドレスは知らないけど、『.comの権威DNSサーバ』なら知っているからここに問い合わせてみてと、『.comの権威サーバ』を案内します。
権威サーバはドメインを管理しているDNSサーバのことです。
問題文中では『権威DNSサーバ』と記載されていますが同じ意味です。
④キャッシュサーバが.comの権威DNSサーバへ問い合わせ
次に『キャッシュサーバ』は案内してもらった『.comの権威DNSサーバ』に『r-sha.com』の問い合わせを行います。
⑤.comの権威DNSサーバはr-sha.comの権威DNSサーバを案内する
『.comの権威DNSサーバ』は『r-sha.com』に対応するIPアドレスは知らないけど、『r-sha.com』を管理している『権威DNSサーバ』を案内します。
⑥キャッシュサーバはr-sha.comの権威DNSサーバへ問い合わせ
『キャッシュサーバ』は『r-sha.comの権威DNSサーバ』に『r-sha.com』に対応するIPアドレスの問い合わせを行います。
⑦r-sha.comの権威DNSサーバはr-sha.comに対応するIPアドレスを返答する
『r-sha.comの権威DNSサーバ』は『r-sha.com』に対応するIPアドレスをキャッシュサーバへ返答します。
このようにして、キャッシュサーバはようやく『r-sha.com』と対応するIPアドレスを入手することができます。
⑧キャッシュサーバはr-sha.comに対応するIPアドレスをPCへ返答する
最後にr-sha.comに対応するIPアドレスをもともと問い合わせしていたPCに返答します。
このようにしてDNSの問い合わせが行われています。
それでは、設問の選択肢と照らし合わせて考えていきましょう。
ア:DNSルートサーバ
上記のシーケンスで説明したように、DNSルートサーバは『r-sha.com』はわからないから『.comの権威DNSサーバ』に聞いてみてと返答しています。
このようにDNSルートサーバはそもそも『r-sha.com』のドメイン自体を知りませんので、違うと判断することができます。
イ:R社のキャッシュDNSサーバ
今回問題として問われているのは『Y社のPCがR社の偽サイトに誘導された際に』とあります。
R社のキャッシュサーバはY社のPCが使用するものではなく、R社のPCがDNSの問い合わせを行うキャッシュサーバです。
Y社は『Y社が契約しているISPであるZ社のDNSサーバを利用していた。』とあり、Y社PCはキャッシュサーバとしてZ社のDNSサーバを利用していたということがわかります。
つまり、R社のキャッシュDNSサーバはこの問題では関係のないものとなるため、違うと判断することができます。
キャッシュサーバという役割では正しいのですが、それだけで判断してしまった方はもう少し文章をよく読むクセを付けましょう。
ウ:R社の権威DNSサーバ
上記のシーケンスで説明したようにR社の権威DNSサーバは『r-sha.com』というドメインを管理しています。
本来であれば、『r-sha.com=X.X.X.X』というところを『r-sha.com=Y.Y.Y.Y』に書き換えられてために、偽のIPアドレスを返答してしまいました。
なので、正解と判断することができます。
エ:Z社のDNSサーバ
Y社PCが利用しているキャッシュサーバがZ社のDNSサーバでした。
R社の権威DNSサーバから偽のIPアドレスを返答受け、それをY社のPCへ返答していますので、こちらも正解と判断することができます。
解答としては、『ウ、エ』となります。
この設問では『全部選択せよ』とあります、設問文についてもよく読む注意が必要です。
設問2 (1)
権威DNSサーバ上で何が起こったかというと、
表1のログ解析結果に『業務時間外にログインされた形跡が残っていた。』と記載があります。
また、ログインされた上で、問題文中に『R社の権威DNSサーバ上の、R社のWebサーバのAレコードが別のサイトのIPアドレスに改ざんされていることが分かった。』とも記載があります。
つまり、ログインをされた上に設定変更をされたと考えることができます。
ログイン+設定変更が行えるような選択肢を見ていきます。
ア:管理者権限
管理者権限は『root』や『admin』などのアカウントのことを指します。
管理者権限でログインが行われれば、設定変更なども可能になりますので、こちらが正解と考えることができます。
イ:シリアル番号
シリアル番号を知られても基本的に何も起こりませんので、違うと判断することができます。
ウ:ディジタル証明書
ディジタル証明書を奪われても基本的に何も起こりませんので、違うと判断することができます。
エ:利用者パスワード
利用者パスワードが何のパスワードなのかということから考える必要が、問題文中には記載がありません。
仮にサーバにログインするためのパスワードだと考えます。
サーバには大きくですが、『管理者権限』と『利用者(ユーザ)権限』という権限があります。
『管理者権限』は設定やステータスの閲覧はもちろんのこと、設定変更を行うことができます。
『利用者権限』は設定やステータスの閲覧を行うことができますが、設定変更を行うことができない、もしくは限定されることが一般的です。
つまり、奪取されてもログインまでは行われますが、設定の変更までは行えないので違うと判断することができます。
設問2 (2)
下線①『Y社のPCがR社の偽サイトに誘導され』という部分がヒントというか答えになっています。
『r-sha.com』に対応するIPアドレスが本来は『X.X.X.X』のはずが『Y.Y.Y.Y』に書き換えられていました。
IPアドレス『X.X.X.X』はR社のWebサーバのIPアドレスですが、『Y.Y.Y.Y』は攻撃者が用意したWebサーバのIPアドレスです。
つまり、R社のWebサーバではなく、攻撃者が用意したWebサイトへアクセスしていた、誘導させられていたということです。
なので、本来のWebサーバへのアクセスがほとんどなかったというのは当然のことです。
よって解答例としては『R社の偽のサイトへ誘導されていたため(18文字)』と解答することができます。
応用情報の記述式の問題のほとんどは問題文中の文章をそのまま答えとして使用できます。
設問2 (3)
キャッシュサーバには『キャッシュ』という機能があります。
キャッシュサーバに問い合わせを行うPCは1台だけではなく複数台あります。
PCからの問い合わせ要求に対して、毎回問い合わせをしていては、通信量やサーバの負荷が増えてしまいます。
これらを避けるために、問い合わせした結果を一定時間保持しておき、その保存期間内に来た問い合わせには、再度問い合わせを行わずにその結果のみを返します。
これが『キャッシュ』という機能となります。
つまり、R社の権威DNSサーバを変更しても、Z社のDNSサーバ内にキャッシュ情報が残っていれば、その保存されている期間は偽サイト宛に誘導してしまいます。
ということで、『エ:Z社のDNSサーバ』と解答することができます。
ちなみにですが、クライアントにもこの機能はありますので、選択肢にクライアント(PCなど)が含まれている場合は選択する必要がありました。
設問3 (1)
今回の脆弱性を突かれた攻撃を受けた原因としては、表1に『OSは最新であったが、DNSソフトウェアのバージョンが古く』とあるように、バージョンを適切にアップデートをしていなかったことが挙げられます。
ア:逆引きDNSレコードを設定する。
DNSはドメインに対応するIPアドレスを問い合わせることをご紹介しましたが、これを正引きといいます。
一方で、IPアドレスから対応するドメインを問い合わせることを逆引きといいます。
逆引きができたからと言って何も対策にはなりませんので、正解ではないと判断することができます。
イ:シリアル番号の桁数を増やす。
設問2(1)でシリアル番号は関係ないとご紹介しましたが、今回も関係ありませんので、正解ではないと判断することができます。
また、シリアル番号を発行するのはメーカー側ですので、こちらでシリアル番号の桁数を勝手に増やすということはできません。
ウ:ゾーン転送を禁止する。
権威DNSサーバに障害が発生するということは、ドメインに対応するIPアドレスを返答することができなくなるということですので、Webサイトなどのサービスにアクセスできなくなることを意味します。
権威DNSサーバが1台だけですと障害発生時にアクセスすることができなくなるため、プライマリ・セカンダリのように冗長構成にすることがあります。
このプライマリ・セカンダリのサーバ間のDNSのやりとりで用いる通信をゾーン転送と呼びます。
なので、ゾーン転送を禁止したところで何も対策にはなりませんので、正解ではないと判断することができます。
エ:定期的に脆弱性検査と対策を実施する。
素直にこちらが正解となります。
脆弱性検査を行っていれば、今回の脆弱性も発見できたはずです。
発見された脆弱性に対して深刻度を評価し、必要に応じて対策を行っていれば今回の攻撃を防ぐことができたはずです。
ということで解答としては『エ:定期的に脆弱性検査と対策を実施する。』となります。
設問3 (2)
この問題はDNSではなく、証明書に関する知識が必要となります。
DV証明書はドメイン名が正しいことを保証するものです。
EV証明書はドメイン名が正しいことはもちろん、実在する組織なのか、組織の場所などの詳しい情報まで正しいということを証明します。
よって、選択肢の中でEV証明書に含まれる内容としては『ア:会社名』となります。
一般的には金融機関などがEV証明書を導入している場合が多いです。
証明書はそのサイトにアクセスすることができる誰でも閲覧することができるものです。
このようなパブリックなものに、『イ:担当者の電子メールアドレス』や『ウ:担当者の電話番号』、『エ:ディジタル署名の所有者』つまり氏名など、個人情報と言えるものを記載するはずがありませんので、このような考え方から違うと判断することもできるかとは思います。
設問3 (3)
インターネットからの問い合わせが可能な場合、攻撃者は攻撃対象となるドメインの問い合わせを行います。
問い合わせを受けたキャシュDNSサーバはドメインへ問い合わせを行います。
攻撃者は他のインターネットから問い合わせが可能なキャッシュDNSサーバにも問い合わせを複数回行います。
そうすることで、攻撃対象のドメインを管理する権威DNSサーバに問い合わせが集中し、問い合わせ結果を解答するのが遅くなったり、最悪の場合はサーバがダウンするということが発生します。
先程も記載しましたが、権威DNSサーバがダウンするということはサービスにアクセスすることができなくなるということを指しますので、多大なる影響を与えることができます。
このように複数からの攻撃を行うことをDDoS攻撃と呼びますので正解は『ア:DDoS攻撃』となります。
他の選択肢も見ていきましょう。
イ:SQLインジェクション
検索欄などにSQL文を入れ、データベースの漏えい・改ざん・削除などを狙う攻撃です。
ウ:パスワードリスト攻撃
あるサイトから漏洩したIDとパスワードのセット(リスト)を用いて他のサイトへログインを試みる攻撃です。
エ:水飲み場攻撃
ターゲットとなる人・会社などが頻繁にアクセスするサイトに不正なプログラミングなどを仕込んで、ターゲットがアクセスするまで待つという攻撃です。
攻撃の名称は出てきたものは抑えておくようにしましょう。
設問3(4)
この問題は知識がないと解答することができない問題です。
『R社のキャッシュDNSサーバに、偽のDNS応答がキャッシュされ、R社の社内LAN上のPCがインターネット上の偽サイトに誘導されてしまう』このような攻撃のことを『DNSキャッシュポイズニング』と呼びます。
『DNSキャシュポイズニング』は頻出のワードですので、こちらも抑えておきましょう。
公式解答例との比較・予想配点
DNSに関する知識が少しでもないと解答することが難しかったと感じます。
DNSの問い合わせシーケンス、『キャッシュサーバ』や『権威DNSサーバ』、『DNSキャッシュポイズニング』に関してはぜひ抑えておきたいポイントです。
冒頭にも記載しましたが、次のステップとして『情報処理安全確保支援士』や『ネットワークスペシャリスト』を狙っている方はこれらの試験でも『DNS』は出題されますので、今のうちに抑えておくことをおすすめします。
配点 |
|||
設問1 | ウ、エ | ウ、エ | 3点 |
設問2 (1) | ア | ア | 2点 |
設問2 (2) | R社の偽のサイトに誘導されていたため(18文字) | 顧客がR社の偽サイトに誘導されたから | 3点 |
設問2 (3) | エ | エ | 2点 |
設問3 (1) | エ | エ | 2点 |
設問3 (2) | ア | ア | 3点 |
設問3 (3) | ア | ア | 2点 |
設問3 (4) | DNSキャッシュポインズニング(14文字) | DNSキャッシュポインズニング | 3点 |
引用元
問題および解答例に関しては、独立行政法人 情報処理推進機構(IPA)より引用しています。