Ảnh minh họa: DefCon 07 |
Vấn đề nằm trong cách thức mà nhiều trình duyệt sử dụng để triển khai SSL (Secure Sockets Layer) và lỗi cũng nằm trong hệ thống khóa công cộng X.509 thường được dùng để quản lý chứng thực số được sử dụng bởi SSL nhằm quyết định xem website đó có đáng tin cậy hay không.
Moxie Marlinspike, chuyên gia nghiên cứu bảo mật, đã trình diễn cách thức chặn luồng lưu lượng SSL bằng chứng thực kết thúc rỗng (null-termination certificate - theo cách gọi của Marlinspike). Để thực hiện công việc tấn công, Marlinspike buộc phải cài đặt phần mềm "SSL Strip" của mình lên mạng nội bộ trước. Sau khi cài đặt, nó chặn các lưu lượng kết nối SSL và bắt đầu thực hiện "chứng thực kết thúc rỗng" để ngắt liên lạc giữa máy chủ và máy trạm.
Giải mã "SSL Strip" - Kiểu tấn công người-đứng-giữa
Việc khai thác giao diện giữa các session http và https sử dụng những kỹ thuật đã có từ vài năm nay. SSL Strip thực hiện tấn công một lưu lượng http (không bảo mật) thông thường, thay thế những liên kết đến các trang https bảo mật bằng http. Người dùng sẽ đăng nhập tài khoản và thông tin thẻ tín dụng trên một trang không bảo mật và tin tặc sử dụng SSL Strip có thể thu thập thông tin chi tiết này dễ dàng.
Kết nối bảo mật https (SSL) sẽ giúp đảm bảo an toàn thông tin cho người dùng khi giao dịch trực tuyến |
Điểm nguy hại của kiểu tấn công người-đứng-giữa (man-in--the-middle attack) này là người dùng vẫn tin tưởng rằng mình đang sử dụng liên kết được bảo mật (https). Khi một người dùng cẩn thận truy cập vào 1 trang web với kết nối mã hóa bảo mật (biểu tượng ổ khóa trên thanh địa chỉ và kết nối https thay vì http) ví dụ như đăng nhập vào tài khoản Gmail, bạn sẽ được chuyển đến địa chỉ đăng nhập bảo mật https của google.com và kể từ lúc đó, hầu hết người dùng đều không để ý đến kết nối https nữa vì đinh ninh rằng mình vẫn tiếp tục kết nối bảo mật với dữ liệu được mã hóa.
Thông tin xung quanh lỗi trong phần mềm mã hóa SSL và SSL Strip của Moxie Marlinspike có thể tham khảo thêm tại hội thảo Black Hat USA 2009 (ngày 25 đến 29-7-2009) và hội thảo DEFCON 17 (đang diễn ra). |
SSL Strip đánh vào tâm lý chủ quan đó của đại đa số người dùng bằng cách thực hiện vài thao tác giả mạo. Một ví dụ nhỏ về bẫy đơn giản là thay thế biểu tượng Favicon bằng một biểu tượng ổ khóa tương tự với biểu tượng ổ khóa của kết nối https. Mặc dù nó nằm sai vị trí và kết nối vẫn thuộc dạng thông thường http nhưng đa số người dùng sẽ không để ý và mắc bẫy.
Marlinspike cho biết đã "lấy tạm" 117 tài khoản email, 16 thẻ tín dụng, 7 tài khoản Paypal... để làm minh chứng cho khả năng của "SSL Strip".
Tạo chứng thực giả
Marlinspike còn triển khai cách thức tin tặc có thể sử dụng lỗi trong IDN (International Domain Name) để lấy một chứng thực SSL để bẫy ngược lại bộ chỉ điểm của SSL thông thường và hiển thị tên miền với https.
Kiểu tấn công này không phải là một cuộc tấn công vào SSL thực sự mà chỉ "đánh vòng" vào sườn xung quanh SSL. Không có mã hóa nào bị phá vỡ.
Moxie Marlinspike tại hội thảo bảo mật Black Hat 2009 - Ảnh: Internet |
Marlinspike tạo ra chứng thực giả cho tên miền (domain) của mình có kèm theo ký tự rỗng (null) thường được hiển thị là \0. Một số chương trình sẽ bị mắc lừa bởi chứng thực giả, ngưng đọc nội dung khi chúng bắt gặp 1 ký tự rỗng. Do đó, một chứng thực giả cho www.paypal.com\0.tenmien.com lại được chương trình hiểu là thuộc về paypal.com.
Mức độ nguy hiểm cao
MD2 là thuật toán được sử dụng bởi hãng bảo mật VeriSign từ 13 năm trước, có mặt trên mọi trình duyệt web. VeriSign đã ngưng sử dụng MD2 vào ngày 17-5-2009 vì không còn bảo đảm an toàn trước những cuộc tấn công từ tin tặc. Xem video phỏng vấn Moxie Marlinspike tại đây. |
"Cách tấn công này chưa thể dò tìm ra và cho phép tin tặc đánh cắp mật khẩu, hijack vào các phiên giao dịch ngân hàng trực tuyến hay thậm chí là đưa ra một bản cập nhật trình duyệt FireFox có đính kèm mã độc", Marlinspike cho biết. "Việc tạo chứng thực giả cũng ảnh hưởng rộng rãi lên nhiều chương trình như Internet Explorer hay FireFox 3, phần mềm VPN (mạng riêng ảo), các chương trình email-client hay tin nhắn tức thời (IM)..".
Các chuyên gia đều cho biết tin tặc cao tay có thể dễ dàng vượt chứng thực bảo mật SSL vì công nghệ mã hóa MD2 vẫn còn được dùng trong nhiều chương trình web đã quá lỗi thời và không còn bảo mật. Hiện chỉ có trình duyệt FireFox 3.5 đã khắc phục lỗi "kết thúc rỗng".
Hầu hết đồng ý cho rằng hệ thống X.509 thường được dùng để quản lý chứng thực cho SSL đã quá cũ kỹ, cần được sửa chữa và nâng cấp.
THANH TRỰC
Thông tin tham khảo: Black Hat 2009, DefCon 17