TheShadowBrokersの "Data Dump of the Month" サービス

少し前になるが、TheShadowBrokers (以降 TSB) が 6月から月額のサブスクリプションサービス "TheShadowBrokers Data Dump of the Month" を始めるとのアナウンスをだした。TSBはご存知の通り Equation Group (NSA TAO) の内部データのリークを行っている正体不明のグループ (?) で、WannaCryが利用した EternalBlueも TSBのリークした Exploitが元になっている*1

毎月決まった金額を支払った会員は、会員限定で TSBから新たなダンプを入手できるというサービスらしい。そもそも TSBは 2016年8月に最初のダンプを公開したが、半分はフリーで残り半分はオークション形式とし、もっとも高値で買い取ってくれる人に提供するとしていた。ところがほぼ誰にも相手にされなかったため、結局 2017年4月にファイルを公開したという経緯がある。今さら金銭が目的とも思えず、どこまで本気なのか、疑問に感じていた。

しかしながらその後、具体的な月額の料金や送金方法なども公開された。

当初は Zcash (ZEC) のみだったが、その後 Monero (XMR) でも受け付けることにしたようだ。どちらも匿名性の高い暗号通貨(仮想通貨)として注目されている。Zcashがスタートしたのは 2016年10月からなのでまだ歴史は浅いが (元になった Zerocoinの論文は 2013年)、Moneroは 2014年4月からで、今年7月に FBIに摘発された Dark Web上の闇市場 AlphaBayでも使われていたし、WannaCryが利用していたアドレスから引き出された Bitcoinはその後 Moneroに交換されたことなども最近話題となったところだ。

またこのアナウンスを受けて、クラウドファンディングで資金を集めてサービスに申し込もうというセキュリティ研究者らがあらわれた。ダンプはいずれ公開されるかもしれないが、前もって入手してソフトウェアベンダーに脆弱性を通知することを考えていたようだ。残念ながら途中でキャンセルされてしまったが、こういうことを思いついてすぐに行動に移せるところはすごい。


さてサービス申し込みの具体的な手順だが、以下のようになっていた。

  1. 6/1〜6/30の間に指定の Zcashアドレスに 100 ZECを振り込む。この時 Zcashの "encrypted memo field" に連絡用のメールアドレスを記載する。(このフィールドは暗号化されるため第三者には公開されない)
  2. TSBは振込を確認したら上記のメールアドレスに確認メールを送る
  3. 7/1〜7/17の間に振込をした会員に一斉にダンプを送付する

これが Moneroの場合には少し違って、指定したアドレスに 500 XMRを振り込む時に、Payment IDの中にメールアドレスを hexエンコードして送るようにと指示されていた。仮想通貨は今年に入って値動きが激しいが、この時点では 1 ZEC = 200 USD, 1 XMR = 40 USD くらいだったので、いずれの場合も料金はおよそ 2万ドルに設定されていたことになる。

さてこの Zcashと Moneroの違いが実は重要だった。Moneroのアドレスはブロックチェーンでは見えないので、Bitcoinのように受け取るアドレスを毎回変えるようなことは推奨されておらず、誰からの送金かを識別するために Payment IDというものが用意されている。この Payment IDには 2種類あり、古いタイプの 32バイトの Payment IDはトランザクションにそのまま平文で記録されるため、誰でも見ることができる。新しいタイプの 8バイトの Payment IDは暗号化されるのだが、メールアドレスを埋め込むにはちと短い。
Zcashも Moneroも送信者と受信者のアドレスは秘匿されるので、Bitcoinとは違ってブロックチェーンを調べても TSBのアドレスあてのトランザクションを知ることはできない。しかし Moneroのブロックチェーンに記録されているトランザクションの Payment IDを調べれば、TSBへの支払いにメールアドレスを記載したものが見つかるかもしれない。

このことに気付いた研究者が調べた結果を記事にまとめていた。

これによると、6月分として 3件、7月分として 2件、該当するものがあった。7月は料金が2倍に値上がりしたので (200 ZEC or 1000 XMR)、合計すると少なくとも 3500 XMRの支払いがあったことになる。この記事を書いている8月末時点で 1 XMRは 100 USDを越えているが、40 USDで換算したとしても結構な金額だ。ただしメールアドレスが Payment IDになっているトランザクションはすべて TSBあてであり、指定された金額が送金された、という仮定があることに注意。5月まではこういうトランザクションはないようなので、この仮定は妥当なものだと思うが念の為。また Zcashによる支払いについては調べる術がない。


