· RustDesk Team · セキュリティ  · 18 分で読めます

RustDeskとリモートアクセス詐欺:私たちの取り組み

RustDeskがGoogle Playから撤退し、警告表示やパブリックサーバーへのログイン要件を追加した理由と、パスワード・2FA・IP許可リストを使って被制御デバイスを強化する方法について解説します。

RustDeskとリモートアクセス詐欺:私たちの取り組み

RustDeskは正規のオープンソースリモートアクセスソフトウェアですが、正規のソフトウェアであっても悪用される可能性はあります。詐欺師は被害者に電話をかけ、緊急の問題をでっち上げて、リモート操作ツールをインストールさせ、アクセスを許可するよう説得することがあります。RustDeskもこのリスクと無縁ではなく、暗号化技術をもってしても、欺瞞によって得られた同意を正当なものに変えることはできません。

私たちの対応として、その経路上の複数のポイントに警告と摩擦を設けています。具体的には、ウェブサイト上、Androidの被制御デバイスのフロー内、主要な配布チャネル、そしてパブリックサーバーです。これらの対策は、正規のユーザーにとっても多少の不便をもたらします。本記事では、私たちが何を行い、なぜそれを行ったのか、そしてどこに限界があるのかを説明します。

RustDeskはリモートアクセス詐欺に対して何を行ってきたか?

対策対応する問題コストや限界
ウェブサイトおよびクライアントでの警告表示見知らぬ相手からRustDeskのインストールを指示された人警告があっても無視される可能性がある
Google Playからの自主的な撤退馴染みのあるアプリストア経由での詐欺による安易なインストール正規のAndroidユーザーはストアでの発見のしやすさと自動アップデートを失う
パブリックサーバーでのログイン要件共有インフラを匿名で悪用する詐欺やボットネット正規ユーザーはサインインが必要になり、一部の既存ワークフローが妨げられる
被制御デバイスのセキュリティ設定パスワードの盗難、広範なネットワーク露出、無人アクセスのリスク正しく設定する必要があり、本人が自発的に情報を漏らすことまでは防げない

これらはリスクを軽減するための対策であり、RustDeskが詐欺に対して完全に無敵であると主張するものではありません。

被害者となり得る人の目に触れる場所での警告

RustDeskサポートページの冒頭には、詐欺に関する直接的な警告が掲載されています。見知らぬ、信頼できない相手と電話をしながらRustDeskのインストールを求められている人に対して、そこで操作を止めるよう伝えています。RustDeskのGitHubリポジトリにも、不正アクセス・不正操作・プライバシー侵害に対する悪用防止の免責事項が記載されています。

この警告は、GitHubリリースから配布されている公式Androidクライアント内にも表示されます。被制御側となるログイン前のAndroidデバイスでサービス開始をタップすると、画面キャプチャサービスが開始する前に警告が表示されます。この警告は、見知らぬ、信頼できない相手からの指示でここに至ったユーザーに対して、操作を中止して電話を切るよう伝えます。公式ビルドでは、ユーザーが先へ進む前にカウントダウンが課されます。現在の被制御側のフロー英語版の警告文は、いずれもオープンソースのリポジトリ内で確認できます。

この配置には意味があります。一般的なセキュリティページは製品について調べている人の目に触れるかもしれませんが、サービス開始時点の警告は、Androidセッションの受け入れがまさに可能になろうとしているその瞬間に、当人へ届きます。とはいえ、説得力のある相手を疑うようその人に強制することまではできません。

なぜRustDeskはGoogle Playにないのか

2023年9月3日、RustDesk公式のXアカウントは次のように述べました。「ユーザーを狙ったさらなる詐欺を防ぐため、RustDeskを一時的にGoogle Playから公開停止しました。」このリンクと投稿内容は、回答済みのGitHub Discussion #5660にも保存されており、現在のRustDeskのFAQでも、詐欺行為を理由にプロジェクトが自らGoogle Playから撤退したことが述べられています

そのため、RustDeskは現在Google Play経由では配布されていません。これは、Androidクライアントがマルウェアであるとか、インストールするすべての人がリスクにさらされているという主張ではありません。詐欺の指示でよく使われる経路の一つを減らすことを目的とした、配布方法に関する判断でした。

トレードオフは確かに存在します。Google Playから離れることで、正規ユーザーにとっての発見のしやすさ、馴染みのあるインストール方法、ストアによる自動アップデートが失われます。現在のAndroidビルドは、RustDesk公式のGitHubリリースF-Droidから入手できます。ダウンロード先は必ず自分自身で確認してください。身に覚えのないサポート担当者を名乗る相手から送られてきたダウンロードリンクからAPKをインストールしてはいけません。AndroidおよびiOSガイドには、現在のモバイル機能とインストール元が記載されています。

