Thiết kế kiểm soát

1. THIẾT KẾ KIỂM SOÁT

1.1. Mục đích

Thiết kế kiểm soát có một vai trò rất quan trọng trong sự tồn tại và phát triển của hệ thống vì hiện nay có rất nhiều hệ thống máy tính hoạt động trong môi trường mở. Do đó, rất có thể hệ thống đang xây dựng là một bộ phận trong một cấu hình hay một mạng cung cấp truy nhập rộng cho nhiều người khác nhau cả trong và ngoài tổ chức. Một trong những quan tâm chính trong thiết kế các hệ thống này là làm sao để cung cấp truy nhập thông tin yêu cầu và đồng thời bảo vệ được thông tin khỏi những mục đích phá hoại cũng như những sự cố không mong đợi. Chính vì thế, thiết kế kiểm soát nhằm tránh một số nguy cơ sau:

  • Sai lỗi từ các thông tin thu thập
  • Sai lỗi do các sự cố kỹ thuật gây ra
  • Sự thâm nhập trái phép của người trong và ngoài hệ thống.
  • Rủi ro về môi trường như: cháy, bão lụt,…
  • Thiết kế kiểm soát là đề xuất các biện pháp nhằm đảm bảo:
    • Tính chính xác
    • Tính an toàn
    • Tính riêng tư

Tính chính xác của hệ thống thể hiện trước hết ở chỗ hệ thống làm việc luôn luôn đúng đắn, không đưa ra các kết quả tính toán sai lạc, không dẫn tới các quyết định kinh doanh sai lạc (chẳng hạn quyết định giao hàng trong khi khách hàng đã có yêu cầu huỷ đơn hàng, và giấy yêu cầu này lại đang tồn đọng đâu đó trong hệ thống). Bên cạnh đó, tính chính xác cũng còn được thể hiện ở chỗ dữ liệu trong hệ thống là xác thực, việc kiểm tra các thông tin thu thập và các thông tin xuất từ hệ thống là nhằm đảm bảo tính xác thực của dữ liệu sử dụng.

Tính an toàn của hệ thống thể hiện ở chỗ hệ thống không bị xâm hại (hay bị xâm hại không nhiều) khi có sự cố kỹ thuật, hoặc những xâm hại vô tình hay cố ý từ phía con người.

Tính riêng tư của hệ thống thể hiện ở chỗ hệ thống bảo đảm được các quyền truy nhập riêng tư đối với mỗi đối tượng sử dụng khác nhau.

1.2. Kiểm soát các thông tin thu thập và các thông tin xuất

Để đảm bảo tính xác thực của các thông tin thu thập để đưa vào máy tính cũng như các thông tin xuất từ máy tính, nhất thiết phải thiết lập các biện pháp kiểm tra đối với các thông tin đó.

  • Sự sai lệch thông tin có thể ở: nơi thu thập thông tin đầu vào, trung tâm máy tính hoặc nơi phân phối đầu ra.
  • Mục đích của việc kiểm tra là phát hiện lỗi và sửa lỗi.
  • Hình thức kiểm tra có thể lựa chọn giữa nhiều phương án:
  • Kiểm tra thủ công hoặc kiểm tra tự động (máy kiểm tra).
  • Kiểm tra đầy đủ hoặc không đầy đủ (chỉ tập trung vào một số thông tin quan trọng để kiểm tra).
  • Kiểm tra trực tiếp hay gián tiếp.

Kiểm tra trực tiếp là sự kiểm tra không cần dùng thông tin phụ. Ví dụ: kiểm tra khuôn dạng của thông tin hay kiểm tra giá trị của thông tin nằm trong một khoảng cho phép.

Kiểm tra gián tiếp là sự kiểm tra qua so sánh với các thông tin khác. Ví dụ:  thông tin tuổi thu thập được có thể kiểm tra lại khi biết năm sinh (Tuổi đã khai = Năm hiện tại – Năm sinh, …).

1.3. Kiểm soát các sự cố làm gián đoạn chương trình

Các sự cố làm gián đoạn chương trình có thể do:

  • Hỏng phần cứng
  • Giá mang tệp có sự cố
  • Môi trường
  • Hệ điều hành
  • Nhầm lẫn thao tác
  • Lập trình sai

Khi một trong các sự cố đó xảy ra thì gây ra hậu quả là mất thì giờ (vì phải chạy lại chương trình) nhưng quan trọng hơn là có thể làm mất hoặc sai lạc thông tin, ví dụ như thông tin trên tệp bị sai lạc vì đang cập nhật dở dang.

