Gentoo LinuxのGitHubアカウント乗っ取り原因は「パスワード推測」
先週、本ブログでGentoo LinuxのGitHubアカウントが乗っ取られて、マルウェアを注入されたと紹介しました。
先週の時点では、事件の原因までは分かりませんでしたが、先日Gentoo Linuxからインシデント原因が公表されたようです。
そこで、この記事では、今回の事件の原因と再発防止策について説明していきます。
インシデントの原因とは?
Gentoo Linuxの開発者は、パスワードが推測されて管理者アカウントを乗っ取られたことを明らかにしました。
もしパスコード等の2段階認証を使用していれば、パスワードを推測されたとしても管理者アカウントを乗っ取りを防げたかもしれません。
Gentooのインシデントレポートには、事件の原因について以下のように書かれています。
"攻撃者は、Administrator権限を持つパスワードを奪取しました。(我々が)集めた証拠から推察すると、別サイトから漏えいしたパスワードによってパスワードの推測が容易になったことが原因だと分かりました。"
また、GitHub上のOrganizationのコピーも取っていませんでした。
更に悪いことに、systemd repoはGentooからのミラーではなく、GitHubに直接保存されていたようです。
不幸中の幸い?
不幸中の幸いとして、悪意を持った何者かの攻撃が大胆なものだった事が挙げられます。
実は、Admin権限を持つアカウントをダッシュした攻撃者は、アカウントを使って別のGitHubアカウントを削除したのでした。
その結果、通知メールがGentoo開発者に送信されて気づくことが出来たのです。
そのおかげでGentooとGithubは異常検知から約70分足らずで攻撃を防ぐ事ができました。
Gentooが公表したレポートには更に、攻撃者はアカウント上のデータを全て削除するよう強引にPushしたことで、攻撃者のその後のPullリクエストが分かりやすくなったと指摘しています。
実はメインのGentooレポジトリはGentoo開発者が管理する環境に保存されており、GitHubはミラーとして使っていたのでした。
そのおかげで、GitHubアカウントの秘密鍵とGentooが管理するインフラに影響はありませんでした。
攻撃の影響
今回の攻撃により、Gentoo Proxy Maintainers ProjectはGitHubでPullリクエストが使えなくなっています。
また、過去のPullリクエストもすべて元のコミットから切断され、クローズされてしまいました。
現在はGitHubに、過去のプルリクエストを復旧可能か確認中のようです。
GitHubアカウントを奪取した攻撃者は、レポジトリに"rm -rf"を加えたようですが、Gentooの仕組み上動作しないようになっていたため、影響はありません。
Gentooが取った再発防止策
Gentooが攻撃を受けて取った再発防止策は以下の通りです。
- 定期的なGitHub Organizationのバックアップ
- 2段階認証のデフォルト化
- インシデント対応計画の作成
- 未使用アカウントの削除
- 高い権限を持つユーザを減らす
- ログインの監視
- パスワードマネージャーの使用
- ハードウェアベースの2段階認証
現在、誰が攻撃したかまでは分かっておらず、法的処置を取ったのかどうかも分かっていません。
[原文へ]