▶ 보안 제품 리뷰/:: Kaspersky

Kaspersky Internet Security 2012 리뷰 (7) - Apllication Control (행동 기반 진단)

물여우 2011. 11. 14. 08:30
반응형
카스퍼스키에서 자랑하는 시스템 관리 기능인 어플리케이션 컨트롤을 살펴봅니다.



7. Application contol

이번 글에서는 시그니처 진단과 함께 카스퍼스키의 가장 핵심적인 기능을 담당하는 'Application Control' 기능을 살펴보겠습니다.

어플리케이션 컨트롤은 전형적인 HIPS 기능이자, 업계 최초로 위험성에 따라 어플리케이션을 계층별로 권한을 부여하는 계층 구분을 시도한 첫 번째 기능입니다. 어플리케이션 컨트롤은 어플리케이션이 실행되어 시스템에 접근 및 수정(레지스트리, 특정 폴더 파일 접근 및 각종 시스템 권한 수행)을 시도할 때 이를 감지 차단하며, 계층별로 서로 다른 권한을 부여하여 위험성이 높은 어플리케이션(또는 프로세스)의 경우 권한이 거의 없거나 실행 자체를 차단시킵니다.

계층별 구분이 중요한 점은 HIPS 기능의 자동화에 큰 기여를 하기 때문입니다. 처음 설치되거나 설치를 시도하는 어플리케이션이 있을 경우 카스퍼스키에서 이를 자동으로 분석, 계층 구분을 하여 '사용자의 선택' 없이도 해당 어플리케이션의 행동의 권한을 부여할 수 있습니다. 이를 통해 신뢰할만한 어플리케이션은 사용자의 처리 과정없이도 시스템 접근 행동을 자유롭게 할 수 있습니다.

리뷰 상에서는 '사용자 처리' 상태로 어플리케이션 컨트롤 기능을 사용할 것이지만, 자동 처리 상태에서도 타 제품보다 쉽게 사용하면서 상대적으로 수준높은 HIPS 기능을 사용할 수 있다는 점은 매우 큰 장점이라고 봅니다. 사용자 처리 상태에서도 해당 어플리케이션의 예상 계층 정보를 확인할 수 있기 대문에 유용하게 사용할 수 있습니다. 또한, 클라우드 서비스와 결합되어 더 정교한 계층 구분이 가능해진 것도 장점 중 하나라고 봅니다.


7-1. Application contol의 권한 및 계층 구분

어플리케이션 컨트롤의 가장 기본이 되는 권한 항목과 계층 구분을 먼저 살펴보도록 하겠습니다.

(1) 어플리케이션 권한 구분

어플리케이션 권한은 크게 3 가지로 구분됩니다
ㆍFile and System Registry : 시작 설정 및 시스템 설정 등 운영체제와 특정 어플리케이션과 관계
                                            된 레지스트리 및 특정 폴더와 파일 접근/수정에 관한 권한
ㆍRights : 다른 프로세스에의 접근 및 시스템 수정에 관한 권한
ㆍNetwrok Rule : 네트워크 연결 시도에 관한 권한

① File and System Regisrty : 파일 및 시스템 레지스트리의 세부 권한 항목은 아래와 같습니다.

시스템 시작 설정 및 특정한 설정 변경과 각종 어플리케이션들의 기본 설정과 파일 항목들이 포함되어 있습니다. 다른 권한들 중 유일하게 사용자가 수정이 가능하며 새로운 설정들을 추가하는 것도 가능합니다. 이는 환경 설정을 다루는 부분에서 따로 다루겠습니다.
 
② Rights : 권리 항목의 세부 권한 항목은 아래와 같습니다. 기본 권한 중 가장 많은 항목을 가집니다.

③ Netwrok Rule : 네트워크 연결 항목에 관한 세부 권한은 아래와 같습니다.

3가지 권한 중 네트워크 권한만 유일하게 회색으로 비활성화 처리되어 있는데 이는 방화벽 항목에서 따로 세부 규칙이 적용되기 때문입니다. 물론 기본적인 연결이 허용되었다는 녹색의 "V" 표시가 있으므로 방화벽 관련 설정이 나타나지는 않습니다. 그러나 낮은 제한이나 높은 제한으로 구분되거나 사용자가 특별히 권한을 수정할 경우 방화벽 관련 팝업창이 나타나 세부 규칙 설정을 요구합니다.

참고로 권한 항목에서 알 수 있듯이 방화벽 기능은 세부 처리를 위해 따로 구분되어져 있을 뿐 실질적으로 어플리케이션 컨트롤이 모든 것을 관리하는 것임을 알 수 있습니다.


(2) 어플리케이션 계층 구분


 카스퍼스키에서는 어플리케이션을 다음의 4개의 서로 다른 권한을 가진 계층으로 구분합니다.

