Tải bản đầy đủ (.pdf) (16 trang)

Các lỗ hổng của bộ Microsoft Office pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (274.53 KB, 16 trang )






Các lỗ hổng của bộ Microsoft Office

Các lỗ hổng của bộ Microsoft Office được phát hiện gần đây đặt ra cho
chúng ta vấn đề cần phải hiều cơ chế kiến trúc bảo mật của MS Office và
những điểm yếu dễ bị khai thác. Trong bài này chúng tôi sẽ nói về cơ chế
lưu trữ có cấu trúc OLE (OLE Structured Storage) của Microsoft Office, sự
xuất hiện tự nhiên của các chương trình dropper gần đây và một số tác nhân
phá hoại khác. Bài này nằm trong nỗ lực nghiên cứu hoạt động của một số
chương trình khai thác MS Office. Phần hai so sánh và kiểm tra một số cách
điều tra pháp luật thông qua các thành phần MS Office khác nhau. Cả hai
phần đều đưa ra các ví dụ tiêu biểu với các lỗ hổng khác nhau của MS Office,
về sự phát sinh tự nhiên của chúng và phương thức khai thác các lỗ hổng đó.

1. Tổng quan về những lỗ hổng gần đây của MS Office:

Các lỗ hổng MS Office gây nên nhiều lo lắng cho người sử dụng, nhất là khi
họ nhận được các bản MS Office từ e-mail hay download từ các website.

Người ta đã phát hiện ra một số lỗi gây hư hỏng bộ nhớ hoặc làm tràn bộ
đệm, một số lỗi khác có ảnh hưởng đến các đặc quyền. Tất cả đều làm cho
máy của nạn nhân bị hỏng hoặc bị ảnh hưởng một phần nào đấy. Con số xấp
xỉ lỗ hổng trong các MS Office khác nhau tỉ lệ nghịch với số kiểu lỗ hổng,
tính đến thời điểm này, chúng ta có thể thấy trên sơ đồ sau:

Hình 1.
Tổng quan về các lỗ hổng MS Office msoff1-


thumb.jpg
Nhìn trên cột “Remote Code Execution” (Thực thi mã từ xa), tất cả các lỗ
hổng đều có mức độ nguy hiểm khác nhau. Đây cũng là các lỗ hổng gây nguy
hiểm nhất cho hệ thống, so sánh với kiểu tấn công DOS (Denial of Service –
từ chối dịch vụ) và Memory Corruption (Gây hỏng bộ nhớ) thì hai kiểu tấn
công sau chỉ gây ra mức nguy hiểm trung bình.

Lỗ hổng có ở tất cả các chương trình ứng dụng khác nhau của MS Office,
được chỉ ra trong hình 2 dưới đây. Các bạn có thể thấy được tổng quan tỷ lệ
các lỗ hổng trong MS Excel, MS Word và MS Powerpoint.

Hình 2.
Phân phối lỗ hổng trong các ứng dụng của MS Office

Mỗi cột trong hình 2 thể hiện số lượng lỗ hổng trong các ứng dụng riêng, tuy
nhiên cột MS Office không phải là tổng hợp của cả ba cột kia. Nó thể hiện số
lượng lỗ hổng chung ảnh hưởng tới toàn bộ các ứng dụng của MS Office.
Phần dưới đây sẽ giúp các bạn hiểu rõ hơn về một số lỗ hổng này.

2. OLE Structure Storage (Cơ chế lưu trữ có cấu trúc OLE)

Một trong những lỗ hổng của MS Word phát hiện sớm nhất trong năm nay,
được khai thác với sự giúp đỡ của các chương trình dropper nhúng trong cấu
trúc file của các file MS Word. Một vài lỗ hổng liên quan đến các hình ảnh dị
thường và các đối tượng media trong MS Office. Trong đó trước hết bạn phải
hiểu được khái niệm OLE Structure Storage - cấu trúc lưu trữ file của MS
Office.

Trong nội dung bài báo này, OLE Structure Storage được định nghĩa như là
một tổ chức có hệ thống của các thành phần văn bản MS Office. Mỗi văn bản

có một gốc gồm các thành phần storage (lưu trữ) và stream (dòng). OLE
Structure Storage đồng nghĩa với cấu trúc hệ thống file, chẳng hạn storage
tương ứng với directory (thư mục), stream tương ứng với file, như trong hình
3 dưới đây.

Hình 3.
OLE Structured Storage.
Thành phần lưu trữ có thể tồn tại một cách độc lập. Mỗi thành phần đều có bộ
phận lưu trữ con và dòng con. Thành phần gốc cũng có các dòng nằm trực
tiếp bên trong nó. Bộ Office 2000 và các phiên bản sau của nó hỗ trợ cả hai
kiểu định dạng file: OLE nhị phân cơ sở và XML cơ sở. Cả hai đều là dạng
lưu trữ có cấu trúc. Ở các phiên bản sau còn có thêm tuỳ chọn (browser-
friendly) cho các văn bản lưu trữ. Hình 4 thể hiện sơ đồ OLE Structure
Storage, lấy ví dụ với cấu trúc văn bản Word.

