Yahoo! JAPANやgooなどの大手ポータルサイトやECサイトなどで、ユーザーIDとパスワードのセットが漏えいし、不正ログインが行われたと疑われる事例が頻発している。3月から4月にかけての攻撃に続き、5月4日から8日にかけて、通販のディノスのサイトに111万件の不正アクセスがあり、15,000のアカウントに不正ログインが確認されるといったように5月に入ってからも不正アクセスのニュースは絶えない。

こうした攻撃に際し、個人ユーザーはどのように身を守ればいいのだろうか。前回に引き続き、シマンテックのセールスエンジニアリング本部ソリューションアーキテクトの米澤一樹氏とノートン事業部リージョナルプロダクトマーケティング シニアマネージャの吉田一貫氏に話を聞いた。

大手Webサイトに相次ぐ不正アクセス、個人ユーザーの対策法は? (前編)
大手Webサイトに相次ぐ不正アクセス、個人ユーザーの対策法は? (中編)
大手Webサイトに相次ぐ不正アクセス、個人ユーザーの対策法は? (後編)

シマンテック セールスエンジニアリング本部 ソリューションアーキテクト 米澤一樹氏

強度の高いパスワードを設定して使い回さない

WebサービスにログインするためのユーザーIDとパスワードは、基本的には隠すべき情報だが、例えばSNSのTwitterなどのように、ユーザーIDが一般に公開されている場合がある。それ以外の場合でも、メールアドレスをIDとしているケースも多い。

その場合でもパスワードが秘匿されており、サービス側で対策を行っていれば、一定のセキュリティは確保される。しかし、別のサイトからユーザーIDとパスワードのリストが漏えいしていた場合、それを使い回していれば、簡単にサービスに不正ログインされてしまう。

しかし、あるサービスからリストが漏えいしても、パスワードが異なっていれば、別のサイトに不正ログインされる可能性は小さくなる。大事なのは、「サービスごとに異なるパスワードを設定する」という点だ。もちろん、辞書攻撃や総当たり攻撃に十分な対抗できる強度のパスワードである必要もある。

基本的に、パスワードの強度は、

  • 文字列の複雑さ
  • 文字列の長さ

で決まる。複雑なパスワードにするには、大文字小文字を混ぜた英数字と記号を組み合わせ、文字列の長さはできるだけ長くする方がいい。サービスによっては最大文字数を制限しているものもあるが、その場合は、その最大文字数まで設定する方がいい。

ただ、一口に強度の高いパスワードといっても、作成するのも難しい。そこでシマンテックのセールスエンジニアリング本部ソリューションアーキテクトの米澤一樹氏は、パスワードの付け方の一例を紹介する。

「当人にとっては意味があるが、他人にとっては意味がない言葉」が覚えやすく破られにくいパスワードだという。例えば「Koyama」の「o(英語のオー)」を「0(数字のゼロ)」に変えたり、「a」を「@」に変えるという方法だ。これで英数字と記号が混ぜられるし、覚えやすい。

さらに、自分にだけ分かる内容をパスワードにする方法もある。例えば「カメラの機種だけではなく、購入店舗を組み合わせる」(米澤氏)といったやり方だ。「K0y@Ma_EoS-sHopA=120512」だと、名前の変換とカメラの機種名、購入店舗、購入日を組み合わせており、複雑だが、大文字小文字や0や@の変換さえ忘れなければ、比較的記憶しやすい。

あまり一般に公開しない、自分だけにとって意味がある言葉であれば、なんでもいい。電話番号や誕生日、住所のような公開されやすい文字列ではなく、類推されにくい文字列の方がいい。

頻繁に設定が必要で、なおかつパスワード強度が必要なサービスの場合、こうした覚えやすく、破られにくいパスワードを用意しておくといいだろう。

シマンテック ノートン事業部 リージョナル プロダクト マーケティング シニアマネージャ 吉田一貫氏

サービスをランク付けしてパスワードを使い分け

強度の高いパスワードを設定しても、さまざまなサービスで使い回して、リストが漏えいしては意味がない。そのため、サービスごとにパスワードを変えるのが重要なのだが、利用するサービスがあまりに多いと管理が大変になり、つい同じパスワードを使い回したくなる。

そうした問題を回避するためにはどうしたらいいのか。シマンテックの米澤一樹氏は、「サイトのランク付け」を勧める。

これは、サービスの重要性に応じてパスワードの扱いに差を付けるというやり方で、オンラインバンキングやショッピングサイトなどの「Aランク」サイトでは、それぞれ個別の、複雑なパスワードを設定する。

