Xã hội hiện nay đang ngày càng phát triển cùng với sự vươn lên mạnh mẽ của ngành Công nghệ thông tin. Mặc dù các nước phát triển đã đầu tư, nghiên cứu các thiết bị đầu cuối của PC nhưng vẫn không thể thay thế được các việc liên quan đến hệ điều hành của Windows trong cuộc sống . Trong vài thập kỷ qua, có rất nhiều nghiên cứu bảo mật trên nền tảng Windows để tăng cường bảo mật và bảo vệ dữ liệu nhạy cảm, bao gồm phân tích phần mềm độc hạ và khai thác lỗ hổng bảo mật tối đa. Từ góc độ phát triển HĐH Windows, Bảo vệ Thực thi Dữ liệu (DEP) và Ngẫu nhiên Bố cục Không gian Địa chỉ (ASLR) được giới thiệu trên Windows XP SP2 để ngăn chặn việc khai thác tràn bộ đệm. Sau đó, Windows 7 hạn chế quyền của chương trình theo các cơ chế như Kiểm soát tài khoản người dùng (UAC), chế độ được bảo vệ, cách ly phiên 0 và BitLocker. Thiết bị bảo vệ và AppContainer khác được tích hợp với Windows 10 cung cấp khả năng bảo vệ tốt hơn. Thực tiễn cho thấy khó khăn trong việc thỏa hiệp HĐH Windows đang tăng lên. Trong khi đó, Microsoft đã đưa ra chương trình tiền thưởng, có thể thúc đẩy các nhà nghiên cứu khám phá các phương pháp đảm bảo an toàn mới. Biện pháp này có thể giúp ngăn chặn các cuộc tấn công thực sự xảy ra.Trong bài báo cáo này, chúng em mô tả và phân tích mô hình và PMCAP sau đó đưa ra một triển khai chi tiết lấy bốn trình duyệt web phổ biến IE, Edge, Chrome và Firefox làm ví dụ. Cuối cùng, mô hình được xác minh thông qua các thí nghiệm thực tế và nghiên cứu trường hợp.
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ BÀI TẬP LỚN Mơ hình nguy hiểm với nhớ HĐH Windows Học phần: Mã độc Giáo viên hướng dẫn: Đặng Xuân Bảo Nhóm sinh viên thực hiện: Nhóm 10 – L01 Trần Minh Đức Hà Nội, tháng1 11 năm 2019 MỤC LỤC MỤC LỤC DANH SÁCH CÁC KÝ HIỆU TỪ VIẾT TẮT DANH SÁCH CÁC BẢNG DANH SÁCH CÁC HÌNH VẼ LỜI MỞ ĐẦU Chương I: Tổng quan mô hình nguy hiểm với nhớ HĐH Window 1.1 Nguyên nhân 1.2 Mối de dọa tảng Windows Chương II: Sự tương quan 10 2.1 Kỹ thuật công dễ bị tổn thương 10 2.2 Bộ nhớ pháp y 10 2.3 Quy trình bảo vệ liệu 10 Chương III: Tổng quan mơ hình 12 3.1 Giả thuyết 12 3.2 Mô tả mô hình 13 3.2.1 Định nghĩa (nạn nhân) 13 3.2.2 Định nghĩa (kẻ công) 13 3.2.3 Định nghĩa (PMCAP) 14 3.2.4 Định nghĩa (MTV) 14 Chương IV: Thực 20 4.1 Thu thập nhớ xử lý 20 4.2 Khai thác liệu 22 4.2.1 Định nghĩa ( điểm neo) 27 4.2.2 Định nghĩa ( điểm đích) 27 Chương V: Đánh giá 31 5.1 Thời gian tồn đối tượng mục tiêu 31 5.2 Tìm kiếm Vtable 32 5.3 Tìm kiếm biến toàn cục 33 5.4 Tìm kiếm khơng gian ngăn xếp 34 5.5 Nghiên cứu điển hình 36 Chương VI: Kết luận 40 TÀI LIỆU THAM KHẢO 41 DANH SÁCH CÁC KÝ HIỆU TỪ VIẾT TẮT PMCAP DEP ASLR UAC COOP CFI SGX MITM MTV MIC ACE PID Process Memory Captor Data Execution Protection Address Space Layout Randomization User Account Control Object-Oriented Programming Control Flow Integrity Software Guard Extensions Man in The Middle Model Threat Value Mandatory Integrity Control Access Control Entry Process Identify DANH SÁCH CÁC BẢNG Bảng 5.1 Kết tìm kiếm dựa vtable tính điều kiện khác 33 Bảng 5.2 Các trường thu từ cấu trúc đối tượng HTTP 36 Bảng 5.3 Các trường thu từ cấu trúc đối tượng HTTP 38 DANH SÁCH CÁC HÌNH VẼ Hình 3.1: Kịch cơng điển hình 12 Hình 3.2: Cái nhìn trực quan mơ hình PMCAP 15 Hình 3.3: Truy cập vào quy trình so với đối tượng Trung bình Thấp quy trình cấp toàn vẹn 17 Hình 4.1: Khả tiến trình IE mức tồn vẹn thấp 20 Hình 4.2: Khả trình Edge mức toàn vẹn AppContainer 21 Hình 4.3: Khả quy trình Chrome 22 Hình 4.4: Ví dụ nhớ tiến trình x64 23 Hình 4.5: Khả quy trình Chrome Mối quan hệ đối tượng mục tiêu biến toàn cục 25 Hình 4.6: Đoạn mã từ Chrome.dll 26 Hình 4.7: Ví dụ cho điểm neo điểm đích stack 27 Hình 4.8: Kiểm tra địa đối tượng stack ước tính thời gian 28 Hình 4.9: Thuật tốn – Thuật tốn tìm kiếm ngăn xếp chủ đề cho PMCAP 29 Hình 5.1: Thời gian sống đối tượng môi trường khác 31 điều kiện khác 33 Hình 5.2: Kết dựa tìm kiếm biến tồn cầu 34 Hình 5.3: Kết dựa tìm kiếm ngăn xếp 35 Hình 5.4: Một ví dụ khung stack cho Edge 64 bit chạy 36 Hình 5.5: Bố trí ngăn xếp bước vào amd64_CallFunction 37 Hình 5.6: Nhật ký theo dõi chuỗi phần thủ tục đăng nhập iCloud 39 LỜI MỞ ĐẦU Xã hội ngày phát triển với vươn lên mạnh mẽ ngành Công nghệ thông tin Mặc dù nước phát triển đầu tư, nghiên cứu thiết bị đầu cuối PC thay việc liên quan đến hệ điều hành Windows sống Trong vài thập kỷ qua, có nhiều nghiên cứu bảo mật tảng Windows để tăng cường bảo mật bảo vệ liệu nhạy cảm, bao gồm phân tích phần mềm độc hạ khai thác lỗ hổng bảo mật tối đa Từ góc độ phát triển HĐH Windows, Bảo vệ Thực thi Dữ liệu (DEP) Ngẫu nhiên Bố cục Không gian Địa (ASLR) giới thiệu Windows XP SP2 để ngăn chặn việc khai thác tràn đệm Sau đó, Windows hạn chế quyền chương trình theo chế Kiểm soát tài khoản người dùng (UAC), chế độ bảo vệ, cách ly phiên BitLocker Thiết bị bảo vệ AppContainer khác tích hợp với Windows 10 cung cấp khả bảo vệ tốt Thực tiễn cho thấy khó khăn việc thỏa hiệp HĐH Windows tăng lên Trong đó, Microsoft đưa chương trình tiền thưởng, thúc đẩy nhà nghiên cứu khám phá phương pháp đảm bảo an tồn Biện pháp giúp ngăn chặn công thực xảy Trong báo cáo này, chúng em mô tả phân tích mơ hình PMCAP sau đưa triển khai chi tiết lấy bốn trình duyệt web phổ biến IE, Edge, Chrome Firefox làm ví dụ Cuối cùng, mơ hình xác minh thơng qua thí nghiệm thực tế nghiên cứu trường hợp Chương I: Tổng quan mơ hình nguy hiểm với nhớ HĐH Window Hiện tại, Windows trang bị nhiều thành phần bảo mật sách, ứng dụng chạy tảng phải đối mặt với thách thức bảo mật q trình sử dụng 1.1 Ngun nhân • Windows hệ sinh thái mở, cho phép người dùng cài đặt thực chương trình bên thứ ba Nó khơng xác nhận nguồn gốc chương trình cách nghiêm ngặt ngăn chặn điều chưa biết cài đặt, đưa số cảnh báo bảo mật UAC Hầu hết sách bảo mật không triển khai theo mặc định phải ln cấu hình chun gia Những kẻ công làm việc với PowerShell để tạo mối đe dọa riêng chúng có trình bảo vệ Tất điều cho thấy khả xâm nhập phần mềm độc hại cịn tồn • So với “hộp cát” ứng dụng tảng di động chế kiểm soát truy cập Windows Một số tài ngun khơng bảo vệ hiệu quả; chương trình có quyền tạo khả đe dọa tiềm ẩn Ví dụ, quy trình mức tồn vẹn truy cập lẫn nhau; ứng dụng đọc hầu hết thư mục tập tin đĩa Một quy trình đặc quyền sửa đổi cấu hình bảo mật hệ thống, thêm chứng gốc đáng tin cậy thay đổi cài đặt đăng ký, v.v 1.2 Mối de dọa tảng Windows Từ tình hình bảo mật mô tả trên, viết mơ hình mối đe dọa PMCAP tảng Windows Mơ hình nhắm mục tiêu q trình biến động liệu nhớ thời gian thực, đặc biệt liệu liên quan đến mạng Dựa công vào hệ thống điểm cuối, tương tự cơng khơng có mã tối thiểu; trước tiên, mơ hình tận dụng khơng hồn hảo kiểm sốt truy cập chế bảo vệ liệu, sau trích xuất liệu riêng tư từ nhớ • Đầu tiên, viết mơ hình đe dọa liệu nhớ xử lý thời gian thực hệ điều hành Windows Mơ hình đe dọa trình duyệt web chương trình khác xây dựng kỹ thuật công đa dạng Bài viết xem xét ảnh hưởng yếu tố mạng đến liệu nhớ liên quan đến mạng • Thứ hai, đề xuất phương pháp trích xuất liệu nhớ dựa không gian ngăn xếp luồng trích xuất liệu quan trọng cách hiệu từ không gian địa lớn • Thứ ba, phân tích cấu trúc liệu liên quan đến truyền thơng trình duyệt web phổ biến, lấy làm ví dụ mơ tả việc triển khai mơ hình • Cuối cùng, đánh giá việc thực ví dụ thảo luận lợi ích hạn chế mơ hình Chương II: Sự tương quan 2.1 Kỹ thuật công dễ bị tổn thương Nhiều kỹ thuật khai thác lỗ hổng tiên tiến công tái sử dụng mã đề xuất để bỏ qua bảo vệ Một kỹ thuật gọi lập trình hướng liệu (DOP), không phụ thuộc vào việc kiểm soát liệu để chiếm quyền điều khiển luồng sử dụng liệu khơng kiểm sốt để xây dựng cơng hồn chỉnh Turing Phân tích lập Chrome, sau kẻ cơng truy cập hệ thống cục với trợ giúp dịch vụ đám mây Sử dụng khai thác để thực tải trọng công hệ thống đích bước mơ hình; kỹ thuật cơng có áp dụng Windows trang bị nhiều chế bảo mật có số cách tiếp cận bỏ qua, bao gồm số kỹ thuật thực thi mạnh mẽ Mặc dù kỹ thuật công có phụ thuộc thực hiện, cho thấy ln có mối đe dọa tiềm tàng công chưa biết 2.2 Bộ nhớ pháp y Các nghiên cứu pháp y nhớ chủ yếu chứa thu thập nhớ, phân tích nhớ phục hồi cấu trúc liệu Cụ thể hơn, trước tiên, sử dụng thẻ phần cứng, ảo hóa ứng dụng cấp độ khác bao gồm cấp độ người dùng cấp độ nhân Nó hoạt động theo cách không xâm phạm sử dụng cách tiếp cận mạnh mẽ để tìm bí mật TLS cách giải mã xác minh ghi TLS vòng lặp DSCRLEX kỹ thuật kỹ thuật đảo ngược tự động tuyệt vời để khôi phục nhiều loại liệu ứng dụng, sử dụng lại logic ứng dụng từ chương trình nhị phân Mơ hình nhằm mục đích lấy liệu nhớ biến động trực tiếp cố gắng thu thập phân tích liệu liên tục thời gian thực Đó thách thức để giải vấn đề định vị trích xuất liệu phù du Tải trọng cơng mơ hình chạy chế độ người dùng hệ thống đích Nó có số hạn chế vấn đề không xâm phạm, chẳng hạn lịch trình chủ đề Một số kỹ thuật đề cập trên, nhận dạng cấu trúc liệu tự động, cung cấp hỗ trợ cho mơ hình Mặt khác, số kỹ thuật đề cập mơ hình hữu ích cho việc trích xuất nhớ dựa ảo hóa phần cứng 2.3 Quy trình bảo vệ liệu Có số cơng trình nghiên cứu để bảo vệ liệu q trình bao gồm mã hóa cách ly Kỹ thuật thực tế Phần mở rộng bảo vệ phần mềm Intel (SGX), Windows 10 hỗ trợ Nó cung cấp chế “hộp cát” cô lập phần mềm độc hại tảng bao gồm rootkit Mặc dù biện pháp 10 Chúng ta cần tập trung vào tượng đối số truyền chương trình 32bit 64 bit khác Chủ yếu chương trình 32 bit sử dụng stack để truyền đối số Ngay sử dụng gọi nhanh, vượt qua hai đối số ecx edx Do có nhiều thơng tin địa stack Chương trình 64 bit sử dụng ghi rcx, rdx, r8, r9 để vượt qua bốn đối số đầu tiên; điều làm giảm số lượng địa xuất stack Chúng ta đề xuất sử dụng Thuật toán tìm kiếm ngăn xếp luồng (Thread Stack Search Algorithm) cho PMCAP Đầu tiên đưa hai định nghĩa để mơ tả thuật tốn: 4.2.1 Định nghĩa ( điểm neo) Đây vị trí địa mã xuất stack Giá trị địa ổn định theo thời gian tiến trình bị ảnh hưởng ASLR phiên chương trình, ví dụ: địa trỏ hàm địa trả 4.2.2 Định nghĩa ( điểm đích) Đây vị trí mà địa xuất stack, thơng qua địa trực tiếp gián tiếp lấy thông tin đối tượng mục tiêu Khoảng cách xác định phần bù điểm neo điểm đích stack Sau có thơng tin cấu trúc đối tượng mục tiêu dựa điểm neo Đây sơ đồ đơn giản để chọn địa trả làm điểm neo, sau có nhiều điểm neo lúc Khi giá trị liên kết với điểm đích cố định, trích xuất điểm đích trước từ chương trình nhị phân tính khoảng cách chúng Hình 4.7: Ví dụ cho điểm neo điểm đích stack 27 Thiết kế theo phương thức sau: Đầu tiên, áp dụng phương pháp theo dõi đơn giản đường dẫn thực chương trình liên quan đến đối tượng đích Có số cơng cụ sử dụng : IDA Pro plugin Đối với cấu trúc đối tượng, chọn giá trị ghi ecx rcx làm nguồn mờ cần theo dõi lan truyền giá trị theo hướng dẫn : mov, lea, pop/push,…Chúng ta không xem xét tác động cách nhân, chia,… ghi Phương pháp đánh giá giá trị stack, số giá trị tồn thời gian ngắn Một phương pháp khác dựa phân tích nhị phân Chúng ta debug sử dụng chương trình nhị phân đích cách sử dụng trình debug cơng cụ theo dõi chèn thêm mã trước sau lệnh gọi Như hình 4.8, trước lệnh gọi, mã kiểm tra xem có giá trị địa đối tượng khung stack không Khi lệnh gọi trả về, mã đếm hướng dẫn đoạn mã sau ước tính thời gian thực Sau đó, lấy điểm neo làm cho địa đối tượng ngăn xếp thời gian dài Trong trường hợp này, giá trị liên kết với điểm neo địa lần lượt, trước giá trị bật khung stack ổn định suốt thời gian thực thi mã Mã tìm kiếm có giá trị địa đối tượng mục tiêu khoảng thời gian ngắn Một trường hợp lý tưởng có số mã nhận liệu, độ trễ giúp mở rộng thời gian Hình 4.8: Kiểm tra địa đối tượng stack ước tính thời gian Khi điểm đích, điểm neo khoảng cách chúng xác định, sử dụng thuật toán để lấy giá trị địa đối tượng nhớ tiến trình runtime sau trích xuất liệu vùng mở rộng Đầu tiên, thuật toán lấy phạm vi địa ngăn xếp luồng chứa cấu trúc TEB luồng Có thể dễ dàng tìm thấy PEB tất cấu trúc TEB nhớ tiến 28 trình kênh bên sau chọn TEB đích tính ngắn xếp luồng Tính stack luồng có liên quan đến đối tượng đích, địa chức chủ đề thường sử dụng Điều có nghĩa luồng xử lý liệu đối tượng đích Sau đó, mã liên tục tìm kiếm stack vịng lặp; số địa khớp với giá trị điểm neo, địa đối tượng đích lấy vị trí dạng bù tương điểm neo Hình 4.9: Thuật tốn – Thuật tốn tìm kiếm ngăn xếp chủ đề cho PMCAP Vì mơ hình có nhớ tiến trình bên hệ điều hành, sử dụng lệnh gọi hệ thống để lấy địa cấu trúc TEB 29 Chúng ta chọn nhiều điểm neo để giảm tỷ lệ báo động sai Bằng cách phân tích thực tiễn ba trình duyệt web, biết đối tượng đích có liên quan đến mạng IE/Edge xử lý liệu mạng với nhiều luồng luồng độc lập Nó nhiều thời gian tìm stack nhiều luồng, luồng tạo hủy linh hoạt Tuy nhiên thấy nhiều luồng IE/Edge liên kết với số tồn cục, nhanh chóng nắm bắt thay đổi luồng 30 Chương V: Đánh giá 5.1 Thời gian tồn đối tượng mục tiêu Đo thời gian tồn ba loại đối tượng nhớ q trình phân tích ảnh hưởng độ trễ mạng Để có thời gian đối tượng tương ứng xây dựng phá hủy, thêm mã bổ sung vào nhớ quy trình trình duyệt Ghi lại liệu thời gian cách sử dụng hàng đợi Khơng khóa để giảm ảnh hưởng đến chuyển mạch luồng quy trình gốc Lấy thí nghiệm năm trình duyệt băng thông mạng 20 Mbps Mbps, tương ứng Tạo gần 50 nghìn đối tượng cách truy cập nhiều trang web nước, bao gồm danh mục khác Tìm kiếm, Tin tức, Mua sắm, E-mail, SNS Tài Như hiển thị Hình 5.1, chia đối tượng trình duyệt thành ba phần theo thời lượng, cụ thể 50 ms, khoảng từ 50 ms đến giây, lớn giây Có thể khó có đối tượng có vịng đời 50 ms, Windows sử dụng lập lịch xử lý luồng ưu tiên Mã chạy chế độ người dùng Thật khó để kiểm sốt thời gian thực mà khơng can thiệp vào người khác, hầu hết đa xử lý, lượng tử luồng khoảng 15 mili giây Trong Hình 5.1, bên trái nhóm hiển thị phân phối đối tượng băng thơng mạng bình thường bên phải giới hạn Chúng ta thấy tuổi thọ tăng đáng kể giảm băng thơng mạng, chúng có liên quan đến mạng Một tượng thú vị khác khối đối tượng sử dụng lại địa phân bổ nhớ Nó có nghĩa thu nhiều thơng tin đối tượng từ địa đối tượng Hình 5.1: Thời gian sống đối tượng môi trường khác 31 5.2 Tìm kiếm Vtable Liên tục đo lường hiệu phương pháp tìm kiếm khác chủ yếu kiểm tra ba số: (a) tỷ lệ phát (DTR) - biểu thị kết đối tượng trích xuất thực bao phủ đối tượng mục tiêu, (b) tốc độ báo động sai (FAR) - biểu thị can thiệp đối tượng không liên quan đối tượng trích xuất (c) thời gian CPU trung bình (ACT) – việc sử dụng CPU luồng tìm kiếm hệ thống đích Phương pháp dựa tìm kiếm đặc trưng trỏ vtable không gian nhớ ảo Hiệu bị ảnh hưởng việc sử dụng nhớ thực, nội dung trang web yếu tố Hầu tất trình duyệt đại có chế thu gom rác tốt, việc sử dụng nhớ ổn định chạy Mã tìm kiếm chạy chuỗi thử nghiệm; mức sử dụng CPU tối đa khoảng 25% mơi trường lõi tứ Chi phí hoạt động chấp nhận có ảnh hưởng tương đối thấp đến trải nghiệm người dùng Trong bảng 5.1, hiển thị kết tìm kiếm trình duyệt thử nghiệm điều kiện mạng khác Vì khơng thể kiểm sốt xác việc sử dụng CPU mã tìm kiếm, nhận giá trị gần Trong điều kiện băng thơng mạng bình thường, tỷ lệ phát gần 100% cho chương trình với luồng tìm kiếm chạy hết cơng suất Giữ mức sử dụng CPU luồng tìm kiếm mức 10% tốc độ phát tiếp tục, tốc độ cảnh báo sai tăng nhẹ, hiển thị hàng có tên Nhóm b bình thường Bảng 5.1 Nó gây việc sử dụng CPU thấp, sau mã tìm kiếm khơng thể nhanh chóng nắm bắt chuyển đổi đối tượng mục tiêu Để xác minh thêm ảnh hưởng băng thông mạng, giới hạn băng thông mức Mb/giây đồng thời giữ mức sử dụng CPU Trong trường hợp này, tỷ lệ phát cao tỷ lệ cảnh báo sai thấp, hiển thị hàng thứ ba Bảng 5.1 32 Bảng 5.1: Kết tìm kiếm dựa vtable tính điều kiện khác Các giá trị tốc độ cảnh báo sai thấp, có lẽ chọn đặc tính bổ sung bên cạnh trỏ vtable, đề cập phần Hơn nữa, kết chương trình 64 bit tương tự chương trình 32 bit mã tìm kiếm khơng gian địa nhớ ánh xạ khơng phải tồn khơng gian 5.3 Tìm kiếm biến tồn cục Có thể có tìm kiếm hiệu cao dựa biến tồn cục có địa bắt đầu hướng tìm kiếm xác định Đó trường hợp đặc biệt nên xuất thường xuyên lập trình đại Trong thí nghiệm này, khơng giới hạn băng thông mạng Để hạn chế việc sử dụng CPU chuỗi tìm kiếm, thêm đoạn ngắn mã sau lần truyền tải Các kết hiển thị hình 5.2 Nhận tỷ lệ phát cao, tỷ lệ cảnh báo sai thấp mức sử dụng CPU thấp cho thử nghiệm Có cảnh báo sai thấp cho IE/Edge cấu trúc danh sách liên kết ổn định Tỷ lệ phát cho Chrome thấp chút so với người khác thay đổi cấu trúc gây việc chèn xóa đen đỏ Đối với trường hợp Firefox, suy luận đường dẫn từ trỏ chung đến đối tượng đích q dài Khi trình duyệt gửi u cầu thường xun, gây lỗi khơng thể đốn trước mức sử dụng CPU cao 33 Hình 5.2: Kết dựa tìm kiếm biến tồn cầu 5.4 Tìm kiếm khơng gian ngăn xếp Trong thử nghiệm, chọn điểm neo cho trình duyệt, yêu cầu dễ đáp ứng thực tế Đáng ý hơn, Điểm neo phiên 32 bit 64 bit khác Vì địa đối tượng đích tồn ngăn xếp thời gian ngắn, để đo lường hiệu phương pháp tìm kiếm tốt hơn, thực thử nghiệm theo cách sử dụng CPU khác Băng thơng mạng có tác động hạn chế đến thời lượng đối tượng đích ngăn xếp tất trình duyệt sử dụng giao tiếp khơng đồng luồng mạng không chờ máy chủ phản hồi Việc thử nghiệm hai trường hợp tương ứng cho trình duyệt Trong trường hợp (a), khơng kiểm sốt việc sử dụng CPU, đó, chuỗi tìm kiếm nhận thời gian CPU trung bình 25% mơi trường lõi tứ Như hiển thị hình 5.3, trường hợp này, nhận tỷ lệ phát cao cho tất trình duyệt Trong trường hợp (b), giữ mức sử dụng CPU 10% thực tế thấp Trong trường hợp này, nhận tỷ lệ phát khoảng 80% Trên thực tế, tăng mức sử dụng CPU luồng tìm kiếm để có tỷ lệ phát cao áp dụng thuật toán lập lịch xử lý luồng hiệu 34 Hình 5.3: Kết dựa tìm kiếm ngăn xếp Một trường hợp rõ ràng khác hiển thị hình 5.3 tỷ lệ phát thấp Chrome 32 bit, điều bình thường Chrome 64 bit Sau phân tích, phát nguyên nhân Điểm neo Chrome 32 bit Các kết thử nghiệm cho thấy phương pháp tìm kiếm dựa biến tồn cục có hiệu cao đòi hỏi phải đáp ứng yêu cầu cụ thể Hai phương pháp khác có tác dụng tốt tương tự Phương pháp tìm kiếm dựa ngăn xếp chung chung phương pháp khác Nó hỗ trợ tìm kiếm không cho cấu trúc đối tượng mà cho đệm tùy ý tham chiếu ngăn xếp Mặt khác, phương pháp tìm kiếm ngăn xếp có chi phí phân tích nhị phân cao hai phương pháp cịn lại Vì vậy, ba phương pháp sử dụng nhau, theo tình cụ thể thực tế 35 5.5 Nghiên cứu điển hình Đầu tiên, thực nghiên cứu tình thủ tục đăng nhập webmail cố gắng lấy thông tin đăng nhập thông qua đối tượng HTTP đề cập Một lý để chọn trường hợp là, đây, tốc độ đăng nhập tương đối chậm cho thấy rõ băng thông mạng ảnh hưởng đến liệu nhớ Một lý khác chuyển theo giao thức HTTPS, triển vọng khơng mã hóa thêm liệu POST điều có nghĩa mật kênh HTTPS rõ Do đó, nhận rõ mật thông qua cấu trúc đối tượng Các kết thể bảng 5.2 Nó cho thấy với nhiều thử nghiệm tỷ lệ thành công cao, gần 100% Mức sử dụng CPU trung bình chuỗi tìm kiếm khoảng 12%, điều không nhận rõ liệu POST mà URL cookies liên quan quy trình đăng nhập Bảng 5.2: Các trường thu từ cấu trúc đối tượng HTTP Tuy nhiên, IE/Edge ngoại lệ thân liệu POST, liệu khơng liên kết trực tiếp với cấu HTTP_REQUEST_HANDLE_OBJECT gửi đến máy chủ dạng tham số chức Hình 5.4: Một ví dụ khung stack cho Edge 64 bit chạy 36 Hình 5.4 cho thấy ví dụ bố trí ngăn xếp Edge 64 bit chạy Chúng ta dễ dàng lấy Anchor Point xác định vị trí đệm gửi sau trích xuất liệu thể POST bao gồm mật đăng nhập Một trường hợp tương tự nằm thủ tục đăng nhập Skype Microsoft mua nâng cấp Trong phiên Skype Windows 10, Skypeapp.exe xử lý đăng nhập sử dụng thư viện WININET Dữ liệu đăng nhập gửi WININET! Hàm CsecureSocket::Send gửi mà khơng cần mã hóa bổ sung Trích xuất rõ bao gồm tên đăng nhập mật đệm gửi Nhận dấu vết chuỗi công cụ JavaScript Chakra Chakra công cụ JavaScript phát triển Microsoft Nó tích hợp vào trình duyệt Edge thành phần cốt lõi trở thành nguồn mở Tương tự với công cụ Just-in-time (JIT) khác, Chakra cung cấp trình thơng dịch cho mã byte JavaScript biên dịch mã byte thành mã máy lúc để tối ưu hóa Cơng cụ Chakra xây dựng khung ngăn xếp trình thơng dịch cho mã JavaScript, cung cấp thuận tiện cho tìm kiếm dựa khơng gian ngăn xếp Phát có lệnh gọi hàm ổn định công cụ Chakra hàm JavaScript gọi; tảng 64 bit, amd64_CallFunction Bố cục ngăn xếp thực amd64_CallFunction hiển thị hình 5.5 Trong hình thức 64 bit, bốn đối số truyền qua ghi lệnh gọi hàm Amd64_CallFunction có năm đối số, đó, đối số cuối lưu trữ ngăn xếp, hiển thị hình 5.5 dạng tham số argv Đối số trỏ trỏ đến danh sách đối số chuyển vào hàm JavaScript Trong trình thực Chakra, địa đối số nằm phạm vi địa phương tạm thời khung ngăn xếp trình thơng dịch Do đó, tham chiếu tham số đầu cục thông qua đối số cuối Trong trường hợp này, cố gắng trích xuất chuỗi lưu trữ biến string mảng JavaScript đối tượng động xác định cơng cụ Chakra, sau chọn thơng tin đăng nhập hồ sơ theo dõi chuỗi Hình 5.5: Bố trí ngăn xếp bước vào amd64_CallFunction 37 Chọn năm trang web làm mục tiêu thử nghiệm tính tỷ lệ thành cơng việc thu thập mật Mức sử dụng CPU trung bình payload bị giảm xuống khoảng 12% Kết thể Bảng 5.3, số trang web có tỷ lệ thành công cao gần 100% Tuy nhiên, có tỷ lệ thành cơng thấp, đặc biệt Yahoo Mặc dù mã JavaScript thực thi nhanh thủ tục trình thơng dịch, hầu hết trường hợp, khơng có lệnh gọi hệ thống liên quan, khó để có tất thông tin Nếu trang web cung cấp xác thực mã hóa bổ sung quy trình đăng nhập, mang mã JavaScript truyền liệu nặng vào mã Nhận tỷ lệ thành công cao trường hợp kết ngược lại cho trường hợp khác Không thể lấy mật quy trình đăng nhập Yahoo điều kiện thử nghiệm, mật đơn giản đăng lên máy chủ dạng rõ Bảng 5.3: Các trường thu từ cấu trúc đối tượng HTTP Vì theo dõi thơng tin chuỗi mã JavaScript cách linh hoạt, nhật ký chứa thông tin ngữ nghĩa bối cảnh đăng nhập Từ nhật ký chọn mật dễ dàng; ví dụ cho iCloud hiển thị Hình 5.6 38 Hình 5.6: Nhật ký theo dõi chuỗi phần thủ tục đăng nhập iCloud 39 Chương VI: Kết luận Trong báo này, đề xuất mơ hình mối đe dọa liệu nhớ xử lý tảng Windows Ý tưởng cốt lõi mơ hình tận dụng tối đa khơng hồn hảo chế kiểm soát truy cập để thu liệu nhớ trực tiếp thông qua cấu trúc liệu quan trọng Tác động băng thông mạng xem xét mơ hình Một số phương pháp trích xuất liệu cho mơ hình, đặc biệt phương pháp tìm kiếm dựa khơng gian ngăn xếp Thực xác minh mơ hình thơng qua số trình duyệt web phổ biến Trong mơ hình này, chức thu thập liệu triển khai HĐH, đó, sử dụng gọi hệ thống hạn chế để tránh thông tin suy diễn mức độ Tuy nhiên, phấn đấu cho việc sử dụng CPU Bài viết cho thấy mối đe dọa cấu trúc giao tiếp HTTP trình duyệt tác động loại thơng tin khác cấu trúc khóa Các phương pháp trích xuất liệu áp dụng cho mơi trường ảo hóa cung cấp mối đe dọa cho máy chủ riêng ảo Có số điều kiện hạn chế việc áp dụng mơ thực thi mã hệ thống đích phụ thuộc vào lỗ hổng thực thi mã từ xa phần mềm độc hại cài đặt sẵn Ngoài ra, bên cạnh cịn phải đối mặt với thách thức kiên trì cơng xử lý mã hóa cách ly liệu, số chế bảo vệ không phổ biến Hơn nữa, phương pháp tự động hóa tốt phân tích cấu trúc liệu cho chương trình mục tiêu cần thiết Tuy nhiên, thấy mối đe dọa mơ hình thơng qua thí nghiệm thực tế Các kết nghiên cứu bảo vệ nhớ giảm thiểu mối đe dọa mức độ đó, cần phải tích hợp thêm hệ thống phịng thủ vào hệ thống Ví dụ, chế kiểm soát cấp phép chi tiết thực chuyển đổi liệu phức tạp để giảm thời gian văn gốc nhớ Trong thực tế, thiết bị đầu cuối phải đối mặt với mối đe dọa không gian mạng ransomware lúc Hy vọng tăng cường bảo mật với khả phịng thủ thực tế 40 TÀI LIỆU THAM KHẢO Tiếng Anh [1] A survey of main memory acquisition and analysis techniques for the windowns operating system ,https://www.sciencedirect.com/science/article/pii/S1742287611000508?via%3 Dihub [2] Pool tag quick scanning for windowns memory analysis ,https://www.sciencedirect.com/science/article/pii/S1742287616000062?via%3 Dihub [3] PMCAP: A Threat Model of Process Memory Data on the Windows Operating System ,https://www.hindawi.com/journals/scn/2017/4621587/ 41 ... Công nghệ thông tin Mặc dù nước phát triển đầu tư, nghiên cứu thiết bị đầu cuối PC thay việc liên quan đến hệ điều hành Windows sống Trong vài thập kỷ qua, có nhiều nghiên cứu bảo mật tảng Windows. .. hình nguy hiểm với nhớ HĐH Window Hiện tại, Windows trang bị nhiều thành phần bảo mật sách, ứng dụng chạy tảng phải đối mặt với thách thức bảo mật trình sử dụng 1.1 Nguy? ?n nhân • Windows hệ sinh... không xác định zero-day 12 • (ii) Bảo vệ toàn vẹn mã tồn hệ thống đích Nói cách khác, kẻ cơng khơng thể sửa đổi mã tồn hệ điều hành cơng nghệ hooking • (iii) Kẻ cơng giả mạo điểm truy cập Wi-Fi