忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【情報セキュリティ】攻撃の足場を固める!「シェルの安定化」|情報処理問題1000本ノック

攻撃者がシステムに侵入して最初に手にする「シェル」は、Ctrl+Cで接続が切れたり、タブ補完が効かなかったりと非常に不安定です。これを操作しやすく改造する工程を攻略しましょう。

1. 問題:対話型操作への移行

【 問題 】 リバースシェルなどで取得した、機能が制限された不安定なシェルを、通常の端末(ターミナル)のようにタブ補完や履歴参照が可能で、意図しない切断が起きにくい状態に整える作業を何と呼ぶでしょうか?

ア、シェルの安定化(Shell Stabilization)   イ、シェルショック   ウ、サンドボックス化   エ、ポートフォワーディング

2. 正解:ペネトレーションテストの工程に関する正解

正解: ア、シェルの安定化(Shell Stabilization)

3. 解説:不完全なシェルを「本物」に育てる

ネットワーク越しに無理やり奪取したシェル(ノン・インタラクティブ・シェル)は、そのままでは「権限昇格」のための複雑なコマンド入力に耐えられません。そのため、以下の手順で安定化を図ります。

【図解:シェルの安定化で行われること】

■ Python等を利用したTTYの取得
・`python -c 'import pty; pty.spawn("/bin/bash")'` などのコマンドを使い、擬似端末(TTY)を生成して対話可能な状態にします。

■ 端末環境の最適化
・環境変数(TERM=xtermなど)を設定し、エディタ(viなど)が崩れずに動くようにします。

■ ショートカットの有効化
・タブ補完や、Ctrl+C(中断)を押しても通信が切れないように、ローカル側の端末設定と同期させます。
[ なぜ安定化が必要か? ]
ミスの防止:複雑なパスワードやパスを打ち間違えないよう、タブ補完が必要になります。
持続性:せっかく侵入したのに、コマンドを一つ間違えてプロセスが終了し、接続が切れるのを防ぎます。
権限昇格への準備:sudoの実行や対話型パスワード入力を受け付けるには、完全なTTYが必要です。

1. 理解のコツ: 「糸電話のような細い通信(不安定なシェル)」を、「しっかりとした電話回線(安定したシェル)」にアップグレードする作業だと思ってください。攻撃者が次のステップ(権限昇格や横展開)へ進むための必須作業です。
2. 試験対策の視点: 情報処理技術者試験のレベルでは「リバースシェル」の概念までが中心ですが、より実戦的なセキュリティ(登録セキスペの午後問題や実技試験)では、こうした「侵入後の操作性確保」という視点も重要になります。


4. まとめ

「不安定なシェルを対話可能な完全なシェルへ昇格させる」。これがシェルの安定化です。攻撃者が侵入した後に、どれだけ迅速かつ確実に足場を固めようとするかを知ることは、検知と防御を考える上で極めて重要です。



PR

【情報セキュリティ】管理権限を奪い取る!「権限昇格」|情報処理問題1000本ノック

攻撃者は、最初に侵入した一般ユーザーアカウントのままでは、重要なデータの閲覧やシステムの破壊ができません。そこから「管理者(Root/Administrator)」へと権限を格上げする攻撃を攻略しましょう。

1. 問題:ユーザー権限の不正な書き換え

【 問題 】 システムに低権限でログインした攻撃者が、OSやアプリケーションの脆弱性を突くことで、本来は許可されていない「管理者権限」や「より高い実行権限」を取得する行為を何と呼ぶでしょうか?

ア、権限昇格   イ、セッションハイジャック   ウ、ポートスキャン   エ、踏み台攻撃

2. 正解:サイバー攻撃のプロセスに関する正解

正解: ア、権限昇格

3. 解説:攻撃の「横」と「縦」の動き

権限昇格(Privilege Escalation)は、攻撃のステップにおいて極めて重要な段階です。これには「垂直方向」と「水平方向」の2種類があります。

