ハクソク

世界を動かす技術を、日本語で。

ベトナム政府がルート化されたスマートフォンでの銀行アプリの使用を禁止しました

概要

  • Android端末のPI(Play Integrity)偽装Magiskモジュールの利用方法について議論
  • Play Storeの整合性チェックやデバイス情報の偽装設定の確認手順
  • Pending Update Loopなどのトラブル解決法とADBコマンドの活用
  • 銀行アプリの規制強化によるroot端末やADB利用端末の利用制限
  • セキュリティ規制の内容と今後の懸念点

Android端末のPI偽装とPlay Store整合性チェック

  • PI偽装にはPI ForkPI Fix Injectなど複数の方法
  • PI Fork利用時、偽装機能を無効化することで実端末情報を表示
  • Play Storeの開発者オプションからCheck Integrity実行推奨
    • Brand, Device, Modelが実際の値か確認
  • custom.pif.propファイルの設定例
    • spoofBuild=1
    • spoofProps=1
    • spoofProvider=0
    • spoofVendingSdk=0
    • spoofVendingFinger=0
  • target.txtにはcom.android.vendingやcom.google.android.gmsなど対象アプリを記載
    • 必要なアプリのみ選択・記載推奨

Magiskモジュール・ADBによるトラブル解決

  • Magiskモジュール全無効化やMagisk自体の削除で正常化を試みる方法
  • Pending Update Loop発生時の対処手順
    • adb shell pm clear com.android.vending
    • adb shell pm clear com.google.android.gms
    • adb shell rm -rf /data/local/tmp/*
  • /data/adb/modules/でPIやspoofing関連フォルダの存在確認
  • adb shell getprop | grep -E "model|product|fingerprint"で偽装値の確認
  • Aboutタブが更新されない場合、bin破損の可能性
    • 新規インストールや再起動推奨
  • nohelloモジュールなど他のMagiskモジュールが影響する場合もあり

銀行アプリの規制強化とセキュリティ対策

  • 2025年3月1日施行のCircular 77/2025/TT-NHNN規制
    • ADBやブートローダーアンロック端末での銀行アプリ利用禁止
  • 規制内容(第8条4項改正抜粋)
    • デバッガ付与、エミュレータ動作、ADB接続時にアプリ自動終了
    • 外部コード注入、関数監視、APIログ取得、アプリ改ざん検知時に自動終了
    • root化・Jailbreak・ブートローダーアンロック端末で自動終了
  • 端末破壊や警察通報義務までは規定されていないが、今後の懸念点あり
  • 規制強化の背景にセキュリティ省庁の影響力の強さ

まとめ

  • PI偽装やMagiskモジュールの運用には注意と最新情報の確認が必須
  • Play Storeや銀行アプリのセキュリティ要件は今後も厳格化の傾向
  • システム改変端末利用者は各種リスクとトラブル対策の知識が必要

Hackerたちの意見

ベトナム政府は、すべての銀行アプリが、電話がルート化されているか、ブートローダーがアンロックされているか、ADBが有効になっているかを検出し、そうであれば強制終了するように義務付けました。
その銀行って、ルートアクセスのあるコンピュータからアクセスできるウェブサイトもあるのかな?たぶん、あると思うよ。
でも、最終的には銀行へのウェブアクセスも制限されると思う。イギリスのHMRCみたいに、企業がウェブサイトを通じて税金を提出できなくなったように。未来では、すべてが「アプリ」が必要になるんじゃないかな。
銀行のアプリには、ウェブサイトにはない機能があると思う。例えば、タップして支払いができるとかね。ルート化された電話だと詐欺がしやすくなるかもしれないし。そうじゃないなら、ほんとに意味がわからない。
ハンガリーでは、中央銀行が「非公式」なデバイスでの銀行アプリを許可しないというルールを作ったけど、実際にはアプリかSMSでの2FAが必要なんだって。どうやらSMSは安全だと考えてるみたい…
そうだね。ウェブサイトでは(ルート化されてない?)電話で取引を確認する必要がある。一方で、電話ではPCで確認する必要がないから、電話の中にアクセスできない安全な場所がない限り、セカンドファクターがないんだよね。面白いことに、その2FA用に使ってる電話で直接そのウェブサイトを使えるかもしれないから、2FAのアイデアを回避できるかも(少なくともアプリがルートをチェックする代わりにSMS 2FAを使う限りは)。
オンラインバンクがアプリの使用を強制する傾向があるね。去年から、ある銀行のウェブサイトにはQRコードをアプリから使わないとログインできないんだ。もちろん、アプリにはトラッキングや「セキュリティ」、分析SDKが盛り込まれてるから、ルート化されたデバイスは拒否される。あの変更があった後、ログインする方法がなくなっちゃって、ほんとに素晴らしいよ。とりあえず、まだサーバーサイドでチェックすることを学んでないみたい。今のところは、ルート画面をスキップするための一行のパッチで済むけど、Play Integrity APIは正しく設計されてるから、もし彼らがそれを使うことを学べば、どこかにハードウェアの脆弱性を見つけない限り、回避策はなくなるだろうね。
ちょっとした違いかもしれないけど、スマホは一日中動かされるし、周りにいろんな人がいて触られたりすることも多いよね。ノートパソコンはちょっと大きいし、デスクトップは…まあ、ドアの後ろにあるし。だけど、結局銀行は電話のOSにセキュリティを頼るべきじゃないよね。
TDカナダはアプリを使わせようとしてる。オンライン取引をするとき、彼らが「大きすぎる」とか「怪しい」と思うと、必ずスマホのアプリにログインして取引を承認しないといけない。それが唯一の方法なんだ。
タイの銀行は、1回の取引で5万バーツ以上、または1日に累計でその金額を超える場合、顔認識を導入することが規制で求められてるんだ。ほとんどの銀行は、ユーザーが少ないからウェブベースの安全な顔認識を実装する価値がないってことで、インターネットバンキングを停止してると思う。私が使ってる銀行の一つは、取引を確認するためにモバイルアプリにプッシュ通知を送ってくれるんだよね。以前のインターネットバンキング、モバイルバンキングが始まる前でも、1日に追加できる送金先の数に制限があったと思う。QR決済が普及してきたから、ウェブベースのバンキングを使うとその制限にすぐ達しちゃうかも。タイ銀行は、技術的には多くのことをブロックしてないって言ってるけど(モバイルバンキングの技術要件ではルートをブロックする必要があるみたいだけど、インターネットバンキングは禁止されてない)、既存の銀行を disrupt する新しい銀行が出てきてほしいな。でも最新の「支店なし」バンキングライセンスは既存の銀行グループが取得しただけだから、APIファーストの個人バンキングはまだ無理そうだね。
この10年間でこの傾向は減ってきてるよ。一部の銀行は、いくつかのやり取りや全てのやり取りにモバイルアプリを必要とするようになってきた。ウェブサイトで全部できる銀行は、レガシーでアメリカ中心の傾向があるね。
いくつかの国では、銀行のアプリなしではオンライン決済が不可能になってる。すべての銀行取引がスマホに制限されるのも時間の問題だね。
これが本当に理解できない。俺の考えでは、電話をルート化するくらい技術的な人なら、リスクも理解してるはず。なんで銀行アプリがルート化された電話では動かないようにする必要があるの?政府はそんなに気にすることなのかな?
国家が後ろ盾のハッカーも電話をルート化して、悪意を持っている可能性があるからね。銀行はリスクを避ける傾向が強い分野だから、これは良い予防策だと思う。
> なんで政府はそんなに気にするの?俺の予想はこうだ:1. ルート化された電話を持つ人が銀行アプリを使ってハッキングされ、お金を盗まれる。2. その人が助けを求めるのはどこか?政府だよ。
ベトナムは一党制の国なんだよね。政府は銀行をコントロールしてるの?
技術に詳しくない人が修理に出した電話は、その人の知らないうちにルート化される可能性があるよ。修理する人がマルウェアをインストールすることもできるし、ルート化された電話の所有者が自分でルート化したとは限らないからね。
ルート化された電話は、銀行アプリ自体を改造する能力が高くて、アプリが銀行とやり取りするために使うAPIに対して「自由度」があるんだ。以前はアプリがユーザーに「ホワイトリスト」に載ったUIオプションを表示してたけど、ルート化されたユーザーは従業員専用の方法を使える。どこかの銀行には口座の残高を設定する方法があるから、正直言って、こういう法律は「残高を増やす」ボタンがアプリのUIにないという非常に控えめな不明瞭さによるセキュリティを、もっと誘惑的にしてしまうね。
「モバイルバンキングアプリへの不正な干渉を検出する」って、これって詐欺師が他のアプリを使って、誰かにインストールさせる手段になってるんじゃないかな。ルート化されたスマホでのことを心配してるのかもしれないし。スキルのある人がデバッグしたりMITMして、銀行の脆弱性を見つけることを懸念してるのかも。でも、その発言だけ見ると、顧客よりも銀行を守るための対策に見えるね。
これはユーザーを守るためじゃなくて、DRMだよ。ルート化されていないスマホを使うと、すべてのアプリが無料でDRMを受けることになる。ソフトウェアがフラグを設定したときに「画面録画」を押すだけじゃダメだし、アプリが処理するデータを見たりバックアップを取ったりすることもできない。デバイスが何をするか、チェックをスキップすることもコントロールできない。詐欺検出やCAPTCHAは、セキュリティを隠すことに依存してる。> 「誰かが自分のスマホをルート化するほどの技術があれば、リスクを理解してる」って、ユーザーの視点から見てるね。確かに、ナラティブは「あなたの安全のために、デバイスのストレージからセキュリティトークンをエクスポートできません」とか「ルートで動くソフトウェアはすべての権限をバイパスできる、攻撃者がそれを悪用するかもしれない!」って感じで、ユーザーが自分の所有するハードウェアでその選択をできないかのように思わせる。権限を落とすこと(https://en.wikipedia.org/wiki/Privilege_separation)は、私が生きている限りずっとあることだよ。この「保護」があなたのためだと思わないでね :(
> 私の考えは、もし誰かが自分の電話をルート化するほど技術的なら、そのリスクを理解しているってこと。ウォール街の「認定投資家」と「洗練された投資家」の概念みたいなもので、https://en.wikipedia.org/wiki/Bernie_Madoff のようなポンジスキームに引っかかることは絶対にないだろう?ベトナムのファンでもないし、彼らの禁止について詳しいわけでもないけど、人々が大規模にお金を盗まれているとき、政府や金融システムを責める傾向がすごく強いよね。そして、大規模に盗まれた資金が「再投資」されないことは極めて稀で、また政府がそれに対処することが期待されているんだ。
>これが本当に理解できない。俺の考えでは、もし誰かが自分のスマホをルート化するほど技術があるなら、リスクも理解してるはず。でも、君もわかってるよね。自分のスマホをルート化するほど技術がある人が、リスクそのものなんだよ。[咳]モネロ[咳]
真剣な質問だけど、この動きで何が得られるの?政府はなんでそんなに気にするの?ルート化された電話って本当にそんなに問題なの?たぶん、ルート化してる人はほとんどが技術好きな人たちだと思うけど。サイバー犯罪者は普通の電話を偽名で買って、後で捨てるだけだよね。
銀行は気にするだろうね。セキュリティにかかるお金や、盗まれたお金を持つクライアントへの対応にかかるお金が減るから。
> なぜ政府が気にするのか ベトナムは、VNeIDプロジェクトの一環として、義務的な生体認証と確認を導入中で、モバイルオペレーターはVNeIDを使用するモバイルデバイスのアイデンティティスタンピングを展開中だよ。ベトナムは現在のリーダー(トー・ラム)がベトナムのKGB(MPS/BCA)でキャリアを積んできた権威主義国家でもある。西洋人とは違って、ベトナム人は赤い線を知ってる。だから、私と私のパートナー(私の主張のせいで彼女は不満だけど)は、個人のアカウントやデバイスを持ってベトナムに戻ることは決してないし、友人の友人をスピードダイヤルに入れておく理由でもある。
海外の銀行との信頼関係を築く必要があるよね。そうじゃないと、銀行は「なんでベトナムをサポートする必要があるの?詐欺が多すぎる」と言って、ベトナムやVPNからのアクセスをブロックしちゃうかも。
残念だけど、ここでの答えは法律を守らないことだね。もし合理的にこのルールを回避する方法があって(いつも猫とネズミのゲームみたいだし)、捕まらない期待があるなら、消費者に厳しいルールを無視することに道徳的な葛藤は感じないな。
政治的な理由か、非常に技術に詳しくプライバシーを重視するユーザーとしてやってるんだろうけど、悪意のあるユーザーのための言い訳を提供してることになるよ。例えば、特定できないデバイスからのログインをブルートフォースで試みるかもしれないから。それが法律以外の理由の一つだね。あなたは本質的に侵入者と同じ側に立ってることになる。
> 残念ながら、ここでの答えは法律に従わないことだよ。ベトナムでは、これはMPS/BCAから「友好的な」訪問を受けることを意味するし、続けると最終的にはトラブルメーカーとしてレッテルを貼られることになる。
それを回避する合理的な方法はないと思う。Google認証されたメーカーが鍵を漏らすか、TEEの脆弱性を利用する必要があるから。すべての公開鍵ボックスは禁止されていて、Googleは新しいものを定期的に禁止してる。ここに取り消された鍵ボックスのリストがあるよ:
つまり、リモートサーバーに対して、自分のデバイスが基本的に未修正のベンダー署名されたソフトウェアを動かしていることを暗号的に証明できないと、経済から締め出されるってこと?ここでの否定できない部分は、セキュリティモデルが機能していること。ブートローダーをロックしてTEE署名を強制することで、マルウェアを防げるけど、ユーザーの自由も奪うんだよね。ユーザーが自分のハードウェアで敵扱いされるモデルに移行してる。XDAスレッドのモッダーたちの天才性は否定できないけど、彼らは現代の信頼の基本的なアーキテクチャに対して戦争をしていて、そのアーキテクチャが勝ってる。
別の投稿でも言ったけど、2026年までに2台のスマホが必要になるよ。今のセットアップはこんな感じ:1) OSサポートが2032年まである改造されていないiPhone SE(2022モデル)。これで認証、銀行、健康などを管理してる。99%の時間は機内モードだよ、必要なとき以外は。2) もう1台は日常用のPixel 9aで、Graphene OSを使ってる。ルーティングやインターネットアクセス用。ちょっと高いけど、この問題に対する唯一の実行可能な解決策だと思った。
コリー・ドクトロウは2011年にこの結果を予測してたんだよね。「一般目的計算に対する戦争が来る」って。
> 私たちは、ユーザーが自分のハードウェア上で敵と見なされるモデルに移行している。これは最初からのモデルで、エンドユーザーがライセンスを持っていないため、スペクトルを使用する必要があるから。市販の電話の100%にラジオがロックされていて、ユーザーの改ざんを防いでいる。デビットカードでもルート権限は得られないし、コンピュータが動いているのにね。
まだPCでバンキングできるんじゃない?数年前にスマホのバンキングアプリを使うのをやめたんだ。どんどん面倒になってきたし、「デバイスは安全で、信頼のトークンとして使うべき」っていうのには賛同できなかったから。だから今は、ハードウェアトークンを使ってTANを生成しながら、コンピュータだけでバンキングしてるよ。
> マルウェアを止めることはできるよ。携帯電話とは関係ないけど、より専門的なマルウェアは、根本的なスペースに残らないように移行してるんだ(痕跡を残さないためにね)。再起動するたびに必要なときにルートアクセスを取り戻すことに頼ってる。重要な部分はメモリの中にだけあるから(実際、どれくらいの頻度で携帯電話を再起動する?)。これ、携帯電話のマルウェアにも当てはまると思う(確信はないけど)。つまり、うまくいかないってこと。 - 古い電話の使用を禁止する(セキュリティアップデートがないやつ) - 安い電話や信頼できないメーカーの電話の使用を禁止する - すべての電話にCHERYのような保護を施す - そして、一般的にルート権限の昇格が信頼できない状態にする魔法のような方法が必要だよ。ああ、そして高度なツールキットは、時々ルートレベルの持続性をスキップして、あらゆる種類のファームウェアに直接入ることもある。さらに、適切な2FAがオンラインバンキングを安全にするはずで、同じデバイス(あなたの携帯電話)に両方の要素がある擬似2FAじゃないんだ。適切な2FAがなくても、例えばルート化された電話を高リスクとして分類して、どれくらいの金額を扱えるか制限するのは十分だよ(制限は、長期的な自動繰り返し取引、例えば家賃を無視してね)。本当に禁止する理由はないよ。
本当に効果があるの? 古いけど修正されてないCVEsがたくさんあるROMは、全然問題ないって扱われるだろうし。最新のLineage OSやGraphene OSは却下されるよ。
「反論できない部分」って簡単に反論できるよね。政府や機関が動かすマルウェアは、やっぱりマルウェアだし。
>マルウェアを止める でも、国家が承認したマルウェアはあらゆる形で止められないよ。
このコメント、すごく好きだな。銀行が、共謀なしに内部のインセンティブだけで、Chromiumの覇権に参加してないユーザーを締め出してるのが嫌だって気持ち、わかる。> ここでの反論できない部分は、セキュリティモデルが機能していることだ。そう!そのビジネスモデルは許可されるべきだよ。これを考えると、「ユーザーのエージェンシー」という概念が間違ったレベルに向いてるかもしれないと思う。オープンな(一般的なコンピューティングの理念)デバイスと安全なデバイス(家電の理念)が市場に存在する権利があるように思える。だから… ### ユーザーのエージェンシーは体験レベルにあるべきかも。 ### セガサターンのカートリッジを任天堂64に差し込むことはできなかったよね。コンソールについてはみんな理解してる。もしモバイルデバイスをコンソールに変えたら、内部を開けていじるべきだとはあまり思えない。ユーザーのエージェンシーは、コンソールファミリーを選ぶことに関係してるし、それはしばしばそのブランドの全体的な雰囲気、つまりコンソール自体や、ブランドがカートリッジをキュレーションするための安全性と許可のバランス(任天堂からアップル、ソニー、マイクロソフト、そしてSteamまでのスペクトラム)に関わってる。モバイルデバイスやデスクトップの自由市場は、ただ動くものからいじれるものまでの似たようなスペクトラムを整理するだろうね。任天堂64を選んだら、Dellのように自由にソフトウェアを動かすことは期待しないよね。俺たちハッカーは任天堂64用のソフトウェアを作る方法を見つけることができるけど、隣の人はそんなことを必要としてないし、ただ動くものを求めてるんだ。ユーザーがデジタル時計やトースターの配線を変えられるべきだという考えは、実際にユーザーが選ぶもの、つまり便利に焼けた食事を見落としてるよね。同時に、デジタルツールのキュレーションや家電化に関するビジネスモデルは、ハードウェアからソリッドステート、ファームウェア、ソフトウェアまでの境界をぼやかして、ユーザーが選べる単一の製品にする必要がある。もし安全な製品のために開発したいなら、同様に供給チェーンのセキュリティモデル(Appleの場合、開発者として登録して、証明書の素材を交換し、プラットフォームのために作ったソフトウェアを読み込むための消費者の道をバイパスすること)を選ぶことに同意しなきゃならない。それがその製品を安全にし、ユーザーが私のアプリを買うためにお金を持っていることを可能にするから、最初にそのために開発したいと思ったんだ。ユーザーはいじれない家電を買う権利があるべきだよ。強制されるべきではなく、この記事が言ってるように、EUが否定しようとしているものとして許可されるべきだ。そういう製品は存在する権利があるし、そういうビジネスモデルも存在する権利がある。だから、ユーザーのエージェンシーは、ユーザーの目標に合ったビジネスモデルを通じて提供される製品を買うためにお金を使うことと同じくらいシンプルで、規制してビジネスの提供を無効にするのではなく、開発者のエージェンシーは自分の理念に合ったプラットフォームにエネルギーを注ぐことなんだ。もし異なる理念のプラットフォームでより多くのお金が稼げるなら、愚痴を言うよりも反省する価値があるかもしれないね。
私がバンガードの認証チームで働いてた時、詐欺が多すぎてベトナムからのアクセスをブロックしてたんだ(私の選択じゃなかったけど)。でも面白かったのは、ベトナムに拠点を置くクライアントがいたから、ログにはベトナムやロシア、他の場所からログインしようとしてブロックされて、VPNを使ってイギリスから再度ログインするHNWクライアントが何人かいたんだよね。これは少し前の話だけど、その頃からもYubiKeyやハードウェアトークンみたいなものが推進されてたから、ハードウェアで認証された人々の方向に風が吹いてるのは驚きじゃないよ。金融会社は常に詐欺と戦ってるからね。
どれくらいの詐欺や詐欺未遂がルート化されたデバイスや非標準のOSを使ってるのか、すごく興味あるな。これって、よくある攻撃ベクターというより、チェックボックスのコンプライアンスの問題に思えるんだけど、実際にそういうデバイスを使ってる人が少ないからかもしれないね。
ああ、2019年にVanguardにYubikeyを追加したのを覚えてる!他の銀行と比べてすごくモダンに感じたよ。これ、あなたかあなたのチームの仕事だと思う。ありがとう!他の銀行でも同じことをやってくれたことがある。国際取引に対応したデビットカードをくれたけど、ほとんどのアジアの国からログインできなかったんだ。だからアジアからログインするとブロックされて、VPNをオンにしてアメリカからログインしてカードの残高を確認してた。
これはおそらく、ベトナムとタイの政府が銀行口座のためにバイオメトリクスを導入する一環だね。アメリカのKYC規制に似てる。ベトナムのバイオメトリクスの導入期限は2025年12月19日なんだって。ベトナム政府は、アカウントの乗っ取りや他の銀行詐欺が増加していると報告しているし、SIMスワッピングも使われているみたい。詐欺師が未熟な銀行顧客を騙すのを難しくするのは、正当なセキュリティレイヤーだと思う。
部分的にはそうだけど、VNeIDプロジェクトとも関係してるよ。[0] 目標は2030年までに、すべてのベトナム国民と外国人訪問者がデジタル生体認証IDを持ち、そのIDに関連するすべてのサービスがリンクされることなんだ。[0] - https://vneid.gov.vn/ [1] - https://tuoitre.vn/thieu-tuong-nguyen-ngoc-cuong-nang-cap-vn...
> SIMスワッピングは使われている戦術だよ。詐欺師が未熟な銀行顧客を騙すのを難しくするのは、有効なセキュリティレイヤーだ。SIMスワッピングを防ぐには、セキュリティに敏感なことにSMSを使うという愚かな行為を禁止するべきだよ。ユーザーが変更したOSをブロックすることじゃない。
これには2つの妥当な説明があるよ:1. 無能さ。世界中の多くの銀行が規制なしでこれをやってる理由だね。ある詐欺師が、ユーザーがインストールしたり変更したOSをブロックするセキュリティシアターのSDKやライブラリを売りつけたんだ。2. 政府の管理と監視。ベトナムは権威主義的だから、一般的なコンピューティングに対するグローバルな戦争に参加して、自国民のデバイスを完全にコントロールするのは理にかなってる。ソフトウェアや表示されるコンテンツ、コミュニケーションを政府の承認が必要にして、すべての活動を完全に監視できるようにするためにね。ユーザーがコントロールする一般的なコンピューティングを直接禁止するのではなく、人々の安全のためだと偽って裏口からやってるんだ。
一般的な懐疑心は理解できるし、自由を奪う感じもするけど、実際にルートキットみたいなサイドロードされたアプリが認証情報を盗むのを防ぐことにもなるんじゃない?ルート化のシーンには詳しくないけど、正しい角度から見ると、これには何か意味があるように思える。