B 社は,従業員数 50 名のインターネットサービス企業であり,インターネット上で各種の情報サービスを提供している。これらのサービスの実現に当たり,必要なアプリケーションを自社開発してきた。このたび B 社では,画像ファイルを対象としたオンライン共有ストレージサービス(以下,S サービスという)を立ち上げることにし,R 部長を責任者としてアプリケーション開発に着手した。S サービスの画面には広告主のサイトへのリンクを含んだバナー広告を掲載し,利用者からの利用料収入に加えて広告料収入の獲得も目指す。
〔S サービスの要件定義〕
B 社では,P 主任を中心として S サービスの要件を検討した。検討の結果,P 主任は S サービスの要件案を図1に示すとおりまとめた。
図1 S サービスの要件案
この要件案は,レビューされた後,R 部長によって承認された。
〔システム・ソフトウェア要件定義〕
その後,Q 主任を中心としてシステム・ソフトウェア要件定義を実施した。その結果,S サービスは Java サーブレットを利用した Web アプリケーションで構成することにした。画像処理プログラムについては C++で記述し,プログラム内では C ベースの画像処理ライブラリである V-lib を利用することにした。Java から C++プログラムを呼び出す際には,JNI(Java Native Interface)を利用することにした。
〔ソフトウェアの基本設計〕
システム・ソフトウェア要件定義が完了し,ソフトウェアの基本設計を開始した。その中で,V 君は Web アプリケーションのセッション管理の方式について検討した。次は,検討に際しての Q 主任と V 君との会話である。
Q 主任:HTTP セッション管理には,どのような方式を採用するつもりかな。
V 君:セッション管理には,ログオン時にランダム文字列をセッション ID として割り当てた上で,クエリパラメタの中にセッション ID を格納する方式を採用するつもりです。
Q 主任:当社でも実績のある方式だね。ただ,今回は HTTPS だけでなく HTTP も使用できるようにするから,GET メソッドではなく POST メソッドを使用しておかないと,①HTTP ヘッダ内のフィールドが原因で,バナー広告に設定されたリンク先の Web サーバへセッション ID が漏えいすることが考えられるね。
更に基本設計が進む中で,実行形式ファイルがアップロードされるとウイルスの温床になりかねないという指摘があった。議論した結果,この指摘への対策の一つとして,アップロードするファイルの拡張子を画像ファイルのものに制限することとした。制限する方式として,V 君は,Web ブラウザにおいてスクリプトによって判定することを考えた。この方式を実装したスクリプトを含む HTML ファイル例を図2に示す。この方式案について相談を受けた Q 主任は,②契約者の操作によっては,拡張子が画像ファイルのものでないファイルがアップロードできてしまうという問題点を指摘し,制限する方式には③スクリプトによらない方式を検討するよう指示した。V 君はその後,異なる方式を提案し,採用に至った。
図2 HTML ファイル例(抜粋)
〔画像処理プログラムでの不具合〕
基本設計及び詳細設計が無事完了し,U 主任を中心としたグループでプログラムの作成を開始した。U 主任は,サムネイル表示の際に使用するために,様々なファイル形式の画像ファイルを縦横とも 128 ピクセルに変換する画像処理プログラム(以下,ピクセル数変換プログラムという)の作成を T 君に指示した。T 君は,最初に,複数のファイル形式の中からファイル形式 Z を選択して,ピクセル数変換プログラムの作成に取り掛かった。
セッション管理には,ログオン時にランダム文字列をセッション ID として割り当てた上で,クエリパラメタの中にセッション ID を格納する方式を採用するつもりです。
〔ソフトウェアの基本設計〕
GET メソッドではなく POST メソッドを使用しておかないと,①HTTP ヘッダ内のフィールドが原因で,バナー広告に設定されたリンク先の Web サーバへセッション ID が漏えいする
V 君の方式は,セッション ID をクエリパラメタ,つまり URL の一部に入れる。URL にセッション ID が載ったページから広告主のサイトへのリンクをたどると,ブラウザは“どのページからたどってきたか”を HTTP ヘッダの Referer フィールドに入れて送る。この中にセッション ID を含む URL がそのまま入るので,リンク先の Web サーバにセッション ID が漏れる。RFC 9110 の 17.9 も,Referer がユーザの閲覧履歴を明かしうると注意している。
Q 主任が POST メソッドを勧めているのは,POST ならセッション ID が URL ではなくメッセージボディに入り,Referer に載らないからである。本文が“HTTP ヘッダ内のフィールド”と限定しているので,答えはヘッダのフィールド名になる。
下線②の問題は,拡張子の判定が利用者のブラウザで行われ,契約者が止められる点にあった。スクリプトによらない方式とは,判定をブラウザの外,つまりサーバ側に置く方式である。S サービスは Java サーブレットを使った Web アプリケーションで構成されるので,ファイルを受け取った Web アプリケーション側で拡張子を判定し,画像ファイルのものでなければ受け付けない。
要件案はクライアント側を Web ブラウザだけとし,専用アプリケーションを使わないと決めているため,クライアント側に別の判定の仕組みを足すという答えにはならず,サーバ側(Web アプリケーション)で行う,という方向になる。
A 社は,従業員数 2,000 名のスポーツ用品製造会社である。東京に本社,国内 8 か所に営業所,国内 1 か所に工場がある。A 社では,本社にインターネット接続システムを導入し,電子メール(以下,メールという)や Web 閲覧などに利用している。本社,営業所及び工場の LAN は,IP-VPN で接続されている。
〔インターネット接続システムの概要〕
インターネット接続システムの運用は,責任者である情報システム部の D 部長の下で,E 主任と F さんが担当している。インターネット接続システムの各サーバでは,サーバへのアクセス及びサーバ上でのプログラムの動作のログをログサーバに保存している。ログを収集,転送する方式には,UNIX で一般的に使われている a というプロトコルを利用している。ファイアウォール(以下,FW という)では,拒否した通信のログを保存している。
A 社では,ドメイン名 a-sha.co.jp(以下,A 社ドメイン名という)を取得している。メールアドレスのドメイン名には A 社ドメイン名を使用している。
IP アドレス WL を見直す必要があるのは,取引先でどのような事象が発生した場合か。25 字以内で具体的に述べよ。
解答例
メールサーバのIPアドレスが変更された場合
解説
本文の根拠
〔迷惑メール対策装置のユーザ登録ルールの見直し〕
たとえ取引先の IP アドレスを IP アドレス WL に登録していたとしても,メールが急に届かなくなる可能性もある。
表3
1:IP アドレス WL,IP アドレスの並び,メールの送信元 IP アドレス。
IP アドレス WL は,メールの送信元 IP アドレスと突き合わせて許可を決める(表3 項番 1)。取引先のメールサーバの IP アドレスが変わると,WL に登録してあった古いアドレスと一致しなくなり,取引先のメールが WL の対象から外れて,ほかのルールや SPF 判定で拒否される可能性が出てくる。メールが急に届かなくなるのはこのときで,登録内容の見直しが必要になる。
講評は,“MX レコードの設定を変更する”のように IP アドレスとは関係のない設定について述べた解答が見られた,と述べている。IP アドレス WL が IP アドレスで一致を見ていることを押さえて,IP アドレスが変わる場合を書く。
X 銀行は,従業員数 2,000 名の地方銀行である。X 銀行では,PC からインターネットを利用して送金,取引照会などを行える銀行取引サービス(以下,ネットバンキングという)として X ネットサービスを提供している。X ネットサービスのドメイン名は x-bank.jp であり,HTTP over TLS 用に EV SSL 証明書(以下,サーバ証明書という)を使用している。
X ネットサービスでは,個人利用者の認証と法人利用者の認証に,それぞれ異なる方式を採用している。X ネットサービスの送金時の利用手順を図1に示す。
図1 X ネットサービスの送金時の利用手順
〔マルウェア対策〕
ある日,情報セキュリティ対策機関から,ネットバンキングを悪用するマルウェア(以下,マルウェア J という)への注意喚起が発表された。そこで,X ネットサービス事業部のセキュリティ担当の W 主任は,X ネットサービスへの影響について調査した。マルウェア J に感染した PC で X ネットサービスを利用した場合の動作を,図2に示す。
図2 マルウェア J に感染した PC で X ネットサービスを利用した場合の動作
W 主任は,注意喚起の内容を確認した後,X ネットサービスが狙われた場合のリスクを上司の G 部長に説明した。次は,その時の W 主任と G 部長の会話である。
G 部長:この攻撃は,利用者 ID,パスワード,乱数表の情報(以下,併せて認証情報という)を盗もうとするものだが,利用者を①偽 Web サイトに誘導するものではないね。マルウェア J に感染した PC で,正規の Web サイトにアクセスすると,マルウェア J が,認証情報を盗むために邪魔なメッセージを削除し,偽の乱数表情報入力画面を表示するものだね。
W 主任:そのとおりです。利用者は,マルウェア J が不正な画面を表示していることに気付かず,認証情報を入力してしまうようです。
G 部長:②法人利用者については,利用者 ID,パスワードを盗まれたとしても,金銭的な被害が発生する可能性は低いね。
W 主任:はい。しかし,個人利用者の場合は,金銭的な被害が発生する可能性が高いと考えられます。
G 部長:それでは,利用者の PC がマルウェア J に感染したとしても,攻撃者に認証情報を盗まれないように,当行の Web サイト,電子メールで注意を促すことにしよう。
〔新たなマルウェア対策の検討〕
X 銀行がマルウェア J に対する注意を促した後,海外のネットバンキングで被害が発生したとされるマルウェア(以下,マルウェア K という)への注意喚起が,海外の情報セキュリティ関連 Web サイトに公開された。この情報を基に,W 主任は,マルウェア K に感染した PC で X ネットサービスを利用した場合の動作をまとめ,G 部長に報告した。この動作を,図3に示す。
図3 マルウェア K に感染した PC で X ネットサービスを利用した場合の動作
次は,マルウェア K に関して W 主任が G 部長に報告した際の会話である。
W 主任:海外では,利用者が入力した送金内容をマルウェア K が書き換えて,攻撃者の口座に送金するという被害が発生したそうです。
G 部長:そうか。X ネットサービスでの対策はどうするのだ。
W 主任:動作をまとめたところ,マルウェア K の挙動は,ブラウザとサーバとの通信経路上に攻撃者が割り込んで通信を中継する中間者攻撃と同じようです。X ネットサービスでは中間者攻撃への対策として,サーバ証明書を使用しています。中間者攻撃であれば,新たな対策は不要だと思います。
G 部長:確かに,例えば,利用者が使用している DNS サーバを攻撃することで,x-bank.jp へのアクセスを偽 Web サイトに誘導して行われる中間者攻撃であれば,③最新のブラウザを使っている利用者は攻撃に気付くことができる。しかし,マルウェア K は,通信経路上に介在するわけではないな。この攻撃は Man-in-the-Browser と呼ばれている攻撃手法だから,利用者は気付くことができないよ。
W 主任:分かりました。更に調べて,マルウェア K による不正送金を防ぐためのセキュリティ対策について検討します。
〔セキュリティ対策の再検討〕
W 主任は,まず国内外のネットバンキングで採用された実績があるセキュリティ対策を調査した。その上で,現在,X ネットサービスで採用している認証方式と,調査したセキュリティ対策について,マルウェア J,マルウェア K のそれぞれに効果がある対策という観点から評価を行った。X ネットサービスで新たに採用を検討したセキュリティ対策を表1に,現在 X ネットサービスで採用している認証方式も含めた評価結果を表2に示す。
表1 採用を検討したセキュリティ対策表2 セキュリティ対策の評価結果
表2の評価結果から,マルウェア K に感染した PC の不正送金対策として有効なのは,項番 6 であることが分かった。また,項番 1 と項番 4 の認証を組み合わせた e 認証といわれる認証方式の評価も行ったが,マルウェア K に感染した PC の不正送金対策にはならなかった。G 部長は,マルウェア K が進化し,更に手口が巧妙化することも考えられるので,④HMAC 計算ツールを PC 用のプログラムではなく,専用デバイスの形態で利用者に提供することを検討するよう,W 主任に指示した。
X ネットサービスとしては,利用者に,PC の OS のセキュリティパッチ適用の徹底や,ウイルス対策ソフトの導入とウイルス定義ファイルの更新の徹底を促すとともに,新種のマルウェアの情報を継続して提供していくことにした。あわせて,“送金内容認証”の提供準備を進めることにした。
マルウェア J に感染した PC で,正規の Web サイトにアクセスすると,マルウェア J が,認証情報を盗むために邪魔なメッセージを削除し,偽の乱数表情報入力画面を表示するものだね。
下線①の“偽 Web サイト”は,本物のサイトによく似せて作り,利用者に利用者 ID・パスワードなどを入力させて盗むための Web サイトで,その一般的な総称は“フィッシングサイト”である。G 部長は,マルウェア J の攻撃は,こうした偽サイトに誘導するものではなく,正規のサイトの画面に偽の入力画面を差し込むものだ,と整理している。
本文は,後の会話でも“偽 Web サイトに誘導して行われる中間者攻撃”に触れており,偽サイトへの誘導(フィッシング)と,マルウェア感染による画面の改ざんは別物として使い分けている。
注記 法人利用者の使用するクライアント証明書に対応する秘密鍵は,エクスポートできない状態で PC にインストールされる。
図1の法人利用者の手順では,利用者 ID・パスワードを入力する前に,クライアント証明書による TLS 接続が入る。クライアント証明書に対応する秘密鍵は,エクスポートできない状態で PC に入っているので,攻撃者は秘密鍵を持ち出せず,自分の PC から X ネットサービスに TLS 接続することができない。したがって,マルウェア J に利用者 ID・パスワードを盗まれても,攻撃者はクライアント証明書がないためログインできず,金銭的な被害が出る可能性は低い。
d(送金内容認証・マルウェア J)も“対策になる”。送金のとき Web サイトに送る HMAC 値は,利用者と Web サイトが共有する共通鍵を設定した HMAC 計算ツールで作る(RFC 2104 の HMAC は,共有した秘密鍵を使ってメッセージの完全性を確かめる仕組み)。マルウェア J が盗めるのは利用者 ID・パスワードなどの認証情報で,共通鍵を持たない攻撃者は,送金内容に合った正しい HMAC 値を作れないので,Web サイトの検証で止まる。
この設問は“対策になる”又は“対策にならない”を選ぶ。間違えやすいのは,表2の注記が“利用者は感染に気付けないことを前提とする”と置いている点で,利用者の注意で防げるかではなく,認証の仕組みとして効くかで評価する。同じ表の,マルウェア K 向けの評価(c は“対策にならない”,d は“対策になる”)と取り違えない。
設問3(2)解答欄1つ
本文中の e に入れる適切な字句を,5 字以内で答えよ。
〔e〕解答例
二要素
解説
本文の根拠
表2
1:利用者 ID・パスワード認証,対策にならない,対策にならない。
表2
4:ワンタイムパスワード認証,c,対策にならない。
〔セキュリティ対策の再検討〕
また,項番 1 と項番 4 の認証を組み合わせた e 認証といわれる認証方式の評価も行ったが,マルウェア K に感染した PC の不正送金対策にはならなかった。
送金内容認証では,利用者が HMAC 計算ツールに送金先口座番号と送金額を入力し,そのツールが計算した HMAC 値を,送金内容とともに Web サイトへ送る。Web サイトは,送られた送金内容から自分で HMAC 値を計算し,一致するかを確かめる。ツールが PC 上のプログラムだと,マルウェアに感染した PC では,ツールへの入力内容も改ざんできる。入力内容を攻撃者の口座・金額に書き換えると,ツールはその改ざん後の内容に対する正しい HMAC 値を計算するので,Web サイト側の検証は通り,不正送金を防げない。専用デバイスなら,デバイスには利用者が直接入力し,結果も目で見て Web サイトへ入力するので,PC 上のマルウェアは入力内容に手を出せない。