▶ 보안 제품 리뷰/:: Kaspersky

Kaspersky Internet Security 2009 리뷰 (4-2) - System Security 설정편

물여우 2008. 12. 4. 02:42
반응형

참고 :  바이러스 제로2 카페 (http://cafe.naver.com/malzero.cafe) 에서 작성하였던 글을 수정 보완
          하여
올리는 글입니다.


오늘은 카스퍼스키의 4번째 주제인 System Security 설정에서 두번째 시간 방화벽과 Proactive Defense에 관한 리뷰를 써보겠습니다.

카스퍼스키의 방화벽은 HIPS 기능과 연계되어 좋은 평가를 받고 있습니다.
특히 Matousec에서 진행하는 방화벽 누설 테스트에서 카스퍼스키는 통합 안티바이러스 제품군에서 항상 상위권에 포함되고 있으며 최근에 나온 Matousec에서도 상위권 제품들의 순위가 상당한 변화가 있는 가운데 여전히 좋은 성적을 내고 있습니다.
(참고 : http://www.matousec.com/projects/firewall-challenge/results.php 이 테스트는 HIPS 같은 기술과 방화벽이 연동되고 특히 아웃바운드에 관한 필터링 기능이 뛰어나야만 좋은 성적을 낼 수 있습니다. 어떤 면에서는 일반적으로 생각하는 방화벽의 패킷 필터링 기능과는 크게 연관이 없을 수 있는 테스트일 수도 있습니다.)

좋은 평가를 받는 만큼 사용하기에 쉽기만 하면 개인 사용자가 사용하기에 이상적일 수 있겠지만 아쉽게도 카스퍼스키의 방화벽 관련 설정은 쉽지 않습니다. 이미 기능 설명 리뷰에서 밝혔듯이 방화벽의 규칙 설정은 타 제품에 비해 상대적으로 어렵고 불편한 점이 많습니다. 
능수능란하게 사용하기 쉽지 않은 제품입니다만 초보자들이 방화벽과 관련된 개념과 설정에 대해 간략하게나마 이해를 할 수 있도록 도움 줄 수 있는 있는 리뷰를 써보고자 합니다.
이미 밝혔듯이 필자는 네트워크 개념에 대해 지식이 적어 그에 대한 자세한 설명은 어렵습니다.
최대한 아는 한도내에서 쉽게 개념을 설명하고 이에 따른 설정법을 살펴보고자 합니다.
 
Application Filtering과는 별도로 행동탐지기법으로 악성코드를 탐지하는 Proactive Defense 기능은 오진의 문제가 존재하지만 HIPS 보다 사용자가 편하게 사용할 수 있으면서도 악성코드 예방에 효과적인 방법이라 생각합니다. 설정법은 탐지하고자 하는 악성코드 분류를 지정하기만 하면 되어 아주 쉽습니다. 

 
리뷰를 읽어부시는 분들이 부족한 부분을 많이 채워주셨으면 합니다. ^^




4. Firewall


카스퍼스키의 방화벽은 어플리케이션 필터링의 하부 기능으로 어플리케이션 필터링과 연계되어 규칙이 설정됩니다. 혹시 다른 방화벽 제품을 사용하신다면 사용하시는 다른 방화벽 제품들과 장단점을 비교하며 리뷰를 보시는 것도 좋을 듯 합니다.

(참고 : System Security가 수동 모드로 설정되어 있습니다.)


4-1. 어플리케이션의 규칙 생성 및 수정

(1) 어플리케이션 구동시 규칙 생성 - Allow/Block을 이용한 간단한 네트워크 연결 제어

어플리케이션이 구동되어 네트워크 연결을 시도할 경우 아래와 같은 알람창이 활성화 됩니다.


이미 기능 설명 부분(http://arrestlove.tistory.com/5 - 네트워크 모니터 부분)에서 밝혔듯이 Allow/Block
버튼을 사용해서 간단하게 해당 어플리케이션의 네트워크 연결을 제어할 수 있습니다. 
(참고 : 'Always apply for this application' 을 체크하면 해당 어플리케이션의 행동에 대한 일괄적인 allow/block을 지정해주기 때문에 한번 지정하면 사용자가 따로 방화벽 규칙을 지정하지 않는 이상 내부적으로 규칙이 형성되어 그대로 유지됩니다.)

실제 사용해 보시면 아시겠지만 Allow/Block 을 통한 방화벽 설정의 문제는 'Always apply for this application' 부분을 체크하면 사용자의 생각과 달리 '일괄적으로' 모든 연결에 대해 허용/차단이 이루어지고, 반대 경우 네트워크 연결을 시도할 때마다 사용자가 허용/차단을 계속 지정해야 한다는 점입니다.

(참고 : 어플리케이션 탭란에서 Trusted/local/Public 등 3가지 네트워크 연결에 대한 각각의 어플리케이션의 네트워크 연결제어는
연결을 시도하는 행동에 상관없이 허용/차단/사용자처리 3가지의 일괄적인 제어만 제공합니다.)

특히 'Always apply for this application'을 체크하여 Allow/Block을 지정할 때 방화벽의 규칙 설정 변경 탭부분에 세부적인 규칙(사용자에게 보이지 않는)이 생성되는 것이 아니라 외부 네트워크 연결(Trusted/local/Public)에 따른 허용/차단/사용자처리 만을 보여주기에 따로 세부적인 규칙을 생성해야 하는 불편한 점이 있습니다.

(참고 : Always apply for this application 의 뜻처럼 해당 어플리케이션의 모든 행동에 대해 allow/block를 지정해주는 기능입니다. 위에 예시로 든 것처럼 DNS서버와 통신하는 행동에 대해서만 Allow/block을 지정하는 것이 아닙니다. 보통 방화벽에서는 이 경우에 어플리케이션이아니라 행동에만 포커스를 맞춰서간단하게 규칙추가가 됩니다. 예를 들면 Always for apply this connection 같은 사용자 설정을 주죠.
특정 행동에 대해서만 Allow/block를 지정하려면 반드시 규칙 설정을 해야만 한다는 점은 카스퍼스키에 익숙하지 않아서인지 상당히 불편한 점을 느꼈습니다.)



Display Default rules for application을 체크해야만 방화벽 규칙란의 Network Packets 탭에서 위와 같은
설정을 볼 수 있습니다.




(2) 어플리케이션 구동시 규칙 생성 - 세부 규칙 생성을 통한 네트워크 연결 제어

사용자가 어플리케이션의 네트워크 연결에 대한 세세한 설정을 생성하기 위해서는 'Creat a rule' 버튼을 이용해야합니다.  제가 사용하는 웹브라우저를 예로 들어 설명해 보도록 하겠습니다. 
 
①웹마를 구동 시에 먼저 어플리케이션 필터링에서 계층이 정해지고 몇 가지 시스템 권한에 대한 알람창이 활성화 될 터인데, Turst 계층이 아니라면 네트워크 연결 시도시에 위의 그림과 같은 알람창이 활성화 됩니다. 'Creat a rule'을 클릭하여 세부규칙 설정에 들어갑니다.
현재 어플리케이션은 UDP 포트를 이용해서  Sk 브로드밴드의 DNS 서버 중 하나인 [qns1.hananet.net] 의 53번 포트와 연결을 시도하고 있습니다.



②먼저 해당 어플리케이션의 연결시도를 Allow/Block 할지를 결정합니다.
(참고 : Wirte to event log 를 체크하면 이 연결이 이루어질 때마다 해당 로그기록을 남깁니다.
           이는 Reports 의 System security에서 해당 어플리케이션 란에서 확인이 가능합니다.)



③다음은 해당 어플리케이션의 연결을 특정 행동에 따라 제한하는 부분입니다.
어플리케이션, 사용하는 프로토콜, 어플리케이션의 네트워크 연결 시도 등을 분석해서 빨간 박스 부분에 자동으로 이에 알맞는 네트워크 규칙을 지정해줍니다. 따라서 이부분은 어플리케이션에 따라 어플리케이션의 연결 시도에 따라 여러가지 규칙이 나올 수 있습니다.



                              TCP 프로토콜을 이용해서 특정 IP와 연결을 시도할 때

현재 3가지 네트워크 행동 규칙 중 한가지를 고를 수 있습니다만 아래 그림처럼 사용자가 따로 Add 버튼을 이용해서 행동 규칙을 생성할 수도 있습니다.
(참고 : 3가지 나열된 행동 규칙 등 행동 규칙에 대한 설명과 새로운 규칙 설정은 네트워크 규칙 변경 부분에서 다루어 보겠습니다.)


④ 3가지 규칙 중 한가지를 설정해서 Next를 클릭하면 [qns1.hananet.net]의 53번 포트와 연결을 할 특정 IP 어드레스를 지정합니다. 즉, 이 부분은 외부 네트워크 부분에 대한 제어가 아닌 외부 네트워크와 연결을 할 내부 네트워크에 대한 연결을 지정하는 부분입니다.

따라서 개인 사용자는 따로 건들일 필요가 없는 부분입니다. Any address로 설정하시면 됩니다.


- subnetwork addresses with status : 사용자가 카스퍼스키에서 지정한 기본 네트워크 연결 수준에 따라 연결을 제어합니다.
- Addresses from group : 아래 그림 처럼 특정 로컬 IP로만 연결을 할 수 있도록 지정할 수 있습니다.



(3) 어플리케이션 필터링의 세부 규칙 생성을 통한 네트워크 규칙 생성 및 변경

초기에 밝혔듯이 방화벽이 어플리케이션 필터링의 하부 기능임으로 방화벽의 규칙 설정 탭란에서 이루어지는 개별 어플리케이션의 규칙 형성도 어플리케이션 필터링의 내부에 자동으로 규칙이 정해지며
반대로 어플리케이션 필터링의 세부 규칙에 추가된 네트워크 규칙도 방화벽 규칙 안에 추가됩니다.

아래 그림은 Setting의 방화벽 설정 화면입니다.

총 4개의 탭에서 어플리케이션 필터링의 어플리케이션 탭란과 동일한 메뉴가 있음을 볼 수 있습니다.
이유는 역시 설명한대로 방화벽이 어플리케이션의 하부구조임으로 실제 규칙 설정은 어플리케이션
필터링의 세부규칙을 통해 설정되는 것과 마찬가지 이기  때문입니다. 네트워크 연결에 대한 규칙을 생성하려는 어플리케이션을 세부 규칙 설정창을 불러옵니다.

3번째 규칙 탭란에서 Network rules를 불러옵니다. 현재 웹마는 'Low Restricted' 계층이지만
Public network 하에서는 필자가 모든 네트워크 행동이 허가되도록 조정한 상태입니다.


Add를 클릭하면 아래 그림처럼 네트워크 규칙 설정창이 활성화됩니다.


① Allow/Block 설정
② 해당 어플리케이션에 대한 규칙(카스퍼스키의 기본 규칙 +사용자 규칙)을 설정
③ 해당 규칙이 적용될 Remote IP(연결하고자 하는 외부 IP)/Local IP(사용자 IP)를 설정
(②의 규칙에 대한 부분은 규칙 설명 부분에서 설명합니다.)

여기서 조정하는 건 위의 프로그램 구동시 알람창을 이용한 세부 규칙 설정과 동일합니다. 3가지 단계를 한꺼번에 묶어 둔 것이죠.
(개인적으로는 알람창도 단계식 설정이 아니라 위와 같은 통합식이면 좀 더 깔끔하지 않을까 합니다.)

내부 규칙 중 Web-Browsing을 골라 설정해 봅니다.


웹마의 네트워크 규칙이 웹브라우징이라는 내부 규칙으로 설정되어 있음을 알 수 있습니다. 

Edit 버튼을 이용해서 규칙을 수정할 수 있으며 수정법은 생성법과 동일합니다.
그런데 위 그림을 보면 Web-browsing 규칙은 진한 검은색이지만 아래의 규칙은 흐릿함을 볼 수 있습니다. 3가지 규칙이 흐릿한 이유는 어플리케이션 필터링의 기본 네트워크 규칙으로서 수정이 불가능하기 때문입니다. 


네트워크 규칙의 상하 위치에 따른 권한을 살펴보면  위에 있는 규칙일수록 규칙의 권한이 높습니다.
쉽게 말해 위의 규칙을 무조건 따르되 위의 규칙에 없는 부분은 아래 규칙을 따라 정해지게 됩니다. 
예를 들면 아래 그림같은 경우에 네트워크 연결이 가능합니다. 상위 규칙이 모든 네트워크 연결에 대한 설정이 무조건 허용이기 때문입니다. 하지만 Web-browsing 경우 아웃바운드 연결에 대한 원격 포트에 대한 규칙만을 설정함으로 아래 규칙이 '모든 행동에 대한 차단' 이라면 인바운드 패킷을 받을 수 없으므로 네트워크 연결이 제대로 이루어지지 않습니다.


다시 규칙 설정부분으로 돌아와서 Network Packets 탭에 아래 그림처럼 규칙이 생성되었음을 볼 수 있습니다.


- 카스퍼스키의 어플리케이션 필터링과 방화벽 규칙 보기의 문제 : 네트워크 연결 권한 정보 오류

현재 예시로 든 웹마의 네트워크 연결 설정은 Public Network 연결에 대해 모든 네트워크 연결이 허용되어 있습니다. 문제는 아래 그림처럼 어플리케이션 필터링의 Network 메뉴는  3가지 Trusted/local/Public기본 규칙 외에 사용자가 따로 정의한 어플리케이션의 세부 규칙에 대한 정보는 제공하지 않는다는 것입니다.


예를 들어 아래 그림처럼 어플리케이션 탭의 네트워크 메뉴에서 Trusted/local/Public 등 3가지 네트워크 연결에 대한 권한이 차단되어 있지만  사용자가 임의로 지정한 'Any network activity' 규칙이 상위 규칙으로 지정된 경우를 생각해 봅니다. 

아래 그림처럼 어플리케이션 권한 정보 창에서는 모든 네트워크 연결이 차단되어 있는 것으로 나타납니다.

그러나 실제로는 어플리케이션은 네트워크 연결 권한을 갖고 있습니다.
                                    실제 어플리케이션의 네트워크 연결 권한 상태

위의 예시는 어플리케이션은 모든 네트워크 연결에 대한 완전한 권한을 갖고 있음에도 어플리케이션 필터링에서 보여주는 정보에서는 어플리케이션이 갖고 있는 네트워크 권한이 제대로 보여지지 않을 수 있다는 것을 의미합니다.

이런 문제를 해소하기 위해서는  어플리케이션 탭란의 Networks 부분에 Custom rule 부분이 있어 방화벽의 세부 규칙과 연동되어 표현된다면 이해하기 쉬울 듯 한데 상당히 아쉬운 부분입니다.



(4) 방화벽 설정의 Network Packets 탭을 이용한 네트워크 규칙 생성 및 변경

                          Display Default rules for application 박스를 체크한 상태

Network Packets 탭에서는 개별 어플리케이션의 기본 규칙과 방화벽의 패킷필터링 규칙을 수정/추가할 수 있습니다. Packet rules 부분이 방화벽의 일반 패킷 필터링 규칙이고 나머지는 모두 어플리케이션들의 세부 규칙을 나타냅니다. 

단, 어플리케이션의 세부 설정을 추가/수정하려면 반드시 Display Default rules for application 박스를 체크해야 합니다.
 
Add 버튼으로 아래 그림처럼 방화벽의 기본 패킷 필터링 규칙이나 어플리케이션의 규칙을 추가할 수 있습니다.

방법은 (3)과 동일합니다.

변경을 원하는 어플리케이션의 규칙이 있다면 Edit 버튼으로 변경이 가능합니다.
역시 변경법은 설정법과 동일합니다.

방화벽 패킷 규칙은 허용/차단/어플리케이션 규칙에 따름 등 3가지 설정이 가능합니다.


각 어플리케이션의 기본 내부 규칙인 Trusted/Local/Public 네트워크에 대한 규칙은 아래 그림처럼 허용/차단/사용자처리 등 3가지 설정으로 변경이 가능하며 삭제가 불가능합니다.

move up/move down 버튼으로 네트워크 규칙 설정의 순위를 변경할 수 있습니다.


5) Network Monitor 에서의 규칙 생성

네트워크 모니터의 규칙 로그 탭은 어플리케이션 구동시에 알람창에서 Allow/Block 등을 이용해서 만들어진 내부적 규칙에 대한 로그를 아래 그림처럼 볼 수 있습니다.

규칙 로그 탭은 로그를 볼 뿐 아니라 위의 그림에서 보듯이 로그 기록에 오른쪽 클릭으로 규칙 생성을 할 수 있습니다. 단 해당 로그 기록에 대한 규칙만을 설정할 수 있습니다.

아래 그림 처럼 규칙 설정은 (2)번의 규칙 생성과 동일합니다.




4-2. 방화벽 세부 규칙 및 설정

카스퍼스키의 방화벽 세부 규칙은 기본적으로 22개가 지정되어 있습니다. 
아래 그림처럼 Setting -> System Security -> Firewall 에서 Resources 탭란에서 확인이 가능합니다.

Network Service 가 방화벽의 기본 세부 규칙을 보여주고 Network Address 는 규칙이 적용될 원격/로컬 IP를 보여줍니다. 

① Network Service
네트워크 연결의 기본 세부 규칙에 대해서 알아보겠습니다. 여기서는 연결에 대한 규칙만을 정할 뿐 연결을 이루는 특정 원격 주소와 사용자 주소 설정은 Network Address에서 지정합니다.
(참고 : 미리 정해진 세부 규칙은 수정하거나 삭제할 수 없습니다.)

모든 네트워크 개념에 대해 설명하고 싶지만 필자가 아는 지식도 적고, 써야할 양도 많아서 검색하면 쉽게 찾을 수 있는 부분을 제외하고 설명하겠습니다. 네트워크 개념이나 포트에 대한 설명은 아주 간략하게 합니다. 자세한 것을 알고싶으시면 웹 검색과 네트워크 관련 서적을 이용하시기 바랍니다. 

ⓐ Dns over TCP

DNS over TCP는 TCP 프로토콜을 이용해서 DNS 서버와 통신할 때 사용하는 네트워크 규칙입니다.

DNS는 Domain Name Services의 약자이며, DNS Server는 웹브라우저 등에서 사용자가 URL등을 기입했을 때 URL과 실제 IP를 맵핑해주는 역활을 합니다. SK ISP를 이용하는 제 경우는[qns1.hananet.net],  [qns2.hananet.net] 등을 이용합니다.

TCP 53 포트는 프로토콜에서 어플리케이션과 정보를 교환할 때 쓰이는 포트 중 하나이며 DNS 서버가TCP Query값을 받을 때에 사용합니다. 로컬 포트가 지정되어 있지 않으므로 PC의 모든 포트를 이용해서 연결이 가능합니다.
보통 웹브라우저가 TCP/UDP 프로토콜을 통해 Query Packet을 보내는 것을 허용하기 위해 사용합니다.

ⓑ DNS over UDP

DNS over TCP와 마찬가지로  DNS 서버가 UPD Query를 받을 때 사용합니다. 


ⓒ Sending E-Mails

SMTP나 PoP3, IMAP 등을 이용하는 아웃룩, 썬더버드 같은 프로그램을 이용해서 메일을 보낼 때 사용합니다. 프로토콜은 TCP를 이용하며 원격 포트 25, 465, 143, 993등의 연결을 허용합니다.

포트 25, 465는 SMTP, 143는 IMAP, 993은 SSL위의 IMAP4 의 암호화 전송에 쓰입니다.


ⓓ Receiving E-Mails

SMTP나 PoP3, IMAP 등을 이용하는 아웃룩, 썬더버드 같은 프로그램을 이용해서 메일을 받을 때 사용합니다. 프로토콜은 TCP를 이용하며 원격 포트 110, 995, 143, 993 등의 연결을 허용합니다.

포트 110은 PoP3, 995는 SSL 위의 PoP3의 암호화 전송에 쓰입니다.

SMTP 프로토콜은 메일을 보낼 때, PoP3, IMAP 프로토콜은 메일을 받을 때 사용하는 것으로 이해하시면 됩니다.


ⓔ Web-Browsing

웹브라우저의 기본적인 아웃바운드 연결을 허용합니다.
TCP 프로토콜을 사용하며 80-83, 443, 1080, 3128, 8000, 8080 포트를 이용합니다.

포트 80-83은 HTTP를 이용한 웹페이지 전송, 443는 HTTPS(암호화 전송), 1080은 Socks (프록시 프로토콜의 한 종류), 8000은 iRDMI (8080과 비슷한 용도로 쓰입니다.), 8080은 HTTP Alternate(보통 웹브라우저 등에서 실험용으로 사용하는 포트입니다. 80번 포트와 더불어 8080 포트를 사용하는 어플리케이션들이 꽤 많습니다.)로 사용합니다.

ⓕ IRC Activity (out)

IRC(Internet Relay Chat)는 서버 클라이언트를 이용해서 실식간 채팅을 지원해주는 프로토콜의 일종입니다.  TCP 프로토콜을 이용하며 원격포트 6660-7000을 이용합니다.

채팅 프로그램으로 여러 포트를 이용하는데 각각의 포트의 자세한 정보는 웹검색을 이용하기 바랍니다.


ⓖ DHCP Address Assignment (UDP)

DHCP는 네트웍 상에서 IP 주소를 중앙에서 관리하고 할당해줄 수 있도록 해주는 프로토콜입니다.
쉽게 말해 SK나 KT, 파워콤 등의 ISP 업체들이 모든 사용자의 IP를 보유하고 있지 않은데 DHCP 프로토콜을 이용해서 적당한 수의 IP를 갖고 있으면서 이를 네트워크에 연결을 시도하는 사용자에게 IP를 분배해주는 것이라 생각하면 됩니다. 개인 사용자가 사용하는 공유기도 DHCP 서버 역활을 합니다.

사용자의 PC가 DHCP 서버로 활용되거나 DHCP 서버에서 IP를 할당 받는 경우 사용합니다.


포트 67, 68은 DHCP, 546은 DHCPv6 Client, 547은 DHCPv6 Server에 사용합니다.


ⓗ Any outgoing TCP Stream

TCP 프로토콜을 이용하는 모든 아웃바운드 연결을 허용합니다.


ⓘ Any incoming TCP stream

TCP 프로토콜을 이용하는 모든 인바운드 연결을 허용합니다.


ⓙ Any outgoing UDP stream

UDP 프로토콜을 이용하는 모든 아웃바운드 연결을 허용합니다.


ⓚ Any incoming UDP stream

UDP 프로토콜을 이용하는 모든 인바운드 연결을 허용합니다.


ⓛ Any incoming ICMP

ICMP(Internet Control Message Protocol)는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜입니다. 보통 Ping 을 이용해서 특정 IP의 응답시간 구할 때 이런 ICMP 메세지가 사용되게 됩니다.

위의 규칙은 ICMP를 이용한 모든 인바운드 연결을 허용할 때 사용합니다. 


ⓜ Local Services (TCP)

이 규칙에 대한 자세한 정보가 없어 저도 잘 모릅니다만 137, 138, 139 같은 netbios 서비스에서 주로 사용하는 포트를 사용하는 것을 볼 때 사용자 내부 프로세스가 외부와의 통신 중에서 인바운드 연결에 대한 설정같습니다.

Netbios(Network Basic Input/Output System)는 네트워크로 연결된 컴퓨터간 입출력을 조정하는 프로토콜을 의미합니다.


ⓝ Local Services (UDP)

TCP 경우와 마찬가지입니다.


ⓞ   ICMP Echo Request (out)

ICMP이  ping 테스트 등으로 사용될 때 Echo 메세지를 원격 IP를 보내 reply 메세지를 요구하는 것을
허용하는 규칙입니다.


ⓟ ICMP Echo Reply (in)

Echo Request 메세지를 받아 상대방 IP에 응답 메세지(echo reply)를 보내는 것을 허용하는 규칙입니다.


ⓠ ICMP Destination unreachable (in)

Destination unreachable 은 ICMP reply 메세지 중 하나로 사용자가 보낸 정보가 목적지에 수신되지 못했음을 의미합니다. gateway 설정이나 목적지까지의 경로에 문제가 있는 등 다양한 이유로 나타날 수 있습니다.


ⓡ ICMP ECHO Request (in)

외부 IP에서 사용자의 PC로 Echo Request를 메세지를 보낼 때 이를 허용하는 규칙입니다.


ⓢ ICMP Time Exceeded (in)

특정 문제로 지정된 시간까지 응답이 없을 경우 게이트웨이 등에서 사용자 PC로 메세지 응답시간이 지정된 시간을 초과했다는 것을 알려주는 reply 응답메세지 중 하나입니다. 이 메세지 수신을 허용하는 규칙입니다.


ⓣ Any network activity

TCP 프로토콜을 사용하는 모든 인/아웃바운드 네트워크 연결시도를 허용하는 규칙입니다.


ⓤ ActiveSync

FTP 프로토콜에서 원격 IP와 사용자 PC간 싱크를 맞추기 위한(동기화) 원격 IP의 신호를 받는 것을
허용하는 규칙입니다.


ⓥ Remote Desktop

외부에서 사용자 PC에 진입하여 원격으로 사용 권한을 얻을 때 사용하는 인바운드 신호와 Port 개방을 허용하는 규칙입니다.

포트 3389 는 MS WBT Server로 사용되어 원격 사용시에 자주 사용되는 포트입니다.



지금까지 총 22가지의 내부 세부 규칙을 간략하게 알아봤습니다.
아래 그림처럼 Add 버튼을 눌러서 사용자가 임의로 규칙을 생성할 수 있습니다. 실제 사용자가 만들어 낼 수 있는 세부규칙 수는 무수히 많습니다. 



프로토콜 부분을 살펴보면 내부 규칙에는 없는  IGMP, GRE가 포함되어 있습니다.
IGMP는 http://ko.wikipedia.org/wiki/IGMP 을 참고하시고
GRE는 http://en.wikipedia.org/wiki/Generic_Routing_Encapsulation 참고하시기 바랍니다.



② Network address

위의 그림 오른쪽의 Network address는 아래 그림처럼 원격 IP와 사용자 PC 혹은 로컬 네트워크로 묶여있는 특정 PC 주소를 지정합니다.


위의 그림처럼 네이버를 지정하고 특정 로컬 IP를 지정하여 저장한 후 특정 Network Service의 규칙에 적용하면 위의 연결주소에만 그 규칙이 적용됩니다.



4-3. 카스퍼스키의 기본 활성화 네트워크 규칙 보기 

방화벽 설정 부분의 Network Packets 탭 부분은 카스퍼스키에서 기본으로 활성화된 내부 네트워크 규칙과 어플리케이션의 방화벽 규칙이 보여집니다. 물론 각 어플리케이션의 규칙은 어플리케이션 필터링의 세부규칙란에서도 확인이 가능합니다만 좀더 직관적으로 볼 수 있습니다.


이미 네트워크 규칙 생성 부분에서 설명한 것처럼 각각의 규칙에 대한 수정/추가가 여기서 가능합니다.


Additional을 클릭하면 아래 그림처럼 추가 기능을 설정할 수 있습니다.


① 사용자의 PC가 FTP 서버로 사용될 때 Active FTP 모드를 사용할 수 있도록 포트를 개방합니다. 사용자가 FTP 어플리케이션의 네트워크 연결을 차단하는 규칙을 생성했을 때에도 작용한다고 카스퍼스키에서는 밝히고 있습니다.

② 악성코드처럼 어플리케이션의 인터페이스가 로딩되지 않아 사용자가 해당 어플리케이션에 대한 종료 등의 행동이 불가능할 때 자동으로 해당 어플리케이션에 대한 네트워크 연결을 차단하는 기능이라고 합니다. 이 경우 정확하게 어떤 상황에서 적용되는지 알 수가 없었습니다.

③ 악성코드나 기타 이유로 OS 시스템이나 카스퍼스키 프로그램이 종료되지 않았음에도 방화벽이 사용자의 의지와 관계없이 종료되는 것을 막습니다. 역시 이 규칙도 정확하게 어떤 상황에서 적용되는지 알 수가 없습니다.



4-4. 외부 네트워크 연결 회선 관리

사용자가 사용하는 ISP회선을 통한 네트워크 연결을 보안 수준 상 3단계로 나누어 관리합니다.
보안 수준에 따라 네트워크 연결은 Treusted/Loca/Public 등 3가지로 나뉩니다. 이에 대한 설명은 카스퍼스키 개요 및 설치 리뷰의 마지막 부분에 간단히 다루었으므로 여기서는 따로 다루지 않겠습니다. (http://arrestlove.tistory.com/3)

두개의 연결이 보입니다. 먼저 아래의 hananet 부분이 실제로 사용자가 정의한 네트워크 연결에 대한 정보를 나타냅니다. Edit를 클릭하여 내용을 보면 아래와 같습니다.

hananet으로 명칭된 네트워크와  local 보안으로 연결을 하고 있습니다.
(실제로는 Sk 브로드 밴드이지만 아직 내부 Dns 서버 명칭 등은 변하지 않은 듯 합니다.)


공유기를 사용하기에 192.168.0.0/24 범위의어드레스를 가지고 연결을 시도합니다.



네트워크 연결이 감지되거나 사용자 PC와 MAC 어드레스와 IP의 매치가 변경되었을 때, 새로운 MAC 어드레스가 발견될 때 사용자에게 알리는 설정입니다.

이쪽 부분은 초기에 Trusted/local/Public 부분을 지정할 때를 제외하곤 일반 유저가 굳이 변경할 필요가 없습니다. 공유기 등을 이용하는 경우 Local 연결로 지정해도 되지만 공유기를 사용하는 PC들 간의 공유폴더나 프린트 공유를 사용안한다면 Public 연결을 권장합니다.



5. Proactive Defense

방화벽에 비해 상대적으로 다룰게 적은 부분이지만 개인적으로는 이러한 행동탐지방식 감시 기능에 관심이 많고 또 기대가 큽니다. DB를 기초로한 휴리스틱 기법은 완전히 새로운 방식으로 코딩 악성코드는 진단이 불가능하지만 행동탐지방식은 코딩여부와 상관없이 어플리케이션의 행동을 분석해서 내부 규칙에 따라 위험도를 측정하는 기술이기 때문에 새로운 악성코드에 대응할 때 좀 더 포괄적으로 대응할 수 있습니다.

어플리케이션 필터링은 HIPS 기술로 어플리케이션을 계층화 시켜 계층에 따른 권한을 설정하는 기능입니다. 그러나 어플리케이션 필터링의 기본 핵심 기능 중 하나인 카스퍼스키의 자동 분석이 어플리케이션의 위험도를 완벽하고 정확하게 측정할 수 없다는 것과 사용자가 임의로 지정한 내부 규칙을 통해 악성코드의 악의적인 행동이 허용될 수 있다는 단점이 존재합니다.

이런 부분을 커버해 주는 것이 바로 2009의 Proactive Defense 기능입니다. 어플리케이션 필터링을 설명할 때 다루었지만 어플리케이션 필터링에서 신뢰 계층으로 지정된 어플리케이션도 Proactive defense나 파일실시간감시 기능의 감시를 받습니다. 따라서 카스퍼스키의 분석 실수나 사용자의 권한 부여 실수가 일어난다고 해도 이러한 또 하나의 보호막을 거쳐야만 합니다. 또한 DB에 의존하는 파일 감시에서 진단하지 못하는 악성코드를 진단할 수 있기에 카스퍼스키는 이중 삼중의 보안 쳬계를 구성하고 있는 것입니다. 이러한 카스퍼스키의 감시 구성으로 보다 더 높은 수준의 보안을 이룰 수 있습니다.

문제는 이러한 행동탐지 기술도 현재까지 오진이 없을 수 없다는 것인데, 카스퍼스키 경우도 예외는 아니어서 국내외 어플리케이션에 대한 오진사례가 빈번하게 보고되고 있습니다. 그래서 카스퍼스키랩에서 제공하는 '최적화 설정 파일'에서는 기본 항목 3가지를 남기고 나머지 항목을 모두 비활성화 시키고 있습니다. 

이제 설정에 관하여 알아봅니다.


Proactive Defense의 설정은 아주 단순해서 위의 그림에서 탐지하기 원하는 항목을 체크하면 끝입니다.

① 트로이목마 류의 악성코드 행동을 탐지
② 웜 류의 악성코드 행동을 탐지
③ P2P 서비스를 이용하는 웜 등의 악성코드 행동을 탐지  //여기까지는 기본 설정입니다.
④ Keylogger 의 행동을 탐지 - 국내 온라인 게임 오진이 자주 있는 듯 합니다.
⑤ 루트킷 기술을 이용한 악성코드가 드라이버 파일(DLL, SYS)을 설치하는 것을 감지합니다.
    이 항목에 대해서도 정상 어플리케이션에 대해 오진이 종종 발생합니다.
⑥ OS의 커널에 수정을 가하는 행동을 감지
⑦ 루트킷 기술을 이용해서 숨겨진 특정 파일이나 설치하는 행위 등을 탐지
⑧ 루트킷 기술을 이용해서 숨겨진 프로세스를 탐지

⑨ 디지탈 서명이 있거나 카스퍼스키랩에 알려진 제품의 위험의심 행위 탐지에 대한 알람을 제공하지
    않는 기능입니다. 이 기능을 비활성화하면 정상 어플리케이션의 행동에 대해 많은 알람창이 활성화
    됩니다. 이 기능을 비활성화 한다고해서 개인 사용자의 보안 수준이 획기적으로 증가하는게 아니기
    에 가능하면 체크하는게 좋습니다.




- 이상 카스퍼스키의 모든 기능 과 설정에 관하여 모든 리뷰를 마쳤습니다.


 

반응형