Ứng dụng

Lỗ hổng DROWN có thể đe dọa hàng trăm hệ thống quan trọng tại Việt Nam

(KHCN)-Mới đây, theo đánh giá từ các chuyên gia, hàng trăm hệ thống quan trọng tại Việt Nam có nguy cơ bị đánh cắp thông tin cá nhân của khách hàng như mật khẩu, tài khoản ngân hàng… từ lỗ hổng Drown

Ước tính trong số các hệ thống bị ảnh hưởng bởi DROWN thì có tới 58% thuộc lĩnh vực tài chính, 21% thuộc lĩnh vực dầu khí, 11% thuộc lĩnh vực công nghiệp, hàng tiêu dùng, 5% thuộc lĩnh vực công nghệ, viễn thông và 5% thuộc lĩnh vực vận tải, du lịch.

Vào đầu tháng 3/2016, lỗ hổng DROWN (Decrypting RSA with Obsolete and Weakened eNcryption) mới được phát hiện và công bố. Hơn 11 triệu website và dịch vụ thư điện tử bị ảnh hưởng bởi lỗ hổng này, theo đó các thông tin nhạy cảm trao đổi qua giao thức TLS có thể bị giải mã chỉ trong vài giờ, thậm chí là ngay lập tức, với chi phí rất nhỏ. Hơn 81 nghìn trong số 1 triệu website phổ biến nhất có lỗ hổng này. Lỗ hổng cho phép kẻ tấn công giải mã các kết nối TLS bị theo dõi bằng cách liên tục tạo kết nối SSLv2 tới máy chủ. Trong quá trình đó, kẻ tấn công xác định được vài bit của khoá mã hoá mỗi kết nối.

Kết quả dò quét gần đây cho thấy, hơn 5,9 triệu máy chủ web (chiếm 17% số máy chủ được bảo vệ bởi giao thức HTTPS) trực tiếp hỗ trợ SSLv2 và ít nhất 936 nghìn máy chủ thư điện tử được bảo vệ bằng giao thức TLS cũng hỗ trợ giao thức không an toàn đó. Phát hiện này rất đáng lo ngại vì những khuyến cáo về việc loại bỏ SSLv2 đã được đề xuất nhiều trong thời gian qua. Một máy chủ không chấp nhận các kết nối SSLv2 vẫn có thể bị tấn công nếu cặp khoá RSA dùng cho nó được dùng lại trên một máy chủ khác có hỗ trợ SSLv2. Chẳng hạn như máy chủ web cấm dùng SSLv2 có thể bị lộ khoá nếu khoá đó được dùng trên một máy chủ thư điện tử chấp nhận SSLv2.


Ảnh minh họa
Phương thức triển khai TLS được sử dụng phổ biến nhất có thể bị tấn công DROWN là OpenSSL. Tuy các phiên bản hiện tại của nó không cho phép sử dụng các kết nối SSLv2, nhưng những người quản trị hệ thống có thể vô tình thay đổi các thiết lập đó khi cố gắng tối ưu hoá các ứng dụng như Apache, Nginx hay Sendmail và Postfix.

Do DROWN là kiểu tấn công lợi dụng lỗ hổng ở phía máy chủ, nên người dùng cuối không thể làm gì để ngăn chặn thảm họa. Kiểu tấn công DROWN phổ biến nhất là lợi dụng những thuật toán mã hoá đối xứng 40 bit yếu được đưa vào phần mềm để đảm bảo tuân thủ quy định hạn chế xuất khẩu của chính phủ Mỹ. Kẻ tấn công chỉ cần giữ khoảng 1000 lượt trao đổi khoá RSA giữa người dùng cuối với một máy chủ TLS chưa được vá và các kết nối có thể dùng bất kỳ phiên bản nào của giao thức SSL hay TLS, kể cả phiên bản TLS 1.2 hiện thời. Sau đó, chúng dùng các bản mã RSA thu giữ được để khởi tạo hàng ngàn kết nối SSLv2 trong đó chứa lệnh buộc máy chủ dùng thuật toán mã hoá 40 bit. Tiếp đó, chúng so sánh bản mã với toàn bộ 240 khả năng.Việc giải mã kết nối TLS theo cách này chỉ mất tối đa 8 giờ. Ngoài ra, còn có một phương pháp giải mã khác với một cụm các card đồ hoạ và thực hiện trong khoảng 18 tiếng.