Hình 4.
Ví dụ minh hoạ định dạng lưu trữ văn bản Word
Thành phần “MS Word” là gốc, chứa một vài stream và một storage. Các
phần khác nhau của văn bản như nội dung thực, các bảng được chèn vào,
CompObj kết hợp với file DLL cho các đối tượng, Summary Information tóm
tắt nội dung, hình ảnh và Document Summary Information; tất cả đều được
để ở dạng các stream bên dưới thành phần gốc. ObjectPool là kho lưu trữ
chung của tất cả các thành phần lưu trữ con. Hình trên cũng minh hoạ mẫu
thành phần lưu trữ con trong Excel. Bảng tính Excel là một thành phần
storage bên trong ObjectPool và có các dòng thông tin riêng (Workbook,
SummaryInformation, DocumentSummaryInformation).

Các file MS Office khác cũng được cấu trúc tương tự. Có thể nhúng một số
đối tượng khác trong kiểu văn bản. Chúng cũng được truy cập, cập nhật từ
các thành phần stream hoặc storage tương ứng. Một số lỗ hổng COM và OLE

cho phép leo thang các đặc quyền và thiếu bộ phận lọc thông tin đầu vào
thích hợp, làm tổn thương hệ thống đang sử dụng ứng dụng MS Office.

3. Ví dụ về cơ chế hoạt động của một cuộc tấn công

Với một cuộc tấn công thông thường, lỗ hổng được khai thác đơn giản bằng
việc chèn một đối tượng dị thường hay độc hại vào cấu trúc văn bản. Một số
lỗ hổng trên MS Excel và MS Word bị ảnh hưởng bởi kiểu tấn công này.

Cách khác là có thể chèn các đối tượng độc hại với Microsoft Word
Malformed Object Pointer Remote Code Execution Vulnerability. Kiểu tấn
công này được minh hoạ trong hình 5:

Hình 5.
Khai thác các lỗ hổng con trỏ đối tượng dị hình
Các bước trong quá trình khai thác:
 Bước 1: Dẫn dụ cho nạn nhân mở văn bản MS Word độc hại qua một
e-mail đính kèm hoặc một trang web.
 Bước 2: Thực thi thành phần lưu trữ độc hại (chương trình dropper)
bên trong cấu trúc OLE Structure Storage như là một file Word được
mở.
 Bước 3: Trojan được thả vào hệ thống của nạn nhân
 Bước 4: Trojan hoạt động với một backdoor (cửa sau), cho phép những
kẻ tấn công từ xa tập hợp thông tin hệ thống, truy cập các lệnh và chụp
lại giao diện màn hình và lưu trữ chúng vào thư mục
%System%\Capture.bmp.
Nếu phân tích tỉ mỉ quá trình khai thác lỗ hổng ở trên, chúng ta có thể chia
thành nhiều bước hơn nữa.

Trong đó bước đầu tiên là phác thảo hay tạo ra một văn bản Word độc hại.

Cấu trúc OLE Structured Storage không có khả năng kiểm chứng nội dung
thành phần lưu trữ và cho phép thực thi như các Trojan. Vì thế phải tạo ra
văn bản Word độc hại với nguỵ trang bên ngoài như một với vỏ bọc vô tội.

Bước thứ hai là dẫn dụ nạn nhân mở văn bản Word độc hại qua một e-mail
đính kèm hay download nó từ một trang web.

Bước thứ ba là sử dụng con trỏ đối tượng dị hình, cho phép thành phần lưu
trữ độc hại thực thi ngay sau khi văn bản word được mở. Qúa trình tấn công
đạt được kết quả bước đầu, Trojan bắt đầu tham gia hành động.

Bước thứ tư là giúp Trojan “nhúng” cài đặt một backdoor, để giúp người tấn
công ở xa thực thi chương trình nào đó trên máy của nạn nhân và cuối cùng
là phá huỷ nó.

3.1 Các chương trình Dropper:

Dropper là chương trình được thiết kế hay chỉnh sửa để “cài đặt” malware
độc lập (như Trojan, worm hay backdoor) lên hệ thống đích. Mã malware
thường nằm trong một dropper theo kiểu các chương trình quét virus không
thể tìm ra được.

Một Trojan dropper điển hình giải nén tất cả các file của nó thành thư mục và
thực thi đồng thời toàn bộ các file đó. Các chương trình dropper ít khi bị
chương trình diệt virus hay chương trình rà soát lỗ hổng bắt được. Đó là do:
1. Bản thân các chương trình dropper không độc hại mà chỉ chứa mã
nguồn thả nội dung độc hại vào hệ thống của nạn nhân.
2. Trong nhiều trường hợp, Trojan dropper chứa các file multimedia
không độc hại để giấu các hoạt động độc hại bên trong.
3. Đôi khi chương trình dropper ghi đè mã nguồn lên văn bản MS Office

