Nội dung của bài báo cáo nghiên cứu: “Cơ chế an toàn hệ điều hành Windows” gồm có 5 chương: Chương I: Tổng quan vấn đề an toàn bảo mật trên Windows Chương II: Nguyên lý an toàn và bảo m
Trang 1BỘ THÔNG TIN TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN
Đề tài: Cơ chế an toàn trên Windows Môn học: An toàn hệ điều hành
Giảng viên: Phạm Hoàng Duy Nhóm sinh viên thực hiện:
1 Phạm Như Thao B14DCAT134
2 Hoàng Anh Văn B14DCAT200
3 Phan Đức Anh B14DCAT102
4 Nguyễn Thị Nga B14DCAT146
Trang 2CƠ CHẾ AN TOÀN HĐH WINDOWS 2
MỤC LỤC
LỜI MỞ ĐẦU 3
CHƯƠNG I TỔNG QUAN VẤN ĐỀ AN TOÀN BẢO MẬT TRÊN WINDOWS 4
1 Khởi đầu cho vấn đề bảo mật 4
2 Kỷ nguyên của công nghệ bảo mật windows 5
3 Phát triển hệ điều hành windows an toàn hơn 5
CHƯƠNG II: NGUYÊN LÝ AN TOÀN VÀ BẢO MẬT TRÊN HỆ ĐIỀU HÀNH WINDOWS 7
1 An toàn hệ thống (Security) 7
2 Bảo vệ an toàn hệ thống 8
CHƯƠNG III PHÂN TÍCH BẢO MẬT TRÊN WINDOWS QUA HỆ THỐNG API 9
1 API hỗ trợ cơ chế xác thực 9
2 API hỗ trợ phân quyền 11
3 API hỗ trợ cơ chế mã hóa 11
4 API hỗ trợ cơ chế theo dõi hệ thống 12
CHƯƠNG IV: SO SÁNH TÍNH AN TOÀN VÀ BẢO MẬT GIỮA LINUX VÀ WINDOW 14
CHƯƠNG V: MỘT SỐ TÍNH NĂNG THỰC HIỆN CƠ CHẾ AN TOÀN TRÊN WINDOWS 10 16
1 Secure Boot – UEFI (Khởi động bảo mật) 16
2 Early Antimalware (ELAM) 16
3 Windows Hello (kiểm tra tính xác thực) 17
4 User Account Control 18
5 Tường lửa 19
6 Bitlocker 20
Trang 3CƠ CHẾ AN TOÀN HĐH WINDOWS 3
LỜI MỞ ĐẦU
Ngày nay, thế giới đang dần chuyển đổi từ công nghiệp hóa sang kỷ nguyên số, do
đó việc trao đổi thông tin qua mạng, sử dụng các hệ thống quản lý tự động trở nên vô cùng quan trọng Cũng chính vì lý do đó nên nguy cơ phải đối mặt với hàng loạt các vụ tấn công, các mối đe dọa tiềm tàng từ virus, sâu máy tính, xâm nhập trái phép… là rất lớn Vấn đề đẻm bảo an ninh, an toàn cho hệ thống tin tin được ưu tiên hàng đầu cho các công ty, doanh nghiệp Lựa chọn một hệ điều hành phù hợp, có khả năng bảo mật, độ tin cậy cho người dùng cao là rất quan trọng Ra đời từ rất sớm, hơn 30 năm phát triển tư những dòng lệnh sơ khai dành cho chiếc máy tính cá nhân một người dùng, ít kết nối mạng, hệ điều hành Windows ngày càng phát triển, hướng tới tương tác đa người dùng, tích hợp nhiều kiến trúc
và cơ chế bảo mật, mang lại sự tin cậy cao hơn Tuy nhiên, hệ điều hành Windows vẫn tiềm tàng nhiều lỗ hổng bảo mật, là vấn đề được các chuyên gia cũng như kẻ xấu tìm cách khai khác Nhân thấy vấn đề nghiên cứu cơ chế an toàn của một hệ điều hành phổ biến nhất thế giới như Windows là rất cần thiết
Nội dung của bài báo cáo nghiên cứu: “Cơ chế an toàn hệ điều hành Windows” gồm có 5 chương:
Chương I: Tổng quan vấn đề an toàn bảo mật trên Windows
Chương II: Nguyên lý an toàn và bảo mật trên hệ điều hành Windows
Chương III: Phân tích bảo mật trên Windows qua hệ thống API
Chương IV: So sánh an toàn và bảo mật trên Windows và Linux
Chương V: Mốt số tính năng thực hiện cơ chế an toàn trên hệ điều hành Windows
10
Trang 4CƠ CHẾ AN TOÀN HĐH WINDOWS 4
CHƯƠNG I TỔNG QUAN VẤN ĐỀ AN TOÀN BẢO MẬT TRÊN
WINDOWS
Bảo mật trên Windows luôn là vấn đề được các nhà phát triển đặc biệt quan tâm, đây được xem là hệ điều hành thông dụng nhất và cũng là cái đích để tin tặc dòm ngó Trong quá trình phát triển hơn 30 năm của Microsoft với nhiều phiên bản đã được phát hành, vấn đề bảo mật cũng phát triển qua từng thời kì, có thể xem xét qua một số thời
kì như sau:
1 Khởi đầu cho vấn đề bảo mật
Hệ điều hành thế hệ đầu tiên phổ biến là MS-DOS, dễ sử dụng trên máy tính với một người dùng mà không cần kết nối mạng, không có tính năng bảo mật và các khái niệm như virus máy tính, hacker còn khá xa lại với người dùng Tuy nhiên, sau khi việc xuất hiện của phiên bản Windows 95 có vấn đề rủi ro cao trong trình duyệt web Internet Exporer và nền tảng Active X Đây cũng xem là thởi điểm khởi đầu cho vấn đề bảo mật Các hacker đã lợi dụng lỗ hổng bảo mật trong phần mềm Back Orifice của Microsoft để chiếm quyền kiểm soát máy tính từ xa
Tiếp sau Windows 95, phiên bản Windows NT 4.0 được giới thiệu năm 1996,
đi kèm với nó là lỗ hổng bảo mật cho phép các tin tặc có thể chiếm quyền quản lý
hệ thống máy tính Từ đó, khi người dùng truy cập internet sẽ bị chuyển hướng tới những trang web có nội dung xấu Ngoài ra còn một số lỗ hổng nghiêm trọng buộc Microsoft phải dùng cung cấp các bản vá, có những lỗi rất nặng không thể sửa chữa, buộc phải tiến hành lập trình mới các phần mềm trên hệ điều hành
Khi internet trở nên phổ biến hơn thì bảo mật thông tin người dùng là rất cần thiết Tuy nhiên, với máy tính chạy hệ điều hành Windows 98, 95 có thể bị đánh sập toàn bộ hệ thống nếu truy cập vào một số trang web chứa mã độc hay mở e-mail từ tài khoản Hotmail hoặc một dịch vụ webmail nào đó Ngoài ra, có một vấn đề liên quan tới rò rỉ thông tin cá nhân đối với máy tính cài Windows 98 đó là những văn bản được tạo từ hai ứng dụng văn phòng là Word và Exel sẽ được gửi tự động đến Microsoft trong quá trình đăng ký tự động của Windows98 Điều này sẽ tạo điều kiện thuận lợi cho tin tặc chặn và đánh cắp thông tin trong văn bản đó Trong khi các dòng Windows 9x được cung cấp tuyd chọn có các thông tin nhiều người dùng, chúng không có khái niệm về quyền truy cập, và không cho phép truy cập đồng thời, chứng tỏ đây không phải là hệ điều hành đa người dùng thực sự Ngoài ra các hệ điều hành này chỉ thực hiện bảo vệ bộ nhớ một phần Đây chính là một điểm trong
sự thiếu an toàn
Không dừng lại ở đó, trong phiên bản Windows 2000 phải đối mặt với một loạt những vấn đề bảo mật, đặc biệt đó là sự tấn công của những siêu “virus” như: Melissa, IloveYou, Blaster, Code Red và Nimda…
Trang 5CƠ CHẾ AN TOÀN HĐH WINDOWS 5
Sự yếu kém của hệ thống bảo vệ để malware tìm các tấn công vào máy chủ thông tin Internet (IIS), gây ra lỗi tràn bộ đệm Có thể kể đến một số tác hại của các cuộc tấn công này đó là chiếm quyền điểu khiển máy chủ chạy Windows 2000 thông qua IIS; nghiêm trọng hơn từ IP của người dùng, những kẻ gian có thể xâm nhập vào máy tính, hay sự xuất hiện của lỗi bảo mật Plug and Play tạo điều kiện cho hàng loạt virus “gặm nhấm” tài nguyên máy tính Hơn thế nữa, với phiên bản này, các hacker còn có thể tấn công máy tính qua hệ thống phân giải tên miền DNS
2 Kỷ nguyên của công nghệ bảo mật windows
Những vấn đề thiết kế cùng với lỗi lập trình và sự phổ biến của Windows khiến nó trở thành mục tiêu của virus và sâu máy tính Tháng 6/2015, Counterpane Internet Security của Bruce Schneier báo cáo trong 6 tháng có tới hơn 1000 mẫu virus và sau mới Năm 2005 Kaspersky tìm thấy khoảng 11.000 chương trình mã độc, virus, Trojan,…cho Windows
Các kỹ sư của Microsoft đã đưa ra phiên bản Windows XP Mặc dù còn nhiều lỗi bảo mật bị khai khác liên quan tới lỗ hổng TCP/IP, lỗi bảo mật của tính năng Windows Help and Support Center, cùng nhiều lỗi khác tuy nhiên Windows XP giúp người dùng yên tâm hơn phần nào khi có sự cải thiện khả năng chống đỡ tấn công Đặc biệt với phiên bản Service Pack 2, hệ thống tường lửa có khả năng tự động cập nhật và ngăn chặn những cuộc tấn công từ ngoài nhờ sử dụng công nghệ Data Excution Prevention Đây được xem là kỷ nguyên công nghệ tường lửa trên Windows
Windows Vista, phiên bản mà các lỗ hổng bảo mật trên các phiên bản trước
đã được khắc phục, nhưng khi mới phát hành nó vẫn gặp sự cố từ các cuộc tấn công
từ những loại virus mới, đó là sâu Storm (làm ảnh hưởng hàng triệu máy), trojan Zeus (có khả năng đánh cắp tài khoản ngân hàng) Điểm cải tiến nổi bật nhất ở phiên bản này đó là chức năng User Account Control (UAC) Nó cho phép người dùng có thể thoải mái điều khiển máy tính trong phạm vi an toàn của hệ thống Ngoài ra còn
bổ sung chương trình chống phần mềm gián điệp, tăng cường bộ lọc chống lừa đảo trên Internet Explorer 7 và mặc định vô hiệu hóa Active X Tính năng Bitlocker cũng được bổ sung trên Windows Vista
3 Phát triển hệ điều hành windows an toàn hơn
Nối tiếp sự phát triển bảo mật trên hệ điều hành Windows Vista, phiên bản Windows 7 đã có nhiều cải tiến nổi bật Vẫn có nhưng lỗ hổng cần phải vá lỗi, đơn
cử như lỗi Zero – Day, liên quan tới giao thức chia sẻ thông tin Server Message Block, mặc dù vậy nó cũng không còn quá nghiêm trọng như những phiên bản trước
đó Tính năng Bitlocker cũng được cải tiến, mở rộng hỗ trợ với cả những thiết bị lưu trữ di dộng Thời điểm này, đối mặt với sự phát triển và phân tán của sâu Conficker thông qua thiết bị USB, Microsoft đã lập trình để Windows 7 có cách giao tiếp với USB mới không để nó có thể tự động kích hoạch qua chức năng AutoRun
Trang 6CƠ CHẾ AN TOÀN HĐH WINDOWS 6
Vào tháng 10/2012 phiên bản Windows 8 được công bố ra thị trường Với phiên bản này nhà phát triển đã tăng cường sức mạnh phần mềm diệt virut Defender, tính năng khởi động an toàn của giao thức UEFI (giúp ngăn chặn các tấn công của rootkit hay bootkit), tính năng SmartScreen Filter hỗ trợ ngăn chặn các web lừa đảo, độc hại trên các trình duyệt Web, cùng với đó là khả năng quản lý mật khẩu đăng nhập dịch vụ internet rất thông minh
Tuy nhiên, có thể nói, cho tới thời điểm hiện tại, Microsoft khẳng định Windows 10 là phiên bản hệ điều hành Windows bảo mật nhất Phiên bản này là sự đột phá, tích hợp nhiều tính năng bảo mật mới Phải kể đến, Windows Hello sẽ giúp người dùng loại bỏ những việc liên quan tới việc nhập khẩu để truy cập vào máy tính Khi kết hợp với một số công nghệ nhận diện khuôn mặt có sẵn trên các dòng thiết bị Intel giúp mở khóa màn hình không cần đăng nhập Phát triển hơn tính năng SmartScreen Điểm bảo mật mạnh mẽ nhất trên Windows 10 đó chính là phần mềm danh tiếng Windows Defender, sử dụng dịch vụ đám mây, thu thập dữ liệu hàng tỷ thiết bị chạy Windows trên thế giới đem tới khả năng phát hiện virus, phần mềm độc hại hay trojan nhanh chóng và tối ưu nhất
Trang 7CƠ CHẾ AN TOÀN HĐH WINDOWS 7
CHƯƠNG II: NGUYÊN LÝ AN TOÀN VÀ BẢO MẬT TRÊN HỆ ĐIỀU
HÀNH WINDOWS
Từ khi hệ điều hành windows trở nên phổ biến và thông dụng với nhiều người dùng thì nhu cầu bảo vệ tính toàn vẹn của hệ thống xuất hiện Hệ thống phải sử dụng nhiều kỹ thuật bảo vệ hiện đại để tăng sự tin cậy, ngăn ngừa tác hại do phá hoại Bảo vệ là vấn đề nội bộ trong quá trình hoạt động, chương trình phải tuân thủ chính sách sử dụng tài nguyên
Cơ chế bảo vệ làm tăng tính tin cậy bằng cách phát hiện lỗi tiềm ẩn tại giao diện giữa các
hệ thống con Phát hiện sớm để tránh được trường hợp lỗi tại hệ thống con này ảnh hưởng xấu đến hệ thống con khác Tài nguyên được bảo vệ không bị lạm dụng bởi người dùng chưa kiểm chứng, hoặc không có quyền truy cập Hệ thống bảo vệ cung cấp phương thức
để phân biệt giữa truy cập được phép và truy cập trái phép
Bản chất của các cơ chế, nguyên lý an toàn và bảo mật trên Hệ điều hành Windows
đó là đảm bảo an toàn, bảo mật cho hệ thống và người dùng
1 An toàn hệ thống (Security)
Bảo vệ hệ thống (protection là một cơ chế kiểm soát việc sử dụng tài nguyên của các tiến trình hay người sử dụng để đối phó với các tính huống lỗi có thể phát sinh từ trong hệ thống Trong khi đó khía niệm an toàn hệ thống (security) muốn đề cập đến mức độ tin cậy mà hệ thống duy trì khi phải đối phó không những với các vấn đề nội
bộ mà còn cả với những tác hại đến từ môi trường bên ngoài
bị các thiết bị an toàn cho vị trí đặt hệ thống) và nhân sự (chọn lọc cẩn thận những nhân viên làm việc trong hệ thống) Nếu an toàn môi trường được đảm bảo khá tốt,
an toàn của hệ thống sẽ được duy trì tốt nhờ các cơ chế của hệ điều hành (với sự trợ giúp của phần cứng)
Lưu ý rằng nếu bảo vệ hệ thống có thể đạt độ tin cậy 100%, thì các cơ chế an toàn
hệ thống được cung cấp chỉ hy vọng ngăn chặn bớt các tình huống bất an hơn là đạt đến độ an toàn tuyệt đối
Kiểm định danh tính (Authentication)
Để đảm bảo an toàn, hệ điều hành cần giải quyết các vấn đề chủ yếu là kiểm định danh tính (authentication) Hoạt động của hệ thống phụ thuộc vào khả năng xác định các tiến trình đang xử lý Khả năng này, đến lượt nó, lại phụ thuộc vào
Trang 8CƠ CHẾ AN TOÀN HĐH WINDOWS 8
việc xác định được người dùng đang sử dụng hệ thống để có thể kiểm tra người dùng này được cho phép thao tác trên những tài nguyên nào
Cách tiếp cận phổ biến nhất để giải quyết vấn đề là sử dụng password để kiểm định danh tính của người dùng Mỗi khi người dùng muốn sử dụng tài nguyên, hệ thống sẽ kiểm tra password của người dùng nhập vào với password được lưu trữ, nếu đúng, người dùng mới được cho phép sử dụng tài nguyên Password có thể bảo
vệ được từng đối tượng trong hệ thống, thậm chí cùng một đối tượng sẽ có các password khác nhau ứng với những quyền truy cập khác nhau Cơ chế password rất dễ hiểu và dễ sử dụng do vậy được sử dụng rộng rãi, tuy nhiên yếu điểm nghiêm trọng của phương pháp này là khả năng bảo mật password rất khó đạt được sự hoàn hảo, những tác nhân tiêu cực có thể đoán ra password của người khác nhờ nhiều cách thức khác nhau
Mối đe dọa từ các chương trình
Trong môi trường mà một chương trình được tạo lập bởi người này lại có thể được người khác sử dụng, có thể xảy ra các tình huống sử dụng không đúng, từ dó dẫn đến những hậu quả khó lường
2 Bảo vệ an toàn hệ thống
An toàn và bảo vệ hệ thống là chức năng không thể thiếu của các hệ điều hành hiện đại
Mục tiêu bảo vệ hệ thống (Protection)
Bảo vệ chống lỗi của tiến trình: khi có nhiều tiến trình cùng hoạt động, lỗi của một tiến trình phải được ngăn chặn không cho lan truyền trên hệ thống làm ảnh hưởng đến các tiến trình khác Đặc biệt, qua việc phát hiện các lỗi tiềm ẩn trong các thành phần của hệ thống có thể tăng cường độ tin cậy hệ thống (reliability)
Chống sự truy xuất bất hợp lệ: bảo đảm các bộ phận tiến trình sử dugnj tài nguyên theo một cách thức hợp lệ được quy định nó trong việc khai thác các tài nguyên này
Vai trò của bộ phận bảo vệ hệ thống là cung cấp một cơ chế để áp dụng các chiến lược quản trị việc sử dụng tài nguyên Cần phân biệt khái niệm cơ chế và chiến lược:
Cơ chế: xác định làm thế nào để thực hiện việc bảo vệ, có thể có các cơ chế phần mềm hoặc cơ chế phần cứng
Chiến lược: quyết định việc bảo vệ được áp dụng như thế nào: những đối tượng nào trong hệ thống cần được bảo vệ và các thao tác thích hợp trên các đối tượng này
Để hệ thống có tính tương thích cao, cần phân tách các cơ chế và chiến lược được
sử dụng trong hệ thống Các chiến lược sử dụng tài nguyên là khác nhau tùy theo ứng dụng và thường dễ thay đổi Thông thường các chiến lược được lập trình viên
Trang 9CƠ CHẾ AN TOÀN HĐH WINDOWS 9
vận dụng vào ứng dụng của mình để chống lỗi truy xuất bất hợp lệ đến các tài nguyên, trong khi đó hệ thống cung cấp các cơ chế giúp con người sử dụng có thể thực hiện chiến lược bảo vệ của mình
CHƯƠNG III PHÂN TÍCH BẢO MẬT TRÊN WINDOWS QUA HỆ
THỐNG API
1 API hỗ trợ cơ chế xác thực
1.1 Giới thiệu lập trình xác thực trên local
Là quá trình xác minh thông tin đăng nhập trên windows Tài khoản đăng nhập được lưu lại local Sử dụng tiến trình để quản lý xác thực gọi là local security sybsystem service (isa)
1.2 Qúa trình xác thực trên local
Khởi động máy nhấn CTRL-ALT -DELETE
Winlogon nhận SAS và gọi GINA để hiển thị giao diện người dùng
GINA nhận username và password từ người dùng gửi tới LSA
Trang 10CƠ CHẾ AN TOÀN HĐH WINDOWS 10
Sau đó các dữ liệu đăng nhập, các GINA gọi LsaLogonUser để xác thực người dùng
LSA gọi gói chứng thực xác định và chuyển dữ liệu đăng nhập vào nó
Gói chứng thực kiểm tra dữ liệu và xác định việc xác thực có thành công hay không
Kết quả xác thực xác thực trả lại cho LSA và từ LSA đến GINA
GINA hiển thị thành công hoặc thất bại của việc xác thực cho người dùng và trả về kết quả xác thực cho Winlogon
Nếu xác thực thành công, phiên đăng nhập của người dùng bắt đầu và bộ đăng nhập thông tin được lưu để tham khảo trong tương lai
1.3 API xác thực
Hai hàm xác thực quan trọng: LogonUser và LsaLogonUser
1.4 API quản lý tài khoản
Gồm 2 kiểu tài khoản:
a Administrators (quản trị) có toàn bộ quyền kiểm soát hệ thống
b Standard users (người dùng chuẩn) : Kiểu tài khoản này được cho phép đăng nhập vào máy tính, chạy ứng dụng, hiệu chỉnh thông tin tài khoản riêng, lưu file trong thư mục người dùng của chúng Người dùng sẽ bị hạn chế thực hiện thay đổi trên hệ thống
Guest (Tài khoản khách): với quyền hạn tối thiểu và mặc định bị tắt
NetUserAdd: thêm một tài khoản người dùng vào hệ thống Server Nếu thành công hàm trả về là NERR_Success Không thành công trả về giá trị lỗi
NetUserDel: xóa một tài khoản người dùng trên Server
NetUserSetInfo: thiết lập các thông tin đối với tài khoản người dùng
NetUserEnum: lấy danh sách tài khoản người dùng trên Server Nếu server NULL sẽ lấy danh sách tài khoản trê local
1.5 API quản lý quyền hạn tài khoản
Hai công cụ là User Accounts (trong control Panel) và Local Users and
Groups (trong Computer Management)
NetAccessAdd: thêm quyền hạn cho 1 user đối với tài nguyên cụ thể
NetAccessDel: Xóa 1 quyền hạn nào đó trên tài nguyên đối với người dùng hoặc nhóm người dùng trên server
NetAccessEnum: lấy về danh sách các quyền của người dùng hoặc nhóm người dùng đối với một tài nguyên cụ thể
NetAccessCheck: kiểm tra người dùng hoặc nhóm người dùng cụ thể có quyền đối với tài nguyên cụ thể hay không
NetAccessSetInfo: hàm thiết lập quyền đọc và ghi trên tài nguyên cụ thể cho tất cả người dùng và nhóm người dùng