Thông tin cập nhật về CASA

Nội dung cập nhật ngày 29/3/2023

Để phù hợp với xu hướng và các phương pháp hay nhất trong ngành, nhóm công tác của liên minh bảo vệ ứng dụng (ADA) đã tiến hành các phiên xem xét trong quý 1 năm 2023 để cập nhật, đơn giản hoá và tiêu chuẩn hoá các quy trình kiểm thử CASA. Dựa trên những phiên hoạt động này, các yêu cầu và quy trình CASA đã được cập nhật như sau:

  • Cập nhật các yêu cầu của CASA từ 134 yêu cầu xuống còn 73 yêu cầu (xem thông tin chi tiết bên dưới).

  • Để vượt qua bài đánh giá CASA, một ứng dụng phải vượt qua hoặc đáp ứng tất cả 73 yêu cầu của CASA, bất kể điểm xếp hạng CWE.

  • Cập nhật nội dung mô tả về các cấp để bổ sung Cấp 2 do Lab thực hiện.

  • Thêm thông tin đảm bảo cho từng cấp.

  • Bản cập nhật nhỏ để đơn giản hoá quy trình tự quét cấp 2.

Nội dung cập nhật về các yêu cầu của CASA

  • Bạn có thể xem danh sách yêu cầu hiện tại mới nhất tại đây

  • Các yêu cầu sau đây đã bị xoá


req_id

Phản hồi của Nhóm cộng tác

8.1.6

Cần xem xét lại Yêu cầu này để có thể thực hiện được (ví dụ: Chỉ nên giữ lại bản sao lưu trong khoảng thời gian X, Nên giám sát bản sao lưu để tránh bị đánh cắp/hư hỏng, Nên thường xuyên kiểm tra bản sao lưu để xác nhận khả năng di chuyển trở lại bản phát hành công khai). Giả định hiện tại quá rộng và cần được xác định rõ hơn.

5.1.4

Trùng lặp với các trường hợp kiểm thử khác. Đây là một trường hợp kiểm thử tốn nhiều công sức nhưng ít giá trị. Bạn nên xoá.

7.3.3

Trùng lặp với các trường hợp kiểm thử khác. Đây là một trường hợp kiểm thử tốn nhiều công sức nhưng ít giá trị. Bạn nên xoá.

1.2.2

xoá do được đề cập trong yêu cầu khác, chẳng hạn như 4.1.1

2.2.4

Xoá Req vì yêu cầu này đã được đề cập trong mục 4.3.1

(4.3.1 Xác minh rằng các giao diện quản trị sử dụng phương thức xác thực đa yếu tố thích hợp để

ngăn chặn hành vi sử dụng trái phép.) bao gồm khả năng chống mạo danh để chống lại hành vi lừa đảo trong giao diện quản trị và các đường dẫn truy cập nội bộ khác

2.2.5

Xoá vì hầu hết CSP đều không hỗ trợ mTLS, ngoài ra, phần lớn nhà phát triển đã thử nghiệm CASA sẽ sử dụng phương thức xác thực dựa trên mật khẩu

2.4.3

Tiêu chuẩn này chưa đủ cụ thể để có thể thực thi

2.4.5

Yêu cầu đã bị xoá trong phiên bản 5 của ASVS và các thuật toán băm được đề xuất trong 2.4.1 không đáp ứng được yêu cầu này

2.7.5

Không thể kiểm thử vì có thể cần phân tích các nhà cung cấp OOB bên thứ ba, rủi ro ở đây là thấp vì mã xác thực chỉ tồn tại trong thời gian ngắn.

2.8.2

yêu cầu này chỉ liên quan đến các giải pháp MFA tuỳ chỉnh, cũng được đề cập trong 6.4.2 và 6.4.1

2.8.5

Xoá yêu cầu vì yêu cầu này đã được đề cập trong 2.7.6. Ngoài ra, việc ghi nhật ký các lần thử không thành công cũng được đề cập trong yêu cầu ghi nhật ký của ASVS

2.8.6

OTP vật lý ở cấp ứng dụng không phải là một trường hợp sử dụng phổ biến, yêu cầu này là cần thiết cho các giao diện quản trị. Tuy nhiên, yêu cầu 4.3.1 (Xác minh rằng các giao diện quản trị sử dụng phương thức xác thực đa yếu tố thích hợp để ngăn chặn hành vi sử dụng trái phép) bao gồm MFA cho các giao diện quản trị và sẽ giải quyết rủi ro này

