With a Filter Bypass and Some Hexadecimal, Hacked Credit Card Numbers Are Still, Still A Google-able
A Word on Credit Card Hacking
私を知っているか、私の以前の記事を読んでいるなら、私が Toptal に加わる前にとても興味深い会社で働いていたことは知っているはずです。 この会社では、決済プロバイダーが1日あたりおよそ50万ドルのトランザクションを処理していました。 私の仕事の一部は、プロバイダーを PCI-DSS に準拠させること、つまり、Payment Card Industry – Data Security Standard に準拠させることでした。 この時点で、私はクレジットカード(CC)、クレジットカードのハッキング、そして一般的なWebセキュリティについてかなり詳しくなっています。 結局のところ、私たちの仕事はユーザーのデータを保護し、ハッキングや盗難、悪用を防ぐことでした。
Slashdot で Bennett Haselton の 2007 年の記事「なぜ CC 番号はまだ簡単に見つかるのか」を見たときの私の驚きは想像できるかと思います。 要するに、Haselton は、まずカードの最初の 8 桁を「nnnn nnnn」形式で検索し、その後、数字の範囲に基づいた高度なクエリを使用して、Google でクレジット カード番号を見つけることができたのです。 例えば、「4060000000000000..406099999999」を使って、CHASEの16桁のプライマリアカウントナンバー(PAN)をすべて見つけることができます(そのカードはすべて4060で始まります)。 ちなみに、発行者ID番号の完全なリストはこちらです。
当時、私はあまり気にしていませんでしたが、Google はすぐに Bennett が使用するクエリの種類をフィルタリングし始めたからです。 そのような範囲をグーグルで検索しようとすると、Google は「あなたは悪い人です」というような内容のページを表示します。
6か月ほど前、古い友人と思い出話をしているときに、このクレジットカード番号ハックのことが再び頭に浮かびました。 その直後、私は驚くべきことを発見しました。 ひどく憂慮すべきことではなかったのですが、確かに憂慮すべきことでしたので、Googleに通知し、待ちました。
Haselton の古いトリックに少し手を加えて、私はクレジットカード番号、社会保障番号、および関心のあるその他の機密情報を Google で検索できるようになりました。 1 か月経っても応答がなかったので、再度通知しましたが、効果はありませんでした。 Haselton の古いトリックに少し手を加えただけで、クレジットカード番号、社会保障番号、その他の機密情報をグーグル検索できるようになりました。
Bennett
昨日、私の友人たち (buhera.blog.hu と _2501) が最近のスラッシュドット投稿を私の目に留めてくれました。 クレジットカード番号はまだグーグルできる」
この記事の著者は、2007 年に元の記事を書いた Bennett Haselton で、クレジットカード番号はまだグーグルできると主張しています。 数値範囲クエリのハックは使えませんが、まだ可能です。 単純な範囲を使う代わりに、クエリに特定の書式を適用する必要があります。 次のようなものです。 「1234 5678」(真ん中にスペースがあることに注意)。 このクエリでは、多くの検索結果が出ますが、実際に関心のあるものはごくわずかです。 電話番号、郵便番号、その他が含まれています。 極端に心配するようなものではありません。 しかし、ここでクレジットカードのハッキングのひねりが入っています。
The Methodology
私は、2007 年にできたように、クレジットカード番号をオンラインで取得することがまだ可能かどうか知りたかったのです。 優秀なエンジニアなら誰でもそうですが、私は通常、最も高い精度で完璧に実行される必要がある、適切に解釈された知的な計画を使用して物事に取り組みます。 この方法を試したことがある方はご存知かもしれませんが、失敗することもあり、その場合、注意深く計画し努力したことが無駄になります。 私は、友人や同僚が、一見ランダムに見える入力を使って、アプリケーションを完全に破壊するのを見たことがあります。 彼らの成功率は驚異的で、それに費やした努力はゼロに近いものでした。 そのとき、ドアを開けるには、時にはノックする必要があることを学びました。
クレジットカードのハッキング
前項は、私が「エリート ハッキング スキル」を披露するときに、バカでなく見えるように巧妙に偽装した試みでした。 おっと。
まず、レンジクエリベースのアプローチをいくつか試してみました。 次に、高度なクエリや、1 時間ほどで思いつくようなあらゆるものを調べました。
そして、とんでもないアイデアを思いつきました。 私が Google から受け取ったメッセージ (「あなたは悪い人です」) が、バックエンド自体からではなく、私のようなクエリを検閲するために Google が実装した指定フィルタリングエンジンからだったとしたらどうでしょう。 このようなバグはかなり一般的で、ITSEC では常に、特に IDS/IPS ソリューションや、一般的なソフトウェアで見られます。 データを処理するフィルタリング手順があり、そのデータが許容範囲内か悪意がないと判断された場合のみ、バックエンドにデータを渡します。 しかし、バックエンドとフィルタリングサーバーが全く同じ方法で入力を解析することはほとんどない。 したがって、一見妥当な入力がフィルタを通過して、バックエンドで大混乱を引き起こし、効果的にフィルタをバイパスすることができます。
通常、さまざまなエンコーディングで入力を提供することにより、このタイプの動作をトリガーすることができます。 たとえば、10 進数 (0-9) を使用する代わりに、16 進数、8 進数、2 進数に変換するのはどうでしょうか。 さて、どうでしょう…
これを検索すると、Google はあなたが悪い人であることを教えてくれるでしょう。 “4060000000000000..406099999999”
Search for this and Google will be happy to obliged: “0xe6c8c69c9c000..0xe6d753e6ecfff”
必要なことは、クレジットカード番号を10進数から16進数に変換することだけです。 それだけです。
その結果、…
- 潜在的な機密情報でいっぱいの巨大なCSVファイル。
- 誤った電子商取引のログファイルです。
- ハッカーサイト(Facebook も)で共有される機密情報。
本当に怖いことです。
このバグによってセキュリティ研究のインスピレーションが得られることはないとは思いますが、これがあるのです。 Google はこのブーイングを行い、私に返事を書くことさえ怠っていました。 まあ、よくあることです。 しかし、私はビッグ G のセキュリティ担当者をうらやましいとは思いません。 彼らは多くのものを見ておく必要があります。
- 比較的影響が少ない。
- 興味とやる気のある人なら、今頃わかっていることだ。
- Haselton の言葉を借りれば、もし大手企業がこれらのエクスプロイトに責任を持ち対処しないのであれば、「正しい行動は、問題に光を当て、できるだけ早く修正するよう主張すること」です。 また、Bennettが書いているように、これらの番号は、銀行に電話してカードをキャンセルするだけでよいクレジットカードよりも、はるかに変更しにくいものです。
サンプルクエリー
WARNING: 自分のクレジットカード番号を完全にグーグルで検索しないでください
Look for any CC PAN starting with 4060:4060000000000000..406099999999 ? 0xe6c8c69c9c000..0xe6d753e6ecfff
Some Hungarian phone numbers from the providor ‘Telenor’? No problem:36200000000..362099999 ? 0x86db02a00..0x86e48c07f
SSNを探します。 ありがたいことに、これらはあまり意味のある結果を返しません:100000000..9999999 ? 0x5f5e100..0x3b9ac9ff
もっとたくさんあります。もし何か非常に憂慮すべきことを見つけたり、クレジットカード ハッキングについて興味があったりしたら、コメントに残すか、メールかTwitterの @synsecblog で私に連絡を取ってください。 このような場合、警察に通報しても通常は無駄ですが、試してみる価値はあるかもしれません。 このような場合、警察に通報しても無駄なことが多いですが、試してみる価値はあるかもしれません。 実際、Haselton は上記のリンク先の 2 つの記事で、興味深い提案を多数提供しています。
しかし、あなたがすべきことは (そして私がこの記事を書いた理由も)、言葉を広めることです。 クレジットカード詐欺は大きな産業であり、単純な認識で被害者になるのを防ぐことができます。 さらに、もしあなたがeコマースサイトを持っていたり、クレジットカードの処理を扱っているなら、安全であることを確認してください。 PCI-DSSは良いガイドラインですが、完璧にはほど遠いものです。 さらに、「site:mysite.com」という高度なクエリで自分のサイトをグーグル検索し、機密性の高い数字を探すのは常に良いアイデアです。 何か見つかる可能性は非常に低いですが、もし見つかったら、すぐに対処しなければなりません。
また、ちょっとしたアドバイスです。 このような場合は、「Skype」をご利用ください。 私のアドバイスとしては、可能な限りPayPalまたは同様のサービスを利用することです。
- Visa’s credit card safety tips
- Citi’s credit card safety tips
そして一般的なアドバイス:頼んでいないものをダウンロードしない、スパムメールを開かない、銀行がパスワードを尋ねることはないことを忘れないでください
ところで、このようなアドバイスがあります。 このようなクレジットカードのハッキング技術に引っかかったり、インターネット上でクレジットカード情報を公開したりするような愚かな人はいないと思うのですが、@NeedADebitCard.comを見てください。
Stay safe people!