본문 바로가기
AhnLab 보안in

웹서버에 남겨지는 로그나 IP를 통해 알수 있는 것들

by 보안세상 2020. 4. 6.

2009.01.12

 

Google에 접속시 ‘www.google.com’을 입력해도 ‘www.google.co.kr’로 한글서비스로 접속 되는 것을 봤을 것이다. 내가 한국에서 접속한 것을 어떻게 알고 알아서 한국어 페이지로 연결을 해줬을까? 이러한 서비스는 접속자의 컴퓨터에 설정된 locale 정보 및 사용되는 DNS를 통하여 제어되는 경우가 많다.

아래의 예는 Daum의 지도검색 서비스의 접속 화면이다.

[그림1. 회사에서 접속한 경우]      

 

             

[그림2. 지하철에서 Wibro로 접속한 경우]

 

 

다른 지역에서 동일한 페이지에 접속했을 때 서로 다른 지도의 시작 위치를 보여줌을 알 수 있다. 위와 같은 페이지의 시작 위치를 자신의 인접한 위치에서 시작하는 것과 daum의 ‘이 기사 누가 봤을까?’와 같이  세분화된 각 지역별 인기 있는 뉴스는 어떻게 추출할 수 있을까?
웹서버에 남겨지는 로그를 토대로 알아보도록 하자.

 

 

1. 각 지역별 서비스 사용자 또는 제품의 사용 현황을 알 수 있다.
1일간의 로그에서 IP 정보를 통해 다음과 같은 정보를 얻을 수 있다. (whois등 이용)

 

 

[그림3. 1일간 접속자의 ISP별 통계]

 

 

로그상의 특정 IP를 ‘특정 컨텐츠 or 인증번호 & IP의 배포현황’으로 지도상에 찍어 보도록 하자.

 

 

  [그림4. http://www.ip-adress.com/ip_tracer/ 이용한 지리정보]

위와 같은 IP를 통한 위치정보 제공 서비스를 이용하여 특정 컨텐츠에 접속하는 IP를 지도에 표기해 보면 다음과 같은 정보를 얻을 수 있다.

 

 

이를 통해 특정 제품, 컨텐츠가 어느 지역에서 주로 활용되는지 분포도를 추출하여 해당 지역에 특화된 서비스,A/S 지점의 확대를 고려해 볼 수 있다.

 

또한 서울에 위치하는 특정사에 라이센스를 제공하고 있는 정보라고 가정하면 타 지역에서도 접속이 이루어짐을 알 수 있다. 지방에 출장 나가 있는 직원 또는 분점으로 볼 수 있지만 특정 대학,기관에 한정된 라이센스인 경우 위와 같은 분포도는 시리얼의 유출 또는 불법다운로드가 이루어짐을 추정하는 자료가 되며 일정 수치를 넘어갈 경우 서비스 중지 또는 불법사용자 차단이 이루어 지는 정보가 되기도 한다.

 

 

[그림 5. 전체 접속카운트를 ISP 정보를 이용한 분포]

 

 

국가별로 확대하여 지도에 표기해 보았다.
서비스 확대 지역에서의 제품/서비스의 접속 빈도수를 통해 글로벌시장의 현황 및 사용자수를 파악할 수 있다. 단 정상적인 서비스 국가, 시험서비스 지역이 아닌 경우 아래와 같은 문제점을 찾을 수 있다.

예를 들어 사각형 내의 Afghanistan이 서비스 제공 지역이 아닐 경우 다음의 사항이 고려되게 된다.
- 체험판, freeware의 사용자의 확대 현황을 볼 수 있다. 단 서비스 품질문제 개선이 수반돼야 함을 의미한다.

 

 

정식서비스가 시작되지 않은 지역에서의 고객사용은 고마운 일이지만 그에 수반된 기반서비스/전송속도가 충족되지 않은 상태에서 이루어질 경우 이는 즉각적인 불만사항으로 이어지게 된다. 실시간 업데이트가 필요한 소프트웨어인 경우 제품에 대한 불만의 글,평가가 발생하게 되기 때문에 자칫 초기시장 진입에 실패하는 원인 및 정상적인 제품평가가 이루어지지 못하여 전체 서비스에 대한 평가 절하가 발생하게 된다.

 

 

2. 어떻게 이러한 정보를 찾아낼 수 있게 되는 것일까?

 

 

다양한 로그중 web 서버에 남는 컨텐츠들의 로그를 통해 어떤 정보를 얻을 수 있는지 알아 보도록 하자.

 

 

[그림 6. IIS를 사용하는 웹서버의 기본 로그]

 

 

* Time의 용도: 사용자의 접속시간을 통하여 일별 트래픽 추이를 통하여 서버부하 집중도 및 고객의 서비스 사용 시간대를 파악할 수 있다. (집중되는 시간대에 서비스장비,새로운 컨텐츠를 추가할 경우 파급 효과가 크다)
* IP의 용도: 서비스가 제공되고 있는 지역을 파악할 수 있으며 각 지역별 사용자수 등을 파악할수 있다. 소프트웨어제품인 경우 불법사용자 유무, 해외 제품 출시현황을 파악할 수 있다.
* 상태의 용도: 특정서비스 또는 컨텐츠의 에러 상태를 파악할 수 있고 비정상적인 scan 동작을 확인할 수 있다.
(DDoS 공격중 다수의 클라이언트들이 참여할경우 통한 동일IP에서 동일 URL을 계속 접속하므로 확인 가능)

 

네트워크에 관심이 있는사람은 많이 봤을법한 기본로그일 것이다.
그렇다. IIS에서 Web서비스를 하는경우 남는 접속로그 이다.
필드1은 time, 필드2는 접속IP, 필드3는 Get/Post, 필드4는 접속한 content, 필드5는 상태를 나타낸다.

 

짧은 5개의 필드가 어떤 가치가 있는 데이터인지, 남겨진 IP를 통해 어떤 추가 활용이 가능한지 알아 보도록 하자.

 

 

3. URL의 hit count를 통해 인기있는 컨텐츠를 찾아낼 수 있다.

 

 

[그림7. 필드4/cs-uri-stem) 카운트 결과]

 

 