2.9.1

Yêu cầu này áp dụng cho các thiết bị vật lý theo ASVS (Khoá bảo mật mã hoá là thẻ thông minh hoặc khoá FIDO, trong đó người dùng phải cắm hoặc ghép nối

thiết bị mật mã vào máy tính để hoàn tất quy trình xác thực. Trình xác minh gửi một số chỉ dùng một lần cho thử thách đến

thiết bị hoặc phần mềm mã hoá và thiết bị hoặc phần mềm này sẽ tính toán một phản hồi dựa trên một cách thức bảo mật

khoá mã hoá được lưu trữ.) khiến yêu cầu này nằm ngoài phạm vi của CASA vì rủi ro xác thực thiết bị thực tế được đề cập trong 4.3.1 cho mục đích xác thực đa yếu tố (Thiết bị thực tế hoặc phần mềm)

2.9.3

Yêu cầu này áp dụng cho các thiết bị vật lý theo ASVS (Khoá bảo mật mã hoá là thẻ thông minh hoặc khoá FIDO, trong đó người dùng phải cắm hoặc ghép nối

thiết bị mật mã vào máy tính để hoàn tất quy trình xác thực. Trình xác minh gửi một số chỉ dùng một lần cho thử thách đến

thiết bị hoặc phần mềm mã hoá và thiết bị hoặc phần mềm này sẽ tính toán một phản hồi dựa trên một cách thức bảo mật

khoá mã hoá được lưu trữ.) khiến yêu cầu này nằm ngoài phạm vi của CASA vì rủi ro xác thực thiết bị thực tế được đề cập trong 4.3.1 cho mục đích xác thực đa yếu tố (Thiết bị thực tế hoặc phần mềm)

2.10.1

Yêu cầu này mâu thuẫn với mục 2.10.2

2.10.3

Được đề cập trong 2.4.1 (Xác minh rằng một trong các hàm băm mật khẩu sau đây được dùng khi lưu trữ mật khẩu của người dùng cho ứng dụng: argon2id, scrypt, bcrypt hoặc PBKDF2) nhằm giảm nguy cơ tấn công ngoại tuyến và lưu trữ mật khẩu.

2.10.4

Được đề cập trong mục 6.4.2 Xác minh rằng nội dung khoá không được hiển thị cho ứng dụng mà thay vào đó, ứng dụng sẽ sử dụng một mô-đun bảo mật riêng biệt như một kho lưu trữ cho các hoạt động mã hoá.

3.2.3

Được đề cập trong các mục 3.4.1, 3.4.2 và 3.4.3

3.5.1

Người dùng có thể thu hồi mã thông báo thông qua nhà cung cấp OAuth

4.3.3

Yêu cầu được xác thực bằng MFA cho giao diện quản trị và quyền truy cập đặc quyền

5.1.3

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

5.1.4

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

5.3.2

Phần của yêu cầu này chỉ định rằng mọi ký tự unicode đều hợp lệ có thể gây khó khăn cho việc kiểm thử. Không phải ứng dụng nào cũng có một biểu mẫu văn bản đủ lớn để chứa mọi ký tự unicode. Ngoài ra, còn thiếu sự hỗ trợ cho một số hệ điều hành và công cụ xâm nhập cho toàn bộ không gian unicode, khiến bạn không thể kiểm thử điều này ngay cả khi máy chủ hỗ trợ. Nhìn chung, giá trị bảo mật đáng ngờ. Ban đầu, tính năng này có trong phiên bản thử nghiệm nhưng đã bị xoá do có vấn đề trong quá trình thử nghiệm.

6.2.5

được đề cập trong 6.2.4 và 6.2.3

6.2.6

được đề cập trong 6.2.4 và 6.2.3

6.3.1

được đề cập trong 6.2.4 và 6.2.3

6.3.3

được điều chỉnh theo các yêu cầu khác về việc tạo số ngẫu nhiên.

7.1.2

được đề cập trong phần 7.1.1

7.1.3

được đề cập trong phần 7.1.1

7.3.1

được đề cập trong phần 7.1.1

7.3.3

được đề cập trong phần 7.1.1

8.1.3

Khó mô tả tham số nào là chấp nhận được hoặc cần thiết. Không phải là trường hợp có thể kiểm thử. Điều gì cấu thành sự cần thiết? Làm cách nào để xác định xem một trường hợp ngoại lệ có hợp lệ hay không? Được coi là nằm ngoài phạm vi của CASA

8.3.3

Không phải là yêu cầu có thể kiểm thử, liên quan đến chính sách quyền riêng tư và điều khoản dịch vụ chứ không phải là tính bảo mật của ứng dụng. Đây là quy trình đánh giá pháp lý và việc tuân thủ, đồng thời nằm ngoài phạm vi của CASA

8.3.6

Chế độ kiểm soát dành riêng cho hệ thống (biến thể Windows/Linux) và dành riêng cho thiết bị, đồng thời trong hầu hết các trường hợp, chế độ này không phải là chế độ kiểm soát ứng dụng.

8.3.8

được đề cập trong 1.8.1, 1.8.2 và 1.1.4

9.2.5

được đề cập trong phần 8.3.5 và các bài đánh giá về chính sách ghi nhật ký của ứng dụng.

10.1.1

Được đề cập trong quy trình đánh giá cấu trúc và là một phương pháp hay nhất nên áp dụng. Không thể kiểm thử yêu cầu

10.2.3

Không thể thực hiện trong một khoảng thời gian hợp lý. Mọi mã bất thường đều phải được ghi lại và xem xét. Tuy nhiên, việc đặt nhiệm vụ cụ thể để đảm bảo không có cửa sau sẽ yêu cầu xem xét mã chi tiết từng dòng và không đảm bảo rằng không có cửa sau.

Khó kiểm thử các hàm độc hại được thiết kế kỹ lưỡng

10.2.4

Không có cách nào để kiểm tra. Không thể thực hiện trong một khoảng thời gian hợp lý. Mọi mã bất thường đều phải được ghi lại và xem xét. Tuy nhiên, việc đặt nhiệm vụ cụ thể để đảm bảo không có cửa sau sẽ đòi hỏi phải xem xét mã chi tiết từng dòng và không đảm bảo rằng không có cửa sau.

Khó kiểm thử các hàm độc hại được thiết kế kỹ lưỡng

10.2.5

Không có cách nào để kiểm tra. Không thể thực hiện trong một khoảng thời gian hợp lý. Mọi mã bất thường đều phải được ghi lại và xem xét. Tuy nhiên, việc đặt nhiệm vụ cụ thể để đảm bảo không có cửa sau sẽ đòi hỏi phải xem xét mã chi tiết từng dòng và không đảm bảo rằng không có cửa sau.

Khó kiểm thử các hàm độc hại được thiết kế kỹ lưỡng

13.1.1

Được đề cập trong phần 5.2.6 và 5.3.9

12.3.1

rủi ro về việc duyệt qua đường dẫn được đề cập trong các yêu cầu hiện có khác trong chương 5 (Xác thực, dọn dẹp và mã hoá) của ASVS và CASA

12.3.3

Được đề cập trong phần 5.2.6 và 5.3.9

12.3.6

được đề cập trong 10.3.2, 12.4.1 và 12.4.2

12.5.1

được đề cập trong phần 10.3.2 và 12.4.2

12.5.2

được đề cập trong 10.3.2, 12.4.1 và 12.4.2

13.1.5

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

13.2.2

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

13.2.3

Được đề cập trong phần 4.2.2

13.2.5

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

13.3.1

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

14.4.1

thuộc phạm vi áp dụng của điều khoản 5.3.1

14.4.2

Yêu cầu này được bao gồm trong các yêu cầu xác thực đầu vào khác và Nếu việc thiếu xác thực không gây ra lỗ hổng logic kinh doanh thực tế, thì đây có thể là mức độ nghiêm trọng thấp hơn. Ví dụ: việc không xác thực số điện thoại đúng cách chỉ dẫn đến việc số điện thoại hiển thị không đúng cách trên trang thông tin, điều này không có tác động trực tiếp đến tính bảo mật.

14.4.3

được đề cập trong mục 5.2.7 và 5.3.3

14.4.5

được đề cập trong mục 6.2.1 và 9.2.1

14.4.7

được đề cập trong phần 12.4.1

14.5.3

được đề cập trong 14.5.2

2.1.5

được đề cập trong phần 2.1.1

2.1.6

được đề cập trong phần 2.1.1

