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
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 30,29 MB

Nội dung

Cong Cu Kiem Thu Vuot Qua Co Che Phong Thu User Account ControlCong Cu Kiem Thu Vuot Qua Co Che Phong Thu User Account ControlCong Cu Kiem Thu Vuot Qua Co Che Phong Thu User Account Cont

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

KHOA CONG NGHE THONG TIN I

PTA

—¬—

ĐỎ ÁN TÓT NGHIỆP

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

phong thu 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

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

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I

ĐỎ ÁN TÓT NGHIỆP

Đề 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

Trang 3

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ận tì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 on cac Thay, C6 trong Khoa Công nghệ Thông tin l 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

để 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 Cảm ơn các Thầy 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 ninh mạ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ều

hà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 cảm ơn!

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

Sinh viên thực hiện

Nguyễn Đức Hoằng

Trang 4

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ệu

tham 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 dưới mọi hình

thức Không đề cá nhân, tổ chức khác lợi dụng làm điều xấu ảnh hưởng tới bất 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 3l tháng 12 năm 2021

Sinh viên cam kêt

Nguyễn Đức Hoăng

Trang 5

NHẬN XÉT ĐÁNH GIÁ CHO ĐIÊM

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

¬

9 9099000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090009000000609009609009606009009960°66

+ HH2 000000000000400000040004000400040004060040004000400040004000400040004000400000000000000000000000000004000400040004000400040004000400040004000000000000000000000009060900e06066 ¬

¬ ẻ

¬

¬

9 00000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000900090000900090090900090009060e900®ee°66 POO meee ee eee eee eee EEE TEETH EEE EEE EEE EEE EE EEE EE EEE EE TEESE EEE EEE EE TEESE TEESE ESET EE EEE TESTES EEE EE EEE EE EEE EE EEE EE EEE EE SEES EEE E EEE EEE HEED POO e mmm e meee eee eee eee HEHEHE EEE HH EHH EEO TEETH EEE HEHE EEE EEE EEE EEE EOE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE HEE HEHEHE EEE EEE EEE EEED POO e Ome e meee meee eee eee EEE HEE HEE HE EEE EH EEE O SEES EEE EEE EEE TEESE OE EEE EEE EEE EEE EEE ESSE EE EEE HEE HEE HEE HEE EE EEE EEE EEE EEE EE EEE EEE EHE THEE HEE EE EEE EEES DiGME ooo eeececccccccceseceescssescsscsesesecsvsseseseesesvees (bang CHO: veces esecsesessesessesesesessesesseseseseeeen ) Đồ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 tháng năm

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

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

Trang 6

NHAN XET DANH GIA CHO DIEM

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

kerrrrrrrrrrrrrrrrrrrerrk4lOG2RGE-=-File bt-lorxin-lienhe:-leth+kim34079.@ hotmail.com

Điêm: -G HH ng re (băng chữ: -. -c SH re )

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

CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN

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

Trang 7

MỤC LỤC DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮTT SE St St St SESESESEEE+E2E+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEErErkrkes vi

M.9:8/00/9:79 c1 vii M.9I:8)/00/95)0)12A/ẺB viii LOI MO DAU pune cessesssesssesssesssesssecssecssecsnecsnecsnecsnecsuecsnscenscsuscsuscsssesusssusesssesssessucssueesuecsnecsueesuecsnecsneesneestess 1 CHUONG |: KIEM SOAT TRUY CAP VA CO CHE KIEM SOAT TAI KHOAN NGUOI DUNG 4

1.1 Xác định danh tính và quyền truy cập c.cecccecccscscsesescscssssesesscsessssesesscstsvssesesesesstssatsteasevseaeaees 4 1.1.1 Mã định danh bảO mật - - << << < << << << 2 33 8181881111111 11 11111 ke 4 1.1.2 Thẻ truy CẬP Go nọ nọ 7 1.1.3 \J'bT19Nt;ìiìSGHĂ đa 9 1.1.4 Danh sách kiểm soát truy cập và bộ mô tả bảo mậtt << «+ ***+++ssseseveesss 9

1.2 Cơ chế kiểm soát tài khoản người dùng - - 2 ¿2 + +E+E£E£EE£EEEEEEEEEEEEEEErkerxrrerrrrerree 14

1.2.1 Nguồn gốc ra đời :- E5 St+k SE EEE1E1111015 1111111111111 1151111 11111111 11 Lee 14

"5 8" 0v :ddda ILImnHnananInIi 1ÿDd a 31

2.2.2 Luông thực thi 6-5-5 St E3 EEk SE E11 T1 1 E111 1111x111 Tre 32