1일의 web 로그를 각 URL 별(필드4/cs-uri-stem)로 카운트 해본 결과로 xxxcont2/ahnxx.ux라는 파일을 1700만번 가져간 것으로 나타난다. 가장 인기가 좋은 컨텐츠로 볼 수 있다.
(산출법 예: unique한 URL의 리스트를 1일자 로그에서 라인수를 추출한다.)

[그림8. 위 데이터를 이용한 컨텐츠별 1시간 주기 hit count]

 

 

해당 정보의 의미 및 용도:
- 회사나 블로거등 컨텐츠를 제작하는 사람은 어떤 컨텐츠가 사용자에게 인기가 높은지, 얼마나 주기적으로 활용하는지를 수치적으로 계산 및 보강 하는데 사용
- count의 전체 누계는 포털사이트의 경우 광고수익과에 직결되는 노출빈도와 접속자 수를 의미한다.

 

 

위의 그래프를 적산그래프로 나타내보면 다음과 같이 된다.

[그림9. 시간대별 전송량 현황]

해당 정보의 의미 및 용도:
- 각 시간 별로 얼마나 많은 데이터가 사용자들에게 전달되는지 알 수 있다.
- 접속자가 집중되는 시간 및 고객의 접속 시간 패턴을 알 수 있다.
- 전송 데이터량은 시스템 및 네트워크 사용 비용에 직결되므로 컨텐츠 크기 조절의 기초 자료가 된다.
- 집중되는 시간대에 서버의 증설을 수행시 빠르고 원활한 서비스를 고객에게 제공할 수 있다.
- 소프트웨어 다운로드 현황, 업데이트 현황을 의미할 수 있으며 제품사용자의 증가여부를 확인 가능하다.
(특정 key가 되는 URL의 hitcount 증가로 확인 가능)
(산출법 예:각 컨텐츠의 size X 시간대별 hit count.)

많은 사람들이 IP 기록에 대한 활용도를 궁금해 하거나 아래와 같이 오해하곤 한다.

 

‘IP찍혀서 기분 나쁘다’
‘역추적을 당할 것 같아 기록되는 것이 싫다.’
‘많은 돈을 들여가며 IP를 남겨 얻을 수 있는 것이 있는가?’

 

특히 침해사고가 발생 했을 때 조사하기 위한 목적으로 한정하여 생각 하시는 분들이 많다. 하지만 이것은 보안사고가 발생하고 이슈화 되면서 IP정보의 활용에 대하여 오해가 생긴 것으로 생각 된다. 수많은 text로 이루어진 방대한 로그속에 존재하는 한 명의 user가 남진 한 줄의 IP 정보는 ‘진흙 속의 진주’처럼 인터넷 환경과 제품의 발전에 값진 정보가 됨을 알아 줬으면 한다.

 

 

IP 로그의 상업적 활용 목적:

 

- 로그에 남겨진 IP정보는 TV 시청률처럼 사용될 수 있다.
- IP 정보는 지역 고객에 특성화된 서비스를 제공하기 위한 중요 정보가 된다.
- 사용자 확인, 서비스 제공지역 확대 및 개선 요소를 파악하는 기초 자료가 된다.


글 : 안철수연구소 ASEC팀 안형봉 주임연구원