Transcript 11-2장

Malware
Chapter 11 Software flaws and malware
1
악성 소프트웨어(Malware)


Malware는 새로운 것은 아니다!
Fred Cohen의 최초의 virus는 이미 1980대
에 존재했다.


바아러스를 사용하여 MLS 시스템을 파괴
Malware의 종류 (서로 중복됨)





Virus  수동적인 전파
Worm  적극적인 전파
트로이 목마  예상하지 못한 기능
Trapdoor/backdoor  비권한 접근
Rabbit  시스템 자원을 고갈, 바이러스, 웜등으로
구현
Chapter 11 Software flaws and malware
2
시간대별 Malware

Cohen에 의한 초기 코드 (80년대 초기)

Brain virus (1986)

Morris worm (1988)

Code Red worm (2001)

SQL Slammer worm (2004)

Malware의 미래는?
Chapter 11 Software flaws and malware
3
Viruses는 어디에 존재하나?

Boot sector


메모리




다른 어떤 것을 하기 전에 제어한다.
재부팅은 바이러스를 제거할 수 있다.
응용 소프트웨어, 매크로, 데이터 등등.
라이브러리 루틴
컴파일러, 디버거, 바이러스 검사기, 등등.

이런 것들은 특별히 고약하다!
Chapter 11 Software flaws and malware
4
Brain virus

1986에 처음 발생




해롭다기 보다는 귀찮은 존재
나중의 바이러스의 모델이 됨
사용자는 별로 대응하지 않았다.
무엇을 하였는가?
1. 부트 섹터에 설치(그리고 다른 장소에도)
2. 발각되지 않도록 디스크 콜을 스크린
3. 디스크를 읽을 때 부트 섹터를 검사하여 감염되
었는지 조사. 안되었으면, go to 1.

해로운 짓은 하지 않았다.
Chapter 11 Software flaws and malware
5
Morris Worm – 1/5


1988에 처음 등장
시도





감염될 곳을 결정
감염을 전파
발견되지 않도록 함
Morris는 테스트가 잘못되어 생긴 것이라고
주장
웜 코드 자체의 “결함”  이미 감염된 시스템
을 다시 감염시키려고 함


자원을 고갈시킴
역효과는 소위 “rabbit”과 같았다.
Chapter 11 Software flaws and malware
6
Morris Worm – 2/5
감염을 어떻게 전파하는가?

다음과 같이 하여 접근을 시도




사용자 계정 암호를 추측
fingerd의 버퍼 오버플로우를 악용
Sendmail의 트랩도어(trapdoor)를 악용
Fingerd과 sendma의 결함은 그 당시 잘 알려져
있었으나 전반적인 패치 작업은 이루어지지 않
고 있었다.
Chapter 11 Software flaws and malware
7
Morris Worm – 3/5
① 먼저 기계에 접근을 한다.
② “Bootstrap loader”를 피해 시스템에 보낸다.

99줄의 C code로 구성
③ 피해 시스템은 코드를 컴파일하고 실행
④ Bootstrap loader는 나머지 웜 코드를 불러
들인다.
⑤ 피해 시스템은 송신자를 인증하게 된다!
Chapter 11 Software flaws and malware
8
Morris Worm – 4/5
어떻게 발견되지 않을 수 있는가?




만약 웜 전송이 방해를 받으면 모든 코드를 삭
제한다.
코드는 다운로드될 때 암호화된다.
다운로드 코드는 복호화되고 컴파일되면 삭제
된다.
실행할 때, 웜은 규칙적으로 이름과 프로세스
ID (PID)를 변경한다.
Chapter 11 Software flaws and malware
9
Morris Worm의 결과 – 5/5


1988년 인터넷 전문가들에게는 충격
인터넷은 핵전쟁에 견딜 수 있도록 설계되었다.



해롭지는 않았지만 그 보다 더 심한 상황이 초
래될 수도 있었다.


그러나 한 대학원생에 의해 기능이 마비!
이 당시, Morris의 아버지는 NSA에서 근무…
일부 사용자는 재빨리 복원
CERT 설립, 보안에 대한 경각심을 높임

하지만 보안을 위한 행동은 극히 제한되었다.
Chapter 11 Software flaws and malware
10
코드 레드 Worm – 1/2





2001년 7월 발생
250,000이상의 시스템을 약10 ~ 15 시간
안에 감염
총 6,000,000의 취약한 시스템 중에서
750,000을 감염
시스템에 접근하기 위해서, Microsoft IIS
서버 소프트웨어의 버퍼 오버플로우를 이용
그리고 다른 취약한 서버를 찾기 위해서 포트
80의 트래픽을 모니터링
Chapter 11 Software flaws and malware
11
코드 레드Worm – 2/2

무엇을 했나



후기 버젼(여러가지 변종)



한달의 1일부터 19일: 감염을 전파하려 함
20일부터 27일: www.whitehouse.gov에 DDOS
공격을 시도
원격 접속을 위해서 trapdoor를 포함
재부팅하여 웜을 제거하고 오직 trapdoor만을 남
겨둠
코드 레드는 “beta test for information
warfare”로 불리워질 수 있다.
Chapter 11 Software flaws and malware
12
SQL Slammer worm – 1/2





