TLS có thực sự an toàn như bạn nghĩ hay không?

TÓM TẮT: Các tổ chức tiêu chuẩn thương mại và chính phủ lớn hiện đang yêu cầu sử dụng các phiên bản mới hơn, an toàn hơn về Bảo mật lớp truyền tải (TLS) để bảo vệ thông tin của bạn. Chúng tôi sẽ giải thích tại sao đây là một động thái tốt và điều đó có ý nghĩa gì đối với bạn.

Đầu năm nay, Hội đồng Bảo mật Tiêu chuẩn Công nghiệp Thẻ thanh toán (PCI) đã phản đối phiên bản TLS 1.0 trong Tiêu chuẩn Bảo mật Dữ liệu (DSS)  của họ. Do đó, bắt đầu từ mùa hè năm 2018, tất cả các trang web thương mại điện tử tuân thủ PCI-DSS không còn sử dụng phiên bản TLS cũ, không an toàn này nữa. Quyết định này tương tự như các động thái khác để tăng cường TLS – ví dụ, Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) đã không chấp nhận (kể từ năm 2014) TLS 1.0 theo hướng dẫn của chính phủ [2], và điều này đã thúc đẩy một số tổ chức hỗ trợ phiên bản trước 1.2 từ hệ thống của họ.

TLS là một chủ đề kỹ thuật cao. Bài viết này giải thích lý do đằng sau những quyết định này và cho thấy cách sử dụng phiên bản TLS mới hơn là bước để một Internet an toàn hơn và tốt hơn.

