いまさら聞けないパラメータ改ざん

 2016.12.01 Secure Enterpriseポータル

パラメータ改ざん”とは、URLパラメータやHTMLフォームにおけるhiddenフォームを不正に改ざんし、Webサイト/Webサービスに様々な被害をもたらすサイバー攻撃の一種です。

独立行政法人IPA(情報処理推進機構)によると、パラメータ改ざんに関する脆弱性はWebサイトの届け出全体に対し数パーセントと低い水準であるものの、継続的に届け出がされているため警戒が必要な攻撃手法の一つとしています。参考:「安全なウェブサイトの作り方 改訂第7版

今回はこのパラメータ改ざんに焦点を当て、その仕組みや具体的な対策などについて解説します。

同時に、WAF(Web Application Firewall)による対策と、シマンテックが提供する「シマンテック クラウド型WAF」について紹介しますので、今後のWebサイト/Webサービスセキュリティ強化の参考にしてください。

パラメータ改ざんの仕組み

パラメータ改ざんは主に“URLパラメータの改ざん”、“hiddenフィールドの改ざん”、そして“Cookie情報の改ざん”の3つが攻撃手法として存在します。

いずれもWebページ間での情報受け渡しなど、特定の情報を保持するための値を改ざんし、情報搾取などを狙います。

URLパラメータの改ざん

URLパラメータとはURL末尾の「?」以降に付加される値です。この値を変更することで特定の情報を表示させることができるので、管理者側からすれば非常に便利なのですが、容易に改ざんされてしまうという特徴があります。

例えば、ECサイトの購入商品確認画面において、以下のようなURLパラメータを用いているとします。

http://example.com/shopping_detail/?userid=symantec&item=42

こうしたURLパラメータを用いている場合、末尾の数字を変更するだけで別購入商品の確認を行うことができますし、URLパラメータの特性を理解すれば個人情報画面などを閲覧することも可能です。

hiddenフィールドの改ざん

hiddenフィールドとはHTMLフォームにおいて、画面に表示させることなくWebページ間でデータの受け渡しを行うためのHTMLです。

画面に表示されないことから安全性が高いと考えがちですが、実際はブラウザ上にしっかりと保持されているため、HTMLソースを参照することで簡単に閲覧できます。

この攻撃者はHTMLソースをローカルに保存し、hiddenフィールを書き換えることで、正規ユーザーしか閲覧できないWebページを不正に表示させることが可能になります。

Cookie情報の改ざん

Cookie情報とは、Webサイト/Webサービスへアクセスした際ユーザー毎に発行され、ブラウザ上に保持される特定情報を記述した値です。

これを利用することで管理者側はユーザーの識別を行うことができ、パーソナライズされたサービスを提供することができます。

つまり、Cookie情報を改ざんすれば攻撃者は正規ユーザーに成りすますことが可能であり、これにより様々な被害が想定できます。

パラメータ改ざんにより想定される被害

では、パラメータ改ざんによりユーザーや企業はどのような被害を受けるのでしょうか?

オンラインショッピングでの価格改ざん

オンラインショッピングによっては、URLパラメータやhiddenフィールドに価格情報が含まれている場合があります。

この時、価格情報を改ざんされてしまえば正規価格ではなく、改ざんした不正価格で商品を購入することも可能です。

購入確認や商品発送といった作業があるECサイトであれば管理者側で気付くこともできますが、音楽/ゲームダウンロードといった無形商品を販売している場合は被害に遭う可能性が高くなります。

オンラインゲームでの不正行為

オンラインゲームにおいても、URLパラメータやhiddenフィールドにプレイヤー情報などを格納しているケースが少なくありません。

また、課金制の場合アイテムを不正に購入されてしまう危険性があります。

個人情報など機密情報の漏洩

URL、hiddenフィールド、Cookie情報いずれかのパラメータにユーザーのログイン情報などを保持するような値があれば、攻撃者は簡単に成りすますことができます。

これによりユーザーの個人情報が流出したり、正規ユーザーのみ閲覧可能な情報が漏洩するといった被害が想定できます。

ユーザー向けファイルの不正ダウンロード

ネットバンキングにおいて取引明細をPDF化してダウンロードするような機能など、特定ユーザーのみがダウンロード可能な情報を提供するWebサービスも少なくありません。

こうしたWebサービスにおいて生成されるファイル名が容易に推測できるものだと、不正ダウンロードの被害に遭う危険性があります。

信頼性低下による事業低迷

上記のような被害が発生すると企業に対するユーザーの信頼性は確実に低下します。これにより事業低迷に陥ったり、被害の深刻性によってはサービス自体停止に追い込まれる可能性もあります。

パラメータ改ざんへの対策

ここではパラメータ改ざんへの具体的な対策について紹介します。

GETメソッドとPostメソッドを使い分ける

GETメソッドとPostメソッドとは、HTTP/HTTPS通信においてWebサーバとクライアント(ユーザーPC)間におけるデータ送受信を行う際の方法を指定するものです。

GETメソッドは前述したようなURLの末尾に「?」が付く通信方法であり、目に見えるためパラメータ改ざんが容易になります。

対してPOSTメソッドではブラウザ上にデータが表示されないので、機密性の高い情報を保持する場合に使用します。

情報の種類によって2つのメソッドを使い分けることで、パラメータ改ざんへある程度対処することが可能です。

hiddenフィールドを利用せずセッション変数を利用する

セッション変数とは、Webサーバ側に保存されるユーザー毎のセッションIDであり、ブラウザ上に保持されないためhiddenフィールドの改ざんを防ぐことができます。

ただし、クロスサイトスクリプティングやセッションハイジャックにより特定される可能性があるので、完全な対策ではありません。

Cookie情報にセッションIDを保持しない

また、セッション変数を用いる際はCookie情報にセッションIDを保持しないことも重要です。

Cookie情報とはユーザー側で容易に閲覧できるものであり、そこにセッションIDが保持されているとアルゴリズムを特定され改ざんされる可能性があります.

パラメータ改ざんへの対策だけでは不十分

パラメータ改ざんに対し、上記で紹介した対策以外にもパラメータにハッシュ値を用いるといった対策も存在しますが、全ての対策を講じたとしてもWebサイト/Webサービスに対する脅威は消えません。

前述のようにクロスサイトスクリプティングやセッションハイジャックといった別のサイバー攻撃により、Cookie情報やセッションIDを特定されたり、正規ユーザーに成りすます攻撃手法は多岐に渡るためです。

従って、運営企業としてはパラメータ改ざんだけでなく、複数のサイバー攻撃を想定した総合的セキュリティ環境が求められます。

「シマンテック クラウド型WAF」でWebサイト/Webサービスを総合的に保護

いかがでしょうか?今回はパラメータ改ざんの仕組みや対策、そして特定の対策だけでは不十分だということを紹介しました。

こうしたセキュリティ課題に対し、「シマンテック クラウド型WAF」はパラメータ改ざんだけではなく、外部に存在する複数の脅威からWebサイト/Webサービスを保護します。

シグネチャベースによるHTTP/HTTPS通信の監視やSSL暗号化通信によって、正規ユーザーへの成りすましはもちろん、SQLインジェクションなど危険性の高いサイバー攻撃にも対処可能です。

また、クラウド型の特性によりユーザー側での運用管理は不要なので、堅牢かつ快適なセキュリティ環境を構築するWAF製品です。