정보 보안 기초

웹 애플리케이션에서 로그인 전과 후에 같은 세션 ID를 계속 사용하면, 공격자가 미리 준비한 세션 ID를 이용자가 사용하게 하고, 이용자가 로그인한 뒤 그 ID로 이용자를 사칭할 우려가 있다. 이 공격에 대한 대책으로 가장 적절한 것은?

  1. A세션 ID를 이용자별 일련번호로 하여 관리하기 쉽게 한다
  2. B로그인에 성공했을 때 새로운 세션 ID를 다시 발급하고, 그때까지의 ID는 무효로 한다
  3. C세션 ID를 URL 안에 넣어 주고받도록 한다
정답과 해설 보기

정답: B. 로그인에 성공했을 때 새로운 세션 ID를 다시 발급하고, 그때까지의 ID는 무효로 한다

이 공격은 세션 고정 공격이라고 합니다. 웹 애플리케이션은 로그인한 이용자를 Cookie 등으로 주고받는 세션 ID로 구별합니다. 로그인 전에 공격자가 알고 있는 세션 ID를 이용자가 사용하게 할 수 있고, 그 ID가 로그인 후에도 그대로 사용되면, 공격자는 같은 ID를 사용하여 이용자로서 접근할 수 있게 됩니다. 대책은 로그인에 성공한 시점에 추측할 수 없는 새로운 세션 ID를 다시 발급하고 이전 ID를 무효로 하는 것입니다. 이렇게 하면 공격자가 로그인 전에 알고 있던 ID는 쓸모가 없어집니다. 세션 ID를 훔치거나 추측하여 사칭하는 공격 전반은 세션 하이재킹이라고 하며, ID를 충분히 긴 무작위 값으로 하기, HTTPS로만 보내기(Cookie의 Secure 속성), URL에 넣지 않기(Referer 헤더나 기록에서 유출되기 쉬움) 같은 대책을 조합합니다. 일련번호 ID는 추측되기 쉬워 위험합니다.

이 분야 연습하기 분야로 돌아가기

정보 보안 기초의 다른 문제

  1. DDoS 공격에 대한 설명으로 올바른 것은?
  2. 제로데이 공격에 대한 설명으로 올바른 것은?
  3. 취약점 관리에 사용되는 CVE와 CVSS에 대한 설명의 조합으로 올바른 것은?
  4. 직원의 PC에서 파일 확장자가 차례로 바뀌고 몸값을 요구하는 화면이 표시되었다. 이 직원이 먼저 해야 할 대응으로 가장 적절한 것은?
  5. 사내 업무 시스템이 대량의 접근을 받아 응답하지 않게 되어, 이용자가 필요할 때 사용할 수 없게 되었다. 정보 보안의 3요소(기밀성·무결성·가용성) 중 주로 손상된 것은?