まだまだ続く不正ログイン事件

4月に「複数の会員サイトへの不正ログイン事件が発生」という記事を書いたのだが、その後も多くのサイトで不正ログイン事件が起きている。前回紹介したものも含め、3月から7月にかけて発生した事例についてまとめておく。

まとめ
対象 期間 試行回数 不正ログイン件数 (*1) 成功率 (*2) 影響範囲
WebMoney 8/28 - 8/29 - 1,261 - 顧客情報の閲覧
ポイントタウン 8/20 - 8/22 - 6,765 - 顧客情報の閲覧はなし
ヤプログ! 8/20, 8/24, 8/27 - 5,755 - 顧客情報の閲覧
@games 8/3 - 8/13 - 83,961 - 顧客情報の閲覧
Ameba 4/6 - 8/3 - 243,266 - 顧客情報の閲覧
GREE 7/25 - 8/5 - 39,590 - 顧客情報の閲覧
Tサイト 7/25 - 7/26 - 27 - ポイント不正利用を確認
ニフティ 7/14 - 7/16 - 21,184 - 顧客情報の閲覧
楽天 5/10 - 7/10 - - - ポイントの不正利用を確認
KONAMI 6/13 - 7/7 3,945,927 35,252 0.89% 顧客情報の閲覧
任天堂 6/9 - 7/4 15,457,485 23,926 0.15% 顧客情報の閲覧
ニッセン 6/18 11,031 126 1.14% 顧客情報の閲覧(?)
じゃらんnet 2/14 - 2/16, 6/3 - 6/15 - 27,620 - 顧客情報の閲覧
ハピネット 4/24 - 5/31 - 9,609 (最大16,808) - 顧客情報(カード含む)の閲覧
阪急阪神百貨店 - 5/13 - 2,382 - 顧客情報(カード含む)の閲覧
三越伊勢丹 5/6 - 5/23 5,202,002 8,289 0.16% 顧客情報の閲覧
資生堂 5/6 - 5/12 約240,000 682 0.28% 顧客情報の閲覧(?)
ディノス 5/4 - 5/8 約1,110,000 約15,000 1.35% 顧客情報の閲覧
mopita 4/18 - 4/19 - 5,450 - 顧客情報の閲覧
NTT東日本 4/9 - 4/10 (*3) 約24,000 77 0.32% 顧客情報の閲覧
eBookJapan 4/2 - 4/5 2,821 779 27.61% (*4) 顧客情報(カード含む)の閲覧
goo 4/1 - 4/9 - 108,716 - 顧客情報の閲覧はなし
JR東日本 3/31 約26,000 97 0.37% 顧客情報の閲覧(?)
Tサイト 3/26 - 299 - ポイントの不正利用を確認

(*1) 各事例において、不正ログイン件数に重複が含まれるのか、重複を除いた IDの件数なのかは不明。したがって成功率の意味合いも事例によって異なる可能性がある。
(*2) 成功率は試行回数全体に占める不正ログインに成功した件数の割合を示す。(成功率 = 不正ログイン件数 / 試行回数)
(*3) この期間の他に 4/4に 30件の不正ログインが確認されている。
(*4) eBookJapanへの攻撃の成功率が非常に高いのは、存在しない IDへのアクセス数が試行回数の中に含まれていないためだと思われる。

疑問

これらの事例を見ていて感じるギモンを挙げておく。

  • 他社サービスから流出した情報を利用したパスワードリスト攻撃を受けたと主張しているサイトもあるが、総当たり攻撃(ブルートフォース)や辞書攻撃ではなくパスワードリスト攻撃だとする根拠はなにか? (eBookJapanは根拠となる具体的なデータを提示している。)*1
  • 攻撃者の動機がよくわからない。ポイント不正利用は金銭に直接結びつくのでわかりやすいが、その他は何を目的としたものなのか? 特にログインに成功しただけで顧客情報も閲覧していないものは?
  • 同時期に同業種のサイトが攻撃を受けていると思われる事例があるが、これらは同じ攻撃者によるものなのか? 他の事例ではどうなのか?
  • 日本の事例ばかりを取り上げたが、海外でもこの種の攻撃は起きているのか?
  • ユーザによるパスワードの使い回しは実際どの程度行われているのか?
パスワードの使い回し

最後のギモンについてはいくつか参考になりそうなデータを挙げておく。

  • eBookJapanのケースでは 1回のアクセス試行しかしていない IDが (成功と失敗をあわせて) 1,713で、このうちログインに成功した IDが 386。1回のみ試行しているパスワードが他社から漏洩したものと仮定すると、22.53%のユーザがパスワードを使い回していることになる。
  • 海外の複数のパスワード情報漏洩事件において、これらのサイトに共通するアカウントのパスワードを分析したところ、60%以上のユーザが使い回しをしていたとの報告もある。(例1例2)
  • 2007年に Microsoftの研究者が約54万人を対象に行った調査では、平均的なユーザはおよそ25サイトにアカウントを持っていて、約6.5個のパスワードを利用している。つまり 1つのパスワードを 4つのサイトで使い回している。("A Large-Scale Study of Web Password Habits")
  • 2012年に IPAが行ったアンケート調査 (5,000名が回答) では、「サービス毎に異なるパスワードを設定している」と回答したのは全体の 22.2%だった。(「2012年度 情報セキュリティの脅威に対する意識調査」報告書について)
  • 2012年に トレンドマイクロが行ったアンケート調査 (316名が回答) では、約7割のユーザが3種類以下のパスワードを複数のWebサイトで使いまわしていると回答した。1つのパスワードを使い回しているユーザも 13.9%いた。(プレスリリース- 2012/12/14)
