Nguyên lý Hệ điều hành - Chương 13: Protection & Security

pdf 6 trang vanle 3690
Bạn đang xem tài liệu "Nguyên lý Hệ điều hành - Chương 13: Protection & Security", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfnguyen_ly_he_dieu_hanh_chuong_13_protection_security.pdf

Nội dung text: Nguyên lý Hệ điều hành - Chương 13: Protection & Security

  1. Nội dung chương 13 BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH „ Protection Problem z Cấu trúc Protection Domain z Ma trậntruynhập - Access Matrix Chương 13: Protection & Security „ Security Problem z Thẩm định quyền Authentication z Các hiểmhọachương trình Program Threats Phạm Quang Dũng z Các hiểmhọahệ thống System Threats Bộ môn Khoa học máy tính z Giám sát hiểmhọa Threat Monitoring Khoa Công nghệ thông tin Trường Đạihọc Nông nghiệpHàNội z Tường lửa Firewall Website: fita.hua.edu.vn/pqdung z Mã hóa Encryption Bài giảng Nguyên lý Hệđiềuhành 13.2 Phạm Quang Dũng ©2008 13.1. The Protection Problem Cấu trúc Protection Domain „ Hệ thống máy tính gồmmộttậphợpcáctiến trình và các „ Access-right = đốitượng (hardware và software). trong đó rights-set là mộttập con củatấtcả cácthaotáchợplệ có thểđượcthựchiệntrênđốitượng. „ Mỗi đốitượng có một tên duy nhấtvàcóthểđượctruy nhập qua mộttập các thao tác xác định. „ Domain = tập các access-right „ Protection problem – đảmbảorằng mỗi đốitượng được truy nhập đúngvàchỉ bởinhững tiếntrìnhđược phép. „ Chỉ quan tâm đếnmôitrường bên trong hệ thống (internal environment) „ Một Domain có thể là: user, process, procedure Bài giảng Nguyên lý Hệđiềuhành 13.3 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.4 Phạm Quang Dũng ©2008 1
  2. Ma trận truy nhập - Access Matrix Cách sử dụng Access Matrix „ Coi protection là mộtma trận(access matrix) „ Nếumộttiến trình trong Domain Di cố gắng thựchiện thao tác z Các hàng biểudiễn các domain “op” trên đốitượng Oj, thì “op” phải có trong access matrix, trên z Các cộtbiểudiễncácđốitượng (objects) giao điểm hàng Di và cột Oj . „ Access(i, j) là tậphợp các thao tác mà mộttiếntrìnhthựchiện „ Có thểđượcmở rộng thành bảovệđộng (dynamic protection). trong Domaini có thể tác động trên Objectj z Các thao tác để thêm, xóa các access right. z Các access right đặcbiệt: chủ củaOi (owner of Oi ) copy thao tác từ Oi đếnOj control – Di có thể thay đổi các access right củaDj transfer – chuyểntừ domain Di đếnDj Bài giảng Nguyên lý Hệđiềuhành 13.5 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.6 Phạm Quang Dũng ©2008 Sự thực hiện của Access Matrix 13.2. Security Problem „ Mỗicột = Danh sách quyềntruynhập (access-control list) đối „ Security phải quan tâm đếnmôitrường bên ngoài hệ vớimột object. thống (external environment), và bảovệ hệ thống khỏi: Xác định domain nào có thể thựchiện thao tác gì. z truy nhập trái phép - unauthorized access Domain 1 = Read, Write Domain 2 = Read z cố tình/vô tình thay đổihoặc phá hoại M „ Bảovệđểchống lạisự sử dụng sai (misuse) vô tình dễ „ Mỗi hàng = Danh sách khả năng (capability list) hơncố tình. Đốivớimỗi domain, những thao tác gì được phép trên những object nào. Object 1 – Read Object 5 – Read, Write, Delete, Copy Bài giảng Nguyên lý Hệđiềuhành 13.7 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.8 Phạm Quang Dũng ©2008 2
  3. Sự thẩm định quyền - Authentication Tìm Password „ Nếubạnbiếtuser, hãythử với tên hoặc ngày sinh củachồng/vợ „ Xác nhậnngười dùng (User identity) hầuhếtthường người đó. đượcthiếtlập thông qua mậtkhẩu(password), có thể „ Brute force: thử tấtcả các sự kếthợpcủachữ và số. đượccoilàmộttrường hợp đặcbiệtcủachìakhóahoặc „ Dictionary attack: thử tấtcả các từ trong từđiển, cả từđơnvà từ ghép. khả năng. „ Shoulder surfing: nhìn bàn phím khi user gõ mậtkhẩu. „ Keystroke recorder: Các máy tính Internet cafe ghi tấtcả lần bấm phím. „ Ăncắp password file khi sử dụng hệ thống. „ Bài giảng Nguyên lý Hệđiềuhành 13.9 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.10 Phạm Quang Dũng ©2008 Bảo vệ Password Các hiểm họa chương trình-Program Threats „ Thường xuyên thay đổi password „ Trojan Horse – Chú ngựathànhTroa z Là đoạn mã mà dùng sai môi trường của nó. „ Sử dụng password khó đoán: dài, không phảitừ trong từđiển, cáckýtựđầu tiên trong câu, hệ thống các dấu. z Khai thác kỹ thuật cho phép chương trình viếtbởingười này có thể đượcthựchiệnbởingười khác. „ Bắt đợisaumỗilầnthử gõ password sai. z Spyware, pop-up browser windows, covert channels „ Lưu password ở dạng mã hóa (Unix crypt()). „ VD1 „ Chỉ administrator có thể truy nhập file password và bằng một z Bob soạnmột plugin mớihấpdẫnchomộtchương trình soạnthảo chương trình đặcbiệt. vănbản. z Sue, nhân viên của Bob, sử dụng plugin đó, và nó làm việctốt „ Sử dụng password 1 lần: máy đưaramột bài toán c, user tính z ngoạitrừ một điềulànócopy mọi file Sue soạnthảovàomộtthư rồitrả lời f(c), máy cũng tính f(c) rồi so sánh. Chỉ user và mụccủa Bob. computer biếthàmf. z Khi Sue soạnmộtbứcthư mậtchoTổng giám đốcvề sự quảnlý „ yếukémcủa Bob, Bob đọcnótrước khi Sue gửi Bài giảng Nguyên lý Hệđiềuhành 13.11 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.12 Phạm Quang Dũng ©2008 3
  4. Program Threats (tiếp) Program Threats (tiếp) „ VD2 „ Trap door z Bob viếtmộtchương trình hiểnthị mộthộpthoại full-screen trông giống hệt z User-id hoặc password riêng làm hỏng thủ tụcbảomật thông thường. màn hình đăng nhập Windows. z Có thểđượcgắn trong một trình biên dịch (compiler). z Bob chạychương trình rồirời Internet cafe mà không log out. „ Ví dụ: z Sue gõ username và password trong chương trình của Bob. z Bob được Ngân hàng Vietnam thuê viết1 phầnmềmquản lý tài khoản. z Bob cất thông tin đó, rồichương trình của anh ta thựchiệnviệc log out, vì z Bob viết CT, và nó làm việc hoàn hảo, ngoạitrừ nó có 2 trap door: vậy Sue sẽ thấy màn hình đăng nhậpthậtcủa Windows. z Sue nghĩ rằng mình gõ đãsaimậtkhẩu, thử lạivàvàođược 1. Mã củaBob làmtrònxuống, vd $1.995 trở thành $1.99. $0.005 được gửi vào tài khoảncánhâncủa Bob. „ Internet Trojan horse: 2. Mã của Bob bao gồmmột đoạnmàtại đó anh ta kiểmtramộtusername z Bob mua một domain tên là , và lậpmột trang web www.citibanc.com và password cốđịnh riêng thay vì kiểm tra trong password file. Bob giống trang chủ của Citibank. đăng nhậpvàosử dụng tài khoản đó để kích hoạt đoạnmãtrênchỉ vào z Sue gõ nhầm URL, vào trang web củaBob. ngày Ngân hàng tính tiền lãi phảitrả. z Bob ăncắp được password của Sue, rồigửi (redirect) Sue tới đúng trang z Hãy tưởng tượng rằng Bob viết 1 compiler mà thêm một trap door vào mọi web của Citibank. chượng trình! Bài giảng Nguyên lý Hệđiềuhành 13.13 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.14 Phạm Quang Dũng ©2008 Program Threats (tiếp) Các hiểm họa hệ thống - System Threats „ Worms – là 1 chương trình sử dụng cơ chếđẻtrứng để tấn công liên „ Stack and Buffer Overflow tụchệ thống; tựđộng copy chính nó, dùng hết tài nguyên hệ thống và có thể khóa tấtcả các tiến trình khác sử dụng hệ thống. z Là cách tấncôngphổ biếnnhấttừ mộtkẻ ngoài hệ thống „ Internet worm? Morris Internet worm – 1988? trên mộtmạng hoặckếtnối dial-up để đạt đượcsự truy nhập „ Denial of Service (DOS) trái phép vào hệ thống đích z Làm quá tải máy tính đích để ngănnólàmviệc có ích. z Kiểutấn công này lợidụng mộtlỗi trong mộtchương trình z SCO (1 công ty Mỹ) đượctàitrợ bởiMicrosoft để sắpxếpviệckiệncáo chống lại các công ty sử dụng Linux. (tràn stack hoặcbộ nhớđệm buffer.) z SCO làm mộtsố fan củaLinux tứcgiận, họ thựchiệncuộctấncôngDOS vào web site củacôngty. z Họ viếtnhững đoạn script đơngiảngiả là trình duyệtmuốnkếtnốitớiweb site của SCO z nhưng dừng kếtnốingaysaukhihọ gửiyêucầu, và z lậptứcgửi1 yêucầu khác, rồi1 nữavàcứ tiếptụcnhư vậy z web site củaSCO đã không thể truy cập trong vài tháng. Bài giảng Nguyên lý Hệđiềuhành 13.15 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.16 Phạm Quang Dũng ©2008 4
  5. System Threats: Viruses Giám sát hiểm họa (Threat Monitoring) „ Giống như trap door, virus là 1 đoạnmãđược nhúng trong 1 chương „ Kiểm tra các hoạt động đáng nghi – vd mộtsố lầnthử password trình có ích. Nhưng 1 virus đơnlẻ có thể tự nó tấn công nhiềuchương sai có thể báo hiệu đang thử password. trình khác nhau. „ Audit log (kiểm định truy nhập) – ghi thời gian, user, và kiểucủa „ Đơngiảnlànótự chèn vào giữa đoạnchương trình bình thường. tấtcả sự truy nhậpmột đốitượng; hữudụng cho sự phụchồitừ „ Khi đượcthựchiện, nó copy chính nó đếncácchương trình khác, và/hoặc gây ra sự hư hại(lựachọnthường phụ thuộcvàothờigianđã mộtsự xâm phạmvàchoviệc phát triểnnhững biện pháp bảo thựchiện, hoặc vào ngày nhất định, vd virus Michelangelo). mậttốthơn. „ Các chương trình và dữ liệu không độclậplàcửa ngõ tốt cho virus tấn „ Định kỳ quét (scan) hệ thống tìm các lỗibảomậtrồitựđộng sửa công: hoặc thông báo cho ngườiquảntrị hệ thống. z Các macro của Word là chương trình VB đượcthựchiệnkhitàiliệu được nạp. z Password ngắnhoặcdễđoán z Các file đính kèm email (vd virus love bug). z Các chương trình có quyền trái phép z Web pages (vd mã javascript thay hosts file, chuyển www.yahoo.com tới z Các tiếntrìnhchạy lâu không mong đợi một web site quảng cáo). z Trojan horse, Bài giảng Nguyên lý Hệđiềuhành 13.17 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.18 Phạm Quang Dũng ©2008 FireWall Dùng Firewall thực hiện an ninh mạng qua các Domain „ Firewall tương tự như một màn ngănlửagiữa động cơ ô tô với ghế ngồicủa hành khách. „ LAN firewall: router kiểmtrakỹ và có thể loạibỏ các gói tin: z Một firewall được đặtgiữa các host đáng tin T và không đáng tin U. z Nó cho phép các message đitừ T tới U không giớihạn. z Các message từ U tớiT chỉđi qua đượcnếu chúng là các hồiâm (reply) của các message trước đó đượcgửitừ T tớiU. „ DMZ (Demilitarized Zone – Vùng phi quân sự): z Tấtcả message từ U tới T mà không phảihồiâmthìđi đếncác máy tính DMZ. z DMZ chứa web server, VPN server (truy nhập máy T an toàn vớitư cách của các host U được phép), Bài giảng Nguyên lý Hệđiềuhành 13.19 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.20 Phạm Quang Dũng ©2008 5
  6. Mã hóa - Encryption Ví dụ mã hóa - SSL „ Mã hóa vănbảnrõràngthànhmậtmã. „ SSL – Secure Socket Layer „ Những đặc tính củakỹ thuật mã hóa tốt: „ Giao thứcbằng mậtmãgiớihạn 2 máy tính chỉ trao đổi z Tương đối đơngiản để ngườisử dụng có phép (authorized user) dữ liệuvới nhau. có thể mã hóa và giảimã. z Cách mã hóa không chỉ phụ thuộcvàosự bí mậtcủagiảithuậtmà „ Đượcsử dụng giữa các web server và các browser nhằm còn vào một tham số củagiảithuật đượcgọi là khóa mã hóa giao tiếp an toàn (credit card numbers) (encryption key). z Thựcsự khó đốivớikẻ xâm phạmcóthể xác định đượckhóam㠄 Server được xác nhậnbởimột certificate (≈ giấychứng hóa. nhận). „ Data Encryption Standard thay thế cáckýtự và sắpxếplạithứ „ Giao tiếpgiữamỗi máy tính sử dụng mậtmãkhóađối tự củachúngtrênnềntảng của khóa mã hóa được cung cấp xứng. bởingườisử dụng có phép thông qua mộtkỹ thuật mã hóa. Bài giảng Nguyên lý Hệđiềuhành 13.21 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệđiềuhành 13.22 Phạm Quang Dũng ©2008 End of Chapter 13 6