古いSteamアカウントを乗っ取られかけた話

経緯

一昨年のある日、Steamから以下のようなメールが届きました。

Dear {ユーザー名},

Here is the Steam Guard code you need to login to account {ユーザー名}: {Steam Guard コード}

This email was generated because of a login attempt from a web or mobile device located at 60.179.231.135 (CN). The login attempt included your correct account name and password.

The Steam Guard code is required to complete the login. No one can access your account without also accessing this email.

If you are not attempting to login then please change your Steam password, and consider changing your email password as well to ensure your account security.

新しい端末からSteamにログインしようとすると送られてくる恒例のメールです。ただし上記のメールで通常と明らかに違うのは、ログイン元として中国のIPアドレスが記載されていることです。当時中国に渡航した経験は無く、このログインは明らかに身に覚えのないものでした。そのため、攻撃者が私のSteamのユーザー名とパスワードを何らかの手段で入手しログインを試みた、としか考えられません。

その後すぐに、パスワード管理ソフトを使って100文字のランダム文字列を生成し、Steamのパスワードを変更しました。これで安心と思っていたのですが、2ヶ月ほど後にまたSteam Guardのメールが届いたので驚きです。しかも今度は中国、ブラジル、ベネズエラから複数のログイン試行を受けています。

ここで流石におかしいと思い気が付きました。攻撃者がログインを試みていたのは、私が現在使っているSteamアカウントではなく、10年程前に作成して完全に忘れ去っていた別のアカウントだということに。私がパスワードを変更したのは新アカウントの方だったので、旧アカウントへの攻撃が止まらないのは当然です。新旧どちらのアカウントも同じメールアドレスで登録していたことが混乱の原因でした。

パスワードが漏れた原因

過去に起きた情報流出事件のデータを蓄積している、Have I Been Pwnedというサイトがあります。これで調べた結果、あるサイトから私のメールアドレスとパスワード(のSHA1ハッシュ値)が流出していたことがわかりました。

CDProjektRedのアカウントやSteamの旧アカウントを作成したのは私が小学生か中学生くらいの頃です。当時のセキリュティ知識は皆無に等しく、5文字のパスワードを色々なサイトで使い回していました。攻撃者は、流出した私のメールアドレスとパスワードを利用してSteamでもログインを試みたと考えられます。

ネット上を探すと、MD5SHA1などのハッシュを総当たりでクラックしてルックアップテーブルを公開しているサイトがすぐに見つかります。

パスワードの文字数が短ければ、これらのサイトを使って、ハッシュからパスワードを容易に割り出すことができます。実際に私が使っていた5文字のパスワードもクラック可能でした。

教訓

アカウントハックは他人事ではありません。どんな人でも被害を受ける可能性があります。最低限の対策として、パスワード管理ソフト*1を導入し、各サイトで個別の強力なパスワードを設定するようにしましょう。