Hình 2.6: Biểu đồ lớp mức thiết kế
Khái niệm chung về an ninh hệ thống Trong một hệ thống, khái niệm an ninh hệ
thống có thể định nghĩa là việc bảo vệ thông tin, nghiệp vụ của hệ thống, đảm bảo cho hệ thống có thể hoạt động và cung cấp dịch vụ bình thường và đúng đắn, thông tin không bị lấy cắp để sử dụng trái với mục đích vốn có.
UML và vấn đề an ninh Trong nhiều trình bày về UML, chúng tôi nhận thấy phần lớp
tập trung vào việc phân tích, đặc tả và thiết kế các nghiệp vụ, chức năng của hệ thống, mà ít khi tập trung vào phân tích những yêu cầu phi chức năng (non-functional requirement). Vấn đề an ninh là một trong những yêu cầu phi chức năng được đặt ra cho bất kỳ dự án phần mềm nào. Tuy nhiên, yêu cầu này đôi khi lại không được tiếp cận một cách bài bản. Khi nhận được thành phẩm (phần mềm), khách hàng cũng ít khi kiểm soát các yêu cầu phi chức năng này, mà chủ yếu tập trung nhiều vào các yêu cầu chức năng hệ thống.
Khó khăn khi nghiên cứu UML và an ninh Khi tiến hành nghiên cứu phần này, tác
giả đã gặp trở ngại là các biểu đồ, ký hiệu của UML tập trung chủ yếu vào việc đặc tả chức năng hệ thống. Điều này thôi thúc chúng tôi nghiên cứu tìm cách đưa các đặc tả an ninh vào các biểu đồ UML. Phần sau đây sẽ hành trình bày các mối quan tâm cơ bản của một hệ thống cung cấp thông tin dịch vụ trên mạng Internet.
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 23
2.2.1. Đặc điểm an ninh của hệ thống cung cấp thông tin trênInternet Internet
Chúng ta có thể liệt kê một số đặc điểm có liên quan tới an ninh của một hệ thống cung cấp dịch vụ trên Internet như sau[1].
Số lượng người sử dụng không biết trước Vì hệ thống cung cấp dịch vụ trên Internet,
nên số lượng người sử dụng tại mỗi thời điểm có thể là không biết trước. Tuy nhiên, nếu một hệ thống phục vụ cho một mục tiêu cụ thể, có yêu cầu quản lý tài khoản, thì số người sử dụng có thể biết trước.
Thành phần người sử dụng đa dạng Người sử dụng có nhiều kỹ năng, kinh nghiệm sử
dụng khác nhau, đều có thể là tác nhân tham gia hệ thống.
Môi trường truyền tin không thể kiểm soát Đối với hệ thống thông tin dịch vụ trên
Internet, thông tin trao đổi giữa người sử dụng và hệ thống không thể quản lý như trong một mạng nội bộ với các hệ thống nghiệp vụ doanh nghiệp. Thông tin khi truyền trên đường truyền đi qua rất nhiều trạm trung gian, các máy chủ đại diện (proxy), các bộ định tuyến nằm ngoài tầm kiểm soát của đơn vị cung cấp dịch vụ.
Không thể kiểm soát vật lý người dùng Không giống như một hệ thống nghiệp vụ
hoạt động trong một doanh nghiệp, nơi quản trị mạng có thể biết chính xác thực sự là người dùng đang ngồi trước máy (đúng là người đó đang sử dụng hệ thống), hệ thống cung cấp thông tin dịch vụ trên Internet chỉ có thể nhận biết người dùng qua định danh truy cập. Hệ thống không thể đảm bảo đúng là người sở hữu định danh đó đang thực hiện truy cập, mà có thể là người khác sử dụng định danh đó.
Là đối tượng của việc khai thác thông tin nhạy cảm Các hệ thống thông tin dịch
vụ trên Internet luôn luôn là mục tiêu của các cuộc tấn công nhằm khai thác các thông tin nhạy cảm (thông tin cá nhân, thông tin kinh doanh) có thể được sử dụng cho mục đích xấu. Một người sử dụng có thể truy cập hệ thống để sử dụng đúng mục đích, hoặc ngược lại có thể truy cập với mục đích lấy thông tin của người khác.
Là đối tượng bị tấn công cho những mục đích khác nhau Mục đích của các cuộc
một vài kẻ ác ý, có thể là thách thức lẫn nhau. . .
2.2.2. Một số mối quan tâm an ninh cơ bản
Xuất phát từ các đặc điểm phân tích trên, chúng ta đi sâu phân tích các mối quan tâm an ninh cơ bản của một hệ thống cung cấp thông tin dịch vụ trên Internet[6]
Tấn công từ chối dịch vụ là một trong những kiểu tấn công cơ bản nhất trên Internet.
Hiện tượng xảy ra là tại một thời điểm, có rất nhiều yêu cầu xuất phát từ rất nhiều máy khác nhau. Số lượng yêu cầu nhân lên một cách nhanh chóng, và làm cho máy chủ cung cấp dịch vụ bị tê liệt hoàn toàn.
Lấy thông tin qua câu lệnh SQL kiểu tấn công này khai thác lỗ hổng thường gặp trong
lập trình, bởi các lập trình viên ít kinh nghiệm, hoặc do sơ suất. Hiện tượng xảy ra là mật khẩu, hoặc các thông tin khác bị đánh cắp bằng cách đơn giản là gửi về một xâu đầu vào có một giá trị đặc biệt. Do lỗi trong lúc lập trình nên hệ thống hiển thị các giá trị cần che giấu ra.
Nghe lén thông tin trên đường truyền Do môi trường truyền tin không thể kiểm soát,
nên thông tin khi truyền qua các trạm trung gian tới người dùng có thể bị chặn và lấy trộm cho mục đích khác.
Mạo danh người dùng Một người dùng ác ý có thể vào hệ thống với một định danh,
nhưng sau đó tìm cách đánh lừa hệ thống bằng một định danh khác và truy xuất vào những chỗ mà họ không được phép. Kiểu tấn công này chỉ có thể thực hiện được khi định danh người dùng không được quản lý tốt.
Truy xuất thông tin lẫn nhau giữa các thành phần trong hệ thống Một người
dùng truy xuất hệ thống dưới một định danh truy cập, chỉ được truy xuất các thông tin của những thành phần nào đó, nhưng nếu không quản lý tốt thì người dùng vẫn có thể truy xuất vào những thông tin không thuộc sở hữu của họ (mà không phải lấy trộm định danh khác)
Thực hiện một tập tin nguy hiểm trên máy chủ Do một nguyên nhân nào đó, máy
chủ cho phép người dùng truy xuất và thực hiện một số câu lệnh, một số tập tin trên chính máy chủ để tạo ra lỗi và lấy được các thông tin cần che dấu.
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 25
Dấu đặc trưng Giải thích
Fair exchange Yêu cầu đảm bảo một nguyên tắc trao đổi cơ bản trong thông tin liên lạc. (không có sự lừa đảo giữa các bên)
Provable Yêu cầu cung cấp bằng chứng cho hoạt động
rbac Yêu cầu đảm bảo quyền truy cập theo vai trò (Role-Based Access Control)
Internet Chỉ định mô tả mô trường liên lạc là Internet LAN Chỉ định mô tả mô trường liên lạc là mạng cục bộ encrypted Chỉ định một kết nối mã hóa
critical Chỉ định một hệ thống là critical secure links Đảm bảo một kết nối an toàn
guarded access Đảm bảo rằng đối tượng chỉ được truy cập qua các bao bọc của nó