デトロイトの男、Bluetoothで給油ポンプをハッキングし800ガロンを盗む
(fox2detroit.com)- デトロイトのShellガソリンスタンドで、携帯電話のBluetooth接続を使って給油ポンプを操作し、ほぼ800ガロンのガソリンが流出する事件が発生
- 犯人はポンプシステムを迂回してポンプを「開いた」状態にし、複数の車両が無料で給油できるようにした
- 被害額は約3,000ドル近くに上り、従業員がPump Threeの停止を押しても止まらず、全ポンプの緊急停止が必要だった
- このガソリンスタンドはDetroit警察が巡回するProject Green Light参加拠点で、防犯映像が確保されており、捜査員が容疑者を追っている
- RiverviewのSpeedwayガソリンスタンドでも同様の手口が発生し、従業員への妨害とポンプハッキングを組み合わせた給油盗難が再び確認された
Bluetoothで給油ポンプを操作した窃盗
- デトロイトのEight Mile and WyomingにあるShellガソリンスタンドで、ある男が携帯電話のBluetooth機能を使って給油ポンプをハッキングした
- ガソリンスタンドのオーナーMoは、犯人がポンプを自動的に開放し、車両が給油を続けられるようにしたと明かした
- FOX 2との会話でMoは、被害量は約800ガロン、金額では3,000ドル近くに達すると答えた
ポンプ制御が効かなかった状況
- 従業員が店内からPump Three stopを押したが、ポンプは止まらなかった
- Moはポンプを止めるために全ポンプの電源を落とさなければならず、その過程でemergency stopsを使う必要があった
- 犯人は携帯電話を遠隔装置のように使い、システムを迂回したとみられる
防犯映像と捜査状況
- このShellガソリンスタンドはDetroit警察が巡回するProject Green Lightガソリンスタンドである
- このプログラムのおかげで防犯映像が確保され、捜査員は容疑者を捜している
- 容疑者の逮捕有無や身元は公開されていない
他のガソリンスタンドでも再び現れた手口
- RiverviewのSpeedwayガソリンスタンドでも同月に類似事件があった
- 1人は店内でCash Appの問題を口実に従業員の注意をそらした
- もう1人はポンプをハッキングした
- この事件の被害は54ドル分のガソリンだった
ガソリンスタンドの対応
- Moは、従業員がポンプ周辺の状況をより注意深く見るようにしていると話した
- 特定のポンプに車が多く集まったり、誰かが長時間うろついていたりする状況が見られれば、警察に確認を求める
- Moは「私たちにできることには限界がある」と語った
1件のコメント
Hacker News のコメント
実際に Bluetooth なのか、それとも給油機のキーやリモコンを入手したのか気になる
給油機は前庭のコントローラーや店内の従業員端末と常にリアルタイムで通信しているけれど、この「ハッキング」の最中、店内の画面には何が表示されていたのだろう? 攻撃者が RS485 回線を切り離して、店内からは即座にポンプがオフラインに見えるようにし、ポンプを手動吐出モードに強制したのだろうか? 今市場に Bluetooth 搭載のポンプがあるとはまったく知らないが、昔の Wayne のポンプに赤外線リモコンがあったのは覚えている
何が起きていたにせよ、従業員の操作を妨げていたか、従業員端末を悪い状態のままにして、いわばポンプの作動スイッチが「オン」の状態で残っていたように思える。実際には NFC かもしれないとも思うし、Flipper Zero で何が拾えるのか気になる
量が多くても目立たないことはあるし、従業員が怪しいと思っても介入を許されていない場合もある。誤って長年の客を失ったり、従業員がヒーロー気取りで撃たれたりするリスクより、多少金を失うほうがましという方針はかなり理にかなっている
店員は見ていなかったのだろうが、レジからポンプを見れば間違いなくカウントは上がっていたはずだ。今でもすべて シリアル通信 ベースなので、従業員が訓練されていなかったり気づかなかったりすれば、ただ誰かが給油していると思うかもしれない。給油機のレポートと売上レポートが合わなければ、日次レポートで明らかになるはずだ
この20年間、どのエンジニアもこうした機器に 赤外線 を入れたりはしなかっただろうと思う。同時に「誰がこんな機械の組み込みコントローラーに Bluetooth を入れるんだ?」とも思う
元記事があまりにひどくて呆れる。人々が実際にこういう「ニュース」を読むのに時間を使っているのかと思うし、読んだら一時的に IQ が下がった気がした
Bluetooth が使われたという根拠もなく、犯人がデトロイト出身だという根拠もない。デトロイト警察の引用も含めて、自分が見つけた最も詳しい内容はここ: https://www.detroitnews.com/story/news/local/detroit-city/20...
行間を読むと、1人がハッキングし、その後複数の人が知ってか知らずか無料で給油したように聞こえる。特定の個人が 燃料800ガロン を盗んだという明示的な主張はどこにもない。もちろん、それでもウェブ上の何十ものニュースサイトが不正確な「情報」を広めるのを止めることにはならない
記事は少し詳細が足りないように見える。正確にどうなっているのか説明してくれるとは期待していないが、これはポンプ設計上のバグなのか機能なのか?
ポンプの前に車を停めて Bluetooth で通信できるなら、これは 設計上の欠陥 で、メーカーが責任を負うべきだと思う。セキュリティ上かなり深刻な穴に見える
私の携帯電話の Bluetooth にはそんなオプションはない
私が 3DES ピンパッドを交換していたのも10年足らず前のことだ。非常に古いポンプなら、前面パネルを開けて小さなドライバー1本で計量器が回らないようにできた
そもそも給油機は Bluetooth を何に使っているのだろう?
組み込み PC のデフォルト機能のようなものを無効化していないケースかもしれないと思う。だから Bluetooth キーボードやマウスを「接続」してシステムを乗っ取れる、というようなものかもしれない
こうしたセンサーはコントローラーとインターフェースがあるので、流量値を大幅に低く、または0に変えつつ、給油は出続けるようにする中間者デバイスを追加できるかもしれない。そのデバイスに Bluetooth を付ければ任意にオン・オフできるので、法律を守る客が「必要な量より少なく出る」と苦情を言わないようにできる。ポンプは頻繁に検査されないので、複製した封印ステッカーがそれらしく見え、州の検査時には正常量が出て、オーナーに気づかれるほど欲張らなければ長く詐欺を続けられる。800ガロンはかなりの量で、少なくとも車50台は満タンにできる。この人物が1年かけてゆっくり800ガロンを盗んだのなら、おそらく誰も気づかなかったかもしれない
技術者が携帯電話から Bluetooth 経由で家電や機械などに接続できるようにする方式はますます一般的になっていて、こうした機能のセキュリティはサポート問い合わせを減らすためにできるだけ単純に設計されている。アクセス権はメンテナンス会社の ID を入力する程度でも得られるかもしれない。重機の運転手が、共有しやすく他人が使うとは思っていないため、車両にキーを挿しっぱなしにしておくのに似ている
一方で、ナンバープレートはカメラに撮られている。これは「店内で支払う」を押して、そのまま逃げるのと同じ
修正:給油後払いは、自分が思っていた以上に地域差が大きいようだ。2023年でも米国の一部地域ではまだ可能
ただ車を停めて、ポンプを開け、給油し、また閉めて、立ち去ればいい。ポンプに Bluetooth の保守用関数呼び出しのタイムスタンプ付きログがなくても驚かない。仮にあったとしても、地下タンクの在庫が減っていることに気づくまで、この詐欺をどれくらい続けられるだろうか? CCTV 映像はどれくらい保存されるのだろう?
これは衝動的にガソリンを入れて逃げる行為ではなく、極めて計画的な攻撃だ
運転してきた大人時代を通じて、ほぼすべての給油機にカードリーダーが付いていたので、親のガソリン代を払うために店内へ入っていた子どもの頃のおぼろげな記憶に頼っている
うちの州では、もうナンバープレートにエンボス加工すらしない。そういうものを1つ取り付けて、本物の番号をそのまま表示したら、誰が気づくだろう? 私はとても退屈な人間なので、自分の車に James Bond 装置をなぜ付けるのかは分からないが
給油後払いは本当に長いこと見ていない。自分が育った地域の寂れた小さなガソリンスタンドでさえ、とっくに全部アップグレードされたと思っていた。EPA は長年地中に埋まったタンクをあまり好まず、それが最大の費用なので、電子機器もポンプ決済式へ一緒にアップグレードされがちだ。現金客に前払いを強制しない理由はよく分からない
ポンプがだまされて無料でガソリンを出しているなら、ガソリンスタンドの店員が何かおかしいと気づくまでどれくらいかかるだろう?
タイトルは「Detroit の男性」としているが、記事本文には泥棒が男性なのか、Detroit 出身なのかを示す根拠がまったくない
なぜか Detroit から25マイル以内にいると、実際には年に一度も市内へ行かない人でも「Detroit に住んでいる」と呼ばれる。メディアはたいてい、Detroit 市[0]に実際には住んでいない人を指すときは「Metro Detroit」と言うが、ガソリンスタンドの場所を見ると、おそらく実際に市内に住んでいる人である可能性がある
[0] その場合、3つの郡のうち1つに住んでいる人かもしれない
だから、何にでも IoT を付けるのは悪い考えだ。こういう製品を作る会社のほとんどはセキュリティを気にしていない
保守・制御インターフェースに Bluetooth インターフェースを開けていたケースである可能性のほうが高い。通常の保守作業に使う機能だが、適切に保護されていなかったのかもしれない
1つ目の問題は、デバイスに無線/IoT 機能を追加する会社は、小切手を書くこと以外、実装やセキュリティとほとんど関係がないという点だ。以前、大手ブランド[0]の IoT デバイスを作る会社で働いていた。彼らは歯ブラシ、電球、掃除機はうまく作るが、「IoT 製品全体を作ってくれる」誰かを呼ぶか、IoT 部分とそのセキュリティを我々のようなところに任せて協業する
もちろん、我々も製品そのものの製作にはあまり関与していなかった。我々はよくホワイトラベルの中国製品を使っており、常にではないが、メーカーが明示的に選ぶ場合も多かった。大手ブランドは長期保守とコスト削減のため、特定の中国サプライヤーにこだわることも多い[1]
我々が受け取るのは、ESP8266/ESP32 が IoT 化する物に取り付けられた開発ボードとデバイス、そして原産国、ほぼ常に中国にホストされたクラウドサービスだ。開発者はモバイルアプリと、そのクラウドWebサービスとやり取りするファームウェアを書くが、我々はそのサービスを制御することも、迂回することも、追加のセキュリティ層を提案することもできない。こうして他人の問題領域ができあがる[2]
セキュリティを気にしている会社でも、何らかの略語で表される業界標準を気にする程度だ。基本的には要件を満たしているとして、いくつかのフォームに正直に記入するが、その略語を定めた組織が尋ねる範囲外の責任から関係者を守る役割しか果たさない。その質問のかなりの部分はクラウドサービスを運営する第三者に回され、彼らは当然、支払いを受けるためにどの欄にチェックを入れればよいか分かっている
[0] 前職のことは気に入っているのでブランド名は伏せるが、関連製品の1つは両親がクリスマスプレゼントとして受け取るほど人気があった。自分が書いたコードの一部が両親の携帯電話で動いていると説明するのは、かなり面白かった
[1] パターンとしては、「初期のユーザーフレンドリーで polished なアプリ版は我々に任せ」、その後のハードウェア版間の保守とアップデートはその OEM に渡す、という形だった。初版は可能な限りセキュリティ処理されるが、最終的にはそうではなくなる。OEM に初期版を使わせるわけではないが、いったん発売された後に機能を付け足すのは費用が10分の1で済み、初期製品ができた後に彼らが払おうとする金額もおおよそその程度だ
[2] Someone Else's Problem、Douglas Adams の The Hitchhiker's Guide to the Galaxy に出てくる表現
「どんな種類の装置が使われたかは分からないが、電子装置だったことは分かっている」という Detroit 警察の広報担当者の発言だけだ
Fox 2 ニュースから取ったもの以外に、別の記事はある?
ここ数年、Orlando、Texas などで安価な自作装置が使われたという報道がいくつかあった
https://www.clickorlando.com/news/local/2022/05/24/gas-pump-...
私の仮説は、給油機の製造に Bluetooth 機能付きの部品が使われたものの、ポンプやガソリンスタンドでは使わないのに、スピードとコストのためにそのまま残された、というものです
Bluetooth、Wi-Fi、その他の無線機能が有効なまま忘れられているシングルボードコンピュータは多いです。たとえば内蔵カメラのないノート PC を探そうとすると、カメラ付きモデルよりずっと高くなります。給油機の製造でも似たようなことが起きているのではないかと推測しています
ファームウェアスタックも同じような「怠慢」に従うはずです。「[チップ/無線/何でも] を動かすライブラリはすでにあるのに、今動いているものをなぜ Bluetooth なしで再コンパイルするのか」といった具合に
その無線デバイスが、何らかの形でスタックを通って、ポンプを制御するアプリケーションの業務ロジックまでつながるソフトウェア経路を持っている必要があります。Bluetooth ドライバから root シェルが開くような基本的な脆弱性でない限り、どこかにこの機能に関与するソフトウェアが存在していなければなりません
「なぜ Bluetooth なしで再コンパイルするのか」というのも変です。単にオフにすればいいのに、なぜ何かを再コンパイルする必要があるのでしょうか?