루트킷

내위키
Dennis (토론 | 기여)님의 2015년 6월 20일 (토) 14:27 판

악성코드의 일종으로 최고 권한인 루트 권한을 획득한 악성코드가 자신의 존재와 활동을 다른 사용자 및 관리자로부터 숨기기 위한 목적으로 쓰는 또다른 악성코드다. 물론 악성코드가 아예 루트킷 기능을 내장할 수도 있고. 그러니까 해리포터의 투명망토나 공각기동대광학미채 같은 구실을 하는 셈.

어떤 프로그램이 컴퓨터 안에서 활동하면 실행기록, 로그, 프로세스 뷰를 비롯한 다양한 벙법으로 자신의 흔적을 남기게 되고, 시스템 관리자 또는 보안 프로그램은 이러한 흔적을 분석해서 악성코드를 찾아낼 수 있다. 루트킷은 이 흔적을 지우고 숨김으로써, 악성코드가 활동하고 있다는 사실을 눈치채지 못하게 한다. 예를 들어 어떤 프로그램의 실행 기록을 로그로 남기는 시스템 프로세스가 있다고 하면 그 프로세스를 가로채서 악성코드의 로그를 날리고, 프로세스 뷰가 프로세스 목록을 작성할 때 이걸 가로채서 프로세스 목록에서 악성코드를 빼버릴 수도 있다. 루트킷(rootkit)이라는 이름은 한마디로 루트(root)권한을 가진 키트(kti), 즉 도구라는 뜻이다. 루트 권한은 유닉스에서 쓰는 개념인데, 슈퍼 유저(super user)라고도 하며 한마디로 거의 전지전능한 사용자다. 루느님. 루트킷은 사실 무척 오랜 역사를 가지고 있다. 실제 루트킷이 처음 등장한 것은 1990년이지만 심지어 유닉스의 아버지라 할 수 있는 켄 톰슨이 루트킷의 아버지라고 볼 수 있을 정도다. 이런 시대에 나온 것이다. 유닉스의 최고권한인 루트가 이름에 붙은 것은 어찌 보면 당연한 일.