僕:「最近ナナと良い感じ?」
タク:「こないだ“合鍵”もらっちゃったんだよねー」
僕:「まじ!信頼されてる証拠じゃん!」
タク:「いつでも家に行けちゃうわ!」
「サイト間違えた!?」と思った方、安心してください。普段は大学でこんな会話ばかりしてる僕ですが、インターンでの経験を通して身近なところにもセキュリティのポイントがあることに気づいてしまったんです。
初心者にとってハードルが高いセキュリティですが、身近な例で考えれば意外と分かりやすいと思い、備忘録として残すことにしました。ここでは、アクセス制御をつかさどるAzure ADの機能について紹介していきたいと思います。
これからセキュリティを勉強したい人、仕事で未経験ながらセキュリティを任された人はぜひ息抜きにおすすめです。
セキュリティにおけるトラストとは?
セキュリティにおける「トラスト(信頼)」とはどのようなものなのでしょうか。一言でいうと「アクセス制御のカギ」となる部分です。ユーザー(主体)が目的のリソース(対象)へアクセスするために必要になります。例えば記事冒頭での会話はどうでしょうか。タク(主体)は恋人のナナと良好な関係を築き、信頼(トラスト)の証として合鍵を手に入れたことで、自由にナナの家(対象)に入ることができるようになりました。サイバー空間におけるセキュリティも同じで、ユーザー(主体)が社内の情報(対象)にアクセスするためにはIDやデバイスが健全であるという情報をもとに信用してもらう必要があるのです。タクが家主であるナナに信頼されたことで自由に家に入れるようになるのは、Microsoftが考えるゼロトラストセキュリティにおけるトラストアンカーと似ていると思いませんか?IDの認証基盤であるAzure ADは、リソースにアクセスする人をその都度確認し、アクセスしているユーザーがトラストアンカーとして信頼できるかどうかを判断します。このAzure ADとユーザーの関係が、家主であるナナとタクの関係に似ていると感じました。
ゼロ トラスト モデル - モダン セキュリティ アーキテクチャ | Microsoft Security

図1 主体から対象への信用に基づくアクセス
ナナに嫌われたくない!ならSNSの多要素認証を有効にしちゃおう!
ある日突然、SNSで友人から怪しい文面やサイトが送られてくることはありませんか?もしかするとその友人はアカウントを乗っ取られている可能性があります。
ある日タクと話していると、突然SNSで別の友人から怪しい文面やサイトが送られてきました。
僕:「なんかいつもと違うな。アカウント乗っ取られてる説あるかも?」
タク:「アカウントが乗っ取られるなんて怖いな。もし自分がナナに変なメッセージを送ってしまったらどうしよう。せっかく良い感じなのに、、、まぁでもそんなことある訳ないか!」
なんて思っていませんか?はい、それ危険です。あらゆるSNS、Webサイトが攻撃を受けており、登録しているパスワードが外部へ漏れてしまっている可能性が否めません。他人事だととらえずに、あなたのSNSも多要素認証を有効にしてみましょう。多要素認証とは、IDとパスワード以外にも指紋認証や顔認証を組み合わせ、複数の要素で本人を確認する仕組みのことです。実は、多要素認証を設定するだけで不正ログインなどの99.9%の攻撃を防げるようになるんです。
そして、多要素認証は、Azure ADとMicrosoft Authenticatorモバイルアプリを使えば簡単に実現できちゃいます。最近、多要素認証をかいくぐったフィッシング攻撃が見られています。その原因は、「ログインしようとしていますか?」といった通知に対し、注意を払うことなく承諾をしてしまっているという人間の油断にあります。そこで、Microsoft Authenticatorのようなログイン前にデバイスに表示された番号を別デバイスのMicrosoft Authenticatorアプリに正しく入力する方式の多要素認証を採用することがおすすめです。成りすまそうとしている攻撃者はログイン承諾用の番号も手に入れる必要が増え、攻撃を受ける側も慣性で通知を承認してしまうという可能性が軽減されるため、不正ログインのリスクを緩和することができます。ビジネスでもプライベートでも多要素認証を有効にして、大切な人とのトークの邪魔をされないようにしちゃいましょう!
One simple action you can take to prevent 99.9 percent of attacks on your accounts (microsoft.com)

図2 Microsoft Authenticatorによる多要素認証
おっと危ない!入場させちゃうところでした。
タク:「ちょ、今度ナナと野球観に行くんだけど初ドームだから1回一緒に行ってくんね?」
僕:「そーゆーとこに惚れたんだろねー笑」
ということで最近、タクにデートの下見に付き合って欲しいと頼まれたので一緒に野球観戦に行ってきました。その際にもセキュリティと重なるシーンを見つけてしまいました。応援席への入場前に、僕の持っているリュックの中身も確認されたんですよね。野球観戦は初めての僕でして、チケットも提示して入場する気満々でしたが、「君、今のままだと入れないよ!」と係の人にはじかれてしまいました。リュックに入れていた缶の飲み物が原因でした。爆発などの危険を持ち合わせているからです。「知らなかった!」と思いながら、リュックの中身を安全な状態にしてから無事に入場することができました。そのとき僕は、「この入場検査ってAzure ADのデバイスの状態によるアクセス制御と似てるな~」と感じました。Azure ADはユーザーの情報に加え、ユーザーのデバイスの状態も確認します。「IDとパスワードは正しいけど、その人が使っているデバイスはアクセスできるほど安全ですか?」というユーザーが気付くことがないような点を確認するのです。そのため、デバイスがウイルス感染していて社内ネットワークにアクセスした際に感染を広げる危険性があるときにはアクセスを許可せず、ユーザーのデバイスが安全になってからアクセスを許可します。ネットワーク内部での2次災害を未然に防ぐことにつながっているのです。Azure ADのデバイスにおけるアクセス制御によって、より安全なアクセスを実現しているんですね。
僕の恥ずかしいエピソードを教訓に、タクがデートで失敗することはなさそうです!

図3 デバイスにおけるアクセス制御を入場検査で例える
条件付きアクセス ポリシーの条件としてのデバイスのフィルター - Azure Active Directory - Microsoft Entra | Microsoft Docs
まとめ
今回は、認証とアクセス制御で重要な役割を果たすAzure ADの機能について、僕の身近な例をもとに説明しました。これをきっかけにセキュリティに興味をもってくれる人が一人でも増えると嬉しいです。
皆さんもSNSを多要素認証にするところからセキュリティを始めてみてはいかがでしょうか!

Technical Specialist Intern
高谷 龍星(Ryusei Takaya) 経歴:
2022年日本マイクロソフト株式会社のインターンとして配属。
プリセールスのセキュリティチームで活動。