ホームページの脆弱性を突いたサイバー攻撃

2016 October Special-2
東京海上日動 WINクラブ
http://www.tmn-win.com/
ホームページの脆弱性を突いたサイバー攻撃
今年 6 月、旅行業界で発覚した 2 件の個人情報漏洩のうちの1つは、ホームページで使用される Web アプリケーシ
ョン1の脆弱性(以下、
「ホームページの脆弱性」といいます)への代表的なサイバー攻撃の1つである SQL2インジェ
クション攻撃3によるものと考えられています。また、同じ時期、他業種の企業でも SQL インジェクション攻撃による
個人情報漏洩事故が発生しています。
このように、外部公開されているホームページはサイバー攻撃の対象となりやすく、また企業内部のデータベースに
接続可能な場合が多いため、SQL インジェクション攻撃での情報漏洩事故が後を絶ちません。攻撃者にとって情報窃
取までに手間と時間がかかる標的型メール攻撃に比べて、特別な準備を必要とせずホームページの入力欄を利用するこ
の攻撃は、対策を十分に行っていない中堅・中小企業にとって、より身近で大きな脅威となっています4。
本稿では、SQL インジェクション攻撃を事例に、ホームページの脆弱性を突くサイバー攻撃の概要と対策について
解説します。
Ⅰ.ホームページの脆弱性を突いたサイバー攻撃の概要
SQL インジェクション攻撃などホームページの脆弱性を突くサイバー攻撃は、ホームページ等のWebブラウザの入
力フィールド(検索欄やコメント欄等)を使用した攻撃で、入力した情報で Web アプリケーションを操作し、情報窃
取、データ改竄、別サイト誘導などを行うものです。図表1に SQL インジェクション攻撃のイメージを示します。
【図表1:SQL インジェクション攻撃のイメージ】
ファイアウォール5
1 Web アプリケーションとはユーザーがWeb ブラウザを介して使用できるアプリケーション機能のこと。Web サーバ上で動作するプログラムをWeb アプリ
ケーションサーバ、Web ブラウザ内で動作するプログラムをWeb アプリケーションクライアントと分けて呼ぶ場合があります。
2 SQL とはサーバ上で主に使用されるリレーショナルデータベース(RDB)のデータを操作するための言語のことです。
3 SQLインジェクション攻撃とはWebアプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させること
により、データベースシステムを不正に操作する攻撃方法のことで、個人情報漏洩を引き起こす代表的なサイバー攻撃の1つです。
4 JPCERT/CC のインシデント報告対応レポート[2016 年4 月1 日~2016 年6 月30 日]によれば、
標的型メール攻撃の件数はサイバー攻撃全体の件数の
0.4%に過ぎず、一方、スキャン(弱点探索)、Web サイト改竄、SQL インジェクション攻撃等、ホームページ等のWeb サイトやシステムへの攻撃の件数は7
割を超えています。
5 FW はIP アドレスとポート(アプリケーションのこと)の関係から接続の適否を判断するもので、設置されるネットワークの経路上の制約(通信内容に暗号化
やカプセル化が実施されている)でデータとして不正プログラムの判定ができないため、公開しているWeb サーバへの接続要求には応じる必要があります。
1
Copyright (c)
Tokio Marine & Nichido Risk Consulting Co., Ltd.
SQL インジェクション攻撃は、Web ブラウザの検索欄に SQL 文(データベースを操作する命令文)の一部を入力
し、Web アプリケーションで予め用意されている SQL 文と合成させることで、新たな SQL 文を作成し、Web アプ
リケーションに想定外の処理を行わせます。データベースへアクセス可能な Web サイトでは、このような手口を使っ
て容易に情報窃取やデータ改竄が行えるのです。
Ⅱ.ホームページの脆弱性を突いたサイバー攻撃への対策
ホームページの脆弱性を突いたサイバー攻撃の対策には、大別すると、①脆弱性のあるプログラム自体を改修する「セ
キュアプログラミングの実施」
、および②不正プログラムを判定する「Webアプリケーション・ファイアウォール(以
下、WAF)6の設置」の2つがあります。
図表 2 は SQL インジェクション攻撃における上記2つの対策のイメージ図です。
「セキュアプログラミングの実施」は、入力内容で SQL 文が合成されることを阻止するもので、入力値を半角英数
字のみに制限する方法(対策①-a)や、SQL で使える特殊文字を無効化する(エスケープ処理を実施する)方法(対
策①-b)等があります。
「WAF の設置」は Web アプリケーションの直前に専用のファイアウォールである WAF を設置する(対策②)こ
とで、Web アプリケーションへの入力データに不正プログラムが含まれていないか等の判定を可能とするものです。
SQL インジェクション攻撃に限らず、ホームページの脆弱性を突いたサイバー攻撃7に広く対処することが可能です。
【図表 2:SQLインジェクション攻撃対策のイメージ】
Ⅲ.IT 企業との契約の確認・見直しと対策の実行
中堅・中小企業の皆様は、ホームページ等のWebサイトの開発・運営を IT 企業に委託されていることが多いものと
思いますが、残念ながらその委託契約においてサイバー攻撃等への対策についての取り決めがなされておらず、対策が
不十分となっているケースが多く見られます。
サイバー攻撃はますます激しさを増し、特に脆弱なホームページが標的とされることが多い中、中堅・中小企業にと
ってこれらの対策は急務です。これまで述べてきたように、ホームページの脆弱性を突いたサイバー攻撃は技術的対策
で防御可能ですので、ホームページ等のWebサイトをお持ちの企業は、委託先の IT 企業と十分な打ち合わせを行い、
契約内容の確認・見直しと、対策の早急な実施をご検討されることを強く推奨します。
6 Web アプリケーション・ファイアウォール(WAF)とはWeb サーバ(Web アプリケーション)の直前に設置することで、入力データをプログラムとして
解析し、ユーザーからの入力受付やユーザーへの応答を制御してWeb サイトやその上で動作するWeb アプリケーションへの攻撃を防御するソフトウェアのこ
とで、
「ワフ」と呼びます。
7 SQL インジェクション以外にもディレクトリトラバーサル、クロスサイトスクリプティング、クロスサイトリクエストフォージェリ(CSRF)と呼ばれる
Web アプリケーションの脆弱性への攻撃があります。
2
Copyright (c)
Tokio Marine & Nichido Risk Consulting Co., Ltd.