時系列でまとめているのはこちら mozy-ok.hatenablog.com
目次
2018/09/02 23:11 次からはここに更新した内容と時間を追記していくことにする
2018/09/03 00:22 guriが追跡ツールを完成させたので追記
2018/09/03 03:40 追跡ツールがアドレスをたどって収集するように改良された
経緯
Twitterを眺めていたところ、Monacoinの盗難事件を発見した。
いつもMonappyをご利用いただきありがとうございます。
この度、弊サイトに対して外部からの攻撃が発生し、調査の結果ホットウォレット内のMonacoinが盗難されていることが判明いたしました。 そのため、現在サービスを停止して調査を行っております。 詳細な攻撃の内容に関しては現在調査を進めております。 ユーザーの皆様をはじめご関係者の皆様に、多大なるご迷惑をおかけしていますことを深くお詫び申し上げます。
詳細は、公式サイト参照のこと https://monappy.jp/index.html
調査中
サイトの公式声明
2018年9月1日、外部からblock withholding attackについてご報告を受け調査したところ、サーバ上にあるホットウォレットよりMonacoinが盗難されていることが判明いたしました。 全残高の50%以上を保管しているコールドウォレット内のMonacoinについては影響はありませんでした。 従来より対策として必要な承認数を引き上げるなどの処置をしておりましたが、外部からの攻撃により盗難されたものと考えられます。 この件を受けてすぐにサーバを切断し確認作業を行っておりましたが、調査の結果ほぼすべてのサーバ上にあるMonacoinが盗難されていることを確認しました。 現在も攻撃の内容について調査を行っております。 なお、この件につきましてメールアドレスやパスワードなどユーザー情報などの流出は確認されておりません。
時系列で関連しそうな物を並べていく(明記しない限りはJST)
事件以前?
2018/08/31 23:35
関連不明だが
事件発生後
2018/09/01 22:50 頃
一報が出た? (確認中)
2018/09/01 22:57:44.24
789承認済み名無しさん2018/09/01(土) 22:57:44.24ID:c6k8eLp6 モナ死亡w
http://fate.5ch.net/test/read.cgi/cryptocoin/1534497443
2018/09/01 23:16
2018/09/02 00:07
岡三マンが反応
2018/09/02 1:08
曰く、relog ではない模様。
2018/09/02 03:03
公式に、今回の攻撃についてはblock withholding attackなどとは関係しないだろうとの声明がでた
[https://twitter.com/monappy/status/1035951273143455744:embed]
上記声明より引用
2018年9月2日午前1時、検証の結果攻撃に至った原因が高負荷時におけるギフトコード機能の不備であることを確認いたしました。
2018年8月27日から2018年9月1日にかけて、攻撃者と見られる複数のユーザーがギフトコードを大量に発行しました。 同8月29日から9月1日にかけて外部受け取り機能を利用してギフトコードを受け取る際、高い頻度でリクエストを行うことで一つのギフトコードに対し数回の送金が行われてしまい、今回の攻撃に至りました。 ギフトコードの処理に関してはデータベースのトランザクション機能を利用しており、本来同じギフトコードを二重に使用することはできないようになっていました。 しかし、行ロック処理に不備があったため、もしくはcoindの接続がタイムアウトした場合にロールバックが行われることにより、極端なcoindの高負荷時には複数回の送金が行えたものと思われます。 また、この攻撃に際し少額のMonacoinを大量に送付しておくことでcoind送信時の負荷を増大させようとする試みも確認しました。
現時点での調査結果は以上の通りですが、引き続き不確定な部分につきまして原因を究明するために調査を進めて参ります。
原因は、高負荷時におけるギフトコード機能の不備らしい 2018年8月27日から2018年9月1日 で 複数ユーザによる攻撃とな
2018/09/02 04:40
公式の声明が更新
攻撃手法が明らかに。
MonappyからMonacoinを送信する際は、monacoindという別のサーバ上のアプリケーションと通信する仕様になっています。 この通信がタイムアウト等で失敗した場合はサーバダウンなどで送金に失敗しているとみなして、取引をロールバックする仕様となっていました。 また、ギフトコードの処理に関してはデータベースのトランザクション機能等を利用しており、本来同じギフトコードを二重に使用することはできないようになっていました。 しかし、高負荷状態でギフトコードを連続して使用しようとした場合、通信を受け取ったmonacoindの応答に時間がかかり、サイト側ではタイムアウトとなってロールバックされたあとにmonacoind側では送金が行われていました。 この結果、一つのギフトコードから複数回送金されたものと考えられます。 また、この攻撃に際し少額のMonacoinを大量に送付しておくことでcoind送信時の負荷を増大させようとする試みも確認しました。
(逐次更新)
参考に
Monacoinのrich List
Monappyのアドレスがわからん。
https://bchain.info/MONA/rich/
2018/09/02 06:51 更新
MRv7hJJ15KpWQkzTYvApwUJgZRubnri1hA
かもしれない
憶測の域を出ない部分
https://bchain.info/MONA/addr/MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r
MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r
このアドレス何者だろう。
このアドレスに対して、
M8Fj6b7Dk76KjrGcxG3yFp3eufQMLKKs8t
が 100MONAずつを何度も送っている
ループもしてる。謎い。
M8Fj6b7Dk76KjrGcxG3yFp3eufQMLKKs8t は
First transaction 13 hours ago Last transaction 46 minutes ago Total Received 7100 MONA Balance 0 MONA
つまりは経由しているアドレスと言えそう。
こっちも経由しているアドレスかな
Monacoin address MRv7hJJ15KpWQkzTYvApwUJgZRubnri1hA Hash c5a090001b8febcd1fe0949c941e37d0d9c37e2c Number of confirmed transactions 840 First transaction 4 days ago Last transaction 13 hours ago Total Received 83100 MONA Balance 0 MONA
4days 前に用意されて、13hours前に実行された? ミキシングっぽい(?)アドレスリスト
MMjVpbDsfqiKn1WSWLeMp1u6wLSWs48Dr5 MGjBioYdohQN1NUfDwqAUsnaX3H2TtfgC6 MVA37vsGUNc9rAcP6GiwNyRtUxenFpFEGo MCAy5iykU3vzzF2KNUUYWfzGowoBpLeW9c MWDZDgmgyr83FLte4NG4d63kT9t73PGrGf
とかいってる間に(2018/09/02 03:05現在) MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r の Balanceが 0MONA になった
https://bchain.info/MONA/addr/MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r
現在はここだ
https://bchain.info/MONA/addr/MGsG3Zc95j79nA5iJa5mHbDY5Nf37LsQVn
MGsG3Zc95j79nA5iJa5mHbDY5Nf37LsQVn
一旦沈静化中 2018/09/02 03:37 現在
2018/09/02 04:04
再び規模の大きなミキシングを行いつつ(?)
マルチシグアドレスに移動しているものもある様子
372UDGuqV59MjxEusJgYNiK6SAowZb1sFx
逐次ブログ更新は間に合わないので、ツイッターで呟きつつ、わかったことをまとめるスタイルにしていく。
この攻撃手法に関して、以前、ある掲示板で話されていたかもしれないとの情報も入ってきた。
2018/09/02 06:10
トランザクションに関するリストをcsvでgithubにまとめてアップした。
Thanks Help Guri!!
https://twitter.com/GuriTech
2018/09/02 06:55
ビットコインのマルチシグアドレスは、今の所計3つ
34wQwvsELB1ZMUgJrpxmBfwH5jpZwtoN99 3HWrSeSXt2zTBpnpQ2xWWeXQF5LZxLnBFx 372UDGuqV59MjxEusJgYNiK6SAowZb1sFx
2018/09/02 07:37
やはり、ビットコインのアドレスではなかった。
もなかさん
https://twitter.com/monamour555/
ありがとうございます!
2018/09/02 11:05
以下のマルチシグアドレスが追加された様子。
3GKzYYATKAarkb324dRJBN6Zop3zmrUVc9
これで計4つ
34wQwvsELB1ZMUgJrpxmBfwH5jpZwtoN99 3HWrSeSXt2zTBpnpQ2xWWeXQF5LZxLnBFx 372UDGuqV59MjxEusJgYNiK6SAowZb1sFx 3GKzYYATKAarkb324dRJBN6Zop3zmrUVc9
2018/09/02 16:20
この攻撃手法に関して話されていたのは、アングラ板 の可能性があるとわかった。
2018/09/02 17:38
一旦追跡をし続ける方針と少し変わって、有志で今回の流出の可視化ツールを作成する流れになっている。
とりあえずのJSONが吐き出せるプログラム
Thanks support Guri!!
https://github.com/gurisaka/mona_transactions_investigate_tools
2018/09/02 17:43
MMQ618AoG6za5fErcbLTqn7gSBhBGVt16rに関係があったアカウントは全部で403個
下のサイトにアドレス一覧あり
https://pastebin.com/x4zwLzZX
2018/09/02 19:44
取引の流れを @GuriTech のヘルプを受けて可視化した。
ミキシング部分などが把握できる。
vimeo.com
元データはここ。
2018/09/02 19:09
この記事のブクマにあるpaste.binのアドレス先に
犯人とのやりとりかもしれない書き込みがあることがわかった
https://archive.is/7lcd0
書き込み内容は以下の通り。
I gift you WIF MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r TRAwM8TZBQvGRU9tYoEUmknW5jS3JPVXGJ79zUcNxmri9ojChKg1 M8Fj6b7Dk76KjrGcxG3yFp3eufQMLKKs8t TQMjrb4cEroZun1KpPnFMAYpDRxnW2hLAesA85wACULiyJBg9L28 All coins are gone Should I burn the coins?
ちなみにWIF(秘密鍵)はあっている
2018/09/02 23:05
集約してるのバレバレだぜ。
oro2714さん! Help ありがとう
https://gist.github.com/oro2714
2018/09/03 00:22
@GuriTech が追跡ツールを完成させた。
これで調査が容易になるぞ。
GitHub - gurisaka/mona_transactions_investigate_tools
2018/09/03 03:40
追跡ツールがアドレスをたどって収集するように改良された https://twitter.com/guritech/status/1036322513863598081?s=21
事件の流れがわかりつつある
https://bchain.info/MONA/addr/MRv7hJJ15KpWQkzTYvApwUJgZRubnri1hA ここら辺をみるに、
2018/08/29 10:35
MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r (犯人?)
から
MRv7hJJ15KpWQkzTYvApwUJgZRubnri1hA (moppy?)
に100MONA送信されている履歴がある。
この中の一つが上で紹介した
monappyに100mona謎の入金あり
っていうTweetの証拠となりうるかな
2018/09/02 07:13
以下 (GMT +02:00) です
事件発生のタイミングをまとめ
September 1, 2018, 6:14 am
事件発生
MRv7hJJ15KpWQkzTYvApwUJgZRubnri1hA (100 MONA)
×101 の送信
99.98MONAが
MLkTxD2SVBftYDCJpas7kDCenN3XT144Nq
に
10000MONAが
MMQ618AoG6za5fErcbLTqn7gSBhBGVt16r (犯人?)
に送金される