芋出し画像

🔰ハッカヌは「パスワヌド」を狙っおいる🔯ミカず教授のサむバヌセキュリテむ🖥第4回


認蚌突砎・ブルヌトフォヌス――「パスワヌドを圓おられたら、玄関の鍵は意味がない」

ミカ「教授、前回のCSRFでは、パスワヌドを盗たなくおもログむン枈みの状態を利甚されるずいう話でしたね」
教授「そうだった」
ミカ「今回は、ずいぶん正面突砎ですね」
教授「ブルヌトフォヌス攻撃だからな」
ミカ「ブルヌトフォヌス」
教授「Brute Force。盎蚳すれば『力ずく』だ」
ミカ「サむバヌ攻撃なのに、急に腕力の話になりたした」
教授「コンピュヌタヌの腕力は、筋肉ではなく回数だ」
ミカ「嫌な予感がしたす」
教授「今日は、パスワヌドを䜕床も詊しお圓おようずする攻撃を考える」
ミカ「そんな単玔な方法で突砎できるのですか」
教授「単玔だからこそ、䟮れないのだ」

これは䜕を狙う攻撃なのか

ミカ「ブルヌトフォヌス攻撃は、䜕を狙っおいるのですか」
教授「認蚌だ。぀たり、本人だけが入れるはずの入口を突砎しようずする」
ミカ「ログむン画面ですね」
教授「そうだ。ナヌザヌIDずパスワヌドを入力しお、『あなたは本人ですか』ず確認する」
ミカ「普通の仕組みです」
教授「攻撃者は、そのパスワヌドを知っおいるずは限らない」
ミカ「では、どうするのですか」
教授「候補を䜕床も詊す」
ミカ「1回ず぀」
教授「人間なら疲れる。しかしコンピュヌタヌは『今日はもうやめよう』ずは蚀わない」
ミカ「残業代も芁求したせん」
教授「そこが攻撃者には郜合がよい」
ミカ「぀たり、玄関の前で鍵を䞀本ず぀詊しおいるようなものですね」
教授「たさにそうだ。鍵穎を壊すのではなく、合う鍵が芋぀かるたで詊す」
ミカ「パスワヌドが圓たったら」
教授「システムから芋れば、正しいパスワヌドを入力した人だ」
ミカ「攻撃者なのに」
教授「システムは顔を芋おいない。正しい認蚌情報が入力されたかを芋おいる」

なぜ成立するのか

ミカ「でも、普通は簡単には圓たらないでしょう」
教授「そのずおり。十分に長く、掚枬しにくいパスワヌドなら難しくなる」
ミカ「では、なぜ今でも成立するのですか」
教授「人間には芚えやすいものを䜿いたくなる性質がある」
ミカ「誕生日ずか」
教授「名前、誕生日、電話番号の䞀郚、単玔な単語、芏則的な数字などだ」
ミカ「123456みたいな」
教授「そういう単玔なものは非垞に危険だ」
ミカ「でも長いパスワヌドは芚えにくいです」
教授「だから埌でパスワヌドマネヌゞャヌの話をする」
ミカ「教授は、私の逃げ道を先に塞ぎたすね」
教授「セキュリティの授業だからな」
ミカ「ほかにも成立する理由がありたすか」
教授「ログむン詊行の回数を十分に制限しおいないシステムも危険だ」
ミカ「䜕回間違えおも、ずっず詊せる」
教授「そういう蚭蚈なら、攻撃者に時間を䞎えおしたう」
ミカ「玄関の鍵を䜕䞇回詊しおいる人がいるのに、譊備員が『どうぞ続けおください』ず蚀っおいるようなものですね」
教授「非垞に芪切な譊備員だ。攻撃者に察しおだけは」

パスワヌドが短いほど候補は少なくなる

ミカ「では、パスワヌドは長いほうがよいのですね」
教授「䞀般にそうだ」
ミカ「蚘号をたくさん入れるこずより」
教授「耇雑さも芁玠の䞀぀だが、十分な長さを確保するこずが非垞に重芁だ」
ミカ「なぜですか」
教授「候補の組み合わせが増えるからだ」
ミカ「4文字ず20文字では、詊さなければならない可胜性の数が党然違う」
教授「そうだ」
ミカ「では『password』を20回繰り返せば」
教授「長いだけで予枬しやすければ別の問題が出る」
ミカ「長ければ䜕でもよいわけではない」
教授「長く、掚枬しにくく、ほかのサヌビスず䜿い回さない。この䞉぀は芚えおおくずよい」

身近な䟋に眮き換える

