無料メルマガ登録でプレゼント!書籍「セキュリティ対策の基礎知識」セッションハイジャックとは、コンピューター通信でりようする「セッション」を窃取し、本人に成り代わって通信を行うというサイバー攻撃です。「なりすまし」で不正アクセスをする行為です。「セッションハイジャック」と聞くと、とても難しいサイバー攻撃で、防ぐのが難しいを感じてしまう方も多いかと思いますが、それぞれの用語の意味を把握してしっかりと対策を行っておけば大丈夫です。今回の記事ではその攻撃の原因と対策方法を解説しましたので最後までぜひご覧ください。著名講演者多数!申込受付まもなく終了です申し込みはこちらセッションハイジャックとは?Webアプリケーションとブラウザはユーザーに快適なサービスを提供するために、個別のセッションIDやcookieを使って個人認証を行い、通信をやり取りしています。セッションハイジャックとは、何らかの手段でこれらの情報を窃取し、本人に成り代わって通信を行うというサイバー攻撃です。「なりすまし」行為なので、盗んだ免許証を使って悪事を働く様子を想像すると、イメージしやすいかと思います。盗んだパスポートで海外に行って悪さをするようなものですね。セッションとは?Webページにアクセスしたユーザーが、そのページ内で行う一連の動作を1セッションと数えている。ユーザー名とパスワードを入力して認証を行ってログインした場合、ログアウトしてそのWebページを退出するまでが、1セッションである。引用:セッション|コトバンク上記からも「セッションハイジャック」は、そのWebページのログインからログアウトまでの通信(セッション)を乗っ取る(ハイジャック)行為であることが言えます。セッションIDとは?セッションIDとは、ウェブサイトなどにアクセスしたユーザーのセッションを一意に識別するために、WebサーバやWebアプリケーションによって付与される情報のことである。通常は、Cookieとしてブラウザに対して付与されるが、Cookieを無効にしているユーザーにも対応するために、URLのリクエストパラメータの一部に付与される場合もある。引用:セッションID|weblio上記に書いた「URLのリクエストパラメータの一部に付与される場合もある。」の部分はまさにセッションハイジャックの原因の一つとなる行為です。そのような点も含めて、セッションハイジャックの原因を見ていきましょう。セッションハイジャックの原因とは?セッションハイジャックが起きてしまう原因は、主に以下の3つに分類されます。いずれも直接ログインパスワードを窃取するわけではありませんから、他のサイバー攻撃とは少し毛色が異なります。順を追って解説するので、確認していきましょう。セッションIDを推測セッションIDが日付や登録名など脆弱性の高いもので構成されている場合、攻撃者は正規ルートでセッションIDを解析し、似たものを推察して不正利用することができます。比較的単純なID構成であれば、推察するまでもなくツールを使った総当たり攻撃で、簡単に看破されてしまいます。何らかの方法不正アクセスを行い、正規ユーザーとWebサービスの間に介入して、正規ユーザーからセッションIDを奪取する方法です。クロスサイトスクリプティング(XSS)によるサイバー攻撃を行いユーザーを騙し、攻撃者用サイトにセッションIDやcookieを不正表示することができます。ID固定化によるサイバー攻撃セッションフィクセーション攻撃とも呼ばれる手段です。攻撃者が取得した正規のセッションIDをユーザーに使用させ、対象のWebサイトにユーザーがログインしたのを確認して、攻撃者が背乗りする行為です。セッション・フィクセーションとは?ページ遷移やログイン状態など、Webアクセスの際に一定時間持続して使用する情報であるセッションIDに対する攻撃のひとつ。フィクセーションは「Fixation」、つまり「強制」ともいうべき攻撃手法で、攻撃者が既に知っているセッションIDの値をユーザーに使わせ、そのユーザーのセッションへのアクセスを押さえてしまう(そのユーザーになりすます)こと。セッションハイジャック攻撃されるとどうなる?セッションハイジャックはいわば「なりすまし行為」なので、本人に代わって攻撃者がWebサービスなどを利用することになります。従って、一般的には以下のような被害が想定され、注意が必要です。上記を見ただけでも、大きな被害が予想されますね。その被害事例には下記のようなものがあります。被害事例:「Apache」サーバ不正アクセス事件(2010年)Apache(アパッチ)のバグトラッキングソフト「JIRA」をホスティングしているサーバが、セッションハイジャックされた事件です。同サーバの管理者がクロスサイトスクリプティング(XSS)を行う意図で添付されたURLを踏んだことにより、セッションを含むcookieが窃取され、管理者権限を攻撃者に奪われてしまったというもの。login.jsp」に対してブルートフォース攻撃(総当たり)を実施することで、JIRAアカウントのパスワードの略取を狙い、大きな騒ぎとなった事件です。被害はかなり甚大で、「JIRA、Bugzilla、Confluenceユーザーのハッシュ化されたパスワード」の流出が懸念されました。著名講演者多数!申込受付まもなく終了です申し込みはこちらセッションハイジャックされないための対策セッションハイジャックによる攻撃を回避するには、いくつかの方法がありますが、根本的な部分は「攻撃者にセッションIDを察知されないこと」です。セッションハイジャックの対策を行うには、必然的にセッション管理を見直す必要が求められます。URLにセッションIDを含めない基本中の基本です。WebサイトとブラウザはセッションIDをやり取りする際にURLにセッションIDを含めていることがあります。この方式ではセッションハイジャックの恰好の的なので、cookieにセッションIDを含めてしまうか、フォームデータ上のhiddenフィールドでセッションIDをやり取りする方式に切り替えることをオススメします。セッション管理ツールに頼るセッションの管理が難しいという方は、管理ツールに頼ってしまうのも1つの手です。最近のWeb開発プラットフォームはセッションIDの管理機能を有したものも多いので、積極的に利用したいところ。中途半端に自作管理を行うよりもはるかに安定します。ワンタイムセッションIDの発行セッションIDをワンタイム化してしまい、攻撃されにくくする手段です。ワンタイム化するとアクセスするたびにセッションIDが変更されるので、特定は非常に難しいと言えます。php環境下ならば「session_regenerate_id関数」を利用することで簡単に行えます。まとめ今回はセッションハイジャックについて解説しましたが、いかがでしたか。ユーザー目線では、なかなか気づきにくい乗っ取り行為なので、脅威を実感した時には既に被害が出ています。サイト経営者としては非常に怖いサイバー攻撃ですから、セッションIDの管理には注意を払いましょう。SNSでもご購読できます。株式会社セキュアオンライン運営事務局です。2014年からサイバーセキュリティ専門メディア「サイバーセキュリティ.com」を立ち上げ、国内最大級のサイバーセキュリティ専門メディアとして運営中。件分を同時に請求できます。資料請求後にサービス提供会社、弊社よりご案内を差し上げる場合があります。利用規約とご案内の連絡に同意の上まずは一括無料請求(点)閉じる件の製品が資料請求リストにあります。