スタバがセキュリティのバグを見つけてくれた人を非難

スターバックスのプリペイドカード「スターバックスカード」は、スターバックスによく行くなら持っていると便利です。クレジットカードでチャージできるし(できない店舗もありましたが)、スターバックスの公式サイトから「My Starbucks」に会員登録しておくと、web上で残高照会やオンライン入金もできます。

私はスターバックスカードを1枚しか持っていないので知らなかったことですが、実は複数のカード間でチャージ金額の移動もできるそうです。家族でカードを持っているような場合は、例えばお父さんのカードにチャージした分を子供のカードに移動できて便利ということなのでしょうか?独り身なのでわかりませんが・・・。

ところで、このカード間の金額移動を利用すると、チャージ金額を無限増殖できるというバグが見つかりました。webの送金システム上の問題ということで、意図的にある状態を作り出してからカード間で金額を移動させると、元のカードに金額が残ったまま、移動先のカードのチャージ額も増えるのだとか。

このバグを発見したのは、アメリカのセキュリティコンサルタントです。

彼は、別々のブラウザで同一のカードにアクセスした状態で、片方のブラウザから別のカードへ金額を移しました。この時点で、ブラウザ上では金額を移していないカードと移したカードが見た目上同時に存在することになります。つまり、同じカードの処理に別々の状態が競合しているということです。

すると、システムは金額を移していない方のカードの状態を維持してしまい、かつ金額を移した処理も行われ、つまり合計した金額が増えるということになるわけです。

わかりやすく言うと、1,000円チャージ額があるカード1から、カード2に1,000円移したときに、カード2に1000円分増えているのに、カード1の1,000円もそのままになるということで、理論上無限にチャージ金額を増やし続けることができます。

このバグはweb上のシステムだけではなく、実店舗の処理システムともリンクしており、実店舗でもチャージ金額を増やす方法も成功したようです。

発見者のセキュリティコンサルタントが、この事実をスターバックスに伝えた所、当初は報奨金がもらえるはずだったところを、逆に担当者から非難を受ける結果になってしまいました。

なぜならば、web上で金額を増やしただけではなく、実店舗で商品を購入しながらチャージ金額を増やしたからで、要するに差し引きで見ると支払うべき金額を支払わなかった詐欺行為のようなものだからです。

とはいえ、スターバックスの対応はやはりまずかったと言わざるをえません。

もし彼が悪意をもってこの方法を試みたならば、報告せずにこっそり利用し続ければよかったわけで、重大な損害を与えかねないバグをわざわざ教えてくれたのは、彼があくまで私欲ではなくセキュリティの専門家として穴を見つけたからでしょう。

彼が実店舗での検証で増やした金額はわずか数百円に過ぎません。

わずか数百円の目先の利益のために、善意の協力者を非難するなどということが行われ、それが広く知られることになれば、今後別の重大なバグを発見した人がいても、それをわざわざ報告しようという気持ちにはならないはずです。

だからスターバックスは、今回の件について厚く礼を持って遇するべきでした。

ちなみに、この方法は既に対策がほどこされて今では使うことができないので、試してみても無駄です。

関連記事

ページ上部へ戻る