Chương 1: Kiểm soát truy cập va cơ chế kiểm soát tài khoản người dùng: Giới thiệu sơ bộ về cách thức Windows xác định quyền truy cập vào một đối tượng bất kì. Chỉ ra rủi ro khi mã độc tắn công vào tài khoản quyền quản trị và cách thức UAC giải quyết vẫn đề này. - _ Chương 2: Phương pháp vượt qua cơ chế kiểm soát tài khoản người dùng: Trình bày một số phương pháp thường được mã độc sử dụng trong quá trình khai thác, từ đó phân tích, làm rõ, mở rộng và chỉ ra nhiều mục tiêu tấn công khác chưa được khám phá, đưa ra các biện pháp phòng chống, phát hiện thích hợp. - - Chương 3: Công cụ kiểm thử cơ chế kiểm soát tài khoản người dùng: Trình bày về quá trình xây dựng công cụ kiểm thử.
Bắt đầu từ bước lên ý tưởng, phân tích yêu câu, thiết kế, phát triển,. cho tới khi hoàn thành và thử nghiệm. Ngoài ra còn có thêm 4 phụ lục bô sung thêm cho các nội dung chính của đô án: Nguyễn Đức Hoằng — B17DCA T084 2 Đô án tôt nghiệp Lời mở đâu Phụ lục 1: Giả mạo tiến trình. Phụ lục 2: Danh sách mục tiêu khai thác DLL sideloading với IFileOperation.
Phụ lục 3: Giả mạo ham Export cia DLL v6i PE Injection. Phụ lục 4: Danh sách mục tiêu khai thác Hijack SxS với IFileOperation. Chi tiết về nội dung của từng phụ lục sẽ được đề cập trong các chương liên quan. Nguyễn Đức Hoằng — B17DCA T084 3 Đồ án tốt nghiệp Chương l1: Kiểm soát truy cập và cơ chê kiêm soát tài khoản người dùng CHUONG 1: KIEM SOAT TRUY CAP VA CO CHE KIEM SOAT TAI KHOAN NGUOI DUNG Cơ chế kiểm soát tài khoản người dùng thuộc nhóm các cơ chế kiểm soát truy cập trên hệ điều hành Windows.
Cùng với Danh sách kiểm soát truy cập tuỳ ý (Discretionary Access Control List— DACL) và một số cơ chế khác hoạt động có móc nối với nhau, UAC đã góp phần tạo nên một bộ giải pháp kiểm soát truy cập khá toàn diện. Trong chương này, đồ án sẽ làm rõ: - _ Cách thức Windows xác định danh tính và quyền truy cập vào một đối tượng bất kì trên hệ thống. - _ Đặc quyên của tài khoản, các loại đặc quyền quan trọng trong Windows và tầm ảnh hưởng của chúng nếu mã độc sở hữu. - _ Nguôn gốc ra đời, các bài toán mà UAC phải đối mặt.
- _ Kiến trúc thiết kế của UAC và các cơ chế thành phần khác. Xác định danh tính và quyền truy cập 1. Ma dinh danh bao mat Thay vì sử dụng tên (có thể là duy nhất hoặc không duy nhất) để xác định các thực thể thực hiện các hành động trong hệ thống, Windows sử dung Ma dinh danh bao mat (Security identifiers — SID). Người dùng có SID cũng như các nhóm miễn và nhóm cục bộ, máy tính cục bộ, miền, thành viên miền và dịch vụ.
SID là một giá trị số có độ dài thay đổi bao gồm: - _ Một Revision: Số hiệu phiên bản SID. - Mo6t Identifier Authority: Gia tri dinh danh tác gia dai 48 bit xác định tác nhân đã cap SID, tac nhân này thường là một hệ thống cục bộ Windows hoặc một miễn. - _ Một vài Relative Identifier - RID: Được gọi là giá trị uỷ quyền phụ hay giá trị nhận dạng tương đối dài 32 bit. Các giá trị ủy quyền phụ có thể sử dụng để xác định nơi cấp hay chỉ đơn giản để tạo ra các SID duy nhất từ 1 SID cơ sở.
Vì SID có tập giá trị rất lớn và Windows quan tâm đến việc tạo các giá trị thực sự ngẫu nhiên trong mỗi SID, nên hầu như Windows không thê phát hành cùng một SID hai lần trên các máy hoặc miễn ở bất kỳ đâu trên thế giới. Khi được hiển thị dưới dạng văn bản, mỗi SID mang một tiền tổ S và các thành phân khác nhau của nó được phân tách bằng dấu gạch ngang như sau: S-1-5-21-1463437245-1224812800-863842198-1128 Trong SID nay, s6 hiéu phién ban 1, gia tri dinh danh tac gia la 5 (co quan bảo mật Windows) và năm giá trị uỷ quyền phụ khác tạo nên phần còn lại của SID. SID này là một SID miền, mỗi máy tính cục bộ trên miền sẽ có SID với cùng số hiệu phiên bản, giá trị định danh tác giả và số lượng giá trị ủy quyền phụ. Windows cũng định nghĩa một số SID cục bộ và miền được tích hợp san để đại diện cho các nhóm mặc định.
Ví dụ: SID xác định tất cả các tài khoản (ngoại trừ người dùng ân danh) Nguyễn Đức Hoằng — B17DCA T084 4 Đồ án tốt nghiệp Chương l1: Kiểm soát truy cập và cơ chê kiêm soát tài khoản người dùng la Everyone (S-1-1-0). Mot vi du khac về nhóm mà SID có thê dai dién 14 Network Group (S- 1-5-2) dai dién cho nhting nguoi dung da dang nhap vao mot may tt mang.1, dugc sao chép từ tài liệu Windows SDK [6] chứa một số SID cơ bản đã biết và cách sử dụng của chúng. Không giống như SID của người dùng, các SID này là các hằng số được xác định trước và có cùng giá trỊ trên mọi miền và hệ thống Windows trên thế giới. Do đó, một tệp mà các thành viên của nhóm EveryOne trên hệ thống nơi tệp được tạo ra cũng có thé truy cập được đối với EveryOne trên bất kỳ hệ thống hoặc miền nào khác.
Tắt nhiên, người dùng trên các hệ thống đó phải xác thực tài khoản trên các hệ thống đó trước khi trở thành thành viên của nhóm EveryOne.1: Một số SID thường gặp SID Tên mô tả Chức năng S-1-0-0 Nobody Dược sử dụng khi SID chưa được khai báo. S-1-1-0 Everyone Một nhóm chứa toàn, bộ người dùng ngoại trừ người dùng ân danh. Người dùng đăng nhập vào các thiết bị S-1-2-0 Local đầu cuối được kết nối cục bộ (vật lý) với hệ thống. S-1-5-18 NT Authority\S YSTEM Người dùng uỷ quyền của hệ điều hành S-1-5-80- Người dùng mặc định của hệ điều 956008885- hành, là chủ sở hữu của toàn bộ các tệp 3418522649- tin, mô-đun quan trọng trên hệ điều NT SERVICE\TrustedInstall ; 1831038044- AEDSSSEEE Í hành Windows.1 dưới đây thể 1853292631- hiện điều này.
2271478464 Chỉ tiết về SID và các vẫn đề liên quan tham khảo tại [7]. Nguyễn Đức Hoằng — B17DCA T084 5 Đồ án tốt nghiệp Chương l1: Kiểm soát truy cập và cơ chê kiêm soát tài khoản người dùng LỊ > ThisPC > Local DIsk(C:) >» Windows » System32 vy | & Ð Name ° Date modified Type Size Owner MCCSEngineShared.dll 06/10/2021 8:53 pm Application exten. 174KB Trustedlnstaller MCCSPal.dll 06/12/2019 11:35 pm Application exten. 31 KB Trustedlnstaller meiavi32.dll 07/12/2019 4:09 pm Application exten.
102KB Trustedlnstaller meicda.dll 07/12/2019 4:08 pm Application exten. 49KB Trustedlnstaller mrciqtz32.dll 07/12/2019 4:09 pm Application exten. 43KB Trustedlnstaller meiseq.dll 07/12/2019 4:08 pm Application exten. 31 KB Trustedlnstaller meiwave.dll 07/12/2019 4:08 pm Application exten.
31 KB Trustedlnstaller ©| MCRecvSrc.dll 06/10/2021 8:52 pm Application exten. 1,073 KB Trustedlnstaller mecupdate_AuthenticAMD.dll 07/12/2019 4:08 pm Application exten. 108 KB Trustedlnstaller mcupdate_Genuinelntel.dll 07/12/2019 4:08 pm Application exten. 2,569 KB Trustedlnstaller [8Ì MIDEServer.exe 06/10/2021 8:52 pm Application 444KB Trustedlnstaller [a=] MDMAgent.exe 06/10/2021 8:31 pm Application 154KB Trustedlnstaller [=] MDMAppinstaller.exe 06/10/2021 8:52 pm Application 152KB Trustedlnstaller MdmCommen.dll 06/10/2021 8:51 pm Application exten.
178KB Trustedlnstaller MdmDiagnostics.dll 19/12/2021 6:13 pm Application exten. 2,047 KB Trustedlnstaller [a=] MdmDiagnosticsTool.exe 19/12/2021 6:13 pm Application 532KB Trustedlnstaller mdminst.dll 07/12/2019 4:09 pm Application exten. 78KB Trustedlnstaller mdmlocalmanagement.dll 06/10/2021 8:51 pm Application exten. 62KB Trustedlnstaller mdmmigrator.dll 19/12/2021 6:13 pm Application exten.
149KB Trustedlnstaller mdmpostprocessevaluator.dll 06/10/2021 8:51 pm Application exten. 50 KB Trustedlnstaller mdmregistration.dll 19/12/2021 6:13 pm Application exten. 356KB Trustedlnstaller [ae] MdRes.exe 07/12/2019 4:09 pm Application 85KB Trustedlnstaller (ag) MdSched.exe 7/12/2019 4:09 pm Application 91 KB Trustedlnstaller Hình I.1: Quan sát chủ sở hữu của cdc mé-dun trong thu muc system32 Mỗi khi người dùng đăng nhập vào hệ théng, Winlogon tao mét SID dang nhap (logon SID) duy nhất cho mỗi phiên đăng nhập tương tác (Interactive logon). Giá trị SID này sẽ được sử dụng xuyên suốt trong quá trình xác định danh tính và cấp quyền của phiên đăng nhập đó.
SID cho một phiên đăng nhập có dạng S-1-5-5-X-Y, trong đó X và Y được tạo ngẫu nhiên. Nguyễn Đức Hoằng — B17DCAT084 6 Đồ án tốt nghiệp Chương l1: Kiểm soát truy cập và cơ chê kiêm soát tài khoản người dùng W% _explorer.exe:15920 Properties — O x Image Performance Performance Graph Disk and Network GPUGraph Threads TCP/IP Security Environment Strings | User: DESKTOP-8UKSH3F \hoang az SID: §-1-5-21-601148942-64330661-1659545711-1001 Session: 16 Logon Session: cc75f26 Virtualized: No Protected: No Group Flags BUILTIN‘ Administrators Deny BUILTIN‘ Performance Log Users Mandatory BUILTIN Users Mandatory CONSOLE LOGON Mandatory Everyone Mandatory LOCAL Mandatory Mandatory Label\Medium Mandatory Level Integrity Microsoft Account \hoangnguyenduc. Mandatory NT AUTHORITY Authenticated Users Mandatory NT AUTHORITY \Cloud Account Authentication § Mandatory NT AUTHORITYMINTERACTIVE Mandatory NT AUTHORITY\Local account Mandatory NT AUTHORITY*\Localaccount and member of. Deny v Group SID: nja eq Privilege Hags SeChangelntifyP'rivileqe Default Enabled Selncrease WorkingSetPrivilege Disabled Se ShutdownPrivilege Disabled Se TimeZone Privilege Disabled SeUndock Privilege Disabled Permiss Cancel Hinh 1.2: Quan sat SID dang nhdp théng qua Process Explorer LI1.
Thẻ truy cập Windows sử dụng một đối tượng có tên thẻ truy cập (access token, gọi tắt là token) nhằm mô tả ngữ cảnh bảo mật của một tiến trình hoặc luồng. Thông tin trong token bao gồm danh tính và đặc quyên của tài khoản người dùng được liên kết với tiên trình hoặc luồng. Khi người dùng đăng nhập, hệ thống sẽ xác minh mật khâu của người dùng bằng cách so sánh mật khâu đó với thông tin được lưu trữ trong cơ sở dữ liệu bảo mật. Nếu mật khẩu được xác thực, hệ thống sẽ tạo ra một thẻ truy cập.
Mọi tiễn trình được khởi chạy bởi người dùng đều có một bản sao của thẻ truy cập này. Các thẻ truy cập có kích thước khác nhau vì các tài khoản người dùng khác nhau có các bộ đặc quyên và tài khoản nhóm được liên kết khác nhau. Tuy nhiên, tất cả các thẻ truy cập đều Nguyễn Đức Hoằng — B17DCA T084 7 Đồ án tốt nghiệp Chương l1: Kiểm soát truy cập và cơ chê kiêm soát tài khoản người dùng chứa các loại thông tin giống nhau nhất định. Nội dung quan trọng nhất của thẻ truy cập được trình bày trong hình 2.3: Access Token Hệ thống sử dụng thẻ truy cập đề xác định người dùng khi một luồng tương tác với một đối tượng bảo mật hoặc cô găng thực hiện một tác vụ hệ thống yêu cầu đặc quyền.
Thẻ truy cập chứa tôi thiêu các thông tin sau: SID của tài khoản người dùng Danh sách SID của các nhóm mà người dùng này thuộc về Một logon SID xác định phiên đăng nhập hiện tại Danh sách các đặc quyền do người dùng hoặc các nhóm của người dùng năm giữ SID của chủ sở hữu SID của nhóm chính DACL mặc định mà hệ thống sử dụng khi người dùng tạo một đối tượng bảo mật mà không chỉ định bộ mô tả bảo mật cụ thể. Thông tin xác định token là mạo danh hay token chính.