カテゴリー
セキュリティ

マックハック – ドイツのマクドナルドアプリが無料注文機に

東ベルリンのマクドナルドで、記者の前でWiFiから無料のハンバーガー注文をしてみせた3人組のハッカーの話です。

現地のマクドナルドのスマートフォンアプリでは、購入後にアンケートがあり、アンケートに答えると無料のドリンククーポンが貰えるそうです。

ドイツのソフトウェア開発者デビッド・アルバートさんは、この無料ドリンククーポンの使用時の通信内容が毎回同じであることに気づき、まずはドリンク飲み放題という手段を手に入れました。

さらに彼らは、アプリケーションからマクドナルドのサーバへの通信経路にプロキシーサーバーを挟み、そこで通信の書き換えを行うことで、どのメニューの注文でも好きな値段に、ゼロにでも、書き換えることを確認したそうです。

アプリから0円(0ドル)で注文し、呼ばれて受け取りカウンターに行った彼らは、記者の前で店員に自分たちが無料で注文するトリックを使ったこと、正規の値段を支払うことを申し出たそうですが、店のマネージャーはいいから取っておきな、と取り合わなかったそう。

これまでも同じように自ら申告して、店側が注文をキャンセルしたこともあるし、咎められずに受け取ったハンバーガーをホームレスにあげたりもしたそう。

彼らは無銭飲食をしたいわけではなく、この抜け穴をマクドナルドに伝えることで3人のうち2人の職探しの助けにならないかと考えていたとのこと。

そのような動機で昨年11月にマクドナルドのカスタマーサービスに問題を伝えたものの、2週間経っても穴は塞がれず。その後記者がマクドナルドに問い合わせした際には、「システムは十分にセキュアに作られていて、よほどの手練れでもなければそんな穴はつけないだろう。とはいえ、改善はしています」と回答されたということ。

12月中旬には、この食べ放題ハックは使えなくなっているのが確認されたそうです。3人にも、マクドナルドからの感謝が何らかの形で示されたらしいです。

via Schneier on Security

カテゴリー
セキュリティ

O.MGケーブル – 挿したパソコンが遠隔操作されるUSBケーブル

マイク・グローバさん(@_MG_)が開発を進めているO.MG Cableは、PCを遠隔操作するためのツールを組み込んだUSBケーブルです。

見た目は何の変哲もない普通のUSBケーブル。

PCに挿すと、リモートのスマートフォンアプリから、PCに対してキー入力ができるようになります。デモでは、PCの利用者がスクリーンロックを解除した状態で、任意のウェブサイトをブラウザに開かせていますが、キー入力が遠隔でできるということは、ほぼなんでもできてしまうと言っていいでしょう。

パソコンに外部機器やスマートフォンをつなげるUSBポートが、パソコン乗っ取りなどの攻撃のターゲットとなりやすいのは昔から知られています。

駐車場にUSBメモリをばらまいたら45%の人が自分のPCに挿してファイルを開いてしまった」というような実験もありますし、挿したらPCを破壊できるUSBメモリなんてものも作れたりします。

企業の情報システム部でもUSBポートに指定の機器以外を挿さないよう指導したり、ポート自体を物理的に塞いで使えなくしたりという対策を取っているところもあります。

そんなわけで、出自のはっきりしないUSBデバイスを挿すのはよろしくない、という認識の人は多少は増えていると思われるのですが、今回の O.MG ケーブルの場合、ケーブルの先に挿すのはおそらく自分のスマートフォンなどで、挿す理由も充電のためだったりするかもしれません。

しかし、ケーブル自体に信号を横取りし書き換える機能が入っているのであれば、乗っ取り側からすればそれで十分、というわけです。USBケーブルがどこから来たものか、企業支給のものだったり自分が新品未開封の商品を買って開封した手つかずのものか、というところまで確認しないと危ないかもしれない、となると、管理はさらに大変になりますね。

回路設計からはんだ付けまで勉強しながらo.mg ケーブルを改善しているグローバさんには、ハードウェア・ソフトウェア・開発機材などさまざまな面から協力者の手が挙がっていて、量産化へ向けて前進しているということです。設計や内部のソフトウェアはオープンソースとして公開されるそう。

via New Offensive USB Cable Allows Remote Attacks over WiFi

カテゴリー
技術

css-only-chat CSSだけで動くブラウザチャット

ケビン・クッチャさん(Kevin Kuchta)のkkuchta/css-only-chat は、JavaScript を使わない非同期ウェブチャットサーバーです。

二つ(以上)のブラウザからこのサーバに接続し、アルファベットをクリックしてメッセージを作り送信すると、同じサーバに接続した他のブラウザでも即時表示される、いわゆるブラウザチャットです。しかし面白いのは、このページで JavaScript は使われていないというところ。

送信側

CSS の :active 疑似クラスを使うことで、ある領域をクリックした際に、はじめて画像ファイルを読み込ませることができます。つまり、ボタンが押されたタイミングを画像ファイルの読み込みでサーバ側から検知できるということ。

「同じボタンが2度目押された時は(画像はもうブラウザ側にロード済なので)サーバはわからないのでは?」となりますが、たとえば “a””a” と押した時は、接続しっぱなしの状態で、元のボタンを隠し、新たに「”a”を押した」という情報を持った別の画像ファイル名を持つボタンを表示しているようです。これをすべてのボタンに対して行うことで、ボタンが持つ画像ファイルのパスが、過去のすべてのタイプ内容を保持することになります。

受信側

表示はどうやって更新してるのか、も解説されています。接続しっぱなしの状態で、これまで送った html が不要になったら、style タグを送って過去の要素を display:none で隠し、新たにページ内容を追記します。

これを、自身か他のブラウザから新たなデータが届くまで待機しながら繰り返しているということ。じゃあソースコードはとても長くなるのでは、と思って Chrome でソースを表示しようとしましたが、何も表示されません。Firefox では何千桁もある一行のソースコードを確認できました。

今のところデモサイトは用意されていないので、試すには自分で動かす必要があります。

via Hacker News