これらの記事の内容は非常に興味深く(たとえば 5件のうち 4件のメールアドレスに暗号化メールサービスの ProtonMailと Tutanotaが使われているなど)、著者は 6,7月分のトランザクションの Payment IDをテキストで公開してくれているので、中身を確認することもできる。でもそれだけではおもしろくないので (あと疑い深いので)、実際に自分でも確かめてみることにした。幸い Moneroはその前から使っていたのでブロックチェーンは手元にある。Bitcoinほど大きくなくて 25GB程なので、自分で調査する場合には手元で同期することをオススメする (Bitcoinブロックチェーンは 130GB程度で同期にも時間がかかる)。

調査方法は単純で、 以下のとおり (スクリプトAPIをたたいてごりごりやった)

  1. 各月のブロック高からブロックに含まれているトランザクションを検索
  2. 得られたトランザクションから中に含まれている Payment IDを検索
  3. Payment IDにメールアドレスが含まれているものを検索

せっかくなので 6,7月分の確認とあわせて 8月分についても調査してみた。それぞれ対象としたブロックは以下のとおり (括弧内はブロック数)

  • 6月分 1322564 〜 1344224 (21,661)
  • 7月分 1344225 〜 1366663 (22,439)
  • 8月分 1366664 〜 1389112 (22,449)

結果、6月と7月分については、上記の記事と同じ結果がえられた。以下、メールアドレスが含まれていたトランザクションを挙げておく。これにはテスト用と思われるものも含んでいる。

6月
dbfb8734a80c6168ff908d492be209f3d49d7995655e856bc0f2626baa8e2160
64310f014a1b6acedd9f89999f169735c8e13b9925acecf5d52f6fb5e08432ce
64560b4c3e19d170c0de372b2caf08f1cd1acfb3ddd9f20b2a2c4e347de11a38
b1e4c8dc1a6d8c78cbe8a8853a73f145e96f49dc45a7ee5b1c4ce33120ea8acd
0adbb637d7d8f232671ba063c2d082bf19dfe1c305884f2c816348ee304b4d3b
782dc6139511ac4f5515a91452b1c5f019594b63a8cc8e015b8cd4b411af0d36

7月
b272b1f2c4d9dd98b3f80630e7dcda7f37b9db7c50d9fb9d1328eebcaaf1060f
26a8ec97cf37174719f68b6aa52f1e086b74d58a363534b0c70d30a4b8b912f8
c84da5be034b059c8c7b4e9c9da935a267aa99c1399e46742f74ac7f0dfbba14
0cc3723e86a58ad272cce3a230c7adf6edaa34879618c0706d92253c65949e79
76f190732a746cb94960505aaf232f776f034817de338b69198371afed138c0d

そして 8月分については、メールアドレスが含まれるものは 1件もなかった。これは 8月から支払い方法が変わったことが影響しているのかもしれない。8月からは振り込み先のアドレスが公開されず、まずはメールで問い合わせるようになった。おそらく、新しい 8バイトの Payment ID を用いた Integrated Address を顧客毎にそれぞれ提示していると思われる*2。こうすれば Payment IDに平文でメールアドレスを含める必要がなくなるからだ。

なお 8月分からは金額がさらに値上がりした (500 ZEC or 2000 XMR)。さらに Zcashも Moneroも市場での取引価格が上がっており、そもそもこの金額でも購入する顧客がいるのかは不明である。

サービス利用者の声

さて 7月にもう一つ興味深い投稿があった。

この記事では 500 XMR支払って 6月のサービスに申し込んだが、TSBからは古くて使えないツールが1つ送られてきただけだと不満を述べている。当初この投稿内容の真偽は定かではなかったが、その後この著者は証拠となる追加情報を投稿した。

この記事には、TSBから受信したらしいメールの画面がアップされており、送信元の Tutanotaのアドレスは TSBが 2016年8月に最初にダンプを公開したときに使用していたメールアドレスと一致している。しかし画像なので改ざん可能ともいえる。一方、メールの画面と一緒に TX KEYも公開しており、こちらのほうがより重要だ。Moneroではトランザクションの送信時に毎回秘密鍵と公開鍵のペアが生成され、公開鍵はトランザクションと一緒に送信されるが、秘密鍵は送信者だけが保持する。これが TX KEYと呼ばれるもので、送信者はこの秘密鍵を第三者に伝えることで、自分が確かにトランザクションを送信したということを検証してもらうことができる仕組みになっている。

