2010년 3월 25일 목요일

구글 지메일에 의심스러운 사용자 행동 탐지 경고 기능

구글에서 지메일에 보안 기능을 추가하였다. 일전에 사용자 계정의 접속 정보를 제공한 것에
추가로, 의심스러운 행동을 자동으로 판단하여 경고하여 주는 기능이다. 예를들어,
내가 계속 한국에서 접속하면서 지메일을 사용하였는데,
로그아웃을 한지 2시간 이 지나서 다른 나라 국가에서 접속이 이루어 졌다면
이것은 의심스러운 행동으로 구분할 수 있다. 좀더 멋지게 말하자면 사용자의 행동 형태를
보고 판단하는 것이다.

아래 이미지를 보면 폴란드에서 접속했다고 빨간색으로 경고해 주고 있다.

[출처] 구글 지메일 블로그

상세정보 보기를 클릭하면 접속 정보에 대해서 좀더 세부적으로 보여준다고 한다. 위와 같은
경고 메시지를 받는 다면, 사용자 계정 정보가 노출되었을지도 모르므로 패스워드 변경과 같은 작업이
필요할 것이다.

기술적인 관점에서만 보면 구현 하는 것은 크게 어렵지는 않지만, 구글이 구현해서 집어넣는 것들을 보면
구글답다는 생각이 든다. 국내 일부 은행권에서는 이와 유사하게 해외 IP에서는 접속을 하지 못하게
차단해 주는 서비스도 있다. 이런 형태의 기술들만 적용해도 사용자들이 더욱 안전하게 서비스를
이용할 수 있지 않을까.

@Rigel

와이어샤크 설정파일을 이용해 내맘대로 변경하기

와이어샤크를 좀더 세부적으로 설정해 보고자 한다면,
Edit->Preferences 뿐만 아니라 설정파일을 직접 다뤄보는 것도 좋다. 텍스트 환경에 익숙해져 있다면
더욱 친숙할 수도 있을 것이고, 저장된 설정파일을 보관하여 다른 곳에 복사하여
사용하는 것도 가능하다. 설정파일은 텍스트 파일로 저장되어 있는데, 와이어샤크 메뉴인

Help->About Wireshark 를 클릭하고 Folders 탭을 선택해 보자.


설정 경로들이 나타난다. Personal configuration 경로를 가보면 , preferences 파일이 있다. 바로 이 파일안에
기본 설정 정보들이 기록된다. 디버그 정보가 좀 필요하다면 gui.console_open 을 이용해 보거나

# Open a console window (WIN32 only)?
# One of: NEVER, AUTOMATIC, ALWAYS
gui.console_open: NEVER  -> ALWAYS 로 변경하면 콘솔 화면이 나타난다.

또는, 와이어샤크를 시작한 후, 환영 메시지를 아래와 같이 변경할 수도 있다.

# Custom start page title.
gui.start_title: PacketInside.com !!!

변경 후 재 시작해 보면 와이어샤크의 시작페이지에 다음과 같은 환영 메시지를 볼 수 있다.
물론, GUI 에서 설정할 수 있는 부분도 있지만 그렇지 않은 것도 있다. 만약 여러분들이
와이어샤크를 전문적으로 이용해 보고 싶다면 알아두는 것도 나쁘지는 않을 것이다. :-)


2010년 3월 23일 화요일

와이어샤크에서 위치정보 이용하기 - 접속국가를 쉽게 알 수 있다면...

패킷 분석은 IP 와 IP 간의 통신으로 가득차 있다. 근데 해당 IP 만 보고서 이게 도대체 어디의 IP 인지
알기가 힘들다. 일일이 후이즈(Whois)를 하자니 그것도 귀챦은 일이다.
이럴때 유용하게 이용해 볼 수 있는 것이 IP 정보를 DB 화 해 놓은 데이터를 이용하는 것이다.

GeoIP 라고 무료로 사용가능한 데이터를 제공해 주는 곳이 있다. 상용버전도 있지만,
GeoLite 라고 무료로 사용할 수 있다. 주소는 다음과 같다 :

http://geolite.maxmind.com/download/geoip/database/

아래 파일들을 다운받고 적절한 위치에 넣어두자.

GeoIP.dat.gz
GeoLiteCity.dat.gz
GeoIPASNum.dat.gz

그리고 와이어샤크의 메뉴 Edit->Preferences 을 가 보면 Name Resolution 이 있다. 거기에서 GeoIP database directories 를 선택하면 다음과 같은 화면을 보게 된다. New 를 눌러 데이터베이스가 있는 위치를 지정해 주고 저장해 보자


저장후에는 와이어샤크를 재 시작해주어야 한다. 이후, 패킷 덤프를 시작하고
Statistics->End Points 를 한번 실행해 보면 국가 정보, AS Number, 도시 정보를 볼 수 있다.