Một dạng nguy hiểm hơn của lỗ hổng DROWN có trong các máy chủ chạy những phiên bản OpenSSL chưa được vá từ tháng 3/2015, cho phép những kẻ tấn công giải mã được “premaster secret” (giá trị bí mật được client mã hóa bằng khóa công khai của máy chủ rồi gửi đi trong quá trình bắt tay theo chuẩn SSL) trong khoảng 1 phút chỉ với 1 CPU đơn (single core). Kẻ tấn công có thể dùng kỹ thuật thực hiện kiểu tấn công “người đứng giữa” để giả mạo một máy chủ có lỗ hổng. Các nhà nghiên cứu lỗ hổng đã dò quét và đưa ra một tỷ lệ đáng kể các máy chủ có lỗ hổng DROWN có thể bị ảnh hưởng bởi dạng tấn công nguy hiểm hơn này, điều đó cho thấy một số lớn người dùng vẫn chưa áp dụng bản vá tháng 3/2015.

DROWN là bản mở rộng của kiểu tấn công Bleichenbacher (đặt theo tên của Daniel Bleichenbacher, nhà mật mã học người Thuỵ Sỹ, đã phát hiện ra điểm yếu của hàm mã hoá PKCS#1 v1 vào năm 1998). Mặc dù tấn công Bleichenbacher được coi là yếu về phương diện toán học, điểm yếu này không thực sự có tính thực tiễn vì kẻ tấn công phải tạo hàng trăm ngàn hay thậm chí hàng triệu kết nối tới máy chủ để dò được một khoá phiên. Một số biện pháp phòng chống tấn công Bleichenbacher lại tạo ra lỗ hổng mới trong TLS 1.0 và các phiên bản tiếp theo. Còn bản mở rộng DROWN đáng lưu ý không chỉ vì nó cần ít truy vấn tới máy chủ hơn mà còn do tính “xuyên giao thức” của nó, cho phép kẻ tấn công lợi dụng những điểm yếu của SSLv2 để “đánh bại” những phiên bản TLS khác. Hơn thế, nghiên cứu về DROWN còn là công trình đầu tiên xác định sự không hiệu quả của các biện pháp phòng chống điểm yếu Bleichenbacher sau gần hai thập kỷ, từ khi chúng được bổ sung vào SSLv2.

Để ngăn ngừa, các máy chủ dựa vào thư viện OpenSSL cần nâng cấp lên phiên bản 1.0.2g hay 1.0.1s càng sớm càng tốt. IIS phiên bản 7.0 hay lớn hơn và các phiên bản từ 3.13 trở đi của thư viện NSS đều đã vô hiệu SSLv2 theo mặc định, vì vậy cần nâng cấp ngay. Các nhà nghiên cứu khuyến cáo rằng, ngay cả những người đang sử dụng các phiên bản được cho là an toàn cũng nên kiểm tra xem các dịch vụ dựa trên TLS của họ có thể bị tấn công hay không thông qua trang web https://test.drownattack.com/. Với những máy chủ không thể cập nhật ngay, có thể tạm thời ứng phó bằng cách dùng tường lửa để lọc các kết nối SSLv2, dù điều này có thể ngăn các dịch vụ kiểm tra phát hiện ra máy chủ có lỗ hổng. Những người quản trị muốn biết hệ thống của tổ chức mình đã bị tấn công DROWN hay không, có thể phát hiện bằng cách kiểm tra log và tìm số lớn các kết nối SSLv2.

TH
Ý kiến bình luận của bạn đã được gửi!
Bật chế độ gõ tiếng Việt
Bình luận của bạn Để thuận tiện cho việc đăng tải, bạn vui lòng nhập ý kiến phản hồi bằng tiếng Việt có dấu.

Thông tin website

Chuyên trang Bản tin khoa học công nghệ.
Thực hiện : Phòng Khoa học - Công nghệ, Trung Tâm CNTT, BộVăn hoá,Thể thao & Du lịch.
Người chịu trách nhiệm chính: Nguyễn Thanh Liêm - Giám đốc.

Địa chỉ: Ngõ 2 số 20, Vân Hồ, Hoa Lư, Hà Nội;
Tel: 0243 9745845
Email: khoahoccongnghe@cinet.gov.vn
Ghi rõ nguồn khi phát lại thông tin từ website này.

Liên hệ Tòa soạn