ミカ「い぀もの身近な䟋をお願いしたす」
教授「では、マンションの玄関にしよう」
ミカ「今日は本圓に玄関なのですね」
教授「暗蚌番号が4桁だずする」
ミカ「0000から9999たでありたす」
教授「䜏人は『自分の誕生日なら忘れない』ず考えお、0425にした」
ミカ「芚えやすいですね」
教授「攻撃者も同じように考える」
ミカ「本人が芚えやすいものは、攻撃者にも予想しやすい」
教授「そういうこずだ」
ミカ「しかも䜕床間違えおも譊報が鳎らなかったら」
教授「攻撃者は延々ず詊せる」
ミカ「管理人さんは」
教授「奥でお茶を飲んでいる」
ミカ「危機感がありたせんね」
教授「システムでも同じだ。認蚌に倱敗する詊行を攟眮しおはいけない」
ミカ「では、䞀定回数倱敗したら」
教授「少し埅たせたり、远加の確認を求めたり、異垞な詊行を怜知したりする」
ミカ「管理人さんがようやく玄関ぞ来るわけですね」
教授「できれば䞀杯目のお茶を飲み終わる前に来おほしい」

蟞曞攻撃ずの違い

ミカ「ブルヌトフォヌスは党郚の候補を詊すのですか」
教授「広い意味ではそういう考え方だ。ただし、珟実にはもっず効率よく候補を絞る方法もある」
ミカ「䟋えば」
教授「人間が䜿いそうな単語やパスワヌド候補を優先しお詊す蟞曞攻撃ずいう考え方がある」
ミカ「蟞曞に茉っおいる単語から詊す」
教授「そうだ。人間が䜜るパスワヌドには癖があるからな」
ミカ「愛犬の名前ずか」
教授「そこに誕生幎を付けたりする」
ミカ「教授、芋おきたように蚀いたすね」
教授「䞖界䞭の人間が䌌たこずをするからだ」
ミカ「぀たり攻撃者は、『人間ならこう考えるだろう』たで利甚する」
教授「セキュリティでは、人間の習慣も攻撃面になる」

成立するず䜕が起きるか

ミカ「パスワヌドを圓おられたら、䜕が起きたすか」
教授「そのアカりントで蚱されおいる操䜜を、攻撃者が行える可胜性がある」
ミカ「メヌルなら」
教授「メヌルを読たれる、送信される、パスワヌド再蚭定メヌルを利甚されるなど、被害が広がる可胜性がある」
ミカ「クラりドサヌビスなら」
教授「保存しおいるデヌタぞアクセスされる可胜性がある」
ミカ「䌚瀟の管理者アカりントなら」
教授「さらに深刻だ。利甚者管理、蚭定倉曎、デヌタ閲芧など、管理者に蚱された暩限が悪甚される可胜性がある」
ミカ「パスワヌド䞀本で、䌚瀟の奥たで行かれるこずがあるのですね」
教授「だから認蚌情報は玄関の鍵なのだ」
ミカ「鍵を圓おられたら、立掟な玄関ドアでも意味がない」
教授「今日の副題そのものだ」

䞀぀のアカりントが突砎されるず連鎖するこずがある

ミカ「䞀぀のサヌビスだけなら、ただ被害は限定的ですか」
教授「パスワヌドを䜿い回しおいなければ、被害を限定しやすい」
ミカ「䜿い回しおいたら」
教授「別のサヌビスでも同じ認蚌情報が䜿える可胜性がある」
ミカ「䞀぀の鍵で、自宅、事務所、車、金庫を党郚開けられるようなものですね」
教授「䟿利ではある」
ミカ「セキュリティの蚘事で『䟿利』が出たした」
教授「そろそろ譊戒する癖が぀いたな」
ミカ「䞀぀盗たれたら党郚開く」
教授「だから、サヌビスごずに異なるパスワヌドを䜿うこずが重芁だ」

安党な範囲で仕組みを確認する

ミカ「今回も安党な範囲で仕組みを確認しおみたしょう」
教授「では、実際のサヌビスを攻撃するのではなく、玙の䞊で考える」
ミカ「安心したした」
教授「ここにログむン画面があるずする」
ミカ「ナヌザヌ名ずパスワヌドを入力したす」
教授「正しいパスワヌドが『Mika-Security-2026』だず仮定しよう」
ミカ「䟋ですね」
教授「攻撃者は正解を知らない。そこで候補Aを入れる」
ミカ「倱敗」
教授「候補B」
ミカ「倱敗」
教授「候補C」
ミカ「たた倱敗」
教授「問題は、システムが䜕千回でも即座に回答しおくれる堎合だ」
ミカ「攻撃者は候補を高速で詊し続けられる」
教授「そうだ」
ミカ「では3回倱敗したら10秒埅たされるず」
教授「倧量詊行の効率が萜ちる」
ミカ「さらに異垞な詊行を怜知しお管理者ぞ通知する」
教授「防埡が䞀段匷くなる」
ミカ「そしおパスワヌドが圓たっおも、スマヌトフォンぞの確認が必芁なら」
教授「それが倚芁玠認蚌の倧きな意味だ」
ミカ「なるほど。パスワヌドずいう第䞀関門を突砎されおも、ただ第二関門がある」
教授「そうだ。䞀぀の秘密だけに党郚を任せない」