độc hại bằng một bản sao “sạch sẽ” của chính văn bản đó. Và cách thức
này không để lại một dấu vết nào.
4. Nhiều trường hợp, Trojan dropper giải nén các chương trình trực tiếp
trên bộ nhớ và kích hoạt chúng hoạt động ngay tại đó, làm cho phần
mềm diệt virus không thể tìm ra được malware được thả vào.
Một vài lỗ hổng dễ bị khai thác khác của MS Office do có bộ lọc dữ liệu đầu
vào không thích hợp; dung lượng xâu ngữ pháp của các hàm OLE Structured
Storage không tương thích; tính hợp lệ của biến thành phần stream không
hợp lý (vì tràn bộ nhớ đệm chẳng hạn); ngắt bộ nhớ; việc trả lại các tập hợp
OLE Property Set bị lỗi…

Thảo luận chi tiết từng lỗ hổng nằm ngoài phạm vi của bài báo này, chúng ta
chỉ có thể đưa ra được một số nhận xét về chúng. Hầu hết đều đòi hỏi đánh
giá mức độ tự nhiên của văn bản MS Office trước khi nó được mở. Điều này
ngày càng khó khăn khi mà các phần mềm diệt virus vẫn luôn bị lừa bởi các
tác nhân khai thác kiểu như chương trình dropper. Hiện chỉ có một giải pháp
duy nhất là tự điều chỉnh lại cơ chế hoạt động của OLE Structured Storage.

Trong khi nhiều lỗ hổng được địa chỉ hoá trong Microsoft Security Bulletins
thì nhiều lỗ hổng lại được khai thác nhanh chóng với các giải pháp khác
nhau.

4. Các giải pháp bổ sung:

Gần như tất cả các giải pháp cho vấn đề này đều bắt đầu với việc cảnh báo
người dùng tránh các file đính kèm không chắc chắn từ cả những người quen
biết và không quen biết. Một số giải pháp sau của Microsoft cung cấp thêm
cho các bạn cách xử lý với các lỗ hổng văn phòng trong bộ Office, nhưng tất
nhiên thật khó để đạt tới mức hoàn hảo:


a. Mở MS Office, vào mục ‘Safe Mode’. Khởi động các ứng dụng Office
(như Word, Excel, PowerPoint) trong “safe mode” bằng cách ấn giữ phím
control khi khởi động. Các bạn sẽ được hỏi có muốn khởi động với mô hình
an toàn không và “safe mode” xuất hiện trên thanh tiêu đề. Nếu một người
nào đó nhận được văn bản Ofice qua e-mail, anh ta hoàn toàn phải mở, đọc,
ghi nó vào ổ cứng trong chương trình safe mode. Điều đó đảm bảo an toàn
hơn là kích đúp vào file đính kèm trong chương trình e-mail.

b. Block MS-TNEF (Transport Neutral Encapsulation Format) để giúp người
dùng chống lại những cố gắng khai thác lỗ hổng qua e-mail SMTP. Các hệ
thống có thể được cấu hình để block các kiểu file nào đó gửi qua e-mail.
Microsoft TNEF mã hoá e-mail chủ yếu dưới dạng Rich Text Format, tuy
nhiên nó có thể chứa các đối tượng OLE độc hại. Các e-mail này bao gồm
các file đính kèm với tên: Winmail.dat,lưu trữ thông tin TNEF. Block các file
này và blog chương trình ứng dụng ms-tnf kiểu MIME có thể giúp bảo vệ cả
các dịch vụ Exchanger Server và các chương trình khác.

Như chúng ta đã biết, cấu trúc MS Office rất thân thiện với người dùng và
cung cấp các tuỳ chọn sao lưu, phục hồi khá tốt. Nó cũng cung cấp khả năng
“thông minh”, xem xét các văn bản theo nhóm và chèn, hoặc nhúng các đối
tượng thuộc nhóm thứ ba vào ứng dụng MS Office.

5. Kết luận phần một:

Trong phần đầu của loạt hai bài này, chúng ta đã đảo qua một số vấn đề bảo
mật trong các ứng dụng Microsoft Office. Các lỗ hổng gần đây và sự khai
thác chúng liền sau đó mang lại nhiều thú vị mới trong công tác bảo mật tài
liệu văn phòng ở các công ty, văn phòng chính phủ hay tại nhà bạn.

6. Tổng quan về phần hai:


Phần hai sẽ giúp các điều tra viên với cụm từ “phân tích” trong các vụ điều
tra pháp luật. Có một số thành phần hay chức năng có thể hỗ trợ các hoạt
động liên quan đến pháp luật. Vấn đề này sẽ được thảo luận chi tiết trong
phần hai. Chúng ta sẽ bắt đầu với các thành phần thay đổi dấu vết phổ biến có
thể giấu các markup trong MS Office 2003 và 2002; cũng như cung cấp
script để giúp xoá số lượng lớn các comment bên trong một văn bản. Sau đó
là các vấn đề có thể xảy ra khi một tài liệu được gửi qua e-mail của bộ Office
với Exchange.

Chúng ta cũng sẽ thảo luận vấn đề phục hồi siêu dữ liệu không thấy được
trong các ứng dụng Office; thành phần “SummaryInformation” của Microsoft
và nhiều thành phần khácvới tác dụng xoá dữ liệu cá nhân trong một văn bản.

×