陰某論

陰でこそこそとコンピュータセキュリティ・情報セキュリティについての某かを論ずるブログ

スタイル指定で隠されたウェブ改ざん

2016-08-27 03:51:47 | 注意喚起
既存のページに対する改ざんで気づきにくいものの一つに、スタイル指定で通常のブラウザでは見えないようにしたコードを書き加えるものがあります。多くの場合不正な広告を挿入するもので、ブラウザでは見えなくても Google と Bing は文字列を拾うため意図しないサイトへリンクを張ってあるように扱われてしまいますし、意図しない文字列で当該サイトが検索できてしまう状態になります。さらに先述の「User-Agent が検索エンジンのものであった場合にのみ不正な内容を表示するウェブ改ざんhttp://blog.goo.ne.jp/kagenanigashi/e/60cc5a3c371b5b6ffb28ed260c35cb82 と組み合わせ、User-Agent が Googlebot や Bingbot だったときだけに通常のブラウザに表示されないような改ざんが見られるようなものもあります。

非常に多く見かけるのは
<div style="position:absolute; left:-3813px; top:-2142px;">
のように大きな負の値の絶対位置指定を使って表示位置をブラウザの枠外に指定したものです。

これはあるサイトが受けていた改ざん被害の例ですが、いろいろ書き加えられているにもかかわらず通常のブラウザで表示すると

と何も変わったところは見られませんでした。しかしスタイル指定を無視すると

と表示され、改ざんされていることがわかります。
この例では改ざんにより書き加えられた部分は HTML 末尾でしたが、ほかには </head> 直下、<body> 直下もよく見ます。しかし中には HTML の途中へ書き加えているものもあります。次のものはその一例です。

「Let it Go~ありのままで~」という一単語の途中に </p> からはじまる改ざんコードが挿入されています。この改ざんを受けたサイトでは </p> <p> が一組加わるため改行が増えますが、改ざんにより加えられた文字列は表示されません。

注意深く見ていれば気付ける可能性はありますが、なかなか難しいと思います。これもスタイル指定を無視すると

と表示され異常があることがはっきりわかります。

注記:上記の例に挙げた2サイトには連絡を行い、何らの返信は得られていませんが、改ざん状況はすでに改修されていることを確認しています。攻撃者の意図に乗って広告を広めないため・被害を受けたサイトの特定を避けるため、多くの部分を伏せたり変更したりしています。

<div style="position:absolute; … のタイプ以外に