Để khắc phục hậu quả của các sự cố trên chúng ta có thể lựa chọn một số biện pháp sau:

  • Khoá từng phần cơ sở dữ liệu: CSDL được phân hoạch thành các đơn vị để cập nhật. Các đơn vị có thể là trường, bản ghi, tệp hoặc một số phần rộng hơn của CSDL. Khi một bản sao của một đơn vị được cập nhật thì bản gốc phải khoá lại và ngăn mọi truy nhập đến nó. Khi cập nhật kết thúc, phiên bản mới của đơn vị thay thế phiên bản cũ và sự cập nhật được hoàn thành. Nếu trong quá trình cập nhật, hệ thống có sự cố thì bản gốc vần còn nguyên vẹn.

  • Tạo các tệp sao lục: các tệp sao lục bao gồm các tệp nhật ký và các tệp lưu. Tệp nhật ký là một tệp tuần tự chứa các bản sao (hoặc hình ảnh) của các đơn vị CSDL trước và sau khi chúng được cập nhật. Các tệp lưu gồm các bản sao toàn bộ hoặc một phần của CSDL có thể được thực hiện theo chu kỳ. Ví dụ: một bản sao một phần bảy CSDL có thể được thực hiện hàng ngày nhưng một bản sao toàn bộ CSDL được thực hiện mỗi tuần một lần.

  • Tạo thủ tục phục hồi: nhằm đưa CSDL trở về trạng thái đúng đắn mà nó có ngay trước khi bị hỏng vì một sự gián đoạn chương trình. Việc tạo thủ tục phục hồi phụ thuộc vào nguyên nhân của sự gián đoạn chương trình.

Nguyên tắc của phục hồi:

+ Khi chạy chương trình bình thường thì định kỳ ghi lại một số biến mốc quan trọng.

+ Khi gián đoạn thì khởi động lại chương trình với biến mốc gần nhất.

1.4. Kiểm soát các xâm phạm từ phía con người

Người trong và ngoài hệ thống (có thể là đối thủ cạnh tranh của cơ quan chủ quản hệ thống) cố ý hay vô tình làm sai lệch hoặc mất mát hay làm lộ thông tin mật, riêng tư đều gây ra những thiệt hại có thể là rất lớn. Chính vì vậy mà các xâm phạm từ phía con người là rất nguy hại cho cơ quan chủ quan hệ thống. Người phân tích thiết kế hệ thống phải thực hiện phân tích hết sức chặt chẽ để kiểm soát vấn đề này.

a. Xác định những điểm hở của hệ thống

Điểm hở của hệ thống là điểm mà tại đó thông tin của hệ thống có khả năng bị truy cập trái phép, bị sửa chữa, lấy cắp thậm chí phá huỷ thông tin, có thể gây thiệt hại lớn cho cơ quan chủ quản hệ thống.

Trong một hệ thống các điểm hở có thể là:

  • Luồng dữ liệu đi và đến tác nhân ngoài của hệ thống
  • Luồng dữ liệu cắt ngang giữa phần thực hiện bằng máy tính và phần thực hiện thủ công.
  • Các kho dữ liệu hoặc các tệp.
  • Các đường truyền trên mạng (đối với hệ phân tán), …

b. Xác định mức độ đe doạ từ các điểm hở

Căn cứ vào hậu quả thiệt hại mà cơ quan chủ quản hệ thống phải chịu khi có sự thâm nhập trái phép hoặc khi có sự cố xảy ra và khả năng phục hồi người thiết kế kiểm soát phải đánh giá được mức độ thiệt hại này và phân định mức độ đe doạ từ đó có những biện pháp phù hợp phòng, tránh, khắc phục các thiệt hại này.

Có thể phân chia thành 3 mức độ đe doạ sau:

  • Mức thấp: có sự sai lệch về dữ liệu nhưng có thể khắc phục được và ít tốn kém.
  • Mức trung bình: có sự sai lệch hoặc mất mát dữ liệu, khá ảnh hưởng đến cơ quan chủ quản hệ thống song vẫn có thể khắc phục được nhưng rất tốn kém.
  • Mức cao: khó có thể khắc phục được (có thể mất hết dữ liệu, hoặc sai nhầm một loạt thông tin quan trọng nhưng không thể phục hồi, …). Từ đó gây thiệt hại lớn đến công ty chủ quản hệ thống và có thể dẫn đến phá sản.

Lưu ý: khi phân tích các biện pháp kiểm soát cần có sự tham gia của:

  • Những người có trách nhiệm trong hệ thống
  • Những người rất am hiểu về hệ thống
  • Tuỳ từng hệ thống có thể người sử dụng được tham gia hoặc không được tham gia.

c. Các biện pháp phòng ngừa, khắc phục

Căn cứ vào mức độ đe doạ và dạng đe doạ (có thể là cố ý ăn cắp, phá hoại hoặc vô ý sai sót, …) nhà phân tích thiết kế hệ thống sẽ lựa chọn một số các biện pháp (mức bảo mật) phù hợp để thu được hiệu quả cao nhất.

Các mức bảo mật:

Bảo mật vật lý: khoá, chuông báo động

  • Nhận dạng nhân sự
  • Mật khẩu
  • Tạo mật mã: mã hoá dữ liệu sang dạng mã không hiểu được. Người hiểu được phải có quy tắc giải mã thích hợp.
  • Bảo mật bằng gọi lại: sự truy nhập thực hiện một cách gián tiếp, qua một trạm kiểm soát, tương tự như gọi điện thoại qua tổng đài.

d. Phân biệt riêng tư

Phân biệt riêng tư là việc phân loại các người dùng để:

  • Gán cho mỗi loại người dùng một số quyền truy nhập nhất định.
  • Cho phép một số người dùng được phép uỷ quyền tức giao quyền truy nhập cho người khác.

Không có một chuẩn thống nhất cho phân biệt riêng tư, để thực hiện nó ta có thể tham khảo trong một số tài liệu khác.