1. Trang chủ
  2. » Luận Văn - Báo Cáo

Công cụ kiểm thử vượt qua cơ chế phòng thủ User Account Control

87 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Công cụ kiểm thử vượt qua cơ chế phòng thủ User Account Control
Tác giả Nguyễn Đức Hoằng
Người hướng dẫn TS. Nguyễn Ngọc Điệp
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 87
Dung lượng 25,1 MB

Nội dung

Trong quá trình tan công một máy tính cá nhân sử dụng hệ điều hành Windows, kẻ tan công phải vượt qua cơ chế kiểm soát tài khoản người dùng dé có thé nâng cao đặc quyền.. Theo đó, đô án

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG

KHOA CÔNG NGHỆ THÔNG TIN I

Đề tài: Công cụ kiểm thử vượt qua cơ chế

phòng thủ User Account Control

Giảng viên hướng dẫn : TS Nguyễn Ngọc Điệp

Sinh viên thực hiện : Nguyễn Đức Hoằng

Mã sinh viên : B17DCAT084

D17CQAT04-B

2017 — 2022 Dai hoc chinh quy

Hà Nội, tháng 12 nam 2021

Trang 2

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG

KHOA CÔNG NGHỆ THONG TIN I

Dé tài: Công cu kiểm thử vượt qua cơ chế

phòng thủ User Account Control

Giảng viên hướng dẫn : TS Nguyễn Ngọc Điệp

Sinh viên thực hiện : Nguyễn Đức Hoằng

Mã sinh viên : BI7DCAT084

D17CQAT04-B

2017 — 2022

Dai hoc chinh quy

Ha Nội, tháng 12 năm 202

Trang 3

Đồ án tốt nghiệp Lời cảm ơn

SS

LOI CAM ON

Lời đầu tiên, em xin gửi lời biết ơn sâu sắc tới Thầy giáo TS Nguyễn Ngọc Điệp đã tậntình chỉ bảo, hướng dẫn em trong không chỉ quá trình thực hiện đồ án này, nhờ sự giúp đỡ vànhững chia sẻ của Thầy, em đã có những định hướng riêng cho tương lai của mình

Em xin chân thành cảm ơn các Thay, Cô trong Khoa Công nghệ Thông tin | nói riêng và

toàn thể các cán bộ của Học viện Công nghệ Bưu chính Viễn thông nói chung đã tạo điều kiện

dé em có thé học tập và phát triển bản thân trong một môi trường rất tốt Cam ơn các Thay Cô

đã cung cấp cho em không chỉ kiến thức mà còn là kỹ năng sống, đó là những hành trang hữuích cho em trên chặng đường dài phía trước của cuộc đời.

Em cũng xin gửi lời cảm ơn đến những người anh, người bạn, người đồng nghiệp trong bộphận Rà soát và Xử lý Sự cố mã độc thuộc Trung tâm Phân tích và Chia sẻ nguy cơ An ninhmạng, công ty An ninh mạng Viettel đã cung cấp cho em những kiến thức về lập trình, hệ điềuhành, kiểm thử xâm nhập và tạo điều kiện cho em hoàn thiện đồ án này

Cuối cùng, em xin cảm ơn gia đình, bạn bè, những người đã luôn ở cạnh, quan tâm, giúp

đỡ và ủng hộ để bản thân em có thê hoàn thành được đồ án này

Em xin chân thành cam ơn!

Hà Nội, ngày 31 thang 12 năm 2021

Sinh viên thực hiện

Nguyễn Đức Hoằng

Nguyễn Đức Hoằng — B17DCAT084 1

Trang 4

Đồ án tốt nghiệp Lời cam đoan

LỜI CAM ĐOAN

Em xin cam đoan rằng đồ án tốt nghiệp “Công cụ kiểm thử vượt qua cơ chế phòng thủ

User Account Control” là công trình nghiên cứu của bản thân Những phần có sử dụng tài liệutham khảo có trong đồ án đã được liệt kê và nêu rõ ra tại phần tài liệu tham khảo Đồng thời

những số liệu hay kết quả trình bày trong đồ án đều mang tính chất trung thực, không sao chép,đạo nhái.

Em cũng xin cam đoan giữ vững và tôn trọng vấn đề đạo đức của người nghiên cứu bảo

mật Không phát tán mã khai thác, mã nguồn hay tài liệu hướng dẫn khai thác duéi mọi hìnhthức Không dé cá nhân, tổ chức khác lợi dung làm điều xấu ảnh hưởng tới bat kì cá nhân, tổ

chức nào khác.

Em xin hoàn toàn chịu trách nhiệm về tính trung thực và pháp lý của đồ án trước hội đồng

và pháp luật.

Hà Nội, ngày 31 tháng 12 năm 2021

Sinh viên cam kêt

Nguyễn Đức Hoằng

Nguyễn Đức Hoằng — B17DCAT084 1

Trang 5

a Nhận xét đánh giá cho điểm

Đô án tôt nghiệp Của Người hướng dân

NHAN XÉT ĐÁNH GIA CHO DIEM

(Của Người hướng dẫn)

Điểm: Green (bằng chữ: -¿©2¿©ccccxccrcerxerrerreervees )Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp?

Hà Nội, ngày thang năm

CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN

(ký và ghi rõ họ tên)

Nguyễn Đức Hoằng — B17DCAT084 1

Trang 6

Đồ án tốt nghiệp Nhận xét đánh giá cho điểm

Của Người phản biện

NHAN XÉT ĐÁNH GIÁ CHO DIEM

(Của Người phản biện)

Hà Nội, ngày thang năm CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN

(ký và ghi rõ họ tên)

Nguyễn Đức Hoằng — B17DCAT084 11

Trang 7

Đồ án tốt nghiệp Mục lục

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ TỪ VIET TẮTT 2¿2++2©©+++EE++2EEE++EESE22E1223122312221 2221 zrkvee vi DANH MUC BANG n vii DANH MUC HINH VE oesesssscsssssssssssssssssssssscsssesssssssscssscsssesssscssscsssesssesusssssscssscssscessecasscassesseesseessecessees viii 098)/0E2710077 14Ă ,ÔỎ 1 CHUONG 1: KIEM SOÁT TRUY CẬP VA CO CHE KIEM SOÁT TÀI KHOẢN NGƯỜI DUNG 4

1.1 Xác định danh tinh và quyền truy CAp o cescceccssscssssssesseessesseessessscssesssessesssessecssessessesseessesseesseaees 4

LA Mã định danh bảo mật - (c2 E322 1121112111111 911191111 111811 0111 g1 1g 1g rềg 4

1.2 The truy vi 5 7 1.3 Mao dan 077 - ‹+11S, 9

.L4 Danh sách kiểm soát truy cập và bộ mô tả bảo mậtt - + +5 + ++x£+xsessereeeseee 9

LS Đặc quyền của tài KNOAM sccecscesssessssssssecssesssesssessssecssscssssssessssecssecssesssesssssessecssesssesssees 11 1.6 Tiểu <<]

1.2 Cơ chế kiểm soát tài khoản người dùng

.2.1 Nguồn gốc ra đời -c-22Lc2 L2 E21 22 22211 11.111 eo 2.2 MG tả kiến trÚC -¿- 26c 2k 2Ek 22 3221122211221 7122111 11.211.111 re 15 2.3 Mét số cơ chế đi kèm bao vệ cơ chế kiểm soát người dng c.ccecccesecsesseessecseseeeeseeene 24 I4) 8n -4ã4‹+1 28

CHƯƠNG 2: PHƯƠNG PHÁP VƯỢT QUA CƠ CHE KIÊM SOÁT TÀI KHOẢN NGƯỜI DUNG.

