GN⁺: 짧은 세션 만료는 보안에 도움이 되지 않음
(sjoerdlangkemper.nl)- 웹 애플리케이션은 일반적으로 고정된 시간 또는 사용자의 비활동 기간 후에 세션을 만료시키며, 현재의 보안 조언은 짧은 세션 시간 초과(Short session expiration)를 제안 함
- 그러나 Gmail이나 GitHub과 같은 많은 인기 웹 애플리케이션들이 이러한 관행을 따르지 않고 있어서, 실제로 짧은 세션 시간 초과가 보안을 강화하는데 효과적인지에 대한 의문을 제기
- 고려된 위협 모델은 세션 쿠키를 훔치거나, 세션 고정 취약점을 악용하거나, 피해자와 동일한 장치를 사용하는 등의 다양한 방법으로 사용자의 활성 세션에 무단 접근하는 공격자등을 포함
- 짧은 세션 시간 초과가 유익할 수 있는 시나리오를 얘기할 때, 로그나 도난당한 컴퓨터에서 오래된 세션 토큰을 찾는 공격자의 경우 등을 예로 들지만, 이는 일반적인 세션 시간 초과를 위한 주장이지 반드시 짧은 것을 위한 것은 아님
- 공유된 공용 컴퓨터의 문제는 대부분의 웹 애플리케이션에 대해 현실적이지 않으며, 잠금 해제된 장치에 접근하는 공격자가 활성 세션을 필요로 하지 않고 새로운 세션을 생성하여 우회할 수 있음
- 즉, 짧은 세션은 사용자 경험과 보안 모두에 단점을 가질 수 있으며, 자주 재인증하는 것이 사용자들이 덜 안전한 관행을 채택하도록 할 수 있다는 것
- 세션 토큰은 일반적으로 안전하며, 짧은 세션 시간 초과로 막을 수 있는 공격은 드물다는 결론. 디스크 암호화와 컴퓨터 잠금 등 다른 조치가 더 효과적인 보안을 제공할 수 있음
- Facebook, Google, Amazon, GitHub과 같은 주요 기업들이 만료되지 않는 세션을 가지고 있어, 그들은 이 위험을 수용 가능하다고 판단하는 것으로 보임
Hacker News 의견
- 은행 및 금융 앱에서는 짧은 세션 만료가 흔히 보이며, 이는 광범위한 사용자 기반, 기회주의적 공격자에 대한 매력, 그리고 스트레스나 비정상적인 상황에서의 사용 때문에 변호 가능하다.
- 신뢰할 수 있는 백채널이 없어 신원 제공자가 서비스에 세션 만료를 알리는 것이 불가능한 경우, 부족한 인증 표준을 해결하기 위해 짧은 세션 만료가 자주 사용된다.
- 공유 장치에서의 애플리케이션 사용 위협은 문제가 되며, 특히 가족과 같이 장치가 공유되는 환경에서는 세션 만료가 애플리케이션 특정이어야 한다.
- 일부 사용자들은 짧은 세션 만료가 사용성을 희생하여 보안 조치로 사용되는 것을 주장하며, 자기 결제 시스템의 예를 들어 보인다.
- 사용자 분리가 없는 공유 컴퓨터는 현실이며, 이들은 종종 민감한 정보를 가진 웹 애플리케이션에 접근하는 데 사용된다.
- 이 기사는 근거 없는 가정을 하고, 상상 속의 최종 사용자 설정을 기반으로 짧은 세션을 보안 제어로 배제하는 것에 대해 비판받고 있다.
- 일부 사용자들은 Google이 짧은 세션을 사용하지 않는 결정이 보안 우려보다는 광고 목적으로 더 많은 사용자 데이터를 수집하려는 욕구에서 비롯된 것일 수 있다고 주장한다.
- 짧은 세션은 사용자에게 적대적이고 불편할 수 있으며, 특히 작업 흐름을 방해하고 경고 없이 재인증을 요구할 때 그렇다.
- 일부 사용자들은 더 긴 세션 시간 제한을 선호하며, 짧은 세션 시간 제한은 비효과적이며 감사자와 펜테스터에 의한 체크박스 테스트를 만족시키는 데만 사용된다고 주장한다.
- 사용자 활동에 따라 재설정되는 소프트 세션 시간 제한과 사용자 활동에 관계없이 일정 기간 후 세션을 종료하는 하드 세션 시간 제한 사이에는 차이가 있다.