セキュリティ事故の対応【平成24年度 秋期 基本情報技術者試験 午後 問4】

平成24年秋 基本情報技術者試験 午後 問4

問4 セキュリティ事故の対応に関する次の記述を読んで、設問1〜4に答えよ。

 自転車用品の中堅通信販売会社のD社では、顧客からの注文を郵便及び電話で受け付けていた。顧客へのサービスの拡大を目的として、インターネットを利用した会員制のサービスを開始することにした。

 会社の紹介だけを掲載していた従来のWebサイトを改修し、Webサイトでの会員情報の登録及び修正、会員に対するWebサイトでの商品の販売並びに会員向けのメールマガジン送付の登録を行う。

 なお、Webサイトでの商品の販売における決済手段はクレジットカードだけとする。

 改修後のWebサイトは、D社のDMZ上に設置されたWebサーバと、社内LAN内に設置されたデータベースサーバで構成される。データベースサーバのデータは平文で保存しており、会員情報の登録及び修正、商品の販売並びに会員向けのメールマガジン送付の登録を行う際には、SSLによってネットワーク経路の暗号化を行う。

〔会員情報の登録〕

 D社では、Webサイトで取得する個人情報の利用目的を、注文の受付、決済、商品の配送、及びメールマガジンの送付に限定し、会員登録の希望者に対し、登録時に利用目的を通知して同意を得ることとした。同意を得た会員に対しては、会員情報として次の情報を登録してもらうこととした。

【全員に登録してもらう情報】

 利用者ID、パスワード、メールアドレス、メールマガジン送付の有無

【任意に登録してもらう情報】

 性別、生年月日

【商品を購入する会員に登録してもらう情報】

 氏名、配送先住所、電話番号、クレジットカードの発行会社名、クレジットカード番号、クレジットカードの有効期限

〔セキュリティ事故の発生〕

 複数の会員から、”D社のサービスに登録したメールアドレス宛てに迷惑メールが大量に送られてくるようになった”との連絡がお客様相談窓口に入った。さらに、連絡があった会員のうち数名については、迷惑メールの宛先メールアドレスはD社以外のサービスでは利用していないことが分かった。

 この報告を受けてD社の情報システム部のY部長は、会員情報が漏えいしている可能性があると判断した。また、会員情報として登録されているクレジットカード情報が漏えいしていることも考えられると判断した。そこで、情報システム部のWebサイト担当者Z氏に対し、Webサイトを停止して調査するよう指示した。

 Z氏の調査の結果、D社のWebサイトにおいて、会員が利用者IDとパスワードの入力を行うログインの処理に不備があり、外部からSQLインジェクション攻撃を受けていたことが判明した。

今回受けたSQLインジェクション攻撃:攻撃者が、D社のWebサイトの入力項目に対し、命令文を送り込むことによって、データベースを不正に操作した。

SQLインジェクション攻撃は、Webサイトなどのアプリケーションへの入力データとしてデータベースへの命令文を指示するデータを入力し、想定外のSQL文を実行させることでデータベースを破壊したり情報を搾取する攻撃です。

例えば、Web上で利用者名を入力データとして、アプリケーションで以下のSQL文を実行することとします。

 SELECT * FROM USER

  WHERE name = ‘利用者名(入力値)’

これに対し、入力値として「’ OR ‘A’=’A」を入力すると、SQL文は以下を実行しようとします。

 SELECT * FROM USER

  WHERE name = ” OR ‘A’=’A’

WHERE句の条件は常に真となり、データベースの全部のデータが対象となります。

〔セキュリティ事故への対応〕

 Z氏は、一般的なWebサイトにおけるセキュリティ事故に関して考えられる対策と対応を調査し、今回のセキュリティ事故において会員とWebサイトに対して必要と思われる対策と対応を表1にまとめて、Y部長に報告した。

f:id:aolaniengineer:20200121221726p:plain

 Y部長は、表1の⑦は実施を見合わせ、Z氏に①〜⑥の実施を急がせるとともに、更なる情報セキュリティ対策の実施を指示した。

表1中の③に関して、今回のセキュリティ事故の対応:クレジットカード情報が漏えいしている場合の不正利用を防止するために、登録されたクレジットカードの停止及び番号変更の手続を会員に依頼する。

クレジットカード情報が漏えいによる会員の財産への被害が想定されるため、直ちに手続きを依頼する必要があります。

表1中の⑦に関して、Y部長が実施を見合わせた理由:今回のSQLインジェクション攻撃を防ぐ対策にならない。

⑦の「ネットワークを介した攻撃によるネットワークアクセス負荷上昇」は、DoS攻撃を想定しているものです。今回のセキュリティ事故とは直接関係がないため、実施を見合わせたと考えられます。

Y部長は、Z氏に事故の再発防止のために更なる情報セキュリティ対策の実施を指示した。

〔SQLインジェクション攻撃への追加対策〕

 SQLインジェクション攻撃は、システム開発の際にセキュリティを考慮した設計及び実装を行うことで回避できる。例えば、(a)ことで、アプリケーション開発時に脆弱性が作り込まれる可能性を減らすこととする。

a:セキュアプログラミングのルールを作成する

開発時に行われるものとして脆弱性を低減するための対策は、セキュアプログラミングのルール作りです。

〔会員情報に対するその他のセキュリティ対策〕

 会員情報を格納したデータベースサーバへの不正アクセス対策として、(b)こととする。また、情報漏えいが発生した場合の原因の分析や犯人の追跡を行うための証拠の確保には、(c)を行うこととする。

【出典:基本情報技術者試験 平成24年度秋期午後問4(一部、加工あり)】

b:会員情報を暗号化する

データベースへの不正アクセスを受けた場合に備えて、データベース上の会員情報を暗号化します。

c:アクセスログやエラーログの保管

セキュリティインシデント発生時には、原因分析、証拠の保全のために、各種ログを保管する必要があります。