* 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를 검출 할 수 있다.
- 단 : 정상임을 어떻게 증명할지를 정의해야 하며, 공격자는 정상적인 모습으로도 공격을 할 수 있다.