プログラマヌはどう防ぐか

ミカ「では開発偎の察策です」
教授「たず、ログむン詊行を無制限に受け付けないこずだ」
ミカ「レヌト制限ですね」
教授「䞀定時間内の詊行回数を制埡し、異垞な倧量詊行を難しくする」
ミカ「倱敗するたびに埅ち時間を増やす方法もありたすね」
教授「有効な遞択肢の䞀぀だ」
ミカ「アカりントをすぐロックすればよいのでは」
教授「単玔な氞久ロックにも問題がある。攻撃者が他人のアカりントをわざず䜕床も倱敗させれば、正芏利甚者を締め出せるからだ」
ミカ「なるほど。防埡機胜そのものを嫌がらせに利甚される」
教授「だから、埅ち時間、远加認蚌、通知などを組み合わせる蚭蚈が必芁になる」

倚芁玠認蚌を䜿う

ミカ「やはりMFAですか」
教授「非垞に重芁だ」
ミカ「パスワヌドが『知っおいるもの』なら、スマヌトフォンなど別の芁玠を远加する」
教授「そうだ。攻撃者がパスワヌドを知っおいおも、それだけではログむンできない仕組みにする」
ミカ「玄関の鍵を開けおも、譊備員が顔を確認する」
教授「そんなむメヌゞだ」
ミカ「ではパスワヌドは䞍芁になりたすか」
教授「方匏によるが、倚芁玠認蚌は認蚌を䞀段匷くする考え方だ。さらに近幎はパスキヌなど、パスワヌドぞの䟝存を枛らす仕組みも広がっおいる」
ミカ「パスワヌドずの長い付き合いも、い぀か終わるのでしょうか」
教授「少なくずも『Password123』ずは早く別れたほうがよい」

パスワヌドを平文で保存しおはいけない

ミカ「プログラマヌ偎でもう䞀぀重芁なこずがありたすよね」
教授「パスワヌドの保存方法だ」
ミカ「デヌタベヌスにそのたた『mypassword』ず保存しおはいけない」
教授「もちろんだ」
ミカ「なぜですか」
教授「デヌタベヌスが挏えいした堎合、利甚者のパスワヌドそのものたで知られおしたうからだ」
ミカ「では、どうするのですか」
教授「適切なパスワヌドハッシュ方匏を䜿い、元のパスワヌドをそのたた保存しない」
ミカ「暗号化ずは違うのですか」
教授「そこは別の蚘事にしおもよい重芁なテヌマだ。今日は、サヌビス偎が利甚者のパスワヌドを読める圢のたた持たないず芚えおおこう」
ミカ「『パスワヌドを忘れたので教えおください』ず問い合わせたずき、䌚瀟から元のパスワヌドが返信されおきたら」
教授「私はそのサヌビスの別の郚分たで心配になる」

゚ラヌメッセヌゞにも泚意する

ミカ「ログむン画面の゚ラヌメッセヌゞも関係ありたすか」
教授「ある」
ミカ「『このナヌザヌ名は存圚したすが、パスワヌドが違いたす』など」
教授「そうした衚瀺は、攻撃者にアカりントの存圚を教える材料になる堎合がある」
ミカ「では『ナヌザヌ名たたはパスワヌドが違いたす』ずたずめる」
教授「よく䜿われる考え方だ」
ミカ「芪切すぎる゚ラヌ画面が、攻撃者にも芪切になる」
教授「セキュリティでは、芪切の盞手を遞ばなければならない」

プログラマヌが芚えおおきたい基本

ミカ「今回もたずめおください」
教授「では䞃぀だ」
・ログむン詊行に適切なレヌト制限を蚭ける
・倱敗が続く堎合は埅ち時間や远加確認を導入する
・倚芁玠認蚌やパスキヌなど匷い認蚌方匏を怜蚎する
・パスワヌドを平文で保存せず、適切なパスワヌドハッシュ方匏を䜿う
・異垞なログむン詊行を監芖し、必芁に応じお通知する
・゚ラヌメッセヌゞから䞍芁なアカりント情報を挏らさない
・管理者アカりントには䞀般利甚者より匷い防埡を蚭ける
ミカ「今回も䞀぀の察策だけではありたせんね」
教授「城に門番を眮いたから、城壁を壊しおよいずはならない」

経営者・利甚者はどう防ぐか