2.2.3

Không liên quan đến casa vì rủi ro này đã được kiểm soát bằng các biện pháp kiểm soát chống tự động hoá khác

2.5.6

được bảo vệ bằng mật khẩu khác

3.1.1

Ít có nguy cơ bị lộ và được các biện pháp kiểm soát khác của ASVS bao gồm

3.2.1

Ít có nguy cơ bị lộ và được các biện pháp kiểm soát khác của ASVS bao gồm

3.4.4

Ít có nguy cơ bị lộ và được các biện pháp kiểm soát khác của ASVS bao gồm

3.4.5

Ít có nguy cơ bị lộ và được các biện pháp kiểm soát khác của ASVS bao gồm

4.2.1

được đề cập trong mục 13.1.4

5.2.8

được đề cập trong các bước kiểm tra xác thực và dọn dẹp dữ liệu đầu vào khác

5.3.5

được đề cập trong các bước kiểm tra xác thực và dọn dẹp dữ liệu đầu vào khác

7.4.1

được đề cập trong các quy trình kiểm tra ghi nhật ký

8.2.3

được đề cập trong phần 8.1.1

9.1.1

được đề cập trong mục 6.2.1 và 9.2.1

1.2.3

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.4.4

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.5.2

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.5.3

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.5.4

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.9.1

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.11.3

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.14.1

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.14.2

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.14.3

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.14.4

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.14.5

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

1.14.6

được đề cập trong 1.1.4, 1.8.4 và 1.8.2

6.1.2

Được đề cập trong phần 6.1.1

6.1.3

Được đề cập trong phần 6.1.1

2.10.2

Được đề cập trong phần 2.5.4

2.2.1

Được đề cập trong phần 11.1.4

2.7.3

Được đề cập trong phần 2.7.2

2.7.4

Được đề cập trong phần 2.7.2

5.1.2

Được bảo vệ bằng tính năng Chống điều khiển tự động

6.2.2

chưa xác định thuật toán mã hoá được phê duyệt

8.2.1

Được đề cập trong phần 8.1.1

9.1.2

Thuộc phạm vi của mục 9.2.1

9.1.3

Thuộc phạm vi của mục 9.2.1

5.5.1

Được đề cập trong phần 1.8.2

14.2.1

Được đề cập trong phần 1.14.6

3.3.4

Điều này không đúng đối với các ứng dụng sử dụng AuthN/Z không trạng thái. Đồng ý với đề xuất của NCC Group về việc xoá. Điều này phải được đề cập trong phần 3.3.3



  • Chúng tôi đã thêm các yêu cầu sau:


req_id

Mô tả

1.1.4

Xác minh tài liệu và lý do của tất cả các ranh giới tin cậy, thành phần và luồng dữ liệu quan trọng của ứng dụng.

1.8.1

Xác minh rằng tất cả dữ liệu nhạy cảm đều được xác định và phân loại thành các cấp độ bảo vệ

1.8.2

Xác minh rằng tất cả các cấp độ bảo vệ đều có một bộ yêu cầu bảo vệ liên quan, chẳng hạn như yêu cầu về mã hoá, yêu cầu về tính toàn vẹn, việc lưu giữ, quyền riêng tư và các yêu cầu khác về tính bảo mật, đồng thời các yêu cầu này

được áp dụng trong cấu trúc.

2.1.1

Xác minh rằng mật khẩu do người dùng đặt có độ dài ít nhất là 12 ký tự

2.5.4

Xác minh rằng không có tài khoản dùng chung hoặc tài khoản mặc định (ví dụ: "root",

"admin" hoặc "sa").

4.2.1

Xác minh rằng dữ liệu và API nhạy cảm được bảo vệ khỏi các cuộc tấn công Tham chiếu trực tiếp đến đối tượng không an toàn (IDOR) nhắm đến việc tạo, đọc, cập nhật và xoá bản ghi, chẳng hạn như tạo hoặc cập nhật bản ghi của người khác, xem bản ghi của mọi người hoặc xoá tất cả bản ghi.

1.14.6

Xác minh rằng ứng dụng không sử dụng các API không được hỗ trợ, không an toàn hoặc không dùng nữa

các công nghệ phía máy khách như trình bổ trợ NSAPI, Flash, Shockwave, ActiveX,

Silverlight, NACL hoặc các ứng dụng Java phía máy khách.