프로그래밍[Univ]/컴퓨터보안

[컴퓨터 보안] Malware

Cloud Travel 2013. 6. 16. 15:10

* Malware

 - 의도적으로 만들어낸 공격적인 악성 프로그램

 - Malware의 종류

  1) Virus : 수동적인 프로그램 전파

  2) Worm : 적극적인 프로그램 전파

  3) 트로이 목마 : 예상하지 못한 기능

  4) Trapdoor/backdoor : 비권한 접근

  5) Rabbit : 시스템 자원을 고갈 시키는 것으로 바이러스, 웜의 형태로 구현된다.

 - Malware의 역사

  1) Cohen에 의한 초기 코드 개발(80년대 초기)

  2) Brain virus(1986)

  3) Morris worm(1988)

  4) Code Red worm(2001)

  5) SQL Slammer worm(2004)

 - Virus 존재 위치

  1) Boot sector : 다른 어떤 것을 하기 전에 프로그램이 오작동하게 만든다.

  2) 메모리 : 재부팅으로 바이러스를 제거할 수 있다.

  3) 응용 소프트웨어, 메크로, 데이터 등..

  4) 라이브러리 루틴, 컴파일러, 디버거, 바이러스 검사기 등등...


* Brain virus

 - 1986년에 처음 발생하였고, 해롭다기 보다 귀찮은 존재

 - Virus model

 - 부트 섹터에 설치되어, 발견되지 않는 방식을 구현하였다.

 - 해로운 짓은 하지 않았다.


* Morris worm

 - 1988에 처음 등장

 - 감연될 곳을 결정하고, 감염을 전파하였다. 또한, 발견되지 않도록 하였다.

 - Morris는 테스트의 오류로 인해 생긴 것이라고 주장하였다.

 - worm 코드 자체를 결함을 갖고 있었다. 감염된 시스템을 반복적으로 감염시키려고 하였다.

  > 이로인해서 rabbit 효과를 갖게 되었다.

 - 사용자 계정 암호 추측, 버퍼 오버플로우, sendmail의 트랩도어를 사용하여 전파를 시도

 - Morris worm 동작 방법

  1) 기계에 먼저 접근을 한다.

  2) Bootstrap loader를 피해 시스템에 보낸다.

  3) 피해 시스템은 코드를 컴파일하고 실행

  4) bootstrap loader는 나머지 웜 코드를 불러 들인다.

  5) 피해 시스템은 송신자를 인증

 - 발견되지 않았던 이유

  1) 웜 전송이 방해되면 모든 코드를 삭제

  2) 코드는 다운로드될 때 암호화 되며, 다운로드 코드는 복호화되고 컴파일 되면 삭제된다.

  3) 실행시 지속적으로 이름과 PID를 변경한다.

 - 이 결과 CERT가 설립되게 되었고, 보안에 대한 경각심을 갖게 되었다.


* Code red worm

 - 2001년 7월에 발생

 - 10~15시간동안 25만 시스템을 감염시킨다.

 - Microsoft IIS서버 소프트웨어의 버퍼 오버플로우를 이용하였다.

 - 1일~19일동안 감염을 전파하고 20일에서 27일 까지는 백악관 홈페이지를 DDoS공격을 시도

 - beta test for information warfare라고도 한다.


* SQL Slammer worm

 - 10분만에 25만 시스템을 감염

 - 가능한 대역을 소모시킨다.

 - 376byte의 UDP 패킷안에 포함되어 발견이 힘들었다.


* 트로이 목

 - 예상치 못한 기능을 수행하게 한다.

 - 파일 확장자를 속이거나, 다른 파일과의 링크를 통해서 엉뚱한 프로그램이 실행되게 만든다.

 - 예상치 못한 행동을 함으로써 심각한 에러를 만들어 낼 수 있다.


* Malware 검출

 - 흔적탐지

 - 변경탐지

 - 비정상탐지

 ⓐ 흔적 탐지

  - IDS와 유사한 방식

  - 소프트웨어에서 발견된 비트 스트링 또는 해쉬값을 나타낸다.

  - 바이러스가 갖는 특정 페턴을 검색하여 바이러스 유무를 판단한다.

  - 하지만, 특정 페턴은 바이러스가 아닌 일반 프로그램에서도 발견 될 수 있다.

  - 장 : 전통적인(이미알고 있는) maleware검출에 효율적

  - 장 : 최소비용으로 관리가 가능하다.

  - 단 : 흔적이 누적되면서 용량이 커진다. 이러인해 스캐닝 속도가 느려질 수 있다.

  - 단 : 지속적으로 흔적 파일을 최신의 것으로 유지해야 한다.

  - 단 : 새로운 종류의 malware/virus는 검출하지 못한다.

  - 오늘날 널리 사용되는 백신 tool의 방식이다.

 ⓑ 변경 탐지

  - 파일이 변경된 것을 발견하면 그 파일이 감연되었는지 여부를 알 수 있다.

  - 해쉬 파일의 해쉬값을 보관하여, 특정 시점마다 해쉬를 재계산하여 비교

  - 장 : 감연된 것은 반드시 검출하며, 알려지지 않는 것에 대해서도 발견을 할 수 있다.

  - 단 : 많은 파일들이 자주 변경이 된다. 사용자/관리자에게 큰 짐을 부과

  - 단 : 많은 오보가 발생 할 수 있다.

 ⓒ 비정상 탐지

  - IDS와 유사한 방식을 취한다.

  - unusual 혹인 virus like 악성 파일을 검사한다

  - 이전과 다르게 파일을 변경하고, 시스템이 올바르지 않게 행동

  - 이전과 다르게 네트워크를 사용하고, 파일을 접근한다.

  - 이를 위해서는 어떤 것이 정상인지를 저으이 해야한다.

  - 장 : 알려지지 않는 malware를 검출 할 수 있다.

  - 단 : 정상임을 어떻게 증명할지를 정의해야 하며, 공격자는 정상적인 모습으로도 공격을 할 수 있다.