【図解:権限昇格の2つのパターン】

■ 垂直方向の権限昇格(垂直昇格)
・一般ユーザーが「管理者(Admin/Root)」の権限を乗っ取ること。
・目的:システム設定の変更、ログの消去、全データの窃取。

■ 水平方向の権限昇格(水平移動:ラテラルムーブメント)
・自分と同じ権限を持つ「別の一般ユーザー」のアカウントを乗っ取ること。
・目的:別の部署のデータへのアクセスや、さらなる攻撃の足場固め。
[ よくある原因と対策 ]
OSの脆弱性:カーネルのバグなどを突き、一般プロセスの権限を跳ね上げる。
設定不備:パスワードが設定されていない管理ツールや、不用意に高い実行権限が与えられたアプリケーションの悪用。
最小権限の原則:ユーザーには業務に必要な「最小限の権限」のみを与える設計が最大の防御です。

1. 理解のコツ: 「平社員のIDカードで忍び込んだ不審者が、社長室の鍵(マスターキー)を手に入れる」のが垂直昇格、「隣のデスクの人のパソコンを勝手に使う」のが水平移動のイメージです。
2. 試験対策の視点: 攻撃のフェーズ(偵察→侵入→権限昇格→目的達成)の流れの中で出題されます。また、バッファオーバーフロー攻撃などの結果として、この権限昇格が発生することが多いという関連性も押さえておきましょう。


4. まとめ

「低権限から高権限へ不正にアクセス範囲を広げる」。これが権限昇格です。攻撃者がシステム内で自由自在に動けるようになるのを防ぐため、脆弱性への迅速なパッチ適用と、権限管理の徹底が求められます。


【ネットワーク】データの正確性を守る!「誤り制御方式」|情報処理問題1000本ノック

通信路ではノイズなどの影響でデータが化けることがあります。これらを検出し、あるいは自動的に修正するための「符号化」の仕組みを攻略しましょう。

■ 通信における誤り制御:ブロック符号と畳み込み符号

データをどのような単位で処理し、冗長な情報(チェック用のデータ)を付加するかによって、大きく2つの方式に分かれます。

方式特徴と処理単位
ブロック符号
(Block Code)
伝送データを一定の長さの「ブロック」に分割し、各ブロックごとに独立して誤り訂正用の符号を付加する方式。
・代表例:ハミング符号、リード・ソロモン符号(CDやQRコードでも使用)。
畳み込み符号
(Convolutional Code)
データをビットの連続した集まりとして扱い、過去のデータとの関連性を持たせて符号を計算する方式。
・逐次的に符号化を行うため、リアルタイム性が高い。
・代表例:ビタビ復号(受信側での判定手法)。

試験対策の重要キーワード

  • FEC (前方誤り訂正):受信側で誤りを見つけるだけでなく、自力で修正まで行う技術の総称です(今回の2つもこれに含まれます)。
  • ARQ (自動再送要求):誤りを見つけた際、送信側に「もう一度送って」と頼む方式(パリティチェックやCRCと組み合わされます)。
  • 検査ビット(冗長ビット):誤り検知・訂正のために、元のデータに付け加えられる「おまけ」のデータのことです。

※ブロック符号は「箱詰めにして各箱にラベルを貼る」、畳み込み符号は「糸を編み込むように前の情報と繋げていく」イメージです。これらを組み合わせることで、さらに強力な誤り訂正能力(ターボ符号など)が実現されています。



【プロジェクトマネジメント】遅れを取り戻す!「クラッシング」|情報処理問題1000本ノック

プロジェクトの進捗が遅れた際、スケジュールを短縮するための手法は限られています。リソースを投入するのか、並行作業を増やすのか、その違いを攻略しましょう。

1. 問題:スケジュール短縮の手法