海外の事例

具体的な事例ではないが、Akamaiが先月リリースした最新の 'State of The Internet' レポートの中に、不正ログイン事件に関して触れている部分がある。以下に該当箇所から一部引用する。

The State of the Internet

In the first and second quarters of 2013, Akamai observed attempted account takeover behavior for a number of merchants resulting from reuse of credentials obtained from other sites. Lists of username and password combinations are available in carder forums or on pastebin, or acquired from compromised merchants. Because users often use the same username and password across multiple merchants and other non-commerce sites, this allows attackers to use the compromised credentials on a number of target merchants.

Attackers have been using automated tools — known as “account checkers” — to quickly determine valid user ID/password combinations across a large number of e-commerce sites. Using these tools, attackers can identify valid accounts rapidly and gain access to the accounts, acquiring names, addresses and credit card data from user profiles, and can also fraudulently acquire merchandise.

参照

WebMoney
「WebMoneyファンクラブ」サイトへの不正ログイン発生に関するお知らせ (2013/08/29)

ポイントタウン (GMOメディア)
「ポイントタウン」への不正ログインの可能性について (2013/08/21) (8/23に更新)

ヤプログ! (GMOメディア)
「ヤプログ!」への不正ログインの可能性について (2013/08/21) (8/24,27に更新)

@games (GCREST)
【重要】アットゲームズ(セルフィタウン)への不正ログインに関するご報告 (2013/08/14)
【不正ログインについて】追加ご報告(8/16) (2013/08/16)

Ameba (サイバーエージェント)
「Ameba」への不正ログインに関するご報告 (2013/08/12)
「Ameba」への不正ログインに関する追加ご報告 (2013/08/16)

GREE
「GREE」への不正ログインに関するご報告 (2013/08/08)

Tサイト (CCC)
Tサイトへの不正ログインによるなりすまし被害について (2013/04/05)
Tポイント不正利用についてのお知らせとお願い (2013/07/26)

ニフティ
不正なログインの発生について (2013/07/17)

楽天
他社サイトから流出したID・パスワードを使った不正ログインの発生およびパスワード変更のお願いについて (2013/07/10)

KONAMI (コナミデジタルエンタテインメント)
「KONAMI IDポータルサイト」への不正ログイン発生のご報告とパスワード変更のお願い (2013/07/09)

任天堂
「クラブニンテンドー」サイトへの不正ログイン発生のご報告とパスワード変更のお願い (2013/07/05) (7/9に更新)

ニッセン
【重要】ニッセンオンラインショッピングサイトへの不正ログイン状況、及びお客様へのお願いについて (2013/06/19)