또한, 패킷 세부 정보를 보면 아래와 같이 나타나기도 한다.

하지만, 기본적으로는 세부 정보 화면에는 나타나지 않는다. Edit->Preferences 에 가서 Protocols 에서
IP 를 선택하면 Enable GeoIP lookups 이라는 부분을 체크해 주어야 한다.  아무래도 상세정보에도
표시를 하려면 성능에도 영향을 주게 될 것이다. 그러므로 필요에 따라 적절하게 사용하여야 할 것이다.

그래도 GeoIP 를 이용하는 것은 상당한 매력이 있다. 일일이 IP 를 조회해 보지 않고서도 해당 IP 의
국가와 지역, 서비스 프로바이더를 대략 알아낼 수 있기 때문이다. 이렇게만 볼 수 있다면 약간 서운할 것이다.
이 정보를 이용해 필터로 사용할 수는 없는 것일까? 물론 가능하다.

아래는 한국 국가에 대해서만 필터를 적용하는 예이다.

ip.geoip.country == "Korea, Republic of"

또 지역 중에 울산만 해당하는 것을 적용해 본다면

ip.geoip.city == "Ulsan, 21"
위와 같이 사용할 수 있다. 이외에도 사용가능한 문법은 더 많이 있다. 출력필터 부분에서 ip.geoip 라고
입력해 보면 사용가능한 문법을 볼 수 있을 것이다.

2010년 3월 22일 월요일

출력필터를 활용하여 패킷분석을 쉽게 해보자

초반에 캡쳐필터에 대해 언급한 적이 있다. 캡쳐 필터는 트래픽 덤프를
시작하는 과정에서 적용하는 것이고, 출력필터는 캡쳐된 데이터에서 보고싶은
내용을 필터를 걸어 화면에 출력시키는 것이다.

현재 와이어샤크는 약 9만6천개의 출력필터를 지원하며 지원하는 필터 정보는
다음 주소를 참고한다.

http://www.wireshark.org/docs/dfref/

출력필터는 와이어샤크 메인화면에서 아래와 같은 화면을 통해 출력필터를
적용할 수 있다.



필터가 워낙 많다보니 일일이 다 외울수 없어 몇 가지 편의사항을 제공하고 있다.

- 필터에 표시되는 색상을 통해 문법이 올바른지 확인할 수 있다.
- 문법을 정확히 모르는 경우 Expression 을 선택해 필요한 출력 필터를 만들 수 있음
- 출력된 상세정보에서 원하는 내용에 우측클릭하면 Apply 또는 Prepare 필터를
  [그림 1 참고]
  적용할 수 있다. Prepare 필터를 누르게 되면 출력 필터쪽에 선택된 내용이 입력되어
  편하게 사용할 수 있다. 9만 여개의 필터를 다 외울 수도 없고, 필터를 몰라도
  쉽게 사용이 가능하다.
  [그림 2 참고]

필터를 적용해제하는 경우 Clear 를 선택하고 필터를 적용하는 경우는 Apply 를 선택한다.

[출력필터 예제]

특정 IP 주소 매핑 ip.addr == 192.168.1.1
SMTP 와 ICMP 트래픽만 출력tcp.port eq 25 or icmp
윈도우 관련한 트래픽으로 한정하기smb || nbns || dcerpc || nbss
특정 값을 포함한 UDP 정보 찾기udp contains 85:03:23
HTTP 요청에 포함된 문자열 찾기 http.request.uri matches “type=delete”
이더넷 타입이 Loopback인 트래픽 제외!eth.type == 0x9000
이더넷 벤더 주소로 트래픽 찾기 eth.src[0:3] == 00:00:83
ICMP 타입이 3인 경우 (Destination unreachable)icmp.type == 3
smb.path 에서 \\SERVER\SHARE 찾기  smb.path contains "\\\\SERVER\\SHARE"


마지막으로 다시 언급하자면, 캡쳐필터와 출력필터는 문법이 다르다는 점이다.

[그림 1] 필터 문법 제작 기능

[그림 2] 상세정보에서 필터 만들기

2010년 3월 20일 토요일

와이어샤크 네트워크 분석 서적 소개

시중에 몇가지 패킷 분석 책이 나와있습니다. 하지만 깊게 다루고 있는 것은
보지를 못한것 같네요. 이번에 와이어샤크를 기반으로 네트워크 분석을 다루는 책이 나왓습니다.
3월15일에 Publisher 되었지만 아직은 사전 주문을 받고 있고 3월29일 이후로 배달이 시작된다고 합니다.

Laura Chappell 이 집필하였고 이 분은 와이어샤크 대학이라는 곳의 주인장이기도 하며
패킷 분석쪽으로 많은 강연도 하고 유명하신 분입니다. 국내에서는 언제 받아볼 수 있을지 모르지만
분량이 800 페이지나 되고, 가격은 거의 $100 불에 달합니다.

