2017년 2월 27일 월요일

간만에 Snort 분석(DNS Request - 2nd)

하루 동안 (내가?) 내 PC에서 DNS 조회를 시도한 도메인이 5,000여 개에 달한다는 사실이 확인됐다.


중복을 제거하면1,300여 개.


DNS 조회 발생 추이를 그려보고 싶은데 너무 많다. 엑셀은 차트로 그릴 수 있는 데이터의 한계(255개) 때문에 다 그릴 수도 없고, 255개 다 그려본들 큰 의미를 부여하기도 어렵다. 1,300여 개는 말할 것도 없고, 255개 조차 각자의 고유성 때문에 큰 그림을 그리기 어렵다는 뜻.

255개의 추세선

좋은 방법이 없을까? 도메인은 상/하위 도메인이 조합을 이루는 구조이기 때문에 상위 도메인만을 분리해낸다면 하위 도메인에 의한 고유성의 차이을 좁힐 수 있고, 결과적으로 검사 범위 역시 줄일 수 있다. 해보자.


VIM 정규표현식 '[^.]+\.[^.]+$'는 '도메인.도메인' 문자열만을, 즉 상위 도메인만을 검사해준다.


regexper.com

이제 검사된 영역을 제외한 나머지 문자열만 삭제하면 된다. 다음은 전방탐색 기능을 이용해서 해당 영역을 검사해주는 VIM 정규표현식 '.*\.([^.]+\.[^.]+$)@='.



문제는 'co.kr'처럼 최상위 도메인만 남아 있는 경우. 다른 도메인은 'www.google.com'처럼 두 단계만 추출하면 해당 도메인의 고유성을 파악할 수 있지만, 'co.kr'은 'www.google.co.kr'처럼 세 단계를 추출해야 한다는 뜻이다. 확인 결과 세 단계 추출이 필요한 도메인은 6개.


정규표현식이 좀 복잡해보이지만 구조를 보면 별거 없다.


해당 결과를 반영한 정규표현식의 검사 결과는 다음과 같다.


세 단계 또는 두 단계의 상위 도메인을 제외한 나머지 문자열만을 검사하는 구조.


검사 결과를 삭제한 후 중복을 제거한 상위 도메인의 개수는 448개. 검사 범위가 1,300여 개의 30% 수준으로 줄었다.


상위 도메인만의 DNS 조회 발생 추이를 그려봤다. 전체 도메인에 대한 DNS 조회 추이와는 사뭇 다르게 IP에 대한 도메인 역질의를 의미하는 'in-addr.arpa'의 조회 급증 사실을 알려준다.

255개의 추세선

조회 급증 도메인을 제외하면 일상적으로 많이 발생하는 DNS 조회는 'google.com'.


내가 저 많은 도메인에 접속을 시도했다는 말인가? 'soramall.kr' 등의 도메인이 있는 걸로 봐서는 절대 아님(..)

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스