[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Twitter のアカウント乗っ取りへの対処の話で「悪意をもって提供されているアプリ」という話をした。その見分け方、気を付けた方の一つが「権限がどうなっているのか」である。
悪意をもって提供されているアプリは大体「新しくフォローする」「プロフィールを更新する」「ツイートする」「ダイレクトメッセージを見る」の4つの権限を利用して悪さをする。「タイムラインのツイートを見る」だとか「フォローしている人を見る」だとでは大した悪さはできない。この4つのうち1つでも含まれているアプリについてはよく確認する必要がある。
もちろん、上述の4つの権限を持っているからといって悪意があるアプリだとは限らない。
アプリの権限は2つのタイミングで確認できる。「連携アプリを認証するタイミング」と「連携アプリを確認する時」である。
まず、一つ目の連携アプリを認証するタイミングは以下のような画面だ。
これはアプリが持てるあらゆる権限を持たされたアプリである。上述の4つの権限も含まれていることを確認していただきたい。このようなアプリでは「連携アプリを認証」をクリックする前にアプリそのものや、開発者についてよくよく確認べきだ。
2つ目は前回も紹介した連携アプリの一覧から確認できる。連携しているアプリの「アクセス権」という項目がある。アクセス権には「読取専用」「読み書き」「読み、書き、及びダイレクトメッセージ」の3種類がある。このうち、読み取り専用は悪いことには使いにくい。しかし、それ以外の2つについては悪いことをするのには十分な機能である。不安であればチェックしてみよう。
前回紹介した TAKUBO は権限について http://takubo.mydns.jp/rule で次のように説明している。
このサイトで使用しているTwitter機能
- ログイン機能
- フォローしている人/フォロワーのtwitter idの取得(FF内かどうかを判別するため)
- 自分自身にDM(通知機能、設定で全てOFFに可能)
ログイン時の要求権限について
Twitterではアプリケーション毎に要求の権限を変更できますが、それは
- 読み込みのみ
- 読み書きOK(DM以外)
- 読み書きOK(DMあり)
の3種類しか設定できません。本サイトは「自分自身にDM」機能のために3つめの権限にするしかありませんでした。(これのせいで不要な「プロフィールを見る」などといった権限が要求されます)
(後略)
この関係でいわれのない非難を浴びた経緯のあるアプリである。すなわち、連携の認証画面を見ると「ツイートする」「プロフィールを更新する」などといった本来使わないはずの権限もアプリには与えられている。
これは本文中にある通り、Twitter のアプリに付与できる権限は3種類しかないからだ。これについては Application Permission Model — Twitter Developers に詳しく書かれているが、次のように分かれる。なお、できることは一例に過ぎない。
アプリからは無理
最強の権限:読み、書き、及びダイレクトメッセージ
強い権限:読み書き
弱い権限:読取専用
開発者は作るアプリの権限をこの3種類から1つ選択して開発する。そのため、作ったアプリが不必要に強い権限を持ってしまうことがある。抱き合わせで他の権限もついてくるからだ。
残念ながらこの辺を細かくコントロールする機能はこの記事を書いている時点では存在しない。
古い友人の Twitter アカウントが乗っ取られていた。
Twitter のヘルプセンターに「アカウントが乗っ取られた場合 | Twitterヘルプセンター」という記事がある。これを読んでほしい。つまり
この問題に関しては「パスワードを変えればいいよ」とだけ言われているのをよく見るが、実際にはそれだけでは不十分だ。
何故なら、アカウント乗っ取りは「悪意を持って提供されているアプリ」と自分の Twitter アカウントを連携させた場合に発生することが多いからである。このアプリとの連携を解除すれば、アプリは悪さをできなくなり、乗っ取りから回復できる。
有名なサービスの1つ、fusetter は「アプリがツイートを行う」サービスだ。
あとはだいぶ前に話題に上がった TAKUBO というサイトは自分自身に DM を送信する機能を持つアプリだ。
他にもサードパーティの出している Twitter クライアント (今度サービス終了が告知されたついっぷるとか) も「アプリがツイートを行う」といえる。
そんなわけで、「アプリがツイートを行うのはよくある」。
上述のアカウントを乗っ取られたときの対処から考えられる以下の3つを行うと良い。
アカウント乗っ取りは「変なアプリと連携させた」「パスワードがバレた」「メールをのぞき込まれた」のどれかで発生する (他にもパソコンや携帯を勝手に操作されたとかはあるかもしれないが)。これらを予防するように動けばアカウント乗っ取りは防ぎやすいだろう。
会社で雑談中にカードキーを落とした先輩に拾って渡しながら「セキュリティ事故ですよ」と冗談で話しかける場面がある。あった。だがこれは、セキュリティ事故ではない。セキュリティ事象だ。
セキュリティ事故につながり得るすべての事柄をセキュリティ事象、と呼ぶ。上述のカードキーを落とした、という話は私が気づかずに通り過ぎ、その後第三者がこれを取得して悪用した場合はセキュリティ事故になり得るのでセキュリティ事象だ。
セキュリティ事故のきっかけなので、「飲み会に機密情報が入ったブリーフケースを持参してしまった」とか「会社の PC に Winny を入れていた」とかもセキュリティ事象である。
セキュリティ事象の結果、実際に事故が起こった場合はセキュリティ事故である。上述のカードキーを第三者が悪用して情報を盗まれたり、飲み会の席でブリーフケースを置きわすれた結果誰かが拾って中身を覗いたり、Winny 経由で得た何かでウィルス感染した結果として重要情報をネットに流してしまえばセキュリティ事故である。
セキュリティ事象は1,2個ではセキュリティ事故にはならないことがほとんどだろう。セキュリティ事象は起こる、という前提でセキュリティを考える必要がありそうだ。
また、セキュリティ事象はセキュリティ事故と違って見過ごされやすい。「これは!セキュリティ!事象!」と意識づける働きなども有効かもしれない。ただ、これは組織の雰囲気などに左右されがちなので担当者は大変だが……
P マークとか ISO とか SOC とか FISC とかのお仕事をしていると、案外自分も周りも分かってない、というのが分かってきた。例えば「P マーク持ってる」は価値があっても「SOC1 もってる」はそれだけじゃ価値があるかどうかは分からない (けど、まぁ価値はたぶんあるんだろう) とか。「FISC 持ってる」はよく意味が分からない、とか。
この手のコンプライアンスとかの基準を理解するのに Certification / Report / Declaration という三つの単語は便利だと思うので紹介。
ISO とか PCI DSS とかは「~の認証 (Certification) を受ける」となる。
認証を受けるには団体 (企業) が一定の基準を満たしたうえで監査機関から評価を受けて「客観的に見て確かに基準を満たしているね」と評価してもらう必要がある。
認証のありがたみは「客観的に見て一定の基準を満たしている」と分かる点である。
ただし、一定基準を満たしていれば認証されるので、基準をスレスレで達した場合と基準を余裕で満たしている場合の区別がつかない。監査の時だけ表面を整える、なんてひどい会社の話もチラホラきく。また、監査機関に依頼する関係でもらうにはお金を払う必要がある。
個人で言うと「英検2級を持っている」に近い。
SOC シリーズはこれにあたり、「SOC1 の報告書 (Report) を書いてもらった」などという。
なんらかの要求に対してどのように対応しているのか、対応が十分か否かなどを監査機関から客観的に評価してもらい、報告書を書いてもらう。
これのありがたみも認証と同じく客観的な点であるが、「客観的に見てどの程度のレベルに達しているか」分かるものである。
監査機関に書いてもらう関係で有料なためまずないとは思うが、あくまで報告書であるため、レベルが大変に低い場合「ひどい状況でした」というレポートが出てくる。監査機関はそうならないためにある程度助言などはしてくれるとはいえ。
個人で言うと「TOEIC のスコア持ってます」に近いか。
FISC 安全対策基準はこれになる。「FISC 安全対策基準に弊社は準拠している」などという。広義には CSA STAR の Level 1 (セルフアセスメント段階) もこれにあたるだろうか。
ガイドラインなどへの準拠度合いについて、自己監査を行い報告する。
自己監査であるため無料なのは強み。
ただし、第三者機関によるものではないため、効果のほどはその団体の信用度に左右される。ただ、そういった資料に従って取引相手は判断を下すため少なくとも嘘はつけない。
個人で言うと (嘘だとバレたらかなりまずい状況下で)「わたしは英語ができます」と言っているようなものである。
| 種類 | 例 | 説明 | 利点 | 欠点 |
|---|---|---|---|---|
| Certification (認証) | ISO, Pマーク など | 監査機関が特定の水準を満たしている団体に出す合格証 | 客観的な評価である。一定の水準以上であることが示される | 一定の水準をどの程度こえているかは分からない。また、取得は有料 |
| Report (報告) | SOC など | 監査機関が内容について書いた報告書 | 客観的な評価である。一定の内容について細やかに評価されている | (大体問題ないだろうけれども) 内容を読まないとレベルの程は分からない。また、取得は有料 |
| Declaration (宣言) | FISC 安全対策基準など | 自分で内容についてレポートしたもの | 自分で作成するので原則無料 | (嘘をついた時のリスクが大きすぎるからあまりないとは思うが) 内容が本当かどうかは分からない |
ボイスチャットサービス Discord でどどんとふ互換のダイス BCDice を使うなんて記事を前に書いたけど、凄いのがあった。
BCDice-API は jsonp 対応
— Nanasu (@Nanasu7) 2017年7月29日
Discord Bot のGatewayは Websocket
どっちもブラウザから叩ける、ということで作ってみたのがこちら。https://t.co/5qmheUCDfw
ちゃんと読んでなかったが、こんなことできるのか……配布されている zip ファイルを展開して 任意の場所に設置すればすぐに使える。Java も要らない。ううむ、
なお、izy521/discord.io を使っているようだ。