じゃらんnet (リクルートライフスタイル)
じゃらんnetへの「なりすましログイン」検知のご報告とパスワード変更のお願い (2013/08/08

ハピネット
オンラインショップへの不正アクセスについて (2013/06/03)
オンラインショップへの不正アクセスについて(経過報告)(2013/06/07)

阪急阪神百貨店 (エイチ・ツー・オー・リテイリング)
阪急・阪神百貨店オンラインショッピング、不正アクセスについて (2013/05/29)

三越伊勢丹
三越オンラインショップ・不正アクセスについて (2013/05/25)

資生堂
ワタシプラスにおける不正ログイン被害について (2013/05/17)

ディノス
【重要】セキュリティ強化のためのパスワード変更のお願い (2013/05/08)
【重要】弊社運営のオンラインショッピングサイトへの不正ログイン被害について ※セキュリティ強化のためのパスワード変更のお願い(第二報) (2013/05/09)
【重要】弊社運営のオンラインショッピングサイトへの不正ログイン被害について ※お客様情報を守るための【パスワード確認】のお願い(第三報)(2013/05/13)
【重要】弊社運営のオンラインショッピングサイトへの不正ログイン被害について ※お客様情報を守るための【パスワード確認】のお願い(第四報)(2013/05/16)

mopita (エムティーアイ)
弊社サービスへの不正ログイン被害のご報告 (2013/04/22)

NTT東日本
フレッツ光メンバーズクラブ会員サイトへの不正アクセスについて (2013/04/04)
不正アクセスへの対応等について (2013/04/10)

eBookJapan
重要なお知らせ】不正ログインに関する最終報告 (2013/04/05) (4/6, 4/9, 7/23に更新)

goo (NTTレゾナント)
gooIDアカウント不正ログイン被害について (2013/04/03)
gooIDアカウント不正ログイン被害について(続報)(2013/04/04)
gooIDへの不正ログイン被害について(終報)(2013/04/09)

JR東日本
My JR-EAST での不正ログイン発生とご利用のパスワード変更のお願い (2013/04/17)


更新履歴
(2013-08-07) 海外事例について Akamaiのレポートの内容を追記。
(2013-08-08) GREE、じゃらんnetの事例を追加。
(2013-08-12) Amebaの事例を追加。
(2013-08-19) @gamesの事例を追加。IPAトレンドマイクロのアンケート調査結果について追記。
(2013-08-20) 不正ログイン件数などを一部補足、修正。
(2013-08-22) GMOメディアの 2件の事例を追加。
(2013-08-30) WebMoneyの事例を追加。

*1:1%前後の成功率であることから、辞書攻撃やパスワードリスト攻撃、あるいはリバースブルートフォース攻撃などの可能性が高いと考えられる。

Operation Ababil Phase 4 開始

このブログでも度々紹介している米金融機関への DDoS攻撃作戦 "Operation Ababil"。3月初めから Phase 3が開始され、5月上旬から一時中断していましたが、先週から Phase 4として再開してしまいました。

Phase 4, Operation Ababil - Pastebin.com

Well, misters! The break's over and it's now time to pay off.

After a chance given to banks to rest awhile, now the Cyber Fighters of Izz ad-Din al-Qassam will once again take hold of their destiny.

As we have said earlier, the Operation Ababil is performed because of widespread and organized offends to Islamic spirituals and holy issues, especially the great prophet of Islam(PBUH) and if the offended film is eliminated from the Internet, the related attacks also will be stopped.

while the films exist, no one should expect this operation be fully stopped.

planing the new phase will be a bit different and you'll feel this in the coming days.

"Mrt. Izz ad-Din al-Qassam Cyber Fighters"

以前からの主張を繰り返しており、攻撃のきっかけとなった反イスラム映画の YouTubeビデオが削除されればすぐに攻撃を停止するとのこと。これまでの攻撃では数十Gpsクラスの大規模な DDoS攻撃を実施しており、米国の金融機関は今回も警戒していると思います。すでに複数の金融機関が被害にあったとのニュースもでています。引き続き今後の状況を注視したいと思います。

Facebookの「セキュリティのための質問」を再設定する方法

前回の記事に書いたように、Facebookではパスワードをリセットするための一つの方法として「セキュリティのための質問」を利用することができる。ただし問題がひとつある。Facebookでは一度設定した「セキュリティのための質問」をあとから変更することができない。他人が容易に推測できるような回答をうっかり設定しまう場合を考えると、これは非常に危険である。3人の架空のアカウントで友達になって…などとわざわざ面倒な方法を使わなくても、簡単にアカウントが乗っ取れてしまう。

そこでどうしても過去に設定した「セキュリティのための質問」を変更したい人のために、ややトリッキーではあるが変更することが可能な方法を紹介する。(ただし正規の手順というわけではないので、実行する場合は自己責任で*1。)

なお現在は「セキュリティのための質問」に代わる機能として「信頼できる連絡先」の機能が提供されている。「信頼できる連絡先」を設定すると「セキュリティのための質問」は無効になるので、こちらを使うことをオススメしておく。(「セキュリティのための質問」はアカウント設定に項目が表示されない。現在の設定状況を確認したい時はこのURLで確認できる。)

(2013-08-13 追記)
追加で検証したところ、上記の『「信頼できる連絡先」を設定すると「セキュリティのための質問」は無効になる』は間違いだということがわかった。「信頼できる連絡先」と「セキュリティのための質問」とを両方設定したアカウントでパスワードリセットを試みると、画面遷移上は「信頼できる連絡先」しか利用できないように見える。しかし直接「セキュリティのための質問」を利用するための URLにアクセスすると、「セキュリティのための質問」を利用してリセットすることが可能。
(別記事も参照のこと。)

概要

この方法の鍵となるのは、設定済みの「セキュリティのための質問」が悪用されてしまいもはや安全ではない、と Facebookに認識させることにある。手順の(1)で「セキュリティのための質問」に正しく回答する必要があるため、自分で設定した回答を忘れてしまった場合にはこの方法は使えない。また手順(2)では現在のパスワードでログインし直す必要がある。

前提条件
・対象となるFacebookアカウントにログインできること (現在のパスワードを知っていること)
・設定済みの「セキュリティのための質問」の回答を知っていること

手順
(1) パスワードリセット機能を利用してパスワードを再設定する。
(2) 古いパスワードでログインする。
(3) アカウント再開の手続きを行う。

以下、順に詳しくみていく。

1. パスワードをリセットする

まずはパスワードリセット機能を使ってパスワードを再設定する。このとき「セキュリティのための質問」に回答する。*2

1-1. 「パスワードを忘れた場合はこちら」をクリックする。
1-2. メールアドレスや名前などを入力して対象のアカウントを特定する。
1-3. 「上記メールアドレスが利用できない場合」をクリックする。
1-4. 新しいメールアドレスを入力する。
1-5. 「セキュリティのための質問」に対する回答を入力する
1-6. 新しいパスワードを入力する。

このあと (1-4) で入力したメールアドレスにリンクが送られてくるが、何もしなくてよい。また (1-6) で設定したパスワードは以降の手順では使用しない。

ちなみに (1-4) のメールアドレス入力画面が表示されず (1-5) の画面に遷移しない場合や、直接 (1-5) の URLを指定してもエラーが表示される場合、そのアカウントでは「セキュリティのための質問」が設定されていないか、無効になっている*3

2. 古いパスワードでログインする

パスワードリセットを実行したあと、古いパスワードでログインする。アプリやブラウザなどログイン済みのセッションが存在する場合には強制的にログアウトされるので、再度ログインを行う*4
ここは重要なポイントなので間違えないように。さきほど新しく設定したパスワードではなく、そんなものは知らないよーと何食わぬ顔をして古いパスワードを使うこと。

2-1. 古いパスワードでログインする。
2-2. 「誰かがあなたのアカウントにアクセスしようとしました」というメッセージが表示される。
→ 「私ではありません」をクリックする。
2-3. 「誰かがアカウントにアクセスしようとしましたか?」 というメッセージが表示される。
→ 「アカウントの安全を確保」をクリックする。

(2-1)の時点ではパスワードリセットが実行されたあとで、アカウントはロック状態になっている。しかし古いパスワードでログインし、パスードリセットは自分が実施したものではないと申告することにより、正規のユーザではない第三者が不正にパスワードリセットをかけたことにできる。この場合、古いパスワードでログインしてきたのが正規ユーザと判断され、アカウントを再開するための手続きが開始される。

3. アカウント再開の手続きを行う

ここでは新しいパスワードの設定、登録されているメールアドレスの確認、このアカウントで最近行われた設定変更の確認などが行われる。その中で今回の目的である「セキュリティのための質問」も再設定することができる*5。(ただし設定を無効にすることはできない。)

3-1. 「セキュリティのための質問」に回答し、本人確認を行う。
3-2. 新しいパスワードを設定する。
3-3. メールアドレスを確認する。
3-4. 最近行われた変更内容を確認する。
3-5. 「セキュリティのための質問」を再設定する。
3-6. 「ログイン」をクリックすると、アカウントのロックが解除される。

以上で再設定は完了。おそらくこの方法で再設定したい人はほとんどいないし、誰得な情報ではあるが、せっかく調べたので一応記事にしておく。

*1:再設定によって、「セキュリティのための質問」を使ったパスワードリセット機能が無効になる可能性がある。まあ悪用はされなくなるので目的は達成していると言える。

*2:パスワードリセットは普段ログインしている環境とは異なる環境から実施したほうがよい。例えば Tor Browserを使用するなど。

*3:「セキュリティのための質問」を設定した直後も無効になっており、数日経過しないと有効にならない。

*4:強制的にログアウトされるかどうかはパスワードリセット時の設定による。

*5:画面キャプチャするのを忘れたので細かい手順は省略。またアカウント再開がこのとおりにスムーズにいかない可能性もある。→ 手順を再度確認できたので追記した。

Facebookのパスワードリセット機能のまとめ

Facebookのパスワードを忘れてしまった場合、「パスワードを忘れた場合はこちら」のリンクから、パスワードを再設定することができる。いわゆるパスワードリセット機能で、大抵の Webサービスには似たような機能があると思うが、Facebookでは実に多様な方法でパスワードをリセットすることができる。そしてこれがセキュリティ上問題になったり、混乱を生む原因にもなっているのではないかと思う。ということで Facebookのパスワードリセット機能についてまとめておく。(続編も一緒にどうぞ!)

通常の方法

まず、もっともポピュラーな方法として以下がある*1

1-1. Googleアカウントでログインする
1-2. 登録しているメールアドレスにメールで確認コードを送る
1-3. 登録している携帯電話に SMSで確認コードを送る
1-4. コードジェネレータを利用する

FacebookGmailのメールアドレスを登録している場合、Googleアカウントでログインするのが最も簡単な方法だ (1-1)。Facebookに登録された Googleのアカウントでログインし、Facebookにメールアドレスの表示を許可するだけで OK。すぐに新しいパスワードを再設定することができる。(Google以外にもアカウント連携できるものがあるかも。未確認。)

Gmail以外のメールアドレスを登録している場合や携帯電話番号を登録している場合には、(1-2) か (1-3) の方法で 6桁の確認コードを受信できる。またログイン承認 (いわゆる 2段階認証) の機能に用いられるコードジェネレータを有効に設定している場合には、それを使ってもよい (1-4)。いずれの場合でも確認コードを正しく入力できればパスワードの再設定が可能だ。

ややイレギュラーな方法

次に上記のいずれの手段も利用できない場合に使う方法を紹介する。スマホを紛失したり、メールアドレスにもアクセスできないというかなり特殊な状況だとは思うが、こういう緊急時(?)でもパスワードをリセットすることができる。

2. セキュリティのための質問に回答する

「セキュリティのための質問」は他のサービスでは「秘密の質問」などと呼ばれることもある。本人以外には知りえない情報をあらかじめ登録しておき、その内容を答えさせることで本人かどうかを確認するものだ。しかし実際には、質問の選択肢が限定されていて、質問の内容も本人以外が容易に知りうるものが多く、アカウント乗っ取りに利用されるケースもある。なかなか問題の多い機能である。

Facebookでは以下の 6つの中から質問を選択して、あらかじめ回答を登録しておく。

  • 小学校1年生の時の担任の先生の苗字は?
  • お母さんが生まれた町の名前は?
  • 8才の時に住んでいた町の名前は?
  • 小学校3年のときの担任の先生の名前は?
  • おじいさんの職業は?
  • おばあさんの職業は?

選択肢が少ないうえに、本人以外には知りえない秘密かと言われれば疑問を感じるものもある。

ところで秘密の質問を使ってパスワードリセットを行うのは他のサービスでは一般的に行われているが Facebookではやや日陰の存在だ。なぜかというと、実は Facebookでは設定することをもはや推奨していないからだ(後述する「信頼できる連絡先」の利用をすすめている)。機能としては存在しているのに、設定項目としてどこにも表示されないのである。以前は「アカウント設定 > セキュリティ」の中に項目として表示され、一度設定を行うと以後表示されなくなっていた。しかし現在は設定の有無に関係なく表示されないようになっている*2

また「セキュリティのための質問」は一度設定すると以後その内容を変更することができなくなる。その理由はヘルプによると、次のとおりである。

セキュリティのための質問を変更することはできますか。

ユーザーのアカウントと情報を安全な状態に維持するため、アカウントのセキュリティのための質問を一度設定すると、変更することはできません。ご不便をおかけして申し訳ありません。

うっかり間違って他人が容易に推測可能な回答を設定してしまった場合はどうすればいいのだろうか。設定してもあとから変更できるようにするべきだと思うがこういう仕様なので仕方がない。(実はちょっとした技を使うと再設定することはできるのだが、それについては別記事で。)
ちなみに Yahoo! Japanでも Facebookと同じように、一度設定すると変更できない仕様になっている

というわけなので、Facebookの「セキュリティのための質問」は強制ではないし、設定項目にも表示されないし、一度設定したら変更できないし、うっかり簡単な答えを設定したら悪用される危険性が高いので、設定しないほうがいいと思う。万が一の場合に備えて設定しおきたいという奇特な人は、ランダムな回答を登録してパスワード管理ソフトにでも覚えさせておけばいい。

なお設定項目に表示されないため、自分が過去に設定したかどうか忘れてしまうこともあるだろう。そういう場合には以下の URLにアクセスすると、セキュリティのための質問を設定したか確認することができる。

https://www.facebook.com/update_security_info.php (要ログイン)

3. 友達の助けを借りる

さて次に SNSらしいユニークな方法が「友達の助けを借りる」というものだ。これは実際には次の 2つのパターンにわかれる。

3-1. 信頼できる連絡先を事前に登録している場合

信頼できる連絡先」とは何かというと、パスワードリセットを行う際に助けてもらう友人をあらかじめ登録しておく機能のことだ。3〜5人の友達をあらかじめ登録しておくことができる。この場合のパスワードリセットの手順は以下のようになる。

  1. あらかじめ登録した友達 3-5人の中から 3人の友達に連絡する。
  2. 友達にこの URL にアクセスしてコードを取得してもらい、そのコードを聞く。
  3. 3人から聞いた 3つのコードを入力する。

3つのコードがすべて正しく入力できれば、パスワードを再設定することができるようになる。
これは「セキュリティのための質問」に代わるものとして今年 5月に導入された比較的新しい機能なので、まだ利用できないユーザがいるかもしれない*3

3-2. 信頼できる連絡先を登録していない場合

信頼できる連絡先を登録していない場合はどうなるかというと、実はパスワードリセットを行う際にあとから助けてもらう友人を選択することもできる。この場合の手順は以下のとおり。

  1. 友達一覧の中から 3人の友達を選択する。
  2. 3人の友達に手順を説明するメッセージが送信される。
  3. 3人の友達から確認コードを取得し、3つのコードを入力する。

基本的な手順はさきほどとほとんど変わらないが、助けを借りる友達をあらかじめ登録しておくか、あとから選択するかという点が異なる。そしてこの違いが実は問題で、いわゆる「3人の架空アカウントと友達になると乗っ取られる」問題はこの機能を悪用するものだ。フェイスブックナビが注意喚起をしたことで最近ちょっと話題にもなったが、実はこの問題自体は約 2年前から存在している。そしてこれを解決するために改良されたのが前述の「信頼できる連絡先」の機能である。

攻撃者はあらかじめ架空のダミーアカウントを複数登録し、ターゲットとなるアカウントに友達申請をする。運良く 3人の友達(いずれもダミー)が承認されれば、(3-2)の手順を利用して攻撃者はターゲットのアカウントのパスワードをリセットできるという仕組みだ。しかしこの乗っ取り方法は攻撃者からすれば面倒で効率が悪いし、2年も前から存在するのにこの方法で乗っ取られたという話は聞いたことがない。
また最近新しく登録したアカウントではそもそもこの方法は有効になっていないほか、古いユーザのアカウントでも無効になっている場合がある。おそらくセキュリティの設定項目などが影響しているのだと思うが、無効になるアカウントの条件がはっきりしないため、この攻撃方法が有効なアカウントの総数もよくわかっていない*4。まああまり心配する必要はないと思うが、心配な人は「信頼できる連絡先」を登録しておけばよい*5

まとめ

  • Facebookのパスワードリセットの方法はいろいろある。
  • (2)と (3-2)の方法は攻撃者に悪用されるかもしれないので要注意。
  • 通常の方法が使えない緊急時に備えるのであれば、「セキュリティのための質問」は設定しないで、「信頼できる連絡先」を設定しよう
  • アカウントによってどの方法が使えるかはそれぞれ異なる(設定項目の有無や、登録時期など様々な要素が影響すると思われる)。
  • 自分のアカウントではどの方法が使えるのか、一度確認しておくべきFacebookは告知もなしに頻繁に仕様を変更するので、定期的に確認するのもいいかもしれない。
1. 通常の方法
 1-1. Googleアカウントでログインする
 1-2. 登録しているメールアドレスにメールで確認コードを送る
 1-3. 登録している携帯電話に SMSで確認コードを送る
 1-4. コードジェネレータを利用する
2. セキュリティのための質問に回答する
3. 友達の助けを借りる
 3-1. 信頼できる連絡先を事前に登録している場合
 3-2. 信頼できる連絡先を登録していない場合

*1:この他にもあるかもしれないが未確認。

*2:いつからこのような変更が行われたのか、よくわからない。信頼できる連絡先の機能が提供されたあとからか?

*3:Facebookでは新機能が全ユーザに行き渡るまでに数週間かかることが多い。

*4:おそらく近いうちにこの機能は全ユーザで無効になると思われる。

*5:ただし「信頼できる連絡先」を設定しているにもかかわらず、(3-2)の手順が実行できるアカウントが存在する。どういう条件でそうなるのかわからない。

NSAの監視プログラムに関する米政府の主張

Edward Snowden氏のリークによって大騒動となっている NSAの監視プログラムについて、今週、米国議会の上院や下院において米政府からの情報開示や、NSA長官などの政府高官による証言が相次いで行われました。これらの情報から、現時点でのこの問題に関する米政府側の主張をちょっと整理してみます。


−−−−
上院情報委員会に提出された文書や、PBSのインタビューでのオバマ大統領の説明によると、NSAの監視プログラムは大まかに次の2つがある。これらはその根拠となっている法律の条項から 215 program702 programなどと呼ばれている。

  • Section 215 of the USA PATRIOT Act にもとづくデータ収集 (215 program)
  • Section 702 of the FISA Amendments Act にもとづくデータ収集 (702 program)


これらのプログラムはいずれも

  • 法律によって規定された範囲内である (USA PATRIOT Act of 2001, FISA Amendments Act of 2008)
  • 議会によって許可されている (authorized)
  • 裁判所 (FISC: Foreign Intelligence Surveillance Court) によって承認されている (approved)
  • 司法省 (DOJ)と国家情報長官室 (ODNI)によって定期的にレビューされている

(だから問題ないと米政府は主張している。)


215 program はバルクで電話会社からメタデータ(電話番号ペアや通話時間などの通話記録のこと。通話内容は含まない)を収集しているが、このデータを検索するには対象者が海外のテロリスト組織の活動に関係するという相応の根拠が必要。根拠のないデータ検索は違法となる。実際に2012年の1年間にNSAによって調査が行われたのは300件未満。また記録されたデータは5年以内に破棄される。なお下院情報特別委員会の公聴会でのNSA長官の証言によると、NSA内でこの通話記録データベースにアクセスできる権限をもつのは20人のアナリストと2人の管理者の合計22人のみである。


702 program はバルクではなく、特定のターゲットに関するメールなどのコンテンツデータを都度収集するもの。テクノロジー会社に対して個別にデータ開示の要求を行う。米国外の非米国民の通信だけを対象としたもので、意図せずに収集された米国民のデータは適切に保護される。


215 programと 702 programの2つの監視プログラムによる成果として、2011年9月11日の同時多発テロ事件以降、これまでに20ヶ国で50件以上、米国内だけに限定すれば10件以上のテロ実施計画を未然に防ぐことができたとしている。この中にはニューヨーク市の地下鉄爆破計画、ニューヨーク証券取引所爆破計画などが含まれている。


−−−−
(補足事項)
今回の騒動は、Verizon Business Network Servicesに対して 3ヶ月分(2013年4月25日から7月19日まで)の通話記録をNSAに提出するように求める FISCの命令書 ("Top Secret")が The Guardian紙によってスクープされたことからはじまった。またその後、実は 2006年から 3ヶ月毎にこの裁判所命令が更新され続けていることや、AT&Tなど他の大手電話会社に対しても同様に行われていることなども報道された。(215 program)


続いてリークされた PRISM(US-984XN)に関する "Top Secret"資料によると、このプログラム(702 program) に参加しているのは Microsoft, Yahoo, Google, Facebook, PalTalk, AOL, Skype, YouTube, Appleの 9社*1。このうち Facebook, Microsoft, Apple, Yahoo! の 4社は政府機関へのデータ開示の件数を公表したが、情報開示にあたって政府から求められた条件によって、一般の犯罪捜査に関するものもすべて含めたおおよその件数のみが公開された。そのためこのうち何件が PRISMに関連するものなのかはわからない。一方、Googleは PRISM関連のものだけを個別に開示する許可を求めて FISCに別途申し立てを行っている。


PBSのインタビューにおいて「FISCは NSAからのリクエストを承認せず拒否したことがあるのか?」との質問に対して、オバマ大統領は直接質問に答えなかった*2。FISCの承認という司法によるチェック機能が実際に有効に働いているとは言い難い*3


テロを未然に防止したという成果についても、いくつかのケースではこれらの監視プログラムが決定的な役割を果たした場面もあるだろうが、すべてのケースではないだろう。プライバシーを脅かすような包括的な監視プログラムに頼らなくても、テロに対応できる方法は他にあるのではないだろうか? という当然の疑問が湧く*4。また監視プログラムの対象範囲についてもまだ曖昧ではっきりしない部分が多く、上記 2つのプログラム以外にも監視プログラムが存在する可能性はある。NSAは4つの監視プログラム(MAINWAY, MARINA, NUCLEON, PRISM) を運用しているとの報道もあり、それによると電話とインターネットの通信について、それぞれメタデータとコンテンツデータを取得しているとある。下院の公聴会では、NSAが 215 programで収集しているのは電話の通話記録だけだと NSA長官は証言しているが、一方で他の法執行機関は Section 215によってそれ以外の情報の収集も許可されていると司法副長官が証言している。


今後 Snowden氏からさらに機密資料がリークされたら、より詳しい内容がわかるかもしれない*5

(Snowden氏は香港での最初のインタビューの際に亡命を希望する国としてアイスランドの名前を挙げていたが、Snowden氏がアイスランド政府に対して亡命を希望すると非公式に打診していることが 6/18日にわかった。)

*1:プログラムに参加した順に記載。SkypeMicrosoftが、YouTubeGoogleがそれぞれ買収しているので実際には 7社。

*2:オバマ大統領は「リクエスト件数は驚くほど数が少ないんだ。」と質問をはぐらかした。

*3:Snowden氏は FISCを "rubber stamp"だと形容している。一方、NSA長官は「"rubber stamp"だとは思わない。FISCの連邦判事は素晴らしい仕事をしている。」と反論している。

*4:下院情報特別委員会の公聴会で FBI副長官は具体的に4つのケースを明らかにしたが、すでにこれらのケースにおいて監視プログラムの果たした役割について疑問が提示されている。

*5:NSAによる監視プログラムの全体像を把握することは難しいが、AP通信のこの記事が非常に参考になり必見。http://bigstory.ap.org/article/secret-prism-success-even-bigger-data-seizure

2段階認証ノススメ (まとめ)

(2013-08-07 更新あり)
主要なサービスで 2段階認証に対応する動きが拡がってきたので、ちょっとまとめておきます。金融系のサービスやマイナーなものはいれてません*1。こうやって並べて比べてみると、細かいところで違いがあっておもしろいですね。なお現時点で AppleTwitterは日本ではまだ正式対応されていません。
(注: Twitterは 8/7にアプリを利用した認証方式に対応し、日本でも利用できるようになりました。)

サービス 名称 認証アプリ SMS/メール/音声 アプリ用パスワード 信頼できる端末 復旧用コード
Apple 2段階認証 (two-step verification) ◯ (*1) SMS (*4) -
Dropbox 2段階認証 (two-step verification) ◯ (TOTP) SMS -
Evernote 2段階認証 (two-step verification) ◯ (TOTP) SMS
Facebook ログイン承認 (Login Approvals) ◯ (TOTP) (*2) SMS
Google 2段階認証 (2-step verification) ◯ (TOTP) SMS, 音声
Microsoft 2段階認証 (two-step verification) ◯ (TOTP) SMS, メール -
Twitter 2段階認証 (login verification) ◯ (*6) SMS (*5) -
Yahoo! Japan ワンタイムパスワード ◯ (TOTP) (*3) メール - -

(補足)
(*1) iCloudの Find My iPhone機能を利用するので、正確には認証アプリではない。iOSのみ対応。
(*2) Facebookアプリ (iOS/Android) 内に実装された Code Generatorという機能を利用するが、外部の別のアプリを登録してもよい。
(*3) アプリ登録用の QRコードが独自の URLスキーム (yjotp) なため、アプリが対応していないとそのままでは登録できない。たとえば Google認証システムは未対応のため、手入力で登録する必要がある。
(*4) 現在はアメリカ、イギリス、オーストラリア、ニュージランド、アイルランドのみ対応。
(*5) 現在は日本の携帯キャリアには未対応。
(*6) Twitterの公式アプリ (iOS/Android) でログインの承認/拒否を選択できる独自の方式を採用している。


(各カラムの説明)

認証アプリ
認証コードを生成する専用のアプリが利用できるか。ほとんどのサービスが TOTP (Time-Based One-Time Password Algorithm)*2に準拠しており、これに対応したアプリを利用できる。Google認証システム (Google Authenticator)*3Microsoft Authenticatorなどベンダ純正のものや、HDE OTPなどサードパーティ製のものもある。
SMS/メール/音声
認証アプリを使わない場合に認証コードを受信する方法。SMSには携帯キャリアメールも含む。日本の携帯キャリアに対応していないところもある。
アプリ用パスワード
2段階認証に対応していないアプリからログインを行うために、アプリ専用のパスワードを生成する機能。
信頼できる端末
よく使う端末(ブラウザ)を登録しておくと、その端末からのログインでは2段階認証を無効にできる機能。
復旧用コード
スマホの紛失などにより2段階認証用のコードを受信できなくなった場合に、ログインして復旧するための緊急用コードを生成する機能。


(参考情報)

Yahoo! Japan

ワンタイムパスワード(OTP) - Yahoo! JAPAN IDガイド
Yahoo! JAPAN IDに関するヘルプ - ワンタイムパスワードとは


ここで紹介したサービスは全て自分で検証したものなので多分大丈夫だとは思いますが、もし間違いを見つけたら是非教えてください。


(2013-08-07 追記)
8月 6日 (日本時間では 7日) から Twitterが公式アプリを利用した認証方式に対応したため、記事の内容を一部更新しました。

*1:ここに取り上げたもの以外に、例えば AWS, LastPass, LinkedIn, PayPal, Yahoo!なども 2段階認証または多要素認証に対応している。

*2:数字 6桁のパスワードが 30秒毎に生成される。

*3:実は Google Authenticatorは TOTPだけではなく HOTPにも対応している。

Apple IDにおける 2段階認証の問題点

最近、MicrosoftTwitterEvernoteLinkedInなども相次いで 2段階認証 (two-step verification) のサポートをはじめ、主要なサービスでは必須の機能という感じになってきました*1Appleでも 3月にアメリカ、イギリスなどから開始され、5月には対象国が拡大しました。日本でも使えるようになった…と思っていたのですが、どうも一部のユーザにフライングで設定項目が表示されただけで、正式なサービス開始ではないようです*2


さてその Apple IDの 2段階認証について、先週 ElcomSoftが問題点を指摘する記事を公開して一部で話題になりました。

Apple Two-Factor Authentication and the iCloud « Advanced Password Cracking – Insight

In its current implementation, Apple’s two-factor authentication does not prevent anyone from restoring an iOS backup onto a new (not trusted) device. In addition, and this is much more of an issue, Apple’s implementation does not apply to iCloud backups, allowing anyone and everyone knowing the user’s Apple ID and password to download and access information stored in the iCloud. This is easy to verify; simply log in to your iCloud account, and you’ll have full information to everything stored there without being requested any additional logon information.

結論を先に書くと、Apple IDの 2段階認証で保護されるのは My Apple IDへのログイン、iTunes Storeでの購入など一部に限られ、iCloud上に保存されたデータの保護には役に立たない、というものです (AppleFAQにもちゃんと書いてはあるのですが)。実際、iCloud.comへのログインでは 2段階認証は使われておらず、Apple IDの 2段階認証を有効にした状態でも、Apple IDとパスワードのみでログインできてしまいます。iCloud上にバックアップしてある iPhoneiPadなどのバックアップデータを全く新しい別の機器にリストアすることも可能です。

このように Apple IDの 2段階認証はやや中途半端な感じではありますが、現状では仕方のない面もあります。GoogleFacebookMicrosoftなど多くのサービスでは TOTP (Time-based One-Time Password Algorithm) に準拠した仕組みを導入しており、認証アプリや SMSなどで 2段階認証用のコードを送信するのが主流となっています。しかし Appleでは iCloudFind My iPhone (「iPhoneを探す」) 機能を使って独自の 2段階認証を実現しています。そのため iPodiPadなど SMSを受信できない機器でも認証コードを受け取ることができるというメリットがあります*3。また複数の機器で認証コードを受け取ることもできます。一方で、信頼できるデバイスとして登録した機器をバックアップデータを利用してリストアしようとした場合、他に登録機器がない場合には認証コードを受け取る手段がなくなってしまいます。そのため今の仕組みのまま iCloudへのアクセスに 2段階認証を適用することができないのかもしれません。

しかし Apple IDの 2段階認証では iOS機器を信頼できるデバイスとして登録する以外に、SMSを受信可能な携帯番号を登録することもできます(ただし現在はアメリカ、イギリス、オーストラリア、ニュージランド、アイルランドのみ対応)。Find My iPhoneと SMSをユーザが併用することによって、上記の iCloudの問題も解決できるような気もしますが、どうなんでしょうか*4


Appleユーザとしては iCloud上のデータも 2段階認証で保護してほしいところです。Appleになにか良策はあるのでしょうか…?


(参考)
日本ではまだ正式サービス前のようですが、2段階認証を有効にするとどうなるか、簡単に紹介しておきます。

Apple IDの2段階認証を有効にするには、「信頼できるデバイス」を設定する必要があります。登録済みの iOS機器が一覧表示されるのでこの中から複数選択することができます。または認証コードを SMSで受信するための携帯番号を追加することもできます(前述のとおり現在は対応している国が限られます)。
f:id:ukky3:20130603125109p:plain
f:id:ukky3:20130603125158p:plain
f:id:ukky3:20130603125222p:plain

2段階認証を有効にした状態で My Apple IDにログインをすると、IDとパスワードを入力したあとに本人確認の画面が表示されます。ここでさきほど登録した「信頼できるデバイス」の中から確認コードを送信するものを一つ選んで送信します。
f:id:ukky3:20130603125253p:plain

あとはデバイスに送られてきた確認コード (4桁の数字) を入力することでログインできます*5
f:id:ukky3:20130603125321p:plain


なお、2段階認証を有効にすると、パスワードリセットの方法が変わるので注意が必要です。
2段階認証が無効の状態では、以下のうちどちらかの方法を選択してパスワードをリセットすることができます。

  • Eメール認証 (あらかじめ登録した修復用メールアドレスにメールを送信する)
  • セキュリティ質問に答える

f:id:ukky3:20130603154727p:plain

ところが 2段階認証を有効にすると、以下の両方の情報が必要になります。

  • 復旧キー
  • 信頼できるデバイスによる確認コード

f:id:ukky3:20130603154804p:plain
f:id:ukky3:20130603154813p:plain

2段階認証を有効にすると、もともとあった「修復用メールアドレス」と「セキュリティ質問」の設定項目は表示されなくなり、パスワードリセットにも使えません*6


詳しくは以下の FAQをどうぞ。2段階認証を利用する場合の注意点なども詳しく解説されています。
Apple ID の 2 ステップ確認についてよくお問い合わせいただく質問 (FAQ) - Apple サポート

*1:他には Google, Facebook, Dropbox, Yahoo!なども対応しています。

*2:私のアカウントでは利用可能になっていたので設定してありますが、正式サポートではないとすると、再設定が必要になるのかもしれません。

*3:Google Authenticatorのような認証アプリを使えば同じような気もします。

*4:登録した携帯番号が iPhoneのもので、その iPhoneを信頼できるデバイスとして登録したら結局同じなんですが…。

*5:パスコードによるロックがされた状態でも通知はされますが、確認コードは通知エリアに表示されません。パスコードを入力してロックを解除すると確認コードが表示されます。

*6:2段階認証を無効にするとまた設定できるようになります。