インターネットサービスの不正ログイン被害が後を絶ちません。今年5月には、女性芸能人のSNSなどが侵入され、プライベート写真などを盗み見られる被害が発覚し、話題になりました。大手通販サイトやショッピングモールのポイントが勝手に使われる被害も、相次いでいます。こうした被害を引き起こす大きな要因に、私たちのパスワードの設定や管理の甘さがあります。パスワード設定の基本を押さえ、正しく管理していれば、被害に巻き込まれる可能性は格段に小さくなります。
<INDEX>
■芸能人の被害事例――甘いパスワードが狙われた
■ポイント不正使用――アカウント情報の使いまわしが狙われた
■パスワード設定・管理の基本
■オプション機能の活用
■Microsoftアカウント――2段階認証
■Apple ID――2ステップ確認/2ファクタ認証
■Googleアカウント――2段階認証
<以下本文>
芸能人が被害にあった事件では、FacebookとiCloudが標的にされた。Facebookは、有名人や芸能人の公式ページも多い交流サイトで、ログインされると勝手に読み書きされるほか、自身の非公開情報や公開が限定されている友達の投稿、メッセンジャーの会話、アップロードした写真などが覗き見されるおそれがある。iCloudは、アップルの人気スマートフォン「iPhone」のデータ保管などを行うサービスで、保管機能を有効にしている場合には、撮影した写真やビデオ、連絡帳、カレンダー、リマインダー、作成したファイル、iCloudメール(アドレスが@icloud.com、@me.com、@mac.comのメール)の送受信メールなどが、すべてここに保管される。
この事件では、氏名や生年月日から推測したパスワードが不正ログインに使われたという。パスワード設定の甘さが狙われたわけだ。例えばFacebookの場合、ログインには登録したメールアドレス、電話番号、ユーザーネーム/ユーザーIDのどれかを使用する。メールアドレスや電話番号は非公開にできるが、ユーザーネーム/ユーザーIDは公開情報なので、不特定多数から攻撃される可能性がある。標準設定では、パスワードを破られるとアカウントに侵入されてしまう。
iCloudのログインには、Apple IDを使用する。Apple IDは、登録したメールアドレスやiCloudメールのアドレスなので、それが分からないと特定の相手を攻撃することはできない。知り合い以外がピンポイントで攻撃を仕掛けるのは難しいが、例えばFacebookの登録に必須のメールアドレスが、Apple IDと同じだったらどうだろうか。Facebookの不正ログインに成功すれば非公開情報を全て閲覧でき、メールアドレスが判明する。これを足掛かりに、他のサービスへの侵入を試みるであろうことは、想像に難くない。パスワードも同じであれば、直ちに侵入を許してしまうことになる。
大手通販サイトやショッピングモールのポイント不正使用は、このログイン情報の使いまわしが命取りになったとみられている。
ポイントの不正使用といえば、以前はオンラインで景品や他のポイントなどに不正交換する手口が主流だったが、最近目立つのは、各社のスマートフォン用アプリが備える、アプリをポイントカードとして利用する機能の悪用だ。これは、アプリにログインしポイントカード画面(バーコード)を店頭のレジで提示すると、そのアカウントでポイントを貯めたり使ったりできる仕組みのこと。有効なログイン情報があれば、店頭でポイントの不正使用ができてしまう。
被害のあった各社の発表では、自社から流出した形跡はなく、他社から流出したID/パスワードの組み合わせと一致するアカウントが狙われたのではないかとしている。何らかの方法で入手したID/パスワードのリストを使って不正ログインを試行し、有効な組み合わせを探す攻撃方法を、「リスト型攻撃」「アカウントリスト攻撃」などと呼んでいる。アカウント情報を使いまわしているユーザーを狙った攻撃だ。店頭で約2000回、約900万円分のポイントが不正使用されたショッピングモールサイトでは、リスト型攻撃とみられる約140万件の試行が行われ、約4万のアカウントが侵入されたという。
ご紹介した2つの事例にみられる、私たちのパスワードの設定や管理の甘さにつけ込んだ攻撃は、私たち自身で防ぐことができる。重要なポイントは、以下の5項目だ。
(1) 電話番号や誕生日、名前といった推測されそうなものを使わない
(2) 「12345678」「password」のような安易なものや単純な単語は避ける
(3) 大文字、小文字、数字、記号など多くの文字種を織り交ぜる
(4) 8文字以上の長いパスワードを設定する
(5) サービスごとに個別のものを設定する
サイトごとに異なる強固なパスワードは、覚えきれるものではないが、丸暗記しておく必要はないので心配無用だ。アプリで利用するサイトはアプリが、Webブラウザで利用するサイトはブラウザがパスワードを覚えておいてくれる。アプリやブラウザ、OS、端末などの違いを越えてアカウントを管理できるアプリもあるので、これらの積極的な利用を検討したい。パスワードを忘れた場合や乗っ取られてアクセスできなくなってしまった場合に備えて復旧方法を把握し、事前準備が必要なものは、手遅れにならないうちに整えておくと完璧だ。なお、復旧時の本人確認に「秘密の質問と答え」を使用するサービスは、答えの設定に注意していただきたい。パスワードがどんなに強固でも、ここが弱いと簡単に破られてしまうので、パスワードと同等の強固な「答え」を設定しておかなければいけない。
インターネットのサービスには、不正ログインの防止に有効な機能を用意しているところも多い。使えるものは有効に活用し、安全性の向上に努めたい。
・通知機能
アカウントに対し特定の操作が行われた場合に、登録したメールアドレスや電話番号、端末などに通知する機能だ。サービスによっては、受け取った通知から承認や無効化の操作を行えるものもある。どのメールアドレスに何が送られてくるのかを把握し、重要な通知を見過ごさないようにしたい。
・ログイン履歴
ログインした日時やアドレス、端末情報などをチェックする機能だ。身に覚えのないアクセスがないか、こまめにチェックしよう。通知機能が利用できないサービスでは、この履歴のチェックが必須だ。
通知や履歴で身に覚えのない不審なアクセスが見つかった場合には、端末を全てログアウトさせてパスワードを変更する。信頼できるデバイスに不審な端末が登録されていたなら、パスワードの変更前にそれを排除しておく。ログイン用に特別なパスワードを発行できるサービスや、パスワードのリセットや復旧用に特別なコードを用意しているサイトでは、有効なパスワードやコードを侵入した攻撃者に取得されていることがある。そのままでは、パスワードを変更しても再び侵入されてしまうので、発行済みのパスワードやコードの無効化も忘れずに行う。
・2段階認証
通常のID/パスワードによる認証に、もう1段階別の認証方法を追加する機能だ。名称や仕様はサービスによって異なるが、ID/パスワードの認証が破られても、それだけではログインできなくなるので、不正ログイン対策として高い効果が期待できる。
現在使われている2段階認証には、ログイン時に毎回変化する4~8桁の暗証番号(以後「確認コード」と呼ぶ)を入力するタイプと、スマートフォンに送られて来るログイン要求を承認するタイプ、セキュリティキーやトークンと呼ばれる専用のハードウェアを使って認証するタイプがある。確認コードを入力するタイプは、確認コードをSMSやメール、音声で通知するものと、トークンと呼ばれる専用のハードウェアやスマートフォンのアプリで生成するものがある。
表1 各社が提供する2段階認証サービス
本編では、パソコンやスマートフォンの利用に欠かせない、端末に紐づくアカウントとして、「Microsoftアカウント」「Apple ID」「Googleアカウント」のセキュリティ機能をご紹介する。これらは、表1のような2段階認証をサポートしている。TOTP(Time-Based One-Time Password)は、確認コードを生成する規格のひとつだ。多くのサービスがこの規格に準拠した確認コードを使用しており、Googleの認証アプリなどを汎用的に利用できる。
Microsoftアカウントにログイン(サインイン)し、「セキュリティとプライバシー」の「その他のセキュリティ設定」に進む。
「2段階認証」のセクションでは、メールアドレス、電話番号、認証アプリを使用した2段階認証の設定/解除が行える。設定する場合は、「2段階認証のセットアップ」をクリックして指示に従う。設定後は「2段階認証の無効化」という表示に変わるので、これをクリックすると設定を解除できる。
図2 Microsoftアカウントにログインし、「2段階認証」「認証アプリ」を設定する。
「認証アプリ」のセクションでは、使用する認証アプリの登録/解除を行う。登録する場合は、「本人確認アプリをセットアップ」をクリックして指示に従う。認証アプリには、TOTP準拠の確認コード(同社ではセキュリティコードと呼ぶ)生成アプリが利用できるほか、Android端末では、同社が配布している「Microsoftアカウント」アプリが利用できる。この「Microsoftアカウント」アプリは、確認コードの生成機能に加えて、ログイン要求の通知を受け取る機能をサポートしており、スマートフォン側で通知の「許可」をタップすれば、確認コードの入力なしで簡単にログインが完了する。
2段階認証の有効化と認証アプリの登録は、どちらを先に行ってもかまわない。2段階認証を先に有効化した場合には、メールまたはSMSで2段階認証を行う設定になり、認証アプリの追加後にアプリを使った認証が行えるようになる。認証アプリのみを登録した場合には、セキュリティ情報の変更時などに必要なコードの生成や承認にアプリが利用できるようになり、2段階認証は有効にするまで機能しない。
2段階認証に対応していないアプリ用に発行する専用のパスワードは「アプリパスワード」で、パスワードリセットなどに使う特別なコードは「回復用コード」で、確認コードの入力を求めない信頼できるデバイスに登録された端末の無効化は、「信頼済みデバイス」で行う。
<関連URL>
・Microsoftアカウント
http://login.live.com/
・Microsoftアカウント:セキュリティの設定
https://account.live.com/proofs/Manage
「Apple IDを管理」にログイン(サインイン)し、「セキュリティ」セクションの「編集」をクリックすると、Apple IDのセキュリティ機能にアクセスできる。
「2ステップ確認」は、通常のID/パスワード認証に、SMSまたは「iPhone/iPad/iPodを探す」の通知で送られてくる4桁の確認コードの入力を追加し、安全性を高める。設定する場には、「利用を始める」をクリックして画面の指示に従う。設定には、確認コードをSMSで受け取ることのできる電話番号の登録が必須だ。Apple IDに紐付けられている「iPhone/iPad/iPodを探す」が有効なiOS端末は、信頼できるデバイスにすることができ、確認コードをポップアップ通知で受け取ることができる。
図3 「Apple IDを管理」にログインし、「2ステップ確認」を設定する。
2ステップ確認に対応していないアプリ用に発行する専用のパスワードは「App用パスワード」で、パスワードリセットなどに使う特別なコードの作成/更新は「復旧キー」で、Apple IDにログインしているデバイスの確認と削除は、「デバイス」のセクションで行う。
「2ファクタ認証」は、iPhoneなどのモバイル端末用OS「iOS 9」および、Mac用OS「OS X El Capitan」から利用できる、「2ステップ確認」に代わる2段階認証で、6桁の確認コードを使用する。iOS端末の場合は[設定]アイコンから[iCloud]→[パスワードとセキュリティ]→[2ファクタ認証を設定]の順に選択。OS Xは、Appleメニューから[システム環境設定]→[iCloud]→[アカウントの詳細]の順に選択して設定すると、利用できるようになる。すでに「2ステップ確認」が設定済みの場合には、「2ステップ確認」をオフにしてからでないと設定できないので注意したい。設定時には、SMSまたは音声通話で確認コードを受け取ことのできる電話番号の登録が必須だ。
<関連URL>
・Apple IDを管理
https://appleid.apple.com/
Googleアカウントにログインし、「ログインとセキュリティ」の「Googleへのログイン」セクションに進む。
図4 Googleアカウントにログインし、「スマートフォンを使ってログイン」をオンにする。
「パスワードの入力が煩わしい場合は、スマートフォンを使ってログインできます」の「開始」をクリックし、指示に従って「スマートフォンを使用してログイン」をオンにすると、パスワードを入力する代わりに、スマートフォンに送られてきた通知に「はい」と答えるだけでログインできるようになる。パスワードでもログイン可能なのでパスワードを破られるリスクは残るが、複雑で長い難解なパスワードを躊躇なく設定できる。
利用できるスマートフォンは、最新の「Google Play 開発者サービス」がインストールされたAndroid端末または、Touch IDを搭載し「Googleアプリ」がインストールされたiPhones 5s以降。
「2段階認証プロセス」では、2段階認証の設定/解除が行える。設定には、SMSまたは音声通話で確認コードを受け取ることができる電話番号が必須だ。先の「スマートフォンを使用してログイン」と併用することはできないが、確認コード入力の代わりに、送られてきた通知を承認する方法が利用できる。2段階認証設定後の「2段階認証プロセス」画面の「予備手順の2番目を設定」のセクションで、必要な手順を設定追加する。
図5 「2段階認証プロセス」の「予備手順の2番目を設定」で、必要な手順を設定追加する。
「バックアップコード」は、確認コードの代わりに利用できる8桁の使い捨てのコード10組を生成する。コードを再取得すると以前のコードは無効になる。「Googleからのメッセージ」は、送られてきた通知を承認するスマートフォンを追加する。「認証システムアプリ」は、TOTP準拠の確認コード生成アプリを使用する方式。「バックアップ用の電話」は、確認コードを受け取る予備の電話番号の追加。「セキュリティキー」は、業界団体FIDO(Fast IDentity Online)アライアンスのU2F(Universal 2nd Factor)規格に準拠したハードウェア認証を追加する。 Googleアカウントには、重要なセキュリティ設定を確認する「セキュリティ診断」という機能がある。アカウントの復旧時に使う電話番号やメールアドレスの確認、アカウントに接続している端末の確認、アカウントに接続しているアプリの確認、2段階認証の設定確認を順に行うことができるので、時々実施し、問題がないかどうか確認することをお勧めする。
<関連URL>
・Googleアカウント
https://accounts.google.com/
・アカウント情報
https://myaccount.google.com/
(執筆:現代フォーラム/鈴木)