問 1 ー 36 ロロロ 765196 トロイの木馬型ウイルスの例に関する記述として , 適切なものはどれか。 アウイルス対策ソフトのパターンマッチング検知から逃れるために , 感染す るたびに自身のウイルスコードを暗号化して変異させる。 イ拡張子が exe や com などの実行型ファイルに感染し , 感染したファイルが 実行されたときに制御を奪って不正な動作をする。 ウ自分自身を複製して自己増殖する単独のプログラムで , 最近はネットワー クを介して拡散するものが多い。 エプログラムへの感染を行わない不正プログラムで , 便利ソフトのつもりで ダウンロードすると , コンピュータのセキュリティ設定を低下させたり , 外 部から接続可能状態にする。 問 1 ー 37 ロロロ 765055 次の CGI プログラムは , クエリストリング ( ? fi le = ) で指定されたテキストフ ァイルを open 関数で /home/data/ ディレクトリから読み込んで , HTML ソ ースに変換し出力する Perl プログラムの一部である。このプログラムの脆弱性に 関する記述として , 適切なものはどれか。 $ DATA ′′ /home/data/ ″ $file $cgi—>param('file') ー $filename $DATA . $file; open(F 工 LE, $filename) 凵 die $!• while ($line= く F 工 LE>) { print $line; c 1 〇 s e ( F 工 LE ) : アファイル名に絶対パスを使用されて , /home/ ディレクトリ配下以外の意図 しないファイルの内容を書き出す脆弱性がある。 イファイル名に相対パスを使用されて , /home/ ディレクトリ配下以外の意図 しないファイルの内容を書き出す脆弱性がある。 ウファイル名に「勺「 > 」などの記号文字を使用されて , 外部プログラムを 起動される脆弱性がある。 工ファイル名にパイプ文字を使用されて , 読込み専用以外の動作でファイル をオープンする脆弱性がある。
午後 I 第 1 部情報セキュリティシステムの企画・設計・構築 表 3 Z-NIDS と Z-HIDS の比較 検討項目 x 社事案と同様の事故の検 知 トロイの木馬のインストール web ページの改ざん 」コマンド Z-NIDS 可 ( RST バケットは送信可 ( 該当バケットの破棄 できるが , ①防御は間に 合わない ) 不可 ( 正常なメール送信同左 メールによるファイルの流出 との区別ができない ) ファイアウォールを通過す②一部のプロトコルは Z-HIDS によって防御可能 ) 可 るプロトコルの監視 〔 IDS の設定と運用〕 不可 G 主任から IDS 選定の報告を受けた E 課長は , メールによるファイルの流 出が検知できない点を問題視し , 何らかの工夫によって検出できないか , G 主 任に再検討を指示した。 G 主任は , web サーバから送信されるメールが注文内 容の確認や会員情報の照会結果などの定型フォーマットのものだけであること から , 次の方法によって , メールによるファイルの流出を検知することにし , E 課長の了承を得た。 ( 1 ) ③ web サーバのメール送信プログラムの設定を変更し , 送信メールのコピ ーを web サーバ上に保存するようにする。 ( 2 ) z - HIDS のログファイル監視機能を利用して , 送信メールのコピーをチェ ックし , 定型フォーマットから外れた形式の場合に警告を発するよう設定す る。 Z-HIDS が異常を検知した場合の通知方法として , G 主任は当初 , 担当者 へのメール送信と SNMP トラップの発行を考えていた。しかし , E 課長か ら , ④監視対象となっているネットワークをイベントの通知手段として利用 することには問題があるとの指摘を受けたので , web サーバにモデムを接続 して , 担当者へのメールは , ダイヤルアップ回線経由で送信することにした。 G 主任は , 選定した Z-HIDS を EC サイトに導人し , 上記も含めた設定を
ら考える。まず , web ページの改ざんに関しては , NIDS は , ネットワーク上に流れ るバケットを検査し , 不正な動作を行うシグネチャと比較することによって検出する ので , Z - NIDS でも検知は可能である。一方 , Z-HIDS は表 2 から , 「ファイルの追加 , 変更 , 削除」という機能があるので , これも検知できる。このため , 空欄 c, d とも に“可”が人る。 なお , 空欄 c に関しては , 「 Web ページの改ざん」という意味をどう解釈するかで , " 可 " にも " 不可 " にもなると考えられる。つまり , Web ページが実際に改ざんされ たかどうかという事象をもって「 Web ページの改ざん」と判断するならば , それは Web サーバ上の動作になるので , NIDS では検知は。不可 " になる。しかし , NIDS の性格上 , 攻撃の予兆を検知するもののため , Web ページを改ざんするような攻撃の 予兆が見られたときには , 検知される必要がある。例えば , フリーの NIDS ソフトウ ェアである "Snort" では , IIS に対する攻撃を検知する "web-iis. rules" などを持っ こでの解答は " 可 " とした。 ているので , 次に , トロイの木馬のインストールに関しては , 間題文の ( a ) に「 Web サーバブログ ラムの機能拡張モジュールとしてインストールされる」と記述されており , インスト ール自体は , あくまでもサーバ上における動作となる。このため , ネットワーク上に おけるバケットを監視する機能しか持たない NIDS では , サーバ上における動作その ものを検知できるわけではない。これに対し , Z-HIDS では「ファイルの追加 , 変更 , 削除」という機能があるので , 検知することができる。このため , 空欄 e には。不可 " , 空欄 f には " 可 " が入る。 [ 設問 2 ] ( 1 ) 起動コマンドは , HTTP によって送信されてくるので , IP バケットの内容をシグ ネチャと比較することによって , Z-NIDS で検知できる。そこで , Z-NIDS は , 起 動コマンドの送信を停止させるため , TCP コネクションを強制的に切断する目的か ら , RST バケットを送信元に対し送信する。 下線①で問われていることは , RST バケットを送信してコネクションを解放して も , 防御は間に合わないという理由を述べるものである。つまり , Z-NIDS は , ネ ットワークを流れるバケットを捕捉するので , その時点では , すでに起動コマンド が Web サーバに届いている。このため , Web サーバ側で起動コマンドが人ったパ ケットを廃棄しない限り防御はできない。したがって , 解答としては「起動コマン ドが Web サーバに届いている」旨を答えるとよい。 ( 2 ) この設間は , Z-NIDS がファイアウォールを通過するプロトコルについて , 一部 のプロトコルについて監視ができないプロトコルの種類と , その理由を答えるもの である。表 2 における Z - NIDS の監視対象の項目を確認すると , 暗号化されたバケ ットの監視は不可と記述されている。そこで , 暗号化されたバケットは何かを探す と , ポート番号 443 の HTTPS であることが分かる。その理由は , Z-NIDS では , 暗号化されたバケットは監視できないからである。 430
問 6 ー 23 ロロロ プートセクタ感染型ウイルスを説明したものはどれか。 ( H17 秋 - AN/PM/AE 問 34 ) ア拡張子が c 。 m , exe などの実行ファイルに感染するウイルスであり , ファ イルが処理されるたびにウイルスプログラムも実行される。 イ感染するたびに , 異なった方法でウイルスのプログラムコードを暗号化し , 自分の姿を変異させるウイルスであり , 検索プログラムでも発見が難しい。 ウフロッピーディスクやハードディスクのシステム領域に感染するウイルス であり , 通常のシステム起動プロセスの実行時に呼び出される。 エメモリに常駐するウイルスであり , 一度活動を始めるとコンピュータの電 源を切るまでメモリに常駐し , 感染可能なファイルに次々と感染していく。 問 6 ー 24 ロロロ ( H17 秋 -AD 問 49 ) コンピュータウイルス対策ソフトのパターンマッチング方式を説明したものは どれか。 ア感染前のファイルと感染後のファイルを比較して , ファイルに変更が加わ ったかどうかを調べてウイルスを検出する。 イ既知ウイルスのシグネチャコードと比較して , ウイルスを検出する。 ウシステム内でのウイルスに起因する異常現象を監視することによって , ウ イルスを検出する。 工ファイルのチェックサムと照合して , ウイルスを検出する。 問 6 ー 25 ロロロ ( H17 春 -FE 問 66 ) コンピュータウイルス対策で用いられるウイルス定義ファイルに関する記述の うち , 適切なものはどれか。 アウイルス対策ソフトに含まれているファイルであり , ウイルスに感染した ファイルを修復するために使用する。 イ既知ウイルスのシグネチャコードを記録したファイルであり , ウイルス対 策ソフトがウイルス検出時に使用する。 ウ既知ウイルスのプログラムコードを記録したファイルであり , ウイルスを 再現し , 動作を監視するために使用する。 工復旧のためのファイルであり , ウイルスによってデータファイルが破壊さ れたときに使用する。 1 58
使用されている。よって , 式とは違うものである。 問 6 ー 25 イ 既知のウイルスを特定できるパターンマッチング方 (H17(*-FE 間 66K ) ウイルス対策ソフトは , ワクチンソフトともいい , コンピュータがウイルスに されたデータファイルを復旧するためのものではない。 ェ : ウイルス定義ファイルは , ウイルス感染チェック用のファイルであり , 破壊 そのウイルスを特定できるものであり , ウイルスを再現することはない。 ウ : ウイルス定義ファイルに記録されているのは , プログラムコードではなく , チェックに使用する。ファイルを修復するのに使用するものではない。 ア : ウイルス定義ファイルは , 上記のようにウイルスに感染しているかどうかの ある。答えは ( イ ) である。 指紋のようにウイルスを特定できる固有のコード群 ( ビットパターン ) のことで とし , これを使用して感染をチェックするものである。「シグネチャコード」は , されているウイルスの特徴を集めてウイルス定義ファイル ( パターンファイル ) 去るソフトである。ウイルスにはその種類によって特徴があるので , すでに発見 感染しているかどうかをチェックし , 感染しているファイルからウイルスを取り 問 6 ー 26 イ 765013K ( イ ) が正しい。拡張子 pif だけでなく , lnk も同じように表示されないので注意 が必要である。 ( ア ) はいわゆる未知のウイルスやデイゼロアタックのようなウイ ルスには対応できない。 ( ウ ) では高機能なエデイタでは , ファイルタイプに応じ て何らかの処理をしていることがある。もしそのファイルがバイナリの実行ファ イルだと認識すると , それを実行してしまう可能性がある。 ( 工 ) の方法では vbs や vbe, js, jse, wsf, wsh といった危険なスクリプトなどを実行してしまう可 問 6 ー 27 イ 能性がある。 765020K ( イ ) の記述が正しい。ファーミング (pharming; farming( 農業 ) のもじり ) 詐欺で 420 ジになっているなら , 必ずプラウザが警告を出す。偽サイトが他のサイト用の イン名での SSL のサーバ証明書を持っことができないので , もし https:// ペー る偽サイトは , ドメイン名は本物だから認証局がミスをしない限り , 本物ドメ プラウザの錠前アイコンを確認すればよい。 DNS や hosts の書換えで誘導され ア : SSL での認証は証明書を利用するので非常に安全性が高い。基本的には必ず トへのリンクを張ってしまう。 は , hosts ファイルの改ざんや DNS ポイゾニングによって正規 URL から偽サイ
: 当の午後 I 第 1 部情報セキュリティシステムの企画・設計・構築解答・解説 : を : ( 2 ) 問題文を読むと , ファイルを保存する場所について書かれていることが分かる。 ユーザがアクセスできる場所 , つまりプラウザから URL を指定してアクセスでき る場所は , 一般に「公開用ディレクトリ」や「ドキュメントルート」と呼ばれる。 Apache では htdocs, IIS では wwwroot というディレクトリ名が使われることが多 い ( 設定で任意に変更可能 ) 。このドキュメントルート外部のディレクトリにファ イルを保存することで , 強制プラウジングの脅威からファイルを守ることが可能と なる。 ( 3 ) ドキュメントルート外のファイルには , ユーザは基本的にはアクセスすることは できない。しかし Web アプリケーションにぜい弱性が存在すると , それを利用され てアクセスできる場合がある。例えば http://・・・・・ /show. cgi?item=0001. txt という URL で商品の詳細画面を呼び出している場合 , URL パラメータを item=0002. txt に変更すると別の商品の詳細画面が表示されたとする。このとき Web サイトでは , 商品のデータをドキュメントルート外に txt ファイルとして持っており , 人力され たファイル名を CGI が読み込んで表示するというプロセスが行われていると考え ることができる。 こで , URL パラメータは拡張子が txt 以外はエラーとするなど のチェックを行っていないと , 適当なファイル名を総当たりで人力された場合で も , そのファイルが存在すると表示されてしまうことがある。したがって , 万が一 ぜい弱性が存在したとしても , ファイル名を十分な長さでかっランダムにしておく ことで , ファイル名を推測したアクセスを防ぐことができる。 [ 設問 2 ] ( 1 ) 危険な文字とは , HTML において特殊な意味を持っ文字 ( メタキャラクタ ) のこ とである。これらを問題のない文字に置き換えることを一般にサニタイズ ( あるい はサニタイジング ) 処理と呼ぶ。クロスサイトスクリプティングに限らず , SQL コ マンドや OS コマンドで特殊な意味を持っ文字も , サニタイズ処理を行うべきであ る。あるいは , パラメタとして受け取る値をあらかじめ英数字のみに限定できるな ら , そのフォーマットチェックでも代替することはできる。 ( 2 ) サニタイズ処理に関するプログラミングの間題である。解答者には , このような プログラムソースコードを読み解くスキルも要求されている。今回のケースでは , サニタイズ処理を , 1 文字ずっ調べて順番に置換することを繰り返しているので , & を最後に実施するとそれまでに変換された文字が再び変換されることになる。そ の結果 , 後でログを分析したり , ューザの人力値を確認したりするような場合に , サニタイズされた文字が不明確になってしまうという問題が発生する。 ( 3 ) サニタイズ処理の最後 ( 7 行目 ) で「 & 」の変換を行っているので , それまでに サニタイズ処理された文字列に「 & 」が含まれるとそれが再びサニタイズ処理され ることになる。つまり「く」→「 < ; 」→「 & ; lt ; 」となってしまう。「 & 」 のサニタイズ処理は , 他の文字のサニタイズ処理の結果に影響を与えないよう最初 にやるべきなので , このコードでは 3 行目と 7 行目を人れ替えれば適切な処理とな る。 433
UDP ヘッダを挿入するカプセル化に関するプロトコルが RFC3948 ( UDP Encapsulation of lPsec ESP packets) として標準化が進められている。 [ 設間 4 ] ( 1 ) 図 4 のポートフォワーディング方式において , クライアントパソコンから管理シ ステムサーバに対し , SSL によって暗号化通信を行うときの流れを追うと , 次のよ うになる。 まず , クライアントパソコンは SSL-VPN 装置に対し , HTTPS でアクセスし認 証に成功すると , VPN モジュールとして Java アプレットがダウンロードされる。 この Java アプレットは SSL 非対応ソフトウェアのあて先ホストを , クライアント 内部の localhost ()P アドレスは 127.0.0.1 ) とするように hosts ファイルを修正す る。そして , クライアントが管理システムサーバあてのメッセージを送信すると localhost にリダイレクトされ , その通信を Java アプレットが拾い SSL-VPN 装置 に対してセションを確立する。クライアントパソコンと SSL-VPN 装置間でセショ ンが確立されると , 最初に web プラウザから , HTTPS で SSL-VPN±置に接続し , SSL-VPN 装置から Java アプレットをダウンロードしたときと同様に , ポート番号 443 を使って IP バケットを送信する。この IP バケットを SSL - VPN 装置が受信す ると , SSL によって暗号化されているので復号する。そして , 内部ネットワークの 管理システムサーバに対し , 別セションを確立する。このとき , SSL-VPN 装置で は , クライアントパソコンとのセションと管理システムサーバとのセションを固定 的に対応付けるようにしているので , クライアントパソコンは管理システムサーバ と通信ができるようになる。つまり , クライアントから送信されてくるポート番号 が最初に設定した値と異なる値が使用されると , SSL-VPN 装置におけるマッピン グができなくなる。そこで , ポート番号は固定である必要がある。したがって , 「ク ライアントからのポート番号によって内部サーバとの対応を固定的に設定してい る」旨を答えるとよい。 ( 2 ) ( 1 ) 項でも述べたように , クライアントパソコンは , SSL-VPN 装置に対し HTTPS ( ポート番号 443 ) でアクセスする。このため , ファイアウォールの設定としては , HTTPS の接続要求だけを許可し , インターネット側からのその他のアクセス要求 は , すべて禁止すればよい。したがって , 解答としては「インターネット側からの HTTPS による通信要求だけを許可し , その他はすべて禁止する」旨を答えるとよ なお , SSL-VPN 装置からクライアントパソコンに対する応答バケットは , ファ イアウォールでは通常 , 動的フィルタリングが行われる。つまり , HTTPS セショ ンが確立している間 , 応答バケットは動的にファイアウォールを通過できるので , 応答バケットを通過させる条件を述べる必要はない。 ( 3 ) SSL では , サーバから通常 , Certificate メッセージでサーバの公開かぎ証明書が クライアント側に送られてくる。すると , クライアントは ClientKeyExchange メ ッセージで , 暗号化かぎや認証かぎを作成する秘密情報 ( プレマスタシークレット ) 一三ロ 5 1 5
問 6 ー 26 ロロロ 午前第 6 部情報システムへの脅威と社会環境 765013 メールに添付されてくるコンピュータウイルスの対策として , 適切な記述はど ウイルスチェックソフトウェアを導入して , ウイルスつきのメールをすべ ア れか。 ーバのファイル ) などは非常に危険性が高いが , その他の拡張子は実行でき 工添付ファイルの拡張子が exe や com, bat, cmd, pif, scr ( スクリーンセ ァイルでも調査できるので , 内容の確認が安全にできる。 ウ高機能のテキストエデイタで添付ファイルを強制的に開けば , バイナリフ で注意が必要である。 見せかけ , アイコンのダブルクリックで実行させられてしまうことがあるの されない。このため , ファイル名の最後に . txt を付けてテキストファイルに い ] をオフにしていても , PIF ファイルの拡張子は工クスプローラでは表示 イ Windows において , 工クスプローラの [ 登録されている拡張子は表示しな てプロックすれば , 添付されたウイルスによる感染は防ぐことができる。 ないので安全である。 問 6 ー 27 ロロロ 765020 ミング詐欺の記述として , 正しいものはどれか。 ファー ア SSL を使用した暗号化通信をしても , 偽サイトへ誘導されたことは分から ないので , 無意味である。 イウイルス ( ワーム ) などを使って , クライアントの hosts ファイルを書き 換えたり , DNS サーバに虚偽の情報をキャッシュさせることによって , ユー ザに偽の IP アドレスを返させて偽サイトへ誘導する。 ウ「メール中の URL をクリックせずに , 自分でアドレスパーに URL を人力 する」といった対策 ( プラウザのアドレスパーには , 正規の URL が表示さ れていることを確認する ) を実施していれば , 偽サイトへ誘導されてしまう 可能性はない。 工ューザに偽サイトへ誘導するメールを送るので , ューザが不用意に偽サイ トヘアクセスしない限りは , 安全である。 1 59
午前 問 1 ー 37 イ 第 1 部情報セキュリティ知識 解答・解説 765 ( ) 55K . / .. /etc/passwd" と指定す ファイル名に相対パスを使用して , 例えば。 ると , ope Ⅱ関数が読み込むファイルは , "/home/data/ . . /etc/passwd' となり , これはン etc /pas swd" と等価で , etc ディレクトリのパスワードフ ァイルを HTML ソースに書き出してしまう脆弱性がある。このように , 相対 パス指定によって親ディレクトリを経由して他のディレクトリにアクセスす ることをディレクトリトラバーサルという。よって , ( イ ) が適切である。なお , 本間題のサンプルプログラムは IPA/ISEC の「セキュアプログラミング講座」 (http://www.ipa.go ・ jp/security/awareness/vendor/programming/) を参照してい る。本試験に向けて , セキュア java プログラミング , セキュア perl プログラミ ング , セキュア c/c + + プログラミングに関する部分などを中心に学習しておくと よいだろう。 ア : 絶対パス名の使用では / h 。 me / ディレクトリ配下以外にアクセスできない。 ウ : 「勺「 > 」「 + 」などの記号文字がファイルバスに混入すると叩 en 関数の動作 が変わる。例えば , " f 土 lename " ) が読込み専用でオープンするのに対し , open(F 工 LE ′ " > fi lename " ) はファイルを上書き用でオープンし , ファイ open(FILE ′ ルが存在しない場合は作成する。 open(F 工 LE, " > > f 土 lename " ) はファイルを追加用でオープンし , ファイル が存在しない場合は作成する。 open(F 工 LE, " + < f 土 lename " ) はファイルを読み書きでオープンし , ファイ ルが存在しない場合はエラーにする。 などのように変化する。 工 : ファイル名にパイプ文字を使用すると外部プログラムが起動されるので , コ マンドインジェクション攻撃のリスクがある。例えば , 相対パスと組み合わせ . /sbin/ifconfig ド ' のように , コマンドの後ろにパイプ文字 て , を付けると open 関数は外部プログラムを起動してプログラムの標準出力をオ ープンする。その結果 , ネットワークの状態を表す ifconfig コマンドの実行結 果がプラウザ上に表示される。 問 1 ー 38 ウ ( H16 Fk-SS 間 23K ) SET (Secure EIectronic Transaction) は , インターネット上でクレジットカ ードによる支払いを安全に行うためのプロトコル仕様である。クレジットカード 会員 , 加盟商店 , 決済機関が , 認証局から証明書の発行を受けて行う取引の手順 を定めている。したがって , ( ウ ) が正解である。 ア : CII (Center for the lnformation of lndustry) 標準・・・・・・ EIAJ ( 社団法人日 本電子機械工業会 ) 標準をベースとして多種多様な業界ニーズへの対応と , 371
気登の午後 I 第 1 部情報セキュリティシステムの企画・設計・構築解答・解説 [ 設問 3 ] この設問は , 送信メールを web サーバ上に保存する際に注意すべき点を , アクセ ス権 , 保存場所 , 保存期間について解答するものである。 まず , アクセス権については , web サーバ上に保存するため , 自由にアクセスでき ると , 送信メールが第三者にすべて読み取られてしまう危険性がある。このため , 送 信メールのコピーにアクセスできる権限については , web サーバの管理者だけに限定 することが必要となる。したがって , 「アクセス権は web サーバの管理者だけに限定 する」旨を答えるとよい。 次の保存場所については , 送信メールのコピーといっても , 基本的に送信メールの ログ監視を行うことになる。つまり , コンテンツファイルや文書ファイルなどと同じ 位置付けでなく , ログ専用のファイルを作成し , そこに保存することが必要になる。 したがって , 「ログ専用のファイルを作成し , そこに保存する」旨を答えるとよい。 なお , このログファイルに関しては , 管理者権限だけというアクセス権を設定するこ とになる。 最後の保存期間に関しては , ログ分析に必要な期間を設定し , 長い期間保存しない ことが必要になる。万一 , 管理者権限が奪われると , ログファイルがすべて読み取ら れる可能性があり , 長期間保存していると , それだけ情報漏えいにつながる危険性が 高くなるからである。本文中にも , 「トップページの改ざんは , 金曜日の深夜に発生 していたことが判明しており , 月曜日の朝に通知を受けるまでの 2 日以上もの間 , 改 ざんが検知されなかったことになる」という記述もあり , 基本的に X 社の EC サイト の運用などを考慮して保存期間を決めることが必要になる , したがって , 解答として は「ログ分析に必要な期間を設定し , その期間分を保存する」旨を答えるとよい。 [ 設問 4 ] 下線④は , 「監視対象となっているネットワークをイベントの通知手段として利用 することには問題がある」である。つまり , 攻撃者からの不正侵人を監視しているネ ットワークで不正侵人を検知したことを , Z-HIDS の機能を利用して担当者にメール 送信するということは , 担当者とともに , 攻撃者に対してもメールを送信するように できることを意味している。すると , 攻撃者も検知されたことに気付いてしまい , 不 正侵人の証拠などを消すような行為を行うことが可能となるので , 証拠が残らず , そ れ以降の対策が立てられなくなる。したがって , 解答としては「不正侵入を検知した ことを担当者に通知するのみならず , 攻撃者にも通知する可能性がある」旨を答える とよい。 431