ㆍTrusted - 신뢰된 항목으로 올바른 디지털 인증을 갖고 있거나 클라우드 DB 또는 카스퍼스키에서
                  직접 분석하여 문제가 전혀 없는 어플리케이션들 또는  및 사용자가 직접 구분한 어플리
                  케이션들의 모임
ㆍLow Restricted - 낮은 제한 항목으로 디지털 인증이 없고, 카스퍼스키에서 분석이 되지 않았으나
                  자동 분석 또는 클라우드 DB의 분석 결과 위험도가 상대적으로 낮게 평가된 경우
ㆍHigh Restricted - 자동 분석 및 클라우드 DB 결과 위험도가 높아 악성 행위 가능성이 매우 높은 
                  어플리케이션들의 모임
ㆍUntrusted - 악성코드 또는 악성 행위를 하는 어플리케이션들로 판별된 어플리케이션들의 모임

신뢰 항목은 모든 권한이 허용되며 비신뢰는 모든 권한이 차단됩니다. 낮은 제한과 높은 제한의 차이는 아래와 같습니다. 여건상 일부만 보이겠습니다. 클릭하여 원본 크기로 보시기 바랍니다.

낮은 제한의 권한 허용 모습

높은 제한의 권한 허용 모습


낮은 제한과 높은 제한 모두 대부분의 권한이 사용자 처리를 요구하며 높은 제한은 일부 중요한 항목의 경우 자동으로 차단이 되는 것을 알 수 있습니다.  낮은 제한은 일부 항목이 자동 허용이 된 것을 제외하면 자동 차단이 되는 항목이 없습니다.

7-2. Application contol 사용법

어플리케이션 컨트롤의 사용법은 최초 실행 또는 실행할 때의 행동을 감지하여 사용자 처리를 요구할 때, 이를 처리하는 것과 이미 만들어진 어플리케이션의 규칙 및 계층을 수정하는 것 두 가지가 있습니다.

(1) 사용자 처리 팝업창


카스퍼스키는 어플리케이션 컨트롤의 활성화 유무를 떠나서 어플리케이션(또는 프로세스)를 진단하고 계층 구분을 강제적으로 실시합니다. 물론 사용자 처리 상태로 시스템이 설저된 경우 계층 구분의 최종 권한은 사용자에게 있습니다.

먼저 설치를 시도하거나 최초 실행된 어플리케이션(또는 프로세스)은 아래와 같은 분석 과정을 거칩니다. 자동으로 이루어지기 때문에 사용자가 취소하는 것 외에 따른 선택지는 없습니다.


이 과정을 거치면 아래와 같이 어플리케이션을 신뢰하느냐(계층 구분 요구)를 사용자에게 물어봅니다.


신뢰함을 선택하여도 기본적으로 낮은 계층으로 구분되기 때문에 어플리케이션 행동에 따라 아래와 같은 팝업창이 나타납니다. 또한 분석 시 위험성이 낮아 '낮은 제한'에 포함될 경우에는 위의 처리창 과정의 띄어 넘어 바로 아래의 팝업창이 나타납니다.

이 처리 과정을 통해 다른 계층에 위치한 어플리케이션을 신뢰 계층으로 만들거나 현재 행동만을 허락 또는 차단시킬 수 있습니다. 반대로 어플리케이선의 실행을 종료시키고 비신뢰 계층으로 이동시킬 수도 있습니다.

단일 행동에 대한 사용자 처리는 규칙에 기록되지는 않지만 보통 어플리케이션(또는 프로세스)이 종료되고 다시 실행될 때까지 유지가 됩니다.

참고로 "!" 버튼을 클릭하면 어플리케이션 정보 및 규칙창이 활성화됩니다. 해당 어플리케이션의 정보 및 위험도를 확인할 수 있으며, 직접 규칙을 수정할 수 있습니다.


(2) 어플리케이션 규칙 수정


앞선 팝업창의 "!"을 클릭하거나 환경 설정의 "Application" 버튼을 클릭하여 어플리케이션 규칙을 직접 수정할 수 있습니다.


환경 설정을 통해 규칙 수정창을 활성화하면 아래와 같이 각종 어플리케이션들의 규칙이 보여집니다.


각 계층별로 권한 상태가 색상(녹, 황, 적, 사용자 수정)으로 표시되며, 그룹화된 어플리케이션들은 그룹의 권한이 '계승'되는 것을 확인할 수 있습니다. '그룹'이라는 것은 동일한 개발사의 어플리케이션인 경우처럼 어플리케이션들이 서로 묶여 있는 것을 의미합니다. 특별한 경우 특정 어플리케이션이 다른 어플리케이션의 그룹(부모)가 될 수 있습니다. 하부 어플리케이션은 자식 어플리케이션으로 불리우며, 그룹이나 부모 어플리케이션의 권한이 자식 어플리케이션의 권한이 상속되어 유지됩니다.

