Luận án Tiến sĩ Công nghệ thông tin: Một số phương pháp kiểm chứng các chính sách điều khiển truy cập cho hệ thống phần mềm

137 5 0
Luận án Tiến sĩ Công nghệ thông tin: Một số phương pháp kiểm chứng các chính sách điều khiển truy cập cho hệ thống phần mềm

Đ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

Nội dung chính của luận án tập trung nghiên cứu các mô hình biểu diễn các chính sách điều khiển truy cập của hệ thống phần mềm: điều khiển truy cập theo vai trò, ngôn ngữ mô hình hóa chính sách an ninh thống nhất (SecureUML), điều khiển truy cập theo thuộc tính. Mời các bạn tham khảo!

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƯƠNG THANH NHẠN MỘT SỐ PHƯƠNG PHÁP KIỂM CHỨNG CÁC CHÍNH SÁCH ĐIỀU KHIỂN TRUY CẬP CHO HỆ THỐNG PHẦN MỀM LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2021 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƯƠNG THANH NHẠN MỘT SỐ PHƯƠNG PHÁP KIỂM CHỨNG CÁC CHÍNH SÁCH ĐIỀU KHIỂN TRUY CẬP CHO HỆ THỐNG PHẦN MỀM Chuyên ngành: Kỹ thuật phần mềm Mã số: 9480103.01 LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Trương Ninh Thuận Hà Nội - 2021 Lời cam đoan Tôi xin cam đoan luận án “Một số phương pháp kiểm chứng sách điều khiển truy cập cho hệ thống phần mềm” cơng trình nghiên cứu riêng tơi Các số liệu, kết trình bày luận án hoàn toàn trung thực chưa cơng bố cơng trình khác Tơi trích dẫn đầy đủ tài liệu tham khảo, cơng trình nghiên cứu liên quan nước quốc tế Ngoại trừ tài liệu tham khảo này, luận án hồn tồn cơng việc riêng tơi Trong cơng trình khoa học cơng bố luận án, thể rõ ràng xác đóng góp đồng tác giả tơi đóng góp Luận án hồn thành thời gian tơi làm Nghiên cứu sinh 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ác giả: Hà Nội: i Lời cảm ơn Trước hết, muốn bày tỏ biết ơn đến PGS.TS Trương Ninh Thuận, cán hướng dẫn, người trực tiếp giảng dạy định hướng suốt thời gian học cao học, thực luận văn thạc sĩ luận án Thầy hướng dẫn cho nhiều kiến thức học thuật nghiên cứu Một vinh dự lớn cho học tập, nghiên cứu hướng dẫn Thầy Tôi xin bày tỏ biết ơn sâu sắc đến Thầy, Cô Bộ môn Công nghệ phần mềm tận tâm, giúp đỡ Thầy Cơ đóng góp hữu ích cho luận án Tôi xin trân trọng cảm ơn Khoa Công nghệ thơng tin, Phịng Đào tạo Ban Giám hiệu trường Đại học Công nghệ tạo điều kiện thuận lợi cho tơi suốt q trình học tập nghiên cứu Trường Tôi bày tỏ biết ơn đến Ban Giám hiệu, Phịng, Ban, Bộ mơn liên quan Trường Đại học Y Dược Hải Phòng tạo điều kiện thời gian tài cho thực luận án Tôi muốn cảm ơn đến đồng nghiệp Bộ môn Tin học, Trường Đại học Y Dược Hải Phòng giúp đỡ, động viên sát cánh bên tơi suốt q trình nghiên cứu Tôi muốn cảm ơn đến tất người bạn tôi, anh/chị/em nghiên cứu sinh - người chia sẻ, động viên tôi cần ghi nhớ điều Cuối cùng, tơi xin bày tỏ lịng biết ơn vô hạn cha, mẹ, chồng, ủng hộ yêu thương vô điều kiện Nếu khơng có ủng hộ gia đình tơi khơng thể hồn thành luận án NCS Lương Thanh Nhạn ii Tóm tắt Các hệ thống phần mềm sử dụng sâu rộng hầu hết lĩnh vực Bên cạnh lợi ích mà phần mềm mang lại cho người vấn đề vi phạm an ninh phần mềm xuất ngày đa dạng phức tạp, đặc biệt với hệ thống web Trong thực tế, điều khiển truy cập biện pháp hiệu để thực thi sách an ninh hệ thống phần mềm nhằm ngăn chặn vi phạm truy cập Tuy nhiên, q trình triển khai sách điều khiển truy cập hệ thống ứng dụng tiềm ẩn lỗi, giai đoạn lập trình Nếu lỗi phát muộn chi phí sửa chữa hệ thống lớn hậu phức tạp Đây vấn đề quan tâm cộng đồng phát triển phần mềm Chính thế, q trình xây dựng phát triển phần mềm, việc kiểm chứng từ mã nguồn ứng dụng để đảm bảo sách điều khiển truy cập triển khai xác giai đoạn lập trình mang lại hiệu kinh tế gia tăng chất lượng phần mềm Dựa tảng kỹ thuật phân tích tĩnh, luận án đề xuất số phương pháp kiểm chứng sách điều khiển truy cập hệ thống web Cụ thể, hệ thống web mà luận án hướng đến phân tích xây dựng ngơn ngữ lập trình Java theo kiến trúc MVC (Model-View-Controller) có sách điều khiển truy cập theo vai trị sách điều khiển truy cập theo thuộc tính triển khai theo phương pháp an ninh lập trình, an ninh khai báo Các đóng góp luận án bao gồm: (i) Đề xuất phương pháp kiểm chứng sách điều khiển truy cập theo vai trò triển khai theo phương pháp an ninh lập trình Chính sách điều khiển truy cập theo vai trị ứng dụng web trích rút thơng qua việc phân tích phương thức khai thác tài nguyên, xây dựng danh sách quyền đồ thị khai thác tài nguyên Một ma trận kiểm soát truy cập tài nguyên theo vai trò giới thiệu để biểu diễn quy tắc truy cập hệ thống web Từ đó, luận án đề xuất thuật tốn kiểm tra phù hợp ma trận kiểm soát truy cập theo vai trị sách truy cập đặc tả Bên cạnh đó, cơng cụ tên CheckingRBAC xây dựng để hỗ trợ trình kiểm chứng theo phương pháp đề xuất iii (ii) Đề xuất phương pháp kiểm chứng sách điều khiển truy cập theo vai trò kết hợp ràng buộc cấp quyền triển khai theo phương pháp an ninh khai báo Chính sách điều khiển truy cập ràng buộc cấp quyền hệ thống web kiểm tra thơng qua phép gán vai trị - người dùng phép gán vai trò - quyền Với phép gán thứ nhất, phương pháp tiến hành dựa việc phân tích sở liệu hệ thống ứng dụng Ở phép gán thứ hai, quy tắc truy cập hệ thống web phân tích biểu diễn thành phân tích quy tắc truy cập tài nguyên theo vai trị Sau đó, thuật tốn đề xuất để kiểm tra tính xác phép gán triển khai hệ thống web Phương pháp đề xuất triển khai thành công cụ VeRA để kiểm chứng tự động hệ thống web (iii) Đề xuất phương pháp kiểm chứng sách điều khiển truy cập theo thuộc tính Đầu tiên, tiến trình kiểm chứng thực việc trích rút, phân tích quy tắc truy cập triển khai hệ thống web Tiếp theo, phù hợp sách điều khiển truy cập ứng dụng đặc tả tiến hành thơng qua định nghĩa hình thức thuật tốn kiểm tra tính bảo mật, tính tồn vẹn tính sẵn sàng sách truy cập hệ thống Cuối cùng, công cụ kiểm chứng APVer phát triển từ phương pháp đề xuất để thực q trình kiểm chứng tự động Ngồi ra, công cụ phát triển từ phương pháp đề xuất tiến hành thực nghiệm với hệ thống quản lý hồ sơ y tế Bước đầu, phương pháp công cụ đề xuất cho kết kiểm chứng xác dự kiến Từ khóa: kiểm chứng, điều khiển truy cập, RBAC, ABAC, an ninh phần mềm, phân tích tĩnh iv Mục lục Lời cam đoan i Lời cảm ơn ii Tóm tắt iii Mục lục iv Danh mục từ viết tắt viii Danh mục hình vẽ ix Danh mục thuật toán xi Danh mục đặc tả xii Chương GIỚI THIỆU 1.1 Đặt vấn đề 1.2 Nội dung nghiên cứu 1.3 Đóng góp luận án 1.4 Cấu trúc luận án Chương KIẾN THỨC CƠ SỞ 2.1 An ninh phần mềm 2.1.1 Một số tính chất an ninh phần mềm 2.1.2 Chính sách điều khiển truy cập 10 13 2.2 Một số mơ hình sách điều khiển truy cập 2.2.1 Điều khiển truy cập theo vai trò 2.2.2 Ngơn ngữ mơ hình hóa sách an ninh thống 2.2.3 Điều khiển truy cập theo thuộc tính 14 14 17 19 2.3 Triển khai sách điều khiển truy cập JavaEE 2.3.1 An ninh truy cập JavaEE 2.3.2 Một số kiến trúc thiết kế phần mềm JavaEE 23 23 24 2.4 Phân tích biểu diễn chương trình 2.4.1 Phân tích chương trình 2.4.2 Một số phương pháp biểu diễn chương trình 29 30 34 2.5 Tóm tắt chương 38 v Chương KIỂM CHỨNG CHÍNH SÁCH RBAC TRIỂN KHAI THEO PHƯƠNG PHÁP AN NINH LẬP TRÌNH 39 3.1 Giới thiệu 39 3.2 Các nghiên cứu liên quan 41 3.3 Phương pháp kiểm chứng sách RBAC triển khai theo phương pháp an ninh lập trình 43 3.3.1 Tập quy tắc truy cập đặc tả 44 3.3.2 Danh sách quyền 47 3.3.3 Đồ thị khai thác tài nguyên 48 3.3.4 Ma trận kiểm soát truy cập theo vai trò 49 3.3.5 Thuật toán kiểm tra phù hợp ma trận kiểm soát truy cập theo vai trị sách RBAC đặc tả 52 3.4 Công cụ kiểm chứng 3.4.1 Giao diện công cụ 3.4.2 Thực nghiệm 55 55 56 3.5 Thảo luận đánh giá 60 3.6 Tóm tắt chương 62 Chương KIỂM CHỨNG CHÍNH SÁCH RBAC KẾT HỢP RÀNG BUỘC CẤP QUYỀN TRIỂN KHAI THEO PHƯƠNG PHÁP AN NINH KHAI BÁO 63 4.1 Giới thiệu 63 4.2 Các nghiên cứu liên quan 65 4.3 Phương pháp kiểm chứng sách RBAC kết hợp ràng buộc cấp quyền triển khai theo phương pháp an ninh khai báo 67 4.3.1 Kiểm tra phép gán người dùng - vai trò 4.3.2 Kiểm tra phép gán vai trò - quyền 68 71 4.4 Công cụ kiểm chứng 4.4.1 Kiến trúc công cụ 4.4.2 Giao diện đồ họa công cụ 4.4.3 Thực nghiệm 76 76 77 78 4.5 Thảo luận đánh giá 81 4.6 Tóm tắt chương 83 vi Chương KIỂM CHỨNG CHÍNH SÁCH ĐIỀU KHIỂN TRUY CẬP THEO THUỘC TÍNH 85 5.1 Giới thiệu 85 5.2 Các nghiên cứu liên quan 87 5.3 Phương pháp kiểm chứng sách điều khiển truy cập theo thuộc tính 5.3.1 Chính sách ABAC đặc tả hệ thống 5.3.2 Chính sách ABAC triển khai ứng dụng 5.3.3 Các thuật toán kiểm chứng sách ABAC 89 90 91 92 5.4 Công cụ kiểm chứng 5.4.1 Xây dựng công cụ 5.4.2 Thực nghiệm 97 97 98 5.5 Thảo luận đánh giá 105 5.6 Tóm tắt chương 106 Chương KẾT LUẬN 108 6.1 Kết luận 108 6.2 Hướng phát triển 111 Danh mục cơng trình khoa học 113 Tài liệu tham khảo 114 vii Danh mục từ viết tắt Từ viết tắt Từ gốc Giải nghĩa - Tạm dịch ABAC Attribute-Based Control Access Điều khiển truy cập dựa thuộc tính API Application Interface AST Abstract Syntax Tree Cây cú pháp trừu tượng CFG Control Flow Graph Đồ thị luồng điều khiển DAC Discretionary Access Con- Điều khiển truy cập tùy ý trol FSA Finite State Automata HTML Hypertext guage IEC International Electrotechni- Uỷ ban kỹ thuật điện quốc tế cal Commission ISO International Organization Tổ chức tiêu chuẩn hoá quốc tế for Standardization MAC Mandatory Access Control Điều khiển truy cập bắt buộc MVC Model-View-Controller Mơ hình-Khung nhìn-Bộ điều khiển NIST National Institute of Stan- Viện Tiêu chuẩn Kĩ thuật Quốc Programming Giao diện lập trình ứng dụng Markup Ơtơmat hữu hạn trạng thái Lan- Ngơn ngữ đánh dấu siêu văn dards and Technology gia Mỹ PDA Push Down Automaton Ơtơmat đẩy xuống PDP Policy Decision Point Điểm định sác PEP Policy Enforcement Point Điểm thực thi sách PDG Program Dependence Graph Đồ thị phụ thuộc chương trình PHP Hypertext Preprocessor Mộ xử lý siêu văn - ngơn ngữ lập trình kịch RBAC Role-Based Access Control Điều khiển truy cập dựa vai trò OASIS Organization for the Ad- Tổ chức cải tiến tiêu chuẩn vancement of Structured In- thơng tin có cấu trúc formation Standards viii Chương KẾT LUẬN 6.1 Kết luận Ngày xuất nhiều công an ninh vào hệ thống phần mềm nói chung ứng dụng web nói riêng với quy mô, mức độ phức tạp khác Do đó, việc xây dựng sách an ninh phù hợp cho hệ thống web để ngăn chặn công an ninh, hạn chế rủi ro đáp ứng yêu cầu an ninh khách hàng quan trọng Tuy nhiên, sách an ninh hệ thống cần phải triển khai xác giai đoạn phát triển phần mềm Vì vậy, cơng việc rà sốt sách an ninh suốt q trình triển khai có ý nghĩa thực tiễn việc đảm bảo chất lượng phần mềm Một phương pháp hiệu để hạn chế vi phạm truy cập tài nguyên, đảm bảo sách an ninh hệ thống phần mềm điều khiển truy cập Tuy nhiên, phức tạp việc triển khai sách điều khiển truy cập giai đoạn giai đoạn lập trình làm cho hệ thống có khả chứa lỗ hổng an ninh tiềm ẩn Vì thế, tốn kiểm chứng sách điều khiển truy cập hệ thống phần mềm từ mã nguồn đóng vai trị quan trọng việc đảm bảo tính chất an ninh phần mềm làm tăng tính tin cậy hệ thống Đồng thời góp phần giúp nhà phát triển phát sớm lỗi, từ giảm chi phí, thời gian để sửa chữa khắc phục Giải toán cần gắn liền với kiến trúc thiết kế hệ thống phần mềm, khung làm việc thư viện sử dụng phương pháp triển khai mã an ninh truy cập Bởi vì, yếu tố định vị trí phương pháp phân tích quy tắc truy cập triển khai ứng dụng Sau thời gian nghiên cứu giải tốn, luận án có số kết sau: (i) Đề xuất phương pháp kiểm chứng sách RBAC triển khai theo phương pháp an ninh lập trình Chính sách truy cập theo vai trị ứng dụng web thiết kế theo kiến trúc MVC trích rút thơng qua việc phân tích phương thức khai thác tài nguyên, xây dựng danh sách quyền 108 đồ thị khai thác tài nguyên Sau giới thiệu ma trận kiểm sốt truy cập theo vai trò để biểu diễn quy tắc truy cập ứng dụng web Một thuật toán đề xuất để kiểm tra phù hợp ma trận kiểm sốt truy cập theo vai trị với RBAC đặc tả Phương pháp đề xuất triển khai thành công cụ kiểm chứng thực nghiệm với hệ thống quản lý hồ sơ y tế (ii) Đề xuất phương pháp kiểm chứng sách RBAC kết hợp ràng buộc cấp quyền triển khai theo phương pháp an ninh khai báo Sự phù hợp sách điều khiển truy cập ràng buộc cấp quyền ứng dụng web kiểm tra thông qua phép gán vai trò - người dùng phép gán vai trò - quyền Với phép gán thứ nhất, phương pháp tiến hành dựa việc phân tích sở liệu Việc kiểm tra phép gán lại, quy tắc truy cập ứng dụng web phân tích biểu diễn thành phân tích quy tắc truy cập tài nguyên ứng dụng Cuối cùng, hai thuật toán đề xuất để thực kiểm tra tính xác phép gán triển khai ứng dụng Một công cụ phát triển để hỗ trợ trình kiểm chứng tự động với hệ thống quản lý hồ sơ y tế theo phương pháp đề xuất (iii) Đề xuất phương pháp kiểm chứng sách điều khiển truy cập theo thuộc tính Q trình kiểm chứng thực từ việc trích rút, phân tích quy tắc truy cập ứng dụng web Chính sách điều khiển truy cập theo thuộc tính ứng dụng web kiểm chứng thơng qua định nghĩa hình thức thuật tốn kiểm tra tính bảo mật, tính tồn vẹn tính sẵn sàng sách truy cập Từ phương pháp đề xuất, công cụ kiểm chứng phát triển để thực trình kiểm chứng tự động thực nghiệm với hệ thống quản lý hồ sơ y tế Như vậy, luận án tập trung giải tốn kiểm chứng sách điều khiển truy cập cho hệ thống web phát triển J2EE theo kiến trúc MVC thư viện Spring Security Trong đó, sách RBAC, ABAC hệ thống triển khai theo phương pháp an ninh lập trình, an ninh khai báo Các đóng góp đạt cho thấy phương pháp đề xuất đáp ứng đầy đủ mục tiêu nghiên cứu luận án góp phần bổ sung hồn thiện phương pháp phân tích, biểu diễn, kiểm tra sách truy cập ứng dụng web làm tăng tính tin cậy hệ thống Bên cạnh đó, phương pháp đề xuất luận án triển khai thành công cụ thực 109 nghiệm với hệ thống quản lý hồ sơ y tế bước đầu cho kết dự kiến Dựa tính chất an ninh, kỹ thuật phân tích sử dụng đặc điểm hệ thống web mà phương pháp đề xuất thực hiện, khả phương pháp công cụ mà luận án đề xuất tổng hợp, so sánh với nghiên cứu có bảng tổng hợp sau: Bảng 6.1: Bảng so sánh phương pháp đề xuất số nghiên cứu khác Phương pháp đề xuất Một số phương pháp có Alalfi2012 Automated [5] Sergeev2017 Approach [88] Jha2018 Specification [49] Phân tích tĩnh Kiểm chứng mơ hình Pistoia2007 Role [76] ABAC APVer SecureUML VeRA SecureUML RBAC Checking Phương pháp kiểm chứng RBAC SecureUML ABAC RBAC Phương pháp thực Phân tích tĩnh Phân tích tĩnh Phương pháp triển khai sách truy cập An ninh lập trình An ninh khai báo MVC MVC, Spring Security Java EE Java EE Java EE Java EE Java EE Java EE Ma trận Cây Tập hợp Đồ thị lời gọi Biểu đồ Biểu đồ Tiêu chí Mơ hình sách điều khiển truy cập Kiến trúc, thư viện phát triển hệ thống Ngôn ngữ phát triển hệ thống Mơ hình biểu diễn sách truy cập triển khai Dữ liệu đầu vào Mã nguồn Phân tích Phân tích Phân tích tĩnh tĩnh tĩnh + Động An ninh lập trình An ninh + An ninh lập trình khai báo MVC, Spring Security An ninh lập trình An ninh khai báo Spring Security Mã nguồn, Mã nguồn, Cơ Cơ sở Mã nguồn Mã nguồn sở liệu liệu Trạng thái ABAC, Mã nguồn sách SoD Kiểm tra Kiểm tra Kiểm tra Kiểm tra truy Kiểm tra Kiểm tra thừa, thiếu thừa, thiếu tính bảo cập trái phép, tính thiếu, sửa quyền người dùng, mật, tính Bảo trì ứng Mơ hình Kết đầu tính dư đổi gán vai trị tồn vẹn dụng web, Tái SecureUML thừa, tính thực thi cho vai quyền tính cấu trúc ứng phá vỡ SoD trị vai trị sẵn sàng dụng web Ngồi phương pháp đề xuất luận án tiến hành thực nghiệm với hệ thống quản lý hồ sơ y tế đo đạc với máy tính xách tay có dung lượng RAM GB, vi xử lý Intel Core i5 - 6300U 2.4GHz Một số kết thống kê ghi nhận bảng sau: 110 Bảng 6.2: Bảng kết thực nghiệm công cụ đề xuất Phương pháp đề xuất Khả phát sai sót Số vai trị, quyền, tài ngun Kích thước hệ thống web Thời gian kiểm chứng khơng có sai sót (s) RBACChecking - Thừa, thiếu quyền vai trò 3, 3, 40,47 MB (40.689.622 bytes) 81 Files, 22 Folders VerRA - Thừa , thiếu người dùng/vai trò - Thừa, thiếu quyền vai trò 3, 3, 71,7 MB (75.282.117 bytes), 162 Files, 57 Folders APVer - Thừa, thiếu quyền theo thuộc tính 4, 3, 75,0 MB (78.746.748 bytes), 167 Files, 57 Folders Các kết luận án cơng bố ba hội nghị ngồi nước, gửi chấp nhận tạp chí chuyên ngành nước tạp chí quốc tế 6.2 Hướng phát triển Thực tế cho thấy, việc áp dụng kỹ thuật, phương pháp để đảm bảo sách điều khiển truy cập triển khai xác giai đoạn phát triển phần mềm vấn đề quan trọng Bước đầu, luận án tập trung giải tốn mà sách hệ thống biểu diễn mơ hình RBAC, SecureUML, ABAC Các tính chất an ninh mà luận án thực bao gồm tính bảo mật, tính tồn vẹn tính sẵn sàng Luận án đề xuất số phương pháp để biểu diễn hình thức, phân tích, kiểm tra sách truy cập từ mã nguồn số ứng dụng web Tuy nhiên, phương pháp phân tích đề xuất phụ thuộc vào kiến trúc thiết kế, thư viện sử dụng, phương pháp triển khai sách truy cập ngơn ngữ lập trình xây dựng ứng dụng web, Vì vậy, tốn nghiên cứu cịn số hướng xem xét phát triển Một số hướng nghiên cứu luận án tiến hành là: (i) Quy mô hệ thống quản lý hồ sơ y tế sử dụng thực nghiệm đơn giản chưa phải hệ thống thực tế sử dụng tổ chức Do đó, hệ thống ứng dụng có khả chưa bao qt hết tình xảy vi phạm truy cập tài nguyên thực tế Các số liệu trình thực nghiệm chưa tập hợp, so sánh đánh giá cách chi tiết Vì vậy, cần tiếp tục tiến hành thực nghiệm đo đạc với hệ thống khác, lớn có kiến trúc, 111 từ xem xét cải tiến phương pháp đề xuất để phù hợp với lớp toán lớn (ii) Các phương pháp đề xuất luận án chưa giải vấn đề liên quan đến truy vết lưu trữ hoạt động người dùng ứng dụng web Vì thế, tính chất an ninh mà luận án đề cập giải dừng lại tính bảo mật, tính tồn vẹn tính sẵn sàng Do đó, nghiên cứu tiếp theo, luận án tiếp tục mở rộng để triển khai với tính chất an ninh khác tính trách nhiệm, tính chống chối bỏ, v.v (iii) Trong phương pháp kiểm chứng sách RBAC, luận án chưa giải vấn đề liên quan đến thừa kế vai trò cấp phát động quyền, vai trò cho người dùng triển khai ứng dụng web Ngoài ra, vấn đề xung đột quyền theo phương pháp triển khai sách khác chưa luận án xem xét giải Vì thế, phương pháp đề xuất cần tiếp tục xem xét, mở rộng để giải vấn đề tương lai (iv) Tính tối ưu thuật tốn, dung lượng nhớ cần sử dụng phương pháp đề xuất chưa xem xét Tính đắn phương pháp đề xuất thực thông qua thực nghiệm mà chưa chứng minh phương pháp hình thức Vì vậy, nghiên cứu xem xét hồn thiện vấn đề (v) Hiệu phương pháp kiểm chứng đề xuất phụ thuộc chủ yếu vào bước phát xây dựng mơ hình sách điều khiển truy cập từ mã nguồn ứng dụng Do đó, việc xây dựng phương pháp để đánh giá thực nghiệm chi tiết bước với độ đo định lượng cần thiết nghiên cứu (vi) Các phương pháp kiểm chứng đề xuất áp dụng với hệ thống web mà sách RBAC, ABAC chúng triển khai theo phương pháp an ninh lập trình, an ninh khai báo với kiến trúc MVC, khung làm việc Spring Security Điều làm hạn chế khả áp dụng luận án Để khả áp dụng phương pháp đề xuất tốt hơn, việc xây dựng ánh xạ để chuyển đổi tương đương ngơn ngữ lập trình, khung làm việc thư viện kiến trúc thiết kế cần thiết tương lai 112 Danh mục cơng trình khoa học Thanh-Nhan Luong, Van-Khanh To, and Ninh-Thuan Truong, Checking Compliance of Program with SecureUML Model, Advanced Topics in Intelligent Information and Database Systems, Springer, pp 489-498, (2017) Thanh-Nhan Luong, Dinh-Hieu Vo, Van-Khanh To, and Ninh-Thuan Truong, On the Compliance of Access Control Policies in Web Applications, ICCASA 2018/ICTCC 2018, LNICST 266, pp 58-69, (2018) Thanh-Nhan Luong, Dinh-Hieu Vo, and Ninh-Thuan Truong, An approach to analyze software security requirements in ABAC model, 2019 6th NAFOSTED Conference on Information and Computer Science (NICS), IEEE, pp 184-189, (2019) Thanh-Nhan Luong, and Ninh-Thuan Truong, VeRA: Verifying RBAC and authorization constraints models of web applications, International Journal of Software Engineering and Knowledge Engineering (accepted ), ISI index Thanh-Nhan Luong, Thi-Dao Vu, Dinh-Hieu Vo, and Ninh-Thuan Truong, A Tool Support for Checking ABAC Policies in Web Applications, VNU Journal of Science: Computer Science and Communication Engineering (accepted ) Danh mục gồm 05 cơng trình 113 Tài liệu tham khảo [1] Abdallah, A.E., Khayat, E.J.: A formal model for parameterized role-based access control In: IFIP World Computer Congress, TC pp 233–246 Springer (2004) [2] Ahmadi, H., Small, D.: Graph Model Implementation of Attribute-Based Access Control Policies arXiv preprint arXiv:1909.09904 (2019) [3] Alalfi, M.H., Cordy, J.R., Dean, T.R.: A survey of analysis models and methods in website verification and testing In: International Conference on Web Engineering pp 306–311 Springer (2007) [4] Alalfi, M.H., Cordy, J.R., Dean, T.R.: A verification framework for access control in dynamic web applications In: Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering pp 109–113 ACM (2009) [5] Alalfi, M.H., Cordy, J.R., Dean, T.R.: Automated verification of role-based access control security models recovered from dynamic web applications In: Web Systems Evolution (WSE), 2012 14th IEEE International Symposium on pp 1–10 IEEE (2012) [6] Alalfi, M.H., Cordy, J.R., Dean, T.R.: Recovering role-based access control security models from dynamic web applications In: International Conference on Web Engineering pp 121–136 Springer (2012) [7] Alex, B., Taylor, L.: Spring Security Reference Documentation 3.2.0 (2013) [8] Ali, K., Lhoták, O.: Application-only call graph construction In: European Conference on Object-Oriented Programming pp 688–712 Springer (2012) [9] Anand, P.: Overview of root causes of software vulnerabilities-technical and user-side perspectives In: 2016 International Conference on Software Security and Assurance (ICSSA) pp 70–74 IEEE (2016) [10] Andronick, J., Chetali, B., Paulin-Mohring, C.: Formal verification of security properties of smart card embedded source code FM 3582, 302–317 (2005) [11] Armando, A., Carbone, R., Chekole, E.G., Ranise, S.: Attribute based access control for APIs in spring security In: Proceedings of the 19th ACM symposium on Access control models and technologies pp 85–88 ACM (2014) [12] Arnold, K., Gosling, J., Holmes, D.: The Java programming language Addison Wesley Professional (2005) 114 [13] Basin, D., Clavel, M., Doser, J., Egea, M.: A metamodel-based approach for analyzing security-design models In: International Conference on Model Driven Engineering Languages and Systems pp 420–435 Springer (2007) [14] Basin, D., Doser, J., Lodderstedt, T.: Model driven security: From UML models to access control infrastructures ACM Transactions on Software Engineering and Methodology (TOSEM) 15(1), 39–91 (2006) [15] Besson, F., Jensen, T., Le Métayer, D., Thorn, T.: Model checking security properties of control flow graphs Journal of computer security 9(3), 217– 250 (2001) [16] Bisht, P., Sistla, A.P., Venkatakrishnan, V.: Automatically preparing safe SQL queries In: International Conference on Financial Cryptography and Data Security pp 272–288 Springer (2010) [17] Biswas, P., Sandhu, R., Krishnan, R.: Attribute transformation for attribute-based access control In: Proceedings of the 2nd ACM Workshop on Attribute-Based Access Control pp 1–8 (2017) [18] Boadu, E.O., Armah, G.K.: Role-Based Access Control (Rbac) Based In Hospital Management International Journal of Software Engineering and Knowledge Engineering 3, 53–67 (2014) [19] Castelluccia, D., Mongiello, M., Ruta, M., Totaro, R.: Waver: A model checking-based tool to verify web application design Electronic notes in theoretical Computer Science 157(1), 61–76 (2006) [20] Charles, P., Pfleeger, S.L.: Analyzing Computer Security: A Threat/vulnerability/countermeasure Approach Prentice Hall (2012) [21] Chatley, R., Donaldson, A., Mycroft, A.: The next 7000 programming languages In: Computing and Software Science, pp 250–282 Springer (2019) [22] Chaudhuri, A., Foster, J.S.: Symbolic security analysis of ruby-on-rails web applications In: Proceedings of the 17th ACM conference on Computer and communications security pp 585–594 (2010) [23] Chen, H., Wagner, D.: MOPS: an infrastructure for examining security properties of software In: Proceedings of the 9th ACM conference on Computer and communications security pp 235–244 ACM (2002) [24] Choi, E.H., Watanabe, H.: Model checking class specifications for web applications In: Software Engineering Conference, 2005 APSEC’05 12th Asia-Pacific pp 9–pp IEEE (2005) [25] Chong, S., Vikram, K., Myers, A.C., et al.: SIF: Enforcing Confidentiality and Integrity in Web Applications In: USENIX Security Symposium pp 1–16 (2007) 115 [26] Di Sciascio, E., Donini, F.M., Mongiello, M., Piscitelli, G.: AnWeb: a system for automatic support to web application verification In: Proceedings of the 14th international conference on Software engineering and knowledge engineering pp 609–616 ACM (2002) [27] Di Sciascio, E., Donini, F.M., Mongiello, M., Totaro, R., Castelluccia, D.: Design verification of web applications using symbolic model checking In: International Conference on Web Engineering pp 69–74 Springer (2005) [28] Dikanski, A., Steinegger, R., Abeck, S.: Identification and Implementation of Authentication and Authorization Patterns in the Spring Security Framework In: The Sixth International Conference on Emerging Security Information, Systems and Technologies (SECURWARE 2012) (2012) [29] Drouineaud, M., Bortin, M., Torrini, P., Sohr, K.: A first step towards formal verification of security policy properties for RBAC In: Fourth International Conference onQuality Software, 2004 QSIC 2004 Proceedings pp 60–67 IEEE (2004) [30] D’Souza, D., Kim, Y.P., Kral, T., Ranade, T., Sasalatti, S.: Tool evaluation report: Fortify (2014) [31] Evans, D., Larochelle, D.: Improving security using extensible lightweight static analysis IEEE software 19(1), 42–51 (2002) [32] Felmetsger, V., Cavedon, L., Kruegel, C., Vigna, G.: Toward automated detection of logic vulnerabilities in web applications In: USENIX Security Symposium vol 58 (2010) [33] Ferraiolo, D., Kuhn, D.R., Chandramouli, R.: Role-based access control Artech House (2003) [34] Ferraiolo, D.F., Sandhu, R., Gavrila, S., Kuhn, D.R., Chandramouli, R.: Proposed NIST standard for role-based access control ACM Transactions on Information and System Security (TISSEC) 4(3), 224–274 (2001) [35] Fisler, K., Krishnamurthi, S., Meyerovich, L.A., Tschantz, M.C.: Verification and change-impact analysis of access-control policies In: Proceedings of the 27th international conference on Software engineering pp 196–205 ACM (2005) [36] Fosdick, L.D., Osterweil, L.J.: Data flow analysis in software reliability In: Engineering of Software, pp 49–85 Springer (2011) [37] Gouglidis, A., Hu, V.C., Busby, J.S., Hutchison, D.: Verification of resilience policies that assist attribute based access control In: Proceedings of the 2nd ACM Workshop on Attribute-Based Access Control pp 43–52 (2017) [38] Haldar, V., Chandra, D., Franz, M.: Dynamic taint propagation for Java In: 21st Annual Computer Security Applications Conference (ACSAC’05) pp 9–pp IEEE (2005) 116 [39] Hall, A.A., Wright, C.S.: Data Security: A review of major security breaches between 2014 and 2018 Federation of Business Disciplines Journal pp 50–63 (2018) [40] Hansen, F., Oleshchuk, V.: Conformance checking of RBAC policy and its implementation In: International Conference on Information Security Practice and Experience pp 144–155 Springer (2005) [41] Hu, C.T., Ferraiolo, D.F., Kuhn, D.R., Schnitzer, A., Sandlin, K., Miller, R., Scarfone, K.: Guide to Attribute Based Access Control (ABAC) Definition and Considerations [includes updates as of 02-25-2019] Tech rep (2019) [42] Hu, V.: Attribute based access control (ABAC) definition and considerations Tech rep., National Institute of Standards and Technology (2014) [43] Hu, V.C., Ferraiolo, D., Kuhn, D.R.: Assessment of access control systems US Department of Commerce, National Institute of Standards and Technology (2006) [44] Hu, V.C., Ferraiolo, D., Kuhn, R., Friedman, A.R., Lang, A.J., Cogdell, M.M., Schnitzer, A., Sandlin, K., Miller, R., Scarfone, K., et al.: Guide to attribute based access control (abac) definition and considerations (draft) NIST special publication 800(162) (2013) [45] Hu, V.C., Kuhn, D.R., Ferraiolo, D.F., Voas, J.: Attribute-based access control Computer 48(2), 85–88 (2015) [46] Hu, V.C., Kuhn, R., Yaga, D.: Verification and test methods for access control policies/models NIST Special Publication 800, 192 (2017) [47] Hughes, G., Bultan, T.: Automated verification of access control policies using a sat solver International Journal on Software Tools for Technology Transfer (STTT) 10(6), 503–520 (2008) [48] Idani, A.: Model driven secure web applications: the SeWAT platform In: Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems p ACM (2017) [49] Jha, S., Sural, S., Atluri, V., Vaidya, J.: Specification and verification of separation of duty constraints in attribute-based access control IEEE Transactions on Information Forensics and Security 13(4), 897–911 (2018) [50] Jin, X., Krishnan, R., Sandhu, R.: A unified attribute-based access control model covering DAC, MAC and RBAC In: IFIP Annual Conference on Data and Applications Security and Privacy pp 41–55 Springer (2012) [51] Kauser, S., Rahman, A., Khan, A.M., Ahmad, T.: Attribute-Based Access Control in Web Applications In: Applications of Artificial Intelligence Techniques in Engineering, pp 385–393 Springer (2019) 117 [52] Kumar, I.R., SreeRam, N., Tech, J.R.K.M.: Enhancing The Development Life Cycle To Produce Secure Software (2012) [53] Lam, M.S., Martin, M., Livshits, B., Whaley, J.: Securing web applications with static and dynamic information flow tracking In: Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semanticsbased program manipulation pp 3–12 (2008) [54] Li, X., Xue, Y.: A survey on web application security Nashville, TN USA 25(5), 1–14 (2011) [55] Li, X., Xue, Y.: Block: a black-box approach for detection of state violation attacks towards web applications In: Proceedings of the 27th Annual Computer Security Applications Conference pp 247–256 (2011) [56] Livshits, V.B., Lam, M.S.: Finding Security Vulnerabilities in Java Applications with Static Analysis In: USENIX Security Symposium vol 14, pp 18–18 (2005) [57] Lodderstedt, T., Basin, D., Doser, J.: SecureUML: A UML-based modeling language for model-driven security In: International Conference on the Unified Modeling Language pp 426–441 Springer (2002) [58] Louridas, P.: Static code analysis IEEE Software 23(4), 58–61 (2006) [59] Ma, H., Xie, C.: A Design of Multi-level Structure Security Architecture on Database Ap-plication System Open Automation and Control Systems Journal 6, 1510–1514 (2014) [60] MacIntyre, C.R., Engells, T.E., Scotch, M., Heslop, D.J., Gumel, A.B., Poste, G., Chen, X., Herche, W., Steinhăofel, K., Lim, S., et al.: Converging and emerging threats to health security Environment Systems and Decisions 38(2), 198–207 (2018) [61] Martin, E., Hwang, J., Xie, T., Hu, V.: Assessing quality of policy properties in verification of access control policies In: 2008 Annual Computer Security Applications Conference (ACSAC) pp 163–172 IEEE (2008) [62] Martínez, S., Cosentino, V., Cabot, J.: Model-based analysis of Java EE web security configurations In: 2016 IEEE/ACM 8th International Workshop on Modeling in Software Engineering (MiSE) pp 55–61 IEEE (2016) [63] Matuleviˇcius, R., Dumas, M.: A Comparison of SecureUML and UMLsec for Rolebased Access Control In: Proceedings of the 9th Conference on Databases and Information Systems pp 171–185 (2010) [64] McGraw, G.: Software security: building security in, vol Addison-Wesley Professional (2006) [65] Mead, N.R., Allen, J.H., Barnum, S., Ellison, R.J., McGraw, G.: Software Security Engineering: A Guide for Project Managers Addison-Wesley Professional (2004) 118 [66] Meng, N., Nagy, S., Yao, D., Zhuang, W., Arango-Argoty, G.: Secure coding practices in java: Challenges and vulnerabilities In: 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) pp 372–383 IEEE (2018) [67] Mogensen, T.Ỉ.: Basics of compiler design Torben Ỉgidius Mogensen (2009) [68] Mularien, P.: Spring Security Packt Publishing Ltd (2010) [69] Murthy, P.K.: Constructing a control flow graph for a software program (Feb 2015), uS Patent 8,949,811 [70] Nabil, D., Slimani, H., Nacer, H., Aissani, D., Bey, K.B.: ABAC Conceptual Graph Model for Composite Web Services In: 2018 IEEE 5th International Congress on Information Science and Technology (CiSt) pp 36–41 IEEE (2018) [71] Nadji, Y., Saxena, P., Song, D.: Document Structure Integrity: A Robust Basis for Cross-site Scripting Defense In: NDSS vol 20 (2009) [72] Parducci, B., Lockhart, H., Rissanen, E.: Extensible access control markup language (XACML) version 3.0 OASIS Standard pp 1–154 (2013) [73] Patel, R.R.: Finding Security Vulnerabilities in Java Application with Static Taint Analysis Ph.D thesis, Texas A&M University-Kingsville (2018) [74] Perrin, C.: The CIA triad Dostopno na: http://www techrepublic com/blog/security/the-cia-triad/488 (2008) [75] Pistoia, M., Chandra, S., Fink, S.J., Yahav, E.: A survey of static analysis methods for identifying security vulnerabilities in software systems IBM Systems Journal 46(2), 265–288 (2007) [76] Pistoia, M., Fink, S.J., Flynn, R.J., Yahav, E.: When role models have flaws: Static validation of enterprise security policies In: 29th International Conference on Software Engineering (ICSE’07) pp 478–488 IEEE (2007) [77] Principe, M., Yoon, D.: A Web Application Using MVC Framework In: Proceedings of the International Conference on e-Learning, e-Business, Enterprise Information Systems, and e-Government (EEE) p 10 (2015) [78] Qamar, N., Faber, J., Ledru, Y., Liu, Z.: Automated reviewing of healthcare security policies In: International Symposium on Foundations of Health Informatics Engineering and Systems pp 176–193 Springer (2012) [79] Qamar, N., Ledru, Y., Idani, A.: Validation of security-design models using Z In: International Conference on Formal Engineering Methods pp 259– 274 Springer (2011) 119 [80] Rashid, F.Y.: Library misuse exposes leading java platforms to attack (2017), https://www.infoworld.com/article/3003197/security/ library-misuse-exposes-leading-java-platforms-to-attack.html [81] Robertson, W.K., Vigna, G.: Static Enforcement of Web Application Integrity Through Strong Typing In: USENIX Security Symposium vol 9, pp 283–298 (2009) [82] Samuel, M., Saxena, P., Song, D.: Context-sensitive auto-sanitization in web templating languages using type qualifiers In: Proceedings of the 18th ACM conference on Computer and communications security pp 587–600 (2011) [83] Sandhu, R., Coyne, E., Feinstein, H., Role-Based, C.Y.: Access Control Models IEEE computer 29(2), 38–47 (2013) [84] Saxena, P., Hanna, S., Poosankam, P., Song, D.: FLAX: Systematic Discovery of Client-side Validation Vulnerabilities in Rich Web Applications In: NDss (2010) [85] Saxena, P., Molnar, D., Livshits, B.: SCRIPTGARD: automatic contextsensitive sanitization for large-scale legacy web applications In: Proceedings of the 18th ACM conference on Computer and communications security pp 601–614 (2011) [86] Scarioni, C.: Pro Spring Security Apress (2013) [87] Sergeev, A.: Role Based Access Control as SecureUML Model in Web Applications Development with Spring Security Ph.D thesis, Master thesis, University of Tartu (2016) [88] Sergeev, A., Matulevicius, R.: An Approach to Capture Role-Based Access Control Models from Spring Web Applications In: 2017 IEEE 21st International Enterprise Distributed Object Computing Conference (EDOC) pp 159–164 IEEE (2017) [89] Sharma, N.K., Joshi, A.: Representing attribute based access control policies in owl In: 2016 IEEE Tenth International Conference on Semantic Computing (ICSC) pp 333–336 IEEE (2016) [90] Shklar, L., Rosen, R.: Web application architecture John Wiley & Sons (2009) [91] Shrestha, N., Alsadoon, A., Prasad, P., Hourany, L., Elchouemi, A.: Enhanced e-health framework for security and privacy in healthcare system In: 2016 Sixth International Conference on Digital Information Processing and Communications (ICDIPC) pp 75–79 IEEE (2016) [92] Shu, C.c., Yang, E.Y., Arenas, A.E.: Detecting conflicts in abac policies with rule-reduction and binary-search techniques In: 2009 IEEE International Symposium on Policies for Distributed Systems and Networks pp 182–185 IEEE (2009) 120 [93] Smelik, R., Rensink, A., Kastenberg, H.: Specification and construction of control flow semantics In: Visual Languages and Human-Centric Computing, 2006 VL/HCC 2006 IEEE Symposium on pp 65–72 IEEE (2006) [94] Săoderberg, E., Ekman, T., Hedin, G., Magnusson, E.: Extensible intraprocedural flow analysis at the abstract syntax tree level Science of Computer Programming 78(10), 1809–1827 (2013) [95] Sohr, K., Drouineaud, M., Ahn, G.J.: Formal specification of role-based security policies for clinical information systems In: Proceedings of the 2005 ACM symposium on Applied computing pp 332–339 (2005) [96] for Standardization, I.O.: Information Technology, Z Formal Specification Notation: Syntax, Type System and Semantics ISO/IEC (2002) [97] Sui, L., Dietrich, J., Tahir, A., Fourtounis, G.: On the recall of static call graph construction in practice In: 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE) pp 1049–1060 IEEE (2020) [98] Sun, F., Xu, L., Su, Z.: Static Detection of Access Control Vulnerabilities in Web Applications In: USENIX Security Symposium vol 64 (2011) [99] Symantec, C.: Internet security threat report 2019 (2014) [100] Touseef, P., Ashraf, M.A., Rafiq, A.: Analysis of Risks against Web Applications in MVC NFC IEFR Journal of Engineering and Scientific Research (2017) [101] Ubale Swapnaja, A., Modani Dattatray, G., Apte Sulabha, S.: Analysis of dac mac rbac access control based models for security International Journal of Computer Applications 104(5), 6–13 (2014) [102] Vaidya, R.: Cyber security breaches survey 2019 (2019) [103] Wang, L., Wijesekera, D., Jajodia, S.: A logic-based framework for attribute based access control In: Proceedings of the 2004 ACM workshop on Formal methods in security engineering pp 45–55 (2004) [104] Wang, T., Li, W.h., Liu, Z.: RBAC Permission Consistency Static Analysis Framework In: 2010 International Conference on Multimedia Information Networking and Security pp 506–510 IEEE (2010) [105] Weinberger, J., Saxena, P., Akhawe, D., Finifter, M., Shin, R., Song, D.: A systematic analysis of XSS sanitization in web application frameworks In: European Symposium on Research in Computer Security pp 150–171 Springer (2011) [106] Wilander, J., et al.: Pattern matching security properties of code using dependence graphs In: Proceedings of the First International Workshop on Code Based Software Security Assessments Citeseer (2005) 121 [107] Wăogerer, W.: A survey of static program analysis techniques Tech rep., Tech rep., Technische Universităat Wien (2005) [108] Xu, D., Zhang, Y.: Specification and analysis of attribute-based access control policies: An overview In: 2014 IEEE Eighth International Conference on Software Security and Reliability-Companion pp 41–49 IEEE (2014) 122