【 問題 】 プロジェクトの期間を短縮する技法のうち、クリティカルパス上のアクティビティに対して、人員の追加投入などのリソースを増強することで期間を短縮する手法はどれでしょうか?

ア、クラッシング   イ、ファストトラッキング   ウ、スラッシング   エ、リソース平準化

2. 正解:スケジュール管理に関する正解

正解: ア、クラッシング

3. 解説:コストをかけて時間を買う

クラッシング(Crashing)は、予算を追加してでも納期を優先する場合に採用される手法です。残業の実施や増員がこれに該当します。

【図解:スケジュール短縮の二大手法】

■ クラッシング
リソース(人・モノ・金)を追加して期間を短縮する。
・特徴:コストが増大する。最小の追加コストで最大の短縮を狙う。

■ ファストトラッキング
・本来は順番に行う予定だった作業を、並行して進める
・特徴:追加コストは抑えられるが、手戻り(やり直し)のリスクが高まる。
[ 注意点 ]
ブルックスの法則:「遅れているソフトウェアプロジェクトへの要員追加は、プロジェクトをさらに遅らせるだけである」。クラッシングを行う際は、このリスクを常に考慮する必要があります。
クリティカルパス:短縮を試みる際は、必ずクリティカルパス上の作業を対象にしなければ全体の納期は縮まりません。

1. 理解のコツ: 「クラッシュ(ぶつける)」という言葉の通り、リソースをどんとぶつけて解決するのがクラッシングです。「ファスト(速い)」は並走してスピードを上げるイメージで覚えましょう。
2. 試験対策の視点: 「リソース追加」という言葉があればクラッシング、「並行作業」という言葉があればファストトラッキングです。この二択を問う問題はマネジメント分野の定番です。


4. まとめ

「リソースを追加して期間を短縮する」。これがクラッシングです。コスト、リスク、品質のトレードオフを考慮しながら、最適な短縮手段を選択する判断力がPMには求められます。


【マネジメント】専門家の知見を収束させる!「デルファイ法」|情報処理問題1000本ノック

将来の予測や技術動向の把握において、データだけでは測れない「専門家の直観」を組織的に集約する手法があります。アンケートを繰り返すことで意見をまとめる、そのプロセスを攻略しましょう。

1. 問題:専門家の意見を集約する予測手法

【 問題 】 予測手法の一つで、複数の専門家に対してアンケート調査を行い、その回答結果を各専門家にフィードバックして再度調査を行うというプロセスを繰り返すことで、集団としての意見を収束させていく手法を何と呼ぶでしょうか?

ア、デルファイ法   イ、因果関係分析   ウ、クロスセッション法   エ、時系列回帰分析法

2. 正解:予測・意思決定に関する正解

正解: ア、デルファイ法

3. 解説:匿名性とフィードバックによる合意形成

デルファイ法は、対面での議論による「声の大きい人の意見に流される」といった弊害を避け、客観的なコンセンサスを得るための手法です。

【図解:デルファイ法の特徴】

■ プロセスの流れ
1. 複数の専門家に個別にアンケートを行う(匿名性を確保)。
2. 全員の回答を集計し、その結果(中央値や理由など)を各専門家にフィードバックする。
3. フィードバックを見た専門家が、自分の意見を再考して再回答する。
4. これを数回繰り返し、意見の幅を絞り込んでいく。

■ 主な活用場面
・技術予測(20年後の社会はどうなっているか?)
・市場予測(新製品の普及率はどうなるか?)
[ 選択肢の補足 ]
因果関係分析:原因と結果の関係(例:広告費と売上)を数理的に分析する手法。
時系列回帰分析法:過去のデータの時間的な変化(トレンド)を元に、将来の数値を予測する統計的な手法。

1. 理解のコツ: 「デルファイ」はギリシャ神話のアポロンの神託(予言)が行われた地名に由来します。「専門家たちの知恵を結集して、精度の高い予言(予測)を作る」イメージで覚えましょう。
2. 試験対策の視点: 「専門家」「アンケートの繰り返し」「意見の収束」というキーワードがセットで出てきたら、迷わずデルファイ法を選択してください。


