EMET – Bộ công cụ hạn chế khai thác lỗ hổng phần mềm

418

Giới thiệu về EMET
Ngày nay, các lỗ hổng phần mềm đang ngày càng trở nên phổ biến và được nghiên cứu rộng rãi. Mỗi sản phầm ra đời đều phải trải qua quy trình kiểm soát nghiêm ngặt của đội ngũ an ninh ứng dụng, sau đó người dùng cũng thường xuyên phải cập nhật các bản vá bảo mật.
Đồng thời, xu hướng các cuộc tấn công hiện nay trên thế giới lại chuyển sang phát tán malware, đánh cắp thông tin định danh cá nhân cũng như thông tin kinh tế, phương tiện sử dụng là các lỗ hổng 0day hoặc khi nhà sản xuất chưa đưa ra bản update, bản vá mới nhất.
EMET (Enhanced Mitigation Experience Toolkit) là một công cụ của Microsoft giúp ngăn chặn hiệu quả việc khai thác thành công các lỗ hổng trong phần mềm, từ đó ngăn chặn việc xâm nhập vào hệ thống.
Khi sử dụng EMET, hệ thống sẽ trở nên an toàn hơn thông qua công nghệ giảm thiểu rủi ro bảo mật (security mitigation technologies) và dựng nên các rào cản gây khó khăn cho kẻ tấn công có thể khai thác thành công lỗ hổng ứng dụng.
Mặc dù, các kỹ thuật giảm thiểu mô phỏng có thể chưa đủ mạnh để ngăn chặn các kỹ thuật exploit mới trong tương lai nhưng hoàn toàn có thể ngăn chặn hệ thống bị xâm nhập bởi rất nhiều các exploit hiện có. Trong thiết kế của bộ toolkit, có thể dễ dàng mở rộng, cập nhật khi hacker sử dụng các kỹ thuật khai thác mới.
Các biện pháp giảm thiểu rủi ro an ninh (Mitigation)
EMET hỗ trợ nhiều biện pháp giảm thiểu rủi ro, bao gồm:
–    Structured Exception Handler Overwrite Protection (SEHOP)
–    Data Excecution Prevention (DEP)
–    Heapspray Allocations
–    Null Page Allocation
–    Mandatory Address Space Layout Randomization (ASLR)
–    Export Address Table Access Filtering (EAF)
–    Bottom-up randomization
–    ROP mitigations
Ngoài các biện pháp ngăn chặn các rủi ro thường gặp trên hệ điều hành Windows, phiên bản EMET 4.0 Beta có thêm nhiều biện pháp phụ trợ, chủ yếu liên quan đến hạn chế khai thác ROP.
–    Deep hooks: Bảo vệ các APIs quan trọng và các API cấp thấp hơn sử dụng bởi các API quan trọng cấp trên.Ví dụ, thay vì chỉ bảo vệ kernel32!VirtualAlloc, EMET sẽ hook cả các hàm cấp thấp hơn như kernelbase VirtualAlloc và ntdll.NtAllocateVirtualMemory.
–    Anti Detours: Một vài kỹ thuật exploit tìm cách bypass hook bằng cách sao chép hàm mở đầu và sau đó nhảy qua thực thi tiếp theo hàm mào đầu. Tùy chọn “Anti Detours” sẽ vô hiệu hóa các shellcode sử dụng kỹ thuật này.
–    Banned functions: Khi bật lựa chọn này, một danh sách các API bổ sung sẽ bị khóa.
Thiết lập cấu hình hoạt động cho EMET
EMET cho phép thiết lập các chính sách giảm thiểu rủi ro an ninh, bảo vệ hệ thống  và các ứng dụng ở cả mức toàn bộ hệ thống hoặc mức từng ứng dụng thực thi.
Khi thiết lập chính sách mặc định toàn hệ thống, với mỗi chính sách có thể lựa chọn:
–    Always on (áp đặt chính sách cho mọi ứng dụng)
–    Application Opt In (áp dụng chính sách cho tất cả các ứng dụng được biên dịch tương thích)
–    Application Opt Out (áp đặt chính sách cho tất cả các ứng dụng trừ ứng dụng được biên dịch không tương thích)
–    Disabled (không sử dụng chính sách này cho toàn bộ các ứng dụng).
EMET cũng cung cấp các profile mặc định, chứa thông tin thiết lập chính sách cho các ứng dụng của Microsoft và cả các ứng dụng third-party, ở định dạng XML.
Các profile mặc định gồm có:
–    Internet Explorer.xml: chứa các mitigations cho các phiên bản Microsoft Internet Explorer
–    Recommend Software.xml: chứa các mitigations cho các phiên bản Microsoft Internet Explorer, bộ ứng dụng Microsoft Office, Adobe Acrobat 8-11, Adobe Reader 8-11 và Oracle Java 6,7
–    Popular Software.xml: chứa các mitigations cho các ứng dụng phổ biến, bao gồm Microsoft Internet Explorer và bộ Microsoft Office.. Đây là Profile sử dụng mặc định sau khi cài đặt xong EMET
Thiết lập cấu hình mức toàn hệ thống
Chọn mục Configure System trên giao diện đồ họa:

EMET1Hình 1: Cửa sổ hoạt động chính của EMET

Thiết lập cấu hình riêng cho từng ứng dụng

Có thể click chọn các biện pháp mitigation mong muốn cho từng ứng dụng. Cũng có thể thêm hoặc bớt ứng dụng (được bảo vệ bởi EMET) thông qua nút Add hoặc Remove tương ứng, sau đó chọn đường dẫn đúng đến file thực thi của ứng dụng.

EMET2Hình 2: Cấu hình chính sách từng ứng dụng (Application Configuration)

Cũng có thể kích hoạt đồng thời tất cả các biện pháp mitigation cho một ứng dụng hoặc kích hoạt từng biện pháp mitigation cho toàn bộ các ứng dụng trong danh sách
EMET3

EMET4Hình 3: Cấu hình chính sách ứng dụng nhanh

Sau khi chọn xong, xác nhận lại bằng cách nhấn Ok và khởi động lại ứng dụng vừa thêm/bớt/cấu hình lại.

Theo dõi hoạt động của EMET

Thành phần EMET Agent trong phiên bản 4.0 Beta mặc định khởi động cùng Windows, hiển thị trên thanh taskbar.
EMET Agent giúp:
–    Hiển thị các sự kiện quan trọng qua hộp thoại hiển thị ngay ở taskbar: khi EMET phát hiện và ngừng một ứng dụng, hộp thoại sẽ hiển thị thông báo cho người dùng

EMET5Hình 4: Hộp thoại cảnh báo phát hiện HeapSpray Attack

–   Ghi sự kiện vào Windows Event Log, cụ thể là Application Log, với Event Source là EMET.

EMET6Hình 5: Hộp thoại Event Log của EMET

Kết luận
EMET là công cụ khá tốt, miễn phí và được khuyến khích sử dụng bởi Microsoft trong khi chờ bản update, patch cho các lỗ hổng mà Microsoft thông báo.
EMET có thể sử dụng như một công cụ hạn chế tạm thời trước khi có bản vá chính thức của Microsoft đối với các lỗ hổng mới.
EMET tương thích khá tốt với các phần mềm của Microsoft và một số phần mềm thông dụng của các hãng thứ ba, tuy nhiên để sử dụng trong môi trường đòi hỏi độ tin cậy cao, cần phải trải qua quá trình thử nghiệm theo dõi hoạt động từ đó chọn lựa cấu hình hệ thống và cấu hình ứng dụng