リスト型攻撃による被害が後を断ちません。最近ではその二次的被害として、不正ログインし乗っ取ったアカウントからその友人にコンタクトし、電子マネーをだまし取るという手口の犯罪も発生しており、相当の被害がでています。
その被害額は、ポイント還元システムを持ったWebサービスをリスト型攻撃で攻撃し、不正ログインにより奪った総額を超えてしまっています。
リスト型攻撃とは、平たく言うと「複数のサービスで同じパスワードを設定している人を狙ったもの」です。あまり恐怖を煽ることは好きではありませんが、この記事を読んでいる今、「使い回している」心当たりのある方は全員がターゲットです。
現在では一昔前に比べて、1人あたりが利用する、ID/パスワードを必要とするWebサイトが増えています。推奨されるパスワードの運用は、複雑で長く容易に推測されない文字列で、かつそれをサイト毎に異なるものを設定することです。しかし、昨今のリスト型攻撃による被害を見ていると、その推奨されている運用は実践されていないことが見て取れます。
そうした背景を踏まえて今回は、以前に6回にわたって解説した「パスワードのトビラ」の延長として、今すぐにでも始められるハードルの低いパスワード管理の方法を紹介したいと思います。
著者プロフィール辻 伸弘氏(Tsuji Nobuhiro) - ソフトバンク・テクノロジー株式会社
セキュリティエンジニアとして、主にペネトレーション検査などに従事している。民間企業、官公庁問わず多くの検査実績を持つ。また、アノニマスの一面からみ見えるようなハクティビズムやセキュリティ事故などによる情勢の調査分析なども行っている。趣味として、自宅でのハニーポット運用、IDSによる監視などを行う。
パスワード管理ソフトを使いこなせない方のために
パスワードを管理するために筆者は「パスワード管理ソフト」を使っています。優に100を超える数を管理していますが、何のストレスもなく便利に運用しています(二要素[二段階]認証といった更なる保護設定を用意してくれているサービスではそちらも併せて有効にしています)。
すべてのパスワードは暗号化して保存しているため、ある程度安心もしています。できれば皆さんにも使っていただきたいと思っています。
一方ですべての方がこのソフトを使いこなせるとは筆者は思っていません。新しいものを覚えることに拒否反応を示す方もいらっしゃるでしょう。
たとえば、筆者の家族は、コンピュータに全く詳しくありません。10年ほど前にコンピュータを使い始め、やっとのことでWindows Updateやその他のアプリケーションのアップデート、アンチウイルスのパターンファイルの更新、大事なファイルのバックアップを覚えました。そんな家族に、パスワード管理ソフトのような新しいソフトの使い方を改めて覚えろというのはなかなか言えません。
そこで、筆者が家族に勧めたパスワード管理方法は、手帳(紙)にメモするというものです。このエピソードは、講演などでよくお話しているのですが、「おいおい、セキュリティの専門家なのに本気で言ってるの?」と言われることがあります。
しかし、よく考えてください。リスト型攻撃の脅威から皆さんが守りたいものであるサービスのアカウントを狙う攻撃者はどこで活動をしていますか。
答えはインターネット、オンラインだと思います。そのオンラインにいる攻撃者は、皆さんの手元(オフライン)にある手帳を覗き見ることはほぼ不可能と言ってもいいと思います。
もちろん、オフラインで誰かに覗き見されるというリスクは存在しますが、ある程度自分で注意することができますし、覗き見されるリスクとパスワードを使い回すことで不正ログインされるリスクを比較したら、前者のほうが低いと考えることができるのではないでしょうか。
もちろん、メモをするにも工夫は必要です。
辻家秘伝のパスワード設定レシピ
それでは、筆者の家族が行っているパスワードを使い回さない工夫、管理方法を紹介しましょう(はじめに言っておくと、筆者の家族は紹介する方法と全く同じものを実践しているわけではありません。ですので、この記事をお読みいただいた方も全く同じように真似るのではなく、これをヒントに独自のルールなどを作成してくださいね)。
筆者の家族のメモにはパスワードのみが記述されています。各パスワードがどこのサイトのものか自分で分かるように、サイト名を違う文字に置き換えてパスワードに組み込むというルールを決めているので、本人であれば一見してどこのパスワードだったかを判別できるようになっています。
パスワードを決める際もサイト名を利用しているので迷わずに設定できますし、使い回しも発生しません。
見た目が似た文字に置き換える
さて、文字の置き換えルールというのは、主に英字を大文字や似た記号、数字に置き換えるというものです。
例えば「mynavi news」であれば「myN@vi_N3w5」といった感じです。
このパスワードでは、
- 「n」を大文字の「N」
- 「a」を「@」
- スペースを「_」
- 「e」を「3」
- 「s」を「5」
と置き換えています。
規定文字数をクリアするために
パスワードを作る際に目指すべきことは、英数、大文字、小文字、記号混在で最低でも6文字から8文字くらいの文字列にするということです。
したがって、3文字略語のような短い名前のサイトであれば、そのサイト名を単純に繰り返しつつ間に記号を入れたり、逆順にして間に特定の文字を挟み込み、繰り返すなどといった工夫もあります。
例えば「abc」というサイト名であれば「@bC%Cb@」といった具合です。
盗み見対策で、追加文字を決める
物理的なメモというものは、当然ながら、落としてしまって拾った方に見られる、または、後ろから覗き見されるリスクがあります(もちろん、そのようなことのないように細心の注意は必要ですが)。
そのために自分の頭の中のみに記憶しておく文字や文字列を決めておき、実際にログインする際には、その文字、文字列を特定のところに付加して使うというようにするのも1つの方法です。
例えば、記憶しておく文字を「#」と「!」としましょう。そして、この文字をメモに記載している文字をそれぞれ前後に片方ずつ付けるというルールとした場合、先程作成した「mynavi news」を元に作成したパスワードに付加すると以下のようになります。
#myN@vi_N3w5!
とは言え、ユーザがセキュリティレベルを上げるために複雑なパスワードを設定しようとしても、残念なことに記号が使えないサイトも存在します。そんなサイトに出くわしたときのために、記号を置き換える文字(例えば数字)も併せて決めておくとよいでしょう。
先程の例に倣うなら、「myN4viN3w5」と置き換え(「@」が使えないので、「a」の置き換えが必要ですが、「A」と「4」が似ているため「a」を「4」に置き換えています)、さらに頭に「7」とお尻に「1」と記憶しておき、実際にログインするときには
7myN4viN3w51
とするといった具合です。
この場合ですと、メモに記載することなく覚える文字は「#」「!」「7」「1」と4つのみで済みます。記憶に自身のある方はもっと長い文字を付加するなどのルールでもよいと思います。
手帳を落としてもログインできるように
また、紛失の際に考えられるリスクとしては、参照するものが手元にないため自分自身がログインできなくなるというものも考えられます。そうした状況に対応するには、コピーや写真をとっておくなどして複製を別の場所に保存しておく必要があります。紛失に気付いたときには、その複製を利用して、パスワードを再設定するとよいでしょう。
しかし、よくよく考えてみると、出先において自分自身で入力を行う必要のあるパスワードはそんなに多くないと思います。したがって、持ち出すものを最小限にしておくことで紛失などによるダメージを少なくするという運用もよいと思います。
セキュリティの永遠のテーマ「パスワード」
このパスワードに関する問題は、なかなか改善されません。抜本的に違う仕組みが望まれるのですが、それも現在のところは普及していないことが現実問題としてあり、今すぐにできる対応、すべての方ができる対応ではないと思っています。
不正ログインが多発している原因の一部は、私たちユーザにもあるということを忘れてはいけません。言い換えれば、セキュリティの一端を私たちユーザが担っているとも言えるのです。
たとえ自動車メーカがエアバッグや衝突安全ボディ、ブレーキサポートなどの様々な安全機能を実装したとしても、安全な交通を確保するためには、私たちドライバーが安全運転を心がけなければいけないのと同じだと思います。
また、筆者のようなセキュリティに携わる人間は、以前から使い回しなどの危険性を声高に叫んできましたが、それほど多くの人に届いてこなかったのだと考えています。パスワードの問題はそれほど根深く、広い範囲の問題なのだと思っています。
この記事を読んでくださった方は、できるだけ多くの方に伝えてください。家に帰って家族に伝えるだけでも結構です。その繰り返しがよりよいセキュリティを作っていくために必要なことだと思っています。
一握りの人間だけが実施できる方法ではいけません。
セキュリティは弱きを守るものです。
セキュリティはみんなのものだと信じています。
そんなことを考えながらこの記事を書かせていただきました。
みんなでよりよいセキュリティを作り上げていきましょう。