任意のTwitterアカウントの登録メールアドレス(伏せ字含)を表示させる攻撃が急増中(対策設定有り) というエントリが盛り上がっていたらしい。(とてもシェアされている) ただ、自分には有用な攻撃シナリオには見えなかったので、考えを整理するために書いておきます。 自分はセキュリティ素人なので、間違った考察かもしれません。
リンク先ブログの主張
- Twitterの機能から、(アカウント名, メールアドレスの一部) を取得できる
- メールアドレスは、最初の2文字と、ドメイン名部分はgmailのみ表示されるが、他は最初の1文字のみ。
- (アカウント名, メールアドレスアドレスの一部)のリストから、(アカウント名, アカウント名+ランダム列@gmail.com)のリストを生成する
- メールアドレスアドレスの最初の2文字と、アカウント名が一致しているものだけを利用する
- メールアドレスについては、ドメイン部分がgmailしかわからないので、gmail以外には有用でないため
- 得られた(アカウント名, アカウント名+ランダム列@gmail.com)の情報を利用して、フィッシングメールを送信
- フィッシングメールから偽Twitterページに飛ばして、ログイン情報を盗む
攻撃としての問題点
いずれにせよ、(アカウント名, アカウント名@gmail.com) のリストしか取得できないので、
- Twitterからアカウント名のリストを取得
- (アカウント名, アカウント名+ランダム列@gmail.com)を機械的に作成
- 得られた(アカウント名, アカウント名+ランダム列@gmail.com)の情報を利用して、フィッシングメールを送信
- フィッシングメールから偽Twitterページに飛ばして、ログイン情報を盗む
としたほうが手間も少ないし、攻撃できる対象は変わらない。 また、ランダムな文字列を付加せずに、アカウント名@gmail.com固定で送ったほうが効率が良いと思う。 もっと多くのメールを送ることができるなら、@gmail以外にyahooなどにも送っても良いかもしれない。
評価
リンク先ブログの手順をA, このブログで説明した手順をBと書くことにします。
- 攻撃の容易さ
- リスト作成
- A では、Twitterのサイトから有用なメールアドレスを得る必要があるが、条件として以下の2つがある上、Twitterにスパムと思われる可能性がある
- メールアドレスが、アカウント名から始まっていること
- gmailであること
- B では、Twitterのアカウントだけあれば、リストが作成できる
- A では、Twitterのサイトから有用なメールアドレスを得る必要があるが、条件として以下の2つがある上、Twitterにスパムと思われる可能性がある
- メール送信
- A のほうがBよりは不要なメールは少ない
- A, Bともある程度の期間で攻撃を達成しようと思えば、大量のメールを送る必要がある
- A, Bともスパム扱いされない工夫が必要
- リスト作成
- 攻撃可能なユーザー
- A, Bとも同じ
- 攻撃成功時に得られる情報
- A, Bとも同じ
自分的な結論
自分がこの攻撃を行うなら、Bを採用したいと考えます。 理由としては、
- Aの攻撃を達成するには、Twitterのスパム判定回避と、gmailのスパム判定回避の2つを実行する必要がありますが、Bであればgmailのスパム判定回避だけで良いこと。
- Aの攻撃とBの攻撃で、攻撃可能対象は変わらない
- Aの攻撃とBの攻撃で、攻撃成功時に得られる情報は変わらない
という理由からです。
セキュリティ詳しい人だと異なる結論なのでしょうか…?
まとめ
- 盛り上がっている内容の割に、特にセキュリティ的なリスクは変わらない
- Twitterの設定を変えても意味がない。予測可能なメールアドレスを登録している限り、同じ攻撃ができる
- フィッシングメールには、気をつけよう。パスワード入力する場合は、httpsであることや証明書を確認しよう
comments powered by Disqus