4. まとめ

「専門家の直観を繰り返し調査して意見を収束させる」。これがデルファイ法です。不確実性の高い将来予測において、統計データと人間の経験を橋渡しする強力な武器となる手法です。



【ネットワーク】情報の運び方!「交換方式」の基礎知識|情報処理問題1000本ノック

ネットワークにおいて、送信元から宛先へデータを届けるための「交換方式」には、大きく分けて「回線交換」と「パケット交換」の2つがあります。それぞれの特徴と違いを攻略しましょう。

■ 通信ネットワークの交換方式:回線交換 vs パケット交換

「専用線を使う」のか「データを細切れにして共有する」のか、その戦略の違いがネットワークの設計思想を決定づけます。

方式目的と振る舞い
回線交換
(Circuit Switching)
通信ユーザ間に、エンドツーエンドの物理的な伝送路をあらかじめ占有(設定)する方式。
・設定完了後に実際の通信を行うため、品質が安定する。
・電話網(固定電話)の基本的な考え方。
パケット交換
(Packet Switching)
情報を「パケット」という単位に分割して送る方式。
・交換局で「蓄積・交換」を繰り返し、次々とノードを渡り歩いて宛先へ届く。
・インターネット通信の現在の主流。

試験対策の重要キーワード

  • 回線交換のメリット:遅延や品質が一定で、リアルタイム通信(通話)に最適。ただし、回線を占有するため効率が悪くなることがある。
  • パケット交換のメリット:多くのユーザで回線を共有できるため、非常に効率的。データ量に応じて柔軟に伝送できる。
  • 蓄積交換機能:パケット交換において、交換機が一度パケットを受け取り、バッファに「蓄積」してから次の経路へ「転送」する仕組みのことです。

※回線交換は「道路を貸し切る」、パケット交換は「トラックで小分けにして配送する」イメージです。現代のネットワークは、パケット交換による高効率な通信が基盤となっています。


【ネットワーク】情報を電波に乗せる!「変調方式」の仕組み|情報処理問題1000本ノック

デジタルデータである「0」や「1」の信号を、遠くへ飛ばすための電波(アナログ波)に変換する技術を「変調」と呼びます。通信の基本となるこの仕組みを整理しましょう。

■ 信号を運ぶ仕組み:変調と搬送波

情報を載せて運ぶための電波のことを搬送波(キャリア)と呼びます。この搬送波の性質(振幅、周波数、位相)を変化させることで、情報を表現します。

変調方式特徴と振る舞い
振幅変調 (AM / ASK) 信号の変化を振幅(波の大きさ)の変化に置き換える方式。デジタル(ASK)では、振動の「あり・なし」で0と1を表現します。
周波数変調 (FM / FSK) 信号の変化を周波数(波の密度)の高低に置き換える方式。デジタル(FSK)では、周波数の切り替えで0と1を表現します。
位相変調 (PM / PSK) 信号の変化を位相(波のタイミング)の変化に置き換える方式。デジタル(PSK)では、0から1(またはその逆)へ変わる際に位相を変化させます。

試験対策の重要キーワード

  • アナログ変調(AM/FM/PM):主にラジオ放送などのアナログ通信で使われる基本方式です。
  • デジタル変調(ASK/FSK/PSK):コンピュータのデジタル信号(0/1)を、電波の物理的な変化にマッピングする方式です。
  • QAM(直交振幅変調):振幅と位相を組み合わせて、一度により多くのビットを運ぶ高度な方式。Wi-Fiなどで広く使われています。

※変調は「送る側」、元の信号に戻す「復調(デモジュレーション)」は「受ける側」の役割です。この両方を行う装置が「モデム(MOdulator-DEModulator)」の名前の由来となっています。