2.2 DLL sideloading với [FileOperation

2.2.1 Mô tả kỹ thuật

2.2.2 Luông thực thi

2.2.3 Thực trạng khai thác của mã đỘC - + E113 1 23121191 91 1 H1 ng nh ng rnưkp 32

2.2.4 Mở rộng mục tiêu khai thác - + 61119911911 91153 11210 ng ghg 33

2.2.5 Biện pháp phát hiện, phòng chống 2-2 2£ 2+EE£+EE+EEEEEEEEEEEEEEEEEEEErEkrrrrrrree 37

2.3 Hijack SxS với IFIleO€TafIOH - -ó- 6 5 13111 301911 01 911111110 TH HT HH Hư 38 2.3.1 MG ta vn 38

2.5 Kết chương 2+ 2s 2E 2E1E2115712111711 21171211211 T1 T1 T11 11 1 T1 g1 T1 ng ru 45

Nguyễn Đức Hoằng — B17DCAT084 iv

Trang 8

Đồ án tốt nghiệp Mục lục

CHƯƠNG 3: CÔNG CỤ KIEM THU CƠ CHE KIEM SOÁT TÀI KHOẢN NGƯỜI DUNG 46

3.1 Giới thiệu CONG CỤ - SG 111.9 HH HH TT TH Tu HH TH HT ha 46

3.2 >0 46

3.3 Cai dat CONG on 48

3.4 Thử nghiệm và đánh gid ccececcccccscsccssessesseessessecssessecssessesssesssssseesuessecssessecssesseessesssesseeseeeseessess 48

3.4.1 Đối tượng thử nghiệm ©2c¿©2+¿+2S+t2 k2 2212711021121 11 re 48

3.4.2 Thử nghiệm cÔng CỤ - - - + S123 93 1E HT TH TT HH Hà TH nh TH Hàn nhiệt 49

3.4.3 Đánh giá kết quả -:-©c<+Ek 222k 2 1 211221 211271211 T1 1111.111 1 kg 53 3.5 Phương hướng phát triỂn -: 2 +¿©2<+SE£+EE£EEE+EEEEEESEEE211E2112112711211711211711 1121.111 ce 53 KET LUẬN 2-52 22< 2ESEE2115E12111711211211 21171111211 T1E 1111.111.111 H1 101g 54 PHU LUC 1: GIA MAO TIEN TRÌNH - 2-2 <+SE+EE+EE2EEEE11271211211121171121121.21171 11.1 cre 55 PHỤ LỤC 2: DANH SÁCH MỤC TIÊU KHAI THÁC DLL SIDELOADING VỚI

IFILEOPERAA TION 2 ©2£© £+SE£9EE9EE2EE9E155E1221121112112711211111211111T1.1E 11.1.1111 xe cre 57

PHU LUC 3: GIA MAO HAM EXPORT CUA DLL VỚI PE INJECTION -: ¿+ 62

3.1 Phan 0 8n ẽ s 63

3.2 Phuong phap thurc Wim ' 64

3.3 Mã khai thac o ccescesceccsecssessessssssvessessusssesssessscssessecsssssesssessecssessssssecsuessecsuessessussseessessesseeseeesecases 65

PHU LUC 4: DANH SÁCH MỤC TIÊU KHAI THAC HIJACK SXS VỚI IFILEOPERATION 69

Nguyễn Đức Hoằng — B17DCAT084 V

Trang 9

Đồ án tốt nghiệp Danh mục ký hiệu và từ viết tắt

DANH MỤC KÝ HIỆU VA TỪ VIET TAT

Ký hiệu Tên tiếng Anh

ACE Access Control Entry

API Application Programming Interface

COM Component Object Model

DACL Discretionary Access Control List

DLL Dynamic Linking Library

PEB Process Environment Block

PSAPI Process Status Application Programming Interface

UAC User Account Control UWP Universal Windows Platform Windows SxS Windows Side-by-side

Nguyễn Đức Hoang — B17DCAT084 vi

Trang 10

Đồ án tốt nghiệp Danh mục bảng

DANH MỤC BANG

Bang 1.1: Một số SID thường gặpp -2 2-5222 2EE‡EE SE EE2E122121211221711211 1121 re 5

Bảng 1.2: Một số đặc quyền mặc định được cấp trên WindOWS Ặ S2 sccscece 12

Bảng 1.3: Mô tả tuỳ chọn kiêm soát hành vi của cơ chế kiểm soát tài khoản người dùng 24Bang 1.4: Các mức độ toàn vẹn trên WIndOWS HS HH gu ng nh cư25

Bảng 1.5: Chính sách kiểm soát tính toàn vẹn bắt DUOC Qnn SH ng 27

Bảng 2.1: So sánh Process injection và Masquerading process khi khai thác lỗ hồng PSAPI30Bảng 2.2: Một số mục tiêu đã bị mã độc khai thác DLL sideloading với IFileOperation 32

Nguyễn Đức Hoằng — B17DCAT084 vil

Trang 11

Đồ án tốt nghiệp Danh mục hình vẽ

DANH MỤC HÌNH VE

Hình 1.1: Quan sát chủ sở hữu của các mô-đun trong thư mục system32 - - - 6

Hình 1.2: Quan sát SID đăng nhập thông qua Process Explorer 5+5 << <++sx++ 7 Hình 1.3: Access TOK€T - - G1 HH HH re 8

Hình 1.4: Ví dụ về DACL và kiểm tra quyền truy cập . -¿- ¿5+ ©5++c++£xczzserxrzxesrxee 0

Hình 1.5: TrustedInstaller ACE và LocalAdministrators ACE 5-55 c+<<+<<<c<<2 1

Hình 1.6: Liệt kê các đặc quyền thông qua câu lệnh whoami -2- ¿©2222 2Hình 1.7: Quá trình đăng nhập G5 E1 31210991 911931 01 01 01 ng nh ng nh n 6Hình 1.8: Các đặc quyền trên thẻ truy cập đã lọc quyền quản trị -2- + sz+szcs+¿ 6Hình 1.9: Các đặc quyền trên thẻ truy cập quyền quản trị -: ¿ 22 ©+22++2s++zx+zzsse¿ 7Hình 1.10: Lời nhắc đồng ý - 2 2£ ©S£2SE+EE£2EE2EEE2E21127171127171211211211211 2121 8Hình 1.11: Lời nhắc thông tin xác thực ¿ ¿+¿+++2++2Ext2Ext2EEtEEEtEEkrrkrerkrerrrerkeee 8Hình 1.12: Khởi chạy ứng dụng quản trị với tư cách là người dùng tiêu chuẩn 9Hình 1.13: Chữ ký số của Microsoft WindOWs - ¿5c Sc2t E2 2 1211211211211211 2112121 xe 20Hình 1.14: Mã nguồn dịch ngược appinfo.dll kiểm tra thư mục an toàn -:- 21Hình 1.15: Mã nguồn dich ngược appinfo.dll kiểm tra thuộc tính autoElevate - 21

Hình 1.16: Mau manifest chứa thuộc tinh autoElevate cccccccscscsssscssscsececececesesecsveveveveeseceens 22

Hình 1.17: Khoá registry COM Elevation 0.0.0 ccc ec eseesecsecesceseseeseeeseesesesseseaesaseeseaeeaee 22

Hình 1.18: COMAutoApprovalList trên Windows 10 build 19041 - s5 <<<<++23

Hình 1.19: Cửa số User Account Control Settings ¿2© 2 s+E+E++£x+zEzEkerxezrssrxee 23

Hình 1.20: Quan sát mức độ toàn vẹn trên Process Explorer 5+ +-+++x>+x+ss++x+s 26 Hình 2.1: Sao chép tệp tin vào thư mục system32 thông qua mspainf.eXe - - ‹29

Hình 2.2: ImagePathName trong Process Environment BlocK «- «+ ss£ssessess 30

Hình 2.3: Ví dụ luồng thực thi DLL sideloading với IFileOperation -¿-5-s+- 32

Hình 2.4: Mẫu manifest cài đặt cứng đường dẫn tới DLL - 2 2+25z+5++5++s+2s++2 34

Hình 2.5: Sơ đồ tổng quan phương thức tìm kiếm DLL tĩnh -2- ¿©2222 35Hình 2.6: Sơ đồ tổng quan phương thức tìm kiếm DLL động 2: ¿©2252 36Hình 2.7: Bộ lọc Process Monitor tìm kiếm DLL GONG eee ÖỐỏ 37

Hình 2.8: Cơ chế hoạt động của Windows SXS ccescessesssessessessessesssessessssssessesssessesssessessecsseeses 38

Hình 2.9: Mau Manifest chứa assemblyldentity ¿2-5 ©5+22++2++2£++zxvzxvzzxerxrzrrsrxee 38

Nguyễn Đức Hoằng — B17DCAT084 Vili

Trang 12

Đồ án tốt nghiệp Danh mục hình vẽ

Hình 2.10: dccw.exe tìm kiếm và tải lên gdiplus.dÏl 2+ 5¿©2+222+2zx2zx+zzxvzzxsrssee 39Hình 2.11: Cấu trúc thư mục đccw.exe.local chứa DLL -¿- 52 s+E+EeEE+E+EeEEzEsEererezrrree 39Hình 2.12: Luéng thực thi Hijack SxS với IFileOperation -2¿©2¿ s2 ©z+2x++zzzzzseee 40Hình 2.13: Bộ lọc Process Monitor tim kiếm DLL SxS - 2-52 2+SE2EE+E2E2ErErEerreee 41Hình 2.14: Thông tin về COM CMSTPLLUA -.2- 22 ©5222S+2EE22EE2EE2EEEEEEEEerrrerxrersree 42Hình 2.15: Hai phương thức bị khai thác trên interface CMSTPLUA - -«- 42Hình 2.16: Luồng thực thi ShellExec trên COM CMSTPLUA -2 2:©25scs+sz+c5+2 43Hình 2.17: Thực thi câu lệnh độc hại với IcolorlDataPrOXY - -¿- 5+3 *++++vx+ex+exexes 44Hình 2.18: Luéng thực thi SetRegistryStringValue trên COM CMSTPLUA - 44Hình 3.1: Công cụ kiêm thử UAC Checker + 2 ©s£+£+x£+E£+EE£EEt£EE+EEtrEezrxerxerresrxee 46Hình 3.2: Sơ đồ hoạt AON CUA CONG CU 0n 47

Hình 3.3: Tải công cu UAC Checker từ Github - 5 2+ 1 19 1H HH ng ni 48

Hình 3.4: Đối tượng thử nghiệm 2-22 22 522EE+2EE+2EE2EE+EEE2EEEEEEEE2E1 21122 2Excrrree 49Hình 3.5: Cài đặt công cụ UAC Checker - - - 5c 2c 3333333131351 krrkrei 49Hình 3.6: Danh mục kiểm thử CU GONG ooo eee =ỐÖỐÖỐ ,Ô 50Hình 3.7: Kết quả kiểm thử theo thời gian thuc c.ccccccssesssessesssessesseessessesssessessssesessesssessecseeeses 50Hình 3.8: Kết quả kiểm thử tự động nằm trong thư mục report -2- s2 2+2 50Hình 3.9: Kết quả kiểm thử tự động Chi tiẾt - 2 2 ©5£+S£+EE£2E+EEEEECEEEEEEEEEEEEErkrrrrrrree 51Hình 3.10: Thử nghiệm tấn công - 2-2 2 +2S£+EE£EE2EESEEEEEEEEEEEEEEEEEEEEEEEEEErkrrkrrrvee 51Hình 3.11: Thử nghiệm tan công SxS hijack với IFileOperation -:-s¿ 252 52Hình 3.12: Cau hình thử nghiệm tan công SxS hijack với IFileOperation -. - 52Hình 3.13: Thử nghiệm tan công thành công 2: £ 2 k£2E++EE£EE£2EEEEEEEEEEEEEErrkerrkee 53

Nguyễn Đức Hoang — B17DCAT084 ix

Trang 13

Đồ án tốt nghiệp Lời mở đầu

LỜI MỞ ĐẦU

Máy tính đã bước vào cuộc sống của chúng ta từ những năm 1980, tạo nên nhiều thay đổilớn cho thế giới và giới hạn của loài người Đây là một thiết bị công nghệ cao có tầm ảnh hưởngrất lớn tới con người từ học tập, lao động cho đến giải trí Trong thời đại 4.0 hiện nay, máy tính

là một phần không thể thiếu trong quá trình phát triển của mọi cá nhân, tổ chức và doanh

nghiệp.

Tuy nhiên song song với quá trình phát triển của máy tính điện tử là sự phát triển và gia

tăng chóng mặt của các nhóm tấn công, các dòng mã độc độc hại Tại Việt Nam, theo báo cáothường kỳ 6 tháng đầu năm 2021 của công ty An ninh mạng Viettel [1], Việt Nam là một trong

những điểm nóng về tần công mã độc Báo cáo ghi nhận hàng trăm cuộc tan công có chủ đích(APT), hàng nghìn máy chủ, tên miền độc hại được sử dụng làm máy chủ điều khiển mã độc

Dữ liệu cá nhân của hàng triệu người dùng được hacker rao bán công khai trên các trang mạng.

Mục tiêu của chiến dịch chủ yếu nhắm vào chính phủ, tài chính ngân hàng Đặt ra yêu cầu cấpbách về việc bảo vệ an toàn thông tin nước nhà

Ké từ những mẫu mã độc đơn giản đầu tiên như Elk Cloner, LOVEYOU, cho tới cácmẫu mã độc APT, mã độc đảo tiền ảo phức tạp ngày nay, chúng luôn được vũ trang gia tăngkhả năng lây nhiễm, ân náu, khai thác và phá hoại Hãng bảo mật MITRE trong ma trận các kỹthuật tấn công ATT&CK [2] đã liệt kê 218 kỹ thuật khác nhau thường được sử dụng bởi mãđộc, con số này vẫn đang tăng dần theo thời gian

Cơ chế kiểm soát tài khoản người dùng được Microsoft giới thiệu cùng Windows Vista vàonăm 2007 trong nỗ lực giảm thiểu khả năng lây nhiễm và tác động xấu của mã độc Với cơ chếkiểm soát tài khoản người dùng, các ứng dụng và tác vụ luôn chạy trong ngữ cảnh bảo mật bịgiới hạn, trừ khi người dùng cho phép quyền thông qua một cửa sô xác nhận Cơ chế kiểm soáttài khoản người dùng có thé chặn cài đặt tự động các ứng dụng trái phép và ngăn các thay đổi

vô tình hay cé tình đối với cài đặt hệ thống Qua đó giảm thiểu tác động của các phần mềm độchại và bảo vệ dữ liệu nhạy cảm của người dùng.

Trong quá trình tan công một máy tính cá nhân sử dụng hệ điều hành Windows, kẻ tan công

phải vượt qua cơ chế kiểm soát tài khoản người dùng dé có thé nâng cao đặc quyền Khi bị cơchế kiểm soát tài khoản người dùng ngăn chặn, các đặc quyền và khả năng khai thác của kẻ tắn

công bị giới hạn tới mức tối đa, không gây ảnh hưởng tới hệ thống Ngược lại, nếu cơ chế kiêm

soát tài khoản người dùng bị khai thác, kẻ tan công có thé leo quyền lên mức cao nhất, qua đólàm tiền đề cho các pha tiếp theo của cuộc tan công như đánh cắp thông tin xác thực, khám phá

hệ thống mang, leo thang tan công lên máy chủ Domain Controller, thu thập thông tin mật,

Vượt qua cơ chế kiểm soát tài khoản người dùng được hãng bảo mật MITRE xếp vào nhómcác kỹ thuật lạm dụng cơ chế kiểm soát nâng cao (Abuse elevation control mechanism) thuộchai mục tiêu chiến thuật lớn là Nâng cấp đặc quyền (Privilege Escalation) và Né tránh phòngthủ (Defense Evasion) [3] Đây đều là hai mục tiêu lớn cần phải đạt được của mọi chiến dịchtấn công mã độc

Nguyễn Đức Hoằng — B17DCAT084 1

Trang 14

Đồ án tốt nghiệp Lời mở đầu

Microsoft đã đánh đổi khả năng bảo mật lấy sự tiện lợi trong việc cho phép một số ứngdụng quan trọng có tần xuất sử dụng cao tự vượt qua cơ chế kiểm soát tài khoản người dùng.Điều này đã được các nhóm tan công khai thác triệt dé thông qua rất nhiều kỹ thuật và biến thékhác nhau Tham chiếu theo bộ “7ïêu chí đánh giá hệ thong máy tinh đáng tin cậy” (TrustedComputer System Evaluation Criteria) hay còn được gọi là “sách cam” [4], việc vượt qua cơchế kiểm soát tài khoản người dùng không vượt qua ranh giới bảo mật mà một hệ điều hànhphải có Chính vì vậy, các kỹ thuật vượt qua cơ chế kiểm soát tài khoản người dùng không

được coi là lỗ hồng bảo mật, Microsoft hiếm khi có động thái chỉnh sửa Windows khắc phục

các kỹ thuật này.

Từ năm 2007 tới nay, số lượng các kỹ thuật vượt qua cơ kiểm soát tài khoản người dùngkhông ngừng gia tăng và được triển khai trong các cuộc tấn công thực tế Các tổ chức, nhómtấn công luôn luôn vũ trang các kỹ thuật này vào mã độc, ví dụ như BlackEnergy, Empire,FinFisher, Tại Việt Nam ghi nhận rất nhiều mẫu mã độc có sử dụng các kỹ thuật vượt qua

cơ chế kiêm soát tài khoản người dùng trong các chiến dịch tan công của APT32, Gobin Panda,Mustang Panda, Song song với đó, rất nhiều mã khai thác, bài viết được công bố rộng rãi

trên internet ví dụ như UACME của hfirefOx [5] Tuy nhiên tới nay vẫn chưa có một tài liệu

hay công cụ chính thống nào phục vụ mục đích kiểm thử khả năng vượt qua cơ chế kiểm soáttài khoản người dùng này, đặt ra bài toán lớn trong việc thống kê, tài liệu hoá, đưa ra phương

Trong phạm vi đồ án của mình, em xin trình bày một số thông tin cơ bản về bảo mật trên

hệ điều hành Windows, cơ chế kiểm soát tài khoản người dùng và các cơ chế vượt qua thườnggặp, từ đó phát triển xây dựng công cụ kiểm thử

Theo đó, đô án của em sẽ bao gôm 3 chương theo câu trúc:

- _ Chương 1: Kiểm soát truy cập và 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 tan công vào tài khoản quyền quan trị và cách thức UAC giảiquyế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ámphá, đư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 thir 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êucau, 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 — B17DCAT084 2

Trang 15

Đồ án tốt nghiệp Lời mở đầu

- Phu lục 1: Giả mạo tiến trình

- Phu lục 2: Danh sách mục tiêu khai thác DLL sideloading với IFileOperation.

- Phu lục 3: Giả mạo ham Export của DLL với PE Injection.

- Phu lục 4: Danh sách mục tiêu khai thác Hijack SxS với [FileOperation.

Chỉ 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 — B17DCAT084 3

Trang 16

Đồ án tốt nghiệp Chương 1: 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 SOÁT TRUY CẬP VÀ CƠ CHE

KIEM SOÁT TÀI KHOẢN NGƯỜI 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 AccessControl List— DACL) và một số cơ chế khác hoạt động có móc nối với nhau, UAC đã gópphầ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 nay, đồ á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à tam anh

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

1.1 Xác định danh tính và quyền truy cập

1.1.1 Mã định danh bảo mật

Thay vì sử dụng tên (có thé là duy nhất hoặc không duy nhất) dé xác định các thực théthực hiện các hành động trong hệ thống, Windows sử dụng Mã định danh bảo mật (Securityidentifiers — 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:

- Mot Revision: Số hiệu phiên bản SID

-_ Một Identifier Authority: Giá trị định danh tác gia dài 48 bit xác định tác nhân đã cấp

SID, tác nhân này thường là một hệ thống cục bộ Windows hoặc một miễn

- _ Một vai 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 dé xác định nơi cấphay chỉ đơn giản dé tạo ra các SID duy nhất từ 1 SID cơ sở

Vi 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 hau 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 ở bat kỳ đâu trên thé giới

Khi được hiển thị đưới dang văn bản, mỗi SID mang một tiền tố S và các thành phần khácnhau của nó được phân tách bang dau gạch ngang như sau:

S-1-5-21-1463437245 -1224812800-863842198-1128

Trong SID này, số hiệu phiên ban 1, giá trị định danh tác giả là 5 (co quan bảo mậtWindows) và năm giá trị uỷ quyền phụ khác tạo nên phan còn lại của SID SID này là một SIDmiề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 sẵn để đại diện chocá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 an danh)Nguyễn Đức Hoang — B17DCAT084 4

Trang 17

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

là Everyone 1-1-0) Một ví dụ khác về nhóm mà SID có thể đại diện là Network Group 1-5-2) đại diện cho những người dùng đã đăng nhập vào một máy từ mạng Bảng 2.1, được saoché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á tri 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ànhviê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ớiEveryOne 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

