OS Security Presentation

38 340 0
OS Security Presentation

Đ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

Bao cao HDH

2/25/2012 1 OS Security IT Department ThS N ễ ĐàTườThS. Nguyễn Đào Trường Email: truongnguyendao@gmail.com Mobile phone: (+84)946 562 168 1 Sumary Introduction and Reference 1 Access Control Fundamentals 2 OS Security Contents 3 2 Sumary Introduction and Reference 1 Access Control Fundamentals 2 OS Security Contents 3 3 OS Introduction Protection Overview Process Management Protection and Security Memory Management Storage Management Operating system 4 Document Reference 1. Ravi Sandhu, University of Texas, San Antonio “Operating Systems Security”, 2008, 2. Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts Eighth Edition"System Concepts, Eighth Edition , Chapter 14-15. 3. www.mediafire.com/?wb856gwayo2ip9i 5 Abstract OS cung cấpnhững nguyên tắccơ bản để bảomậtcáctiếntrìnhtrong máy tính Những nhà thiếtkế OS đãnghiên cứucáchxâ y dựng mộthệ điềuhànhy ự g ộ ệ an toàn bảovệ chống lạicácmối đe dọa Ngày nay thì vấn đề an toàn càng quan trọng đốivớitấtcả các hệđiều hành Tuy nhiên đây không phảilàvấn đề đơngiản 6 2/25/2012 2 Introduction  OS chạyvới Security, Schedule, resource mechanisms 7 Introduction (c) Hệđiềuhànhantoàn  Mục đích chính củaantoànhệđiều hành là sự phát triểncủahệđiều hành an toàn.  Hệđiều hành an toàn cung cấp các nguyên tắcan toàn để đảmbảochohệ thống được đảmbảoan toàn trướcnhững mốihiểmhọatừ bên ngoài. Các ng ên tắc an toàn nà đợc thiết kế để cng Các nguyên tắc an toàn này được thiết kế để cung cấpmộtsự bảo đảmnộidungcủa tài nguyên và những cơ chế lậplịch.  Những mục tiêu an toàn xác định các yêu cầuhoạt động an toàn đốivớimộthệ thống vớibấtkỳ tiến trình nào đượcchạytrênđó.  Những cơ chế an toàn phải đảmbảonhững mụctiêu này bấtkể những cách mà những kẻ tấncônglợi dụng h ệ thống. 8 Introduction (c) Hệđiềuhànhantoàn(c)  …  Khái niệm“Hệđiều hành an toàn” là bao gồmcả ý tưởng và nghịch hợp.  Các hệ thống cung cấpmức an toàn cao trong việc thựcthiđượcgọilàhệ thống an toàn hoặcthậmtrí th ờng gọi là hệ thống tin cậ “tr sted”thường gọi là hệ thống tin cậy “trusted”.  Tuy nhiên, có một điềurằng không có hệ thống hiện đạiphứctạp nào là an toàn tuyệt đối.  Khó có thể ngănchặn đượccáclỗitronglậptrìnhvà những thách thứccố gắng loạibỏ các lỗi, có nghĩalà không có mộthệ thống phứctạp nào như hệđiều hành có thể an toàn tuyệt đối. 9 Introduction (c) Những mụctiêuantoàn  Mụctiêuantoànxácđịnh những hoạt động nào đượcthựchiệntronghệ thống trong khi đóvẫn chống lại được các truy cậpbấthợp pháp.  An toàn là mộtkháiniệmtrừutượng cao, không giống như cách mà độ phứctạp tính toán củathuật toán trong trường hợp xấu nhất quy định tập cáctoán trong trường hợp xấu nhất quy định tập các thựcthicủathuật toán có độ an toàn như yêu cầu.  Mụctiêucủaantoànởđây xác định mộtyêucầumà việcthiếtkế hệ thống có thểđáp ứng và một thi hành đúng phải hoàn thành.  Những mụctiêuantoànmôtả cách các thi hành hệ thống truy cập vào các tài nguyên hệ thống đáp ứng các yêu cầusau:bí mật (secrecy), toàn vẹn (integrity), và sẵn sàng (availability). 10 Introduction (c) Những mụctiêuantoàn(c)  Mộttruycậphệ thống theo truyềnthống thì là nói rõ những điềukiệnmànhững chủ thể nào (ví dụ:các tiến trình, các user) có thể thựchiện các thao tác nào (ví dụ: đọc, ghi) trên những đốitượng nào (ví dụ:các file, các socket).  Các yêu cầu bí mật giới hạn các đối tượng mà các Các yêu cầu bí mật giới hạn các đối tượng mà các chủ thể riêng có thểđọcvìcácđốitượng này có thể có các bí mật không cho tấtcả các chủ thểđược phép đượcbiết.  Các yêu cầutoànvẹngiớihạnnhững đốitượng nào mà các chủ thể có thểđượcghivìcácđốitượng có thể chứanhững thông tin mà các chủ thể khác phụ thuộc vào thao tác đúng củahọ.Mộtsố chủ thể có thể không đượctincậy để thay đổinhững đốitượng này. 11 Introduction (c) Những mụctiêuantoàn(c)  Các yêu cầusẵnsànggiớihạn các tài nguyên hệ thống (như thiếtbị lưutrữ,CPU)màcácchủ thể có thể bị cạnkiệt vì chúng làm cạnkiệtnhững tài nguyên này.  Hầuhếtmongmuốn ở hệđiều hành an toàn là trên các yêu cầu bí mật các yêu cầu toàn vẹn mặc dùcác yêu cầu bí mật, các yêu cầu toàn vẹn, mặc dù tính sẵnsàngcũng có thể gián tiếptácđộng đến những mục tiêu này.  Cộng đồng an toàn xác định mộtdạng khác củacác mục tiêu an toàn. Mộtsố mụctiêuantoànđược định nghĩatrongcácđiềukiệncủacácyêucầuantoàn (ví dụ:bímật, toàn vẹn), nhưng những yêu cầukhác được định nghĩatrongcácđiềukiệntheochứcnăng, theo các cách đặcbiệt để giớihạnchứcnă ng để trở lên an toàn. 12 2/25/2012 3 Introduction (c) Những mụctiêuantoàn(c)  Mộtvídụ về mụctiêuđược định nghĩa trong các điều khoảnyêucầuantoànlà“simple-security property”(thuộc tính an toàn đơngiản) của mô hình Bell-LaPadula. •Cáctrạng thái mục tiêu này cho biếtmộttiếntrìnhkhôngthể đọcmột đốitượng mà việcphânloại tính bí mậtcủa đốitượng này cao hơnviệc phân loại tính bí mậtcủacáctiến trình. • Mục tiêu này hạn chế các thao tác dựa trên một yêu cầu an• Mục tiêu này hạn chế các thao tác dựa trên một yêu cầu an toàn, bí mật.  Mộtvídụ về mụctiêuantoànchứcnăng là “principle of least privilege” (nguyên tắcquyềnhạntốithiểu), hạnchế mộttiếntrìnhvớichỉ mộttập các thao tác cầnthiết để thựchiện. •Mục tiêu này là theo chứcnăng vì không đảmbảorằng tính bí mậtvà/hoặctínhtoànvẹncủamộthệ thống đượcthựchiện, nhưng nó khuyếnkhíchcáchạnchế theo chứcnăng mà có thể ngănchặnmộtsố tấn công • Tuy nhiên, chúng ta không thể chứng minh không có lỗ hổng khi sử dụng các mục tiêu an toàn theo chứcnăng. 13 Introduction (c) Những mụctiêuantoàn(c)  Nhiệmvụ củangười phát triểnhệđiều hành an toàn là xác định các mụctiêuantoànđể đảmbảo an toàn cho hệ thống có thể xác thực được, vì vậycácmục tiêu theo chứcnăng là không đủ.  Mặt khác, các mụctiêubímật, toàn vẹnngăncản chức năng có lợi cho an toàn vì chúng có thể bị quáchức năng có lợi cho an toàn, vì chúng có thể bị quá hạnchế bởimộtsố sảnphẩmphầnmềm.  Trong quá khứ thì các hệđiều hành đảmbảocác tiêu chí bí mật, toàn vẹn không đượcsử dụng rộng rãi vì chúng cảntrở việcthựchiệncủanhiều ứng dụng.  Mộtkỹ thuậtnổibậtlàkỹ thuậtmáyảo cho phép nhiềuhệ thống phầnmềmthương mại đượcchạy độclậptrêncùnghệ thống phầncứng. Do đó, phần mềm đượcsử dụng để chạytrêncùnghệ thống có thể chạy độclập trong các hệ thống ảo khác nhau. 14 Introduction (c) Những mụctiêuantoàn(c)  Dù còn lại đượcbiếtnhưđộclậpcóthể thúc đẩycải tiếnhiệuquả an toàn hệ thống.  Ngoài ra, ngày nay mộtvàihệđiều hành mục đích chung chung có khả năng bắtépvàthựchiệnnhững mục tiêu an toàn. Cho dù hệ thống m c đích ch ng ch ng nà sẽ có Cho dù hệ thống mục đích chung chung này sẽ có khả năng thực thi những mụctiêuantoànhoặc đưa ra sựđảmbảo đầy đủ cho việcthựcthinhững mục tiêu không rõ ràng.  Tuy nhiên, trong trường hợpkhác,những mụctiêu an toàn phải được định nghĩavàmộtgiải pháp riêng để thực thi những mụctiêuđó, điều đó cho phép việc thựcthihầuhếtphầnmềmphổ dụng theo những cách hợplý,phải được định danh. 15 Introduction (c) Các mô hình hệ thống Threat Model Mô hình mối đe dọa Trust Model Mô hình tin cậy 16 Trust Model (Mô hình tin cậy)  Tậpcácphầnmềmvàdữ liệumàtrênđóhệ thống phụ thuộc vào tính chính xác toàn vẹn củanhững mụctiêuantoànhệ thống.  VớiHĐH thì mô hình tin cậy đồng nghĩavớicơ sở tính toán an toàn củahệ thống. (TCB- Trusted Computing Base)  Lý tưởng một hệ thống TCB chứa tối thiểu số Lý tưởng, một hệ thống TCB chứa tối thiểu số lượng phầnmềmcầnthiết để đảmbảonhững mụctiêuantoànmộtcáchđầy đủ.Phầnmềm phảiantoànbaogồmnhững phầnmềmxác định các mụctiêuantoànvàcácphầnmềm phải tuân theo các mụctiêuantoàn(vídụ:các nguyên tắcantoànhệđiều hành)  Hơnnữa, phầnmềmcố gắng phải đượctincậy. Vì vậy, ý tưởng TCB chứamộtcơ chế cố gắng kích ho ạtcácmụctiêuantoànđượcnạpvàtuân theo trong thờigiansống củahệ thống. 17 Trust Model (Mô hình tin cậy) (c)  Trong thựctế thì mộtTCBhệ thống bao gồm mộtloạtcácphầnmềm. Cơ bản, cơ chế thựcthi đượcchạytronghệđiều hành. Vì không có ranh giớibảovệ giữacácchứcnăng hệđiềuhành (i.e., in the typical case of a monolithic operating system), cơ chế thựchiệnphảitin tưởn g tấtcả các mã hệ điềuhành, do đó, nó làg ệ , , mộtphầncủa TCB.  Hơnnữa, mộtloạtcácphầnmềmkhácđang chạybênngoàihệđiềuhànhcũng phải đượctin cậy.Ví dụ,hệ thống điềuhànhphụ thuộcvào mộtloạtcácchương trình để xác thựcdanhtính củangườisử dụng (ví dụ, đăng nhập và SSH).  Những chương trình như vậyphải đượctincậy bởivìthựcthiđúng các mụctiêuantoànphụ thuộ cvàoviệcxácđịnh chính xác củangườisử dụng 18 2/25/2012 4 Trust Model (Mô hình tin cậy) (c)  Ngoài ra, có mộtsố dịch vụ mà hệ thống phải tin tưởng để đảmbảothựcthiđúng các mụctiêu an toàn.  Ví dụ,hệ thống cửasổ,chẳng hạnnhư hệ thống Window X, thựchiệncáchoạt động thay mặt cho tấtcả các tiếntrìnhđang chạytrênhệđiều hành và các hệ thống này cung cấp cơ chế chiahành, và các hệ thống này cung cấp cơ chế chia sẻ rằng có thể vi phạmcácmụctiêuantoàncủa hệ thống (ví dụ như cắtvàdántừ một ứng dụng khác)  Kếtquả là, hệ thống Window X và mộtloạtcác phầnmềmkhácphải đượcbổ sung thêm vào TCB củahệ thống.  Các nhà phát triểnHệđiềuhànhantoànphải chứng minh rằng hệ thống củahọ có mộtmô hình tin cậykhả thi. 19 Trust Model (Mô hình tin cậy) (c)  Điềunàyđòi hỏirằng: (1) các TCB hệ thống phải trung gian hòa giảitấtcả các hoạt động an toàn nhạycảm; (2) xác minh sựđúng đắncủa các phầnmềmTCBvàdữ liệucủanó,và(3)xác minh rằng việcthựcthicủacácphầnmềm không có bị can thiệpbởicácquátrìnhbên n goài TCB.g  Đầu tiên, xác định các phầnmềmTCBlàmộtcôngviệctầm thường, không vì lý do đã nói ở trên.  Thứ hai, xác minh tính đúng đắncủaTCBphầnmềmlàmột nhiệmvụ phứctạp.  Đốivớihệ thống mục đích chung, số lượng củaTCBphần mềm bên ngoài hệđiều hành lớnhơnsovớiphầnmềmhệ điều hành là không thựctếđểxác minh chính thức.  Mức độ tin cậy trong TCB phầnmềmcóthể thay đổitừ phần mềm đó được chính thức xác nhận(mộtphần), đầy đủ,kiểm travàxemxétđể cộng đồng người dùng tin tưởng để thực hiện các nhiệmvụ do mình chỉđịnh. Trong khi trước đây rất được ưa thích, sau này thường là trường hợp. 20 Trust Model (Mô hình tin cậy) (c)  …  …  Thứ ba, hệ thống phảibảovệ phầnmềmTCBvàdữ liệucủa nó từ sửa đổibởi các quá trình bên ngoài TCB.Đólà,sự toàn vẹncủaTCBphải đượcbảovệ khỏicácmối đedọachohệ thống. Nếu không, phầnmềm này có thểđượclàmgiả mạo, và không còn đáng tin cậy. 21 Threat Model (Mô hình mối đe dọa)  Mô hình mối đedọa định nghĩamộttậphợpcác hoạt động mà mộtkẻ tấncôngcóthể sử dụng để thỏahiệpmộthệ thống.  Trong mô hình đedọa này, chúng tôi giảđịnh mộtkẻ tấncôngmạnh mẽ,những ngườicókhả năng tiêm chích hoạt động từ mạng và có thể được kiểm soát một số phần mềm chạy trên hệđược kiểm soát một số phần mềm chạy trên hệ thống (tứclà,bênngoàicơ sở tính toán đáng tin cậy). Hơnnữa, chúng ta đoán rằng những kẻ tấncôngđang tích cựclàmviệc để vi phạmcác mục tiêu an ninh hệ thống.  Nếukẻ tấncôngcóthể tìm thấymộtlỗ hổng trong hệ thống sẽ truy cậpvàothôngtinbímật (tứclà,viphạmcácmụctiêubímật) hoặccho phép sửa đổi, bổ sung thông tin mà đốitượng phụ thuộc(t ứclàviphạmcácmụctiêutoàn vẹn), sau đókẻ tấncôngcholàbị tổnhạihệ thống. 22 Threat Model (Mô hình mối đe dọa) (c)  Kể từ khi những kẻ tấncôngđang tích cựclàm việc để vi phạmcácmụctiêuantoànhệ thống, chúng ta phảigiảđịnh rằng kẻ tấncôngcóthể thử bấtkỳ và tấtcả các hoạt động đượcphépkẻ tấncông.  Ví dụ,nếumộtkẻ tấncôngchỉ có thể truy cập vào hệ thống thông qua mạng sau đó kẻ tấnvào hệ thống thông qua mạng, sau đó kẻ tấn công có thể cố gắng để gửibấtkỳ hoạt động bất kỳ quy trình cung cấptruycậpmạng  Hơnnữa, nếumộtkẻ tấncôngkiểmsoátmột quá trình chạytrênhệ thống, sau đókẻ tấn công sẽ cố gắng bằng bấtcứ phương tiệnsẵncó trong quá trình thỏahiệpcácmụctiêuantoàn hệ thống. 23 Threat Model (Mô hình mối đe dọa) (c)  Mô hình mối đedọanàyđể lộ ra một điểmyếu cơ bảntronghệđiềuhànhthương mại(vídụ, UNIX và Windows), họ giảđịnh rằng tấtcả các phầnmềmchạytrêndanhnghĩacủamộtchủ thể là đáng tin cậytheochủ thểđó.  Ví dụ,mộtchủ thể có thể chạymộttrìnhword và một email trên client và trong các hệ thốngvà một email trên client, và trong các hệ thống thương mại các quá trình này đượctincậy để thựchiệnnhư ngườisử dụng.  Tuy nhiên, trong mô hình mối đedọanày,cả các quá trình này thựcsự có thể là dướisự kiểm soát củakẻ tấncông(vídụ,thôngquamột virus macro tài liệuhoặcthôngquamộtkịch bản độchạihoặctậptinđính kèm email)  Như vậy, mộthệđiềuhànhantoànkhôngthể tin tưởng quá trình bên ngoài củaTCBđể cư xử như mong đợi. 24 2/25/2012 5 Threat Model (Mô hình mối đe dọa) (c)  Trong khi điềunàycóthể dường như hiểnnhiên, các hệ thống thương mạitintưởng bấtkỳ quá trình sử dụng để quảnlýcáctruycậpdữ liệu củangười dùng (ví dụ, để thay đổiquyềntruy cậpcáctậptincủangười dùng thông qua lệnh chmod trong UNIX). Điềunàycóthể làm rò rỉ b í mậtcủangườidùng.Vàviệcsửa đổicácdữậ g g ệ liệumàngười dùng phụ thuộcvào.  Nhiệmvụ củamột nhà phát triểnhệ thống điều hành an toàn để bảovệ TCB từ các loại các mối đedọa đượcmôtảởtrên.  Bảovệ TCB đảmbảorằng các mụctiêuanninh hệ thống sẽ luôn luôn được thi hành bấtkể hành vi củacácquátrìnhcủangườisử dụng. 25 Threat Model (Mô hình mối đe dọa) (c)  Kể từ khi quá trình người dùng là không tin cậy, chúng tôi không thể phụ thuộcvàochúng, nhưng chúng tôi có thể bảovệ chúng khỏicác mối đedọa.  Ví dụ,hệđiềuhànhantoàncóthể ngănchặn mộtquátrìnhngườidùngtruycậpvàodữ liệubí mật rò rỉ dữ liệu đó bằng cách hạn chế sựmật rò rỉ dữ liệu đó, bằng cách hạn chế sự tương tác củaquátrìnhđó.Tuy nhiên, phát hiện các TCB là khó khănhơnbởivìnótương tác với mộtloạtcácquátrìnhkhôngtincậy.  Mộtnhàpháttriểnhệđiềuhànhantoànphải xác định các mối đedọanhư vậy, đánh giá tác động về an ninh hệ thống, và cung cấpcácbiện pháp đốiphócóhiệuquả các mối đedọanhư vậy. 26 Threat Model (Mô hình mối đe dọa) (c)  Ví dụ,1máytínhđáng tin cậytrêncơ sở các thành phầncóxử lý yêu cầumạng phảixácđịnh nơimàyêucầunhư vậy không đáng tin cậy nhận đượctừ mạng xác định các mối đedọanhư vậycóthểảnh hưởng đếnhànhvicủacácthành phần, và cung cấpbiệnphápđốiphó,như hạn chế các l ệnh có thể và đầuvào, để bảovệ cácệ , ệ thành phần đó.  Nhà phát triểnhệđiềuhànhantoànphải đảm bảorằng tấtcả các thành phầntrêncơ sở tính toán đáng tin cậyngănchặncácmối đedọanhư vậymột cách chính xác. 27 Sumary Introduction and Reference 1 Access Control Fundamentals 2 OS Security Contents 3 28 Các khái niệm Access Control Bảovệ hệ thống Quản lý tham chiếu Định nghĩahệđiềuhànhantoàn Đánh giá tiêu chuẩn 29 Các khái niệm Access Control Bảovệ hệ thống Quản lý tham chiếu Định nghĩahệđiềuhànhantoàn Đánh giá tiêu chuẩn 30 2/25/2012 6 Bảo vệ hệ thống Định nghĩabảovệ hệ thống Ma trậntruycậpcủaLampson Các hệ thống bảovệ bắtbuộc 31 Bảo vệ hệ thống Định nghĩabảovệ hệ thống Ma trậntruycậpcủaLampson Các hệ thống bảovệ bắtbuộc 32 Bảo vệ hệ thống (C) Các yêu cầuantoàncủamộthệđiềuhànhđược định nghĩatrongviệcbảovệ hệ thống củanó. Định nghĩabảovệ hệ thống:  Bảovệ hệ thống bao gồmtrạng thái bảovệ mô tả các hoạt động mà các chủ thể hệ thống có thể thực hiệntrêncácđốitượng hệ thống, và mộttậpcác th tá t thái bả ệ h hé ử đổi tthao tác trạng thái bảovệ chophépsửa đổi trạng thái đó. Bảovệ hệ thống cho phép định nghĩa, quảnlýtrạng thái bảovệ. Trạng thái bảovệ chứacácchủ thể hệ thống nhất định, các chủ thể hệ thống, và các thao tác mà những chủ thể này có thểđượcthựchiệntrênnhững đốitượng đó. 33 Bảo vệ hệ thống (C) Bảovệ hệ thống cũng định nghĩathaotác trạng thái bảovệ cho phép mộttrạng thái bảovệ có thể sửa đổi. Ví dụ:cácthaotáctrạng thái bảovệ cần thiết để bổ sung các đốitượng hệ thống mới hoặc các chủ thể hệ thống mới vàomới hoặc các chủ thể hệ thống mới vào trạng thái bảovệ. 34 Bảo vệ hệ thống (c) Định nghĩabảovệ hệ thống Ma trậntruycậpcủaLampson Các hệ thống bảovệ bắtbuộc 35 Bảo vệ hệ thống (C) Ma trậntruycậpLampson:  Lampson đưaraýtưởng định nghĩamột trạng thái bảovệđượcmôtả khái quát trong mộtmatrậntruycập  Định nghĩamatrậntruycập: M t ậ t ậ b ồ ột tậ á hủ thể• Ma trận truy cập bao gồmmột tậpcácchủ thể s∈S, mộttậpcácđốitượng o∈O, mộttậpcác thao tác op ∈OP, và một hàm ops(s,o) ⊆OP, xác định các thao tác mà chủ thể scóthể thựchiện trên đốitượng o. Hàm ops(s,o) cho biếttậpcác thao tác tương ứng với ô (s,o). 36 2/25/2012 7 Bảo vệ hệ thống (C) Ma trậntruycậpLampson:(c)  Ma trận này là mộtmatrận2chiều: •Mộtchiềulàtậpcácchủ thể. •Mộtchiềulàtậpcácđốitượng. •Mộtôcủamatrậnlưutrữ các thao tác mà chủ thể tương ứng có thể thực hiện trên đối tượngthể tương ứng có thể thực hiện trên đối tượng tương ứng. •Vídụ: –Chủ thể Process 1 có thể thựchiện read và write trên đốitượng File 2. 37 Bảo vệ hệ thống (C) Ma trậntruycậpLampson:(c)  Nếucácchủ thể tương ứng vớicáctiến trình và các đốitượng tương ứng với các file, thì chúng ta cần các thao tác trạng thái bảovệđểcậpnhậttrạng thái bảovệ tứclàcácfilemớivàcáctiếntrìnhmới được tạora. Ví d khi ột fil ới (dFil 4) đ t ít tiế Ví dụ: khi một filemới (vd:File 4) được tạora,ít tiến trình đang tạo đó (vd:process 2) cũng đượctruycập đếnfileđó. Trong trường hợp này, mộtthaotác trạng thái bảovệ create_file(process,file) sẽ bổ sung mộtcộtmới đớivớifilemới và thêm các thao tác read và write vào ô (process,file) tương ứng. 38 File 1 File 2 File 3 File 4 Process 1 Process 2 Process 1 Read Read,write Read,write - Read - Process 2 - Read Read , write Read, write - Read Bảo vệ hệ thống (C) Ma trậntruycậpLampson:(c)  Mô hình ma trậntruycập Lampson cũng định nghĩa các thao tác xác định những chủ thể có thể thay đổi các ô trong ma trận.  Ví dụ: Lampson định nghĩathaotácsở hữumàxác định các thao tác quyềnsở hữu đốivới đốitượng liên quanquan.  Khi mộtchủ thểđược phép thựchiện thao tác sở hữu đốivớimột đốitượng o,chủ thểđócóthể thựchiện việc thay đổi các ô khác liên quan với đốitượng o đó.  Lampson cũng khám phá ra đạidiện(ủy thác) củacác thao tác quyềnsở hữu cho các chủ thể khác,vìvậy mà các chủ sở hữukháccóthể quảnlýphânphốicác quyền.  Ma trậntruycập này đượ csử dụng để định nghĩa miềnbảovệ củamộttiến trình. 39 Bảo vệ hệ thống (C) Miềnbảovệ:  Định nghĩamiềnbảovệ: •Mộtmiềnbảovệ xác định tậpcáctàinguyên(cácđối tượng) mà mộttiếntrìnhcóthể truy cập và các thao tác mà tiếntrìnhđócóthể sử dụng để truy cậpvàonhững tài nguyên đó.  Kiểm tra các hàng trong ma trân truy cập chúng taKiểm tra các hàng trong ma trân truy cập, chúng ta có thể thấytấtcả các thao tác mà mộtchủ thểđược quyềnthựchiện trên các tài nguyên hệ thống. Qua đây cũng xác định những thông tin nào mà mộttiến trình có thểđọcvàthayđổikhichạytrênđạidiện củachủ thểđó.  Trong hệđiềuhànhantoànchúngtamuốn đảmbảo rằng miềnbảovệ củamỗitiếntrìnhđó đáp ứng các mụctiêuantoànhệ thống (bao gồm: bí mậtvàtoàn v ẹn). 40 Bảo vệ hệ thống (C) Miềnbảovệ:(c)  Ở bấtkỳ thời điểmnàomộttiếntrìnhkếthợpvới mộthoặc nhiềuchủ thểđịnh nghĩamiềnbảovệ của nó.  Điều đócónghĩarằng, các thao tác mà nó có thẩm quyềnthựchiện đượcxácđịnh bởimộthoặcnhiều hủ thểchủ thể.  Các hệ thống mà chúng ta sử dụng ngày nay đưara các miềnbảovệ từ sự kếthợpcủacácchủ thể, bao gồm: những người dùng (user), các nhóm người dùng (group), các bí danh (alias), và các quyền (permission). 41 Bảo vệ hệ thống (C) Miềnbảovệ:(c)  Tuy nhiên, các miềnbảovệ cũng có thểđượcxây dựng từ giao củacácchủ thể.Lýdođể sử dụng giao của các quyềncủanhững chủ thể là để hạn chế miềnbảovệ những cho phép chia sẻ bởitấtcả các chủ thể,hơnnữa đưaranhững chủ thể miền bảo vệ mở rộng quyền mà bình thường chúngbảo vệ mở rộng quyền mà bình thường chúng không có.  Trong thực hành thì ma trậntruycậplàmộtcấutrúc dữ liệuthưa(vídụ:hầuhếtcácôlàkhôngcóthao tác nào cả), các mô tả khác về các trạng thái bảovệ đượcsử dụng trong thực hành.  Mộtcấutrúcmôtả lưutrữ trạng thái bảovệ sử dụng các cột đốitượng riêng, mô tả những chủ thể nào có quyềntruycậpvàođốitượng riêng đó. Mô tả này đượcgọilàDanh sách điềukhiểntruycập (ACL) 42 2/25/2012 8 Bảo vệ hệ thống (C) Miềnbảovệ:(c)  Mô tả khác lưutrữ chiều khác củamatrậntruycập, các hàng chủ thể. Trong trường hợp này, các đối tượng mà chủ thể riêngcóthể truy cập đượclưu trữ.Môtả này đượcgọi là danh sách khả năng – Capability List (C-List). Cũ ó hữ th ậ l i à bất l i t hi ô tả Cũng có những thuận lợi và bất lợi trong hai mô tả các trạng thái bảovệ C-List và ACL. •Vớigiải pháp dùng ACL, tậpcácchủ thể và các thao tác mà các chủ thể có thể thựchiện đượclưuchữ cùng vớicác đốitượng điềunàydễ dàng cho ta thấynhững chủ thể nào có thể truy cậpvàomột đốitượng trong bấtkỳ thờigian nào. Ngườiquảntrị thấytrực quan hơnmặc dù chúng ta không có bấtkỳ một nghiên cứu nào về tính hiệuquả. •Vớigiải pháp dùng C-List lư utrữ tậpcácđốitượng và các thao tác mà có thểđượcthựchiệntrênchúngđượclưutrữ cùng vớichủ thểđó, điềunàydễ dàng xác định miềnbảo vệ củamộttiến trình. 43 Bảo vệ hệ thống (C) Miềnbảovệ:(c)  Các hệ thống ngày nay sử dụng các mô tả ACL nhưng cũng có mộtsố hệ thống sử dụng các C-List (Điều này sẽđược làm rõ trong các phần sau) 44 Bảo vệ hệ thống (c) Định nghĩabảovệ hệ thống Ma trậntruycậpcủaLampson Các hệ thống bảovệ bắtbuộc 45 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc  Mô hình ma trậntruycậpmôtả bài toán về các hệ thống an toàn: các tiến trình không tin cậycóthể làm xáo trộnviệcbảovệ hệ thống.  Việcsử dụng các thao tác trạng thái bảovệ,cáctiến trình người dùng không tin cậycóthể thay đổima t ậ t ậ à bằ áhbổ à á hủtrận truy cậpnày bằng cách bổ sung vàocácchủ thể mới, các đốitượng mới, hoặc các thao tác mới gắnvới các ô.  Giả sử Process 1 có quyềnsở hữu File 1. Sau đó nó có thể gán quyềnchobấtkỳ mộtProcessnào khác quyền đọchoặcghi(hoặcthậmtrícả quyềnsở hữu) truy cậpvàoFile 1.  Mộthệ thống bảovệ cho phép các tiến trình không tin cậythayđổitrạng thái bảovệđượcgọilàhệ thống DAC (Discrectionary Access Control). 46 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Đây là vì trạng thái bảovệ theo ý củangười dùng và bấtkỳ mộttiếntrìnhkhôngtincậynàođềucóthể thựchiện.  Bài toán để đảmbảorằng trạng thái bảovệ riêng và tấtcả các trạng thái bảovệ trong tươnglaisinhratừ t thái à ẽ khô ấ t ậ khôtrạng thái này sẽ không cung cấp truy cập không hợp pháp đượcgọi là Bài toán an toàn - Safety Problem.  Bài toán được tìm ra không quyết định vớicáchệ thống bảovệ với các thao tác trạng thái bảovệ với nhau, như create_file ở trên cả việcbổ sung thêm cộtFilevàbổ sung thêm các thao tác đốivớichủ sở hữucủaôđó. 47 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Kếtquả nói chung không thể xác định đượcrằng mộttrạng thái bảovệ trong hệ thống sẽđượcan toàn (nhưđáp ứng các mục tiêu an toàn) trong tương lai.  Đốivớimột nhà thiếtkế hệđiều hành an toàn, một hệ thố bả ệ khô thể ử d đ ì óhệ thống bảovệ không thể sử dụng đượcvì nó không chống lạicáctòmòlụclọi; mộttiếntrình không an toàn có thể thay đổitrạng thái bảovệ,và vì vậycácmụctiêuantoànđượchệ thống đảmbảo.  Chúng ta nói rằng hệ thống bảovệ nhưđã được định nghĩatrước đó đảmbảoyêucầubảovệ:một tiếntrìnhđượcbảovệ từ các thao tác củacáctiến trình đóvàcáctiến trình khác được xem nhẹ. 48 2/25/2012 9 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Nếu không tiến trình người dùng bị giả mạo, thì vớimột số mức độ chắcchắn, trạng thái bảovệ vẫnsẽ mô tả những mụctiêuantoànđúng củahệ thống, và thậmtrí sau một vài thao tác thay đổitrạng thái bảovệ.  Giả sử File 1 lưutrữ mộtgiátrị bí mật, như khóa bí mật trong cặp khóa công khai và File 2 lưu trữ giá trị toàntrong cặp khóa công khai, và File 2 lưu trữ giá trị toàn vẹn cao như khóa công khai tương ứng. Nếu Process 1 không bị giả mạo, thì nó không giống như là nó sẽ bị rò rỉ khóa bí mậtchoProcess 2 thông qua File 1 hoặc File 2 hoặc thông qua việcthayđổiquyềncủa Process 2 đối với File 1.  Tuy nhiên, Nếu Process 1 bị giả mạo, nó khá khó để khóa bí mậtbị rò rỉ. Để đảmbảochắcchắnrằng tính bí mậtcủa File 1 được đảmbảo, tấtcả các tiếntrìnhcótruy cập đến file đóphải không được để rò rỉ file đó thông qua các quyềncóthểđốivớitiếntrìnhđó, kể cả thông qua các thao tác trạng thái bảovệ. 49 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Tương tự thì hệ thống bảovệ theo ma trậntruycậpcũng không đảmbảo tính toàn vẹncủa file khóa công khai File 2.  Nói chung, mộtkẻ tấn công phải không được thay đổibất kỳ khóa công khai củangười dùng nàyo vì điềunàylàm cho kẻ tấn công có thể thay khóa công khai này bằngcho kẻ tấn công có thể thay khóa công khai này bằng khóa bí mậtcủakẻ tấn công.  Sau đó, kẻ tấn công có thể giả mạonhư mộtngười dùng. Vì vậy, làm ảnh hưởng đến tính toàn vẹncủa FIle 2 cũng có thể phân chia bảomật.  Nói một cách rõ ràng hơn, hệ thống bảovệ theo ma trận truy cập không thể bảovệ File 2 từ mộttiến trình giả mạo Process 1, khi nó có quyền ghi đốivới File 2.  H ơnnữa, Tiến trình giả mạo Process 2 có thể thựchiện tấn công này bởikẻ tấn công để đưaramộtgiátrị riêng cho khóa công khai. 50 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Thậmtrínếu Process 1 không bị giả mạo, thì tiến trình giả mạo Process 2 cũng có thểđánh lừa Process 1 trong việc thay đổi File 2 theo cách giả mạophụ thuộc vào giao diệnvànhững điểmyếu trong Process 1. Nhữ điể ế tà bộ đệ th ờ đ ử d Những điểmyếu tràn bộ đệm thường đượcsử dụng theo cách này đốivớimộttiến trình giả mạo(như Process 2) thựchiệntrênmộttiếntrìnhdễ bị tổn thương (như Process 1) và sử dụng phân quyềncủa nó một cách trái phép.  Đáng tiếc, giảiphápbảovệđã trình bày trên thì trạng thái bảovệ theo ma trậntruycập quá đơngiản trong thế mộtthế giớiphầnmềm độchạingàynay và vớikhả năng kếtnốim ạng củanhững kẻ tấn công ở khắpmọinơi. 51 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Chúng ta thấycáchệ thống tính toán ngày nay mà dựa trên giải pháp bảovệ này không thểđảmbảocácyêu cầu tính bí mật và tính toàn vẹn.  Các hệ thống bảovệ có thểđảmbảocácmụctiêubímật và toàn vẹnphảithoả mãn yêu cầu an toàn: Nơi nào các nguyên tắc an toàn hệ thống có thể đảm bảo cácnguyên tắc an toàn hệ thống có thể đảm bảo các mụctiêuantoànhệ thống thậmtríkhibấtkỳ phần mềm bên ngoài nào mà dựatrêntínhtoántincậycó thể bị giả mạo.  Trong mộthệ thống, trạng thái bảovệ phải được định nghĩadựatrênviệcxácđịnh chính xác tính bí mật và tính toàn vẹncủanhững tiếntrìnhvàdữ liệungười dùng, và không có những tiến trình không tin cậycóthểđượcthực hiện trong các thao tác trạng thái bảovệ.Vìvậy, việ cphụ thuộcvàokhả năng phầnmềmgiả mạo đượcloạibỏ,và cơ sở vững chắc đảmbảocácyêucầubímật và toàn vẹn . 52 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Những điều phân tích ở trên để dẫn đếnviệc đưara định nghĩavề mộthệ thống bảovệ bắtbuộc sau.  Định nghĩahệ thống bảovệ bắtbuộc: •Hệ thống bảovệ bắtbuộclàmộthệ thống bảovệ có thể chỉ đượcthayđổibởinhững ngườiquảntrị tin cậy thông qua phần mềm tin cậy bao gồm các mô tả trạng thái sau:phần mềm tin cậy, bao gồm các mô tả trạng thái sau: –Mộttrạng thái bảovệ bắtbuộc(mandatory protection system)làmộttrạng thái bảovệ nơimàcácchủ thể và các đốitượng đượcmôtả thông qua các nhãn nơimàtrạng thái mô tả các thao tác mà các nhãn chủ thể có thể thựchiệntrên các nhãn đốitượng; –Mộttrạng thái gán nhãn (labeling state) trong việcánhxạ các tiến trình và các đốitượng tài nguyên hệ thống đếncác nhãn. –Mộttrạng thái truyền(transition state)môtả các cách hợp pháp mà các tiến trình và các đố itượng tài nguyên hệ thống có thểđược gán nhãn lại. 53 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Trong các hệđiều hành an toàn, các chủ thể và các đốitượng trong ma trậntruycập đượcmôtả thông qua các nhãn do hệ thống định nghĩa. Một nhãn đơn giảnlàmột định danh tóm tắt-việcgáncácquyền vớimột nhãn định nghĩa mang nghĩabảomậtcủa nónó.  Những nhãn này chống lạinhững tò mò lụclọivì: •1.Tập các nhãn được định nghĩabởinhững ngườiquảntrị tin cậysử dụng phầnmềmtincậy •2.Tập các nhãn không thể thay đổi.  Những quảntrị viên tin cậy định nghĩanhững nhãn củamatrậntruycậpvàtập các thao tác mà các chủ thể củanhững nhãn riêng đócóthể thựchiệntrên những đốitượng củanhững nhãn riêng. 54 2/25/2012 10 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Các hệ thống bảovệ là các hệ thống điềukhiểntruy cậpbắtbuộc MAC (Mandatory Access Control) vì hệ thống bảovệ không thể thay đổinhững tiếntrình không tin cậy.  Vì vậy, tập các nhãn không bị thay đổi trong quá trình thực hiện các tiến trình người dùng chúng ta có thểthực hiện các tiến trình người dùng, chúng ta có thể đưaranhững mụctiêuantoànđược đảmbảo thông qua ma trậntruycậpvàtinvàonhững mụctiêuan toàn này sẽđược đảmbảo trong quá trình thựchiện củahệ thống.  Tất nhiên, chỉ vì tập các nhãn là cốđịnh không có nghĩalàtậpcáctiến trình và các file là cốđịnh.  Các hệđiềuhànhantoànphải đượcgắnliềnvớicác nhãn để các chủ thể và các đốitượng đượctạoramột cách linh hoạtvàthậm trí kích hoạt nhãn truyền. 55 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Trạng thái gán nhãn gán các nhãn cho các chủ thể và các đốitượng mới. Hình dướithẻ hiệnnhững tiếntrình và file đó đượckếthợpvớinhững nhãn trong một trạng thái bảovệ cốđịnh. 56 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Khi file mới newfile đượctạo ra, nó phải đượcgán một trong các nhãn đốitượng trong trạng thái bảovệ.  Trong hình bên thì ta thấy, nó được gán nhãn secret.  Tương tự,thìtiếntrìnhmới newproc cũng đượcgán nhãn là unclassified.Vìvậy,ma trậntruycập không h hé á hủ thể ó hã lifidó thể tchophépcácchủ thể có nhãn unclassified có thể truy cập vào các đốitượng có nhãn secret, newproc không thể truy cậpvàonewfile.  Đốivớitrạng thái bảovệ,trongmộthệđiềuhànhan toàn, thì trạng thái gán nhãn phải được định nghĩabởi các quảntrị viên tin cậy và không bị thay đổitrongquá trình hoạt động củahệ thống.  Trạng thái truyền (Transition state) cho phép mộthệ điềuhànhantoàncóthể thay đổi nhãn củamộttiến trình hoặcmột tài nguyên hệ thống. 57 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Vớimộttiến trình, nhãn truyền thay đổi các quyềncó thểđốivớitiếntrìnhđó(như:miềnbảovệ của nó), vì thế các truyền đượcgọilàcáctruyềnmiềnbảovệ (protection domain transitions) đốivớicáctiến trình.  Ví dụ:nơimộttruyềnmiềnbảovệ có thể cầnthiết, bao gồm khi một tiến trình thực hiện một chương trìnhgồm khi một tiến trình thực hiện một chương trình khác. Khi mộttiến trình cho phép một execve hệ thống gọihìnhảnh tiếntrìnhcủachương trình đó(như: code và data) thay vì gọi file sẽđượcthựchiện.  Vì vậy, mộtchương trình khác chạynhư là mộtkếtquả củalờigọihệ thống execve,nhãnkếthợpvớitiến trình đócần đượcthayđổicũng chỉ ra sự các phân quyềncầnthiếthoặc độ tin c ậy trong hình ảnh mới.  Mộttrạng thái truyềncũng có thể thay đổi nhãn của một tài nguyên hệ thống. 58 Bảo vệ hệ thống (c) Các hệ thống bảovệ bắtbuộc(c)  Một nhãn truyền đốivớimột file (như: object hoặc resource) thay đổi ảnh hưởng đến file đóvớicácmiền bảovệ.  Ví dụ: xét file acct đượcgắn nhãn trusted ở trong hình trước. Nếu file này bị thay đổibởimộttiếntrìnhvớimột nhãn untrusted như other, một trạng thái truyền có thểnhãn untrusted, như other, một trạng thái truyền có thể dễ dàng thay đổi nhãn của nó thành untrusted.  Chính sách LOMAC (Low-Water Mark) định nghĩaloại của các quá trình truyền. (Xem thêm trong tài liệu).  Mộtsự thay thế sẽ thay đổitrạng thái bảovệđểngăn cấmcáctiến trình không tin cậytừ việcthayđổi các file tin cậy,đólàtrường hợp cho các chính sách khác.  Nhưđốivớitrạng thái bảovệ và trạng thái gán nhãn, trong mộthệđiều hành an toàn, trạng thái truyềnphải được định nghĩabởinh ững quảntrị viên tin cậy và không bị thay đổi trong quá trình hoạt động củahệ thống. 59 Các khái niệm Access Control (c) Bảovệ hệ thống Quản lý tham chiếu Định nghĩahệđiềuhànhantoàn Đánh giá tiêu chuẩn 60 . Control Fundamentals 2 OS Security Contents 3 97 OS Security Contents Protection 1 Security 2 Example 3 98 OS Security Contents Protection 1 Security 2 Example. Control Fundamentals 2 OS Security Contents 3 2 Sumary Introduction and Reference 1 Access Control Fundamentals 2 OS Security Contents 3 3 OS Introduction Protection

Ngày đăng: 04/05/2013, 11:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan