ベリサイン「Secure Site シール」の問題点 プログラムの設計方針に初歩的問題? | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2017.10.17(火)

ベリサイン「Secure Site シール」の問題点 プログラムの設計方針に初歩的問題?

製品・サービス・業界動向 業界動向

 3月9日に発見された日本ベリサイン社の「Secure Site シール」の問題点について、内容を解説する。
 同社の「Secure Site シール」は、シールの画像をクリックすると同社にwebに移動し、認証されたサイトであることが表示される。


>> 「Secure Site シール」認証情報表示ステップ

 同社のサービスでは、次の3つのステップでの認証情報の表示を行っていた。問題があったのは2つめのステップである。2つめのステップで細工を行うことで、偽装が可能であった。ステップごとにその内容をみてみる。

 1.登録 web 利用者がシールをクリックする(登録 web サイト)
  ベリサイン社の黄金のシールを表示している web を訪れた利用者が、その web の認証情報を確認するためにシールをクリックする。
  この時シールのリンクのリクエストは下記である
   https://www.verisign.co.jp/secure/Seal.cgi? 特定のコードSeal.cgi?のパラメータとして指定されている特定のコードが登録 web サイトを特定するために用いられるものと思われる。

 2.ボタン表示(ベリサイン社 web サイト)
  シールをクリックすると、ボタンだけ表示された画面になる。この利用者はこのボタンを押すようもとめられる。この時、 web はすでにベリサイン社に移動している。
  ブラウザに表示されるのは、ボタンだけであるが、実際には、HIDDEN属性でさまざまな情報が含まれている。この段階ですでに「3.」で認証情報として表示する情報がほとんど含まれている。
  この段階でHIDDEN属性の内容を書き換えてしまえば、そのまま認証情報として表示できそうなことは容易に想像できる。

 3.認証情報表示(ベリサイン社 web サイト)
  利用者がボタンを押すと、認証情報が表示される。
  「2.」の段階でHIDDEN属性とされていたものを表示する。
  つまり、「2.」の内容を改竄あるいは、同じ書式でまったく異なる内容を作成し「3.」を呼び出すことで任意の内容を表示させることが可能となる。


>> 偽装の方法 HTML の基礎知識があれば素人でも偽装できた

 偽装を行うには「2.」の段階の見かけ上ボタンだけのHTMLを偽装したい内容に書き換えて、任意のサーバ上に設置すればよい。
「2.」のHTMLファイルが、ベリサイン社以外のところにおいてあっても問題なく認証情報の表示が行われた。書き換える内容の推定も簡単である。

認証表示の際に用いるテンプレートがHIDDEN属性の中に記述されていた。
「Secure Site シール」のテンプレート(現在は表示されない)
https://www.verisign.co.jp/query/authCertDisplay.htm
このテンプレートを見ると、HIDDEN属性のどのパラメータがどの部分にどのように表示されるか、容易に推定できる。
 テンプレートには、下記のようなHTML(関係個所のみ抜粋)が記載されている。実際には、グラフィックやテーブルを含んだHTMLであるが、わかりやすくするために、関係個所のみ抽出した。

$$VS_COMMON_NAME$$ は、
VeriSign Secure Site です。
サーバ名(コモンネーム) $$VS_COMMON_NAME$$
ステータス $$VS_STATUS$$
有効期間(GMT) $$VS_VALID_START$$ - $$VS_VALID_END$$
証明書のクラス $$VS_PRODUCT_NAME$$
サブジェクト $$VS_SUBJECT_READABLE$$
<以下略>

「2.」のHTMLのフォームのHIDDEN属性には、次のような記述がされている。部分的に関係する個所を抜き出した。指定すべき個所は便宜上、"X"で記載した。

<INPUT type=hidden name="VS_COMMON_NAME" value="XXXXXXXXXX">
<INPUT type=hidden name="VS_STATUS" value="Valid">
<INPUT type=hidden name="VS_VALID_START" value="XX-XXX-XX">
<INPUT type=hidden name="VS_VALID_END" value="XX-XXX-XX">
<INPUT type=hidden name="VS_PRODUCT_NAME" value="XXXXXXXXX">

 フォームとテンプレートで同じ名前のパラメータが記述されているので、すぐに、どの個所になにを記述すればよいか推定できる。
 例えば、フォームに下記のように指定するだけでよい。