여기서 '권한 상속'이라는 개념은 그룹내에 존재하는 어플리케이션들의 위험도에 상관없이 그룹의 권한을 그대로 갖고 오는 것을 말합니다. 그룹화는 아래 그림을 참고 바랍니다.

계층 구분도 크게 보아 그룹화의 개념이라고 할 수 있습니다. 따라서 계층 자체의 권한을 수정하면 하부 어플리케이션(또는 프로세스)들의 권한이 모두 바뀝니다. 과거에는 그룹도 사용자가 자유롭게 만들 수 있었으나 2012버전에서는 그룹 생성이 불가능하게 되었습니다.

다시 사용법으로 돌아와서 권한 수정을 원하는 어플리케이션을 더블 클릭하여 세부 정보/수정 창을 띄웁니다. 첫 번째 탭은 어플리케이션의 프로세스 정보창입니다. 설치 경로와 파일 정보, 위험도 지수, 사용자 수, 클라우드 DB내의 위험성 판단 등의 정보가 표시됩니다.
해당 파일의 경우 악성코드로 구분되어 비신뢰 계층으로 지정된 경우인데, 샌드박스 상태에서 구동시켰다가 삭제한 경우라 파일 정보가 없어져버렸습니다.

두 번째, 세 번째, 네 번째 탭이 앞서 언급한 3개 권한을 각각 결정하는 항목입니다. 아래 그림처럼 원하는 권한 항목에서 마우스를 우클릭하여 권한을 수정하면 됩니다.
이 때 "Inherit"를 선택하면 그룹이나 부모 어플리케이션의 권한이 상속되어 자동으로 변경됩니다.

5번째 탭인 이벤트 일지 항목은 지금까지 해당 프로세스에 있었던 권한 변경이나 행동 처리 등의 기록을 보여줍니다. 악성코드로 지정되어 실행이 차단된 기록을 확인할 수 있습니다. 참고로 어플리케이션 컨트롤의 규칙 수정이나 행동 처리는 전체 이벤트 기록 기능에서 관리되지 않고 여기서 직접 개별 프로세스별로 관리됩니다. 

 

마지막 제외 항목은 해당 어플리케이션의 실행 및 활성화 시에 어플리케이션의 감시에서 제외시키는 기능입니다. 특별한 경우가 아니고선 가급적 사용하지 않는 것을 권장하며, 제외할 일이 있다면 전체 제외 설정을 이용하여 통합적으로 관리하는 것을 추천합니다.


 

7-2. Application contol 환경 설정

 

 어플리케이션 컨트롤의 환경 설정은 아래와 같습니다.


먼저 KSN(클라우드 서비스)와 관계된 항목들은 기본으로 체크되어 있는데, 가급적 해지하지 마시기 바랍니다. 국내에서 제작된 어플리케이션에 대해 정보가 많은 것은 아니지만, 유용한 경우가 많습니다.

그리고 디지털 인증의 경우 논란이 있을 수 있으나, 개인적으로는 사용을 하지 않는 것을 권장합니다. 이유는 특정 악성코드의 경우 디지털 인증을 도용하는 경우가 있는데, 안티 바이러스나 방화벽 제품에 따라 디지털 인증의 유효함을 구분하지 못하는 경우가 있을 수 있습니다.  다소 불편하긴 하지만 애초에 HIPS 기능을 사용자 처리로 사용하는 사용자에게는 그 정도의 불편은 감내할 수준이라고 봅니다. 개인적으로도 초기에 조금 귀찮을 뿐 큰 불편을 느끼지 못하고 있습니다.
(※ 개인적으로 규칙을 초기화하고 사용합니다. 덕분에 초기에 엄청난 팝업을 만날 수 있었습니다.)


마지막으로 "정해진 시간 이내로 계층 지정(Maximum time to define the application group)" 항목은 초기 어플리케이션 분석시에 휴리스틱 분석이 진행될 때 나타나는 상당한 시스템 퍼포먼스 감소에 대한 해결책으로 내어 놓은 기능입니다. 사실 휴리스틱 분석시 거의 다른 작업을 할 수 없을 정도가 되는데, 그 이유는 대부분 설치 패키지의 압축을 해제하고, 프로세스의 정보를 받아오는 데 사용하는 시스템 리소스가 상당히 많기 때문입니다. 사용자들이 이러한 점을 단점으로 지적하고, 개선 요구를 상당히 거세게 내어놓았는데, 결과적으로는 해결하지 못한였습니다. 그러나 정해진 시간이 지나면 분석이 자동으로 종료되도록 환경 설정에 설정 항목을 만들어서 약간의 개선을 이루었습니다.

파일 크기 또는 설치 패키지 용량에 따라 시간이 매우 오래 걸린다.

