Bảo đảm an toàn thông tin cho hệ thống không phải là một quá trình đơn giản. Nếu việc bảo vệ hệ thống thông tin chỉ đơn giản là việc cài đặt lên một vài thiết bị tường lửa và phần mềm diệt virus thì sẽ dẫn đến việc rất nhiều vấn đề quan trọng sẽ bị bỏ sót. Do đó, để đảm bảo tính toàn diện chúng ta cần xem xét ba khía cạnh quan trọng trong việc bảo đảm an toàn thông tin bao gồm:
- Các chính sách và đặc tả: xác định mục tiêu của việc bảo đảm an toàn thông tin.
- Cơ chế và thực thi: xác định cách thức và phương tiện để đảm bảo an toàn cho hệ thống
- Đánh giá và kiểm chứng: Xác định xem các cách thức và phương tiện đã hoạt động đúng và đáp ứng đủ mục tiêu hay chưa?
Đặc tả và chính sách bảo đảm an toàn thông tin
Bước đầu tiên trong việc đưa ra các cơ chế và dịch vụ bảo đảm an toàn thông tin cho hệ thống là phát triển một chính sách an toàn. Chính sách an toàn này có thể được mô tả theo nhiều cách khác nhau. Tuy nhiên, nhìn chung nó đều mô tả một cách không chính thức về hành vi hoặc trạng thái mà hệ thống mong muốn đạt được. Các chính sách này có thể là tham chiếu, các yêu cầu chung về tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của hệ thống hoặc hữu ích hơn thì là một tuyên bố chính thức về các quy tắc quy định nhằm điều chỉnh cách thức hoạt động của hệ thống hoặc tổ chức trong việc bảo vệ tài nguyên hoặc thông tin nhạy cảm. Khi xây dựng chính sách bảo mật, chúng ta cần xem xét các yếu tố sau:
- Giá trị của tài sản đang được bảo vệ
- Các lỗ hổng của hệ thống
- Các mối đe dọa tiềm năng và khả năng bị tấn công
Xác định các thông tin quan trọng
Điều đầu tiên và có thể là quan trọng nhất trong đảm bảo an toàn thông tin là xác định được đâu là các tài sản thông tin quan trọng nhất cần bảo vệ. Thông tin quan trọng cốt lõi thường chỉ chiếm một phần nhỏ trong toàn bộ thông tin của tổ chức. Đó là những thông tin cốt lõi ảnh hưởng đến mọi hoạt động khác của tổ chức. Ví dụ với một công ty sản xuất thực phẩm thì bí quyết và công thức chế biến là yếu tố thông tin bí mật then chốt, đối với một nhà cung cấp sản phẩm phần mềm thì đó có thể là mã nguồn của chương trình,… Đây là những tài sản mà cần được bảo vệ nhất và sẽ gây ra những thiệt hại lớn nhất nếu bị tấn công. Và do đó cần là những tài sản cần được ưu tiên bảo vệ hàng đầu. Tiếp đến có những thông tin cũng cần bảo mật ở mức thấp hơn chẳng hạn như dữ liệu khách hàng, bảng lương của nhân viên,…và tiếp tục có thể phân loại ra rất nhiều dạng thông tin khác với các mức độ yêu cầu ưu tiên về bảo mật khác nhau.
Phân tích các hiểm họa
Hiểm họa là những yếu tố có khả năng gây hại cho tính an toàn của hệ thống. Từ danh sách các thông tin quan trọng ở phần trước, chúng ta có thể bắt đầu xem xét những nguy cơ có thể gây hại với chúng và nguồn gốc của các nguy cơ này.
Chẳng hạn, nếu chúng ta là một nhà cung cấp dịch vụ lưu trữ đám mây có thu phí trên mạng, khi đó mã nguồn chương trình phía máy chủ, dữ liệu của khách hàng là các thông tin quan trọng. Và chúng ta có thể xác định các hiểm họa bao gồm kẻ tấn công hoặc đối thủ cạnh tranh tiếp cận được mã nguồn máy chủ của chúng ta và do đó có thể sao chép lại toàn bộ dịch vụ, thực hiện dịch ngược để lấy được các khóa hợp pháp, trường hợp này sẽ dẫn đến thiệt hại rất lớn về tài chính. Hoặc hiểm họa ở đây có thể là các tấn công DDoS do đối thủ cạnh tranh hoặc hacker gây ra gây gián đoạn hoạt động của hệ thống.
Việc phân tích hiểm họa sẽ được lặp đi lặp lại với từng thông tin được xác định là quan trọng trong hệ thống.
Phân tích lỗ hổng
Như ở bài trước chúng ta đã biết, để hiểm họa thực sự gây hại đến hệ thống thì hệ thống đó phải có lỗ hổng. Lỗ hổng là những điểm yếu có thể được sử dụng để gây hại lên hệ thống. Để phân tích và tìm ra các lỗ hổng tồn tại trong hệ thống, chúng ta cần xem xét một cách kỹ lưỡng các tương tác có thể xảy ra đối với các tài sản thông tin này, và dự đoán các khả năng có thể lợi dụng để gây hại.
Chẳng hạn, với trường hợp công ty phần mềm ở trên, chúng ta có thể thấy rằng kiểm soát an toàn của chúng ta đối với các mã nguồn quan trọng là không chặt chẽ, và do đó nó có thể bị truy cập, sao chép, xóa hay chỉnh sửa mà không cần sự cấp quyền nào ngoài việc cần phải truy cập vào hệ điều hành hay mạng chia sẻ. Điều này có thể khiến cho nó có thể bị tấn công và sao chép, làm xáo trộn hoặc xóa bỏ hoàn toàn các mã nguồn. Xem xét một cách kỹ lưỡng hơn chúng ta cũng có thể thấy hệ thống của chúng ta không có các chính sách quy định về cách thức xử lý, lưu trữ, hoặc sao lưu mã nguồn. Kết hợp tất cả những vấn đề này ta thấy hệ thống của chúng ta chứa rất nhiều lỗ hổng tiềm năng dẫn đến sự mất an toàn nghiêm trọng trên hệ thống của chúng ta.
Đánh giá rủi ro
Mỗi hệ thống đều có vô số các lỗ hổng và nguy cơ đi kèm, tuy nhiên không phải bao giờ chúng ta cũng đủ nguồn lực để xem xét và giải quyết giảm thiểu toàn bộ những vấn đề này. Do đó, đây là lúc chúng ta cần xem xét và đánh giá lại rủi ro, cũng như xem xét lại những nguyên tắc đảm bảo an toàn thông tin ở bài trước. Chúng ta cần đảm bảo:
Cân bằng giữa tính an toàn và sự dễ sử dụng: Hầu như tất cả các biện pháp bảo đảm an toàn thông tin đều gây ra một số vấn đề đối với tính dễ sử dụng cho người dùng. Chẳng hạn, cơ chế kiểm soát truy cập yêu cầu người dùng nhớ mật khẩu hoặc thực hiện một số phương thức hành động khác, điều này gây trở ngại và mất thời gian trong nhiều trường hợp. Tường lửa và các biện pháp an toàn mạng khác có thể làm giảm lưu lượng mạng hoặc tăng thời gian phản hồi của ứng dụng. Phần mềm antivirus có thể làm giảm sức mạnh xử lý của hệ thống thậm chí có khả năng gây ra các sự cố hoặc trục trặc trong hệ thống do không tương thích với hệ điều hành.
Cân bằng giữa chi phí đảm bảo an toàn thông tin với giá trị thông tin: Ngoài yếu tố dễ sử dụng với người dùng thì chi phí triển khai và và duy trì các giải pháp bảo mật cũng là yếu tố cần được xem xét tới. Tất cả các chi phí này phải được cân bằng hoặc ít hơn với thiệt hại khi xảy ra sự cố an toàn và chi phí cho các giải pháp, khắc phục, phục hồi hệ thống khi không áp dụng giải pháp đó. Đó không chỉ giá trị của tài sản được bảo vệ và các thiệt hại khi sự cố thực tế xảy ra, mà còn là những khả năng thiệt hại, rủi ro, khác có thể xảy ra với xác suất nhất định.
Việc đánh giá rủi ro sẽ giúp chúng ta quyết định nên áp dụng giải pháp bảo đảm an toàn thông tin như thế nào và nhắm đến đối tượng nào cần ưu tiên. Rủi ro chỉ xảy ra khi một hiểm họa tác động lên một lỗ hổng hoặc điểm yếu phù hợp tron hệ thống. Quay lại với ví dụ về mã nguồn phần mềm của chúng ta, chúng ta đã xác định rằng chúng ta có một hiểm họa đối với mã nguồn ứng dụng đó là bị tiếp cận trái phép. Tuy nhiên điều này chỉ gây ra rủi ro khi có một lỗ hổng trong việc kiểm soát truy cập yếu. Điều này dẫn đến rủi ro là chúng ta sẽ bị thiệt hại khi kẻ gian đánh cắp được dữ liệu.
Tuy nhiên, trong trường hợp thông tin của chúng ta là không quan trọng, chẳng hạn nếu sản phẩm chúng ta đang khai thác là sản phẩm mã nguồn mờ miễn phí thì dù có lỗ hổng và có hiểm họa thì rõ ràng rủi ro (hay chính xác hơn là thiệt hại gây ra do rủi ro là bằng không). Do đó, để đánh giá rủi ro chúng ta phải:
- Đánh giá các tác động của việc mất an toàn thông tin của từng tài sản đối với tổ chức.
- Đánh giá khả năng rủi ro có thể xảy ra trên thực tế, các điểm yếu và các tác động liên quan tới các tài sản này, các phương pháp kiểm soát được thực hiện gần đây.
- Ước lượng mức độ rủi ro.
- Xác định rõ các rủi ro có thể chấp nhận được hoặc yêu cầu xử lý theo các tiêu chí chấp nhận rủi ro đã thiết lập.
Các cơ chế, giải pháp thực thi bảo đảm an toàn thông tin
Sau khi chúng ta đã phát hiện ra những rủi ro có thể xảy ra đối với các thông tin quan trọng, chúng ta có thể đưa ra các biện pháp để giảm thiểu chúng.
Như đã nói ở trên rủi ro chỉ xảy ra khi có sự kết hợp phù hợp giữa hiểm họa và lỗ hổng. Do đó điều chúng ta cần làm để giảm thiếu rủi ro đó là giảm thiểu hiểm họa hoặc loại bỏ các lỗ hổng.
Tuy nhiên, để giảm thiểu hiểm họa là một vấn đề hết sức khó khăn, đặc biệt là chúng ta vẫn cần đảm bảo cho hệ thống hoạt động đúng chức năng của nó. Một cách đơn giản nhất để loại bỏ hiểm họa đó là tắt toàn bộ máy, ngắt hết kết nối, ném hệ thống vào một chiếc két sắt dày và ném xuống một khu vực bọc thép, rải đầy chất độc ở đáy đại dương. Dù vậy, rõ ràng trong trường hợp này, hệ thống sẽ không thể phục vụ các chức năng của nó được nữa. Do đó việc giảm thiểu các hiểm họa thực sự không phải là một bước đi tốt. Thay vào đó, chúng ta có thể đưa ra các biện pháp nhằm giảm thiểu rủi ro thông qua giảm thiểu các lỗ hổng và điểm yếu của hệ thống. Trong trường hợp của ví dụ mã nguồn của chúng ta ở trên, nếu chúng ta thiết lập các biện pháp mạnh mẽ hơn trong việc kiểm soát truy cập tới mã nguồn và đưa ra các chính sách quy định việc xử lý mã nguồn thì chúng ta sẽ loại bỏ được phần lớn lỗ hổng do thiếu kiểm soát truy cập.
Có rất nhiều biện pháp đảm bảo an toàn thông tin tuy nhiên chúng ta có thể chia chúng thành 4 nhóm chính:
Phòng thủ
Hệ thống thông tin đạt trạng thái an toàn lý tưởng khi chúng ta đảm bảo được rằng không tồn tại một tấn công nào xảy ra thành công trên hệ thống. Điều này không thực tế trong mọi trường hợp, tuy nhiên chúng ta có thể áp dụng cá biện pháp để loại bỏ các rủi ro trong hệ thống một cách hợp lý nhất có thể. Ví dụ, nếu chúng ta áp dụng các phương pháp mã hóa với các thuật toán an toàn cho quá trình truyền dẫn dữ liệu và sử dụng các biện pháp để ngăn chặn truy cập trái phép vào các khóa mã hóa trên hệ thống, thì chúng ta có thể đảm bảo rằng các cuộc tấn công vào tính bí mật của dữ liệu trên đường truyền sẽ bị ngăn chặn.
Phát hiện
Trong đa số các trường hợp, bảo vệ tuyệt đối là việc làm không khả thi. Do đó, vẫn tồn tại các khả năng xảy ra tấn công trong hệ thống. Tuy nhiên trong trường hợp này chúng ta có thể áp dụng các cơ chế phát hiện để phát hiện ra các cuộc tấn công lên hệ thống. Các cơ chế phát hiện có chức năng phát hiện ra các vi phạm đến chính sách an toàn của hệ thống. Ví dụ, các hệ thống phát hiện xâm nhập hay tường lửa được thiết kế để phát hiện sự xuất hiện của các tấn công và truy cập trái phép lên hệ thống. Hoặc các hệ thống antivirus có thể phát hiện ra các mã độc khi nó xuất hiện trên hệ thống.
Phản ứng
Nếu các cơ chế bảo mật phát hiện một cuộc tấn công đang diễn ra, chẳng hạn như tấn công từ chối dịch vụ, hệ thống có thể có khả năng đáp ứng theo cách ngăn chặn cuộc tấn công và ngăn chặn thiệt hại thêm. Trong trường hợp. này ta có các giải pháp phản ứng.
Phục hồi
Một ví dụ về phục hồi là việc sử dụng các hệ thống sao lưu, khi tính toàn vẹn dữ liệu bị xâm phạm, một bản sao chính xác của dữ liệu có thể được phục hồi và sử dụng.
Đánh giá và kiểm định
Khi đã triển khai các giải pháp an toàn, những người sử dụng giải pháp như: người quản lý hệ thống, các nhà cung cấp, khách hàng và người dùng cuối luôn mong muốn các giải pháp được sử dụng hoạt động đúng như thiết kế. Có nghĩa là cần đảm bảo hạ tầng bảo mật của hệ thống đáp ứng được các yêu cầu và các chính sách an toàn đã đề ra.
Trong trường hợp này chúng ta cần có các quy trình và giải pháp đánh giá và kiểm định lại hệ thống. Việc đánh giá sẽ xác định và đánh giá lại mức độ tin cậy của các giải pháp an toàn được áp dụng, bao gồm cả về mặt kỹ thuật sử dụng và quá trình vận hành triển khai hệ thống. Việc đánh giá an toàn hệ thống thông tin trả lời cho các câu hỏi: Thiết kế của hệ thống bảo mật có đáp ứng các yêu cầu đặt ra hay không? Việc triển khai cài đặt hệ thống có đáp ứng được các thông số kỹ thuật phù hợp hay không? Lưu ý rằng, việc đánh giá chỉ xác định được mức độ tin cậy của giải pháp chứ không phải là bằng chứng chính thức cho thấy giải pháp được thiết kế hoặc triển khai là an toàn.
Kiểm định là quá trình kiểm tra, đánh giá hệ thống dựa trên các tiêu chí nhất định. Việc kiểm định liên quan đến các thử nghiệm hoặc các kỹ thuật phân tích hình thức thậm chí cả toán học. Mục tiêu trung tâm của việc kiểm định là phát triển các tiêu chí đánh giá có thể áp dụng cho bất kỳ hệ thống bảo mật nào (bao gồm các dịch vụ và cơ chế bảo mật) và được hỗ trợ rộng rãi để so sánh sản phẩm.
Việc bảo đảm an toàn thông tin ở đây rất giống với các quy trình về quản trị rủi ro nói chung. Về bản chất, quá trình này diễn ra tương tự như việc quản lý rủi ro. Đầu tiên chúng ta cần xác định những thông tin chúng ta cần bảo vệ, phân tích các hiểm họa và các lỗ hổng có thể ảnh hưởng đến nó, và phát triển các phương pháp giảm thiểu tác động đối với những hiểm họa và các lỗ hổng, sau đó sẽ liên tục đánh giá và cập nhật nó.
Quá trình này sẽ diễn ra lặp đi lặp lại, tại mỗi thời điểm dựa trên kiến thức và kinh nghiệm đã có từ các giai đoạn trước chúng ta sẽ có thể điều chỉnh các giải pháp áp dụng để có một mức độ an toàn cao hơn. Ngoài ra, khi có sự thay đổi môi trường và yếu tố mới phát sinh, chúng ta cũng cần phải xem xét lại quá trình này. Quá trình có thể kết thúc khi rủi ro đạt đến mức chấp nhận được. Điều này sẽ phụ thuộc và mục tiêu và tính chất của từng hệ thống. trình này tương đối đơn giản, nhưng nó rất hiệu quả trên thực tế.