익스플로잇 제공 사이트로 유명한 milw0rm.com에 애플사의 퀵타임 플레이어의 버그에 대한 익스플로잇이 4개나 올라 갔다. 모두 같은 문제점을 이용하는 것으로 RTSP 프로토콜의 Content-Type 필드의 스택 오버플로우 취약점이다. 이는 아주 초보적인 실수로서, 익스플로잇의 성공율은 굉장히 높은 것으로 확인되었다.
비스타에서도 해당 취약점이 작동하므로 주의를 기울여야 한다. 비스타의 개선된 보안성에도 불구하고, 해당 배포 패키지들에는 해당 기술들이 전혀 사용되지 않았으므로 쉽게 익스플로잇이 되는 것으로 보인다.
이미 4개 이상의 퍼블릭한 익스플로잇이 나와 있으므로 이를 이용한 말웨어도 이미 존재할 것으로 예측된다.
공격의 원리는 간단하다. DNS 패킷의 경우 UDP를 주로 사용하게 되는데, 시퀀스 넘버등을 사용하지 않음으로 인해서UDP는 TCP에 비해서 스푸핑에 취약하다는 맹점이 있다. DNS의 경우 각 쿼리 패킷에 트랜잭션 아이디(Transaction ID)를 부여하여 패킷을 전송하고 응답 패킷에서 해당 트랜잭션 아이디가 그대로 되돌아 왔는지 확인하는 방법으로 스푸핑을 방지하고 있다. 하지만, 윈도우즈 계열의 DNS 서버에서는 이 트랜잭션 아이디가 추측이 가능하다는 데에 문제가 발생한다.
트랜잭션 아이디는 아래와 같이 16비트의 값으로서, M은 순수하게 랜덤한 값이지만 C와 L에는 어떠한 규칙성이 존재한다.
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
M=pseudo random data
C=n%256
L
n 변수는 패킷이 하나 나갈 때마다 1씩 증가하게 되므로 C를 추측하는 것은 간단하다. L의 경우는 다음과 같은 공식으로 통해서 계산된다고 한다.
L=(T[C mod 8][n mod 7]+(C mod 8)·t) mod 8
여기에서 우리가 모르는 변수는 t로서 시간과 관련된 변수이다. 하지만 이 공식의 문제는 C mod 8이 0이 될 때에는 L의 값이 항상 0가 된다는 것이다. C는 추측이 가능하므로 8패킷에 하나마다 C와 L을 확실하게 알 수 있는 경우가 생긴다. 이 경우 단지 3비트의 M 값만 맞추면 트랜잭션 아이디를 맞출 수 있게 된다. 3비트는 8개의 경우의 수를 만들므로 8개의 가짜 응답을 보내면 그 중에 하나는 맞게 된다.
IDA는 리버스 엔지니어에게 있어서는 없어서는 안되는 현시대 최고의 기능의 디스어셈블러이다. 그런데 카피당 1000불이 넘는 이 프로그램의 예전 버전이 프리웨어로 풀렸다. IDA Pro 4.9 Freeware Version에서 IDA 4.9의 프리웨어 버전을 다운로드 받을 수 있다. 많은 가난한 리서쳐들이 어둠의 경로를 통해서 사용했을 IDA, 비록 4.9 버전이지만 그래프 기능이 없는 버전 중에서는 그래도 가장 완성도가 뛰어 났던 버전으로 기억한다. 현재 5.0과 5.1이 나와 있고, 필자는 5.0을 사용중이지만 아무런 불편함이 없다. 4.9 버전이 그만큼 괜찮은 버전이라는 소리다.
그래프 기능이 없고, ARM이나 64비트 CPU를 지원하지 않는 등 지원하는 CPU가 제한적이기는 하지만 그래도 꽤 쓸만하지 않을까 생각된다. 물론 5.1에서 사용 가능한 디컴파일러인 Hex-Rays도 지원하지 않는다.
우리 회사로도 수상한 메일들이 많이 전송 되었으며, 피슁 필터에 의해서 걸러져서 사실상 피해는 일어 나지 않았다. 해당 메일을 받은 사람들은 모두salesforce.com가입자들이어서salesforce.com해킹에 대한 심증을 굳게 한다. 하지만 해당 업체는 해당 내용을 계속 부인하고 있는 상태이다.
해당 피슁 메일의 샘플을 보자면 다음과 같다.
From: Federal Trade Commission [mailto:frauddep@ftc.gov]
Sent: Monday, October 29, 2007 2:52 PM
To: XXXXX XXXXX
Subject: Complaint Update for Chris Silva (Case id : #1545)
A complaint has been filled against you and the company you are affiliated to by Mr. George Hanson and sent to Federal Trade Comission by fax,in witch he's claiming that he has been cheated by you and your company in paying a greater ammount of money than the one appearing on the invoice you gave him for using your services.
The complaint states he contacted your company on MON,22 OCT 2007, trying to solve this situation without interference from any Governmental Institution , but your company refused to take action.
On WED,24 OCT 2007, the complaint was sent by fax to Federal Trade Commission and we forwarded it to Internal Revenue Service and Better Business Bureau.
Complaint was filled against :
Name : XXXX XXXXX
Company : - XXXX XXXXX
If you feel that this message has been sent to you in error or if you have any questions regarding the next steps of this process, please download the original compl aint by clicking the link below :