Ngày đăng: 10/06/2021, 10:32

Mục lục

  • Lời cam đoan

  • Lời cảm ơn

  • Tóm tắt

  • Mục lục

  • Danh mục các từ viết tắt

  • Danh mục các hình vẽ

  • Danh mục các thuật toán

  • Danh mục các đặc tả

  • 1 GIỚI THIỆU

    • 1.1 Đặt vấn đề

    • 1.2 Nội dung nghiên cứu

    • 1.3 Đóng góp của luận án

    • 1.4 Cấu trúc luận án

    • 2 KIẾN THỨC CƠ SỞ

      • 2.1 An ninh phần mềm

        • 2.1.1 Một số tính chất an ninh của phần mềm

        • 2.1.2 Chính sách điều khiển truy cập

        • 2.2 Một số mô hình chính sách điều khiển truy cập

          • 2.2.1 Điều khiển truy cập theo vai trò

          • 2.2.2 Ngôn ngữ mô hình hóa chính sách an ninh thống nhất

          • 2.2.3 Điều khiển truy cập theo thuộc tính

          • 2.3 Triển khai chính sách điều khiển truy cập trong JavaEE

            • 2.3.1 An ninh truy cập trong JavaEE

            • 2.3.2 Một số kiến trúc thiết kế phần mềm trong JavaEE

            • 2.4 Phân tích và biểu diễn chương trình

              • 2.4.1 Phân tích chương trình

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

Tài liệu liên quan