情報セキュリティ

安全なウェブサイトの作り方 - 1.4 セッション管理の不備

概要


IDIDID  



セッションIDの推測

セッションIDの盗用

IDSession FixationID1ID  



セッションIDの固定化(Session Fixation)


 
ログイン後の利用者のみが利用可能なサービスの悪用

不正な送金、利用者が意図しない商品購入、利用者が意図しない退会処理 等

ログイン後の利用者のみが編集可能な情報の改ざん、新規登録

各種設定の不正な変更(管理者画面、パスワード等)、掲示板への不適切な書き込み 等

ログイン後の利用者のみが閲覧可能な情報の閲覧

非公開の個人情報を不正閲覧、ウェブメールを不正閲覧、コミュニティ会員専用の掲示板を不正閲覧 等

注意が必要なウェブサイトの特徴

運営主体やウェブサイトの性質を問わず、ログイン機能を持つウェブサイト全般に注意が必要な問題です。ログイン後に決済処理等の重要な処理を行うサイトは、攻撃による被害が大きくなるため、特に注意が必要です。

金銭処理が発生するサイト

ネットバンキング、ネット証券、ショッピング、オークション 等

非公開情報を扱うサイト

転職サイト、コミュニティサイト、ウェブメール 等

その他、ログイン機能を持つサイト

管理者画面、会員専用サイト、日記サイト 等

届出状況


IPA  


WisePoint  

HDL-AHDL2-A  

baserCMS  

4-(i) ID


ID2IDID使ID

ID  

4-(ii) IDURL


IDURLRefererIDURLURLIDCookiePOST hidden

CookieIDURL  

4-(iii) HTTPSCookiesecure


CookiesecureCookieHTTPSCookiesecureHTTPSCookieHTTPHTTPCookieHTTPSCookiesecureHTTPCookieHTTPSCookie  

4-(iv)-a 


ID使IDIDID3ID  

4-(iv)-b ID


IDCookieCookie4 4-(i) ID

 


 4-(iv)-a   

ID  

4-(v) ID


IDID  

4-(vi) IDCookie


CookieCookieCookieCookie  CookieCookie

Cookieexpires=Cookie使Cookie  

 



(1) ID  

1.IDPOSThidden

2.IDCookieCookie Cookie Monster1

3.IDCookieSession Adoption2

4.(1.5)

 



脚注1
  • 脚注2
    • (脚注3) ログイン後にログイン前のセッション情報を引き継ぐ必要がある場合には、セッションデータのコピー方式に注意が必要です。オブジェクト変数を浅いコピー(shallow copy)で引き継いだ場合、ログイン前セッションとログイン後セッションが、同一のデータを共有して参照することになり、ログイン前のセッションIDによるアクセスで、ログイン後セッションのデータの一部を操作できてしまう危険性があります。また、ログイン後セッションのデータを、ログイン前のセッションIDによるアクセスで閲覧できてしまうことが、脆弱性となる場合も考えられます。これを防止するには、深いコピー(deep copy)で引き継ぐ方法も考えられますが、それだけではデータベースへの参照の共有や、一時ファイルへの参照の共有等が残り、脆弱性となる場合もあると考えられるので、ログイン成功時にログイン前のセッションを破棄する方法をお勧めします。

    • (脚注4) 一部のウェブアプリケーションサーバ製品では、このような処理を自動的に行う実装のものもあります。

    CWE