Haris Shield の仕組み
アプリがスマートフォンから何を読み取り、何を脅威と判断し、どんな通信を行うのか。そして、私たちの言葉をうのみにせず、そのすべてを確かめる方法を説明します。
現在のバージョン 1.0.13 について説明しています。
アプリがケーブルを通じて読み取るもの
スマートフォンは USB ケーブルでパソコンにつながっています。Haris Shield は、フォレンジックの研究者が使うのと同じオープンソースツール、libimobiledevice(iPhone)と Android の adb を使ってスマートフォンを読み取ります。スマートフォンには何もインストールされず、スキャンは読み取るだけです。スマートフォン上のものを削除したり、移動したり、変更したりすることはありません。コピーしたものはすべて、パソコン上のアプリのフォルダにとどまります。
iPhone
端末の情報
モデル、iOS のバージョンとビルド、シリアル番号、パスコードが設定されているかどうか、アクティベーションの状態、端末名、タイムゾーン。
クラッシュレポート
パソコンにコピーし、そこで読み取ります。元のファイルはスマートフォンに残ります。アプリはコピーするだけで、移動や削除は決して行いません。
構成プロファイル
インストールされたプロファイル、MDM への登録、監視モード、VPN プロファイル。これらは、スマートフォンを管理したり、通信の行き先を変えたりするための手段です。
プロビジョニングプロファイル
スマートフォン上の開発者向けアプリや企業向けアプリに誰が署名したかを、既知のスパイウェア業者の名前と照合します。
セキュリティの状態
ロックダウンモード、デベロッパモード、そして iOS のバージョンが悪用が確認されているものかどうか。
読み込んだ sysdiagnose(任意)
スマートフォンで sysdiagnose を作成してそのアーカイブを読み込むと、アプリはネットワーク使用状況のデータベース、プロセスの実行履歴、アプリの使用状況と権限のデータベース、ネットワークとプロセスのログも読み取ります。
Android
端末の情報
モデル、ブランド、Android のバージョン、セキュリティパッチのレベル、シリアル番号。
インストール済みのアプリ
パッケージ名を既知のストーカーウェアと照合し、ランチャーから隠されたアプリや、各アプリのインストール元(Play ストアか、それ以外からのインストールか)を確認します。
権限
SMS、通話履歴、位置情報、カメラ、マイクなど、監視に使われうる権限をどのアプリが持っているか、その危険な組み合わせ、そして他のアプリをインストールできるアプリ。
ユーザー補助、デバイス管理アプリ、通知へのアクセス
ストーカーウェアが画面を読み取り、削除を妨げ、通知をコピーするために通常必要とする三つの仕組み。
プロセスとネットワーク
実行中のプロセス、現在開いている接続、DNS リゾルバのキャッシュを、既知のスパイウェアのサーバーや IP アドレスと照合します。
証明書
暗号化された通信を読み取るために使われうる、ユーザーがインストールしたルート証明書。そして、デバッグ用やテスト用の証明書で署名されたアプリ。
バッテリー、データ通信、センサーの使用状況
夜間に起動するアプリ、バックグラウンドで大量のデータを送受信するアプリ、画面に表示されていないのにカメラやマイクを使うアプリ。
設定とシステムログ
USB デバッグとワイヤレスデバッグ、提供元不明のアプリ、Play プロテクト、そして既知のスパイウェアに関連する特定のシステムログの項目。
フルスキャンでは、プライバシーの確認とハードウェア診断も行い、iPhone では部品の検証も行います。暗号化された iPhone バックアップの分析と、Android のアプリファイルのフィンガープリント照合は現在開発中で、現在のバージョンには含まれていません。
検出結果の判断方法
スキャンは三つの結果のいずれかで終わります。この違いは重要なので、それぞれの結果がどんな条件で出るのかを正確に説明します。
スパイウェアを検出
具体的な痕跡がある場合に限ります。実行履歴に既知のスパイウェアのプロセスがある、既知のスパイウェアのサーバーへの接続や DNS 照会がある、既知のストーカーウェアにアクセス権限が与えられている、既知のスパイウェア業者のプロファイルがある、といった場合です。
不審な動き
詳しく調べる価値はあるものの、証拠とはいえないものです。これには攻撃を受けやすい状態も含まれます。古い iOS のバージョンやセキュリティパッチの不足は、スマートフォンを攻撃されやすくするため、ここで報告されます。感染として報告されることは決してありません。バージョン 1.0.11 より前は、古い iOS のバージョンを誤って感染と報告していましたが、この問題は修正済みです。
脅威は見つかりませんでした
アプリが把握している痕跡は一つも見つかりませんでした。ただし、スマートフォンが安全であることが保証されるわけではありません。下の「どのツールにも約束できないこと」をご覧ください。
アプリが照合するもの
アプリには、スパイウェアのプロセス名、サーバー、IP アドレス、ストーカーウェアアプリの内蔵リストが含まれています。それに加えて、Pegasus、Predator や類似のツールを調査している Amnesty International、Citizen Lab をはじめとする研究者が公開した、MVT プロジェクトのインジケーターを使います。
名前が一致とみなされるのは、ログの中に完全な名前として現れた場合だけです。以前は、「bh」のような Pegasus の短いプロセス名が「github」のような単語にも一致してしまっていましたが、現在はそうなりません。通常の iOS のシステムプロセスと同じ名前は、見つかっても何の証拠にもならないため、対象から外しています。
インジケーターのリストを改ざんできない理由
- 1. 毎晩、私たちのサーバーが MVT のインジケーター一覧からデータ一式を作成します。
- 2. サーバー上にしか存在しない Ed25519 の秘密鍵で、そのデータ一式に署名します。
- 3. アプリは、アプリに組み込まれた公開鍵と署名を照合し、一致した場合にのみそのデータ一式を使います。一致しない場合は、最後に一致したデータをそのまま使い続けます。
そのため、乗っ取られたネットワークなどから届いた偽のデータ一式によって、インジケーターを追加したり削除したりすることはできません。また、検出結果が共有リストにアップロードされることもありません。利用者からの未検証の報告こそが、脅威リストが汚染される原因になるからです。
パソコンの外に送られるもの
アプリのコードから抜き出した、アプリが行う可能性のあるすべての通信です。アプリの通信を監視すれば(下の「ご自身で確認する」を参照)、この一覧と一つずつ照らし合わせることができるはずです。
アプリがオンラインのときは常に
ライセンスと残高の確認
harisshield.com
ライセンスキーとパソコン ID(パソコンの名前、ユーザー名、プロセッサ、アーキテクチャ、メモリ容量から作られる短いハッシュ)。応答として私たちのサーバーが署名した残高証明が返され、これによりアプリは 14 日間オフラインでスキャンを続けられます。
各スキャン後のスキャン回数
harisshield.com
ライセンスキー、パソコン ID、iOS か Android か、検出件数、ランダムなスキャン ID、時刻。これによってスキャンが残高から差し引かれます。何が見つかったかや、スマートフォンのデータは送られません。接続がない場合、報告は保留され、後で送信されます。
署名付きのインジケーター一式
harisshield.com
最新のスパイウェアのインジケーター(上記参照)のダウンロード。その際、あなたやスマートフォンに関する情報は一切送られません。
アップデートの確認
harisshield.com
ライセンスキーが有効化されていると、アプリは起動時と 4 時間ごとにアップデートを確認し、新しいバージョンをダウンロードします。その際、サーバーがファイルを提供できるようライセンスキーを送信します。
パソコンをライセンスに接続するとき
harisshield.com
新しいパソコンを接続するとき:パソコン ID とパソコンの名前。確認メールで、どのパソコンからの要求かをお知らせするためです。
機能を使ったときだけ
部品の検証(iPhone のフルスキャンの一部)
checkcoverage.apple.com, support-sp.apple.com
Apple でモデルと保証状況を照会するための iPhone のシリアル番号。
Android のスキャン中の証明書の確認
Android のスマートフォンが通信しているサーバー
スマートフォンが HTTPS 接続を開いている公開サーバーの一部に対し、アプリがパソコンから短い TLS ハンドシェイクを行い(1 回のスキャンにつき最大 18 回)、その証明書を確認します。それらのサーバーには、あなたのパソコンの IP アドレスが見えます。ネットワークモニターでは、openssl プロセスとして表示されます。
リアルタイムのネットワークモニター
ipinfo.io
モニターの実行中にスマートフォンが接続する IP アドレス(あなたのものではなく、サーバーのアドレス)。その国と運営者を表示するためです。ご自身の ipinfo トークンを入力している場合は、それも送信されます。
情報漏えいチェック
haveibeenpwned.com
入力したメールアドレス。このチェックにはご自身の Have I Been Pwned API キーが必要です。キーがない場合もリクエストは送信されますが、結果は返ってきません。
エラーレポート(チェックボックスをオンにしない限りオフ)
harisshield.com
あらかじめ決められた項目のみ:アプリのバージョン、OS、アーキテクチャ、失敗した手順、エラーの種類とコード、関数名、iOS か Android か、ライセンスキーの 8 文字のハッシュ。エラーメッセージ、ファイルのパス、スマートフォンの情報、検出結果、ライセンスキー、メールアドレスは決して送信しません。
古いライセンスキーのみ
api.lemonsqueezy.com
HRS- で始まらないキーは Lemon Squeezy を通じて販売されたもので、キーとパソコン ID を使って Lemon Squeezy 側で有効化・確認されます。
有効化の失敗が繰り返された後
harisshield.com
パソコン ID と、失敗した試行の回数。総当たりでキーを推測されないようにするためです。
決して送られないもの
- メッセージ、写真、連絡先、通話履歴、メール
- スマートフォン上のアプリの一覧
- クラッシュレポートや sysdiagnose
- スキャンで見つかった内容や、スキャンレポートそのもの
スキャン結果とレポートは、あなたが削除するか PDF を共有することを選ぶまで、パソコン上のアプリのフォルダにとどまります。
オフラインモードと、その対象外のもの
アプリの設定にあるオフラインモードは、インジケーターのダウンロード、ネットワークモニターでの IP アドレスの照会、情報漏えいチェックを停止します。ライセンスと残高の確認、アップデートの確認、シリアル番号の照会、Android での証明書の確認は停止しません。
通信を一切行わずにスキャンするには、パソコンをインターネットから切断してください。アプリは一度オンラインになれば、最後に取得した署名付きの残高証明をもとに、手元にあるインジケーターを使って最大 14 日間スキャンを続けられます。スキャン回数は、再接続したときに送信されます。
どのツールにも約束できないこと
スマートフォンが安全であることを証明できるツールはない
Haris Shield が見つけるのは、既知の痕跡です。MVT プロジェクトも自身のツールについて同じことを述べています。公開されているインジケーターだけでは、端末が安全だと断言するには不十分です。
最も高度なスパイウェアは隠れたままでいられる
Pegasus 級のツールは、できるだけ痕跡を残さないように作られており、新しいバージョンは誰かがそのインジケーターを公開する前から使われています。こうしたツールは、このスキャンも、他のどのスキャンもすり抜ける可能性があります。
「脅威は見つかりませんでした」は「安全」という意味ではない
既知の痕跡が一つも見つからなかったという意味です。あなたの状況に現実的な危険がある場合は、私たちの結果がどうであれ、下に挙げた専門家にセカンドオピニオンを求めてください。
現在の状況
まだ完成していないものもあります。それが何かを知っておいていただくべきだと考えています。
Apple による公証はまだ受けていません
そのため、macOS は開発元を検証できないと表示し、初回は「このまま開く」を選ぶ必要があります。Apple Developer ID による署名と公証は、現在準備を進めています。
Windows 向けのコード署名はまだ行っていません
そのため、Windows は「Windows によって PC が保護されました」と表示します。コード署名は現在準備を進めています。両方が整うまでは、ファイルが私たちから届いたものであることを OS は確認できません。それを確認できるのは、下にあるチェックサムです。
ビルド
Mac 版は Apple Silicon でのみ、Linux 版は x86-64 でのみ動作します。ダウンロードページをご覧ください。
ご自身で確認する
セキュリティツールは、多くの信頼を求めるものです。ここで紹介するのは、Haris Shield がこのページのとおりに動作しているかを確かめ、私たち以外の誰かにスマートフォンを調べてもらうための、実際に使える独立した方法です。
1. インストーラーを確認する
VirusTotal にアップロードする。ダウンロードしたファイルを virustotal.com にドロップすると、約 70 のウイルス対策エンジンがスキャンします。件数だけでなく、どのエンジンが何を検出し、それを何と呼んでいるかを読んでください。
SHA-512 チェックサムを比較する。お手元のファイルのチェックサムが下の値と一致すれば、そのファイルは私たちが公開したものとまったく同じです。これらは、アプリのアップデート機能が確認しているのと同じ値です。
バージョン 1.0.13:
macOS · Haris Shield-1.0.13-arm64.dmg
128 MB
4fe86b6fddb00fe3292be6dcb5facba1c18fc325e3a794005c083b01453593f4a92cf6e7531e3e2bf35e60fa5108f9ed7b5cb2422a3655741ca0043bf7c889e9
Windows · Haris Shield Setup 1.0.13.exe
110 MB
8108d8091be32424877d796e99ac522a3ce7cf0599b6bb5d87ef175630ee811ee3d4921ea00ddad6b93fbf73bb064cdffc414fca9c4df310493b9e391e0278c1
Linux · Haris Shield-1.0.13.AppImage
124 MB
2072f0f85bf1a9a013e9dbbced8b3184d6050fe86963808a831fa6f43e656ae1d29026f78ca2a9186eddad5ecf9d6ffc744b571ea576fa83db2ffc8666e51b7c
Linux · phoneguard_1.0.13_amd64.deb
98 MB
e5e344a628c9e47ca6204c6493d05763eefff336c679675c9800646f7ba699edab9548d7fb7089c83983d3c1e9673f25d07ce9462391a547516767acdb7ab3cf
Mac(ターミナル)
shasum -a 512 <ファイル名>
Linux(ターミナル)
sha512sum <ファイル名>
Windows(PowerShell)
Get-FileHash -Algorithm SHA512 <ファイル名>
比較する際、大文字と小文字の違いは問題ありません。
2. アプリのネットワーク通信を監視する
スキャン中に、次のいずれかを実行してください。Haris Shield が harisshield.com と通信し、該当する機能を使ったときにだけ上の一覧にあるサービスと通信していることが確認できるはずです。スマートフォンそのものとの接続は USB を通じて行われるため、インターネットの通信としては表示されません。
Mac
- LuLu
Objective-See による、無料のオープンソースツール。アプリが新たに外部への接続を行う前に確認を求め、接続先を表示します。
- Little Snitch
Objective Development による有料ツール。アプリごとのすべての接続を、リアルタイムで地図上に表示します。
Windows
- TCPView
Microsoft Sysinternals による無料ツール。開いているすべての接続を、それを所有するプロセスとともに一覧表示します。
- GlassWire
無料版があります。各アプリがどのホストに接続しているかを表示します。
- Windows Defender Firewall
Windows に標準搭載。ネットワークなしでもスキャンが動作することを確かめたい場合は、Haris Shield を完全にブロックしてください。
Linux
- OpenSnitch
無料のオープンソースツール。LuLu と同様に、外部への接続についてアプリごとに確認を求めます。
3. スマートフォンについてセカンドオピニオンを求める
いずれも私たちとは関係のない団体です。ジャーナリスト、活動家など、標的にされるおそれのある方は、相談窓口に直接ご連絡ください。毎日この仕事に取り組んでいる人たちです。
- Mobile Verification Toolkit (MVT)
Amnesty International Security Lab
Pegasus Project の中で作られた、iPhone と Android 向けの無料のオープンソースのフォレンジックツールです。コマンドラインで動作し、手軽なセルフチェック用ではなく、技術者や調査員向けに作られています。Haris Shield も同じ公開インジケーターを使っています。
- iVerify Basic
iVerify
独立系のモバイルセキュリティ企業による、iPhone と Android 向けのアプリです。スマートフォン自体の上から Pegasus 型のスパイウェアの兆候を調べます。別の角度から見た、有用なセカンドオピニオンになります。
- Digital Security Helpline
Access Now
標的にされていると考えるジャーナリスト、活動家、人権擁護者、市民社会団体のための、24 時間対応・多言語の無料支援窓口です。
- Security Lab — 支援を求める
Amnesty International
Pegasus のような標的型デジタル攻撃の危険にさらされているジャーナリスト、活動家、市民社会団体を支援しています。
- Coalition Against Stalkerware
stopstalkerware.org
パートナーや身近な人にスマートフォンを監視されているのではと心配している人のために、国別の相談窓口や支援団体を紹介しています。その人が一度も触れたことのない端末から調べてください。
このページの内容とアプリの実際の動作が一致しない点を見つけましたか? support@harisshield.com までお知らせください。あわせてプライバシーポリシーもご覧ください。