「Bランク」サイトは、実名を設定していないSNSやゲームサイトなど、なりすましが問題とはなるが、個人情報や金銭的な被害のでないようなサイトで、「Cランク」サイトは、無料で記事の「続き」が見られるニュースサイトのように、漏えいしても支障がないもの。

「Aランク」は、英数字、記号を混ぜ、大文字小文字も変え、なるべく長い文字列のパスワードを設定する。前述の要領で作成したパスワードを利用してもいいだろう。「Bランク」は英数字を混ぜたもので、Aランクに比べれば単純なもの。「Cランク」は単純な数字や英語でも構わないし、使い回しでも問題ない。

そういったパスワードのランク付けをして、必要なサイトだけ強力なパスワードを設定するようにすることで、使い回しを防ぎ、より安全に利用できるようになる。

もっとも、このようなランク付けを行った場合は、定期的に見直すことが必須になる。なぜならば、サービスの変更やサービスオプションの使用開始に伴って重要性が増大したり逆に減少することがあるからだ。

パスワード管理ツールを利用する

ここまでは、自力でパスワードを設定し、自力で管理する方法だが、こうした作業をもっと簡単に行うためのパスワード管理ツールがある。これを利用することでサイトごとのパスワードを保存して再利用できるようになるほか、パスワード作成機能を搭載したものも多い。

例えばセキュリティソフトの「ノートン」シリーズには「ノートン ID セーフ」が付属しており、IDとパスワードをシマンテックのサーバーに保存。サイトにアクセスする度に、自動でIDとパスワードを入力してくれる機能を備える。

ノートン ID セーフ

パスワード管理サービスでは「LastPass」も同様の機能を搭載。いずれも、ノートンやLastPassへログインするためのIDとパスワード1つだけで、サイトごとのパスワードを記憶する必要がなくなる。もちろん、このIDとパスワードは、破られにくい複雑で長い文字列を設定する必要がある。

LastPass

外部サーバーにIDとパスワードを預ける形になるので、パスワード管理サービス自体の安全性も重要だが、例えばLastPassでは、パスワードなどは暗号化して保存され、十分なセキュリティを確保しているとしている。そのため、安全性の低いサイトからIDやパスワードが漏れるよりも危険性は少ないだろう。ただ、もちろん重要情報を保存するため、利用には十分な検討をしておきたい。

外部に保存するのが心配であれば、パスワード管理ソフトを使う方法もある。1Password、KeePassなどのソフトがあり、この場合、データは端末内に暗号化して保存される。

1Password

KeePass

登録したデータはそれぞれの端末でしか使えないので、例えばDropboxなどオンラインストレージを使うことで、他の端末でも利用できるようになる。結局外部にデータを預けることになるが、データ自体は暗号化されているので、漏えいはしにくい。

パスワード管理サービスもソフトもパスワードを生成する機能があり、より強度の高いパスワードを作成できる。ログイン画面でIDとパスワードを自動入力する機能もあるので、複雑なパスワードを覚える必要もない。単純なパスワードを使ったり、パスワードを使い回しするよりは安全だ。

パスワードの安全性の向上には、とにかくパスワードを長く、複雑な文字列にすることだ。1人暮らしの自宅からのみ使用するなど、他人に盗み見られる可能性が低い状況にあるなら、メモに書いた上で管理するという手法でも構わない。単純な文字列で使い回しをするのではなく、しっかりとした管理をすることが重要となる。

なお、パスワードの安全性向上のための取り組みとして、「パスワードの定期的な変更」が推奨される場合もある。シマンテックでも、「パスワードは、設定した瞬間から、攻撃にさらされるために攻撃への耐性は減り続ける」という立場で、定期的な変更を勧める、としている。

もちろん、パスワードの定期的な変更だけが、セキュリティレベルを強化する、とは一概には言えない。例えば4文字のパスワードを毎日変更するのと、12文字のパスワードを設定して変更しないのでは、12文字の方がセキュリティレベルは高い。

毎日パスワードを変更しても、総当たりや辞書攻撃で不正ログインされたら、変更前に重要情報は盗まれてしまうし、仮に90日ごとの変更だったら、最大で90日間は「やりたい放題」の状態なのということを認識しなくてはならない。

したがって従って、必要十分な強度のパスワードを、サイトごとに設定することが安全性を高めるために必要となってくる。こうした点を踏まえて、パスワードの設定・管理に気をつけて欲しい。

大手Webサイトに相次ぐ不正アクセス、個人ユーザーの対策法は? (前編)
大手Webサイトに相次ぐ不正アクセス、個人ユーザーの対策法は? (中編)
大手Webサイトに相次ぐ不正アクセス、個人ユーザーの対策法は? (後編)