Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
901,87 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ ANH VIỆT MỞ RỘNG CÔNG CỤ ACTIVITI CHO ĐẶC TẢ VÀ CÀI ĐẶT CHÍNH SÁCH AN NINH Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ thuật Phần mềm Mã số: 60480103 TĨM TẮT LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN Hà Nội – 2018 MỞ ĐẦU Quy trình nghiệp vụ đóng vai trị then chốt để doanh nghiệp quản lý vận hành cách nhịp nhàng, đạt hiệu cao Có thể khẳng định, doanh nghiệp xây dựng quy trình tốt phát triển bền vững có tính cạnh tranh cao [1] Mơ hình hóa quy trình nghiệp vụ thường tập trung vào mơ hình hóa xác chức quy trình mà bỏ qua yêu cầu an ninh Nguyên nhân chủ yếu thực tế chuyên gia lĩnh vực quy trình nghiệp vụ chuyên gia an ninh Các yêu cầu an ninh thường xuyên xem xét sau định nghĩa hệ thống Cách tiếp cận dẫn đến lỗ hổng an ninh rõ ràng cần thiết phải tăng cường nỗ lực an ninh giai đoạn trước phát triển việc sửa lỗi hiệu tiết kiệm chi phí Các nghiên cứu thực nghiệm cho thấy mức thiết kế quy trình nghiệp vụ khách hàng người dùng cuối biểu diễn yêu cầu an ninh họ sau thể mức cao, yêu cầu an ninh dễ dàng xác định người mơ hình hóa quy trình nghiệp vụ Các u cầu an ninh mơ hình hóa quy trình nghiệp vụ cần thiết phải xem xét yêu cầu an ninh ứng dụng mức độ trừu tượng cao Một yêu cầu an ninh điều khiển truy nhập tức kiểm soát việc truy cập thực hành động nguồn tài nguyên hệ thống được bảo vệ RBAC (Role-Based Access Control) điều khiển truy cập theo vai trò phương pháp điều khiển truy cập hiệu Tuy nhiên, tảng cho phép mô hình hóa quy trình nghiệp vụ Oracle BPM, Acitivi BPM chưa hỗ trợ tích hợp điều khiển truy cập theo vai trò RBAC cách đầy đủ Chính vậy, em xin chọn đề tài “Mở rộng công cụ Activiti cho đặc tả cài đặt sách an ninh” CHƯƠNG KIẾN THỨC NỀN TẢNG 1.1 Mơ hình hóa chun biệt miền Các hệ thống phần mềm ngày trở nên phức tạp, muốn cải thiện hiệu suất phát triển phần mềm khơng tốc độ mà cịn chất lượng hệ thống tạo ra, nhà nghiên cứu cố gắng tìm phương pháp tự động chuyển từ mơ hình sang code mơ hình hóa chun biệt miền (DSM) đời DSM sử dụng ngôn ngữ mơ hình hóa chun biệt miền (DSML) để sinh code đầy đủ từ mơ hình code sinh có lỗi code viết tay[2] 1.1.1 Khái niệm DSM nâng cao mức độ trừu tượng thu hẹp không gian thiết kế Cùng với ngơn ngữ mơ hình hóa chun biệt miền DSML, vấn đề giải việc mô hình hóa trực quan giải pháp mà sử dụng khái niệm miền quen thuộc Sản phẩm cuối sinh tự động sinh code chuyên biệt miền Với DSM, không cần ánh xạ từ khái niệm miền sang khái niệm thiết kế cuối sang khái niệm ngơn ngữ lập trình DSM tn theo công thức: cung cấp mức độ trừu tượng cao thực ánh xạ tự động từ khái niệm mức cao sang khái niệm mức thấp biết sử dụng trước Hình 1.1: Thu hẹp khoảng cách trừu tượng ý tưởng miền cài đặt Các thành phần DSM ngôn ngữ, sinh code framework miền Kiến trúc ba lớp DSM : Hình 1.2: Kiến trúc DSM Ngôn ngữ chuyên biệt miền : cung cấp chế trừu tượng để giải phức tạp miền cho trước Điều thực cách cung cấp khái niệm luật ngôn ngữ biểu diễn miền ứng dụng khái niệm ngơn ngữ lập trình định Bộ sinh code xác định thông tin lấy từ mơ hình chuyển đổi sang code Trong trường hợp đơn giản nhất, symbol (ký tự) mơ hình hóa tạo code định, bao gồm giá trị nhập vào symbol tham số Framework miền: cung cấp giao diện code sinh tảng phía Code sinh khơng thực mà với code thêm vào số mơi trường đích 1.1.2 Ngơn ngữ mơ hình hóa chun biệt miền Ngôn ngữ chuyên biệt miền (DSL) ngơn ngữ lập trình ngơn ngữ đặc tả thực thi, thơng qua ký hiệu thích hợp trừu tượng, tập trung vào biểu diễn; thường giới hạn miền cụ thể DSL làm tăng mức độ trừu tượng cách sử dụng khái niệm quen thuộc với chun gian miền Trong mơ hình hóa chuyên biệt miền, DSL gọi DSML sử dụng cho việc xây dựng mơ hình đồ họa cho hệ thống phần mềm DSML thường gồm cú pháp (syntax) ngữ nghĩa (semantics) Cú pháp bao gồm cú pháp trừu tượng (abstract syntax) cú pháp cụ thể (concrete syntax) Cú pháp trừu tượng biểu thị cấu trúc quy tắc ngữ pháp ngôn ngữ Trong cú pháp cụ thể giải symbol ký hiệu biểu mẫu hiển thị mà ngôn ngữ sử dụng Để tăng trừu tượng thiết kế, cần mở rộng cú pháp ngữ nghĩa Cú pháp Cú pháp định nghĩa thành phần hợp lệ ngôn ngữ định Cú pháp xác định cấu trúc có hợp lệ có ngữ nghĩa khơng hợp lệ Cú pháp trừu tượng: xác định cấu trúc khái niệm ngơn ngữ: cấu trúc ngơn ngữ mơ hình hóa, thuộc tính kết nối chúng với Cú pháp cụ thể: Cú pháp cụ thể xác định thành phần từ cú pháp trừu tượng biểu diễn trực quan Ngữ nghĩa Mỗi khái niệm mơ hình hóa có số ý nghĩa, ngữ nghĩa Khi thêm thành phần vào mơ hình kết nối phần tử với nhau, tạo ý nghĩa Trong DSM, ngữ nghĩa ngơn ngữ mơ hình hóa đến trực tiếp từ miền vấn đề 1.2 Mơ hình hóa đặc tả sách truy nhập RBAC 1.2.1 RBAC buộc phân quyền Điều khiển truy cập dựa theo vai trị RBAC mơ hình điều khiển truy cập, việc quản trị an ninh đơn giản hóa cách sử dụng vai trò để tổ chức quyền truy nhập cuối giảm bớt phức tạp chi phí quản trị an ninh [3] Mơ hình tham chiếu RBAC định nghĩa dạng thành phần mơ hình : Core RBAC (RBAC lõi), Hierachy RBAC (RBAC phân cấp) Authorization Constraints (các buộc phân quyền) Core RBAC [3] định nghĩa tối thiểu phần tử, tập phần tử mối quan hệ để đạt hệ thống điều khiển truy nhập dựa theo vai trò cách hồn chỉnh Hình 1.3: Core RBAC [3] Một user định nghĩa người Một role chức công việc ngữ cảnh tổ chức, liên quan đến quyền hạn trách nhiệm người dùng gán vai trị Một object thực thể chứa nhận thơng tin ví dụ container chứa thơng tin (file, thư mục, …) đại diện cho nguồn tài nguyên hệ thống (máy in, ổ cứng,…) Một permission chấp nhận để thực hành động nhiều đối tượng RBAC bảo vệ Một operation hành động đối tượng bảo vệ, ví dụ hệ thống file, hoạt động đọc file, ghi file xóa file Một mơ hình RBAC sử dụng rộng rãi Sandhu cộng [4] giới thiệu : Các tập hợp USERS, ROLES, PRMS, SESSIONS ( người dùng, vai trò, quyền phiên làm việc tương ứng) UA USERS x ROLES (mối quan hệ gán người dùng với vai trò) PA PRMS x ROLES (mối quan hệ gán quyền với vai trò) RH ROLES x ROLES (mối quan hệ phân cấp vai trị) Một USER thành viên nhiều ROLES ROLE có nhiều USERS Một ROLE có nhiều PRMS PRMS gán cho nhiều ROLES Một USER kích hoạt tập ROLES gán cho SESSION Các PRMS có sẵn cho USER kết hợp PRMS từ tất ROLES kích hoạt SESSION Các phân cấp vai trị hình thành quan hệ RH Authorizaiton Constraints khía cạnh quan trọng RBAC xem động lực đằng sau RBAC Mục đích Authorizaiton Constraints khơng để giảm nguy gian lận vi phạm an ninh mà tăng hội phát lỗi cấu trúc an ninh tổ chức Authorizaiton Constraints cần áp dụng với chức mối hệ RBAC để ngăn chặn việc sử dụng thông tin sai lệch hành động gian lận Một vài loại Authorizaiton Constraints buộc SoD tĩnh động, buộc ngữ cảnh, buộc cardinality 1.2.2 MetaModel cho RBAC Hình 1.4: MetaModel RBAC [7] 1.3.1 Mơ hình hóa quy trình nghiệp vụ Quy trình nghiệp vụ định nghĩa tập kiện, hành động định liên quan đến tác nhân nguồn tài nguyên, tất tạo kết mang lại giá trị cho tổ chức khách hàng tổ chức[7] Quy trình nghiệp vụ đóng vai trị cốt lõi để theo doanh nghiệp quản lý vận hành cách nhịp nhàng đạt hiệu cao Hình 1.5: Quy trình nghiệp vụ [7] Quản lý quy trình nghiệp vụ BPM nguyên tắc, phương pháp công cụ để thiết kế, phân tích, thực thi giám sát quy trình nghiệp vụ Mục đích quản lý quy trình nghiệp vụ BPM giảm sai sót người gián đoạn quy trình để tập trung bên liên quan vào vai trò nhiệm vụ họ Với giúp đỡ BPM, tổ chức doanh nghiệp hoạt động hiệu có khả thích nghi tốt với thay đổi 1.3.1.1 Vịng đời quy trình nghiệp vụ Việc tạo quy trình nghiệp vụ bao gồm pha gọi vòng đời BPM Năm pha là: Thiết kế, Mơ hình hóa, Thực thi, Giám sát Tối ưu Mỗi pha thiết kế để cài đặt giải pháp quy trình thành cơng Nhờ có vịng đời BPM, người ta hiểu việc cài đặt quy trình nghiệp vụ trình liên tục những thay đổi ln xảy mơi thường kinh doanh Hình 1.6: Vịng đời BPM 1.3.1.2 Tiêu chuẩn ký hiệu BPMN Có nhiều tiêu chuẩn BPM khác giới thiệu cho việc phát triển quy trình nghiệp vụ BPMN 2.0 tiêu chuẩn sử dụng rộng rãi hỗ trợ thiết kế tính thêm chi tiết kĩ thuật vào Một sơ đồ BPMN đơn giản bao gồm thành phần đại diện cho luồng cơng việc, đem lại hữu ích cho người sử dụng người phát triển quy trình Bốn loại thành phần BPMN là: Flow objects, Connecting objects, Swim lanes Artifacts Hình 1.7: Metamodel BPMN [8] CHƯƠNG TÍCH HỢP MƠ ĐUN CHÍNH SÁCH TRUY CẬP RBAC VỚI ACTIVITI 2.1 Phương pháp tích hợp RBAC vào BPM Các yêu cầu an ninh mối quan tâm lớn việc thiết kế, xây dựng thực thi hệ thống hướng quy trình nói chung hệ thống BPM nói riêng, nhiên chúng thường coi yêu cầu phi chức Chức hệ thống yêu cầu an ninh thường không độc lập với nên phân chia khiến cho hệ thống khó đảm bảo việc thỏa mãn tất u cầu Vì vậy, cần tích hợp u cầu an ninh vào tất pha vòng đời BPM nghĩa từ pha thiết kế, mơ hình hóa đến pha thực thi đến pha giám sát pha tối ưu Trong phạm vi luận văn, tập trung vào việc tích hợp yêu cầu an ninh RBAC vào pha thiết kế mơ hình hóa quy trình BPMN 2.0, ngồi ra, áp đặt yêu cầu an ninh vào pha thực thi Thiết kế mơ hình hóa quy trình nghiệp vụ thường tập trung vào mơ hình hóa xác chức quy trình mà bỏ qua yêu cầu an ninh Nguyên nhân chủ yếu thực tế chuyên gia lĩnh vực quy trình nghiệp vụ chuyên gia an ninh Các yêu cầu an ninh thường xuyên xem xét sau định nghĩa hệ thống Cách tiếp cận dẫn đến lỗ hổng an ninh rõ ràng cần thiết phải tăng cường nỗ lực an ninh giai đoạn trước phát triển việc sửa lỗi hiệu tiết kiệm chi phí Các nghiên cứu thực nghiệm cho thấy mức thiết kế quy trình nghiệp vụ khách hàng người dùng cuối biểu diễn yêu cầu an ninh họ sau thể mức cao, yêu cầu an ninh dễ dàng xác định người mơ hình hóa quy trình nghiệp vụ [8] Đầu tiên, thuộc tính an ninh phải phần quy trình nghiệp vụ giống Activity hay Event Điều u cầu ngơn ngữ tích hợp yêu cầu an ninh yêu cầu nghiệp vụ lựa chọn hàng đầu mở rộng ngôn ngữ mơ hình hóa quy trình việc thêm vào khái niệm an ninh Một cách tiếp cận meta-modelling cho việc mở rộng metamodel BPMN với u cầu an ninh, đó, cho phép tích hợp thuộc tính RBAC mở rộng vào BPM Hình 2.1: Metamodel BPMN tích hợp với số sách an ninh[8] 2.2 Tích hợp RBAC vào Activiti Việc tích hợp RBAC vào Activiti BPM, cần phải thực số thay đổi mã nguồn Activiti : Mã nguồn Activiti bao gồm ba mô-đun chính: mơ-đun thiết kế, mơ-đun thực thi mơ-đun quản lý Trong đó, mơ-đun thiết kế bao gồm tất mơ-đun có tên bắt đầu “org.activiti.designer” thiết kế dạng dự án Eclipse Plug-in Mô-đun thực thi “activiti-engine” cung cấp tất chức cần thiết cho mô-đun khác Mô-đun quản lý “activiti-webapp-activiti2” ứng dụng web cho việc triển khai quy trình sau mơ hình hóa 2.2.2 Mơ hình hóa sách truy nhập RBAC Các bước để tích hợp RBAC vào mô-đun thiết kế Activiti bao gồm: Bước 1: Sử dụng Eclipse EMF để mơ hình hóa mơ hình miền metamodel RBAC Sau EMF metamodel RBAC xây dựng, Eclipse EMF cho phép tự động sinh lớp Java từ mơ hình Bước thực mô-đun “org.activiti.designer.model” Bước 2: Sử dụng lớp Java sinh từ mơ hình để xây dựng mơ tả RBAC cho quy trình Bước 3: lớp Java mơ tả RBAC quy trình cần export định dạng xml cho phép triển khai Activiti Explorer 2.2.2.1 Xây dựng mơ hình liệu RBAC sử dụng Eclipse EMF Tạo Ecore diagram : Mở mô-đun “org.activiti.designer.model”, chọn Folder “model” cửa sổ Package Explore > New/Other…/ Ecore Tools/Ecore Diagram > đặt tên cho Ecore diagram SecureBPMN20 Kéo thả concept (Class, attribute, reference, ) từ Palette vào Visual Editor để xây dựng metamodel RBAC Hình 2.2: Ecore Diagram RBAC Eclipse Mơ hình Ecore tương ứng thu từ ecorediagram Tạo EMF Generator Model: mã nguồn Activiti tạo file bpmn20.genmodel nên cần Reload liệu đủ Chuột phải bpmn20.genmodel > Reload…> chọn Ecore model > chọn tất package xuất > finish Sinh code Java sau tạo hai mơ hình ecore genmodel Chuột phải nút gốc bpmn2 > Generate all 2.2.2.2 Xây dựng mơ tả RBAC quy trình Mơ-đun “activiti-engine” Activiti thực nhiệm vụ tạo mô tả RBAC thông qua liệu lớp Java sinh từ mơ hình Mơ tả RBAC sinh từ việc người dùng kéo thả component Security Palette điền thông tin tab Security Properties Xây dựng tab Security Palette: Có sách RBAC SoD BoD tương ứng với component tạo tab Security Các component cần định nghĩa hình dạng, kích thước chức Thơng tin sách an ninh lưu trữ lớp Java tương ứng SeparationOfDuty BindingOfDuty Để biết component buộc Activity quy trình, SecurityFlow sử dụng Nguồn SecurityFlow SoD/BoD, đích UserTask cần bảo vệ Xây dựng tab Security Properies: khai báo plugin.xml Các thuộc tính Security định nghĩa lớp PropertyRbacSection 2.2.2.3 Lưu mô tả RBAC dạng xml Mơ-đun “org.activiti.designer.export.bpmn20” thực nhiệm vụ lưu tồn mơ tả quy trình dạng lớp Java sang định dạng xml Bao gồm export thuộc tính Security tab Properties export mơ tả hình dạng, vị trí, kích thước component Security Palette Export thuộc tính Security tab Properties mô tả lớp Java sinh từ mơ hình: