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




このページは

基本情報

(基本情報技術者試験)

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

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




問41 Webサーバのコンテンツの改ざんを検知する方法のうち、最も有効なものはどれか。
Webサーバのコンテンツの各ファイルの更新日を保管しておき、定期的に各ファイルの更新日と比較する。
Webサーバのコンテンツの各ファイルのハッシュ値を保管しておき、定期的に各ファイルから生成したハッシュ値と比較する。
Webサーバのメモリ使用率を定期的に確認し、バッファオーバフローが発生していないことを確認する。
Webサーバへの通信を監視し、HTTP、HTTPS以外の通信がないことを確認する。
解答
解説 それぞれの選択肢を順に見ていきます。

選択肢ア:ファイルの更新日は容易に書き換えることができるため、確実ではありません。
選択肢イ:ハッシュ値を用いて比較することで、ファイルに差分が生じた際はすぐに検出することができます(正解)
選択肢ウ:バッファオーバーフローからは、改ざんの検出をみつけることができません。
選択肢エ:コンテンツの改ざんには、FTPやTelnetなどのプロトコルを用いる場合も多いため、確実ではありません。

問42 ファイルの属性情報として、ファイルに対する読取り、書込み、実行の権限を独立に設定できるOSがある。この3種類の権限は、それぞれに1ビットを使って許可、不許可を設定する。この3ビットを8進数表現0〜7の数字で設定するとき、次の試行結果から考えて、適切なものはどれか。

【試行結果】
@ 0を設定したら、読取り、書込み、実行ができなくなってしまった。
A 3を設定したら、読取りと書込みはできたが、実行ができなかった。
B 7を設定したら、読取り、書込み、実行ができるようになった。
2を設定すると、読取りと実行ができる。
4を設定すると、実行だけができる。
5を設定すると、書込みだけができる。
6を設定すると、読取りと書込みができる。
解答
解説 8進数表記で0〜7ということは、2進数で000〜111の間で各桁が1か0かでアクセス権を操作するというものです。@により、0(=000)ではアクセス権がなくなったということなので、0でアクセス禁止、1でアクセス許可ということが分かります。次にAより、3(=011)では、作成ができなくなったということなので、最初のビットが作成を表していることができます。Bは@の反対なので自明です。よって、4(=100)を指定すると作成だけができます。

問43 ウイルスの調査手法に関する記述のうち、適切なものはどれか。
逆アセンブルは、バイナリコードの新種ウイルスの動作を解明するのに有効な手法である。
パターンマッチングでウイルスを検知する方式は、暗号化された文書中のマクロウイルスの動作を解明するのに有効な手法である。
ファイルのハッシュ値を基にウイルスを検知する方式は、未知のウイルスがどのウイルスの亜種かを特定するのに確実な手法である。
不正な動作からウイルスを検知する方式は、ウイルス名を特定するのに確実な手法である。
解答
解説 選択肢を順に見ていきます。

選択肢ア:逆アセンブルとは、リバースエンジニアリングの一種で、バイナリ(2進数)データをアセンブラ言語(ニーモニック)に変換する行為です。これにより、ウィルスの動作を解析することができます。
選択肢イ:パターンマッチングとは、ウィルスを定義したファイルと対象のファイルを比較することで、ウィルスを発見する方法です。しかし、既存のウィルスであればほとんど発見できますが、暗号化や亜種には弱いという欠点があります。
選択肢ウ:選択肢イと同様に、定義ファイルの内容と比較する方法ですが、ハッシュ値は元のファイルの内容が少しでも変わると大幅に値が変わるので、亜種の発見には不向きです。
選択肢エのようにおかしな動作を監視することをヒューリスティックスキャンと言いますが、ウィルス名は会社などによって、異なる場合が多いですので、誤りです。

問44 コンピュータやネットワークのセキュリティ上の脆弱性を発見するために、システムを実際に攻撃して侵入を試みる手法はどれか。
ウォークスルー
ソフトウェアインスペクション
ペネトレーションテスト
リグレッションテスト
解答
解説 それぞれの用語を以下にまとめます。

