この回では、通信の途中に割り込む中間者攻撃や、ログイン状態を乗っ取るセッションハイジャック、そして本人になりすます手口の仕組みと対策を学ぶよ。
通信って、送った人と受け取る人だけのはずだよね。
そこに割り込むなんてできるの?
できてしまうのが中間者攻撃(Man-in-the-Middle攻撃、MITM)よ。
攻撃者が通信の間にこっそり入り込み、双方になりすまして会話を中継しながら、内容を盗み見たり書き換えたりするの。
当事者どうしは直接やりとりしているつもりでも、実際は攻撃者を経由している、ということですね。
そう。
例えば偽のWi-Fiアクセスポイントを用意して接続させたり、ARPスプーフィングでLAN内の通信を自分に引き込んだりして中間に立つの。
盗み見られたら、パスワードもバレちゃうんですかぁ?
暗号化されていない通信ならね。
だからTLSによるHTTPS通信が基本の対策。
さらに証明書をきちんと検証して、警告が出るサイトでは情報を入力しないことが大切よ。
次の「セッションハイジャック」って何を乗っ取るの?
Webにログインすると、サーバは利用者を識別するためにセッションIDを発行するの。
この識別子を盗んで悪用し、ログイン状態そのものを乗っ取るのがセッションハイジャックよ。
セッションIDはCookieに保存されることが多いので、XSSで盗まれたり、通信の盗聴で奪われたりします。
攻撃者はパスワードを知らなくても、そのIDを使えば本人として振る舞えてしまいます。
対策としては、CookieにSecure属性やHttpOnly属性を付けて盗まれにくくする、ログインのたびにセッションIDを再発行する(セッションIDの固定化=セッションフィクセーション対策)、通信をHTTPSで暗号化する、といったことね。
「なりすまし」は、その人のふりをすることですよねぇ?
そうよ。
他人のIDやパスワードを使ったり、送信元アドレスを偽ったりして本人や正規の機器のふりをするのがなりすまし(spoofing)。
IPアドレスを偽装するIPスプーフィングや、送信者を偽ったメールなどが典型ね。
根本の対策は本人確認を強くすることです。
多要素認証を使えば、IDとパスワードが漏れても不正ログインを防ぎやすくなりますね。
その通り。
『通信を暗号化する』『識別子を守る』『認証を強くする』の三本柱で、割り込み・乗っ取り・なりすましに備えるのがポイントよ。
確認クイズ
利用者がWebサービスにログインした後に発行される識別子を盗み、その識別子を使ってログイン状態を乗っ取る攻撃はどれか。
- セッションハイジャック
- 中間者攻撃
- リフレクション攻撃
- ゼロデイ攻撃
こたえを見る
正解: 1. セッションハイジャック
セッションハイジャックは、ログイン後に発行されるセッションIDを盗んで悪用し、パスワードを知らなくても本人のログイン状態を乗っ取る攻撃で、CookieへのSecure/HttpOnly属性付与やセッションIDの再発行が対策となる。中間者攻撃は通信の間に割り込んで盗聴・改ざんする攻撃で、識別子の乗っ取りに限定されない。リフレクション攻撃は応答を増幅させるDDoSの手口、ゼロデイ攻撃は修正前の脆弱性を突く攻撃であり、いずれもセッションIDを盗む手口とは異なる。