問問1 設問1
設問1本文中の|a|-| 』|に入れる最も適切な字句を解答群の中か ら選び,記号で答えよ。 ARH アCVE 4ゼロデイウ標的エファジンシグ
情報処理安全確保支援士 2016年 秋期 午後Iの問題文8問です。図・表・別冊資料と正解は掲載していませんので、出典の公表資料またはアプリでご確認ください。
問2ソフトウェア開発における脆弱性対策に関する次の記述を読んで,設問1ご4に稚 えよ。 V tlt,ディジタル機器の開発及びソフトウェアの受託開発を行う,従業員数400 名の企業である。昨今,ソフトウェアの重大な脆弱性が相次いで報告されているの で,V社開発部のL Ald,セキュリティ専門業者S社の情報セキュリティスペシャ リストのK氏から,ソフトウェア開発についてのアドバイスを受けることとした。 〔脆弱性及びその悪用 ソフトウェアの脆弱性の情報を組織間で一意に特定し共有できる仕組みが運用さ れている。例えば,脆弱性が報告されると,| 』|識別子が付番され,日本国 内ではJPCERT/CCなどが公表し注意喚起している。ただし,公表前に悪用されるも のもあり,|b|脆弱性と呼ばれる。|pb Mw,特定の組織を狙う 攻撃つまり| c|型攻撃でしばしば悪用される。 脆弱性の中でも,バッファオーバフロー脆弱性(以下,BOF脆弱性という)ld, 最近開発されたソフトウェアにおいても数多く報告されている。BOF脆弱性は,主 に,スタックベースBOF脆弱性とヒープベースBOF脆弱性に分類される。ソフト ウェアにBOF脆表性がある場合,当該ソフトウェアへの入力によって,①開発者が 想定しないメモリ領域に書き込まれ,開発者の意図しない命令が実行されることが ある。 S,Linuxにおいて実行可能ファイルが四つあるとする。図1は,それらが存在す るディレクトリでのlsコマンドの出力である。実行権限の属性に“s”が表示されて いるファイルは,ファイルの所有者権限で実行されることを示している。HOOT ァイルのうち|ア|は,一般利用者suzukiによって起動された場合でもroot 権限で動作する。にBOF脆弱性があると,外部の攻撃者やマルウェアに KOC,開発者の意図しない命令がroot権限で実行されてしまう。 ー6一 suzuki@Linux:~/temp$ls-al 合計40 drwxrwxr-x 2 suzuki suzuki 4096 1月18日16:19. drwxr-xr-x 22 suzuki suzuki 4096 1月18日15:54.. -rwsrwxr-x 1 root root 7205 1 18日16:19 sample2 -rwxrwxr-x 1 suzuki suzuki 7205 1月18 16:10 sample3 -rwsrwxr-x 1 suzuki suzuki 7205 1月18 16:10 sample4 suzuki@Linux:~/temp$ 図1 lsコマンドの出力 [ヒープベースBOF脆弱性〕 K氏によると,最近,ヒープベースBOF脆弱性を悪用する攻撃の報告が増えてき ているという。L氏は,出荷前のV社製品のソフトウェアについてヒープベース BOF脆弱性がないか,K氏のレビューを受けることにした。 図2のプログラムY ls,起動時に,第1引数は利用者IDを,第2引数はパスワー ドを受け取る。このプログラム用にあらかじめ登録された“利用者IDとパスワード" の組と引数で与えられた組を比較し,利用者認証する。“利用者IDとパスワード" は,いずれも半角英数字,最小6文字最大8文字の文字列と仕様で定められている。 ーー7ーー 1:#include<iostream> 2:#include<cstring> 3:(省略) 4:#define UID SIZE 8//利用者IDの文字列の上限値 5:#efine PASS SIZE 8//パスワードの文字列の上限値 6:(省略) 7:using namespace std; 8: 9:void getPass(char*pass,char*uid) 10:{ 11:(省略,uidで指定された利用者IDを基に登録済パスワードを取得しpassに格納,利用者 IDが存在しない場合は長さ0の文字列をpassに格納) 12:} 13:(省略) 14: 15:int main(int argc,char**argV) 16:{ Vz:static char*uid; 18:static char*pass; 19:(省略,引数の個数をチェック) 20:uid=new char[UID SIZE+1]: 21:pass=new char[PASS_SIZE+1]: 22:getPass(pass,argv[1]): 23:strcpy(uid,argv[1]): 24: 25:if(strlen(pass)==9||strcmp(argv[2],pass)!=9){ 26:cout<<"認証失敗"<く<end[ 27:(省略,uidを出力,認証失敗時の処理) 28:}else{ 29:cout<<"認証成功”"<<endl; 30:(省略,uidを出力) 31s} 32:} M2ヒープベースBOF脆弱性のあるプログラムY プログラムYにはヒープベースBOF脆弱性があり,②引数によっては,利用者認 証を回避される可能性があると,L Kl K氏に指摘された。ただし,K氏によると, ③このプログラムYは引数が同じでも,実行環境によっては利用者認証を回避され ないとのことだった。L氏は,V社の開発した他のプログラムについても確認するこ どとLUE, 〔V社の脆弱性対策] BOF脆弱性は,メモリを直接操作することが可能なプログラム言語CやC++な どで発生する。その対策として,例えば,WindowsではハードウェアDEP(Data Execution Prevention)のようなデータ実行防止機能を適用することで,一部のBOF 8— 脆弱性を悪用する攻撃を抑制できる。しかし,プログラムYでの利用者認証を回 避する攻撃に対しては有効に機能しない。そこで,V HT,CやC++の利用が避 けられない場合を除き,BOF脆弱性が起きにくい他のプログラム言語を利用するこ ととした。一般的には,開発時に,静的解析ツールを利用したり,通常の利用では 想定しないデータを入力し,その応答から脆弱性を探す| q|検査を行うツー ルを利用したりして,脆弱性を洗い出すことも効果的である。また,Y社では,ソフ トウェアのリリース後,脆弱性が発見された場合に備え,V社製品の利用者に更新プ ログラムを提供するサイトを準備することとした。
設問1本文中の|a|-| 』|に入れる最も適切な字句を解答群の中か ら選び,記号で答えよ。 ARH アCVE 4ゼロデイウ標的エファジンシグ
設問2脆弱性を悪用する攻撃について,①,②)に答えよ。 (1)本文中の下線のについて,スタックベースBOF脆弱性を悪用する攻撃の場 合,関数呼出し時にスタックに必ず積まれるはずの,何の値を書き換えるこ とによって攻撃が開始されるか。20字以内で答えよ。 ⑫)本文中の|ア|に入れるファイル名を全て答えよ。
設問3図2のプログラムの脆弱性について,①~て(3)に答えよ。 (1)本文中の下線@はどのような引数で利用者認証を回避されるか。引数の組 を解答群の中から選び,記号で答えよ。 ABH ー9一 (2)利用者認証を回避される原因となるヒープベースBOF脆弱性の存在箇所を, 実際にバッファがオーバフローするコードの行番号で答えよ。 (3)(2⑫②で示した行番号の行を差し替えて行う改修案として適切なものを解答群 の中から全て選び,記号で答えよ。 SEE EE アmemcpy(uid,argv[1],strlen(argv[1])+1); イmemcpy(uid,argv[1],UID SIZE+1); ウpass=new char[PASS SIZE+8]; =strncpy(uid,argv[1],strlen(argv[1])+1): オstrncpy(uid,argv[1],UID SIZE+1);
設問4利用者認証の回避について,(1),(2②)に答えよ。 (1)本文中の下線について,利用者認証が回避されない理由を,攻撃のタイ ミングではなく実行環境の観点で,40字以内で述べよ。 (2)本文中の下線@について,有効に機能しない理由を,30字以内で述べよ。 ー10一
プロキシサーバによるマルウェア対策に関する次の記述を読んで,設問1ン4に答 Ricky Q社は従業員数1,000名の医薬品製造会社である。Q社では,セキュリティ対策を 強化するために,ブラックリスト指定のURLフィルタリング機能だけを有している プロキシサーバ(以下,プロキシ1という)を,セキュリティ機能が豊富な新しい プロキシサーバ(以下,プロキシ2という)に更新するプロジェクトを開始した。Q 社のネットワーク構成を図1に示す。 it Sa a a aT I a a ag pLサーバ|サーバサーバ]|| [|Lew rsw !サーバセグメントLSWNILT ITISWY| FW:ファイアウォール|| raswl利用者セグメント| L2SW:レイヤ2スイッチ|| L3SW:レイヤ3スイッチas 注記1プロキシ2は,プロジェクトの途中で設置される。 注記2 Q社の管理PC及び社員PCは,利用者セグメントに接続されている。 図1 Q社のネットワーク構成 情報システム部(以下,情シ部という)は,情報システムの管理及び情報セキュ リティインシデントの対応を行っている。サーバ管理業務は,情シ部のサーバ管理 者が行う。情シ部にはサーバ管理者が複数人いる。サーバ管理者は各種設定などの サーバ管理業務を行う場合だけ,1台の管理PCに自分の管理者IDでログオンし, OSの管理用のコマンドなどを使用する。OSの管理用のコマンドは,一般利用者で も起動可能なものもある。管理PCはサーバ管理業務だけに用い,Webブラウザによ るインターネット接続及び電子メール(以下,メールという)の送受信はできない ように設定されている。管理PCでの作業後には,開始日時,終了日時及び作業者名 を記録する運用が徹底されている。 Q社の従業員は,一人1台貸与された社員PCを使用している。管理PC及び社員 PCには,全て,固定ITPアドレスが割り振られている。社員PCからインターネット への通信は,外部メールサーバ経由のメールの送受信と,プロキシ1経由のHTTP 及びHTTP over TLSでのWebアクセスだけが利用できるようになっている。和社員 PCのWebブラウザは,インターネット接続時に,プロキシ1を経由するよう設定さ れている。社員PCにはOSの管理用のコマンドはインストールされていない。 PCのプログラム起動禁止設定は,PC管理サーバによって,全て一括管理されて WS,プログラム起動禁止設定には,プログラム名が一致した場合にプログラムの 起動を禁止にする方式と,プログラムの実行ファイルのハッシュ値が一致した場合 に禁止する方式があり,両方の方式を組み合わせた設定もできる。Q社は,複数の P2Pプログラムのプログラム名を指定して起動を禁止している。 サーバ及びPCでは,ログオン,ログオフ及び操作のログを,ネットワーク機器で は通信ログをそれぞれ取得している。プロキシ1では,日時,接続先URL,送信元 IPアドレス,ステータスコード,応答のサイズなどのログを取得している。 プロキシ2の機能を表1に示す。 表1プロキシ2の機能 フィルタリ|URLフィルタ|・ホワイトリストに設定したURLを許可する。 ング機能|リング機能・プラックリストに設定したURLを遮断する。 カテゴリ単位|・カテゴリ単位に次のいずれかを指定する。 フィルタリン|“許可”:カテゴリごとに定義されたURLを許可し,ログに記録しな グ機能い。 “検知":カテゴリごとに定義されたURLを許可し,ログに記録する。 “人遮断":カテゴリごとに定義されたURLを遮断し,ログに記録する。 プロキシ認証機能・PCからインターネットのWebサイトへの接続時に利用者IDとパスワ ードによる利用者認証を行い,認証結果をログに記録する。 [a機能"・インターネットからWebサーバへの通信を中継する。 SE)Q社では本機能は使用しない。 プロキシ2のカテゴリ単位フィルタリング機能のために,ニュース,ゲーム,外 部ストレージサービスなどのカテゴリが用意されており,これらについては,カテ ゴリごとに分類されたURLリストが随時更新され,プロキシベンダのWebサイトを 通じて提供される。サーバ管理者がカテゴリを選んで,通常は“遮断”を指定する。 URLフィルタリングとカテゴリ単位フィルタリングで同じURLが設定された場合は, URLフィルタリングによる設定が優先される。URLフィルタリングのホワイトリス ト,ブラックリストで同じURLが設定された場合は,ホワイトリストの設定が優先 される。 Q社では,フィルタリング機能の設定は,情シ部のサーバ管理者が行う。 [プロキシ更新】 情シ部ではプロキシ1からプロキシ2への更新を,次に述べるフェーズ1~3の3 段階で行うことにした。 フェーズ1では,プロキシ1と社員PCとの通信方法を変えずに,DMZにプロキ シ2を導入し,プロキシ1とインターネット間の通信を,全てプロキシ2経由とす る。プロキシ1のURLフィルタリング機能を無効にして,プロキシ2のフィルタリ ング機能の一部だけを有効にする。ログについては,プロキシ2で,プロキシ1と 同じ項目のログを取得するよう設定する。 フェーズ2では,プロキシ2のフィルタリング機能及びプロキシ認証機能を強化 する。 フェーズ3では,社員PCのWebブラウザのプロキシ設定をプロキシ1からプロ キシ2に変更し,プロキシ1を撤去する。 このようにフェーズ分けを行うのは,情シ部の次の二つの判断による。 ・社員PCの導入時期が異なるので,複数種類,複数バージョンのWebブラウザが 使用されており,プロキシ2に切り替えると不具合が発生する可能性が高い。 ・何らかの不具合が発生した場合に,迅速に旧環境への切り戻しができる。 [情報セキュリティインシデントの発生と対応】 フェーズ1開始後まもなく,海外のセキュリティ専門業者から,C&C(Command &Control)サーバにQ社からの通信の記録があるとの連絡があった。情シシ部のJ 長が経営陣に報告し,情報セキュリティスペシャリストのTさんとともに調査した ところ,次のことが分かった。 ・文書ファイルが添付されたメールが複数の従業員宛てに届いた。 ・そのうち,営業部のUさんが添付ファイルを開いたので,Uさんの社員PCがマル ウェア(以下,マルウェアZという)に感染した。 ・マルウェアZは,文書ファイルのマクロとして実装されていた。マルウェアZ ld, «=%= Uさんの社員PC上で動作し,文書閲覧ソフトの脆層性を悪用してC&Cサーバと 通信し,攻撃用プログラムを当該PC上にダウンロードして起動させた。 ・攻撃用プログラムは,OSの管理用のコマンドをUさんの社員PC上に複数ダウン ロードして起動させ,サーバ情報を軍取した。 ・マルウェアZには,ネットワークで接続された他のPCやサーバに感染を広げる機 能がある。 ・Uさんの社員PC以外には感染したPCやサーバはなかった。 ]部長は,不審なメールを受信した場合,添付ファイルや,メール内に記載されて いるURLをクリックしないよう全従業員に注意喚起を行った。次に,J部長は次の 二つを指示した。 ・社員PCで,|b|]のプログラム起動禁止設定を行う。 ・管理PCで,|c|のプログラム起動禁止設定を行う。 [プロキシサーバにおける追加設定〕 情シ部は,C&CサーバのURLをプロキシ2のブラックリストに設定した。また, マルウェアの感染の拡大に備えて,今後はプロキシ2によってC&Cサーバへの接続 が遮断されたPCをプロキシサーバのログから特定し,直ちにLANから切り離すこ とにした。ところが,Tさんは,次の問題があることに気付いた。 ・プロキシ1のログだけでは,プロキシ2で遮断したことが確認できない。 ・①プロキシ2のログだけでは送信元PCが特定できない。 そこで,プロキシ1では,HTTPヘッダとして| d|ヘッダフィールドを追 加するように設定し,プロキシ2では,| qd|ヘッダフィールドをログに出力 するように設定した。 情シ部は,インシデント対応を完了し,プロジェクトをフェーズ2に進めた。 =ti= [フェーズ2の開始〕 フェーズ2において,情シ部は,まず,②プロキシ認証に対応したマルウェアも 多いとの調査報告を踏まえ,効果が完全ではないことを認識しながらも,プロキシ2 のプロキシ認証機能を有効にした。 次に,計画どおりプロキシ2のカテゴリ単位フィルタリング機能を用いて,業務 に不要と思われるカテゴリを遮断”に設定した。すると,一部の部門から,業務 で使用しているWebサイトが使用できなくなったとの連絡があった。そこで,業務 に不要と思われるカテゴリを"検知"に設定し,1か月間運用した後,業務に必要 かつ安全であることを確認したURLは許可し,それ以外の_URLは遮断することに Lire, 情シ部は,問題がないことを確認後,プロジェクトをフェーズ3に進めた。
設問1表1中の| 』|]に入れる適切な字句を解答群の中から選び,記号で答え che 解答群 アDMZ qt羽村ソワソードデメキき涼 ウプロキシARP=.リバパースプロキシ
設問2[情報セキュリティインシデントの発生と対応】について,①⑪,⑫)に答えよ。 a)本文中|bp|,に入れる次の⑪てGi)の適切な組合せを, それぞれ解答群の中から選び,記号で答えよ。 (i)OSの管理用のコマンド Gi)攻撃用プログラム Gi)マルウェアZ 解答群 アwi)4(i),Gi)ウ(i),Gi),Gi)エ@,Gi A ii)カii),ii)キ(iii) (2)プログラム名を指定する方法とハッシュ値を指定する方法の両方でプログ ラム起動禁止設定を行ったとしても,攻撃用プログラムの起動を防ぎきれな い場合がある。それは,どのような攻撃用プログラムの場合か。30字以内で 具体的に述べよ。 ー15一
設問3〔プロキシサーバにおける追加設定】]について,DY,②)に答えよ。 (1)本文中の下線について,プロキシ2のログだけでは送信元PCが特定でき ない理由を,30字以内で述べよ。 ②)本文中の| q|]に入れる適切な字句を解答群の中から選び,SCH Rds 解答群 アMax-ForwardsイProxy-AuthorizationウReferer xX User-AgentオX-Forwarded-For
設問4〔フェーズ2の開始)」について,(1),②)に答えよ。 (1)本文中の下線@について,マルウェアは,どのようにして,認証を成功さ せるか。50字以内で具体的に述べよ。 (2)本文中の下線について,プロキシ2でどのように設定すべきか。URL 7 ィルタリング機能及びカテゴリ単位フィルタリング機能について,それぞれ 40字以内で具体的に述べよ。 ー16一 [xモ用紙) [メモ用紙) | しメモ用紙]
各問題の下に出典を記載しています。