パブリックサーバーがログインを必須とする理由

RustDeskの現行のパブリックサーバーのログインに関するガイドによると、継続的な詐欺やボットネットによる悪用のため、制御側(コントローラー)のログインが必須とされています。ログインは無料で、GoogleやGitHubなど対応するサードパーティのIDプロバイダーを利用します。パブリックサーバー独自のユーザー名とパスワードは提供されていません。このガイドでは、現時点ではログインが必須なのはコントローラー側のみとされています。

これにより本人確認のステップが一つ加わり、RustDeskがデモや検証のために運用しているインフラへの匿名アクセスの一部が制限されます。これはプライベートなRustDeskサーバーには適用されず、他のインフラを利用したり新しいIDを取得したりする詐欺師を止めることはできません。

この変更は混乱も引き起こしました。新しいログインエラーに関するRedditの議論では、一部の正規ユーザーが、ログイン手順を理解して完了させるまで自宅や家族のデバイスに接続できなかったと報告しています。サードパーティのIDと連携すること自体に異を唱えるユーザーもいました。これらのコメントは、この制限が詐欺師に対して有効である、あるいは無効であるという証拠にはなりませんが、運用上のコストを裏付けるものではあります。摩擦を伴う悪用防止策は、そのコストを率直に認めるべきです。

RustDeskの被制御デバイスをどのように保護するか?

プラットフォームレベルの制限は、あくまで一つの層にすぎません。被制御デバイスの所有者や管理者は、誰が接続できるか、そして盗まれた認証情報で何ができてしまうかについても、あわせて制限すべきです。

1. 強力でユニークな固定パスワードを設定する

無人アクセスを行う場合は、被制御デバイスのRustDeskセキュリティ設定で強力でユニークな固定パスワードを設定してください。OSのログインパスワード、メールのパスワード、他のサービスで使っているパスワードを使い回さないでください。漏えいした可能性がある場合は、直ちに変更してください。

有人サポートの場合は、可能であれば一時的なワンタイムパスワードや、明示的なクリックによる承認を優先してください。強力な固定パスワードは、推測やクレデンシャルスタッフィング、パスワードの使い回しによるリスクを減らします。しかし、被害者がそのパスワードを電話の相手に読み上げてしまえば、パスワードは役に立ちません。

2. 被制御デバイスで2FAを有効にする

RustDeskには、被制御デバイスへの着信接続に対するTOTP方式の2FAが搭載されています。接続を受け入れる側のデバイスでセキュリティ設定を開き、2FAを有効にして、認証アプリでQRコードをスキャンし、6桁のコードで設定を確認してください。

有効化すると、通常の接続パスワードを入力するだけでは不十分になります。被制御デバイスがセッションを許可する前に、コントローラー側は現在の6桁のTOTPコードも入力する必要があります。この機能は、無人アクセス向けの2FAとして導入されたものであり、そのTOTP実装は公開されています

RustDeskでは、コントローラーデバイスを信頼済みとして扱い、以降の2FAプロンプトをスキップするオプションも用意されています。最も厳格な動作にしたい場合は、このバイパス機能を無効のままにしてください。使用する場合は、信頼済みデバイスのリストを定期的に確認し、紛失・機種変更・共有された、あるいはもはや許可されていないデバイスを削除してください。

2FAは、推測・使い回し・漏えいによって知られてしまったパスワードから保護します。しかし、パスワードと現在の認証アプリのコードの両方を自ら詐欺師に渡してしまう人を守ることはできません。

3. IP許可リストで着信接続を制限する

RustDeskのインターフェース上では、この機能はIP Whitelistingと呼ばれています。分かりやすく言えば、これはIP許可リストです。被制御デバイスは、パスワードや2FAによる認証を行う前に、送信元アドレスが設定済みのリストに含まれない接続を拒否します。

設定場所は次のとおりです。

  • デスクトップの被制御デバイスの場合: 設定 → セキュリティ → セキュリティ → IP Whitelistingを使用
  • モバイルの被制御デバイスの場合: 設定 → 画面共有 → IP Whitelistingを使用

この設定では、個々のIPv4/IPv6アドレスとCIDR範囲を指定できます。CIDRは、ネットワークアドレスとプレフィックス長を組み合わせたものです。プレフィックスは、先頭から何ビットが固定されているかを示し、プレフィックスが大きいほど許可される範囲は狭くなります。

  • 203.0.113.10 または 203.0.113.10/32:IPv4アドレス1つ。
  • 203.0.113.0/24:203.0.113.0から203.0.113.255までの256個のIPv4アドレス。
  • 2001:db8::10/128:IPv6アドレス1つ。
  • 2001:db8:1234::/64:IPv6サブネット1つ。

