Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 33
Mã Mã con Mã THSD Tên THSD Hình
MS01_05 Xóa thông tin công ty 3.10
MS02 MS02_01 Đăng ký người dùng MS02_02 Tìm người dùng MS02_03 Xem người dùng MS02_04 Sửa người dùng MS02_05 Xóa người dùng MS02_90 Đăng nhập MS02_91 Đăng xuất
MS02_92 Cập nhật thông tin cá nhân MS02_93 Cập nhật thông tin công ty MS03 MS03_01 Đăng ký nhóm quyền
MS03_02 Tìm nhóm quyền MS03_03 Xem nhóm quyền MS03_04 Sửa nhóm quyền MS03_05 Xóa nhóm quyền
LI LI01 LI01_01 Đăng ký đơn hàng
LI01_02 Tìm đơn hàng LI01_03 Xem đơn hàng LI01_04 Sửa đơn hàng LI01_05 Xóa đơn hàng LI02 LI02_01 Đăng ký hóa đơn
LI02_02 Tìm hóa đơn LI02_03 Xem hóa đơn LI02_04 Sửa hóa đơn LI02_05 Xóa hóa đơn LI03 LI03_01 Đăng ký vận đơn
LI03_02 Tìm vận đơn LI03_03 Xem vận đơn LI03_04 Sửa vận đơn LI03_05 Xóa vận đơn
LI04 LI04_01 Đăng ký quy cách đóng gói Bảng 3.4: Danh sách trường hợp sử dụng
Mã Mã con Mã THSD Tên THSD Hình LI04_02 Tìm quy cách đóng gói
LI04_03 Xem quy cách đóng gói LI04_04 Sửa quy cách đóng gói LI04_05 Xóa quy cách đóng gói
LP LP01 LP01_01 Đăng ký kế hoạch vận chuyển LP01_02 Tìm kế hoạch vận chuyển LP01_03 Xem kế hoạch vận chuyển LP01_04 Sửa kế hoạch vận chuyển LP01_05 Xóa kế hoạch vận chuyển
LP02 LP02_01 Cập nhật thời gian thực tế vận chuyển LP02_02 Xác nhận kết thúc vận chuyển
RE RE01 RE01_01 Chọn báo cáo
RE01_02 Nhập điều kiện báo cáo
RE01_03 Xuất báo cáo dựa trên các điều kiện Bảng 3.4: Danh sách trường hợp sử dụng
3.3. Biểu đồ triển khai hệ thống
Trong UML, biểu đồ triển khai (deployment diagram) dùng để mô tả hệ thống sẽ được thực sự triển khai trên môi trường như thế nào. Biểu đồ triển khai đối với hệ thống bài toán chúng ta đang nghiên cứu được vẽ như hình 3.11
3.4. Phân tích vấn đề an ninh hệ thống
Như chúng ta thấy trong toàn bộ các biểu đồ mô hình hóa hệ thống ở trên, không có biểu đồ riêng về phân tích an ninh hệ thống. Tất nhiên ở đây chúng ta đang mô tả nghiệp vụ hệ thống, nhưng vấn đề của chúng ta là: đưa các mối quan tâm an ninh vào biểu đồ nào trong hệ thống các biểu đồ trên. Ngay cả biểu đồ triển khai hệ thống cũng không có các dấu đặc trưng để thể hiện an ninh. Nguyên nhân của việc này là:
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 35
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 37
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 39
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 41
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 43
Hình 3.11: Biểu đồ triển khai hệ thống
1. An ninh là yêu cầu phi chức năng Các dự án khi thực hiện thì cái đầu tiên cần
quan tâm là làm đúng được các yêu cầu chức năng, đạt tốc độ xử lý nhanh, tính toán đúng.
2. Bản thân khách hàng không có ý thức về việc đó Bản thân khách hàng khi đặt
hàng một phần mềm cũng chưa có ý thức cao, hơn nữa họ cũng không có chuyên môn về việc này để có thể đưa ra yêu cầu.
3. Bản chất của UML là mô hình hóa hệ thống Bản chất của UML là mô hình hóa
hệ thống hướng tới việc cài đặt các chức năng hệ thống, chứ không phải là để mô hình hóa mọi khía cạnh yêu cầu của khách hàng.
4. Đội thực thi dự án không quan tâm đúng mức Rất nhiều đơn vị thi công phần
mềm chưa có một nhân lực chuyên nghiệp và có sự quan tâm đúng mức tới vấn đề an ninh của hệ thống ngay từ khởi đầu dự án.
Tất cả những yếu tố trên đã nhiều lúc làm cho vấn đề an ninh của các hệ thống cỡ vừa và nhỏ (ở những dự án cỡ nhỏ) bị bỏ qua. Và con số thực tế 80% các website của Việt Nam có chứa lỗ hổng (kể cả các website của các tổ chức lớn như ngân hàng) cũng phản ánh phần nào những nhận định trên [10].
Chương 4
GIẢI PHÁP PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT AN NINH HỆ THỐNG
Như các phân tích ở trên đã chỉ rõ, phần mô hình hóa nghiệp vụ, chúng ta không đề cập tới các mối quan tâm an ninh bởi vì yêu cầu về an ninh hệ thống là một yêu cầu phi chức năng, không được đề cập trong lúc đang phân tích nghiệp vụ. Chính vì thê, trong các hoạt động tiếp theo: thiết kế chương trình, lập trình, kiểm thử chương trình. . . các mối quan tâm an ninh không thể xuất hiện. Như vậy, vấn đề an ninh hệ thống đã không được đề cập ngay từ mức phân tích.
Vì các mối quan tâm an ninh là yêu cầu phi chức năng, nên trong các mô hình hóa nghiệp vụ, chúng không được đề cập là chuyện tất nhiên. Ở đây chúng tôi sẽ đề xuất giải pháp sao cho các mối quan tâm an ninh sẽ được đề cập ngay từ ban đầu, sau đó đưa vào thiết kế và chương trình.
4.1. Xác định phạm vi mối quan tâm an ninh
Từ biểu đồ triển khai (deployment diagram) của hệ thống hình 3.11, cùng với các phân tích tổng quát về mối quan tâm an ninh ở phần 2.2.1, chúng tôi xác định phạm vi giải quyết là: “Xây dựng cách biểu diễn các mối quan tâm an ninh trong trường hợp truy xuất dữ liệu giữa các thành phần khác nhau trong hệ thống”.
Sở dĩ chúng ta tập trung vào vấn đề này là vì trong các hệ thống cung cấp dịch vụ trên mạng Internet, vấn đề bảo vệ thông tin riêng tư rất quan trọng và thường được người sử dụng quan tâm đầu tiên khi họ sử dụng một dịch vụ. Đặc biệt là các dịch vụ liên quan tới thông tin kinh doanh, thì sự lựa chọn của doanh nghiệp càng cẩn thận hơn, họ luôn muốn biết thông tin kinh doanh của họ được bảo vệ ra sao. Ngoài ra, việc chống các nguy cơ khác (trong các nguy cơ đã đề cập ở phần 2.2.1) thường được giải quyết ở các lớp khác. Thí dụ như tấn công tràn bộ đệm (truy xuất làm quá tải hệ thống), thường giải quyết ở tường lửa, bộ lọc; tấn công SQL thường giải quyết ở các thư viện SQL mapper (iBatis,. . . ), tấn công bằng nghe lén trên đường truyền thường giải quyết bởi các giải pháp mã hóa (HTTPS. . . ). Trong khi đó, việc bảo vệ thông tin riêng tư thì luôn phải giải quyết ở bên trong ứng dụng.
4.1.1. Danh sách các mối quan tâm an ninh
Các mối quan tâm an ninh thuộc dạng truy xuất thông tin lẫn nhau giữa các thành phần trong hệ thống là:
1. Truy cập vào thông tin cá nhân của mình Hệ thống phải có định nghĩa rõ ràng
chính sách về việc một cá nhân sẽ truy xuất và quản lý thông tin cá nhân của mình ra sao.
2. Truy cập vào thông tin cá nhân của người khác Hệ thống phải định nghĩa rõ
rang chính sách bảo vệ khi một người dùng truy xuất vào thông tin cá nhân của người dùng khác.
3. Truy nhập vào thông tin công ty của mình Hệ thống phải định nghĩa rò rang
chính sách kiểm soát khi nhân viên của công ty truy xuất vào thông tin của công ty đó.
4. Truy nhập vào thông tin công ty có liên quan Hệ thống phải có định nghĩa rõ
rang về chính sách kiểm soát khi nhân viên của một công ty A truy xuất vào thông tin của công ty B có liên quan tới họ. “Có liên quan” có nghĩa là hai công ty này có mối quan hệ trên giấy tờ, ví dụ như trên một hóa đơn có bên mua và bên bán, thì bên mua và bên bán có quan hệ với nhau.
5. Truy nhập vào thông tin công ty không lien quanHệ thống phải có định nghĩa
rõ rang về chính sách kiểm soát khi nhân viên của một công ty A truy xuất vào thông tin của công ty X không có liên quan. “Không liên quan” nghĩa là hai công ty đó không
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 47
Mã Tên mối quan tâm Giải thích
SE01 Truy cập vào các thông tin cá nhân của mình SE02 Truy cập vào các thông tin cá nhân của người khác SE03 Truy cập vào thông tin của công ty mình
SE04 Truy cập vào thông tin của công ty khác có liên quan SE05 Truy cập vào thông tin của công ty khác không liên quan SE06 Xóa thông tin