ウォークスルー:開発に携わった者が集まり、ソースコードや設計書お誤りや問題点を発見すること。
ソフトウェアインスペクション:ソフトウェアを第三者が検証し、本人が気づかない誤りや問題点を検出すること。
ペネトレーションテスト:セキュリティにおける脆弱性を実際に侵入などの攻撃をして検証するテストです。これにより、セキュリティ上の弱点などを発見することを目的とします。
リグレッションテスト:退行テストとも呼ばれ、プログラムのバグを修正した後に、今まで正常だった場所に新しくバグが発生していないかを確認するテストです。

問45 安全性や信頼性を確保するための設計のうち、フールプルーフに該当するものはどれか。
装置が故障したときは、システムが安全に停止するようにして、被害を最小限に抑える。
装置が故障したときは、利用できる機能を制限したり、処理能力を低下させたりしてても、システムは稼働させる。
装置が故障しても、システム全体の機能に影響がないように、二重化などの冗長な構成とする。
利用者が誤った操作をしても、システムに異常が起こらないようにする。
解答
解説 重要な高信頼システム設計法についてまとめておきます。

フォールトトレラント:障害時に全体が停止するということなく、動作し続けるようなシステムを設計すること。
フォールトアボイダンス:システムの構成要素の信頼性を高め, 元から故障が極力発生しないように設計すること。
フォールトマスキング:障害が発生したときに、その部分を他の機器から隠蔽したり、自律回復するように設計すること。
フェールセーフ:障害が発生した場合、常に安全側に制御・停止すること。
フェールソフト:障害が発生した場合、故障した個所を切り離すなどして、稼動を続けること。
フェールオーバ:障害が発生した場合、ユーザに切り替えを意識させないように、別のシステムに引き継がせること。
フールプルーフ:ユーザが誤った操作をした場合、危険に晒されることがないように、事前に安全策を行うこと。

他の選択肢は以下のとおりです。
選択肢ア:フェールセーフ
選択肢イ:フェールソフト
選択肢ウ:フォールトトレラント

問46 URLのダイアグラムのうち、インスタンス間の関係を表現するものはどれか。
アクティビティ図
オブジェクト図
コンポーネント図
ユースケース図
解答
解説 UML(Unified Modeling Language)は統一モデリング言語とよばれ、オブジェクトモデルを表すのに用いられるものです。代表的な図を以下にまとめます。

オブジェクト図:オブジェクト間の構造を記述するもの。(クラス図と似ています)
クラス図:クラス間の特化/汎化、集約/分解などを記述するもの。
アクティビティ図:フローチャートのようなもので、ビジネスプロセスやフローなどを記述するもの。
シーケンス図:オブジェクト間のデータのやり取りを記述するもの。
パッケージ図:クラス図の一種で、パッケージという単位での構造関係を記述するもの
コンポーネント図:コンポーネント(構成要素)の内容とその間のインタフェースを記述するもの。
ステートチャート図:オブジェクトが生成された、動作し、消滅するまでを記述するもの。
ユースケース図:アクタ(利用者)とアクタの操作(ユースケース)を記述するもの。

問47 オブジェクト指向におけるカプセル化を説明したものはどれか。
同じ性質をもつ複数のオブジェクトを抽象化して、整理すること
基底クラスの性質を派生クラスに受け継がせること
クラス間に共通する性質を抽出し、基底クラスを作ること
データとそれを操作する手続を一つのオブジェクトにして、その実装をオブジェクトの内部に隠蔽すること
解答
解説 オブジェクト指向の概念について下にまとめます。

クラス:データとメソッドを1つにまとめたもの
メソッド:オブジェクトがもっている手続のこと
メッセージ:オブジェクト間でやり取りされる情報のこと
カプセル化:データにメソッドを通じてのみアクセスできること。このため、内容を知らなくてもブラックボックス的に利用できます。
インスタンス:型であるクラスに実際の値を入れて、具現化すること
集約化:複数のオブジェクトを構成して、ひとつのオブジェクトにすること。(例:タイヤ、ハンドル、ドア・・・などから車を定義する)
抽象化:共通の性質をまとめて定義したもの、一般的にスーパークラスとして定義される。
継承:スーパークラスを取り込み、再利用すること。(例:人間クラスを継承して学生クラスを作る)
ポリモーフィズム(多相性,多態性):同じメッセージに対して別の振る舞いをすること(例『鳴く』というメッセージに対して、『ワンワン・ニャーニャー』など別の振る舞いをする)

他の選択肢は以下のとおりとなります。
選択肢ア:抽象化
選択肢イ:継承
選択肢ウ:抽象化

問48 ブラックボックステストに関する記述として、適切なものはどれか。
テストデータの作成基準として、命令や分岐の網羅率を使用する。
被テストプログラムに冗長なコードがあっても検出できない。
プログラムの内部構造に着目し、必要な部分が実行されたかどうかを検証する。
分岐命令やモジュールの数がふえると、テストデータが急増する。
解答
解説 ホワイトボックステストとブラックボックステストを以下にまとめます。

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

ブラックボックステストは、入出力しか確認しないため、冗長なコードが非効率なコードがあっても検出できません。
選択肢ア、ウ、エはホワイトボックステストの説明です。

問49 運用テストにおける検証内容として、適切なものはどれか。
個々のソフトウェアユニットについて、仕様を満足していることを確認する。
ソフトウェア品目の中で使用しているアルゴリズムの妥当性を確認する。
ソフトウェアユニット間のインタフェースが整合していることを確認する。
利用者に提供するという視点で、システムが要求を満足していることを確認する。
解答
解説 運用テストの位置を下図のV字モデルで確認します。

V字工程を表示できません

運用テストは要件定義・基本設計に基づき、発注側がサービスを開始しても大丈夫かを確認するテストです。

他の選択肢は以下のとおりとなります。
選択肢ア:単体テスト
選択肢イ:単体テスト
選択肢ウ:結合テスト

問50 システムの外部設計を完了させるとき、承認を受けるものとして、適切なものはどれか。
画面レイアウト
システム開発計画
物理データベース仕様
プログラム流れ図
解答
解説 外部設計の位置を下図のV字モデルで確認します。

V字工程を表示できません

外部設計と内部設計の違いや成果物を以下にまとめます。
外部設計:システムから見た設計で、データ項目の洗い出しと論理データの設計、画面のレイアウト、外部(他システムやDBなど)との接続方式などを決定します。
内部設計:コンピュータから見た設計で、物理データ構造、アルゴリズム、チャックディジットの方式などを決定します。

他の選択肢は以下のとおりとなります。
選択肢イ:基本設計・要件定義での成果物
選択肢ウ:内部設計での成果物
選択肢エ:詳細設計での成果物


問51 プロジェクトスコープマネジメントにおいて、WBS作成のプロセスで行うことはどれか。
作業の工数を算定してコストを見積もる。
作業を階層的に細分化する。
作業を順序付けして、スケジュールとして組み立てる。
成果物を作成するアクティビティを定義する。
解答
解説 WBS(Work Breakdown Strucuture:作業分割構成)とは仕事を分割して、作業のしやすい量にすることです。この分割の最下位の仕事の単位をワークパッケージといいます。ワークパッケージは必要に応じてアクティビティ(具体的な操作)に分解されます。また、ワークパッケージを人員に割り当てることで、OBS(Organization Breakdown Structure:組織分割構成)を作成することができます。

WBSを表示できません

問52 図のアローダイアグラムにおいて、プロジェクト全体の期間を短縮するために、作業A〜Eの幾つかを1日ずつ短縮する。プロジェクト全体を2日短縮できる作業の組合せはどれか。

画像(問52)を表示できません
A,C,E
A,D
B,C,E
B,D
解答
解説 まず、現在のクリティカルパスは、B→C→Dで9日かかります。つまり2日短縮するので、7日となる選択肢をもとめます。

選択肢ア:A,C,Eを短縮すると、クリティカルパスはB→C→Dで8日です。
選択肢イ:A,Dを短縮すると、クリティカルパスはA→C→DとB→E→Fで8日です。
選択肢ウ:B,C,Eを短縮すると、クリティカルパスは、A→DとB→C→Dで8日です。
選択肢エ:B,Dを短縮すると、クリティカルパスはA→DとB→C→DとB→E→Fで7日となります。

問53 ある新規システムの開発規模を見積もったところ、500ファンクションポイント(FP)であった。このシステムを構築するプロジェクトには、関数工数の他にシステムの導入や開発者教育の工数が10人月必要である。また、プロジェクト管理に、開発と導入・教育を合わせた工数の10%を要する。このプロジェクトに要する全工数は何人月か。ここで、開発の生産性は1人月あたり、10FPとする。
51
60
65
66
解答
解説 工数を以下の3つに分割して考えます。
開発工数:500ファンクションポイント=500/10=50人月 システムの導入や開発者教育:10人月
プロジェクトプロジェクト管理:上記2つの工数の10%なので、50+10=60の10%=6

よって、50+10+6=66人月となります。

問54 データの追加・変更・削除が、少ないながらも一定の頻度で行われるデータベースがある。このデータベースのフルバックアップを磁気テープに取得する時間間隔を今までの2倍にした。このとき、データベースのバックアップ又は復旧に関する記述のうち、適切なものはどれか。
ジャーナル情報によって復旧するときの処理時間が平均して約2倍になる。
フルバックアップ1回当たりの磁気テープ使用量が約2倍になる。
フルバックアップ1回当たりの磁気テープ使用量が約半分になる。
フルバックアップ取得の平均実行時間が約2倍になる。
解答
解説 フルバックアップと差分バックアップを下にまとめます。

フルバックアップとは、現在記録されているデータを完全にバックアップする手法で、比較的時間がかかります。
差分バックアップとは、定期的にフルバックアップされていることを仮定して、特定の瞬間からの差分だけをバックアップします

フルバックアップと差分バックアップをうまく組み合わせて適切な期間を復元できるようにするのが基本です。

今回の場合は、フルバックアップの間隔を2倍にするので、ジャーナルファイルからの復旧が2倍かかるようになるといえます。バックアップする時間や使用容量は、データ量に比例しますが、同じデータが3回更新されても最新のデータだけをバックアップするので、間隔を2倍にしてもそのまま使用量や実行時間が2倍にはなりません。

問55 システムの移行方式の一つである一斉移行方式の特徴はどれか。
新旧システム間を接続するアプリケーションが必要となる。
新旧システムを並行させて運用し、ある時点でシステムに移行する。
新システムへの移行時のトラブルの影響が大きい。
並行して稼働させるための運用コストが発生する。
解答
解説 システムの移行方式について以下にまとめます。

段階移行方式:機能的に閉じたサブシステム単位に、短期間で順次移行していくので、運用部門の負荷が少なく、問題が発生しても当該サブシステム内に抑えることができる。
パイロット移行方式:限定した部門で新システムを導入・観察した後にほかの全部門を移行するので、移行に関する問題が発生しても影響範囲を局所化できる。
並行運用方式:新・旧両システム分のリソースを用意し、並行稼動されるので、新システムで問題が発生しても業務への影響を最小にできる。
一斉移行方式:ほかの移行方式に比べると移行期間は短くできるが、事前に全部門との間で詳細な計画を立てるとともに、新システムに高い信頼性が要求される。

他の選択肢は、段階移行方式の説明です。

問56 ITILv3における問題管理プロセスの目的はどれか。
インシデントに対する既存ITサービスへの変更や新規サービスの導入を、効率的かつ安全に実施する。
インシデントによって中断したITサービスを、合意した時間内に復旧する。
インシデントの根本原因を突き止めて排除したり、インシデントの発生を予防したりする。
利用者に単一窓口を提供し、事業への影響を最小限にして、通常サービスへ復帰できるように支援する。
解答
解説 サービスサポートプロセスはITILを構成するプロセスのひとつで、ITサービス運営に手法について書かれています。サービスサポートは、一つの機能と、五つのプロセスで構成されています。下に内容をまとめます。

インシデント管理:障害時の迅速な回復を行い、影響を最小限にする
問題管理:インシデントや障害の原因の解明と対策・再発防止を行う
構成管理:構成アイテム情報の収集や維持・管理・確認・検査を行う
変更管理:構成アイテムの変更を安全かつ効率的に実施する
リリース管理:変更管理プロセスで承認された内容を本番環境に反映させる
サービスデスク:顧客との窓口の役割をし、サポート業務を行う

選択肢アは、リリース管理の説明です。
選択肢イは、インシデント管理の説明です。
選択肢エは、サービスデスクの説明です。

問57 ソースコードのバージョン管理システムが導入された場合に、システム監査において、ソースコードの機密性のチェックポイントとして追加することが適切なものはどれか。
バージョン管理システムに登録した変更結果を責任者が承認していること
バージョン管理しシステムのアクセスコントロールの設定が適切であること
バージョン管理システムの導入コストが適切な水準にあること
バージョン管理システムを開発部門が選定していること
解答
解説 バージョン管理とは、ソースコードや設計資料などをリポジトリと呼ばれる場所に登録し、変更を管理することをいいます。これにより特定のバージョンにもどしたり、どの部分が変更されたかを簡単に把握することができます。代表的なツールにSubversionやCVSなどがあります。

機密性とは、許可された人間にしかアクセスできないような性質で、認証技術により高めることができます。よって、選択肢イのアクセスコントロールなどが監査のチェックポイントになるといえます。

問58 リスクアセスメントに基づく監査対象の選定として、適切なものはどれか。
運用開始時期の順に、全てのシステムを対象とする。
監査実施体制を踏まえて、実施可能なシステムを対象とする。
無作為に抽出したシステムを対象とする。
問題発生の可能性とその影響の大きなシステムを対象とする。
解答
解説 リスクアセスメントとは、被害を及ぼす因子(リスク)にはどのようなものがあり、どれくらいの被害がでるかを分析するものです。

主に以下のようなものを分析します。
・リスクの種類
・リスクの発生確率
・リスクが実際に起こったときの被害の大きさ

分析結果をもとに、リスクに順序をつけて優先度の高いものから順に対策をしていきます。可能な対策をした後に最終的に残ったリスクを残存リスクといいます。

なお、リスクへの対策には代表的なものとして、以下のようなものがあります。

リスクを表示できません

問59 経済産業省の“営業秘密管理指針”に基づく営業秘密データの管理状況について監査を行うとき、秘密管理性のチェックポイントはどれか。
当該データが営業効率の改善に役立っているかどうかを分析していること
当該データの記憶媒体に秘密を意味する表示をしていること
当該データの内容が刊行物に掲載されていないかを定期的に確認していること
当該データの内容が公序良俗に反していないかを確認していること
解答
解説 まず、不正競争防止法では、『秘密として管理されている有用な技術上又は営業上の情報であって、公然と知られていないもの』を営業秘密としています。これを保護することで、市場経済での公平的な競争が行われるようになります。営業秘密管理指針でも営業秘密の定義を不正競争防止法に準じた内容(秘密管理性、有用性、非公知性)としています。

各選択肢を3つの特性のチェックポイントに分類すると以下のようになります。
選択肢ア:有用性
選択肢イ:秘密管理性
選択肢ウ:非公知性
選択肢エ:有用性

問60 マスタファイル管理に関するシステム監査項目のうち、可用性に該当するものはどれか。
マスタファイルが置かれているサーバを二重化し、耐障害性の向上を図っていること
マスタファイルのデータを複数件まとめて検索・加工するための機能が、システムに盛り込まれていること
マスタファイルのメンテナンスは、特権アカウントを付与された者だけに許されていること
マスタファイルへのデータ入力チェック項目が、システムに盛り込まれていること
解答
解説 可用性は品質指標RASISの一つです。RASISを以下にまとめます。

Reliability:(信頼性):故障しにくい性質(MTBFに相当)
Availability:(可用性):いつでも使える性質(稼働率=MTBF/(MTBF+MTTR)に相当)
Serviceability:(保守性):故障をすぐに修復できる性質(MTTRに相当)
Integrity:(保全性):データが一貫しており、矛盾がない性質
Security:(安全性):機密性が高く、不正にアクセスされない性質