Các hoạt động mã hóa kém như xác thực đầu vào không đúng cách và tạo khóa yếu có thể khiến hệ thống thông tin gặp lỗ hổng bảo mật và dẫn đến các cuộc tấn công mạng và xâm phạm thông tin nhạy cảm.
Ví dụ, trong sự cố lỗi Heartbleed khét tiếng, tin tặc đã khai thác lỗi xác thực đầu vào không hợp lệ trong mã để truy cập vào dữ liệu của hơn 4 triệu bệnh nhân .
Do đó, các tổ chức nên đảm bảo tuân thủ các nguyên tắc mã hóa an toàn để các hoạt động mã hóa kém không dẫn đến lỗ hổng bảo mật.
Mục đích của Kiểm soát 8.28
Kiểm soát 8.28 cho phép các tổ chức ngăn ngừa rủi ro và lỗ hổng bảo mật có thể phát sinh do các hoạt động mã hóa phần mềm kém bằng cách thiết kế, triển khai và xem xét các nguyên tắc mã hóa phần mềm bảo mật phù hợp.
Bảng Thuộc tính
Kiểm soát 8.28 là loại kiểm soát mang tính phòng ngừa giúp các tổ chức duy trì tính bảo mật của mạng, hệ thống và ứng dụng bằng cách loại bỏ các rủi ro có thể phát sinh từ mã phần mềm được thiết kế kém.
| Loại điều khiển | Thuộc tính bảo mật thông tin | Các khái niệm về an ninh mạng | Khả năng hoạt động | Miền bảo mật |
|---|---|---|---|---|
| #Phòng ngừa | #Bảo mật #Toàn vẹn #Khả dụng | #Bảo vệ | #Bảo mật ứng dụng #Bảo mật hệ thống và mạng | #Sự bảo vệ |
Quyền sở hữu kiểm soát 8.28
Xem xét rằng 8.28 yêu cầu thiết kế và triển khai các nguyên tắc và quy trình mã hóa an toàn trên toàn tổ chức, giám đốc an ninh thông tin phải chịu trách nhiệm thực hiện các bước thích hợp để tuân thủ.
Hướng dẫn chung về tuân thủ
Tiêu chuẩn kiểm soát 8.28 yêu cầu các tổ chức phải thiết lập và triển khai các quy trình trên toàn tổ chức để mã hóa an toàn, áp dụng cho cả sản phẩm phần mềm lấy từ bên ngoài và các thành phần phần mềm nguồn mở.
Hơn nữa, các tổ chức nên cập nhật các mối đe dọa bảo mật thực tế đang phát triển và thông tin mới nhất về các lỗ hổng bảo mật phần mềm đã biết hoặc tiềm ẩn. Điều này sẽ cho phép các tổ chức cải thiện và triển khai các nguyên tắc mã hóa phần mềm an toàn mạnh mẽ có hiệu quả chống lại các mối đe dọa mạng đang phát triển.
Hướng dẫn bổ sung về lập kế hoạch
Các nguyên tắc mã hóa phần mềm an toàn phải được tuân thủ đối với cả các dự án mã hóa mới và các hoạt động tái sử dụng phần mềm.
Các nguyên tắc này phải được tuân thủ đối với cả hoạt động phát triển phần mềm nội bộ và việc chuyển giao sản phẩm hoặc dịch vụ phần mềm của tổ chức cho bên thứ ba.
Khi thiết lập kế hoạch cho các nguyên tắc mã hóa an toàn và xác định các điều kiện tiên quyết cho mã hóa an toàn, các tổ chức phải tuân thủ các điều sau:
- Các tổ chức nên xác định kỳ vọng bảo mật phù hợp với nhu cầu của mình và thiết lập các nguyên tắc được chấp thuận cho mã hóa phần mềm an toàn sẽ áp dụng cho cả phát triển phần mềm nội bộ và các thành phần phần mềm thuê ngoài.
- Các tổ chức nên phát hiện và ghi lại các lỗi và thực hành thiết kế mã hóa kém phổ biến và lâu đời nhất dẫn đến nguy cơ xâm phạm bảo mật thông tin.
- Các tổ chức nên thiết lập và cấu hình các công cụ phát triển phần mềm để đảm bảo tính bảo mật của tất cả mã được tạo ra. Một ví dụ về các công cụ như vậy là môi trường phát triển tích hợp (IDE).
- Các tổ chức phải tuân thủ các hướng dẫn và chỉ dẫn do các công cụ phát triển phần mềm cung cấp.
- Các tổ chức nên xem xét, duy trì và sử dụng an toàn các công cụ phát triển như trình biên dịch.
Hướng dẫn bổ sung về bảo mật trong quá trình mã hóa
Các thực hành và quy trình mã hóa an toàn cần lưu ý những điều sau đây trong quá trình mã hóa:
- Các nguyên tắc mã hóa phần mềm an toàn phải được điều chỉnh phù hợp với từng ngôn ngữ lập trình và kỹ thuật được sử dụng.
- Triển khai các kỹ thuật và phương pháp lập trình an toàn như phát triển theo hướng kiểm thử và lập trình cặp.
- Sử dụng phương pháp lập trình có cấu trúc.
- Tài liệu mã phù hợp và loại bỏ lỗi mã.
- Cấm sử dụng các phương pháp mã hóa phần mềm không an toàn như mẫu mã chưa được chấp thuận hoặc mật khẩu được mã hóa cứng.
Hướng dẫn bổ sung cũng lưu ý rằng thử nghiệm bảo mật phải được thực hiện trong và sau quá trình phát triển theo Kiểm soát 8.29.
Trước khi đưa phần mềm vào sử dụng thực tế trong môi trường ứng dụng trực tiếp, các tổ chức nên cân nhắc những điều sau:
- Bề mặt tấn công là gì?
- Nguyên tắc đặc quyền tối thiểu có được tuân thủ không?
- Tiến hành phân tích những lỗi lập trình phổ biến nhất và chứng minh rằng những rủi ro này đã được loại bỏ.
Hướng dẫn bổ sung về quy trình đánh giá
Sau khi Mã được đưa vào sử dụng trong Môi trường sản xuất
- Các bản cập nhật phải được áp dụng theo cách an toàn.
- Các lỗ hổng bảo mật được báo cáo theo Tiêu chuẩn 8.8 cần được giải quyết.
- Các cuộc tấn công nghi ngờ vào hệ thống thông tin và lỗi phải được ghi lại và các hồ sơ này phải được xem xét theo định kỳ để có thể thực hiện những thay đổi phù hợp cho mã.
- Cần phải ngăn chặn việc truy cập, sử dụng hoặc thay đổi trái phép mã nguồn thông qua các cơ chế như công cụ quản lý.
Khi các tổ chức sử dụng các công cụ bên ngoài, họ nên tính đến những điều sau
- Các thư viện bên ngoài cần được theo dõi và cập nhật thường xuyên dựa trên chu kỳ phát hành của chúng.
- Các thành phần phần mềm phải được kiểm tra, lựa chọn và cấp phép cẩn thận, đặc biệt là các thành phần mã hóa và xác thực.
- Cấp phép cho các thành phần bên ngoài và đảm bảo tính bảo mật của chúng.
- Phần mềm phải được theo dõi và bảo trì. Hơn nữa, phải đảm bảo rằng nó đến từ một nguồn đáng tin cậy.
- Nguồn lực phát triển phải có sẵn cho mục đích lâu dài.
Khi thực hiện thay đổi cho một gói phần mềm, cần cân nhắc những điều sau
- Rủi ro có thể phát sinh do các biện pháp kiểm soát tích hợp hoặc sự xâm phạm các quy trình toàn vẹn.
- Nhà cung cấp có đồng ý thay đổi hay không.
- Có thể xin được sự đồng ý của nhà cung cấp phần mềm để cập nhật thường xuyên không.
- Tác động có thể xảy ra khi tiếp tục bảo trì phần mềm do những thay đổi gây ra.
- Liệu những thay đổi có tương thích với các thành phần phần mềm khác mà tổ chức sử dụng hay không.
Hướng dẫn bổ sung về Kiểm soát 8.28
Các tổ chức phải đảm bảo rằng mã liên quan đến bảo mật được sử dụng khi cần thiết và có khả năng chống giả mạo.
Kiểm soát 8.28 cũng liệt kê các khuyến nghị sau đây cho mã liên quan đến bảo mật:
- Trong khi các chương trình được cài đặt thông qua mã nhị phân bao gồm mã liên quan đến bảo mật thì mã này chỉ giới hạn ở dữ liệu được lưu trữ trong chính ứng dụng.
- Khái niệm về mã liên quan đến bảo mật chỉ hữu ích khi mã được chạy trên máy chủ mà người dùng không thể truy cập và được tách biệt khỏi các quy trình sử dụng mã đó và dữ liệu của mã được lưu giữ an toàn trong cơ sở dữ liệu khác. Ví dụ, bạn có thể chạy mã được diễn giải trên dịch vụ đám mây và quyền truy cập vào mã có thể bị hạn chế đối với các quản trị viên có đặc quyền. Bạn nên bảo vệ các quyền truy cập này thông qua các phương pháp như đặc quyền quản trị viên just-in-time và cơ chế xác thực mạnh mẽ.
- Cần triển khai cấu hình phù hợp trên máy chủ web để ngăn chặn truy cập và duyệt thư mục trái phép.
- Khi thiết kế mã ứng dụng, bạn nên bắt đầu với giả định rằng mã dễ bị tấn công do lỗi mã hóa và hành động của tác nhân độc hại. Bạn nên thiết kế các ứng dụng quan trọng theo cách mà chúng không dễ bị lỗi nội bộ. Ví dụ, đầu ra do thuật toán tạo ra có thể được xem xét để đảm bảo rằng nó tuân thủ các yêu cầu bảo mật trước khi có thể sử dụng trong các ứng dụng quan trọng như ứng dụng liên quan đến tài chính.
- Một số ứng dụng web rất dễ bị tấn công bảo mật do sử dụng mã hóa kém như tấn công chèn mã vào cơ sở dữ liệu và tấn công xuyên trang.
- Các tổ chức nên tham khảo loạt tiêu chuẩn ISO/IEC 15408 để biết thêm thông tin về đánh giá bảo mật CNTT.
Những thay đổi và khác biệt so với ISO 27002:2013
27002:2022/8.28 là một loại điều khiển mới.