`

Bảo mật lớp truyền tải (TLS)

 

TLS là một giao thức mật mã bảo vệ dữ liệu khỏi bị đọc hoặc thay đổi khi chuyển tiếp, qua mạng máy tính. TLS là người kế thừa và xây dựng trên nền tảng của giao thức Lớp cổng bảo mật (SSL) trước đó. Từ năm 1999, khi nó được xuất bản, TLS đã được chấp nhận bởi một loạt các ứng dụng đa dạng và đáng ngạc nhiên và có thể được sử dụng trong hầu hết mọi ứng dụng tìm cách bảo vệ giao tiếp giữa hai đầu. (Trong ngôn ngữ kĩ thuật, chúng thường được gọi là máy khách và máy chủ .)

Việc sử dụng TLS nổi tiếng nhất là bảo vệ các kết nối giữa các trình duyệt và các trang web HTTPS (như bài viết này bạn đang đọc trên các máy chủ của ssl.vn). Nó cũng được sử dụng bởi các thiết bị đầu cuối point-of-sale (POS) giao tiếp với các máy chủ back-end của họ (để bảo vệ thông tin thẻ tín dụng) và các ứng dụng nhắn tin tức thì, ứng dụng email, phần mềm IP thoại và nhiều hơn nữa .

Hiện tại, có sẵn bốn phiên bản TLS:

  • TLS 1.0 (phát hành năm 1999) là phiên bản đầu tiên và hiện không được chấp nhận.
  • TLS 1.1 (phát hành năm 2006) chưa bao giờ được ngành công nghiệp chấp nhận. Nó phần lớn bị bỏ qua ủng hộ người kế nhiệm của nó 1.2.
  • TLS 1.2 (phát hành năm 2008) là phiên bản TLS được sử dụng phổ biến nhất. Hầu như tất cả các dịch vụ đều hỗ trợ TLS 1.2 làm mặc định.
  • TLS 1.3 (được phát hành vào năm 2018) là phiên bản thử nghiệm của giao thức TLS cung cấp hiệu suất và bảo mật cao hơn các phiên bản cũ hơn. Mặc dù vẫn đang được nghiên cứu và chưa chính thức chuẩn hóa, cần lưu ý rằng ngành công nghiệp đang bắt đầu thực hiện hỗ trợ cho các phiên bản dự thảo của nó.

TLS hiện đại và đầu

Các lỗ hổng trong giao thức TLS 1.0 sớm nhất có liên quan đến cộng đồng bảo mật mạng trong vài năm qua, và các khai thác như POODLE, CRIME và BEAST đã có đủ tác động để thậm chí tiếp cận với các phương tiện truyền thông chính thống. Tuy nhiên, TLS không ngừng phát triển để đáp ứng các mối đe dọa mới; nỗ lực cải thiện phiên bản TLS đầu tiên do Nhóm công tác mạng của Cơ quan Kỹ thuật Internet (IETF) thực hiện đã dẫn đến tiêu chuẩn hiện hành tốt hơn và an toàn hơn, TLS 1.2.

TLS 1.2 sử dụng mật mã hiện đại và cung cấp hiệu suất và bảo mật tốt hơn so với người tiền nhiệm của nó. Đồng thời, nó không dễ bị tổn thương đối với bất kỳ lỗ hổng nào được đề cập ở trên, điều này làm cho nó trở thành lựa chọn lý tưởng cho bất kỳ ứng dụng nào trong các liên lạc an toàn. Hầu hết các công ty và tổ chức đã nâng cấp máy chủ của họ để hỗ trợ TLS 1.2.

Tuy nhiên, không phải tất cả phần mềm ứng dụng khách đều có thể được nâng cấp lên phiên bản TLS mới hơn. Ví dụ, một trang web tin tức phải được truy cập bởi cả hai trình duyệt hiện đại và cũ hơn, đơn giản chỉ vì vẫn có người đọc sử dụng chúng. Điều này bao gồm các thiết bị Android trước phiên bản 5.0, Internet Explorer của Microsoft trước 11, các chương trình Java trước phiên bản Java 1.7 và thậm chí một số thiết bị đầu cuối thanh toán từ xa hoặc thiết bị giám sát tốn kém để nâng cấp. Hơn nữa, khả năng tương thích với các cấu hình cũ hơn đòi hỏi rằng ngay cả phần mềm máy khách hiện đại cũng phải có khả năng giao tiếp với các máy chủ lỗi thời.

Theo SSL Pulse, một dịch vụ báo cáo thống kê trên 500 trang hỗ trợ TLS hàng đầu của Alexa, tính đến tháng 1 năm 2018, 90,6% máy chủ lưu trữ các trang web được giám sát hỗ trợ TLS 1.0, trong khi 85% hỗ trợ TLS 1.1. Hơn nữa, hầu như tất cả các trình duyệt (và nhiều khách hàng không phải trình duyệt) vẫn hỗ trợ các phiên bản TLS cũ hơn. Vì vậy, trong khi TLS 1.2 được ưu tiên, hầu hết các máy khách và máy chủ vẫn hỗ trợ TLS đầu tiên.

Cân nhắc bảo mật TLS

Vì phần lớn các trình duyệt và khách hàng hiện đại triển khai TLS 1.2, một người dùng phi kỹ thuật có thể nghĩ rằng họ nên an toàn (và rằng những hệ thống đó chưa được nâng cấp phải chấp nhận rủi ro kinh doanh). Thật không may, điều này không đúng – chỉ cần có sự hỗ trợ cho các phiên bản trước của TLS đặt ra một mối đe dọa bảo mật cho người dùng của các máy khách và máy khách hiện đại.

TLS cung cấp bảo mật mạng và mục tiêu chính của nó là ngăn chặn kẻ tấn công đọc hoặc sửa đổi dữ liệu được trao đổi giữa các nút của mạng. Do đó, nó giảm thiểu các cuộc tấn công mạng, chẳng hạn như tấn công Man-in-the-Middle (MITM) . Trong tấn công MITM một mạng máy tính có thể được thao tác để tất cả các nút của một mạng gửi lưu lượng truy cập của họ đến kẻ tấn công thay vì bộ định tuyến hoặc các nút khác dự kiến. Kẻ tấn công sau đó có thể đọc hoặc sửa đổi nội dung bị chặn trước khi chuyển tiếp nó đến mục tiêu dự định của nó. TLS bảo vệ chống lại các cuộc tấn công MITM bằng cách mã hóa dữ liệu bằng một khóa bí mật chỉ được biết đến với máy khách và máy chủ ban đầu. Kẻ tấn công MITM không có kiến ​​thức về khóa bí mật này không thể đọc hoặc giả mạo dữ liệu được mã hóa.

Tuy nhiên, các phiên bản TLS giữa máy khách và máy chủ phải khớp nhau và vì chúng thường hỗ trợ nhiều phiên bản TLS, chúng thương lượng phiên bản nào sẽ sử dụng thông qua giao thức được gọi là handshake. Trong cái bắt tay này, client gửi một thông báo ban đầu, cho biết phiên bản TLS cao nhất mà nó hỗ trợ. Sau đó, máy chủ sẽ phản hồi với phiên bản TLS đã chọn hoặc lỗi nếu không tìm thấy phiên bản phổ biến nào. Hãy nhớ rằng các thông điệp bắt tay được trao đổi không được mã hóa, vì thông tin này được sử dụng để định cấu hình kênh dữ liệu bảo mật.

Hạ cấp các cuộc tấn công

Người đọc kĩ tính có thể nghi ngờ rằng, vì cái bắt tay không được mã hóa, kẻ tấn công thực hiện tấn công MITM có thể thấy và sửa đổi phiên bản TLS được yêu cầu thành phiên bản trước đó, dễ bị tấn công như TLS 1.0. Sau đó, họ có thể tiến hành sử dụng bất kỳ lỗ hổng TLS 1.0 đã nói ở trên (như POODLE hoặc CRIME) để thực hiện kết nối.

Trong an ninh phần mềm, các cuộc tấn công buộc các nạn nhân phải sử dụng các phiên bản phần mềm cũ hơn, dễ bị tấn công hơn được gọi là các cuộc tấn công hạ cấp. Những kẻ tấn công khai thác bất kỳ lỗ hổng giao thức nào về cơ bản có cùng mục tiêu: thỏa hiệp an ninh mạng và truy cập vào dữ liệu được trao đổi. Các khía cạnh kỹ thuật của các lỗ hổng này không liên quan đến việc sử dụng TLS 1.0 (và cung cấp chi tiết về các cuộc tấn công đó nằm ngoài phạm vi của bài viết này), nhưng tác giả muốn nhấn mạnh rằng có các công cụ có sẵn công khai cho phép ngay cả những kẻ tấn công phi kỹ thuật thực hiện các cuộc tấn công hạ cấp. Hãy tưởng tượng bạn sử dụng điện thoại di động để đọc thư trước khi bay tại sân bay hoặc khi kiểm tra số dư của bạn trong một ứng dụng ngân hàng trực tuyến tại một quán cà phê. Kẻ tấn công đã chuẩn bị với những công cụ này có thể chặn hoặc thậm chí làm xáo trộn thông tin của bạn, nếu trình duyệt trên điện thoại hoặc ứng dụng ngân hàng của bạn cho phép kết nối bằng các phiên bản TLS cũ hơn.

Trong thực tế, miễn là các máy chủ và máy khách trong kết nối mạng của bạn hỗ trợ các phiên bản TLS cũ hơn thì chúng (và bạn) đều dễ bị tấn công.

Tôi có bị ảnh hưởng không?

Để giảm thiểu rủi ro này, PCI SSC và NIST đã không dùng TLS 1.0 trong các hệ thống tương thích với các tiêu chuẩLS 1.0 và chỉ hỗ trợ 80.6% TLS 1.1. Điều đó có nghĩa là những thay đổi được giới thiệu trong các tiêu chuẩn này đã có hiệu lực và khoảng 16.000 trang web lớn đã bỏ tất cả hỗ trợ cho các phiên bản TLS ban đầu.

Cuộc tấn công hạ cấp áp dụng cho cả khách hàng và máy chủ. Các độc giả có liên quan có thể sử dụng ssltest , một bộ công cụ có sẵn có thể kiểm tra phần mềm của họ cho các lỗ hổng này, với một công cụ trình duyệt và công cụ Web Server, có thể được sử dụng miễn phí.

Nếu máy chủ của bạn vẫn hỗ trợ các phiên bản TLS dễ bị tấn công, vui lòng xem hướng dẫn sắp tới của SSL.vn để định cấu hình máy chủ web để tuân thủ các tiêu chuẩn bảo mật nhất.

Phần kết luận

TLS cung cấp bảo mật và quyền riêng tư cho người dùng Internet. Trong những năm qua, các nhà nghiên cứu đã phát hiện ra các lỗ hổng giao thức quan trọng, điều này đã thúc đẩy hầu hết các công ty nâng cấp hệ thống của họ để sử dụng các phiên bản TLS hiện đại hơn. Mặc dù các mối quan tâm bảo mật đã được chứng minh, tuy nhiên, hỗ trợ cho các khách hàng cũ vẫn là một yêu cầu kinh doanh. Hy vọng rằng, PCI SSC và NIST, cùng với các tổ chức khác đã chọn không sử dụng TLS cũ, sẽ truyền cảm hứng cho những người khác tham gia cùng họ và SSL.vn trong việc quảng bá một mạng internet an toàn hơn, tốt hơn và an toàn hơn.

Leave a Comment