3월 29일 전에 사전 주문을 하면 35% 할인해 줍니다. 관심있는 분은 다음 URL 을 방문해 보세요.


내용이 괜챦을것 같아 구매해 보고 싶은데 가격이 만만치 않네요.
입수하게 되면 다시 한번 공유를 하겠습니다. 책이 무거워서 배송료만 해도. -_-
사전 주문페이지에서 대략 해봐도 배송료만 10만원 돈이 넘네요

네트워크 분석 자료나 서적 괜챦은게 있으면 추천 부탁드려요.

2010년 3월 19일 금요일

IP정보 추적, 연결관계를 그래프로 비주얼 하게 보자고

패킷 분석을 하다보면, IP 에 대해서 추적을 해 볼 필요가 있다. 그럼 보통 하는 작업이, WHOIS 를 통해
해당 IP 에 대해 기본정보를 알아본다. WHOIS 를 통해 이 IP 블럭이 누구의 소유인지 알 수 있고,
어느 국가에 할당된 것인지 알 수 있으므로 대략적으로 추정이 가능해 진다.

WHOIS 외에 해당 IP 의 연관관계를 추적하여 볼 수 있는 것을 소개해 보고자 한다.

http://www.robtex.com/ip/ 에 가서 IP 를 입력해 보면
- DNS 기반으로 연결된 곳
- 그래프로 비주얼 하게 연결관계 표시
- 후이즈(whois) 정보
등을 보여준다. (정확히 말하면 Reverse DNS 정보를 기준으로 찾아본다)

아래 예는, packetinside.com 의 IP 주소인데, 또 다른 관련한 도메인 주소들이 나온다.
즉, 텍스트큐브에서 운영중인 곳이다. 211.245.16.0/20 블럭은 AS9318 로 라우팅이
흘러가는데, 하나로 텔레콤이 소유중인 블럭이다. 추정해 보면 텍스크큐브에서 운영하는
장비들이 놓여있는 곳은 ? ^.^

IP 의 후이즈 정보 뿐만 아니라, DNS 와 연관된 추가 정보까지 보여주니
분석시에는 더욱 유용하다. 이렇게 IP 주소 하나만으로도 얻을 수 있는 정보는 많다.
나오는 정보에 따라 그 관계를 계속 찾고 찾아 들어가면 여러분이 찾고자 하는 정보를 얻을 수 있을지 모른다.

분석의 작업은 때로는 끝이없는 미로를 찾아들어가는 것과도 같다 :-)

아래의 이미지는 그래프 탭을 선택하여 본 화면으로 비주얼 하게 좀더 쉽게 볼 수 있도록 만들어 준다.

2010년 3월 18일 목요일

불필요한 패킷 제거 시작부터 하자

블로그 초기 개설시, 패킷 분석시 다섯가지 이것만은 알고 시작하자라는 글을 적은적이 있다.
패킷 분석을 처음 접하는 사용자들이, 패킷 파일을 열어 보고는 으레 어려움을 호소한다.
다양한 프로토콜로 많은 내용들이 달려 있으니, 이걸 어떻게 해야 하나 생각이 든다.

패킷 분석의 시작은 일단 불 필요한 패킷 데이터의 제거부터 시작한다. 네트워크 환경에서 발생되는
일반적인 트래픽 정보를 제외하여야 한다는 것이다. 또는 내부에서 사용하는 특정 트래픽이 있다면
그것또한 대상이 될 것이다. 사실 분석의 범위와 대상에 따라 접근 방법이 달라진다.

내가 전혀 모르는 다른 회사 네트워크의 패킷 파일을 받아들인다면 사전 정보가 없기 때문에
일반적으로 발생되는 트래픽 정보를 제외하면서 시작하는 것이 빠를 것이다. 일반적인 트래픽이라
하면 다음과 같은 것들이 해당된다.
- ARP
- Broadcasting
- Multicast
- IPX 및 Netbios
- 스위치간의 통신 프로토콜
- 라우터간의 통신 프로토콜 (HSRP 등)

하지만, 내가 분석하고자 하는 트래픽이 대상이 명확하다면 해당 부분만 필터링 하여
살펴보면 되기 때문에 접근방식은 달라지게 된다. 패킷 분석의 어려움은 내가 그 분석하고자
하는 대상의 네트워크 환경을 정확히 모른다는데에 있다. 그 대상에서 사용하는 특정
프로토콜이 있는지, 어떤 Application 이 동작하여 특정 포트를 사용한다든지, 네트워크 장비 및
구성은 어떤지.. 이 모든 사전 정보가 있어야 보다 정확한 분석을 수행할 수 있다.

어찌되었든, 패킷 분석 시작시 겁 먹지 말고, 필터를 통해 불필요한 패킷 데이터를 제거해 가면서
시작해 보자. 보다 접근이 쉬워질 것이다.
/Rigel