個人的反省会
今回の記事は反省点、今後の改善策をまとめた備忘録のようなものになっています。
そのため、普段のようなスタイルの記事ではないことにご理解をよろしく御願い致します。
事例概要
Twitterのフォロワー(特定1名)のアカウントを乗っ取った犯人(以下乗っ取り犯)が、漏洩した情報やクラッキング等を行い得た情報を用いて住んでいる寮のネットワークに侵入、端末の情報を監視できる状態になってしまった。
被害状況
・Googleアカウント:パスワードリセットのリクエスト複数回受信。
・Microsoftアカウントパスワードリセットリクエスト複数回受信。
・Discordアカウント:セッション情報か何かを使用し他者がログイン可能に?
※明らかな被害がないため不明。
・端末:Xperia XZ1 Compactのroot状態が犯人に筒抜け状態。
・個人:乗っ取られていることへの恐怖からの精神ダメージ(めっちゃ病んだ)
何がいけなかったのか
・メインで使用していたXperia XZ1 Compactはroot権限を取得している状態であった。
→root権限はシステムに関して強い権限を持ち、システムを完全に制御できる権限を持つ。裏を返せば悪意を持った第三者が情報を抜く場合、ユーザーに気づかれないようにこっそりツールを仕込むことも可能。そうした状態の端末に連絡先やネット銀行の情報、その他日常で使用する情報を入れていた。
→こう文面に起こせば明らかに危険な状態の端末であり、日常で使うべきでない端末であると理解できるが、これまでに特に大きな被害を受けていない(iPhone 5sをJailbreakした状態でしばらく常用しても特に被害はなかった)ことから油断してしまっていた。また、昔のAndroidではroot権限取得は今よりもポピュラーであり、昔大丈夫なら今でも大丈夫だろうという思い込みもあったことは否めない。
・共用ネットワークを使用していた
→住んでいる寮にて用意されていたネットワークにファイアウォールを設けずそのまま接続していた。数日前に調査した際に他の部屋の機器が見えている状態であることは認識していたが、Windows Defenderのポリシーを上げていることから変なことは行われないだろうと認識していた。
→私を狙う際に寮のネットワークに侵入してしまったため、他の部屋の住人へもリスクが及んでしまう結果となってしまった。
直接的な原因ではなかったもののセキュリティ的観点からよくなかったもの
・Windows 11をサポート外デバイスにインストールしていた
→Windows 11は第8世代以降Intel CPU、TPM2.0、UEFI、SecureBootを搭載したPCでしか動かせない(AMD CPUの基準は考えない)が、Core 2 Quad Q8300、P5マザーのマシンで動かしていた。
→これに関しては正直直接的な大きい原因ではないと考えている。Windows 11にて実装されたセキュリティ機能については、CPU命令がらみでWindows 10 21H2時点でもある程度古いCPUでは動かないと明記されていたが、ソフトウェア的な意味ではこれまでのバージョンよりも脆弱性対策が行われているわけであり、また月ごとの累積更新プログラムもインストールしていたのでまだマシなほうではあったはずである。
→ただし非サポートデバイスということには変わりなく、Microsoft側でもインストールは「自己責任」ということにしている。そのため、Windows 11非サポートデバイスかつWindows 11という環境ならではの脆弱性があった可能性もある。
・Windows Defenderを過信しすぎていた
→Windows Defenderはかなり優秀なソフトウェアであり、むしろWindows 8以降では下手にサードパーティ製アンチウイルスを入れるとシステムが不安定になってしまうこともあるため、事実上唯一の(Windowsから見て)お行儀のいいアンチウイルスソフトウェアである。
→初期状態だと対策が不十分でポリシーを設定して保護レベルを上げておくとよいと聞いていたため、コントロールされたフォルダーアクセス等を使用し保護レベルを上げていた。
→しかし、今回乗っ取りの被害に遭ったフォロワーはそうした設定を行っていてもPCに深刻なダメージを与えられたらしく、Defenderだけを強くしても意味がないということを再認識した。
直近の応急処置的な対策
・通信はVPNを通して行う
→通信内容を傍受されてしまう可能性があるため、VPNを使用する。iOS端末ではiCloudプライベートリレー、Windows端末ではProtonVPNを使用している。
・Bootloader Unlocked、rooted、Jailbrokenなデバイスをネットにつながない
→言うまでもない。特に共用ネットワークを使用しているならばなおさらのことである。いくらインターネット側のルールを強くしても端末内でマルウェアを実行されては意味がない。Android端末においては、root権限を取得していなくてもBootloader Unlockedな時点でAVB(Android Verified Boot)は正しく機能しない。dm-verityでsystemの改変が保護されているといっても、Bootloader Unlockedな時点で好き放題任意のイメージを書き込むことができるので意味がない。
・サポートされているOSを搭載した端末のみインターネットに接続する。
→ある意味当然ではあるが、特にスマホの場合は忘れがちである。私の場合は普段からiOS 14の端末やAndroid 8未満の端末等、すでにアップデートの終了したOSの端末を接続していた。
→iOSに関しては具体的に足切りされたOSがわかるが、Androidに関してはGMSのサポートもあるので一概にどのOSがサポート外とは言えないのも事実。そのため、私の中では2019年よりも前のセキュリティパッチの端末は古い端末と認定している。少なくともiOS 14以前、Android 7.0以前は確実にサポートが切れている、もしくは古いOSといえるだろう。
今後行っていく対策
・回線を契約する
→共用ネットワークでは自分自身も危険になるし、今回のように他人にも迷惑をかけかねない。寮に住んでいるため工事不要のWiMAX回線を契約しようと考えている。
・root、Jailbreakを行う端末には重要なデータを置かない。
→今後も実験や勉強で行うことになるため。Googleアカウントも普段使いとは別のものを使用し、個人的なデータは置かないようにする。
・通信ログをとるようにする。
→Wireshark等を使用し、定期的に不審な通信が発生していないか確認する。
まとめ
自分のセキュリティへの甘さから起こってしまった事例である。
これまでもこうしたことはちらほら聞いていたが、やはり自分の身に降りかかるまではどこか他人事のように感じるのである。
たらればにはなってしまうが、対策をある程度行っていれば今回のように精神的ダメージを負うことはなかったのである。
もしこの記事を読んでいる方がいれば、他人事、後で、私なら大丈夫などと思わず今すぐにでも対策を行っていただきたい。「私は詳しいから平気」という考えのせいで今回の事例は起こってしまっているのだ。
また、朝に半ば急ぎ気味に書いた記事であるため、意味不明な文章等もあると思うがそこはご了承いただきたい...
今回の悪かった点、対策点を教えてくれたnim1z氏