참고로 정해진 시간이 넘어가면 자동으로 낮은 제한으로 지정됩니다. 개인적으로는 높은 제한으로 가야 더 안전하다 생각되는데, 낮은 제한으로 지정된 점은 다소 위험해보입니다. 분석이 종료되더라도 백그라운드에서는 검사를 계속 진행하여 신뢰 등의 계층으로 지정된다고 하는데, 개인적으로 검사가 지속되는 증거나 계층 구분이 변경되는 것을 확인하지 못하였습니다. 

"지정 기한 만기 후 어플리케이션 규칙 삭제" 항목은 코모도의 퍼지 기능처럼 의미가 없어진 규칙들을 삭제하는 기능입니다. 퍼지 기능과 달리 자동으로 삭제가 되지만, 실시간으로 삭제가 안 된다는 점에서 다소 아쉽습니다.
(※ 큰 영향을 주는 것은 아니지만 쓸데없는 규칙이 많으면 약간의 퍼포먼스 감소가 나타납니다.)


마지막으로 "File And System Registry" 항목의 권한 설정인 "Identity Protecion" 항목을 살펴보겠습니다.
앞서 언급한 것처럼 3가지 권한 중 유일하게 권한 수정이 가능한 것이 파일 및 시스템 레지스트리 권한입니다. 카스퍼스키 포럼을 살펴보면 해당 항목에 다양한 항목들을 추가하여 보안 수준을 높이는 팁들이 있습니다. 관심있는 분들은 살펴보시기 바랍니다.

Identity Protection은 크게 두 가지로 구분되어 있는데, 하나는 개인 정보와 OS 설정 및 시스템 파일 보호입니다. 개인 정보는 각종 프로그램 설정과 쿠키 및 히스토리 등 써드파티 어플리케이션과 연관이 깊고 OS 설정 및 시스템 파일 보호는 말 그대로 OS의 중요 설정과 시스템 파일 보호를 목표로 합니다.

위의 그림은 개인 정보 보호 아래 그림은 OS 관련 보호 항목이며 새로운 보호 항목의 수정 및 추가가 가능합니다.


"ADD" 버튼으로 레지스트리 또는 특정 폴더 및 파일에 대한 권한을 추가합니다.


통크게 레지스트리 및 중요 폴더 전체를 보호하게 할 수도 있습니다만, 아주 큰 효과는 없습니다.

세부적으로 이미 중요한 부분은 모두 보호 중이라 큰 효과 없음




7-2. Application Activity - 어플리케이션 활동 감시기

 

윈도우의 작업 관리자와 비슷한 기능을 갖춘 Application Activity 기능은 어플리케이션 컨트롤의 기능은 아니지만, 프로세스의 활동 정보를 제공한다는 점에서 밀접한 연관을 갖고 있습니다.

아래와 같이 메인 화면이나 트레이 아이콘 메뉴에서 감시기를 활성화할 수 있습니다.


어플리케이션 활동 감시기의 화면은 아래와 같습니다.

보기 모드가 단순 나열식과 계층식 보기가 있으나 필터링 여부를 제외하고 동일한 보기(나열식) 모드로 동작됩니다. 제가 볼 때는 버그로 보입니다.

감시기에서 보여주는 정보는 어플리케이션의 기본 정보와 계층 정보, CPU 사용량, 메모리 사용량 등입니다. 윈도우의 작업 관리자의 수준이며, 전문적인 프로세스 정보 프로그램과 비교하기는 어렵습니다.




어플리케이션 컨트롤을 전반적으로 훓어봤습니다. 개인적으로 어플리케이션 컨트롤은 카스퍼스키의 가장 핵심적인 기능이라고 생각합니다. 시그니처 진단이 AVIRA나 PANDA같은 제품이나 G-DATA와 같은 다중 엔진 제품과 비교하여 크게 메리트가 없어진 지금, 카스퍼스키를 선택하는 가장 큰 이유를 뽑으라고 하면 어플리케이션 컨트롤과 다른 행동 기반 진단 기능일 것입니다.

엄밀히 말해서 코모도나 다른 개인용 방화벽의 HIPS와 비교해볼때 성능이 약간 떨어지는 것이 사실이지만 계층 구분 및 자동화 처리를 통해 PC 보안에 관하여 잘 모르는 사용자도 쉽게 접할 수 있다는 점이 이들 제품과 구별되는 매우 큰 장점입니다.

사용자 처리를 통해 사용하면 코모도 만큼은 아니더라도 매우 수준 높은 보안 환경을 제공해줍니다. 함께 제공되는 가상화 기능을 적절히 이용하면, 어플리케이션 컨트롤만으로도 상당히 안정적인 PC 작업 환경을 얻을 수 있다고 생각합니다.


이제 핵심적인 기능은 거의 다 끝났습니다. 리뷰의 끝이 보입니다.


- 이상입니다.

반응형