任意のTwitterアカウントの登録メールアドレス(伏せ字含)を表示させる攻撃が急増中(対策設定有り) というエントリが盛り上がっていたらしい。(とてもシェアされている)
ただ、自分には有用な攻撃シナリオには見えなかったので、考えを整理するために書いておきます。
自分はセキュリティ素人なので、間違った考察かもしれません。

リンク先ブログの主張

  1. Twitterの機能から、(アカウント名, メールアドレスの一部) を取得できる
    • メールアドレスは、最初の2文字と、ドメイン名部分はgmailのみ表示されるが、他は最初の1文字のみ。
  2. (アカウント名, メールアドレスアドレスの一部)のリストから、(アカウント名, アカウント名+ランダム列@gmail.com)のリストを生成する
    • メールアドレスアドレスの最初の2文字と、アカウント名が一致しているものだけを利用する
    • メールアドレスについては、ドメイン部分がgmailしかわからないので、gmail以外には有用でないため
  3. 得られた(アカウント名, アカウント名+ランダム列@gmail.com)の情報を利用して、フィッシングメールを送信
  4. フィッシングメールから偽Twitterページに飛ばして、ログイン情報を盗む

攻撃としての問題点

いずれにせよ、(アカウント名, アカウント名@gmail.com) のリストしか取得できないので、

  1. Twitterからアカウント名のリストを取得
  2. (アカウント名, アカウント名+ランダム列@gmail.com)を機械的に作成
  3. 得られた(アカウント名, アカウント名+ランダム列@gmail.com)の情報を利用して、フィッシングメールを送信
  4. フィッシングメールから偽Twitterページに飛ばして、ログイン情報を盗む

としたほうが手間も少ないし、攻撃できる対象は変わらない。
また、ランダムな文字列を付加せずに、アカウント名@gmail.com固定で送ったほうが効率が良いと思う。
もっと多くのメールを送ることができるなら、@gmail以外にyahooなどにも送っても良いかもしれない。

評価

リンク先ブログの手順をA, このブログで説明した手順をBと書くことにします。

  1. 攻撃の容易さ
    1. リスト作成
      • A では、Twitterのサイトから有用なメールアドレスを得る必要があるが、条件として以下の2つがある上、Twitterにスパムと思われる可能性がある
        • メールアドレスが、アカウント名から始まっていること
        • gmailであること
      • B では、Twitterのアカウントだけあれば、リストが作成できる
    2. メール送信
      • A のほうがBよりは不要なメールは少ない
      • A, Bともある程度の期間で攻撃を達成しようと思えば、大量のメールを送る必要がある
      • A, Bともスパム扱いされない工夫が必要
  2. 攻撃可能なユーザー
    1. A, Bとも同じ
  3. 攻撃成功時に得られる情報
    1. A, Bとも同じ

自分的な結論

自分がこの攻撃を行うなら、Bを採用したいと考えます。
理由としては、

  1. Aの攻撃を達成するには、Twitterのスパム判定回避と、gmailのスパム判定回避の2つを実行する必要がありますが、Bであればgmailのスパム判定回避だけで良いこと。
  2. Aの攻撃とBの攻撃で、攻撃可能対象は変わらない
  3. Aの攻撃とBの攻撃で、攻撃成功時に得られる情報は変わらない

という理由からです。

セキュリティ詳しい人だと異なる結論なのでしょうか...?

まとめ

  1. 盛り上がっている内容の割に、特にセキュリティ的なリスクは変わらない
  2. Twitterの設定を変えても意味がない。予測可能なメールアドレスを登録している限り、同じ攻撃ができる
  3. フィッシングメールには、気をつけよう。パスワード入力する場合は、httpsであることや証明書を確認しよう

Comments

comments powered by Disqus