2016年8月3日水曜日

運用編:外部機器を用いたスマホの位置偽装

完成した外部機器を用いた位置偽装でいろいろ遊んでみた
以下は得られた知見について

なお、ゲーム等では位置偽装はBAN対象であるため使用しないこと
ちょっと楽しくなってきた

知見とかTIPS:

・止まるよりも動き続けた方が良い
動き続けた方(一定間隔で偽装先を変更した方)が明らかに偽装の精度が上がる
前回の測位と同じ位置にいるよりは近くの別の位置にいた方が信頼される様子

・近距離ならGPSオンでも使える
本来の位置から半径200m程度ならば問題なく偽装できた
(SIM抜き/GPSおよびWifiの測位を許可)
これより距離が離れると本来の位置へのテレポートが頻発する
(ただしアプリの位置測定アルゴリズムに依存する話)

・基地局を使った測位には勝てない
SIMを挿して基地局を用いた測位を行った場合は使い物にならない
本来の位置へのテレポートが頻発して偽装の用をなさない
GPSに対して測位のスピードが速く、精度も高い様子

 ・細かい調整が難しい
メートル単位の調整は難しい、というか無理
選択するAPを変えて運よく目標位置になることを祈るしかない
APの電波強度の強弱まで制御するならば調整可能か?

・アルミテープ加工したスマホの外観が酷い
毒電波を気にしてる系ユーザー、もしくは板チョコ弄ってるアレな人にしか見えない
外に持ち出すときは絶対にアルミテープを剥がすこと


手前の銀色の塊が加工済スマホ(裏面)

nomapのオプトアウトには時間がかかる
ただちにデータベースへ反映されるわけではない
位置偽装では自宅のwifiが一番のノイズ源
モバイルwifiならば気にしなくてもよいのだが

・運用によるテレポート回避
遠隔地を偽装する場合は
APによる再現開始→アプリ起動→アプリ操作→アプリ終了→APによる再現終了
ただしどうやっても短時間で移動不可能な距離の連続偽装は行わないこと

・シリアル通信経由でのMACアドレス変更
APのファームを毎回ビルドするのは不合理なのでMACアドレスは外部から変更可能にしておく
シリアル通信でコマンドを投げる方法が一番楽

・シリアル通信のブロードキャスト(もどき)
 再現用APの数だけシリアル通信ポートを準備するのも不合理
 送信側のTXに対して各APのRXを同時に接続することで簡易的なブロードキャストが可能
 各APに対して同じコマンドを同時に送信することができる
(注1:ここでは電気的なリスクは考慮していないので注意)
(注2:逆の接続(送信側のRXに対して各APのTX)を行っても混信するだけで使えない)
コマンドの中にどのAPへの命令なのかを埋め込むこと

シリアル通信による移動指示、ループ指示
ブロードキャストしたコマンドでMACアドレスが変更可能になったらかなり実用度が上がる
各場所におけるMACアドレス変更コマンドを列挙してtxtファイルにする
これをTeraTermなどのターミナルにD&Dするだけで位置設定が可能になる
また、マクロを用いることでループ処理やコマンド間のウェイト制御が可能


 実用的な使用方法:

・近所を永久ロングウォーク
近所の周回コースを測位しておき、コース上を延々とループするように位置偽装する
移動距離がポイントになるようなケースで使用する
万一本来の位置を測位してしまってもテレポートする距離は短くバレにくい
ありえない移動速度にならないように適宜ウェイト調整が必要になる

 ・長距離テレポートピンポンダッシュ
遠隔地に偽装した後、ごく短い操作を行った後即座にアプリを終了する
チェックポイント到達に意味があるケース、そこでスタンプなど短い操作を行うケースで使用
遠隔地で偽装し続けることは難しいが、短時間で操作が終了するならば問題は起きない
次回アプリ起動時に矛盾が起きないように気を付けること
(東京のチェックポイント通過→アプリ終了→5分後に大阪でアプリ起動、など明らかに異常な記録が残る)

・バス停を家の前にもってくる
家の近くにあるポータル的なものへ位置偽装を行う
自宅から外出せずに近所のポータルへ直接アクセス可能になる
数百メートル程度の位置偽装ならばリスクがかなり低く効果が高い
ただしごく近所のAPを偽装するためトラブル要因になりかねない
再現用APの出力を極力落とすこと

0 件のコメント:

コメントを投稿