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
Trang 1Các lỗ hổng của bộ Microsoft Office
Trang 2Cá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
Trang 3xỉ 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 –
Trang 4từ 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
Trang 5Mỗ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
Trang 6tươ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
Trang 7Hì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
Trang 8storage 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:
Trang 9Hì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
Trang 10lại giao diện màn hình và lưu trữ chúng vào thư mục
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
Trang 11cô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
Trang 123 Đô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
Trang 13Trong 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
Trang 14hơ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
Trang 15mậ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