OAuthを悪用したspam? shoppybag のへの対策

詳細は後で。まずは結論だけ。
 

技術面

  • パスワードの変更は不要(というか、OAuthの使用上、パスワードは盗めない。理由は後述)
  • アクセストークンの無効化手続きは必要かも(有効期限が分からないので、調査中)

 

精神面

  • 知りあいからの招待でも、本人から言及がなかった場合は疑って掛かる(普通なら、招待したよーとか言ってくるよね?)
  • 明らかに必要なとき (e.g. Twilogでのtwitterのタイムライン取得)以外、むやみにAPIの利用許可をクリックしない

 

なぜパスワードの変更が不要なのか

ここ一番誤解が多そうなので敢えて解説。
乗っ取り=ID/パスワードの盗難 ってのは確かに一般的な認識だし、間違ってはいない。
ただ、ID/パスワードが無くても最近は乗っ取りが可能だったりする。
それはOAuthの考え方を悪用すると出来るようになる。
 
OAuthは乱暴に言うと
「アカウントの持ち主が許可したんだから俺もやっていいだろ?」
という申請を出すための仕様。
例えで言うと、
 委任状を持って他人の転出届をしに行く感じ。
1)本来なら、転出届は本人確認(=認証)が必要。
2)だが、正式な委任状があれば、本人以外でも手続きできる。
3)正式な委任状を作成するには本人確認が必要(ex押印する)
4)手続きする人はあくまで「本人確認を経て作成された委任状」しか持っていない(=押印された書類は持っているが、印鑑は持っていない)
 
本件では、役所=google、委任された人=shoppybagに該当する。
印鑑=ID/パスワードと読み替える感じ。
3')ID/パスワードの入力は委任状作成時にしている(これはUser-google間で行う)
5')shoppybagはID/パスワードを知り得ない
と読み替えられる。
 
まあ結論として、ID/パスワードを知らなくても乗っ取りが出来ますよってことです。
パスワードを変える必要はないけれど、パスワードを秘密にして安心していてもらっちゃ困ると。そういうことです。
(あ、もし理解違いがあったら指摘してください。おねがいします)