VTuberが身を守るためのセキュリティ入門1.パスワード編(非エンジニア向け)
※このエントリは元々Qiitaに投稿したものの移植です。
はじめに
VTuberがインターネット上で活動する上で身を守るために気をつけた方がよいセキュリティ知識を紹介します。
内容はVTuberの人に限ったものではありませんが、あえて対象を限定した方が読んでもらいやすいかなと思いました。
なお、筆者はエンジニアではありますがセキュリティの専門家ではないということを予めお断りしておきます。
このエントリは公開前に複数のエンジニアに最低限のレビューをして頂きましたが、内容に誤りがある場合はコメントや編集リクエストなどで訂正して頂けると幸いです。
要約(ここだけでも読んでほしい)
・VTuberを含む有名人のアカウントは狙われています
・パスワードは簡単にしない、同じものを使いまわさない
・出来るだけ2段階認証を使おう
・連携アプリの利用は慎重に
パスワードが破られ不正アクセスされるとどうなるの?
アカウントが乗っ取られると次のような事が起こりえます。
・のっとり、なりすまし
・身バレや個人情報の流出
・脅迫、炎上
・クレカなどの不正利用
VTuberとして活動を続けるのが難しくなるほどの被害が出たり身の危険に晒される恐れがあるだけでなく、関係のある他のVTuberや企業などにも被害を与える恐れがあります。
有名人は狙われやすい
・普通の人ももちろん狙われますが、人気VTuberのような有名人は特に狙われやすい
・個人情報の価値が高い
・熱烈なファンやアンチが存在する
・悪意を持った人や愉快犯に標的にされやすい
不正アクセスを防ぐためのパスワードの考え方
比較的安全性の高いパスワードを使用するために意識するべきことを紹介します。
ただし、ここで紹介していることを実践すれば絶対に安全というわけではなく、パスワードの考え方にはいろいろな意見があることに注意してください。
あくまで最低限のものを紹介しているつもりです。
1.出来るだけ推測されにくいパスワードを使用する
まず最低限意識することとして、出来るだけ推測されにくいパスワードを使用しましょう。
推測されやすいパスワードというのは例えば次のようなものです。
・生年月日
・自分や親しい人の名前やあだ名
・好きなものの名前や自分に縁の深いもの
・一般的なモノの名前
・passwordや12345など非常に思い付きやすいもの
・上記を単純に足し合わせたもの
このようなパスワードは人気VTuberのように不特定多数から好意や悪意を持たれやすい立場であれば必ず試されると思った方がよいです。
配信などで公開している情報から連想出来るようなパスワードは最低限避けるようにしましょう。
また、一般的によく使われるパスワードは「辞書攻撃」といって予めリストが作成されていて総当りで試される恐れがあります。
2.出来るだけ長く複雑なパスワードを使用する
単純にパスワードの文字数が長いほど完全な総当り(全ての文字列を自動で順番に試していく)による攻撃につよくなります。
4文字程度のパスワードであれば現実的な時間で全てのパターンを試せてしまう恐れがあります。
最低でも8文字以上のパスワードにすることを心がけましょう。理想としては16文字くらいあった方が安心です。
また、パスワードに数字や記号を混ぜることで試す必要があるパターンを大きく増やすことが出来るほか、辞書攻撃も防ぎやすくなります。
3.同じパスワードを使い回さない
いろいろなサービスのアカウントで同じパスワードを使い回すのも避けるべきです。
パスワードは本人がどんなに気をつけていたとしても時として流出事故などが起こるものです。
特にあまり有名ではないサービスや出来たばかりのサービスでは、サイトのセキュリティに問題があり登録者のパスワードが丸見えになってしまっていたりすることもそれほど珍しいことではありません。
極端なことを言うと、パスワードは漏れるものだと思った方がよいくらいです。
もしパスワードが漏れてしまった場合に同じパスワードを使いまわしていると、色々なアカウントを乗っ取られてしまう恐れがあります。
どうやってパスワードを考えたらいいか
上記のようなことを言われても、「そんな複雑なパスワードは覚えられないよ」と思うかと思います。
安全性の高いパスワードを管理しつつ使う方法はいくつかの案があります。
オリジナルのパスワードルールを考える
もっとも原始的で最低限の対策として、他人に予測されにくいパスワードのルールを決めるというのがあります。
たとえば推測されにくい固定のパスワードにサイトごとに決まったルールで文字を足すという方法です。
固定のパスワードが「Osakana5656!」だとしたら、サイトによって頭文字を取ってYahoo!であれば「OYsakana5656!」、Googleなら「OGsakana5656!」のようにするのです。
この例は単純なので人間が見たらわりと簡単に法則性が分かってしまいますが、少なくともどこかから流出したメールアドレスとパスワードを利用してコンピューターによって手当り次第にいろいろなアカウントへのログインを試していくような攻撃は回避することが出来ます。
もう一捻りした法則を考えれば人間が見ても一つの流出したパスワードから他のパスワードを推測するのがむずかしく出来るかもしれません。
パスワード管理サービスを利用する
パスワードの生成や保存を管理してくれる便利なツールがあります。
1PasswordやLastPassなどが有名です。
これらのツールでは、サイトごとに人間では覚えられないような非常に複雑なパスワードを自動で決めてくれて、一括管理することが出来ます。
実際に使用する時はパスワード管理サービスからパスワードをコピーして使うことになります。
少し面倒ですが、安全性は高いです。
また、これらの有名なパスワード管理サービスはサービス自体のセキュリティ対策がしっかりしている可能性が高く、さらに「二段階認証(あとで説明します)」に対応しているため、簡単に不正アクセスされたりパスワードが流出したりする可能性が低いです。
とはいえ、最悪のケースを考えればパスワード管理サービス自体のミスでログイン情報や保存しているパスワードデータなどが流出してしまうという可能性も0ではないかもしれません。
追記:最近はChromeブラウザにもパスワードを自動生成して記憶する機能がついているのでそれで良い気がします
二段階認証を利用する
二段階認証とは、ログインのためにパスワードとは別の本人確認方法を設定出来る機能のことです。
分かりやすいものではSMSで認証コードが送られてくるというのも二段階認証です。
その他、スマホの二段階認証アプリを使用する方法や、予め設定した信頼できる端末(スマホなど)でOKを押すことで確認する方法などがあります。
二段階認証編
パスワード編で書いたように、パスワードはどんなに強固にしていたとしてもどうしても流出したり破られたりする危険性があります。
そこで最近は二段階認証を利用するのが一般的になってきています。
VTuberのような立場であれば二段階認証に対応しているサービスでは出来るだけ二段階認証を設定するようにした方がよいでしょう。
主な二段階認証の種類
SMS認証
一番シンプルなのはログインの度にSMSに認証コードを送ってもらう方法です。
SMS認証の欠点としては、スマホをロックしていても通知からコードが見えてしまう可能性があることや、スマホアプリではSMSメッセージを取得することが出来るために、悪意のあるアプリが認証コードを盗み見てしまう恐れなどがあります。
とはいえ、基本的にはスマホが手元になければ突破することが困難になるため、これだけでもパスワードのみのログインに比べ赤の他人に不正ログインされる危険性は大きく下がります。
Google認証アプリ
Google二段階認証というアプリがあり、広く普及しています。
これはスマホ用のアプリで、設定するとアプリ上に数十秒で変わる認証コードが表示されるので、それを入力することで認証ができます。
これは通信を利用しないためにSMS認証よりも更に安全だと思われますが、欠点として、認証設定の簡単な移行方法が用意されていないために、スマホの機種変更をする時に登録した全てのサービスで一度設定を解除して新しい端末で登録しなおすという作業が必要になるという点があります。
また、認証を設定しているスマホを紛失したりすると最悪ログインが不可能になってしまう恐れなどもあります。
追記:最近は簡単にエクスポートが出来るらしいです。
Authy
さて、上記のGoogle認証アプリの欠点を解決する方法として、Authyというツールを利用するという手があります。
AuthyはGoogle認証アプリと完全に互換性がある二段階認証ツールで、Google認証アプリとは違い、クラウド(オンライン)上に認証情報を保存します。イメージとしてはパスワード管理サービスに近いです。
Authyであれば機種変更の時も移行作業をせずにそのまま移行出来るだけでなく、スマホだけでなくパソコンやタブレットなど様々な端末からアクセス出来る他、Chrome用から認証コードを表示出来る拡張なども用意されています。
オンライン上にアカウントが存在するという性質上、Google認証アプリよりはややセキュリティレベルは下がりますが、Authy自体を新しい端末に認証するためにも二段階認証が必要になる他、認証コードを表示するためのパスワードなども設定出来るため、そう簡単に不正アクセスされることは無いと思いと思います。
また、たとえAuthyに不正アクセスされたとしても、見れるのはすぐに変わる認証コードだけなので、理論上は「不正アクセスしたいサービスのパスワード」と「Authyに表示された最新の認証コード」の両方を同時に入手する必要があり、これを破るのはかなりむずかしいと思います。
二段階認証の設定方法
二段階認証はTwitter、Googleアカウント(YouTubeアカウント)、Slack、Discordなどメジャーなサービスであれば大抵対応しています。
これらのサービスは特にVTuberにとって生命線ともなるため、必ず二段階認証を設定するようにしましょう。
設定方法はサービスによって違いますが、大抵の場合は設定画面の「セキュリティ」や「パスワード」の項目から「二段階認証を設定」というようなボタンを見つけることが出来ると思います。
Google認証アプリを使う場合は表示された画面の支持に従ってQRコードを認証アプリで読み込みます。
Authyの場合も「Google認証アプリを使用する」というオプションを選択して同じようにQRコードを読み取れば設定が出来ます。
アカウント認証(OAuth)編
次に解説するのは、TwitterやGoogleなどのアカウントを利用して登録や連携が出来るサービスについてです。
たとえばTwitterのアカウントを連携すると面白い診断をしてくれるサービスなどがありますよね。
権限内容に注意する
この時に注意しなければいけないのは、**アカウントを連携するということはそのサービスの管理者にアカウントの利用権を渡してしまっている**ということです。
たとえばTwitterの場合はアカウント連携の時に次のような画面が表示されます。
この画面をよく見ると、このアプリと連携するとそのアプリにもし悪意があれば勝手にツイートをしたり不特定多数をフォローやブロックしたりなど乗っ取りに近いことが出来るということがわかりますね。
これは非常に危険なことです。
Twitterのアプリ連携の権限にはいくつかの種類がありますが、特に書き込み権限(ツイートをしたりプロフィールを変更したり)を要求してくるアプリは本当に信頼できる場合以外は連携しない方が安全でしょう。
また、DMの読み書きが出来るという権限を要求している場合もありますが、一般的にDMを見る必要があるアプリなんてほぼないと思うので、もし要求されていたら疑った方がよいです。
不要な権限はすぐに削除する
もし絶対に信頼出来るわけではないけれどどうしてもそのアプリと連携したい!という場合には、利用し終わったらすぐに設定画面から連携を解除するとよいでしょう。
また、定期的に連携しているアプリの一覧を見て、不要なものや不審なものがないかを確認するようにしましょう。
突然連携画面が出てきたら
そんなつもりはないのに突然上の画像のようにTwitterなどと連携を要求する画面が表示されたら、それは危険な可能性が非常に高いので絶対に許可しないようにしましょう
この記事を読んだあとにまず実践してほしいこと
まずは主要なサービスに二段階認証を設定しましょう。
もし同じパスワードを使いまわしている場合は新しい運用方法を決め、主要なものから新しいパスワードに出来る範囲で変更していきましょう。
つづく
さて、まだまだ書きたいことがあるのですが、このままだとかなり長い記事になってしまい誰にも読んでもらえなくなってしまいそうなので、一旦ここまでで終わりにしようと思います。
続きを別の記事として書く予定です。
次は標的型攻撃やソーシャルハックなどについて解説したいと思います。
余談
このようなセキュリティに関する解説記事は様々な批判や暴言が飛んでくるリスクがあり本当であれば書かない方が平穏に生きられるのですが、それでもVTuberの人が事故を起こす恐れを少しでも減らしたいと思い書きました。