Ba mục tiêu bảo mật: bí mật, toàn vẹn, sẵn sàng
Bảo mật (security) là giữ cho dữ liệu và hệ thống không bị đọc, sửa hoặc làm gián đoạn trái phép. Bài này chia việc đó thành ba mục tiêu cụ thể, gọi là mô hình CIA.
Tài sản số: thứ cần bảo vệ
Bước đầu tiên của bảo mật là xác định cần bảo vệ cái gì. Mọi thứ có giá trị với tổ chức và có thể bị lạm dụng đều gọi là : dữ liệu, tài khoản, thiết bị, quyền điều khiển.
Ví dụ xuyên suốt khóa học là website của một câu lạc bộ. Website có ba phần, mỗi phần có quy tắc dùng khác nhau:
| Phần của website | Ai được xem | Ai được sửa |
|---|---|---|
| Lịch sinh hoạt | Mọi người (công khai) | Người phụ trách nội dung |
| Danh sách thành viên kèm số điện thoại | Người được phân công liên lạc | Người quản lý thành viên |
| Bảng lệ phí và số tài khoản nhận tiền | Từng thành viên xem phần của mình | Chỉ người thu phí |
Bảo mật không có nghĩa là giấu mọi thứ. Lịch sinh hoạt cần công khai; số điện thoại thì không. Mục tiêu là: đúng người, đúng dữ liệu, đúng hành động, đúng lúc cần dùng.
Để biết dữ liệu nào cần mức bảo vệ nào, ta dùng ba câu hỏi, tương ứng với ba mục tiêu bảo mật ở các phần sau: Ai được đọc? Ai được sửa? Khi cần có dùng được không?
Tính bí mật: ai được đọc
nghĩa là thông tin chỉ đến được những người hoặc hệ thống được phép. Vi phạm xảy ra khi người không có quyền đọc hoặc sao chép dữ liệu, kể cả khi dữ liệu gốc không bị sửa hay xóa.
Lỗi thường gặp: ẩn nút nhưng không chặn truy cập
Giả sử trang quản trị chỉ hiện nút "Tải danh sách" cho người phụ trách, nhưng file members.csv nằm trong thư mục công khai của website. Người ngoài biết đường dẫn /files/members.csv vẫn tải được, không cần đi qua trang quản trị.
Cách bảo vệ tính bí mật
- Không đặt file chứa dữ liệu nhạy cảm trong thư mục website công khai.
- Server kiểm tra đăng nhập và quyền cho từng yêu cầu, không dựa vào việc giao diện đã ẩn.
- Chỉ cấp quyền đọc cho người cần dùng dữ liệu trong công việc.
- Không gửi dữ liệu nhạy cảm qua kênh không an toàn (bài 6 giải thích vì sao).
Lưu ý: sao chép trái phép thường không để lại dấu vết trên dữ liệu gốc. File vẫn còn nguyên không chứng minh được rằng nó chưa bị lộ.
Tính toàn vẹn: ai được sửa
nghĩa là dữ liệu chính xác và không bị thay đổi trái phép. Câu hỏi không phải là "dữ liệu có được đổi không" (website tin tức đổi mỗi ngày) mà là: ai được đổi, đổi cái gì, theo căn cứ nào, và có phát hiện được thay đổi sai không.
Ví dụ
Bản đã duyệt ghi tài khoản nhận lệ phí là DEMO-001. Một người sửa trang thành DEMO-999. Trang vẫn mở bình thường, không ai bị lộ dữ liệu, nhưng thành viên chuyển tiền sai chỗ. Đây là vi phạm toàn vẹn, và hậu quả (mất tiền) xảy ra dù website "không bị sập".
Cách bảo vệ tính toàn vẹn
- Phân quyền sửa: chỉ người phụ trách mới có quyền ghi vào dữ liệu quan trọng.
- Lịch sử chỉnh sửa (audit trail): ghi lại ai sửa, sửa gì, lúc nào, để đối chiếu khi cần.
- Quy trình phê duyệt: thông tin thanh toán phải có người thứ hai xác nhận hoặc đối chiếu với chứng từ.
- Bản gốc để so sánh: lưu bản đã duyệt ở nơi riêng để phát hiện sai khác.
Tính sẵn sàng và bản sao lưu
nghĩa là hệ thống và dữ liệu dùng được đúng lúc cần. Dữ liệu không bị lộ, không bị sửa nhưng trang đăng ký không mở được vào giờ mở đăng ký thì người dùng vẫn không làm được việc cần làm.
Nguyên nhân làm mất tính sẵn sàng
- Lỗi phần cứng, phần mềm, hết hạn tên miền hoặc chứng chỉ.
- Bị xóa nhầm hoặc cố ý.
- Tấn công từ chối dịch vụ (): gửi lượng yêu cầu rất lớn để server không phục vụ kịp.
- Mã độc tống tiền (ransomware): mã hóa dữ liệu rồi đòi tiền để giải mã.
Bản sao lưu
là bản sao dữ liệu lưu ở nơi khác để khôi phục khi bản chính mất hoặc hỏng. Một bản sao lưu hữu ích cần đủ các điều kiện:
- Lưu tách biệt với hệ thống chính. Nếu bản sao nằm cùng máy và máy hỏng thì mất cả hai.
- Quy tắc 3-2-1: ít nhất 3 bản dữ liệu, trên 2 loại phương tiện khác nhau, 1 bản để ở nơi khác (ngoài văn phòng hoặc trên dịch vụ đám mây).
- Có bản đủ mới: sao lưu mỗi tuần nghĩa là có thể mất tới một tuần dữ liệu.
- Thử khôi phục định kỳ: có file backup chưa đủ; phải chứng minh khôi phục được và dữ liệu đọc được.
Ghép ba mục tiêu lại
Ba mục tiêu trên viết tắt là CIA (Confidentiality, Integrity, Availability). Mỗi sự cố cụ thể ảnh hưởng đến một hoặc nhiều mục tiêu:
| Sự việc trên website câu lạc bộ | Mục tiêu bị ảnh hưởng | Biện pháp chính |
|---|---|---|
| Người lạ tải được danh sách số điện thoại | Bí mật | Kiểm soát truy cập ở server |
| Số tài khoản nhận lệ phí bị đổi | Toàn vẹn | Phân quyền sửa, lịch sử chỉnh sửa, phê duyệt |
| Trang đăng ký không mở được lúc cần | Sẵn sàng | Giám sát, sao lưu, kế hoạch khôi phục |
| Bị mã độc tống tiền: dữ liệu bị mã hóa và bị sao chép | Sẵn sàng và bí mật | Sao lưu tách biệt, cập nhật phần mềm, phân quyền |
Khi phân tích một sự cố, hãy hỏi lần lượt ba câu: Có ai đọc được thứ không được đọc? Có gì bị sửa trái phép? Có gì không dùng được lúc cần? Một sự cố có thể trả lời "có" cho nhiều câu.
Biết cần bảo vệ gì chưa đủ. Bài tiếp theo xét câu hỏi ngược lại: ai và cái gì có khả năng tác động đến các tài sản này, thông qua tài khoản nào.
Tóm tắt
- là dữ liệu, tài khoản, quyền có giá trị. Phân loại chúng trước khi chọn cách bảo vệ.
- : chỉ người có quyền được đọc. Server phải kiểm tra quyền, không chỉ ẩn nút.
- : chỉ người có quyền được sửa, và phát hiện được thay đổi sai bằng lịch sử chỉnh sửa và bản đối chiếu.
- : dùng được lúc cần. chỉ có giá trị khi đã thử khôi phục.
- Một sự cố có thể ảnh hưởng nhiều mục tiêu cùng lúc.
Tự kiểm tra · 3 câu có giải thích +
Ghi chú cá nhân +
Tự lưu trên trình duyệt. Không nhập thông tin bí mật.