MusicFMを潰したい高校生の話。〜動的解析でわかったこと〜


あらすじ

クラスでこんな会話をよく耳にします。

「〇〇の新曲リリースされたらしいよ」
「まじ?MusicFMにあるかな」
「通信制限やばいからwifiつないでダウンロードしとこ」

MusicFMやmangabankなどの海賊版サービスは、もはや中高生の生活に必要不可欠です。ネット上ではここまで著作物がルーズなのかと高校生ながら危機感を感じました。僕が大好きなMr.childrenやスピッツの楽曲もダダ漏れ。
よし、MusicFMを潰そう。

動作環境

iPhone8 ios12.1
App名: Music HD デベロッパ: Xu Yingqi
Ubuntu 18.04.3

iPhoneの通信をパケットキャプチャ

iPhoneの通信をPCでキャプチャするには、iPhoneネットワークデバイスを仮想ネットワークインターフェースとしてPCに設定します。

rvictlコマンドをlinuxで実装してくれるツールを発見したので今回はこれを使います。
rvi_capture.py: https://github.com/gh2o/rvi_capture

Wiresharkも一緒に使えるし神ツール。

$ ./rvi_capture.py --[iPhoneのUDID]
基本これだけでキャプチャして.pcapで書き出してくれます。

パケット解析

アーティスト名を検索して曲を再生する一連の動作をキャプチャしました。
おなじみのWiresharkで見ていきます。

プロトコル別に見てみると、TCPがほぼ全部を占めていました笑 一目瞭然。

ここでhttpに絞って見てみると

「Mr.children」と検索したときや、楽曲データベースがあるサーバーとはhttpで通信していることがわかりました。ちょっとずつ見えてきたぞ?

すると、明らかに怪しいリクエストをしてるパケットを発見。追跡してみる。

レスポンスされたURLに.mp3って書いてある。さっそくアクセスしてみました。

流れたー!!!!(  Д ) ゚ ゚

結果

  • IPむき出しのサーバー(115.28.252.235)に曲情報のリクエストが送信され、レスポンスに別のDBサーバー(win.web.ra01.sycdn.kuwo.cn)にあるURLが返ってくる仕組み

  • win.web.ra01.sycdn.kuwo.cnが楽曲のデータベースサーバー

  • 他にもmusic.musicnewtree.com,search.kuwo.cn,player.kuwo.cnと通信

Whois情報

ドメイン名から中国にサーバーがあることはわかりますね。調べる前からそんな気はしてました。

Whois.国と組織名
- music.musicnewtree.com 
    country:US
    org:ORG-LL198-RIPE
- search.kuwo.cn
    country:CN
    descr:Shanghai Yovole Networks Inc.
- player.kuwo.cn
    country:CN
    descr:21ViaNet.inc
- 115.28.252.235
    country:CN
    descr:Aliyun Computing Co., LTD
- win.web.ra01.sycdn.kuwo.cn
    country:CN
    descr:hangzhou huoyou inc.

中国のクラウドコンピューティング系の企業が多いですね。
肝心のwin.web.ra01.sycdn.kuwo.cnの組織は調べても出てきませんでした。おそらく架空の企業でしょう。

まとめ

一番の目的である音源のDBサーバーを見つけることができました。
通信しているサーバーが全てSSL化されていなかったことが救いです。
MusicFM系のアプリは他にもたくさんリリースされているので、また調べるつもり。
もしアプリ関係なくDBサーバーが同じだとわかれば大きな進展ですね。

こういうのは公の機関に報告すれば対応してくれるものなんでしょうか...?

違法海賊版サービスが絶滅し、売上がアーティストに還元されるクリーンな音楽サービスが一日でも早く来ればいいと思ってます。