루트킷은 공격자가 컴퓨터의 관리자 계정인 '루트(root)' 계정의 권한을 획득하는 데 유용하게 사용되는
작은 프로그램들로 이루어진 '킷'이라고 할 수 있다.
루트킷은 영구적 또는 일관적으로 탐지되지 않는 형태로 컴퓨터에 존재할 수 있게 해주는
프로그램들과 코드들로 이루어진 세트다.
루트킷의 정의에서 핵심적인 키워드는 '탐지되지 않는'이다.
루트킷이 사용하는 대부분의 기술과 트릭은 코드와 데이터를 컴퓨터 시스템에서 숨기기 위한 것들이다.
즉 대부분의 루트킷이 파일과 디렉토리를 숨길 수 있는 기능을 제공해 준다.
루트킷의 기능 중 또 다른 것으로 원격지에서의 컴퓨터 접근과 네트워크 패킷 훔쳐보기를 들 수 있다.
이런 기능들이 조합되면 보안에 위협을 가할 수 있다.
루트킷은 본질적으로 '악의적'인 것이 아니며 항상 '나쁜 녀석들'에 의해서 사용되는 것 또한 아니다.
루트킷은 단지 기술이라고 이해하는 것이 중요하다.
즉, 루트킷의 선악은 그것을 사용하는 인간의 동기가 선한 것인지 악한 것인지에 의해 결정되는 것이다.
원격지에서 관리자 권한 획득뿐만 아니라 정보를 도청하는 기능을 제공해 주는 합법적인 상업 프로그램도 많이 있다.
심지어 이런 프로그램들 중 일부는 은닉해서 동작하는 것들도 있다.
따라서 이런 프로그램들도 루트킷이라고 부를 수 있는 것이다.
법원의 명령을 통해 합법적으로 정부의 허가를 받아서 설치되는 백 도어 프로그램을 지칭하는 경우에도
'루트킷'이라는 용어가 사용된다.
대기업에서도 회사 내 컴퓨터를 모니터링하거나 통제하기 위해서 루트킷 기술을 사용한다.
출처 : 루트킷 윈도우 커널 조작의 미학 - 에이콘 / 그렉 호글런드, 제임스 버틀러 저
'정상을향해 > OS·Kernel Driver·Rootkit' 카테고리의 다른 글
2장. 커널 조작 - 윈도우 디바이스 드라이버 개발 (0) | 2014.01.10 |
---|---|
2장. 커널 조작 - 루트킷 설계 (0) | 2014.01.10 |
2장. 커널 조작 - 커널의 중요 요소 (0) | 2014.01.08 |
파일시스템 (File System) (0) | 2013.11.11 |
윈도우 프로그램의 기본 구조 (0) | 2013.11.10 |
핸들 (Handle) (0) | 2013.11.10 |