すると、このように日本ベリサイン社の web に表示される。どうみても認証された画面としか見えない(サイト名はうそっぽいことは別として)。

偽装のサンプル
http://www.vagabond.co.jp/top/image/verisign02.GIF

 これまで見てきた内容には、技術的に高度なものは含まれていない。
HTMLのフォームでCGIを呼び出すコードを書いたことのある人なら、問題なく理解できるし、自分で推定することも可能だろう。



>> テンプレートとデータを生で指定し、ファイル名やパスを露出する無神経さ

「Secure Site シール」ならびに3月7日に本誌が発見した問題は、いずれも web 表示の際に、テンプレートと表示データを生のファイルが推定できる形で指定していたことに起因している。
 生のファイルおよびディレクトリが推定できることは、そこからさまざまな推定を行うことができるために大変危険といえる。
 あらゆるプログラムに、必ずなんらかの問題点は存在する。問題発生を防ぐためにできることは、可能な限り問題を減らすことと問題点を発見されにくくすることである。外部に対して、問題点の推定を可能とするような情報が見えてしまうプログラムは好ましくないと考えられる。

 今回の一連の日本ベリサイン社の問題は、外部の第三者に問題点が発見されやすい設計になっていたことにひとつの原因があるといえる。



関連情報
日本ベリサインのWebに重大な問題が! ファイルが丸見えに(2002.3.7)
https://www.netsecurity.ne.jp/article/1/4266.html

日本ベリサインの「SecureSiteシール」サービスが停止(2002.3.9)
https://www.netsecurity.ne.jp/article/1/4280.html

ベリサイン Secure Site に偽装の脆弱性
〜安心のマークが不安のマークに!〜(2002.3.9)
https://www.netsecurity.ne.jp/article/1/4279.html



[ Prisoner Langley ]

(詳しくはScan および Scan Daily EXpress 本誌をご覧ください)
http://shop.vagabond.co.jp/m-ssw01.shtml
http://shop.vagabond.co.jp/m-sdx01.shtml
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

Scan BASIC 会員限定記事

もっと見る

Scan BASIC 会員限定記事特集をもっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)

もっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)特集をもっと見る

カテゴリ別新着記事

製品・サービス・業界動向 カテゴリの人気記事 MONTHLY ランキング

  1. 次世代FW+Sandbox+SIEM+SOCの管理体制が限界を迎えるとき~三年後を先取りするVectra Networks社製品とは

    次世代FW+Sandbox+SIEM+SOCの管理体制が限界を迎えるとき~三年後を先取りするVectra Networks社製品とは

  2. Raspberry PiにKali linuxをセット、「ホワイトハッカ育成ツール」発売(スペクトラム・テクノロジー)

    Raspberry PiにKali linuxをセット、「ホワイトハッカ育成ツール」発売(スペクトラム・テクノロジー)

  3. 30年度サイバーセキュリティ政府予算730億円、防衛省と厚労省が各45億円超(NISC)

    30年度サイバーセキュリティ政府予算730億円、防衛省と厚労省が各45億円超(NISC)

  4. 自分の利用しているサーバの状況を確認する方法 不正中継確認

  5. ルートゾーンKSKロールオーバーのプロセス開始、DNSパケットサイズに注意(JPRS)

  6. 新アルゴリズムを開発、古い制御システムでもサイバー攻撃対策が可能に(日立)

  7. Apache Strutsの脆弱性リスクの有無を判断できるツールを無料配布(Black Duck Software)

  8. 顔認証システムの現状、顔写真を使った「なりすまし」も3Dデータ照合で防ぐ

  9. ルートゾーンKSKロールオーバーの「新KSKでの署名開始」を延期(JPRS)

  10. マルウェア侵入の検知を高精度化するAI技術を開発、侵入前後の違いを検知(富士通研究所)

全カテゴリランキング

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×