2.2.3 Thực trạng khai thác của mã đỘC - + + 2c 13322113331 18E3£2 EEEEEEEEEEEEEEEEerrrreeres 32 2.2.4 Mở rộng mục tiêu khai thác - - - - - - << 1663310101101 8138 333111111111 9 9 0v ng re 33 2.2.5 Biện pháp phát hiện, phòng chống ¿- - ¿2k £SE+k£EEEE+E£EEEE+EeEEEEEEEEEEEeEerxrkrrerkd 37 2.3 Hijack SxS với IFIleOeratIOT - - 2010000 nọ re 38 2.3.1 Mô tả kỹ thuật Ă HH HH ng kh 38

2.3.2 Luồng thực thi - - 5< 2E SE2EE SE 1E 12111117111 211111 1111111111111 1E 40

2.3.3 Mở rộng mục tiêu khai thác - - - - - << E63 010101 811 8311111 ng re 40 2.3.4 Biện pháp phát hiện, phòng chống - ¿2 + SE ££+E+E£EE+E£EE+E£EeE£EzEerezxrrered 41 2.4 CMSTPLUA 0.0 4] 2.4.1 N35 2 (-(Ÿ 42 2.4.2 SetRegiIstryStringValUe cọ TT re 43 2.5 KẾt chương - St SE 111 1111111151111 11 1111111111111 1111 1111111111111 111111111111 crrkg 45

Trang 8

CHUONG 3: CONG CU KIEM THU CO CHE KIEM SOAT TÀI KHOẢN NGƯỜI DÙNG 46

Trang 9

DANH MUC KY HIEU VA TU VIET TAT

PSAPI Process Status Application Programming Interface

Trang 10

DANH MUC BANG

Bang 1.1: Một s6 SID thurOng gap voces csccscsescsscscscscescscscsscscsessscecsvssscscsvssasstsvsesacavseesees 5

Bảng 1.2: Một số đặc quyền mặc định được cấp trên WindOwWs -ccccssssccccccxs 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 24

Bảng 1.4: Các mức độ toàn vẹn trên W1ndOWS - - - c1 3221011113333 1111111188 1111 1g vkg 25 Bảng l.5: Chính sách kiểm soát tính toàn vẹn bắt ĐuUỘC . - 7c S55 Sa 27

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

Trang 11

DANH MỤC HÌNH VÉ

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 sat SID dang nhap thong qua Process Explorer . << «<< <sss+2 7 Hình 1.3: Access TOK€T c1 11300 nọ re 8 Hinh 1.4: Vi du vé DACL va kiém tra quy6én truy Cap c.cscecsccscscsscsescsssscsesescsesssessescsesseseseees 10 Hình 1.5: TrustedInstaller ACE và LocalAdmimistrators AC << « «+ ++sssxs2 II Hình 1.6: Liệt kê các đặc quyên thông qua câu lệnh whoaii 2- - 2 + 2 s+£+£+zE£zzx2 12 Hình 1.7: Quá trình đăng nhẬp - - . c 1110011133111 1139 111 9 1v ve 16 Hình 1.8: Các đặc quyền trên thẻ truy cập đã lọc quyền quản trị . - - 2 s+s+s+ss+x+ss+£ 16 Hình 1.9: Các đặc quyền trên thẻ truy cập quyền quản trỊ - - ¿2 2 + +£+k+Ee£x+Ee£zxexezxd 17

Hình 1.10: Lời nhắc đồng ý . - - 2E £+EESE+E£EE£EEEEEEEEEEEEEEEEEEE211152111 1111111112 18

Hình 1.11: Lời nhắc thông tin xác thực . - - 2 SE EEE+E£EE+E#EEEEEEEEEEEEEErEEEErkererkrrees 18 Hì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 19 Hinh 1.13: Chit ky s6 cla Microsoft WindOWS ccccccccccscsscsesesesssscsesescsesesesescsesescsesesseseseseees 20 Hình 1.14: Mã nguồn dịch ngược appinfo.dll kiểm tra thư mục an toàn + 21 Hình 1.15: Mã nguồn dịch ngược appinfo.dIl kiểm tra thuộc tính autoElevate 21

Hình 1.16: Mẫu manifest chứa thuộc tính autoEleVate - ¿+ xxx k+£vE+E+e£eEeEzeeeexsi 22

Hinh 1.17: Khoa registry COM ElevatIOIn - - -< 11H ng ve 22 Hinh 1.18: COMAutoApprovalList trén Windows 10 build 19041 - 555552 23 Hinh 1.19: Ctra s6 User Account Control Settings ccccccscsssssssscssssesesssssssessassestsscessesssesseees 23

Hình 1.20: Quan sát mức độ toàn vẹn trên Process EXpÏOT€T .- «+5 ++S<s*+++*svx+2 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 BÌÏocK - «<< «««ss++<sss2 30 Hình 2.3: Ví dụ luồng thực thi DLL sideloading với IFileOperation -. 5-5: 32

Hình 2.4: Mau manifest cài đặt cứng đường dẫn tới DL/L - - + +£+£+£+E+E+E+EzEzxzezsd 34

Hình 2.5: Sơ đồ tổng quan phương thức tìm kiếm DLL tĩnh ¿5 2 s2 2 + £z£x2 5z: 35 Hình 2.6: Sơ đồ tổng quan phương thức tìm kiếm DLL động - - 2 + 2 s+s+£szsz£zzs4 36

Hình 2.7: Bộ lọc Process Monitor tìm kiếm DLL động ¿- - - 2 2s s2 £££E+£+£z£szxzS+£ 37

Hình 2.8: Cơ chế hoạt động của Windows SXS ¿5-5 k ST EE E111 1111111 errkd 38 Hình 2.9: Mẫu Manifest chứa assemblylÏdentity - + 2 26k E2 +E£E£E£EE+E£E+EeEeEeEerererees 38

Trang 12

Hình 2.10: dccw.exe tìm kiếm và tải lên gdiplus.dÏl ¿2-2 2 2 2+E+££+E+E££xzEe£szEezszxe 39

Hình 2.11: Câu trúc thư mục dccw.exe.local chứa DLL - 2+2 +s+s£+E+E+E+E+E£E££eE+z+zzsz: 39

Hình 2.12: Luồng thực thi Hijack SxS với IFileOperation - ¿2 + 25s £££sz£e£zxezzxd 40

Hình 2.13: Bộ lọc Process Monitor tìm kiếm DLL SxS - - + +E+E+E+E+E+E+E+E+EeEsEzEsesed 4]

Hình 2.14: Thông tin về COM CMSTPILLUA - - + 2E 2S SE£EE£EE£E£E£E£EEEE£E£EEEEEEeEeErkrkesee 42

Hình 2.15: Hai phương thức bị khai thác trên interface CMS'TPLUA . - 42 Hình 2.16: Luồng thực thi ShellExec trên COM CMSTPLUA 2-5 2 s+s+£z+szsz>s2 43

Hình 2.17: Thực thi câu lệnh độc hại với IcolorDataPrOXV << 5553333 ++++*ssss2 44

Hình 2.18: Luông thực thi SetRegistryStringValue trên COM CMSTPLUA - 44 Hinh 3.1: Cong cu kiém thtt UAC Checker vc cececcccsccscssescsscsessssesscsesssscsesscsesssscsseacseesesessesesvees 46

Hinh 3.2: So dé hoat động CỦa CÔNØ CỤ .- 1113321111191 0111 11 ngờ 47

Hình 3.3: Tải công cụ UAC Checker từ Github - - G 5322001111183 1111 9 1 ng vn 48

Hình 3.4: Đối tượng thử nghiệm . - - 2 ¿+ SE E£SE+E£EE#EE£E£EEEEEEEEEEEEEEEEE12121712 1111 xe 49

Hình 3.5: Cài đặt công cụ UAC ChecKer - - - - ¿c1 3331111333251 EEEexsrre 49

Hình 3.7: Kết quả kiểm thử theo thời gian thực - - 2+ 2+ E2 E£EEzEeEvzEeEerkrxerxrkerered 50

Hình 3.8: Kết quả kiểm thử tự động nằm trong thư mục r€pOr . - - 25 2 s+s+cezxezzzx4 50

Hình 3.9: Kết quả kiểm thử tự động chỉ tiẾt - ¿2 SE EE2E+EEEE2E£EEEEeEEEEeErErkererkerered 51 Hình 3.10: Thử nghiệm tấn công . ¿+ - + £EE+EEEE+E+E£EEEE£E£EEEEEEEEEEEEEEEEEEEEEEEEEEEEErkrkrree 51

Hình 3.11: Thử nghiệm tấn công SxS hijack với IEileOperation . - 2-5-5 52552552 52

Hình 3.12: Cấu hình thử nghiệm tấn công SxS hijack với IFileOperation - 52

Hình 3.13: Thử nghiệm tan công thành công - - - 9999 99999999 33 33v 11k vv 53

Trang 13

LOI MO DAU

Máy tính đã bước vào cuộc sống của chúng ta từ những năm 1980, tao nén nhiéu thay déi lớ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ưởng rấ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áo

thườ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 tấn 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ấp

bá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, ILOVEYOU cho tới các mẫ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ăng khả 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ào nă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át tà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 độc hạ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ẻ tấn công phải vượt qua cơ chế kiêm soát tài khoản người dùng để 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ẻ tấn 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 tân công như đánh cắp thông tin xác thực, khám phá

hệ thống mạng, leo thang tân 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óm

các kỹ thuật lạm dụng cơ chế kiểm soát nang cao (Abuse elevation control mechanism) thudc

hai 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òng

thu (Defense Evasion) [3] Day đều là hai mục tiêu lớn cần phải đạt được của mọi chiến dịch

tân công mã độc

Trang 14

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ố ứng dụ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 tấn công khai thác triệt đề 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ệ thống máy tính đáng tin cậy” (Trusted Computer System Evaluation Criteria) hay con dugc goi 1a “sach 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ành phả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ùng khô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óm tấ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,

FEinEFisher, 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 tấn 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 [Š] 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át tà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

án phòng chống và nhận diện thích hợp

Đó là một thách thức rất lớn đối với mọi kỹ sư an toàn thông tin nói riêng và toàn nhóm ngành bảo mật nói chung Là một sinh viên ngành an toàn thông tin, bản thân em cũng đã

nghiên cứu và có được cho mình vốn kiến thức về hệ điều hành, mã độc và cách thức hoạt động

của chúng Em quyết định chọn đề tài “Công cụ kiểm thử vượt qua cơ chế User Account Control” mong mu6n đóng góp một phần nhỏ bé vào nền an toàn thông tin nước nhà

Trong phạm vị đô á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ường gặ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 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:

Trang 15

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

Trang 16

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

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

1.1.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)

