관리 메뉴


Kinesis´s Open Document

진단항목 : 안전한 인증 및 세션 관리 - 처리과정 #02 본문

기획 시리즈/보안 : 진단항목 이해하기

진단항목 : 안전한 인증 및 세션 관리 - 처리과정 #02

Kinesis 2016. 6. 28. 15:42


※ 최대한 이해하기 쉽게 서술하고자 하였으나 보안 지식은 기초라 할지라도 일반적인 기초 과정보다 높은 수준을 필요로 합니다.

※ 본 내용은 초안이며, 저작권은 저 Kinesis(Hae Kwang, Kim) 에게 있으므로 무단으로 펌하여 재배포하는 것을 금지합니다. (단, 본 게시물의 일부만을 발췌하여 출처 주소를 남겨 본 게시물에 접근할 수 있는 링크를 남기는 경우는 허용합니다. 이는 제가 여러분들을 믿고 양질의 게시물을 작성하고 여러분들은 접할 기회를 제공받기 위한 서로의 배려입니다.)


※ 본 내용은 보안 기초를 학습하는 사람이나, 개발자들에게 유용할 수 있습니다.


최종본 바로보기

처리과정의 두 번째 이슈는 세션(Session) 및 쿠키(Cookie)의 유효성 검증에서 발생하는데 앞서의 이슈에 대응하기 위한 대안을 고려 및 도입하는 과정에서 새로운 이슈사항이 발생하는 것이다. 유효성을 검증하기 위해 서버는 먼저 비교를 위한 정보를 보관하고 있어야 할 필요가 있다. 그리고 이렇게 보관된 정보는 다시 인증여부 검증 요청이 발생했을 때 포함하고 있는 값의 변화가 유효범위 이내인지 비교하기 위해 사용되며, 이 비교과정을 통해 유효성을 높이고 이상 징후를 탐지해내게 된다.


비 전공자를 위한 추가 서술

예를 들어 A라는 사람이 출입증을 발급 받았는데 서비스를 제공하기 전에 담당자가 A에게 본인인지 확인을 위해서는 어떻게 해야 할지 생각해보면 된다. 출입 시 어떠한 목적으로 방문했고, 어디서 왔으며, 성명이나 이름, 나이 등의 데이터를 업체 데이터시스템에 등록시켜둔다면 담당자는 그 정보를 조회해서 상대방에게 누구인지 무슨 목적으로 왔는지를 다시 한 번 확인함으로서 당사자가 맞는지 확인을 할 수 있을 것이다.


여기서 상대방을 재차 확인하기 위해 업체는 방문자의 정보를 데이터시스템에 “보관”을 시켰고, 서비스를 제공할 담당자는 상대방의 목적과 정보를 “보관된 데이터와 비교 검증”하여 당사자가 맞는지 확인한 것이다.


문제는 검증을 위해 클라이언트 측으로부터 전달받은 데이터는 조작되었을 가능성이 있으며 조작이 아니더라도 환경에 따라 일부 정보가 변화할 수 있다는 것에서 발생한다. 최근 몇 년 들어 대중적으로 보급되고 활용되고 있는 스마트폰, 태블릿 등 모바일 디바이스는 이동이나 연결된 기지국이 바뀔 때 마다 IP 정보가 변화하여 상대적으로 신뢰도가 높았던 IP 같은 특정 단일 데이터만으로 유효성을 검증하는 것이 어려워 졌다. 때문에 이러한 문제를 완화시키기 위한 일환으로 서버는 비교 검증 데이터를 단일 정보에서 여러 가지 데이터를 조합한 복수 비교 검증을 통해 유효성을 검증해야 할 필요성이 생겼고, 이는 비용의 증가 및 서버의 퍼포먼스 저하라는 또 다른 문제를 야기한다.


비 전공자를 위한 추가 서술

요컨대 문제는 상대방이 정확도 높게 정보를 확인했다 하더라도 조작이나 속이는 것이 가능하다는 것이다. 쉽게 말해 부모와 자식의 예를 들 수 있는데 자식은 아직 연령이 되지 않음에도 불구하고 서비스를 이용하기 위해 업체를 속일 수 있다. 그리고 이러한 경우 자식이 부모에 대해 제공할 수 있는 정보는 상당히 높은 정확도를 갖는다. 그 외에도 환경의 변화가 문제의 요소로 등장으로 단일 값만 가지고는 대상이 본인이 맞는지 아닌지 확인 할 방법이 없어졌다는 것이 문제라 할 수 있다.


추가적인 비용을 최소화하고 인증우회 및 세션도용에 대응하기 위한 가장 이상적인 조치 방안은 타임아웃 시간이 지난 세션이나 로그아웃 처리된 세션식별자에 대해 폐기 속성을 부여하고 해당 세션식별자를 이용해 접근하는 대상을 로그인 페이지로 유도하는 등 필터링하는 것이다. 그 외에도 새로 로그인을 하면 이미 로그인 된 것으로 인식하던 세션식별자를 폐기하고 메일이나 문자 등의 방법을 이용해 새로운 로그인이 발생했음을 안내하는 등의 조치를 고려해 볼 수 있는데, 가용 가능한 한도 범위 폭에서 적절히 조치할 수 있도록 고려한다.




Comments