GitHubは米国時間の2013年11月19日、ブルートフォース攻撃を受けたことを明らかにした。攻撃の時期や被害を受けたアカウント数は公にしていないが、今回の攻撃を踏まえ、より強固なパスワードや二要素認証などを利用するようユーザーに呼び掛けている。私もGitHubアカウントがありますのでSecurity Historyページを確認したところ、不正ログインの試行が確認されました。IPアドレスは、ベネズエラ、タイ、ブラジルのものです。
GitHubにブルートフォース攻撃、一部のパスワードが破られるより引用
GitHubアカウントをお持ちの方は、念のためSecurity Historyを確認することを推奨します。
今回の不正ログインの特徴は以下のようなものです。
- 少数の「弱いパスワード」に対する試行と思われる
- 1アカウントに対して、時間をおいて少しずつ試行する「ゆっくりした攻撃」
- 4万のIPアドレスからの分散攻撃
- 攻撃のパターンからはパスワードリスト攻撃ではないと思われる
「辞書」のサイズはさまざまでしょうが、数十から数千くらいと推測されます。ペネトレーション検査等では数千以上の「大きな辞書」を使いますが、実際の攻撃では、1つのIDでちょっと試して、だめだったら次のIDで試した方が効率的のような気がします(攻撃対象が誰でも良い場合)。上記の「小さな辞書の方が効率的」と書いたことが現実に行われたと考えます。攻撃対象が誰でもよいと思う理由の1つは、私自身のGitHubリポジトリには価値あるソースコードがない、ということです。
パスワード攻撃に対抗するWebサイト側セキュリティ強化策より引用
となると、犯人の動機が気になるところですが、
- GitHubにホストされたソースにマルウェアを注入したかった(ソフトウェアは何でもよかった)
- GitHubのOAuthでログインできるサイトの不正利用
- その他
この種の攻撃へのサイト側の対策は容易ではありません。攻撃者は、既存のセキュリティ施策をかいくぐるように攻撃をしています。
- アカウントロックを避けるために1アカウントあたり少ない試行で留める
- IPアドレスを4万に分散させ、IPアドレス単位のロックや監視をくぐり抜ける
- 試行を「ゆっくり」行うことにより、試行回数によるロックや監視をかいくぐる
「パスワードはハッカーに推測されます」というエラーメッセージが表示され、このパスワードには設定できません。この辞書チェック機能は最近実装されたものでしょう。GitHubは迅速に対処を進めています。同様の辞書チェック機能は、既にtwitter、google、facebookでは実装されています(参照)。
利用者側の対処はシンプルです。以下を推奨します。
- 推測しにくいパスワードを設定する(必須)
- 他のサイトで使っていないパスワードを設定する(必須)
- 二要素認証を有効にする(推奨)
追記(11:00) 不正ログインが大量に成功したわけではないので、タイトルに「試行」と追記しました。
0 件のコメント:
コメントを投稿