<p style="color:#fff;">
として背景色が白(#fff)である場合に白い文字で書いて見えにくくしたもの

<div style="display: none">
としてそもそもブラウザには表示させないが検索エンジンには拾われることを狙うもの

<marquee height="1" width="1" scrollamount="4000" scrolldelay="1000">
と1px×1pxの箱の中に押し込んで marquee するもの

などのスタイル指定で改ざんを隠すものも発見していますが、掲載できるサンプルを持っていないのでキャプチャは省略します。

こうした改ざんはブラウザにスタイル指定を無視させる表示をすると容易に発見できます。Lynx や w3m などのテキストブラウザを使うのが一つの方法ですが、Firefox では1つのタブだけスタイル指定を無視する設定ができますのでこれもお勧めしておきます。「表示」→「スタイルシート」→「スタイルシートを使用しない」です。

Google Chrome では Pendule https://chrome.google.com/webstore/detail/pendule/gbkffbkamcejhkcaocmkdeiiccpmjfdi を入れ "Disable all styles" とするとほぼ同じことができますが、いくつかのスタイル指定は無視できないようです。

2018年6月4日追記
紹介した Google Chrome の拡張機能 Pendule が Chrome ウェブストアには存在するのにインストールできなくなり、インストール済の Chrome からも削除されました。長らく更新されていないため現在求められている仕様に適合しなくなったことが原因と思われ、拡張機能に不正が疑われているわけでは無さそうです。Manifest Version - Google Chrome https://developer.chrome.com/extensions/manifestVersion には "Developers should currently specify 'manifest_version': 2:" とありますが、Pendule にはこの指定がありません。

代替には Pendule より高機能な Web Developer https://chrome.google.com/webstore/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm がありますが、安全性については不明です。

【追記】User-Agent が検索エンジンのものであった場合にのみ不正な内容を表示するウェブ改ざん

2016-08-22 06:47:36 | 注意喚起
「User-Agent が検索エンジンのものであった場合にのみ不正な内容を表示するウェブ改ざん - 陰某論」 http://blog.goo.ne.jp/kagenanigashi/e/60cc5a3c371b5b6ffb28ed260c35cb82 への追記です。

先のエントリでは

既存のページに改ざんが行われ、検索エンジンに対して不正なコンテンツを返す場合がある

ことを書いたのですが(わかりにくかった)、このほかに

通常のブラウジングでは表示されない不正なページが追加され、User-Agent が検索エンジンのものであった場合にのみ表示される

ような改ざんも存在します。この二つのパターンの改ざんが一つのウェブサイトに対して両方とも行われている場合もあります。

あわせて注意喚起いたします。

User-Agent が検索エンジンのものであった場合にのみ不正な内容を表示するウェブ改ざん

2016-08-22 03:54:39 | 注意喚起
「高松空港ウェブサイト改ざん - 陰某論」 http://blog.goo.ne.jp/kagenanigashi/e/5f5d425e4bb47f90f308665668ec3c08 に関連する注意喚起です。

高松空港ウェブサイトの例と同様に User-Agent が検索エンジンのものであった場合にのみ不正な内容を表示するように改ざんされたウェブサイトが複数あることを確認しています。ウェブサイト管理者の皆様は自分が管理するサイトの Google/Yahoo! Japan/Bing での検索結果に不審な内容が無いか、あるいはブラウザの設定で User-Agent を "Googlebot" や "Bingbot" に設定した場合に不審なコンテンツが表示されないか、随時確認されるようお勧めいたします。

正式な Googlebot の User-Agent は https://support.google.com/webmasters/answer/1061943?hl=ja に、また Bingbot のものは https://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0 に記載されていますが、完全な文字列ではなくともそれぞれ "Googlebot" や "Bingbot" と設定しただけでも確認できることが多いようです。ブラウザではなく wget で
wget --user-agent="Googlebot" http://example/
などとしても確認できます。このほか Google Search Console の Fetch as Google 機能
https://support.google.com/webmasters/answer/6066468?hl=ja
でも確認できると思われます。

不幸にして改ざんされその内容が検索エンジンにキャッシュされている場合には、サイト復旧とあわせて検索結果やキャッシュの削除をお勧めします。Google と Bing の検索結果・キャッシュはそれぞれが提供するツールで削除できます。Yahoo! Japan は Google のインデックスを利用しているので Google で削除されれば波及するものと思われます。Google での削除方法は
https://support.google.com/webmasters/answer/6332384?hl=ja
に、Bing では
https://www.bing.com/webmaster/help/bing-content-removal-tool-cb6c294d
に説明があります(Bing は英文)。

Google に関しては削除要請は速やかに対応されると感じています。Bing については承知していませんが、高松空港ウェブサイトのケースから推測するにこちらも速やかに対応されるものと思われます。一方で削除要請を行わずページの削除や修正のみで放置した場合には長期間検索可能なままである場合があります。たとえば User-Agent に依らない改ざんの例ですが
「高野山大学の公式サイト内に通販詐欺サイトの誘導ページが大量に ( その他インターネット ) - 無題な濃いログ - Yahoo!ブログ」 http://blogs.yahoo.co.jp/fireflyframer/33018807.html
のケースは無題な濃いログさんほかで話題になった後に改ざんは修正されましたが、2年近く経つ本記事執筆時点でいまだに検索が可能です。

高松空港ウェブサイト改ざん

2016-08-22 02:43:01 | インシデント
公表され報道も行われているため、当事者を伏せません。

高松空港振興期成会が運営する高松空港ウェブサイト http://www.takamatsu-airport.com/ が改ざんされていました。若干まぎらわしいのですが高松空港ビル株式会社 http://takamatsu-airport.co.jp/ とは別のサイトです。

「高松空港ホームページの改ざんについて」 http://www.pref.kagawa.lg.jp/content/dir5/dir5_2/dir5_2_1/wof5sf160819224944.shtml
「高松空港HP改竄され閉鎖 不正アクセスか - 産経WEST」 http://www.sankei.com/west/news/160820/wst1608200020-n1.html
「高松空港:HP改ざん 被害報告なし 原因調査で閉鎖 /香川 - 毎日新聞」 http://mainichi.jp/articles/20160821/ddl/k37/040/310000c

現在高松空港ウェブサイトはメンテナンス中の表示になっています。


香川県の発表(PDF) http://www.pref.kagawa.lg.jp/content/etc/web/upfiles/wof5sf160819224944_f01.pdf には「Google 等の検索サイトで時刻表のページを検索し、検索結果画面においてキャッシュページを選択して表示させた場合に、特定の広告サイトに誘導する文字列(別添)が挿入された状態で表示される。」とありますが、実際には User-Agent に依存して表示が変わる状態になっていました。User-Agent として Googlebot あるいは Bingbot を名乗ると、ページ上部に不正な広告リンクが挿入された改ざんされたページ

が表示される状態でした。香川県の発表は通常のブラウザであっても Google/Yahoo! Japan/Bing がキャッシュしているページを表示させると不正な広告が挿入されたページが表示されるということを言っているものと思われます。通常のブラウザで通常の表示を行った場合はこの広告は挿入されません。

FAX をスキャンした解像度の低い白黒画像ではありますが香川県が改ざんされた状態を公表している(PDF) http://www.pref.kagawa.lg.jp/content/etc/web/upfiles/wof5sf160819224944_f02.pdf ことには敬意を表したいと思います。お蔭でこのブログ記事でも遠慮なく状況を記すことができます。

改ざんされていたのは高松空港を発着する航空便の時刻表が掲載されたページ
http://www.takamatsu-airport.com/timetable/tokyo.php
http://www.takamatsu-airport.com/timetable/narita.php
http://www.takamatsu-airport.com/timetable/narita-next.php
http://www.takamatsu-airport.com/timetable/naha.php
http://www.takamatsu-airport.com/timetable/seoul.php
http://www.takamatsu-airport.com/timetable/seoul-next.php
http://www.takamatsu-airport.com/timetable/shanghai.php
http://www.takamatsu-airport.com/timetable/shanghai-next.php
http://www.takamatsu-airport.com/timetable/taipei.php

の各 URL で、拡張子を信じれば PHP で記述されていたものでしょう。同空港には本年7月6日に就航したばかりの香港線もありその時刻表も掲載されていましたが、その URL
http://www.takamatsu-airport.com/timetable/hongkong.php
http://www.takamatsu-airport.com/timetable/hongkong-next.php
については改ざんが行われていなかったことから、被害に遭った時期は本年7月より前であろうと想像できます。
これらのページについては Google/Yahoo! Japan/Bing のキャッシュがすでに削除されています。この対応の早さも素晴らしいと思います。

一方、高松空港ウェブサイトには県のウェブサイトから
<meta content="0;url=http://www.takamatsu-airport.com/timetable/tokyo.php">
という形式でリダイレクト(バナー広告?)が行われており、これについては Google や Yahoo! Japan が検索結果の一部をリダイレクト先の高松空港ウェブサイトの内容として、つまり改ざんされた広告を含む状態で保存しており、これについてはブログ執筆時点でまだ削除されていません。
https://www.google.co.jp/search?q=site%3Awww.pref.kagawa.lg.jp+buy+online

https://search.yahoo.co.jp/search?ei=UTF-8&fr=sfp_as&aq=-1&oq=&p=site%3Awww.pref.kagawa.lg.jp+buy+online&meta=vc%3D

これらは県のウェブサイトが改ざんされていたことを示すものではなく、あくまでリダイレクト先の高松空港ウェブサイトの内容が残っているものと思われます。

県の発表によると8月19日の「16 時頃」「サーバーを管理する事業者から事務局に連絡」があり、「16 時 45 分頃」「ホームページ閉鎖」となっています。利用者利便も考えると閉鎖することまでが必要であったかどうかは疑問もありますが、対応としては素早いと言えそうです。

が。

この部分は疑問に思っています。

http://www.takamatsu-airport.com/ には高松空港振興期成会の名称と高松空港インフォメーションセンターの電話番号は記載されていましたが、高松空港振興期成会の連絡先はメールアドレスどころか住所・電話番号も記されていませんでした。一方、whois データベースによると takamatsu-airport.com は日本レジストリサービスをレジストラとする「高松空港振興期成会」名義のドメインで、高松空港振興期成会の「Adminコンタクト」と「ニフティ 株式会社」の「Techコンタクト」が掲載されています(図では住所・電話番号・アドレスは伏せています)。

サーバーを管理する事業者から8月19日16時に連絡があったというのは、事業者だけではなく高松空港振興期成会にも8月19日16時よりもかなり前の時点で通報があり、それを事業者が(FAX で!)県にあらためて通知したのが16時ということではないでしょうか。実際には8月12日に通知が行われており、適切にメールを読んでいればお盆休みを考慮しても16日には対応を開始できたのではないかと思います。


皆様 whois データベースの登録内容はメンテナンスしてください。また、whois に登録したアドレスは多数のゴミが届くとは思いますが重要な内容もあるので読んでください。

このブログについて

2016-08-21 23:14:03 | お知らせ
ネットワーク空間をわずかでも安全にすることを目的に、陰でこそこそとコンピュータセキュリティ・情報セキュリティについての某(なにがし)かを論じます。

このブログでは、原則として当事者が自ら公表したもしくは報道を含む他の方によって明らかにされたケース以外については当事者が明らかにならないように記述するよう努力します。ただし国や地方公共団体と、特に影響力の大きな組織については例外にするかもしれません。

この原則のため、タイムリーさに欠ける記事が多くなると思われます。最初におわびしておきます。