악성코드, 백도어 이지웅
1. 악성코드 1) 컴퓨터 바이러스 (1) 부트 바이러스 (2) 파일 바이러스 (3) 부트 · 파일 바이러스 (4) 매크로 바이러스 2) 웜 3) 트로이목마 2. 백도어 1) 로컬 백도어 2) 원격 백도어 ※ 참고문헌
악의적인 목적을 가지고 제작되어 컴퓨터에 악영향을 끼치는 모든 소프트웨 어를 칭한다. 사용자의 명령이나 승인 없이 설치되거나 실행되며 시스템의 성능 저하 또 는 개인 정보 유출 등의 악의적인 행위를 수행한다. 악성코드는 자기 복제 여부에 따라 바이러스성 악성코드와 비 - 바이러스성 악성코드로 나뉜다. - 바이러스성 악성코드 : 웜, 바이러스 - 비 - 바이러스성 악성코드 : 트로이 목마, 백도어 등
표 1.1 악성코드의 증상
표 1.2 누적 악성코드 수 추정치 출처 : 안철수 연구소
컴퓨터 시스템에 침투하여 숙주 컴퓨터의 프로그램이나 파일을 변형시키고 자기 자신 또는 자신의 변형을 복사하여 또 다른 대상을 감염시킴으로써 컴 퓨터 시스템과 파일을 파괴하는 프로그램이다. 주로 전자메일, 매크로, 인터넷 웹 페이지, 그리고 USB 메모리 등을 통해 서 전파되며 컴퓨터의 비정상적인 동작을 유발하고 시스템의 성능 저하 등 에 영향을 미친다. Header Code Header Code Virus 정상적인 코드의 구조 바이러스의 감염된 코드의 구조
부트 바이러스는 디스크의 첫 번째 섹터인 MBR(Mast Boot Record) 에 위치 한다. MBR 에 바이러스가 침투하면 매번 부팅할 때마다 바이러스를 실행시키기 때 문에 정상적인 부팅과정을 방해하게 된다. 이러한 바이러스는 90 년대에 널리 퍼졌다가 32 비트 프로세서가 표준으로 채 택되고 플로피 디스크를 사용하지 않게 되면서 거의 자취를 감추었다. [ 부트 바이러스 감염경로 ]
전체 바이러스의 90% 이상이 파일 바이러스이며 파일 확장자가 COM, EXE 등의 실행파일이나 DLL 등의 라이브러리 파일, SYS, INF 등의 시스템 정보 설정 파일을 감염시킨다. 파일 바이러스의 종류에는 기생형, 겹쳐쓰기형, 산란형, 연결형으로 나눌 수 있으며 실행파일 실행 시 메모리 영역에 저장되어 실행 중인 다른 실행 파일에 자신을 복제한다.
기생형 바이러스는 원래의 프로그램을 파괴하지 않고 프로그램의 앞이나 뒤 에 바이러스 프로그램이 붙는다. 기생형 바이러스에 감염된 파일에는 원래의 프로그램과 바이러스 프로그램 이 공존하기 때문에 길이가 증가하지만 사용자는 바이러스 프로그램이 실행 된 다음에 원래의 프로그램을 실행시키기 때문에 바이러스에 감염된 사실을 알지 못하는 경우가 많다. 대표적인 바이러스는 Jerusalem, Dark_Avenger 등이 있다.
겹쳐쓰기형 바이러스는 원래의 프로그램이 있는 곳에 바이러스 프로그램이 겹쳐서 존재한다. 일반적인 겹쳐쓰기형 바이러스는 파일의 앞부분에 위치하며 감염된 파일을 실행시키면 원래의 프로그램 대신 바이러스 프로그램이 실행되고 원래의 프 로그램이 파괴되었기 때문에 백신 프로그램으로도 복구할 수 없다. 단, 겹쳐쓰기형 바이러스가 프로그램에서 사용하지 않는 영역을 찾아서 들 어갈 경우에는 원래 프로그램의 수행에는 전혀 영향을 미치지 않게 되며 백 신 프로그램으로 복구가 가능하다. 겹쳐쓰기형 바이러스로는 Leprosy, Lehigh 바이러스 등이 있다.
같은 이름의 COM 파일과 EXE 파일이 같은 디렉토리 안에 존재할 때 파일 이름을 입력하면 COM 파일이 먼저 실행되는 것을 이용해서 EXE 파일을 직 접 감염시키지 않고 같은 이름의 COM 파일을 만들어서 바이러스 프로그램 을 넣어둔다. 대표적인 산란형 바이러스로는 AIDS II 바이러스가 있다.
연결형 바이러스는 프로그램을 직접 감염시키지 않고 디렉토리 영역에 저장 된 프로그램의 시작 위치를 바이러스 프로그램의 시작 위치로 변경한다. 따라서 프로그램을 실행하면 원래의 프로그램 대신 바이러스 프로그램이 먼저 실행되고 실행이 끝나면 원래의 프로그램을 실행시켜서 사용자가 눈치 채지 못하도록 한다. 대표적인 예로는 DIR II 바이러스가 있다.
부트 섹터와 파일을 모두 감염시킨다. 바이러스에 감염되면 대부분 파일 바이러스처럼 파일에 존재하다가 실행되 어 시스템 부트 영역에 바이러스를 추가시킴으로써 다음 시스템이 부팅될 때 바이러스가 동작하도록 유도한다 대표적인 종류로는 Natas, Invader, Tequila 바이러스 등이 있다.
새로운 파일 바이러스의 일종으로, 감염 대상이 실행 파일이 아니라 마이크 로소프트사의 엑셀과 워드 프로그램에서 사용하는 문서 파일이다. 또한 응용 프로그램에서 사용하는 매크로 사용을 통해 감염되는 형태로 매 크로를 사용하는 문서를 읽을 때 감염된다는 점이 이전 바이러스들과는 다 르다. 대표적인 예로 WM/CAP, WM/LLSTART, W97M/CLASS 바이러스가 있다.
프로그램 코드 자체를 스스로 복제할 수 있는 컴퓨터 프로그램이다. 자기복 제가 가능하다는 점에서는 바이러스와 비슷하지만 바이러스가 다른 파일을 공격해서 거기에 기생하는데 비하여 웜은 파일과는 독립적으로 실행되며 다 른 프로그램을 필요로 하지 않는다는 점에 다르다. 또한 웜은 사용자와의 상호작용 없이 컴퓨터 시스템의 취약점을 공격하여 그 자체만으로도 네트워크를 통해 전파될 수 있다 컴퓨터 바이러스와 마찬가지로 컴퓨터 자체의 성능에도 영향을 미치지 만 네 트워크를 손상시킬 수도 있다.
Internet Access Registry Document File Document File Worm Access Registry [ 웜의 동작과정 ] 1. 레지스트리 등록 2. 문서 파일 감염 4. 웜의 동작 3. 웜의 초기제어
그리스 신화의 트로이 전쟁에서 사용된 목마처럼 트로이 목마 프로그램은 겉보기에 는 유용한 프로그램처럼 보이지만 실제로는 해킹 기능을 가진 악성 프로그램을 말한 다. 트로이 목마는 사용자 몰래 컴퓨터의 정보를 외부로 유출하거나 원격제어가 가능하 도록 만든다. 바이러스나 웜처럼 복사 기능은 없기 때문에 스스로 다른 파일이나 컴퓨 터를 감염시 키지는 못하고 주로 사용자가 인터넷에서 다운로드한 파일을 통해 전파되어 사용자 가 실행시키도록 유도한다. 사용자의 개인 정보 유출 등의 피해뿐 아니라 시스템 파일을 변경하거나 파괴할 수 있다. 심각한 경우 시스템이 마비되기도 한다. 대표적인 트로이목마 프로그램으로는 Setiri, Hydan 등이 있다.
백도어는 원래 시스템의 유지 보수나 유사시의 문제 해결을 위하여 시스템 관리자가 보안설정을 우회하여 시스템에 접근할 수 있도록 만든 도구이다. 최근에는 악의적인 목적을 갖는 공격자들이 시스템에 재침입이 용이하도록 이용하 는 도구를 의미한다. 백도어 프로그램은 비 ( 非 ) 인가된 접근을 허용하는 프로그램으로 공격자가 이후 사용자 인증 과정 등 정상적인 절차를 거치지 않고 프로그램이나 시스 템에 접근할 수 있도록 지원한다. 공격자는 시스템에 침입한 이후 재접속을 위해 백도어를 설치하기도 하지만, 프로그 래머가 관리 목적으로 만들었다가 제거하지 않은 백도어를 찾아 악용하기도 한다. 백도어는 특정 포트를 오픈하여 공격자가 침입할 수 있도록 백그라운드로 실행되며 트로이목마 같은 악성코드를 통해 감염될 수 있다.
로컬 백도어는 서버의 셸을 얻어낸 뒤에 관리자로 권한 상승 (Privilege Escalation) 을 할 때 사용하는 백도어다. 트랩도어 역시 로컬 백도어라고 생 각 할 수 있다. 시스템에 로그인한 뒤에 관리자로 권한을 상승시키기 위한 백 도어 이므로 로컬 백도어를 이용하기 위해서 공격자는 일반 계정이 하나 필 요하다.
원격에서 관리자로 계정과 패스워드를 입력하고 로그인한 것처럼 바로 시스 템의 관리자 계정을 할 수 있는 백도어다. 원격백도어의 원리 : 유닉스 및 리눅스 시스템에서 프로그램은 사용자와 마 찬가지로 권한을 가지고 있으며 프로그램이 실행될 때 해당 권한 수준에서 동작하게 된다. 공격자가 공격에 성공한 시스템에 관리자 권한으로 원격 백 도어를 실행시켜 놓으면 이후 데몬처럼 동작하는 백도어를 통해 자연스럽게 관리자 권한으로 시스템을 작동할 수 있다.
사이버 공격과 보안기술 – 정태명 외 - 한국인터넷 진흥원 : 악성코드 유사 및 변종 유형 예측방법 연구