Payment IDを調査した研究者はこの件についても記事を書いており、500 XMRが TSBに送信されたトランザクションを検証できたことを報告している。(実はこの最初の記事で TX KEYがあれば検証できることを伝え、記事をみたサービス利用者が追加情報を投稿したという経緯)

トランザクションの検証には TXID, TX KEYと送信先アドレスの 3つの情報が必要となる。今回のケースでは以下のトランザクションが該当するもので、TX KEYとアドレスを入力すれば誰でもこのトランザクションを検証することができ、500 XMRの支払いが行われていることを確認できる。

また手元に Monero Walletがありブロックチェーンが同期していれば、以下のように Walletから確認することもできる。(check_tx_key TXID TXKEY ADDRESS)

[wallet]: check_tx_key 782dc6139511ac4f5515a91452b1c5f019594b63a8cc8e015b8cd4b411af0d36 a944723f77415dd06c5d34260363935e24ac6d5ac7fe711366f64768fa055803 41jwGGMNRBKNurVnuo7ZW4HqrgPnfiJbfHUi3k46b5nFhvbpwcK6KdTSjvTRdbzdEzZbQ1t5GWhsW7scxcNv2adUJSbtExP
41jwGGMNRBKNurVnuo7ZW4HqrgPnfiJbfHUi3k46b5nFhvbpwcK6KdTSjvTRdbzdEzZbQ1t5GWhsW7scxcNv2adUJSbtExP received 500.000000000000 in txid <782dc6139511ac4f5515a91452b1c5f019594b63a8cc8e015b8cd4b411af0d36>
This transaction has 45427 confirmations


TSBにしてみれば、あまり嬉しくないサービス利用者の声ということになったわけだが、このレビューが 7月以降のサービス申し込みに影響があったのかどうかは定かではない。

以上、長くなったが、今後も Bitcoinだけでなく Zcashや Moneroのような匿名性の高い暗号通貨の利用はますます増加するのではないだろうか。使ってみないとわからないこともあるので、引き続き興味を持って調べていこうかなと思っている*3

(9/2 追記)
8月の最後の数日分のトランザクションも念の為確認したがメールアドレスは含まれていなかったので、本文を更新した。

*1:TSBの活動の経緯については Matt Suicheによる BlackHat 2017での発表が詳しい。

*2:このことを確かめるために TSBにメールで問い合わせてみたが、残念ながらお返事はもらえなかった。

*3:そして時々痛い目に遭うこともある。;)

ポッドキャスト「セキュリティのアレ」

しばらく更新してなかったと思ったらもう1年も経ってた、こわい。その間に、約1年半程 @ ITで続けてきた動画による連載「セキュリティのアレ」が惜しまれつつも(?)終了しました。ありがとうございました。
かわりに 4月からは辻さんとポッドキャストをはじめました。

これはもともと 2011年から2015年まで辻さんと宮田さんが続けてこられたポッドキャストで、動画連載の間はお休みしてましたが、見事に復活!今のところ月に1〜2回のペースでゆるーく更新していて、ゲストが参加している回もあります。お暇なときにでもちらっと聴いてみてください。


さてこれだけではアレなので、最近始まった海外のセキュリティポッドキャストを少しだけ紹介します。私もたまに聴いてます。
(古いものは以前の記事をどうぞ。今でも続いているものが結構ありますね。)

定期的に高頻度で更新しているもの、気が向いたときに(?)不定期更新のもの、ホスト同士の軽快なトークあり、静かに語りかけるものあり、取り上げているテーマもさまざま。ぜひお気に入りのポッドキャストを見つけてみてください。あと以前の記事でも紹介しましたが、私のオススメする老舗ポッドキャスト Top 3も挙げておきますね。いずれも10年近く高頻度で更新を続けている驚異のポッドキャストです。

ここ最近の #セキュリティのアレ

えー前回の記事からずいぶん間があいてしまいました。7、8月は収録のスケジュールがあわなかったり、公開収録をやってみたり、全文文字起こしに挑戦するなどもあって*1、連載のスケジュールがやや不規則になってしまいました。まだまだ試行錯誤を繰り返している状態なので、今後もいろいろ変わると思います。しばらく温かい目で見ていただけると嬉しいです。

というわけで、この間の動画を参考リンクとあわせてまとめて紹介します。第28回、29回は試験的に全文文字起こしつきです。


www.atmarkit.co.jp
www.youtube.com
6月の時事ネタとして、旅行会社への不正アクセス事件を取り上げました。事件の概要については、以下の ITproの記事が詳しいです。


www.atmarkit.co.jp
www.youtube.com
専門用語解説シリーズとして、Command & Control (C&C または C2) サーバーについて解説しました。
RATのC2通信に関しては、たとえば以下のトレンドマイクロのレポートなどが参考になります。


www.atmarkit.co.jp
www.youtube.com
いままで取り上げていなかったのが不思議なくらいポピュラーな攻撃の一つ、Webサイト改ざんのさまざまなパターンについて解説しました。


www.atmarkit.co.jp
www.youtube.com
もはやパスワードの一つや二つは誰もが漏洩していて当たり前になってきました。この動画収録のあとにも、Dropboxなどからの大量漏洩が明らかとなっています。
以下のサイトでは自分のアカウント情報が漏洩しているかどうか確認することができます。


www.atmarkit.co.jp
www.youtube.com
7、8月の時事ネタとして、Pokémon GOとリオ五輪の話題を取り上げました。


また来週もお楽しみに!

*1:実際に文字起こしをやってくれたのは、アイティメディアの編集の方で、私ではありません。;)

#セキュリティのアレ (27) Torを使ってみよう

少し間があいてしまいました。先週末は Hardening 100 Value x Value というイベントで沖縄に行ってまして、まあ端的に言うと、忙しくてブログのことすっかり忘れてました。あれ、同じことをその前も書いた気が…

さて先週は「Tor」について解説してみました。

www.atmarkit.co.jp

www.youtube.com

Torに関しては、やはり本家の Tor Projectのドキュメントを見ていただくのが一番いいと思います。いくつか参考リンクを紹介します。


あと匿名で安全に自社のサイトにアクセスしてもらおうという目的で、Tor Hidden Serviceを運営しているサービスもあります。代表的なところでは、ニュースサイトの ProPublicaSNSサービスの Facebookなどがあります(まあ Facebookは匿名じゃありませんが)。Facebookでは毎月100万人を越えるユーザが Tor経由で利用しているそうです。

以下のサイトは Tor Browserからしかアクセスできません。


ところで、お気づきの方もいると思いますが、今週は動画連載をお休みしています。実はアイティメディアさんのオフィス移転などがあるため、収録を 1回お休みしました (連載 4回分)。そして丁度よい機会なので、以前からアイデアとして挙がっていた公開収録に次回チャレンジしてみることにしました。大変ありがたいことにすでにお申し込みをいただいていますが、まだ若干空きがあるようです。お時間のある方はぜひ遊びにきてください。7月6日の16時〜と17時半〜です。最初からでもかまいませんし、後半からお越しいただいても大丈夫です。

atnd.org


というわけなので、動画連載は 7月からまた再開の予定です。お楽しみに!

#セキュリティのアレ (26) 脆弱性情報の見方

Hardeningの準備にかまけて、ブログのことすっかり忘れてましたw
先週は GW前に公開された Apache Struts2脆弱性を題材に、脆弱性情報への対処の仕方について話してみました。地味だけど結構大事!

www.atmarkit.co.jp

www.youtube.com


参考リンクを紹介します。


みなさんからの質問やコメントなどハッシュタグ #セキュリティのアレでお待ちしてます!

#セキュリティのアレ (25) Google Hackingとは?

今週はちょっとマニアックな用語解説シリーズで "Google Hacking" をテーマに取り上げてみました。

www.atmarkit.co.jp

www.youtube.com


例によって参考リンクをいくつか挙げておきます。

来週もお楽しみに!

#セキュリティのアレ (24) 4月の時事ネタ振り返り

GWの休み明け最初の今回は4月の時事ネタについてです。

www.atmarkit.co.jp

www.youtube.com


2つの話題について取り上げてみました。

ランサムウェア

この動画でもたびたび話題にしていますが、相変わらずランサムウェアは要注意ですね。実際に感染した被害者の方に辻さんがインタビューした記事はもうまもなく @ITで公開されるようです。楽しみですね〜。


来週もぜひご覧ください!