平成24年度 春期 基本情報技術者試験 問41−60 解答編




このページは

基本情報

(基本情報技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください




問41 文章の内容を秘匿して送受信する場合の公開鍵暗号方式における鍵と暗号化アルゴリズムの取扱いのうち、適切なものはどれか。
暗号化鍵と復号鍵は公開するが、暗号化アルゴリズムは秘密にしなければならない。
暗号化鍵は公開するが、復号鍵と暗号化アルゴリズムは秘密にしなければならない。
暗号化鍵と暗号化アルゴリズムは公開するが、復号鍵は秘密にしなければならない。
復号鍵と暗号化アルゴリズムは公開するが、暗号化鍵は秘密にしなければならない。
解答
解説 まず、暗号技術はいかのように暗号鍵と復号鍵を利用します。この暗号鍵と復号鍵が同じものを利用する形式を共通鍵暗号方式、異なるものを利用する形式を公開鍵暗号方式といいます。

暗号を表示できません

共通鍵暗号方式は、暗号強度が弱く、鍵の管理が大変ですが、処理が高速という特徴があります。代表的なものにDES、AES(Rijndael)があります。
公開鍵暗号方式は、暗号強度が強く、鍵の管理が容易ですが、処理に時間がかかるという特徴があります。代表的なものに、RSA、ElGamal暗号があります。

公開鍵暗号方式では、暗号化を行う鍵を公開し多人数に配布します。そして、復号化を行う鍵を本人が秘密にし利用します。アルゴリズムは、一般に公開されています。

問42 システム障害を想定した事業継続計画(BCP)を策定する場合、ビジネスインパクト分析での実施事項はどれか。
BCPの有効性を検証するためのテストを実施する。
情報システム障害時の代替手順と復旧手順について関係者を集めて教育する。
情報システムに関する内外の環境の変化を踏まえてBCPの内容を見直す。
情報システムに許容される最大停止時間を決定する。
解答
解説 ビジネスインパクト分析とは、不測の事態(災害など)が発生した場合に業務が受けるリスクを分析するものです。よって、どれだけの損害額が出るか、どこに影響が出るかなどを調べる選択肢エのようなものが該当します。なお、BCP(business continuity plan)とは、事業継続計画のことで、災害などが発生した場合にいかにして業務を継続するかを計画したものです。

問43 図のようなサーバ構造の二重化によって期待する効果はどれか。

画像(問43)を表示できません
可用性の向上
完全性の向上
機密性の向上
責任追跡性の向上
解答
解説 図のように、一方のサーバが他方のサーバを監視し、障害時に処理を引き継ぐことで、全体の稼働率を向上させ、可用性を高めることができます。

完全性とは、データが改ざんされていないような性質で、ディジタル証明などで高めることができます。
機密性とは、許可された人間にしかアクセスできないような性質で、認証技術により高めることができます。
責任追跡性とは、問題が起きた際に起こした人間を追及、追跡できるような性質で、ログなどにより高めることができます。

なお、サーバを二重化することによって、負荷の分散などにも役立つことがあります。

問44 通信を要求したPCに対し、ARPの仕組みを利用して実現できる通信可否の判定方法のうち、最も適切なものはどれか。
PCにインストールされているソフトウェアを確認し、登録されているソフトウェアだけがインストールされている場合に通信を許可する。
PCのMACアドレスを確認し、事前に登録されているMACアドレスである場合だけ通信を許可する。
PCのOSのパッチ適用状況を確認し、最新のパッチが適用されている場合だけ通信を許可する。
PCのマルウェア対策ソフトの定義ファイルを確認し、最新になっている場合だけ通信を許可する。
解答
解説 ARP(Address Resolution Protocol)とはIPアドレス(ネットワーク層)から対応するMACアドレス(データリンク層)を得るプロトコルで、その対応表のことをARP表といいます。そして、逆にMACアドレスから、IPアドレスを得るプロトコルをRARP(Reverse ARP)といいます。

ARP自体は、PC(IPアドレス)とMACアドレスを対応付けるものですが、これを利用することで、MACアドレスを利用したフィルタリングなどが可能であるといえます。

問45 ディレクトリトラバーサル攻撃に該当するものはどれか。
Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行させる。
Webサイトに利用者を誘導した上で、Webサイトの入力データ処理の欠陥を悪用し、利用者のブラウザで悪意のあるスクリプトを実行させる。
管理者が意図していないパスでサーバ内のファイルを指定することによって、本来は許されないファイルを不正に閲覧する。
セッションIDによってセッションが管理されるとき、ログイン中の利用者のセッションIDを不正に取得し、その利用者になりすましてサーバにアクセスする。
解答
解説 ディレクトリトラサーバル攻撃とは、フォルダ名やファイル名を直接指定して不正にファイルを見る手法です。例えば『~tanaka/test/2008.txt』というファイルがあった場合に、今年度のテストを『~tanaka/test/2009.txt』であると予想し、URLに直接入力してファイルを不正に閲覧しようとする手法です。ファイル名を予想して直接アクセスするので、リンクがどこからもつながっていなくても、アクセス権限を適切にしていない場合は表示されてしまいます。

選択肢アは、SQLインジェクション攻撃の説明です。
選択肢イは、クロスサイトスクリプティングの説明です。
選択肢エは、セッションハイジャックの説明です。

問46 オブジェクト指向プログラミングの特徴はどれか。
オブジェクトが相互にメッセージを送ることによって、協調して動作し、プログラム全体の機能を実現する。
オブジェクトの外部からオブジェクトの内部のデータを直接変更できるので、自由度が高い。
下位クラスは上位クラスの機能や性質を引き継ぐので、下位クラスに必要な性質は全て上位クラスに含まれる。
個々のオブジェクトが使用するデータ(属性)は、あらかじめデータ辞書に登録しておく。
解答
解説 オブジェクト指向プログラミングは、オブジェクトという単位のプログラムが相互にメッセージを送りあうことで、プログラムを記述します。これにより独立性が高まり、保守性があがります。

選択肢イ:オブジェクト指向では、原則として内部のデータにはメソッドを経由してアクセスするように設計します。
選択肢ウ:下位クラスは上位クラスの機能や性質を引き継ぎますが、下位クラスには上位クラスには含まれていない差分を記述することができます。
選択肢エ:データ辞書への登録は必要ありません。

問47 階層構造のモジュール群からなるソフトウェアの結合テストを、上位のモジュールから行う。この場合に使用する、下位モジュールの代替となるテスト用のモジュールはどれか。
エミュレータ
シミュレータ
スタブ
ドライバ
解答
解説 テストと仮モジュールについてまとめます。

トップダウンテスト:上位のモジュールから順に開発していく、テストには仮の下位モジュール『スタブ』が利用される。
ボトムアップテスト:下位のモジュールから順に開発していく、テストには仮の上位モジュール『ドライバ』が利用される。

テストするモジュールを呼び出す上位のモジュールがドライバ、テストするモジュールから呼び出される下位のモジュールがスタブです。

エミュレータは、ほかのコンピュータの機能をソフトウェアで仮想的に再現するソフトウェアをいいます。
シミュレータとは、物理現象等を抽象化・定式化してコンピュータ上で再現するためのソフトウェアをいいます。

問48 ソフトウェア開発におけるテスト技法のうち、ブラックボックステストに関する記述として、適切なものはどれか。
ソースコードを解析し、プログラムの制御の流れと変数間のデータの流れのテストを、主にプログラム開発者以外の第三者が実施する。
プログラムが設計者の意図した機能を実現しているかどうかのテストを、主にプログラム開発者以外の第三者が実施する。
プログラムの全ての命令について最低1回は実行することを完了の条件とするテストを、主にプログラム開発者自身が実施する。
プログラムの内部構造や論理が記述された内部仕様書に基づくテストを、主にプログラム開発者自身が実施する。
解答
解説 ホワイトボックステストとブラックボックステストを以下にまとめます。

ホワイトボックステストは、内部構造に着目し論理がきちんとできているかを調べるテスト。単体テストなどに用いられ、条件網羅率などを調べる。
ブラックボックステストは、入力と出力の関係が仕様書通りにできているかを調べるテスト。結合テストなどに用いられ、限界値分析、同値分析などを行う。

選択肢ア、ウ、エはホワイトボックステストの説明です。(基本的にホワイトボックステストはプログラマが自分で行います。)

問49 サブルーチンへの引数の渡し方のうち、変数を引数として渡しても、サブルーチンの実行後に変数の値が変更されないことが保証されているものはどれか。
値呼出し
結果呼出し
参照呼出し
名前呼出し
解答
解説 サブルーチン(関数など)への引数の渡し方には以下の2種類があります。

値呼び出し(call by value):引数の値をコピーしてサブルーチンで利用する。サブルーチン内で値を変えても呼び出し元の値は変化しない。
参照呼出し(call by reference):引数のアドレスをサブルーチンへ渡す。サブルーチン内でアドレス先の内容を書き換えると呼び出し元でも変化する。

問50 ソフトウェアのリバースエンジニアリングの説明はどれか。
CASEツールなどを用いて、設計情報からソースコードを自動生成する。
外部から見たときの振る舞いを変えずに、ソフトウェアの内部構造を変える。
既存のソフトウェアを解析し、その仕様や構造を明らかにする。
既存のソフトウェアを分析し、理解した上で、ソフトウェア全体を新しく構築し直す。
解答
解説 現在動いているプログラムから、その設計書などを作成する手法をリバースエンジニアリングといいます。市場の製品をリバースエンジニアリングをすることは、一般的には禁止されていることが多いです。リバースエンジニアリングの後、その設計書を元に製品を作成することをフォワードエンジニアリングといいます。


問51 ソフトウェア開発プロジェクトで行う構成管理の対象項目として、適切なものはどれか。
開発作業の進捗状況
成果物に対するレビューの実施結果
プログラムのバージョン
プロジェクト組織の編成
解答
解説 構成管理とはサービスサポートプロセスの一つで、構成アイテム情報の収集や維持・管理・確認・検査を行うものです。プログラムやドキュメントのバージョン管理などがこれに当たります。

問52 プロジェクトのタイムマネジメントのために次のアローダイアグラムを作成した。クリティカルパスはどれか。

画像(問52)を表示できません
A → C → E → F
A → D → G
B → E → F
B → E → G
解答
解説 最早結合日を図に代入していくと下のようになります。

画像(問52kai)を表示できません

なお、ダミーの線は、同期線のことで、作業日数0日の実線だと思うと分かりやすいです。

問53 設計書の作成状況が表のとおりであるとき、3種類の設計書全ての作成を完了させるために必要な今後の工数(人時)は幾らか。

画像(問53)を表示できません
550
900
1100
2000
解答
解説 それぞれの設計書を順番に計算していきます。

基本設計書:作成枚数80枚のうち80枚が作成済みなので、残りは0枚。よって、0×5=0人時
概要設計書:作成枚数300枚のうち200枚が作成済みなので、残りは100枚。100×2=200人時
詳細設計書:作成枚数500枚のうち50枚が作成済みなので、残りは450枚。450×2=900人時

つまり3種類の書類を完成させるためには、あと0+200+900=1100人時かかるといえます。

問54 システム開発プロジェクトにおける、ソフトウェア品質の管理指標の一つとして、最も適切なものはどれか。
WBSを構成するワークパッケージの完了数
個人別のプログラミングの生産性
成果物ごとのレビュー時間
プログラムのバージョン
解答
解説 品質とは、システムのバグの少なさや性能の高さなどを表すものです。そのため、成果物(各工程でアウトプットされたもの)をどのくらいの時間や回数を掛けてレビュー(評価)したのかを調べることで、品質の程度を調べることができるといえます。

問55 ITサービスマネジメントの管理プロセスはどれか。
サービスレベル管理
スケジュール管理
品質管理
リスク管理
解答
解説 サービスレベル管理は、サービスデリバリの構成要素で、サービスデリバリは5つのプロセスで構成されています。

サービスレベル管理:サービス提供者と利用顧客の間で合意したサービスレベルを管理するプロセス。
ITサービス財務管理:ITサービスの提供に必要なコストとITサービス利用に伴う収益性を管理するプロセス。
可用性管理:ITサービスの提供に必要なシステムとマンパワーに関する可用性を管理するプロセス。
ITサービス継続性管理:ITサービスの提供が停止した場合の顧客への影響を最小限に防ぐ事を目的としたプロセス。
キャパシティ管理:利用顧客が要求するサービスレベルに対し、システムに将来必要とされるリソースを管理するプロセス。

問56 複数の業務システムがある場合のアクセス管理の方法のうち、最も適切なものはどれか。
業務の担当変更に迅速に対応するために、業務グループごとに共通の利用者IDを使用する。
人事異動が頻繁に発生する場合には、年初にまとめてアクセス権限の変更を行う。
新入社員の名簿に基づいて、あらかじめ全業務システムに全員の利用者登録を実施しておく。
利用者の職位にかかわらず、業務システムごとに役割に応じて適切なアクセス権の設定を行う。
解答
解説 それぞれの選択肢を順に評価していきます。

選択肢ア:業務グループではなく、個別に利用者IDを設定します。
選択肢イ:人事異動のたびに、アクセス権の変更を行います。
選択肢ウ:新入社員には、必要な分のみのシステムの利用・登録権を与えます。
選択肢エ:役割に応じて、アクセス権を与えます(正解)

アクセス管理の基本は、必要最低限のアクセス権限をリアルタイムで反映させることです。

問57 チェックディジットを利用する目的として、適切なものはどれか。
数値項目へ入力したデータに、英字や記号が混入した誤りを検出する。
入力したコードの値の誤りを検出する。
入力したコードの桁数の誤りを検出する。
入力したデータ値が、定められた範囲内に収まっていない誤りを検出する。
解答
解説 チェックディジットとは、本来のデータに付加される検査用のデータをいいます。これを付加することでデータに誤りがないかを検出することができます。ただし、チェックディジットは特定の計算によって求められるので誤りがある場合も偶然一致してしまう可能性もあります。

選択肢アは、ニューメリックチェックの目的です。
選択肢ウは、フォーマットチェックの目的です。
選択肢エは、レンジチェックやリミットチェックの目的です。

問58 システム監査人の独立性が保たれている状況はどれか。
営業部門の要員を監査チームのメンバに任命し、営業部門における個人情報保護対策について監査を行わせる。
監査法人からシステム監査人を採用して内部監査人に位置付け、社内の業務システム開発について監査を行わせる。
システム部門の要員を監査部門に異動させ、システム部門に所属していたときに開発に参加したシステムの保守について監査を担当させる。
社内の業務システム運用を委託しているITベンダの監査部門に依頼し、社内の業務システム運用についての外部監査を担当させる。
解答
解説 監査には独立性が求められ、監査機関と被監査機関の独立(監査をする側とされる側で利害関係や癒着がない)が必要です。独立には、以下の2つがあります。
・精神的独立:圧力や誘惑によって態度を変化させない
・外観的独立:立場や利害関係者の立場の疑いをもたれない

また、監査の目的は、専門的で中立的な立場からの客観的指摘です。そして、企業の監査部門が行う内部監査と第三者機関に依頼する外部監査の二つがあります。

監査に先だって、必要な予備審査を実施することもあり、被監査部門は積極的に協力するべきです。また、証拠資料はかならずコピーなどを取り複数保管しておくのが基本です。監査人(監査部門)は監査報告書の内容には責任を負いますが、改善自体は被監査部門が責任を負います。(改善指導を行うことはあります。)

よって、チームや部門などの関係者を監査人にするのは独立性があるとはいえません。

問59 システム開発を外部委託している部門が、委託先に対する進捗管理についてシステム監査を受ける場合、提出すべき資料はどれか。
委託先から定期的に受領している業務報告書及びその検証結果を示している資料
成果物の検収方法を明確にしている資料
ソフトウェアの第三者への預託を行っていることを示している資料
データや資料などの回収と破棄の方法を明確にしている資料
解答
解説 進捗とは、どの程度プロジェクトが進んでいるかを表したものです。そこで、「定期的に受領している報告書とその証拠」が進捗を評価することができる資料といえます。他の選択肢の資料ではプロジェクトでどのようなことをしているのかはわかっても、どの程度進んでいるのかは分かりません。

問60 システム監査において、監査証拠となるものはどれか。
システム監査チームが監査意見を取りまとめるためのミーティングの議事録
システム監査チームが監査報告書に記載した指摘事項
システム監査チームが作成した個別監査計画書
システム監査チームが被監査部門から入手したシステム運用記録
解答
解説 監査を行う場合には、必ず証拠となる監査証跡を入手し、情報の裏づけを行う必要があります。監査証拠は、監査を実施した被監査部門から入手します。監査部門はこれらの情報や証拠を元に報告書を作成し、監査依頼主に提出します。監査依頼主は提出された報告書を元に、必要があれば被監査部門に改善命令を出します。