Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
1,76 MB
Nội dung
i ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Thanh KIỂMCHỨNGCƠCHẾBẢOMẬTDỰATRÊNAST KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI – 2009 ii ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Thanh KIỂMCHỨNGCƠCHẾBẢOMẬTDỰATRÊNAST KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Trương Ninh Thuận HÀ NỘI – 2009 iii Lời cảm ơn Em xin gửi lời cảm ơn chân thành nhất đến TS. Trương Ninh Thuận, người thầy đã cho em định hướng, những ý kiến quý báu về kiểmchứngcơchếbảomậtdựatrênAST và đã tận tình hướng dẫn em hoàn thành khóa luận. Thầy đã giúp đỡ em rất nhiều và đi cùng em trong suốt thời gian thực hiện khóa luận. Thầy chỉ cho em cách tiếp cận, nghiên cứu một công nghệ mới, cách tìm ra giải pháp cho vấn đề mắc phải. Em xin chân thành cảm ơn quý thầy cô và các bạn đã giúp đỡ em trong những năm học qua. Em xin chân thành cảm ơn Bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin, Trường Đại Học Công Nghệ, Đại Học Quốc Gia Hà Nội đã tạo điều kiện thuận lợi cho em trong suốt quá trình học tập và làm khóa luận này. Đề tài “Kiểm chứngcơchếbảomậtdựatrên AST” là một đề tài khá mới mẻ lại được hoàn thành trong quỹ thời gian hạn hẹp nên khó tránh khỏi những khiếm khuyết em mong nhận được những góp ý chân thành từ thầy cô giáo và các bạn để đề tài có thể được mở rộng và nghiên cứu kỹ hơn, đưa vào trong thực tiễn ngành Công nghệ thông tin hiện nay. Hà Nội, ngày 10 tháng 5 năm 2009 Sinh viên Nguyễn Văn Thanh iv Danh sách các hình vẽ Hình 2.1: Một họ của các mô hình RBAC Hình 2.2: Mô hình RBAC0 Hình 2.3: Các ví dụ của Role Hierarchies Hình 2.4: Role Hierarchies cho một dự án Hình 2.5: Mô hình tổng quát của RH (RBAC1) Hình 2.6: Mô hình RBAC quản lý Hình 3.1: Cấu trúc tổng quát CDT Hình 3.2: Cấu trúc chi tiết của CDT Hình 3.3: Giao diện DOM AST Hình 3.4: Mô tả cách duyệt cây Hình 4.1: Cấu trúc cây của ifStatement đơn giản Hình 4.2: Mô tả thuật toán kiểmchứngcơchếbảomật Hình 4.3: Cấu trúc của lệnh if phức tạp Hình 4.4: Thể hiện phức tạp trênAST Hình 4.4: Lỗi thể hiện trong đoạn mã Hình 5.1: Giao diện StartPage sau khi cài CDT Hình 5.2: Cấu trúc DOM AST Hình 5.3: Giao diện chương trình Test Hình 5.4: Giao diện khi chạy Test thành công Hình 5.5: Giao diện kết quả Hình 5.6, 5.7: Minh họa kết quả kiểm tra chương trình. v Danh sách các thuật ngữ và khái niệm THUẬT NGỮ KHÁI NIỆM MAC Mandatory access control – điều khiển truy cập bắt buộc DAC Discretionary access control – điều khiển truy cập tùy quyền RBAC Role-based access control – điều khiển truy cập trêncơ sở vai trò ACL Access control list – Danh sách điều khiển truy cập Role hierarchy Cấp bậc trong vai trò OPS Tập hợp các hành động trên một đối tượng cụ thể Test Quá trình chạy một chương trình để kiểm tra một thuật toán hay một bài toán cụ thể. File Đối tượng tệp văn bản được sao lưu trên máy tính Project Nói về một dự án được tạo ra cụ thể là Eclipse Session Phiên làm việc User Người sử dụng Permission Quyền hạn Role Vai trò Expression Các biểu thức (Ở đây tập trung nói về các biểu thức điều kiện) vi Tóm tắt khóa luận Từ trước đến nay, bảomật thông tin luôn chiếm một vai trò rất quan trọng của một tổ chức, công ty hay quốc gia. Trong Công nghệ thông tin vấn đề bảomật được chú trọng và quan tâm một cách nghiêm túc. Đã có rất nhiều cơchếbảomật được đưa ra và thích hợp cho từng lĩnh vực riêng. Khóa luận tập trung nghiên cứu các vấn đề liên quan đến kiểmchứng cơ chếbảomật thông tin dựatrên RBAC. Nghiên cứu các mô hình RBAC, các ví dụ về các mô hình và ứng dụng của các mô hình này trong thực tiễn. Giới thiệu công cụ CDT để xây dựng mô hình kiểmchứngcơchếbảomậtdựatrênAST (Abstract Syntax Tree). Các ứng dụng của CDT trong bài toán kiểm chứng. Những nghiên cứu tập trung vào kiểmchứng mô hình RBAC dựatrênAST sẽ là nền móng cho những nghiên cứu rộng hơn và khả dụng hơn trong tương lai không xa. Để thuyết phục hơn, khóa luậnđưa ra một bài toán ví dụ để kiểmchứng mô hình RBAC0 và mã nguồn viết bằng Java (trên công cụ Eclipse) và mô hình được Test trên ngôn ngữ C/C++. vii MỤC LỤC CHƯƠNG 1. GIỚI THIỆU 1 1.1. Bối cảnh 1 1.2. Mục tiêu khóa luận 1 1.3. Cấu trúc khóa luận 2 CHƯƠNG 2. CÁC MÔ HÌNH ĐIỀU KHIỂN TRUY CẬP DỰATRÊN VAI TRÒ 3 2.1. Giới thiệu 3 2.2. Nền tảng và động lực 4 2.3. Các vai trò và các khái niệm liên quan 7 2.4. Các mô hình một họ tham chiếu 8 2.5. Mô hình cơ sở 10 2.6. Role có cấp bậc 14 2.7. Các ràng buộc 20 2.8. Mô hình hợp nhất 24 2.9. Các mô hình quản lý 26 2.10. Kết luận 29 CHƯƠNG 3. GIỚI THIỆU CÔNG CỤ CDT TRONG ECLIPSE 31 3.1. Tổng quan 31 3.2. Cấu trúc của CDT 31 3.3. Các tính năng của CDT 32 3.4. Kết luận 35 CHƯƠNG 4. BÀI TOÁN KIỂMCHỨNG 36 4.1. Giới thiệu: 36 4.2. Khái quát thuật toán 36 4.3. Những khía cạnh liên quan 38 4.3.1. Khía cạnh lý thuyết 38 4.3.2. Khía cạnh thực tiễn 40 viii 4.4. Ứng dụng thuật toán 41 4.4.1. Khái quát về ứng dụng 41 4.4.2. Mục tiêu bài toán: 41 4.4.3. Yêu cầu bài toán: 42 4.4.4. Phân tích bài toán 42 4.5. Kết luận 43 CHƯƠNG 5. THỰC NGHIỆM 45 5.1. Phạm vi ứng dụng 45 5.2. Thiết kế ứng dụng 45 5.3. Xây dựng và triển khai bài toán 48 5.3.1. Xây dựng chương trình chính 48 5.3.2. Xây dựng chương trình kiểm tra: 49 5.4. Kiểm thử chương trình 53 5.4.1. Nội dung kiểm thử 53 5.4.2. Kết quả 61 CHƯƠNG 6. KẾT LUẬN 63 1 CHƯƠNG 1. GIỚI THIỆU 1.1. Bối cảnh Trong thời kỳ thông tin bùng nổ như hiện nay, tất cả các lĩnh vực trong đời sống xã hội đều sử dụng công nghệ thông tin như các cơ quan chính phủ, các ngân hàng hay các tổ chức Nhưng một thực tế đáng lo ngại là vấn đề bảomật chưa được quan tâm thích đáng và chưa sử dụng hợp lý. Có rất nhiều cơchếbảomật được nghiên cứu và triển khai thích họp cho từng lĩnh vực khác nhau. Trong các mô hình đang tồn tại thì toàn diện nhất là RBAC. RBAC điều khiển việc truy cập dựatrên vai trò của từng người sử dụng. Mô hình này có nhiều ưu điểm, nhưng nội dung rất rộng nên khóa luận tập trung chuyên sâu vào mô hình đơn giản nhất và đặc trưng nhất của RBAC là RBAC0. 1.2. Mục tiêu khóa luận Khóa luận sẽ nghiên cứu những vấn đề sau: Khái niệm RBAC và đi vào chi tiêt các mô hình RBAC. Phần này giới thiệu một cách khái quát nhất RBAC là gì? Những đặc điểm, các mô hình và ứng dụng trong cơ chếbảomật như thế nào? Sau khi tìm hiểu về RBAC, phần tiếp theo phát biểu bài toán kiểmchứng các mô hình của RBAC (cụ thể là RBAC0). Mã nguồn được biểu diễn dưới cấu trúc cây, phần này nêu lên thuật toán duyệt cây và đưa ra kết luận về tính đúng đắn của mã nguồn so với mô hình RBAC0. Khóa luận sẽ đề cập tới việc dùng Eclipse với công cụ CDT để sinh ra cây cú pháp trừu tượng (AST), cấu trúc AST và cách để duyệt nó. Mục tiêu quan trong của luận văn là lam sao đề xuất được một phương pháp hiệu quả để kiểmchứng mô hình RBAC0 với phần thực thi chương trình sử dụng AST 2 1.3. Cấu trúc khóa luận Khóa luận được cấu trúc như sau: Chương 2 phân tích chi tiết về các mô hình điều khiển truy cập dựatrên vai trò (RBAC). Các cách tiếp cận các mô hình của RBAC qua các ví dụ cụ thể Chương 3 giới thiệu về CDT - một công cụ để triển khai bài toán kiểm chứng. Giới thiệu trực quan qua các hình ảnh và các ứng dụng của thể của CDT. Chương này không nói hết về CDT chỉ đề cập các phần quan trọng nhất của CDT phục vụ trực tiếp cho khóa luận. Chương 4 nghiên cứu bài toán kiểmchứng và ứng dụng trên mô hình RBAC0. Từ cây cú pháp trừu tượng (AST) đưa ra thuật toán kiểmchứngcó đầu vào là mã nguồn C/C++ và kết quả được so sánh với mô hình RBAC0 và kết luận về sự tương ứng của mô hình so với đoạn mã chuơng trình. Chương 5 là phần thực nghiệm sẽ cụ thể thuật toán đã đề cập ở chương 4 bằng cách đưa ra một bài toán cụ thể. Chương này sẽ đưa ra các chi tiết chạy chương trình và kết quả đạt được liên quan tới bài toán đang được nghiên cứu. Chương 6 là chương cuối nêu lên kết luận về khóa luận. [...]... giữa kiểm soát truy cập theo ý muốn và kiểm soát truy cập bắt buộc được biết đến lần lượt là DAC và MAC Sự khác biệt này xuất hiện khi người ta nghiên cứu bảo mật trong ngành quốc phòng MAC cho phép việc kiểm soát truy cập dựa vào nhãn bảomật gửi kèm tới các user (chính xác hơn là chủ thể) và khách thể (object) DAC cho phép kiểm soát truy cập thực hiên được đối với khách thể (object) dựatrêncơ sở... của nhóm và thành viên nhóm chỉ có thể được nhân viên bảomật hệ thống thay đổi Trong trường hợp này, cơchế nhóm sẽ trở nên rất gần với khái niệm role của chúng tôi Một vấn đề được quan tâm nữa là mối quan hệ giữa role và Compartment Compartment là một phần của cấu trúc nhãn bảomật được sử dụng trong quốc phòng hay các cơ quan nhà nước Compartment dựa vào quan điểm cần là biết (need-to-know) 7 có nghĩa... cần nhiều bước trước khi đơn dặt hàng mua được phát hành RBAC không cốkiểm soát trực tiếp các permission cho một chuỗi các sự kiện như vậy Các dạng khác của kiểm soát truy cập đựợc cài đặt trên bề mặt RBAC vì mục đích này Việc kiểm soát một chuỗi các thao tác ngoài phạm vi của RBAC, mặc dù RBAC có thể là nền móng để xây dựng những kiểm soát như thế 6 2.3 Các vai trò và các khái niệm liên quan Một câu...CHƯƠNG 2 CÁC MÔ HÌNH ĐIỀU KHIỂN TRUY CẬP DỰATRÊN VAI TRÒ 2.1 Giới thiệu Khái niệm điều khiển truy cập dựatrên vai trò (RBAC) bắt đầu với hệ thống đa người sử dụng và đa ứng dụng trực tuyến được đưa ra lần đầu vào những năm 70 Ý tưởng trọng tâm của RBAC là permission (quyền hạn) được kết hợp với role (vai trò) và user (người sử dụng) được phân chia dựa theo các role thích hợp Điều này làm đơn... các nguyên lý này Nhân viên bảo mật có thể định dạng được RBAC do đó nó vi phạm những nguyên lí này Ngoài ra, mức độ trừu tuợng hóa dữ liệu đựợc hỗ trợ sẽ do các chi tiết bổ sung quyết định RBAC không phải là giải pháp cho mọi vấn để kiểm soát truy cập Người ta cần những dạng kiểm soát truy cập phức tạp hơn khi xử lí các tình huống mà trong đó chuỗi các thao tác cần được kiểm soát Ví dụ, một lệnh mua... nào đó Mọi hệ thống đều bảo vệ các object trừu tượng mà nó thực hiện Do đó, một hệ điều hành bảo vệ các thứ như file, thư mục, thiết bị, và các cổng và các thao tác như đọc, viết và thực thi Một hệ thống quản lí cơ sở dữ liệu có quan hệ sẽ bảo vệ các mối quan hệ, các tipple, thuộc tính và các hiển thị với các thao tác SELECT, UPDATE, DELETE, và INSERT Một ứng dụng kế toán sẽ bảo vệ các tài khoản và... Những ràng buộc là một cơchế quyền lực đặt cấp cao hơn chính sách của tổ chức Điều chắc chắn là các role được khai báo loại trừ lẫn nhau, ở đó cần quan tâm quá nhiều về nhiệm vụ của từng user riêng biệt tới các role Những hoạt động sau đó có thể được ủy nhiệm và chuyển giao ngoài sự sợ hãi của sự thỏa hiệp toàn bộ cơchế các đối tượng của tổ chức Vì vậy, việc quản lý RBAC được kiểm soát toàn bộ bởi... nguồn gốc đơn giản có thể được kết hợp tới sản lượng rất mềm dẻo và các hệ thống rất có ý nghĩa Trong ví dụ của công việc trên việc quản lý RBAC bởi Morlet và Sloman người mà định nghĩa công bằng mô hình phức tạp dựatrên các miền role, người làm chủ, người quản lý và quản trị bảo mật Trong sự xác thực công việc của họ không được điều khiển hay được ủy nhiệm từ một điểm tập trung, nhưng đúng hơn là sự... Nhiều hệ thống kiểm soát truy cập cho các máy tính lớn thành công về thương mại thực hiện role quản trị an ninh Ví dụ, role là người vận hành có thể truy cập tất cả các tài nguyên mà không thay đổi các quyền truy cập, role là một nhân viên bảo vệ có thể thay đổi các quyền truy cập nhưng không được truy cập vào các tài nguyên, và role là một kiểm toán viên có thể truy cập vào các đường kiểm toán Việc... gắn cho role khác Những mối quan hệ role – role này có thể được sử dụng để làm cho các chính sách bảomậtbao gồm sự tách rời các công việc và sự ủy thác của người có thẩm quyền Từ trước đến nay những mối quan hệ này đựợc mã hóa trong phần mềm ứng dụng, với RBAC, chúng đựợc định rõ một lần cho một miền bảomật Với RBAC, người ta có thể xác định được các mối quan hệ role – permission Điều này giúp cho . mô hình kiểm chứng cơ chế bảo mật dựa trên AST (Abstract Syntax Tree). Các ứng dụng của CDT trong bài toán kiểm chứng. Những nghiên cứu tập trung vào kiểm chứng mô hình RBAC dựa trên AST sẽ. có rất nhiều cơ chế bảo mật được đưa ra và thích hợp cho từng lĩnh vực riêng. Khóa luận tập trung nghiên cứu các vấn đề liên quan đến kiểm chứng cơ chế bảo mật thông tin dựa trên RBAC. Nghiên. quý báu về kiểm chứng cơ chế bảo mật dựa trên AST và đã tận tình hướng dẫn em hoàn thành khóa luận. Thầy đã giúp đỡ em rất nhiều và đi cùng em trong suốt thời gian thực hiện khóa luận. Thầy