【データベース】行を特定する鍵!「候補キー」|情報処理問題1000本ノック

リレーショナルデータベースでは、膨大なデータの中から特定の1行(タプル)を確実に見つけ出すための「キー」の概念が不可欠です。複数のキーの違いを正確に攻略しましょう。

1. 問題:行を一意に識別する属性

【 問題 】 リレーショナルデータベースの表(リレーション)において、各行を一意に識別することができる最小の属性、または属性の組を何と呼ぶでしょうか?

ア、候補キー   イ、主キー   ウ、外部キー   エ、複合キー

2. 正解:データベースのキーに関する正解

正解: ア、候補キー

3. 解説:キーの階層構造を理解する

データベースにおける「キー」には役割に応じた階層があります。特に「候補キー」は全ての基本となります。

【図解:各種キーの定義】

■ 候補キー (Candidate Key)
・行を一意に識別できる「最小限」の組み合わせ。
・1つの表に複数存在することもあります(例:社員番号とメールアドレスなど)。

■ 主キー (Primary Key)
・候補キーの中から、設計者が運用上「これを使う」と決めた代表の1つ。

■ 外部キー (Foreign Key)
・他の表の主キーを参照し、表同士を関連付けるための属性。
[ 重要な性質 ]
一意性制約:重複する値を持ってはいけない性質。
非ナル制約:主キーに選ばれた属性は、空値(NULL)であってはいけないというルール。
既約性:候補キーを構成する属性からどれか1つでも除くと、一意に識別できなくなる「最小構成」であること。

1. 理解のコツ: 「主キー」は、複数の「候補キー」という立候補者の中から選ばれた「当選者」だとイメージしてください。問題文で「一意に識別する属性」と広義に問われた場合は、そのベースとなる候補キーを指します。
2. 試験対策の視点: 「主キー」と「候補キー」の言葉の定義の差を突く問題は非常に多いです。また、2つ以上の属性を組み合わせて1つのキーにする「複合キー」も、候補キーや主キーの一形態であることを覚えておきましょう。


4. まとめ

「行を一意に識別する最小の属性(の組)」。これが候補キーです。適切なキーの設定は、データの重複を防ぎ、データベースの整合性を守るための最も重要なステップであることを押さえておきましょう。



【情報セキュリティ】正規ツールが牙をむく!「環境寄生型攻撃(LotL)」|情報処理問題1000本ノック

近年の高度な攻撃では、ウイルス(マルウェア)を送り込むのではなく、OSに最初から備わっている「正規のプログラム」を悪用する手法が増えています。検知が困難な「環境寄生型」の恐怖を攻略しましょう。

1. 問題:正規プログラムを悪用した攻撃

【 問題 】 OSに標準でインストールされている管理ツール(PowerShellやWMIなど)や、正規のシステム機能を悪用して攻撃を行う手法を何と呼ぶでしょうか?

ア、環境寄生型攻撃(LotL攻撃)   イ、ゼロデイ攻撃   ウ、ソーシャルエンジニアリング   エ、辞書攻撃

2. 正解:高度な標的型攻撃に関する正解

正解: ア、環境寄生型攻撃(LotL:Living off the Land)

3. 解説:その場にあるもので「生活」し「攻撃」する

LotL(Living off the Land)は、直訳すると「その土地の物で生きていく」という意味です。独自の不正プログラムを持ち込まず、ターゲットの環境にある「正規ツール」を遠隔操作の道具に変えます。

【図解:LotL攻撃の特徴と巧妙さ】

■ ファイルレス(Fileless)
・ディスクに怪しい実行ファイル(.exeなど)を残さないため、従来のウイルススキャンをすり抜けます。

■ 正規ツールの悪用
Windows PowerShell:スクリプトを実行して情報を盗む。
WMI (Windows Management Instrumentation):システムの管理機能を乗っ取って永続的に潜伏する。