10분안에 250,000 시스템을
감염!
Code Red가 15시간이 걸린
것을 Slammer는 10분만에 해
치웠다.
가장 극성기에는, Slammer 감
염은 8.5초 마다 두배로 증가
했다.
Slammer의 전파는 너무 빨랐
다.
가능한 대역을 소모시킴
Chapter 11 Software flaws and malware
13
SQL Slammer worm – 2/2

왜 Slammer는 그렇게 성공적이었나?



Worm은 하나의 376 byte UDP 패킷안에 포함
됨
방화벽은 작은 패킷은 해롭지 않을 것이라 생각하
고 통과시킴
방화벽은 연결이 설정된 트래픽을 감시


공격을 위해서는 많은 데이터가 필요할 것이라고 예상
Slammer는 전문가들의 예상과는 어긋난 것
이었다.
Chapter 11 Software flaws and malware
14
트로이 목마 – 1/3

예상치 못한 기능을 수행한다.
Mac에서 트로이 목만의 전형
freeMusic.mp3의 파일 아이콘:

아이콘을 더블 클릭하면





iTunes이 열리고
mp3 파일이 재생
하지만 freeMusic.mp3에서는 예상과는 다
른 결과…
Chapter 11 Software flaws and malware
15
트로이 목마 – 2/3

freeMusic.mp3을 더블 클릭하면,




iTunes이 열리고 (예상대로)
“큰 웃음” (아마도 예상과는 달리)
Message box (예상과는 달리)
양의 가죽을 쓴 늑대
Chapter 11 Software flaws and malware
16
트로이 목마 – 3/3




어떻게 freeMusic.mp3 트로이 목마가 가능?
“mp3”는 데이터가 아니라 응용 프로그램
이 트로이 목마는 해를 끼치지 않음
하지만 사용자로 하여금 파일을 삭제하고 다운
도드하고, 응용 프로그램을 실행하게하는 등등
의 일을 하게 할 수 있다.
Chapter 11 Software flaws and malware
17
Malware 검출
Chapter 11 Software flaws and malware
18
Malware 검출

세 가지 대표적인 방법



흔적 탐지
변경 탐지
비정상 탐지
Chapter 11 Software flaws and malware
19
흔적 탐지- 1/2



흔적(signature)은 소프트웨어(혹은 해쉬값)에서
발견되는 비트 스트링이다.
만약 바이러스가 0x23956a58bd910345의 흔적
을 갖고 있다면 모든 파일에서 이 흔적을 찾으면
된다.
만약 이 흔적이 발견되었다면 바이러스를 찾았다
고 확신할 수 있는가?



동일한 흔적이 정상적인 파일에서도 발견될 수 있다.
하지만 랜덤하게 발생한다면 그럴 확률은 대단히 작다:
1/264
소프트웨어는 랜덤하게 만들어지지 않으므로 그 확률
Chapter 11 Software flaws and malware
20
은 높다.
흔적 탐지 - 2/2

장점



단점






“전통적인” malware의 검출에 효율적
사용자/관리자에게 최소한의 짐을 부과한다.
흔적 파일의 용량이 증대 (10,000’s)…
따라서 스캐닝 속도가 느려질 수 있다.
흔적 파일은 계속 최신의 것으로 유지
알려지지 않은 바이러스는 검출 못함
새로운 종류의 malware는 검출 못함
가장 널리 사용되고 있는 검출 방법!
Chapter 11 Software flaws and malware
21
변경 탐지- 1/2



바이러스는 시스템의 어딘가에 존재
만약 파일이 변경된 것을 발견하면 그 파일
은 감염되었을 수 있다.
어떻게 변경을 검출하는가?



해쉬 파일과 해쉬값들을 안전하게 보관
해쉬를 재계산하여 비교
만약 해쉬값이 바뀌었으면 파일은 감염되었을 수
있다.
Chapter 11 Software flaws and malware
22
변경 탐지- 2/2

장점



감염된 것은 반드시 검출(no false negative)
아직 알려지지 않은 malware도 검출할 수도 있다.
단점





많은 파일들은 변경된다. 그것도 자주.
많은 오보가 발생할 수 있다.(false positives)
사용자/관리자에게 너무 큰 짐을 부과
만약 의심스런 변경이 발견되면 어떻게 할 것인가?
여전히 흔적 기반 시스템이 필요할 지 모른다.
Chapter 11 Software flaws and malware
23
비정상 탐지- 1/2


시스템을 감시하면서 “unusual” 혹은 “viruslike” 혹은 악성의 가능성을 탐지
무엇이 unusual인가?





이전과 다르게 파일을 변경
시스템이 올바르지 않게 행동
이전과 다른 네트워크 행위
이전과 다른 파일 접근, 등등
하지만 먼저 무엇이 “정상”인지 정의해야 한다.

정상도 변할 수 있다!
Chapter 11 Software flaws and malware
24
비정상 탐지- 2/2

장점


단점





알려지지 않은 malware를 검출할 수 있는 기회
어떻게 할지 증명되지 않았다.
공격자는 비정상을 정상으로 보이도록 할 수 있다.
다른 방법과 병행해서 사용해야 한다.(흔적 탐지와
같이)
IDS에서도 사용
어렵고 풀리지 않은 문제!
Chapter 11 Software flaws and malware
25