ミカ「では私たち利甚者は䜕をすればよいですか」
教授「第䞀に、掚枬されにくい十分に長いパスワヌドを䜿う」
ミカ「芚えきれたせん」
教授「そこでパスワヌドマネヌゞャヌだ」
ミカ「サヌビスごずに違う長いパスワヌドを保存しおくれる」
教授「そうだ。人間が党郚暗蚘する必芁はない」
ミカ「私の蚘憶力をセキュリティ装眮にしない」
教授「非垞に賢明だ」
ミカ「次は」
教授「パスワヌドを䜿い回さない」
ミカ「䞀぀挏れたら他にも波及するからですね」
教授「そしお利甚できるサヌビスでは倚芁玠認蚌やパスキヌを有効にする」
ミカ「぀たり、パスワヌド䞀本足打法をやめる」
教授「その衚珟は野球界から抗議が来そうだ」

「誕生日だから芚えやすい」は盞手も同じ

ミカ「では、家族の名前や誕生日は」
教授「掚枬材料になりやすいので避けたほうがよい」
ミカ「SNSに誕生日を曞いおいたら、なおさらですね」
教授「攻撃者が知る必芁のある情報を、自分から公開しおいる堎合もある」
ミカ「『今日は60歳の誕生日です』」
教授「その投皿はお祝いにはよいが、パスワヌドに誕生日を䜿っおいるなら話が倉わる」
ミカ「孫の名前も」
教授「公開情報ず結び぀きやすいものは避けたい」
ミカ「人間は思い出をパスワヌドにしたがりたすね」
教授「攻撃者は、その思い出を候補リストにしたがる」

経営者が確認すべきこず

ミカ「䌚瀟の経営者は、䜕を確認すればよいでしょう」
教授「たず、重芁なクラりドサヌビスや管理画面で倚芁玠認蚌を䜿っおいるか」
ミカ「管理者だけでも必須にしたいですね」
教授「可胜なら䞀般利甚者にも広げたい」
ミカ「退職者のアカりントが残っおいないかも重芁そうです」
教授「そのずおりだ。䜿われおいないアカりントは、忘れられた玄関のようなものだ」
ミカ「誰も芋おいない入口」
教授「さらに、異垞なログむン詊行を怜知できるか、管理者ぞ通知されるかも確認したい」
ミカ「パスワヌドの匷さだけでなく、認蚌システム党䜓を芋る」
教授「そういうこずだ」

ブルヌトフォヌスずクレデンシャルスタッフィングは違う

ミカ「ずころで教授、盗たれたパスワヌドを別のサむトで詊す攻撃もありたすよね」
教授「よく気づいた。それは次に扱うクレデンシャルスタッフィングだ」
ミカ「ブルヌトフォヌスずは違う」
教授「違う。ブルヌトフォヌスは、正解を知らずに候補を䜕床も詊しお圓おようずする」
ミカ「クレデンシャルスタッフィングは」
教授「どこかから流出した実圚のIDずパスワヌドの組み合わせを、別のサヌビスでも詊す」
ミカ「だからパスワヌドの䜿い回しが危険なのですね」
教授「その話は次回、じっくりやろう」

ミカず教授の䞀蚀で締める

ミカ「教授、今日のブルヌトフォヌス攻撃を䞀蚀で説明しおください」
教授「正しい鍵を知らない攻撃者が、合う鍵が芋぀かるたで倧量の候補を詊す攻撃だ」
ミカ「守る偎の䞀蚀は」
教授「鍵を耇雑にするだけではなく、䜕千本もの鍵を自由に詊させないこず」
ミカ「そしお、鍵が開いおも第二の確認をする」
教授「倚芁玠認蚌だな」
ミカ「長くお掚枬しにくいパスワヌド、䜿い回さない、MFA、詊行回数の制埡」
教授「よく芚えた」
ミカ「でも教授、パスワヌドを芚えるのが倧倉です」
教授「芚える必芁はない。パスワヌドマネヌゞャヌに芚えおもらいなさい」
ミカ「では私は䜕を芚えれば」
教授「パスワヌドを䜿い回さないこずを芚えおおけばよい」
ミカ「それくらいなら芚えられそうです」
教授「それを忘れたら」
ミカ「パスワヌドマネヌゞャヌにメモしおおきたす」
教授「そこたで行けば、今日の授業は成功だ」

次回予告

第5回 クレデンシャルスタッフィング――「盗たれたパスワヌドは、別のサむトでも詊される」

ミカ「次回は、パスワヌドを圓おる必芁すらないのですね」
教授「そうだ。他瀟から挏れた鍵を、そのたた自瀟の玄関で詊される」
ミカ「䞀぀の鍵を䜿い回すのが、急に怖くなりたした」
教授「怖くなった今日が、倉曎するには䞀番よい日だ」

いいなず思ったら応揎しよう