■ 検知の難しさ
・動いているのは「信頼されたOS標準プログラム」であるため、正常な業務操作と見分けがつきません。
[ 防御の最前線 ]
EDR (Endpoint Detection and Response):ファイルの有無ではなく、「不自然な挙動(例:管理者がいない時間にPowerShellが外部通信している)」を監視して検知します。
ログの詳細分析:どの正規ツールが、いつ、どのようなコマンドを実行したかを記録・分析することが不可欠です。

1. 理解のコツ: 「泥棒が自前のバールを持ってくる(マルウェア)」のではなく、「家の中にあるキッチンナイフや工具を勝手に使う(LotL)」イメージです。外部からの持ち込みがないため、検問(セキュリティソフト)にかかりにくいのが特徴です。
2. 試験対策の視点: 「正規プログラムを悪用」「ホワイトリスト形式の防御を突破する」といった記述があればLotL攻撃を指します。最新のセキュリティ動向として非常に注目されている用語です。


4. まとめ

「OS標準の正規ツールを悪用して攻撃を行う」。これが環境寄生型攻撃(LotL)です。これからのセキュリティは、「誰が動いているか」だけでなく「何をしているか」という振る舞いを監視する視点が重要になります。



【情報セキュリティ】隠れたファイルを暴き出す!「強制ブラウズ」|情報処理問題1000本ノック

Webサイトには、トップページからリンクされていない「非公開」のリソースが存在することがあります。それらを直接指定して閲覧しようとする攻撃手法を攻略しましょう。

1. 問題:非公開リソースへの直接アクセス

【 問題 】 Webサーバ上の、本来公開を意図していないファイルやディレクトリに対して、URLを直接入力したり推測したりすることでアクセスを試みる攻撃手法を何と呼ぶでしょうか?

ア、クロスサイトスクリプティング   イ、強制ブラウズ   ウ、セッションハイジャック   エ、ディレクトリトラバーサル

2. 正解:攻撃手法に関する正解

正解: イ、強制ブラウズ

3. 解説:推測と露出が悪用される

強制ブラウズ(Forced Browsing)は、リンクを辿るのではなく、攻撃者が「ありそうなファイル名」を直接ブラウザに入力することで、機密情報や管理画面にアクセスする行為です。

【図解:強制ブラウズの主な原因】

■ ディレクトリ・インデックスの表示
・Webサーバの設定不備により、ファイル一覧が表示され、そこから非公開ファイルへ辿られてしまう。

■ URLの推測
・「/admin/」や「/backup/db.zip」など、他のURLから容易に推測可能な名前が付けられている。

■ 認証の欠如
・「リンクされていない=見つからない」という前提で、重要なファイルにアクセス制限(認証)をかけていない。
[ 防御のポイント ]
適切なアクセス制御:URLを知っていれば誰でも見られる状態を避け、認証・認可を徹底する。
サーバ設定の最適化:ディレクトリ一覧表示(Indexing)を無効にする。
不要なファイルの削除:バックアップファイルや古い設定ファイルをサーバ上に放置しない。

1. 理解のコツ: 「正面玄関(トップページ)を通らず、裏窓や勝手口(直接URL入力)から入ろうとする」行為をイメージしてください。名前が似ている「ディレクトリトラバーサル」は、「../」などを用いて上位階層へ遡る攻撃であり、強制ブラウズとは区別されます。
2. 試験対策の視点: 「公開されていないリソースへアクセスされる」「URLの推測」といった記述があれば強制ブラウズを指します。Webサーバのセキュリティ設定(ApacheやNginxの構成ファイル)に関する問題とも関連が深いです。


4. まとめ

「Webサーバの非公開リソースへ、URL推測等でアクセスする」。これが強制ブラウズです。「隠しているから安全」という考えを捨て、適切なアクセス権限の設定と、サーバ側の露出管理を行うことが防衛の基本です。