資安JAVA(十七): 硬性 SESSION 逾時機制
來源: John Melton's Weblog 標題:YEAR OF SECURITY FOR JAVA – WEEK 17 – SET A HARD SESSION TIMEOUT 作者:John Melton 內文: Bank website: Warning ! Push F5 before expired. What is it and why should I care? 對於應用程式來說,Session 逾時機制是很重要的安全控制措施。這機制主要是在使用者登入一段時間後,強制使用者重新進行身分鑑別。逾時機制分為兩種:軟性和硬性。 硬性 Session 機制限制使用者登入一段時間後,必定要重新登入。以下是個範例,假設我們有個應用程式是: 需要經過身分鑑別才能使用應用程式 嘗試瀏覽應用程式時會轉向到登入頁面 使用者登入後,無論動作中或停止,只要超過 9 小時就必須登出,因此你的硬性 Session 逾時機制上限為 9 小時。 最終效果是,當使用者回到桌面重新點選應用程式後,將會被轉向到登入頁面。 上一段主要是講解硬性機制如何使用,但是硬性機制能避免甚麼弱點?雖然軟性機制能避免 CSRF 和類似的攻擊,硬性逾時機制則是避免攻擊者能永久持有受害者的帳戶,因為他們勢必要重新鑑別身分。為了避免這樣的事情發生,當使用者修改密碼時也應該要重新鑑別身分。