Danh mục

Phân tích các tấn công chiếm quyền điều khiển DLL

Số trang: 6      Loại file: pdf      Dung lượng: 0.00 B      Lượt xem: 11      Lượt tải: 0    
Jamona

Hỗ trợ phí lưu trữ khi tải xuống: 5,000 VND Tải xuống file đầy đủ (6 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Phân tích các tấn công chiếm quyền điều khiển DLL Trong bài này chúng tôi sẽ giới thiệu cho các bạn các lỗi trong kiến trúc phần mềm có thể bị tấn công chiếm quyền điều khiển DLL,
Nội dung trích xuất từ tài liệu:
Phân tích các tấn công chiếm quyền điều khiển DLL Phân tích các tấn công chiếm quyền điều khiển DLLTrong bài này chúng tôi sẽ giới thiệu cho các bạn các lỗi trong kiếntrúc phần mềm có thể bị tấn công chiếm quyền điều khiển DLL, cáchphát hiện các ứng dụng có lỗ hổng hay không và cuối cùng là cácbước thực hiện để bảo đảm tránh được các tấn công kiểu này.Cho đến cuối tháng 8 năm 2010, các nhà nghiên cứu bảo mật đã tiết lộcác thông tin chi tiết về một lớp lỗ hổng bảo mật mà theo họ đã có một sốảnh hưởng khá rộng. Họ đ ã phát hiện ra hàng trăm ứng dụng bị hổngtrước các tấn công này và tấn công này được đặt tên là chiếm quyền điềukhiển DLL (DLL Hijacking). Trong bài này chúng tôi sẽ giới thiệu cho cábạn một số lỗi về kiến trúc phần mềm có thể bị ảnh hưởng bởi các tấncông này, thêm vào đó là cách cách phát hiện các ứng dụng có lỗ hổnghay không và cuối cùng là các bước thực hiện để bảo đảm tránh được cáctấn công kiểu này.Cách tấn côngDLL hijacking có thể được thực hiện là vì tất cả các ứng dụng Windowsđều dựa vào các thư viện liên kết động (viết tắt DLL) với tư cách lànhững phần trong chức năng lõi của chúng. Các file DLL đ ược cácchuyên gia phát triển phần mềm viết và triệu gọi bên trong các ứng dụngcủa họ nhằm thực hiện các chức năng khác nhau. Bản thân Windowscũng dựa trên kiểu kiến trúc như vậy và có chứa vô số file DLL để thựchiện rất nhiều chức năng khác nhau. Hack Internet OS và bảo mật - Tập 1 Tác giả: Vũ Đình Cường (Chủ biên), Phương Lan (Hiệu đính) Giá bán: 49.000 VNĐCùng với các file DLL có trong hệ điều hành Windows, các chuyên giaphát triển ứng dụng cũng thường viết riêng các file DLL của họ để thựchiện một số chức bởi chương trình. Khi viết xong, các file DLL sẽ đượcđóng gói và được cài đặt cùng với ứng dụng. Vấn đề nảy sinh theo cáchcác ứng dụng load các file DLL này. Mặc định, khi một ứng dụng khôngcó đường dẫn được định nghĩa cố định để chỉ đến một file DLL nào đómà nó yêu cầu thì ứng dụng này sẽ thực hiện hành động tìm kiếm động.Trong quá trình thực hiện tìm kiếm, đầu tiên ứng dụng sẽ tìm kiếm trongthư mục mà trước đó nó được thực thi, sau đó sẽ tìm kiếm thư mục hệthống, thư m ục hệ thống 16-bit, thư mục Windows, thư mục hiện hành vàsau đó là các thư mục được liệt trong biến môi trường PATH của hệ điềuhành. Trong tìm kiếm các đường dẫn này, ứng dụng sẽ sử dụng DLL mànó tìm thấy đầu tiên.Với các kiến thức cơ bản trên, hãy hình dung một kịch bản mà ở đóchúng ta đã thực thi một ứng dụng phải thực hiện tìm kiếm động mộtDLL. Ứng dụng sẽ ngay lập tức tìm kiếm đường dẫn mà nó được thực thitrước đó và tìm ra một dll trùng khớp. Tuy nhiên với người dùng, DLLthực có liên quan với ứng dụng nằm trong thư mục Windows system.DLL được đặt trong thư mục với ứng d ụng là DLL đ ã đ ược điều chỉnhbởi một kẻ tấn công nhằm truy cập từ xa vào hệ thống. Rõ ràng, ứng dụngsẽ không thể tìm ra được DLL thực vì nó đã tìm thấy DLL trùng khớp mànó cần tìm.Nhận dạng các ứng dụng có lỗ hổngVấn đề lớn nhất với các tấn công DLL hijacking là Microsoft không thểphát hành bản vá để có thể vá được tất cả các ứng dụng có lỗ hổng. Điềunày là vì nếu tung ra một bản vá như vậy sẽ làm cho một số ứng dụng bịvô hiệu hóa. Chính vì vậy việc khắc phục vấn đề sẽ liên quan đến cả haibên. Đầu tiên, các công ty và chuyên gia phát triển phần mềm, người đãtạo các ứng dụng có lỗ hổng phải sửa code của họ và cung cấp các bảncập nhật đến người dùng. Tiếp đến, người dùng (các quản trị viên hệthống) phải xác định xem liệu mạng của họ có đang sử dụng các ứngdụng có lỗ hổng hay không, tìm ra và cài đặt các bản vá được các hãngcung cấp.Có một số cách có thể phát hiện liệu bạn có đang sử dụng ứng dụng có lỗhổng hay không. Phương pháp đơn giản nhất là kiểm tra các tài nguyêncông cộng được post bởi các nhà nghiên cứu bảo mật và xem ứng dụngcủa bạn có tồn tại ở đó hay không. Bạn có thể tìm kiếm các tài nguyênnhư vậy ở đây. H ình 1: Danh sách các ứng dụng có lỗ hổngPhương pháp thứ hai yêu cầu thêm một số công việc vì những gì cầnđược thực hiện sẽ xảy ra trong các môi trường bảo mật cao. Rất có thểbạn sẽ nghĩ phương pháp này đòi hỏi phải có hiểu biết kỹ thuật và chỉdành cho các chuyên gia bảo mật mức cao. Tuy nhiên không phải nhưvậy, chuyên gia bảo mật HD Moore đ ã biết tầm quan trọng của tấn côngnày và đã phát triển một bộ kit thẩm định (auditing kit), đây là bộ kit cóthể đ ược sử dụng để tìm kiếm các ứng dụng có lỗ hổng trong một hệthống nào đó.Bộ kit này có tên gọi D llHijackAuditKitv2 và được cung cấp tại đây. Khidownload xong, bạn cần đăng nhập với tư cách quản trị viên hệ thống,bung các nội dung của file nén ZIP và thực thi file 01_StartAudit.bat.Kịch bản này sẽ download Sysinternals Process Monitor và bắt đầu thựchiện việc kiểm tra hệ thống để tìm ra các ứng dụng có lỗ hổng. Trong quátrình chạy nếu việc download Process Monitor thất bại thì b ạn có thểdownload nó trực tiếp từ đây. Khi đã do ...

Tài liệu được xem nhiều: