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

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

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

製品・サービス・業界動向 業界動向
 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》

PageTop

アクセスランキング

  1. クラウド労務管理「WelcomeHR」の個人データ閲覧可能な状態に、契約終了後も個人情報保存

    クラウド労務管理「WelcomeHR」の個人データ閲覧可能な状態に、契約終了後も個人情報保存

  2. 今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

    今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

  3. 2023年「業務外利用・不正持出」前年 2 倍以上増加 ~ デジタルアーツ調査

    2023年「業務外利用・不正持出」前年 2 倍以上増加 ~ デジタルアーツ調査

  4. クラウド型データ管理システム「ハイクワークス」のユーザー情報に第三者がアクセス可能な状態に

    クラウド型データ管理システム「ハイクワークス」のユーザー情報に第三者がアクセス可能な状態に

  5. 雨庵 金沢で利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

    雨庵 金沢で利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

  6. GROWI に複数の脆弱性

    GROWI に複数の脆弱性

  7. 「味市春香なごみオンラインショップ」に不正アクセス、16,407件のカード情報が漏えい

    「味市春香なごみオンラインショップ」に不正アクセス、16,407件のカード情報が漏えい

  8. SECON 2024 レポート:最先端のサイバーフィジカルシステムを体感

    SECON 2024 レポート:最先端のサイバーフィジカルシステムを体感

  9. セトレならまちで利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

    セトレならまちで利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

  10. トレーニング 6 年ぶり復活 11/9 ~ 11/15「CODE BLUE 2024」開催

    トレーニング 6 年ぶり復活 11/9 ~ 11/15「CODE BLUE 2024」開催

ランキングをもっと見る