(S-đó phải xác thực tài khoản trên các hệ thống (S-đó trước khi trở thành thành viên của nhóm

$-1-I-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- musteg MS" | hành Windows Hình 2.1 dưới đây thé

185329263 1- hién diéu nay

2271478464

Chỉ tiết về SID và các van đề liên quan tham khảo tai [7]

Nguyễn Đức Hoằng — B17DCAT084 5

Trang 18

Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Đồ án tốt nghiệp

L1 > ThisPC » LocalDisk(C:) › Windows » System32 vy &

A

Name Date modified Type Size Owner

|8 MCCSEngineShared.dll 06/10/2021 8:53 pm Application exten 174KB Trustedlnstaller

|8 MCCSPal.dil 06/12/2019 11:35 pm Application exten 31 KB TrustedInstaller

[| mciavi32.dll 07/12/2019 4:09 pm Application exten 102KB Trustedlnstaller

[| meicda.dil 07/12/2019 4:08 pm Application exten 49KB Trustedlnstaller

R3 meiqtz32.dll 07/12/2019 4:09 pm Application exten 43KB Trustedlnstaller

|8 mciseq.dll 07/12/2019 4:08 pm Application exten 31 KB Trustedlnstaller

[2] mciwave.dil 07/12/2019 4:08 pm Application exten 31 KB TrustedInstaller

[8] MCRecvSrc.dll 06/10/2021 8:52 pm Application exten 1,075 KB TrustedInstaller

R3 mcupdate_AuthenticAMD.dll 07/12/2019 4:08 pm Application exten 108KB Trustedlnstaller

|8 mcupdate_Genuinelntel.dll 07/12/2019 4:08 pm Application exten 2,569 KB Trustedinstaller

=| MDEServer.exe 06/10/2021 8:52 pm Application 444 KB Trustedlnstaller

5=| MDMAgent.exe 06/10/2021 8:51 pm Application 154KB Trustedlnstaller

[El MDMApplnstaller.exe 06/10/2021 8:52 pm Application 152KB Trustedlnstaller

2] MdmCommon.dll 06/10/2021 8:51 pm Application exten 178KB Trustedlnstaller

|8 MdmDiagnostics.dll 19/12/2021 6:13 pm Application exten 2,047 KB Trusted|nstaller

8=| MdmDiagnosticsTool.exe 19/12/2021 6:13 pm Application 52KB 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

EB mdmmigrator.dll 19/12/2021 6:13 pm Application exten 149KB Trustedlnstaller

8 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 85 KB Trustedlnstallar

[x] MdSched.exe 07/12/2019 4:09 pm Application 91 KB Trustedlnstallar

Hình 1.1: Quan sát chủ so hữu cua các mé-dun trong thư mục system32

Mỗi khi người dùng đăng nhập vào hệ thống, Winlogon tạo một SID đăng nhập (logonSID) 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

Trang 19

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

WW explorer.exe:15920 Properties — <

Image Performance Performance Graph Disk and Network

GPU Graph Threads TCP/IP Security Environment Strings |

User: DESKTOP-8UKSH3F \hoang

—= SID: §-1-5-21-601148942-6433066 1-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.1101@qmail Mandatory

NT AUTHORITY Authenticated Users Mandatory

NT AUTHORITY\Cloud Account Authentication = Mandatory

NT AUTHORITYMNTERACTIVE Mandatory

NT AUTHORITY \Local account Mandatory

NT AUTHORITY Local account and member df Deny »

Group SID: nja

Hình 1.2: Quan sát SID dang nhập thông qua Process Explorer 1.1.2 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 danhtí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, tat cả các thẻ truy cập đều

Nguyễn Đức Hoằng — B17DCAT084 7

Trang 20

Đồ án tốt nghiệp Chương 1: 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.

Hệ thống sử dụng thẻ truy cập dé 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ỗ gang thực hiện một tác vụ hệ thong 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.

Thông tin mạo danh (nếu có)

Đề đảm bảo an ninh hệ thống, các trường trong thẻ truy cập là bất biến (vì chúng nằm trong

bộ nhớ nhân) Ngoại trừ các trường có thể được sửa đổi thông qua Windows APIAdjustTokenPrivileges (giả sử người gọi có quyên truy cập thích hợp vào đối tượng mã thôngbáo), dữ liệu như đặc quyền và SID trong thẻ truy cập không bao giờ có thể được sửa đổi từchế độ người dùng

Nguyễn Đức Hoằng — B17DCAT084 8

Trang 21

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

1.1.3 Mạo danh

Mao danh (Impersonation) là khả năng của một luỗng thực thi bằng cách sử dụng thôngtin bảo mật khác với tiến trình sở hữu luồng đó Thông thường, một luồng trong ứng dụng máychủ đóng giả một máy khách Điều này cho phép luồng máy chủ thay mặt cho máy khách đótruy cập các đối tượng trên máy chủ hoặc xác thực quyền truy cập vào các đối tượng của chínhmáy khách.

Ví dụ, một ứng dụng máy chủ có thể cung cấp quyền truy cập vào các tài nguyên như tệp,

máy in và cơ sở dữ liệu Máy khách muốn truy cập một tài nguyên gửi yêu cầu đến máy chủ.Khi máy chủ nhận được yêu cầu, nó phải đảm bảo rằng máy khách có quyền thực hiện các hoạt

động mong muốn trên tài nguyên Ví dụ: nếu người dùng trên máy từ xa cố gắng xóa tệp trên

chia sẻ NTFS, máy chủ xuất chia sẻ phải xác định xem người dùng có được phép xóa tệp hay

không Cách rõ ràng dé xác định xem người dùng có quyền hay không là dé máy chủ thôngqua SID người dùng, SID nhóm và quét các thuộc tính bảo mật trên tệp Cách tiếp cận này khá

tẻ nhạt đối với chương trình, dé xảy ra lỗi và sẽ không cho phép các tính năng bảo mật mới

được hỗ trợ một cách minh bạch Do đó, Windows cung cấp dịch vụ mạo danh đề đơn giản hóa

công việc của máy chủ.

Mạo danh cho phép máy chủ thông báo cho Windows rằng máy chủ đang tạm thời chấpnhận hồ sơ bảo mật của một máy khách đưa ra yêu cầu tài nguyên Sau đó, máy chủ có thê truycập tài nguyên thay mặt cho máy khách và Windows thực hiện xác thực quyền truy cập, nhưng

nó làm như vậy dựa trên bối cảnh bảo mật máy khách mạo danh Thông thường, một máy chủ

có quyền truy cập vào nhiều tài nguyên hơn một máy khách và việc mạo danh khiến một sốthông tin xác thực bảo mật trở nên mơ hồ, khó kiểm soát

Máy chủ chỉ mạo danh một máy khách trong chuỗi thực hiện yêu cầu mạo danh Cấu trúckiểm soát đữ liệu của luồng chứa rất nhiều mục nhập tuy chọn cho token mạo danh Tuy nhiên,

token chính của luồng, đại diện cho thông tin xác thực bảo mật thực của luồng luôn có thể truy

cập được trong cấu trúc kiểm soát của tiến trình

Đề ngăn chặn các tình huống giả mạo trong đó tiến trình có mức độ toàn vẹn thấp tạo giaodiện người dùng thu thập thông tin đăng nhập và sau đó sử dụng LogonUser dé lay token củangười dùng đó, một chính sách toàn vẹn đặc biệt áp dụng cho các trường hợp mạo danh: mộtluồng không thể mạo danh token có mức độ toàn vẹn cao hơn sở hữu Ví dụ: một ứng dụng cómức độ toàn vẹn thấp không thê giả mạo hộp thoại truy vấn thông tin xác thực quản trị và sau

đó cố gang khởi chạy một tiến trình ở cấp đặc quyền cao hơn Chính sách cơ chế toàn vẹn đốivới các token mạo danh là mức độ toàn vẹn của token được trả về bởi LsaLogonUser không

được cao hơn mức độ toàn vẹn của tiến trình gọi

1.L4 Danh sách kiểm soát truy cập và bộ mô tả bảo mật

Danh sách kiểm soát truy cập (Access Control Lists — ACL) gồm danh sách các mục kiếm

soát truy cập (Access Control Entries - ACE) Mỗi ACE trong ACL xác định một người được

ủy thác và chỉ định các quyền truy cập được phép, bị từ chối hoặc được kiểm toán đối với ngườiđược ủy thác đó Trên hệ điều hành Windows tồn tại ít nhất hai dạng ACL: Danh sách kiểm

Nguyễn Đức Hoang - B17DCAT084 9

Trang 22

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

soát truy cập tùy ý (Discretionary Access Control List— DACL) và Danh sách kiểm soát truycập hệ thống (System Access Control List— SACL)

DACL xác định những người được ủy thác được phép hoặc bi từ chối quyền truy cập vàomột đối tượng bảo mật Khi một tiễn trình cố gắng truy cập vào một đối tượng bảo mật, hệthống sẽ kiểm tra các ACE trong DACL của đối tượng dé xác định xem có cấp quyền truy cậpcho nó hay không Nếu đối tượng không có DACL, hệ thống sẽ cấp toàn quyên truy cập chotất cả mọi nguoi Nếu DACL của đối tượng không có ACE, hệ thong sẽ từ chối mọi nỗ lực truycập đối tượng vi DACL không cho phép bat kỳ quyền truy cập nào Hệ thông kiểm tra các ACEtheo trình tự cho đến khi tim thấy một hoặc nhiều ACE cho phép tat cả các quyền truy cập đượcyêu cầu hoặc cho đến khi bất ky quyén truy cap nao được yêu cầu bị từ chối, vì vậy thứ tự sắpxếp các ACE rất quan trọng

Hình minh họa sau đây cho thấy một DACL từ chối quyền truy cập cho một người dùng

và cấp quyền truy cập cho hai nhóm Các thành viên của Group A có quyên truy cập đọc, ghi

và thực thi bằng cách tích lũy các quyền được phép cho Group A và các quyền được phép choEveryone Ngoại lệ là Andrew, người bị ACE từ chối quyền truy cập mặc dù là thành viên của

Ob ject bal Thread A

J

Access denied

DOACL Access taken

Hình 1.4: Ví dụ về DACL và kiểm tra quyên truy cập

Danh sách kiểm soát truy cập hệ thống (System Access Control List — SACL) cho phép

quản trị viên ghi nhật ký các nỗ lực truy cập vào một đối tượng được bảo mật Mỗi ACE chỉđịnh các loại nỗ lực truy cập của một người được ủy thác cụ thể khiến hệ thong tạo một ban

ghi trong nhật ký sự kiện bảo mật Một ACE trong SACL có thể tạo hồ sơ đánh gia (audit

record) khi một nỗ lực truy cập không thành công, khi nó thành công hoặc cả hai.

Bộ mô tả bảo mật (Security Descriptor) chứa thông tin bảo mật được liên kết với một đốitượng bảo mật Bộ mô tả bảo mật bao gồm cau trúc SECURITY_DESCRIPTOR và thông tinbảo mật liên quan của nó Bộ mô tả bảo mật có thể bao gồm các trường thông tin sau:

Nguyễn Đức Hoằng — B17DCAT084 10

Trang 23

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

- SID của chủ sở hữu và nhóm chính của đối tượng

-_ Một DACL xác định quyền truy cập được phép hoặc bị từ chối đối với người dùng hoặc

nhóm cụ thé

- M6tSACL chỉ định các loại nỗ lực truy cập sẽ tạo ra các ban ghi kiểm tra cho đối tượng

- - Một tập hợp các bit điều khiến xác định ý nghĩa của một bộ mô tả bảo mật hoặc các

thành phần riêng lẻ của nó

© ARP.EXE Properties < | i) ARP.EXE Properties <

General Security Details Previous Versions General Security Details Previous Versions

Object name: C:\Windows\System32\ARP.EXE Object name: C:\Windows`5ystem32vARP.EXE

Group or user names: Group or user names:

82 SYSTEM A S82 SYSTEM A

S2 Administrators (DESKTOP-8UKSH3F\Administrators) Administrators (DE: )P-8UKSH3F\Administrators)

Ê# Users (DESKTOP-8UKSH3F\Users) &2 Users (DESKTOP-8UKSH3F\Users)

Trustedinstaller 52 Trustedinstaller v

« > < >

To change permissions, click Edit @eut To change permissions, click Edit @ edi

Pemissions for TrustedInstaller Allow Deny Pemnissions for Administrators Allow Deny

Full control vA Full control

Modify v Modify

Read & execute wv Read & execute wv

Read v Read v

Write wv Write

Special permissions Special permissions

For special permissions or advanced settings, For special permissions or advanced settings,

click Advanced Advanced click Advanced Advanced

Cancel | | Beal Cancel_| | 2osj

Hinh 1.5: TrustedInstaller ACE va LocalAdministrators ACE

Quan sát hình 4 bên trên, có thé thấy răng các tệp tin quan trọng của hệ thong thuộc chu

sở hữu TrustedInstaller với tat ca quyền kiểm soát, ngược lại mọi người dùng khác trên hệthống đều chỉ có quyền đọc và thực thi Việc cấu hình các ACE như vậy khiến cho các chương

trình độc hại, kê cả quan trị viên hệ thống không thé tuỳ ý sửa đổi một cách trái phép các tệptin hệ thống này Tương tự với hệ thống tệp, các đối tượng được bảo vệ khác (vi dụ như registry)cũng sử dụng cơ chế kiểm soát ACL này Tuy nhiên, một số đặc quyền khác có thể giúp quảntri viên hệ thống tác động vào các đối tượng được bảo vệ Đặc quyền và khả năng của nó sẽđược trình bày ngay trong phần dưới đây

1.1.5 Đặc quyền của tài khoản

Đặc quyền của tài khoản (Account privileges) là quyền của tài khoản cho phép thực hiệncác hoạt động khác nhau liên quan đến hệ thống trên máy tính cục bộ, chang hạn như tắt máy,tải trình điều khiển thiết bị hoặc thay đổi thời gian hệ thống Đặc quyền khác với quyền truycập theo ở hai điểm lớn:

Nguyễn Đức Hoằng — B17DCAT084 11

Trang 24

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

- _ Đặc quyền kiểm soát quyền truy cập vào tài nguyên hệ thống và các tác vụ liên quan

đến hệ thống, trong khi quyền truy cập kiểm soát việc truy cập vào các đối tượng bao

mật.

- - Người quản trị hệ thống chỉ định đặc quyền cho tài khoản người dùng và tài khoản

nhóm, trong khi hệ thống cấp hoặc từ chối quyên truy cập vào đối tượng bảo mật dựatrên mức độ toàn ven và quyên truy cập được cấp trong DACL của đối tượng

Mỗi hệ thống có một cơ sở dữ liệu tài khoản lưu trữ các đặc quyền của tài khoản người

dùng và tài khoản nhóm Khi người dùng đăng nhập, hệ thống tạo ra một thẻ truy cập (access

token) chứa danh sách các đặc quyền của người dùng, bao gồm những đặc quyền được cấp chongười dùng hoặc cho các nhóm mà người dùng thuộc về Lưu ý rằng các đặc quyên chỉ áp dụngcho máy tính cục bộ; tài khoản miễn có thé có các đặc quyền khác nhau trên các máy tính khác

Bảng 1.2 dưới đây mô tả một số đặc quyền mặc định được cấp trên Windows

Bảng 1.2: Một số đặc quyển mặc định được cấp trên WindowsĐặc quyền Mô tả

SeShutdownPrivilege Tắt hệ thống

Được sử dụng bởi NTFS dé tránh việc kiểm t

SeChangeNotifyPrivilege mạc sự uns » nak can wage Samra

quyên hạn khi duyệt cây thư mục

Nguyễn Đức Hoằng — B17DCAT084 12

Trang 25

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chế kiểm soát tài khoản người dùng

noi khỏi các thiết bị khác

SeIncreaseWorkingSetPrivilege Gián tiếp cho phép các tiến trình có thé tăng giá trị

giới hạn đưới các tài nguyên được cung cấp

SeTimeZonePrivilege Thay đổi thời gian, vùng miền của hệ thống

Ngoài ra còn có một sô đặc quyên quan trọng, có sự ảnh hưởng lớn với hệ thông sau:

Gỡ lỗi chương trình (SeDebugPrivilege): Người dùng có đặc quyền này có thé mở bat

kỳ tiến trình nào trên hệ thống thông qua Windows API OpenProcess (ngoại trừ tiễn

trình được bảo vệ) mà không cần quan tâm đến bộ mô tả bảo mật có trong tiễn trình Ví

dụ: người dùng có thể triển khai một chương trình mở tiến trình Lsass, sao chép mãthực thi vào không gian địa chỉ của nó, sau đó chèn một luồng với API Windows

CreateRemoteThread đề thực thi mã được đưa vào trong ngữ cảnh bảo mật đặc quyền

hơn Thông qua đó có thé cap cho người dùng các đặc quyền bồ sung va tư cách thành

viên nhóm.

Lấy quyền sở hữu (SeTakeOwnershipPrivilege): Đặc quyền nay cho phép chủ sở hữuquyên có khả năng sở hữu bat kỳ đối tượng bảo mật nào (ngay cả các tiến trình và luồngđược bảo vệ) băng cách ghi SID của chính mình vào trường chủ sở hữu của bộ mô tảbảo mật của đối tượng Nhớ lai rang chủ sở hữu luôn được cấp quyền đọc và sửa đổiDACL của bộ mô tả bảo mật, do đó, một tiến trình với đặc quyền này có thể sửa đổiDACL dé tự cấp quyền truy cập day đủ vào đối tượng, sau đó đóng và mở lại đối tượngvới quyền truy cập day đủ Điều này sẽ cho phép chủ sở hữu quyền xem dit liệu nhạycảm và thậm chí thay thế các tệp hệ thống thực thi như một phần của hoạt động hệthống bình thường, chang hạn như Lsass bằng các chương trình riêng

Khôi phục tệp và thư mục (SeRestorePrivilege): Người dùng được chỉ định đặc quyềnnày có thé thay thé bat kỳ tệp nào trên hệ thống bang tệp của riêng họ Chủ sở hữuquyên có thể khai thác bằng cách thay thé các tệp hệ thống tương tự bên trên

Tải và gỡ trình điều khiến thiết bị (SeLoadDriverPrivilege): Người dùng độc hại cóthé sử dụng đặc quyền này dé tải trình điều khiến thiết bị vào hệ thong Trình điều khiểnthiết bị được coi là một phần đáng tin cậy của hệ điều hành Trình điều khiển luôn đượckhởi chạy với quyền và đặc quyền ở mức SYSTEM Thông qua trình điều khiển, mãđộc có toàn quyền điều khiến hệ thống, thậm chí chỉ định quyền và đặc quyền cho ngườidùng khác.

Tạo một đối tượng thẻ truy cập (SeCreateTokenPrivilege): Đặc quyên này có thé

được sử dụng để tạo thẻ truy cập cho các tài khoản người dùng tùy ý với thành viênnhóm tùy ý và chỉ định đặc quyên

Hoạt động như một phần của hệ điều hành (SeTcbPrivilege): Người dùng có thể sử

dụng tên người dùng và mật khẩu của riêng mình dé tạo phiên đăng nhập mới bao gồm

SID của nhiều nhóm hoặc người dùng đặc quyền hơn trong mã thông báo kết quả

Nguyễn Đức Hoằng — B17DCAT084 13

Trang 26

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

1.1.6 Tiểu kết

Qua năm đề mục bên trên, ta có thể nhận thấy rằng một chương trình độc hại thông thườngkhi được chạy với thẻ truy cập quyền quan trị có thé gây ảnh hưởng rất lớn tới hệ thống Thôngqua một số đặc quyền quan trọng được cung cấp, các chương trình độc hại có thể cài đặt mãđộc với quyền SYSTEM, gia mạo, thay thé các tệp tin của hệ thống,

1.2 Cơ chế kiểm soát tài khoản người dùng

Dé giải quyết van đề được đề cập tới trong phan tiểu kết bên trên Microsoft đã cho ra đười

cơ chế kiểm soát tài khoản người dùng Trong phần này, đồ án sẽ trình bày nguồn gốc ra đời,các bài toán mà UAC cần phải giải quyết Sau đó mô tả kiến trúc, chỉ ra các thành phần củaUAC giải quyết từng vấn đề ra sao

12.1 Nguồn gốc ra đời

UAC cho phép người dùng chạy với quyền người dùng tiêu chuẩn, trái ngược với quyềnquan trị Quyền quản trị cung cấp cho người dùng khả năng đọc và sửa đổi bat kì thành phầnnào của hệ điều hành, bao gồm cả của người dùng khác Không có quyền quản trị, người dùng

không thể vô ý (hoặc có ý) sửa đổi cài đặt hệ thống, phần mềm độc hại cũng không thể từ đó

xâm nhiễm vào sâu bên trong hệ thống Đặc biệt một người dùng tiêu chuẩn thông thườngkhông thé sử dụng quyền SeTakeOwnership dé xâm phạm thông tin nhạy cảm của người dùng

khác Do đó, việc chạy với quyền của người dùng tiêu chuẩn có thể giảm bớt rủi ro cho cácdoanh nghiệp hay người dùng cá nhân, giảm thiêu tác động của các phần mềm độc hại, giữ chothiết bị hoạt động ồn định và bảo vệ dữ liệu của mỗi người dùng Ké từ khi ra đời, UAC đãphải đối mặt với hai vấn đề sau:

- Trước Windows Vista (Windows XP trở về trước), các nhà phát triền phần mềm đều

mặc định các chương trình của họ được chạy với tài khoản quản trị Họ cho rằng cácchương trình của họ có thé truy cập và sửa đổi bat kì tệp, registry hoặc cấu hình hệthống Ngay cả khi Windows NT giới thiệu về khả năng bảo mật và sự khác biệt giữa

2 loại tài khoản, người dùng vẫn được hướng dẫn cài đặt các phần mềm với tài khoảnquan trị viên dựng sẵn (built-in Administrator) hoặc bat kì tài khoản nào có quyền quảntrỊ.

- _ Đôi khi người dùng tiêu chuẩn cần quyền quan trị dé thực hiện một số thao tác như cai

đặt phần mềm, thay đổi thời gian hệ thống, mở công trong tường lửa, Việc nângquyên hoặc chạy với quyền quản trị sẽ diễn ra như thế nào?

Microsoft đã giải quyết hai bài toán trên như sau:

- Tach biệt các tiến trình cần quyền quan trị khỏi các tiến trình thông thường sử dụng cơ

chế kiểm soát toàn vẹn bắt buộc, cách ly đặc quyền giao diện người dùng

- Phan tách thành từng vùng riêng biệt cho từng người dùng, khiến các chương trình vẫn

có thê tiếp tục sử dụng mà không cần phải sửa đôi, đồng thời đem lại hiệu quả bảo mậtcao hơn sử dụng cơ chế ảo hoá

- Nang quyền quản trị cho các tiến trình thông thường khi cần thiết sử dung cơ chế nâng

cao đặc quyền UAC

Nguyễn Đức Hoằng — B17DCAT084 14

Trang 27

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

L2.2 Mô tả kiến trúc

1.2.2.1 Thẻ truy cập bị han chế

Thẻ truy cập bị hạn chế (Restricted Token) chế được tạo từ token chính hoặc mạo danhbằng cách sử dụng chức năng CreateRestrictedToken Restricted Token là một bản sao củatoken mà nó có được, với các sửa đổi có thể có sau:

- Cac đặc quyên có thé bị xóa khỏi mảng đặc quyền của token

- SID trong thẻ truy cập có thé được đánh dấu là deny-only (chi từ chối)

- SID trong thẻ truy cập có thé được đánh dau là bị hạn chế Các SID này phải tuân theo

luồng thứ hai của thuật toán kiểm tra quyền truy cập, thuật toán này sẽ chỉ phân tích cúpháp các SID bị hạn chế trong token Kết quả của cả luồng thứ nhất và luồng thứ haiphải cấp quyền truy cập vào tài nguyên hoặc không có quyền truy cập nào được cấpcho đối tượng

Thẻ truy cập bị hạn chế chế rất hữu ích khi một ứng dụng muốn mạo danh máy khách ở

mức độ bảo mật thấp hơn, chủ yếu vì lý do an toàn khi chạy mã không đáng tin cậy Ví dụ: Thẻtruy cập bị hạn chế có thé được xóa đặc quyền tắt hệ thống (SeShutdownPrivilege) khỏi thẻ

chính để ngăn mã thực thi độc hại từ phía khách

Thẻ truy cập đã lọc quyền quản trị

Thẻ truy cập bị hạn chế cũng được UAC sử dụng để tạo thẻ truy cập đã lọc quyên quản trị

mà tất cả các ứng dụng người dùng sẽ kế thừa Thẻ truy cập đã lọc quyền quản trị có các đặcđiểm sau:

- Mức độ toàn vẹn được đặt thành Medium.

- _ Các SID quyền quản trị viên được đề cập trước đây được đánh dấu là “chi từ chối” dé

ngăn chặn các rủi ro bảo mật nếu nhóm bị xóa hoàn toàn Ví dụ: nếu một tệp có danh

sách kiểm soát truy cập (ACL) từ chối tất cả quyền truy cập của nhóm Administratornhưng đã cấp một số quyền truy cập cho một nhóm khác mà người dùng thuộc về, thìngười dùng sẽ được cấp quyên truy cập nếu nhóm Administrator không tồn tại trong

token.

- Tat cả các đặc quyền đều bị tước bỏ ngoại trừ Change Notify, Shutdown, Undock,

Increase Working Set, and Time Zone.

1.2.2.2 Chế độ phê duyệt của quản trị viên

Thẻ truy cập đã lọc quyền quản trị được ứng dụng triệt đề trong chế độ phê duyệt của quảntrị viên (Admin Approval Mode) trong UAC Theo đó, khi quản trị viên đăng nhập, hai thẻ truycập riêng biệt được tạo cho người dùng Một thẻ thẻ truy cập đã lọc quyền quản trị sử dụng chocác chương trình thông thường như explorer.exe, notepad.exe, word.exe, Ngược lại, một thẻ

Nguyễn Đức Hoằng — B17DCAT084 15

Trang 28

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.truy cập khác chứa đầy đủ các đặc quyền quản trị sử dụng cho các chương trình hệ thống như

hai loại thẻ truy cập:

Hình 1.8: Các đặc quyên trên thẻ truy cập đã lọc quyên quản tri

Nguyễn Đức Hoằng — B17DCAT084 16

Trang 29

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Hình 1.9: Các đặc quyên trên thẻ truy cập quyén quan trị

Khi người dùng cần thực thi một tác vụ sử dụng thẻ truy cập quản trị, Windows sẽ hiển thị

lên một cửa số xác nhận Cửa số này được gọi là lời nhắc nâng cao (elevation promt), các cơchế liên quan sẽ được trình bày trong phần dưới đây

1.2.2.3 Lời nhắc nâng cao đặc quyên

Khi UAC được bật, Windows sẽ nhắc nhở người dùng đồng ý hoặc đăng nhập tài khoảnquản trị viên hợp lệ trước khi bắt đầu một chương trình hoặc tác vụ yêu cầu thẻ truy cập quyềnquan trị viên Lời nhắc này đảm bảo răng không có chương trình độc hai nào có thé cai đặt âm

thầm

Khi một tệp tin được thực thi yêu cầu quyền quản trị viên hệ thống sẽ khiến dịch vụ thông

tin ứng dụng (Application Information Service — AIS) nằm tại %SystemRoot%\System32\Appinfo.dll chạy bên trong tiến trình lưu trữ dich vụ tiêu chuẩn (Standard service Host process

— S5vcHost.exe) khởi chạy %SystemRoot%\System32\ Consent.exe Consent áp dụng hiệu ứng

mờ cho màn hình, chuyển sang chế độ Secure Desktop và hiền thị hộp thoại nâng cao đặcquyền chứa thông tin về tệp tin thực thi Việc hiển thị hộp thoại này trên một màn hình riêngbiệt ngăn không cho bất kì một ứng dụng nào đang thực thi với tài khoản người dùng sửa đổigiao diện của hộp thoại.

Trang 30

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Publisher; Unknown

Show more details File origin: Hard drive on this computer

Show more details

¬ *

Hình 1.10: Lời nhắc đồng ý

b Lời nhắc thông tin xác thực

Lời nhắc thông tin xác thực được hiển thị khi người dùng tiêu chuẩn cố gắng thực hiện mộttác vụ yêu cầu thẻ truy cập quản trị của người dùng

maid Windo+: Command Processor

Verified publisher: Microsoft Windows

Show more details

To continue, enter an admin user name and password.

ký số) và nhà sản xuất chưa xác minh (chưa được ký số) Màu sắc của từng loại được mô tảnhư sau:

- Nén màu đỏ với biểu tượng chiếc khién màu đỏ: Ung dụng bi chặn bởi Chính sách

nhóm (Group Policy) hoặc của một nhà sản xuất bị chặn

Nguyễn Đức Hoằng — B17DCAT084 18

Trang 31

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

- _ Nền xanh dương với biểu tượng chiếc khiên màu xanh và vàng: Ung dụng này là ứng

dụng quan trị Windows, vi dụ nh Control Panel.

- _ Nền xanh lam với biểu tượng chiếc khiên màu xanh lam: Ung dụng được ký và được

máy tính cục bộ tin cậy.

- _ Nền màu vàng với biéu tượng chiếc khiên màu vàng: Ung dụng chưa được ký hoặc đã

được ký nhưng chưa được máy tính cục bộ tin cậy.

Nếu người dùng từ chối nâng cao đặc quyền, Windows sẽ trả về lỗi từ chối truy cập denied) cho tiến trình bắt đầu khởi chạy Khi người dùng đồng ý nâng cao đặc quyền bằng cáchnhập thông tin đăng nhập của quản trị viên hoặc nhấp vào đồng ý trong chế độ phê duyệt củaquản trị viên, AIS gọi hàm CreateProcessAsUser để khởi chạy tiến trình với thẻ truy cập quảntrị thích hợp Mặc dù về mặt kỹ thuật AIS là cha của tiên trình được nâng cao, AIS gán PIDcủa tiến trình thực tế thực hiện lời gọi cho PPID của tiễn trình mới được khởi chạy Hình 2.12chỉ ra các bước khi thực thi một tiến trình từ một tài khoản người dùng tiêu chuẩn

(access_ Thể truy cập

-quyên người dùng tiêu chuân

ShellExecute App.exe

Tai dinh nghia

tién trinh cha «———————*

' Dịch vụ thông tin ứng dung Consent.exe

Nguyễn Đức Hoang - B17DCAT084 19

Trang 32

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Với cau hình mặc định (sẽ được tình bày trong phần tiếp theo) hầu hết các tiến trình hệthống của Windows và ứng dụng điều khiển (Control Pannel, ) không dẫn đến lời nhắc nângcao cho người dùng quản trị, ngay cả khi họ cần quyền quản trị để chạy Điều này là do một cơchế có gọi tự động nâng cao đặc quyền (auto-elevate)

Hai điều kiện cơ bản sau giúp một tệp tin thực thi được tự động nâng cao đặc quyền, các

điều kiện này sẽ được kiểm tra bởi dịch vụ thông tin ứng dụng:

-_ Tệp tin thực thi phải được ký bởi Microsoft Windows.

Digital Signature Details ? *

General Advanced

=>, Digital Signature Information

=Í This digital signature is OK.

Name of signer: E-mail address: Timestamp

Microsoft Time-5 Not available Thursday, 5 Novemb

Details

Lx]

Hình 1.13: Chữ ky số của Microsoft Windows

- Duoc lưu trữ/thực thi trong một thư mục “an toàn”, ví dụ như %systemroot%\system32,

%SystemRoot%\Ehome, một số thư mục con của %ProgramFiles% (WindowsDefender, Windows Journal, ),

Nguyễn Đức Hoằng — B17DCAT084 20

Trang 33

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

[Mã loc_7FFE6C6F36FE:

mov ecx, ebx lea rdx, [rbp+3F0h+executablePath]

shl rex, 4

mov r&b, 1

6C6F36FE

Hình 1.14: Mã nguôn dịch ngược appinfo.dll kiểm tra thu mục an toàn

- _ Một số yêu cầu bồ sung khác:

o Với tệp tin thực thi (PE): Phải có trường autoElevate nhận giá tri true trong

manifest thuộc section resource (.rsrc).

mov [rsp+130h+pvData], rax

lea rax, [rbp+4Fh+var_C8]

mov [rsp+130h+pdwType], rax

mov [rsp+130h+pvData], 8 ; dwBuffer lea r9, settingName ; “ "

xor r8d, r8d ; settingsNameSpace mov [rsp+130h+pdwType], rax ; pvBuffer mov rdx, r15 ; hActCtx

xor ecx, ecx ; dwFlags call cs:QueryActCtxSettingsw

eax, eax

loc_7FF8158572D3

]Hình 1.15: Mã nguôn dich ngược appinfo.dll kiểm tra thuộc tinh autoElevate

Nguyễn Đức Hoằng — B17DCAT084 21

Trang 34

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

wa CFF Explorer Vill - [sysprep.exe]

File Settings ?

— Oo x

x

<?xml versian= 1.ữ' encoding=utf-8' standalane='yes'?> “A

<! Copyright (c) Microsoft Corporation —> Ỉ

<assembly xmins="urn:schemas-microsoft-com:asm.v 1”

Hình 1.17: Khoá registry COM Elevation

Trang 35

Đô án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

File Edit

Ngoài ra, kể từ phiên bản Windows 10 RS1, Windows bồ sung thêm một danh sách

tự động nâng cao đặc quyền có tên gọi COMAutoApprovalList nằm tai registry

HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\UAC\

COMAutoApprovalList

View Favorites Help

“| Windows Performance Toolkit |

_¿ VersionsList

a| Name Type

$8] {7be73787-ce71-4b33-b4c8-00d32b54bea8} REG_DWORD.

7DFSEF76-D449-485f-B4EB-58DC96B31EDB} REG_DWORD 86d5eb8a-859f-4c7b-a76b-2bd819b7a850} REG_DWORD

n'a) (86F80216-5DD6-4F43-953B-35EF40A35AEE) REG_DWORD '884e2050-217d-11da-b2a4-000e7bbb2b09} REG_DWORD '9200689A-F979-deea-2830-0E1D6B74821F} REG_DWORD

'9df523b0-a6c0-4ea9-b5f1-f4565c3ac8bô] REG_DWORD ADADD4EC-5BD3-4f70-A47B-07797A45C6 REG_DWORD A255C6E4-B539-45A8-B8B3-6E99D901F 183} REG_DWORD

A25821B5-F310-41BD-806F-5864CC441B78} REG_DWORD

A2D75874-6750-4931-94C1-C99D3BC9D0 REG_DWORD A2D8CFE7-7BA4-4bad-B86B-851376B5913 REG_DWORD (A4B07E49-6567-4FB8-8D39-01920E3B2357} REG_DWORD

> a Virtualization #⁄4)(a4c31131-ff70-4964-afd6-0609ced53ad6) REG_DWORD.

Wie) {ATA63ESC-3877-4840-8727-C1EASD7A4D REG_DWORD

A8710FB5-1840-4224-BD42-86831E28E43A) REG_DWORD

B019E3BF-E7E5-453C-A2E4-D2C18CA0866 REG_DWORD

BA126F01-2166-11D1-B1D0-00805FC1270E} REG_DWORD BB2D41DF-7E34-4f06-8F51-007C9CAD36 REG_DWORD

| #3] (BBD8C065-5E6C-4e88-BFD7-BE3E6D1C06 REG_DWORD

| $3) (BCEAT35B-4DAC-4B71-9C47-1DS60AFD2 REG_LDWORD

Data 0x00000001 (1)

0x00000001 (1) 0x00000001 (1)

0x00000001 (1)

0x00000001 (1)

0x00000001 (1) 0x00000001 (1) 0x00000001 (1) 0x00000001 (1)

0x00000001 (1)

0x00000001 (1) 0x00000001 (1) 0x00000001 (1)

0x00000001 (1)

0x00000001 (1) 0x00000001 (1) 0x00000001 (1) 0x00000001 (1)

0x00000001 (1) 0x00000001 (1) 0x00000001 (1)

0x00000001 (1)

0x00000001 (1) 0x00000001 (1)

Hình 1.18: COMAutfoApprovalList trên Windows 10 build 19041

1.2.2.5 Kiểm soát hành vi kiểm soát người dùng

Cách UAC tác động tới các Windows có thể được điều chỉnh bằng cửa số tuỳ chọn Change

User Account Control Settings Hình 2.19 đưới đây hiển thị cửa số tuỳ chon này ở chế độ mặcđịnh.

User Account Control helps prevent potentially harmful programs from making changes to your computer.

Tell me more about User Account Control settings

Hình 1.19: Cửa số User Account Control Settings

Trang 36

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Tương ứng với 4 tuỳ chọn bên trên là 4 mức được mô tả như sau:

Bang 1.3: Mô tả tuỳ chọn kiểm soát hành vi của cơ chế kiểm soát tài khoản người dùng

Tác động tới ứng | Tác động tới các ứng

Tuỳ ch : Chú thích

uy cạn dụng hệ thông dụng thông thường mau

Lời nhắc nâng cao Le ke CA x kas x 45 x la Lời nhắc nâng cao đặc | Câu hình mặc định đặc quyên xuât hiện x Lites ,

Always Notify quyên xuât hiện trong của Windows

trong Secure

Secure Desktop Vista

Desktop

Notify me only

Ung dung được nâng | Lời nhac nâng cao đặc | Câu hình mặc định

when programs try 5 XS x Laon , "

cao đặc quyên mà quyên xuât hiện trong | của Windows 7 tới

to make changes to ` Le

không cân thông qua Secure Desktop nay.

my computer

Notify me only ¬ s

, R Lời nhắc nâng cao đặc

when programs try | Ưng dụng được nâng

' x quyền xuất hiện trong Không được

to make changes to cao đặc quyên ma Vy“ ˆ h

ˆ NA màn hình thông khuyên nghị

my computer (Don’t | không cân thông qua thườn

dim the desktop) k

UAC bị tắt, mọi ứng | UAC bị tắt, mọi ứngNever notify dụng luôn chạy với dụng luôn chạy VỚI mã Không được

mã truy cập quyên truy cập quyên quản khuyên nghị

quản tri trỊ

1.2.3 Một số cơ chế đi kèm bảo vệ cơ chế kiểm soát người dùng

1.2.3.1 Kiếm soát toàn ven bắt buộc

Giả sử một người dùng quản trị sau khi đăng nhập thành công vào hệ thống, các ứng dụngđộc hại khi chạy với thẻ truy cập đã lọc quyền quản trị vẫn có thé sửa đổi một số tệp tin củangười dùng Thông qua một sỐ kỹ thuật như process injection nhắm một số tiến trình, dịch vụđược thực thi với thẻ truy cập quyền quản trị, chúng có thể leo thang đặc quyên và thực thi mãđộc hại với quyền quản trị

Cơ chế kiểm soát toàn vẹn bắt buộc (Mandatory Integrity Control — MIC) được ra đời déngăn chặn vấn đề này MIC sử dụng các mức độ toàn vẹn và chính sách bắt buộc dé đánh giáquyên truy cập Các nguyên tắc bảo mật và các đối tượng bảo mật được ấn định các mức toànven dé xác định mức độ bảo vệ hoặc quyền truy cập của chúng Do vấn đề về tốc độ, MIC luônkiểm tra trước DACL khi một yêu cầu truy cập được tiếp nhận Mặc dù các mức toàn vẹn cóthé là các giá trị tùy ý, hệ thống sử dụng sáu mức chính dé tách các mức đặc quyền, được mô

tả trong bảng 2.4.

Nguyễn Đức Hoằng — B17DCAT084 24

Trang 37

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Bảng 1.4: Các mức độ toàn vẹn trên Windows

Tên A 42 SID Mô t

(Mức độ) ~

Được sử dụng bởi tiến trình khởi chạy bởiS-1-16-0x0 Untrusted Anonymous Tại mức dộ Untrusted, hầu hết mọi thao

tác ghi đều bị chặn

Được sử dụng bởi các tiến trình AppContainer

S-1-16-0x1000 Low (UWP) va Protected Mode Internet Explorer Mức độ

Low bị chặn quyên ghi vào hau hêt các đôi tượng (vi

dụ như tệp và khoá registry) trên hệ thống

Được sử dụng bởi các ứng dụng thông thường trên

S-1-16-0x2000 — | Medi

x coum hệ thống khi UAC bật.

Được sử dụng bởi các ứng dụng trên hệ thống trong

1 các trường hợp sau:

- Khi UAC bat: Ung dụng được khởi chạy bởi

S-1-16-0x3000 High quan trị viên hệ thống khi đã nâng mức độ toàn

x ystem thong (Vi du nhu Wininit, Winlogon, Smss, v.v.)

Hiện tai chưa được sử dụng Chi có thé được cài đặt

S 6-0x5000 rotected từ chế độ nhân.

Ngoài ra còn | mức độ toàn vẹn khác có tên AppContainer được sử dụng bởi các ứng dụngUWP Mặc dù có tên gọi hay mức độ khác, trên thực tế nó ngang bang với mức Low Tokentrả về từ API GetTokenInformation với tham số TokenIsAppContainer trên các tiến trình UWPcho thay thuộc tính của mức Low kèm thêm một số thông tin khác cho biết rang tiến trình hiệntại chạy bên trong một AppContainer.

Nguyễn Đức Hoằng — B17DCAT084 25

Trang 38

Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Đồ án tốt nghiệp

Process CPU Private BytesWorking Set PID Description Company Name Integrity

[EElsvchost.exe 1.656 K 7.540 K 15324 Host Process for Windows S Microsoft Corporation System

[fElsvchost.exe 7.136 K 11,044 K 13456 Host Process for Windows S Microsoft Corporation System

[Ellsass exe 9.176 K 24.028 _ 744 Local Security Authority Proc Microsoft Corporation System

[Ellontdrvhost.exe 1,844 K 4.432K _ 892 Usermode Font Driver Host Microsoft Corporation AppContainer

[EElcsrss.exe 0.75 2.780 K 6.472K 664 Client Server Runtime Process Microsoft Corporation System

© winlogon.exe 2.720 K 11,888 K 500 Windows Logon Application Microsoft Corporation System

[i |fontdrvhost.exe 5,824 K 14,512K 468 Usermode Font Driver Host Microsoft Corporation AppContainer [Eldwm.exe 224 89,668 K 114.156K 1068 Desktop Window Manager Microsoft Corporation System

[EEligixHK.exe 2,544 K 10,408 K 5424 igfkHK Module Intel Corporation Medium

@QigkTray exe 2,984 K 12,000K 5844 Medium

nữ 224 57528K 132,780 K

WINWORD.EXE <001 193,692 K 297,700 K 9096 Microsoft Word Microsoft Corporation Medium FoxitPDFReader.exe <001 103,572 K 160,620 K 4544 Foxit PDF Reader 11.1 Foxit Software Inc Medium

SecurityHealthSystray exe 1,756 K 9,520K 9332 Windows Security notificatio Microsoft Corporation Medium

@ OneDrive.exe 60,992 K 103,208 K 9444 Microsoft OneDrive Microsoft Corporation Medium

= @lghub.exe 32.104 K 64.316K 7644 LGHUB Logitech, Inc Medium

Ighub_agent.exe 0.37 43,112 K 59,552K 8856 LGHUB Agent Logitech, Inc Medium

Ighub.exe 33.136 K 50,592K 7732 LGHUB Logitech, Inc Low

Ighub.exe 11,316 K 34,544K 10124 LGHUB Logitech, Inc Medium

EI# wgc.exe <001 49,040 K 84,416K_ 10468 Wargaming net Game Center WWargaming net Medium

_ Qwargamingerormonitor.exe | < 0.01 3.772K 11,504 K 12808 Wargaming net Error Monitor Wargaming net Medium

[| wgc_renderer_host.exe 1.86 39,500 K 53,052 K 13200 Wargaming.net Game Center Wargaming.net Medium

[Elwgc_renderer_host.exe <001 9,328 K 22,336 K 12312 Wargaming net Game Center WWargaming.net Medium

[fElwgc_renderer_host.exe 7.83 77.444 K 108,620 K 13296 Wargaming net Game Center Wargaming.net Medium

iy Von exe 12,388 K 31,408 K 12128 Privax HMA VPN Privax Limited Medium

Gy Vpn.exe 9,988 K 27,720 K 11980 Privax HMA VPN Privax Limited Medium

[Ñ[ONENOTEM.EXE 2,424 K 832K 11964 Send to OneNote Tool Microsoft Corporation Medium

© Telegram.exe 242,312 K 245,388 K 12252 Telegram Desktop Telegram FZ-LLC Medium

© @msedge.exe 112 103676K — 204,580K 1408 Microsoft Edge Microsoft Corporation Medium

msedge.exe 2012K 7,680 K 13816 Microsoft Edge Microsoft Corporation Medium msedge.exe 130.376 K 164,188 K 14040 Microsoft Edge Microsoft Corporation Low

msedge.exe 0.75 18,340 K 42.876 K 14048 Microsoft Edge Microsoft Corporation Medium

Hình 1.20: Quan sát mức độ toàn vẹn trên Process Explorer

Moi tiến trình đều có mức độ toàn vẹn được thé hiện trong thẻ truy cập của nó và được sửdụng theo các quy tắc sau:

- Mot tién trinh thông thường sé kế thừa mức độ toàn vẹn của tiễn trình cha

- Nếu tệp tin thực thi cua tiễn trình con có mức độ toàn vẹn A và mức độ toàn vẹn của

tiễn trình cha là B, tiến trình con sẽ kế thừa mức độ toàn vẹn thấp hơn giữa A và B

- Mot tiễn trình cha có thé tạo một tiễn trình con có mức độ toàn vẹn thấp hơn chính nó

Đề làm điều này, sử dung API DuplicateTokenEx để tạo một bản sao thẻ truy cập, sau

đó sử dung API SetTokenInformation dé thay đổi mức độ toàn vẹn trong thẻ truy cậpban sao, cuối cùng sử dụng API ProcessAsUser dé khởi chạy tiến trình con từ thẻ truy

cập trên.

Bảng 2.4 bên trên đã trình bày về mức độ toàn vẹn của một tiến trình, vậy còn với một đốitượng bất kì khác thì sao? Các đối tượng cũng sở hữu mức độ toàn vẹn được lưu trữ như mộtphần của bộ mô tả bảo mật, trong một cấu trúc có tên “nhãn bắt buộc” (mandatory label)

Đề hỗ trợ di chuyền từ các phiên bản Windows cũ hon (registry và tệp không có thông tin

về mức độ toàn vẹn) và hỗ trợ các nhà phát triển ứng dụng một cách đơn giản hơn, tất cả mọiđối tượng đều có mức độ toàn vẹn ngầm định là Medium Đây là một phần của Chính sách bắtbuộc đối với các đối tượng, đặc biệt là khi nó được truy cập từ các đối tượng có mức độ toànvẹn thấp hơn Medium

Khi một tiễn trình tạo một đối tượng mà không chỉ định mức độ toàn vẹn, hệ thống sẽ kiểm

tra mức độ toàn vẹn trong token Đối với các token có mức độ Medium, mức độ toàn vẹn ngầmcủa đối tượng vẫn là Medium Tuy nhiên, khi token chứa mức độ toàn vẹn thấp hơn mức

Medium, đối tượng được tạo với mức độ toàn vẹn trong token

Nguyễn Đức Hoằng — B17DCAT084 26

Trang 39

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

Các đối tượng được tạo bởi các tiễn trình có mức độ toàn ven System hoặc High có mức

độ toàn vẹn Medium dé người dùng có thể tắt và bật UAC Nếu các mức độ toàn vẹn của đốitượng luôn kế thừa mức độ toàn vẹn của người tạo, các ứng dụng của quản trị viên tắt UAC vàsau đó kích hoạt lại nó có thể không thành công vì quản trị viên sẽ không thể sửa đôi bất kỳkhoá registry hoặc tệp nào do chúng được tạo khi chạy ở mức độ High Các đối tượng cũng cóthé có một mức độ toàn vẹn rõ ràng được đặt bởi hệ thống hoặc bởi người tạo ra đối tượng Ví

dụ: các tiễn trình, luồng, token va job được cap cho một mức toàn ven rõ ràng khi nó được tạo

ra Lý do gán mức độ toàn vẹn cho các đối tượng này là để ngăn chặn một tiến trình chạy ở

mức độ toàn vẹn thấp, truy cập các đối tượng có mức độ toàn vẹn cao hơn và sửa đổi nội dung

hoặc hành vi của chúng (ví dụ: DLL injection hoặc Code modification).

Chính sách kiểm soát tính toàn vẹn bắt buộc, xác định cấp độ bảo vệ thực tế được áp dụngdựa trên việc kiểm tra mức độ toàn vẹn Gồm ba loại, được trình bày trong Bảng 4 Mức độtoàn vẹn và chính sách bắt buộc của một đối tượng được lưu trữ cùng nhau trong cùng một

ACE.

Bang 1.5: Chính sách kiểm soát tính toàn vẹn bắt buộc

Chính sách Áp dụng Mô tả

¬ Được sử dung dé hạn chế quyền ghi từ một tiến trình có

No-Write-Up Moi đôi tượng an AI š h any Š °

mức độ toàn ven thâp hơn đôi tượng.

No-Read-Up Tiên trình

Được sử dụng đề hạn chế quyền truy cập đọc đến từ tiến

trình có mức độ toàn vẹn thấp hơn đối tượng Việc nàynhằm chống rò rỉ thông tin bằng cách chặn thao tác đọckhông gian địa chỉ từ một tiến trình bên ngoài

No-Execute-Up Các tệp thực

thi COM

Được sử dụng dé hạn chế quyền thực thi đến từ tiến trình

có mức độ toàn vẹn thấp hơn đối tượng do các lớp COMluôn được chạy với mức độ toàn vẹn System.

1.2.3.2 Cách ly đặc quyển giao diện người dùng

Một cơ chế cùng được giới thiệu với kiểm soát toàn vẹn bắt buộc đó là cách ly đặc quyềngiao điện người dùng (User Interface Privilege Isolation — UIPI) UIPI là một cơ chế giúp ngănmột tiến trình gửi Windows message đến các tiến trình có mức toàn vẹn cao hơn, trừ một số

Windows message sau:

Trang 40

Đồ án tốt nghiệp Chương 1: Kiểm soát truy cập

và cơ chê kiêm soát tài khoản người dùng.

1.3 Kết chương

Thẻ truy cập được tạo ra mỗi khi người dùng đăng nhập vào hệ thống là một đối tượngchứa thông tin định danh của người dùng hoặc nhóm người dùng, thông tin về quyền và đặcquyên trên hệ thống Mỗi khi người dùng yêu cầu truy cập vào một đối tượng bat kì, Windows

sẽ so sánh SID của người dùng với DACL của đối tượng, từ đó cấp quyền truy cập tương ứnghoặc từ chối truy cập Tuy nhiên, một người quản trị với một số đặc quyền SeDebugPrivilege,SeTakeOwnershipPrivilege, có thé toàn quyền điều khiển, chiếm quyền kiểm soát tới toàn

bộ dit liệu trên hệ thống, đặt ra van đề lớn nếu tài khoản này bị kiểm soát bởi mã độc UAC đãđược ra đời nhằm giải quyết bài toán kể trên Ta sẽ nhìn UAC tổng thé từ hai góc độ:

Nhìn từ góc độ kỹ thuật, Windows phân tách hai thẻ truy cập riêng biệt từ khi người dùngquản trị đăng nhập: một thẻ đã lọc quyền quản trị sử dụng cho các tác vụ thông thường, mộtthẻ khác có đầy đủ quyên quản trị sử dung cho các tác vụ hệ thống Ngoài ra UAC còn đi kèm

với hai cơ chế khác:

- _ Kiểm soát toàn vẹn bắt buộc: Sử dụng mức độ toàn vẹn để kiểm soát việc truy cập, sửa

đổi các đối tượng cần bảo vệ (tệp, registry, bộ nhớ tiến trinh, ) bởi các chương trìnhkhông đáng tin cậy.

- _ Cách ly đặc quyền giao diện người dùng: Ngăn chặn các tiến trình có mức độ toàn vẹn

thấp thực thi các kỹ thuật hook, gửi Windows message điều khién các tiến trình có mức

độ toàn vẹn cao hơn.

Nhìn từ góc độ người dùng, UAC là một cơ chế giúp quản trị viên phát hiện chương trìnhkhông tin cậy thực thi các hành vi thay đổi đến cài đặt hệ thong thông qua việc hiện thi lời nhắcnâng cao đặc quyên Quản trị viên cũng có thé thay đổi cách thức UAC hoạt động thông qua 4mức kiểm soát riêng biệt

Nguyễn Đức Hoằng — B17DCAT084 28

Ngày đăng: 08/03/2024, 16:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w