これらはあくまでドキュメント上の例であり、そのままコピーして使用しないでください。実際のコントローラーのアドレスやネットワークを入力してください。複数のエントリは、カンマ、セミコロン、スペース、または改行で区切ることができます。RustDeskは、この設定について高度なクライアント設定リファレンスで説明しており、被制御側での適用処理はソースコードで確認できます

実用上できるだけ狭い範囲を使用してください。固定された会社の出口アドレスや既知のVPN範囲は良い候補です。動的な住宅用アドレスやローミング中のコントローラーには適していません。ご自身のNAT、VPN、直接接続、またはリレーのトポロジーにおいて、RustDeskがどの送信元アドレスを認識するかを確認し、作業中のセッションを閉じる前に、別のセッションから新しいルールをテストしてください。アドレスやCIDRを誤って設定すると、正規のサポート担当者がロックアウトされてしまう可能性があります。

許可リストは、接続元となり得る場所を絞り込むものです。パスワードや2FAの代わりにはならず、すでに許可されたネットワークから操作している悪意あるコントローラーを止めることはできません。

これらの対策でできないこと

警告表示、ストアからの撤退、ログイン要件、強力なパスワード、2FA、IP許可リストは、それぞれ攻撃者の機会の一部を取り除きます。しかし、いずれもソーシャルエンジニアリングという中心的なリスクを取り除くことはできません。人は依然として、アクセスを承認したり、あらゆる認証要素を明かしたりするよう説得されてしまう可能性があるのです。

セルフホスティングであっても、悪用を完全に不可能にするわけではありません。組織は自社のRustDeskサーバーとポリシーを管理できるようになりますが、詐欺師もまたプライベートなインフラを運用したり、改変されたクライアントを配布したりすることができます。RustDeskのパブリックサーバーにおける制限を、すべてのセルフホスト環境に自動的に適用される保護であると誤解してはいけません。

見知らぬ相手からRustDeskのインストール、サービスの起動、パスワードの共有、2FAコードの開示、あるいは銀行サイトを開くことを求められたら、そこで操作を止めてください。特定ベンダーに偏らない私たちのガイド「リモートデスクトップ詐欺の見分け方・防ぎ方・被害からの回復方法」では、警戒すべき兆候と、すでにアクセスを許可してしまった場合の対処法を説明しています。

ここでの責任とは、単一の設定項目や善意の表明で果たせるものではありません。ユーザーに警告し、悪用を防ぐために必要な摩擦を受け入れ、技術的な制御手段を提供し、その限界を明らかにし、そして攻撃者が手口を変えるのに応じて対応を変え続けるという、継続的な取り組みです。

Frequently asked questions

RustDeskは詐欺ですか?

いいえ、違います。RustDeskは正規のオープンソースリモートアクセスソフトウェアです。しかし、他のリモートデスクトップツールと同様に、詐欺師が被害者を説得してインストールさせ、サービスを起動させ、アクセスを許可させることで悪用される可能性があります。RustDeskは詐欺に関する警告を公開し、こうした悪用を減らすために配布方法とパブリックサーバーに制限を追加していますが、どのリモートアクセス製品であってもソーシャルエンジニアリングを完全に防ぐことはできません。

なぜRustDeskはGoogle Playで入手できないのですか?

RustDeskは、ユーザーを狙った詐欺のさらなる拡大を防ぐため、2023年9月に自主的にAndroidアプリをGoogle Playから公開停止しました。Androidビルドは、RustDesk公式のGitHubリリースおよびF-Droidから引き続き入手できます。ダウンロードは必ず自分で確認済みの入手元から行い、身に覚えのない相手から送られてきたリンクからは行わないでください。

なぜRustDeskのパブリックサーバーはログインが必須なのですか?

RustDeskによると、詐欺やボットネットによる悪用が続いているため、現在パブリックサーバーでは制御側(コントローラー)のログインが必須となっています。ログインは、対応するサードパーティのIDプロバイダーを通じて無料で行えます。パブリックサーバーは本番環境や機密性の高い作業のためではなく、デモや検証を目的としたものです。独自のインフラとポリシーを運用する必要がある組織には、引き続きセルフホスティングという選択肢があります。

RustDeskの接続を受け入れるデバイスはどのように保護すればよいですか?

被制御デバイスには強力でユニークな固定パスワードを設定し、クライアントのTOTP接続2FAを有効にし、コントローラーのアドレスやCIDR範囲が予測可能な場合はIP許可リストを使用してください。信頼済みデバイスの例外は最小限に留めましょう。これらの対策はパスワードやネットワーク経路に起因するリスクを軽減しますが、パスワード、現在の2FAコード、または手動承認を自ら詐欺師に渡してしまう人を守ることはできません。

ブログに戻る