Trang 17

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 Bang 2.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

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

1831038044- AEDSSSEEE Í hành Windows Hình 2.1 dưới đây thể

Trang 18

Hình I.1: Quan sát chủ sở hữu của cdc mé-dun trong thu muc system32

LỊ > ThisPC > Local DIsk(C:) >» Windows » System32 vy | & Ð

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

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

Trang 19

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

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@gmail Mandatory

NT AUTHORITY Authenticated Users Mandatory

NT AUTHORITY \Cloud Account Authentication § Mandatory

NT AUTHORITYMINTERACTIVE Mandatory

NT AUTHORITY\Local account Mandatory

NT AUTHORITY*\Local account 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.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 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

Trang 20

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

Hinh 1.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

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 API AdjustTokenPrivileges (gia sử người gọi có quyền truy cập thích hợp vào đối tượng mã thông

bá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

Trang 21

1.13 Mạo danh

Mạo danh (Impersonation) là khả năng của một luồng thực thi bang cách sử dụng thông

tin 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áy chủ đó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ính má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 đề xác định xem người dùng có quyên hay không là để máy chủ thông qua 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ấp

nhậ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ê truy cậ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úc

kiểm soát dữ liệu của luỗng chứa rất nhiều mục nhập tuỳ 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 giao diện người dùng thu thập thông tin đăng nhập và sau đó sử dụng LogonUser để lấy token của

ngườ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ột

luồ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ô găng 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 đối

vớ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 gol

1.1.4 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

Trang 22

soát truy cập tùy ý (Discretionary Access Control List— DACL) và Danh sách kiểm soát truy

cậ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 bị từ chối quyên truy cập vào

mộ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 để xác định xem có cấp quyên truy cập cho 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 cho tat cả mọi người Nếu DACL của đối tượng không có ACE, hệ thống sẽ từ chối mọi nỗ lực truy cập đối tượng vì DACL không cho phép bất kỳ quyên truy cập nào Hệ thống kiêm tra các ACE theo trình tự cho đến khi tìm thấy một hoặc nhiều ACE cho phép tất cả các quyền truy cập được yêu cầu hoặc cho đến khi bất kỳ quyên truy cập nào được yêu câu bị từ chối, vì vậy thứ tự sắp

xế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 cho Everyone 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

Access denied

ACE Andreim Sroup BH

Wi rite

Ï Access allowed Access token ACE

3 Eự err ñne Jane

Read, execute Group A

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ệ thống tạo một bản

ghi trong nhật ký sự kiện bảo mật Một ACE trong SACL có thể tạo hồ sơ đánh giá (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 đối

tượng bảo mật Bộ mô tả bảo mật bao gồm cấu trúc SECURITY_DESCRIPTOR và thông tin

bả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:

Trang 23

- _ 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 cu thé

- Một SAC(L chỉ định các loại nỗ lực truy cập sẽ tạo ra các bản ghi kiểm tra cho đối tượng

- - Một tập hợp các bịt đ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ó

Object name: C:\Windows\\System32\ARP.EXE Object name: C:\Windows\\System32\ARP.EXE

Group or user names: Group or user names:

S2 Administrators (DESKTOP-8UKSH3F\Administrators) Administrators (DESKTOP-8UKSH3F\Administrators)

S2 Users (DESKTOP-8UKSH3F\Users) S2 Users (DESKTOP-8UKSH3F\Users)

< > < >

To change permissions, click Edit Eii To change penissions, click Edit S Edit

Pennissions for Trusted|nstaller Allow Deny Pennissions for Administrators Allow Deny

Full control Av Full control

Read & execute v Read & execute v

Special permissions Special permissions

For special permissions or advanced settings, << For special permissions or advanced settings, eet

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ệ thống thuộc chủ

sở hữu TrustedInstaller với tất cả 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ả quản trị viên hệ thống không thê tuỳ ý sửa đổi một cách trái phép các tệp tin 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 (ví 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ản trị 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ện

các hoạt động khác nhau liên quan đến hệ thống trên máy tính cục bộ, chăng 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 truy cập theo ở hai điểm lớn:

Trang 24

- _ Đặ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 bảo

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ựa

trên mức độ toàn vẹn và quyền truy cập được cấp trong DACL cua đối tượng

Hình 1.6: Liệt kê các đặc quyền thông qua câu lệnh whoami

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 cho ngườ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ụng cho 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

nhau

Khi người dùng cô găng thực hiện một thao tác đặc quyên, hệ thông sẽ kiểm tra thẻ truy cập của người dùng để xác định xem người dùng có các đặc quyên cần thiết hay không và nếu

có, hệ thông sẽ kiểm tra xem các đặc quyên đó có được bật hay không Nếu người dùng không

đạt các điều kiện này, hệ thống sẽ không thực hiện hoạt động

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

Bang 1.2: Mot số đặc quyển mặc định được cấp trên Windows

Trang 25

SeUndockPrivilege Sử dụng bởi trình quản lí Plug and Play để ngắt kết

nối khỏi các thiết bị khác

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

giới hạn dướ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ở bất

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ể cấp cho người dùng các đặc quyên bồ sung và tư cách thành viên nhóm

Lấy quyền sở hữu (SeTakeOwnershipPrivilege): Đặc quyền này cho phép chủ sở hữu quyền có khả năng sở hữu bắt 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ớ lại rằng chủ sở hữu luôn được cấp quyên đọc và sửa đôi

DACL cua 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 đổi

DACL để tự cấp quyên truy cập đầy đủ vào đối tượng, sau đó đóng và mở lại đối tượng với quyên truy cập đầy đủ Điều này sẽ cho phép chủ sở hữu quyền xem dữ liệu nhạy

cảm và thậm chí thay thế các tệp hệ thống thực thi như một phan của hoạt động hệ

thống bình thường, chăng 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ền này có thê thay thế bất kỳ tệp nào trên hệ thống bằng tệp của riêng họ Chủ sở hữu quyê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 để tải trình điều khiển thiết bị vào hệ thông Trình điều khiển

thiế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 được

khở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ười

dùng khác

Tạo một đối tượng thẻ truy cập (SeCreateTokenPrivilese): Đặ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ên nhó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 đề 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ả

Trang 26

116 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ường khi được chạy với thẻ truy cập quyền quản trị có thể gây ảnh hưởng rất lớn tới hệ thông Thông qua 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, giả 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

Đề giải quyết vấn đề được đề cập tới trong phần 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ủa

UAC giải quyết từng vấn đề ra sao

1.2.1 Nguon 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ền quản trị Quyền quản trị cung cấp cho người dùng khả năng đọc và sửa đối bất kì thành phần nà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ường

không thê sử dụng quyền SeTakeOwnership đề 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ác doanh 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ữ cho

thiế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ác

chương trình của họ có thể truy cập và sửa đổi bất 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ản quản trị viên dựng sẵn (built-in Administrator) hoặc bất kì tài khoản nào có quyên quản

trỊ

- Đôi khi người dùng tiêu chuẩn cần quyên quản trị dé thực hiện một số thao tác như cài đặt phần mềm, thay đổi thời gian hệ thống, mở cổng trong tường lửa, Việc nâng quyề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:

- Tách biệt các tiễn trình cần quyền quản 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

- Phân 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ật

cao hơn sử dụng cơ chế ảo hoá

- Nâng quyên quản trị cho các tiễn trình thông thường khi cần thiết sử dụng cơ chế nâng cao đặc quyền UAC

Trang 27

12.2 Mô tả kiến trúc

1.2.2.1 Thé truy cap bi han ché

Thẻ truy cập bị hạn chế (Restricted Token) chế được tạo từ token chính hoặc mạo danh

băng cách sử dụng chức năng CreateRestrictedToken Restricted Token là một bản sao của

token mà nó có được, với các sửa đổi có thể có sau:

- _ Các đặ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 (chỉ từ chối)

- _ SID tong 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ứ hai phả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ấp cho đố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à “chỉ từ chối” để

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 Administrator như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

- - Tất 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ản trị viên (Admin Approval Mode) trong UAC Theo đó, khi quản trị viên đăng nhập, hai thẻ truy

cập riêng biệt được tạo cho người dùng Một thẻ thẻ truy cập đã lọc quyên quan tri su dung cho các chương trình thông thường như explorer.exe, notepad.exe, word.exe, Ngược lại, một thẻ

Trang 28

truy cập khác chứa đây đủ các đặc quyên quan tri sử dụng cho các chương trình hệ thông như

LSASS

Người dùng quản trị viên hệ thống

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

Trang 29

BE Administrator: Command Prompt

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

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 thi 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ản

quả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ền

quản trị viên Lời nhắc này đảm bảo rằng không có chương trình độc hại nào có thê cài đặ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 ing dung (Application Information Service — AIS) nam tại %SystemRoot%\System32\ Appinfo.dll chay bên trong tiến trình lưu trit dich vu tiéu chuan (Standard service Host process

— SvcHost.exe) khoi chay %SystemRoot%\System32\ Consent.exe Consent áp dụng hiệu ứng

mo cho man hinh, chuyén sang chế độ Secure Desktop và hiền thị hộp thoại nâng cao đặc

quyê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êng

biệ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 đổi

giao diện của hộp thoại

a Loi nhac dong y

Lời nhắc đồng ý được hiền thị khi người dùng tài khoản quyền quản trị cô găng thực hiện một tác vụ yêu cầu thẻ truy cập quyền quản trị Dưới đây là một hình ảnh về lời nhắc đồng ý cua UAC

Trang 30

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ột

tác vụ yêu cầu thẻ truy cập quản trị của người dùng

SỔ

Windows Command Processor

Verified publisher: Microsoft Windows

Show more details

To continue, enter an admin user name and password

định nhà sản xuất, chia thành ba loại: Tệp tin của hệ điều hành, nhà sản xuất đã xác minh (đã

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 đỏ: Ứng dụng bị 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

Trang 31

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

dung quan tri Windows, vi du nh Control Panel

- Nén xanh lam với biểu tượng chiếc khiên màu xanh lam: Ứng dung đượ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: Ứng 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 (access- 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ách nhậ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ủa quả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ản trị 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 PID

củ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.12

chỉ 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

_ Thẻ truy cập ; quyên người dùng tiêu chuan

Fe Thẻ truy cập

quyên quản trị

App exe

Hì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

1.2.2.4 Tự động nâng cao đặc quyển

Trong Windows Vista khi UAC được giới thiệu, mọi tiến trình hệ thông mặc định thông

thường cần quyền quản trị đều yêu cầu xác nhận thông qua cửa số lời nhắc nâng cao đặc quyên Điều này dẫn tới một sự phiền toái không nhỏ cho người dùng quản trị viên Chính vì vậy, cơ chế tự động nâng cao đặc quyền được ra đời

Trang 32

Với câu 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âng cao 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

4=“ | This digital signature is OK

Signer information

Name: Microsoft Windows

E-mail: Not available

Signing time: \Thursday, 5 November 2020 11:25:47 pm

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

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

Trang 33

L SEPT = J

call cs;Rt1PrefixUnicodeString test al, al

Hình 1.14: Mã nguồn dịch ngược appinƒfo.dll kiểm tra thư mục an toàn

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

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

manifest thudc section resource (.rsrc)

mov [rsp+13@h+pcbData], rbx ; pdwWrittenOrRequired

lea rax, [rbp+4Fh+pvBuffer ]

mov [rsp+130h+pvData], 8 ; dwBuffer lea r9, settingName ; " h xor r8d, r8d ; settingsNameSpace mov [rsp+130h+pdwType], rax ; pvBuffer mov rdx, r15 ; hActCtx

xor ecx, ecx ; dwFlags

call cs:QueryActCtxSettingsw test eax, eax

jnz loc_7FF815B572D3

Hình 1.15: Mã nguồn dịch ngược appinƒfo.dll kiểm tra thuộc tính autoElevate

Trang 34

— - HHO "MUI" <l— ight (c Corporation >

tì C]Rle: sysprep.exe — l3Ì Dos Header ØI-C3 'WEVT_TEMPLATE" ||“2ssembly ï - xmins="urn:schemas-microsoft-com:asm v1"

(3 Nt Headers HHO Icons xmins:asmv3="urn:schemas-microsoft-com:asm.v3"

@ File Head (9 Icon Groups manifestVersion="1,0"

+— (Export Directory processor Architecture="amd64"

L— |") Import Directory type="win32" -

= (2 Resource Directory version="5.1.0.0

F— (Cd Exception Directory <description>System Preparation Tool</description >

L— |) Relocation Directory <trustinfo xmins="urn:schemas-microsoft-com:asm.v3" >

L— |) Debug Directory <security >

Hình 1.16: Mẫu manifest chứa thuộc tính autoElevate

o Voi COM Object: Khoá Registry đăng ký CƠOM có Elevation nhận giá trị Enable

Trang 35

BH Resist

Ngoai ra, ké tir phién ban 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 tại registry HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\UAC\

~ Tl tine cou #3)(9200689A-F979-deea-8830-0E1D6B74821F} REG_DWORD

: | Repssand #!È\(9df523b0-a6c0-4ea9-b5f1-f4565c3ac8b8] REG_DWORD

$ [i Facing is} ADADDAEC-SBD3-4f70-A47B-07797A45C6 _ REG_DWORD

v | UAC i}{A25SC6E4-B539-45A8-B8B3-6E99D901F 183} REG_DWORD

COMAutoApprovalList #!\(A2582185-F310-41BD-806F-5864CC441878)_REG_DWORD

> || UnattendSettings #!È)(A2D75874-6750-4931-94C1-C99D3BC9D0 REG_DWORD

> | Update 3) (A2D8CFE7-7BA4-4bad-B96B-851376B5913 REG_DWORD

VersionsList f3) (A4B07E49-6567-4FB8-8D39-01920E3B2357} REG_DWORD

› _ ##È)(a4c31131-ff70-4984-afd6-0609ced53ad6] — REG_DWORD

VolatileNotifications #)(A4E118DF-B9E5-4B42-889C-065CEAF8DD REG_DWORD WbemPerf $3) (ASEAES4D-9896-4B8D-AA7S-EAFF38D011 REG_DWORD

Z WIDweotA' ti) (A6BFEA43-501F-456F-A845-983D3AD7B8F REG_DWORD

> Bm Windows $18) {ATA63E5C-3877-4840-8727-C1EASD7A4D REG_DWORD

>i Winlogon $18) (A9710FBS-1840-4224-BD42-86831E28E43A} REG_OWORD

> Bcc if) (BO19E3BF-E7E5-453C-A2E4-D2C18C A086 REG_DWORD

, WirelessDocking #3){BA126F01-2166-11D1-B1D0-00805FC1270E) REG_OWORD

© wor iể\(BB2D41DF-7E34-4F06-8F51-007CCAD36 REG_DWORD

› LÍ WUDE #!È\(BBD8C065-5E6C-4e88-BFD7-BE3E6D1C06 REG_DWORD

» | Windows Performance Toolkit $3}(BCEA735B-4DAC-4871-9C47-1D560AFD2 REG_DWORD

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)

Hinh 1.18: COMAutoApprovalList trén Windows 10 build 19041 1.2.2.5 Kiém sodt hanh 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 dưới đây hiển thị cửa số tuỳ chọn này ở chế độ mặc

định

User Account Control Settings

Choose when to be notified about changes to your computer

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

Trang 36

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

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

Lời nhắc nâng cao ¬ ẻ Loa og

- ` Lo Loi nhac nang cao dac | Cau hinh mac dinh

trong Secure

Desktop Notify me only

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

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

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

: NÓ ˆ quyên xuât hiện trong Không được

my computer (Don’t | khéng can théng qua `

thường dim the desktop)

UAC bị tắt, mọi ứng |_ UAC bị tắt, mọi ứng

Never notif V i 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ị

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 vẹn 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ủa ngườ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é ngan chan van dé này MIC sử dụng các mức độ toàn vẹn và chính sách bắt buộc đề đá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àn

vẹn đề 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ôn kiể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 để tách các mức đặc quyên, được mô

tả trong bảng 2.4

Trang 37

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

SID (Mức độ) Mot i

Được sử dụng bởi tiến trình khởi chạy bởi

S-1-16-0x0 Untrusted Anonymous Tại mức dộ Untrusted, hầu hết mọi thao

tác phi đề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 Muc độ

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

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

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

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

- Khi UAC bat: Ung dung duoc khoi chay boi

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

vẹn lên từ Medium

- Khi UAC tat: Ung dung được khởi chạy bởi

quan tri viên hệ thống

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

cho thấy thuộc tính của mức Low kèm thêm một số thông tin khác cho biết rằng tiến trình hiện

tại chạy bên trong một AppContaIner

Trang 38

Process _ €PU _ Pvate Byles Working Set PID Description Company Name Integrity

1.656 K 7,540 K 15324 Host Process for Windows S Microsoft Corporation System

9.176 K 24,028K 744 Local Security Authority Proc Microsoft Corporation System 1,844 K 4,432K 892 Usermode Font Driver Host Microsoft Corporation AppContainer

5,824 K 14,512K 468 Usermode Font Driver Host Microsoft Corporation AppContainer

2,544 K 10,408 K 5424 igfx HK Module Intel Corporation Medium 2,984 K 12,000K 5844 Medium

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

SecurityHealth Systray.exe 1,756 K 9,520 K 9332 Windows Security notificatio Microsoft Corporation Medium

@® One Drive exe 60,992 K 103,208 K 9444 Microsoft OneDrive Microsoft Corporation Medium

5 Q@ghub 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

lghub exe 11.316K 34,544K 10124 LGHUB Logitech, Inc Medium

=) @) wgc.exe <0.01 49,040 K 84,416K 10468 Wargaming.net Game Center Wargaming.net Medium

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

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

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

[jj 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 2,012 K 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 ven trén Process Explorer Mọi 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:

- Một tiến trình 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 của 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

- Một 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ử dụng API DuplicateTokenEx để tạo một bản sao thẻ truy cập, sau

đó sử dụng API SetTokenInformation để thay đổi mức độ toàn vẹn trong thẻ truy cập bản sao, cuối cùng sử dụng API ProcessAsUser đề 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 đôi

tượ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ột

phầ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ũ hơn (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ắt buộ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àn

Trang 39

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

độ toàn vẹn Medium đề người dùng có thé tat và bật UAC Nếu các mức độ toàn vẹn của đối tượ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 tri 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 và Job được cấp cho một mức toàn vẹn 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 hoac 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ụng

dự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

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

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

Lo trình có mức độ toàn vẹn thấp hơn đối tượng Việc này No-Read-Up Tiên trình v , SA "1 - ,

nhăm chông rò rỉ thông tin băng cách chặn thao tác đọc không gian địa chỉ từ một tiến trình bên ngoài

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

Các tệp thực thị COM có mức độ toàn vẹn thấp hơn đối tượng do các lớp COM

No-Execute-Up

luô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ền giao diện người dùng (User Interface Privilege Isolation — UIPI) UIPI là một cơ chế giúp ngăn

một tiễn trình gui 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

- WM_GETRENDERFORMAT

- WM_DRAWCLIPBOARD

- WM_CHANGECBCHAIN

- WM_THEMECHANGED

Việc sử dụng UIPI ngăn không cho các tiến trình mã truy cập người dùng tiêu chuẩn có thê

điều khiến cửa số của các tiến trình có thẻ truy cập quyền quản trỊ hoặc thực hiện một cuộc tân

công phá vỡ (chăng hạn như gửi Windows message không đúng định dạng gây ra lỗi tràn bộ

đệm nội bộ, có thể dẫn đến việc thực thi mã) UIPI cũng chặn các hành vi hook (thông qua API SetWindowsHookEx) ảnh hưởng đến cửa số của các tiến trình có mức độ toàn vẹn cao hơn đề

tiễn trình người dùng tiêu chuẩn không thê ghi các tô hợp phím mà người dùng nhập vào một ứng dụng quyền quản trị Các biện pháp journal hook cũng bị chặn theo cách tương tự đề ngăn các tiến trình mức toàn vẹn thấp giám sát hành vi của các tiến trình mức toàn vẹn cao hơn 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ượng chứ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à đặc quyê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 bất 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 ứng hoặ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ộ dữ liệu trên hệ thống, đặt ra vẫn đề 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ùng quả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ột thẻ khác có đầy đủ quyền quản trị sử dụng 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 trình, ) bởi các chương trình khô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ình

không tin cậy thực thi các hành vi thay đôi đến cài đặt hệ thống thông qua việc hiện thị lời nhắc

nâ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 4 mức kiêm soát riêng biệt

Ngày đăng: 10/06/2024, 20:56