Các cuộc tấn công tiềm ẩn vào HTTPS và cách bảo vệ chống lại chúng

Một nửa số trang web sử dụng HTTPS, và số lượng của chúng ngày càng tăng lên. Giao thức này làm giảm nguy cơ bị chặn lưu lượng nhưng không loại bỏ được các nỗ lực tấn công như vậy. Chúng tôi sẽ nói về một số trong số chúng - POODLE, BEAST, DROWN và những thứ khác - và các phương pháp bảo vệ tài liệu của chúng tôi.

Các cuộc tấn công tiềm ẩn vào HTTPS và cách bảo vệ chống lại chúng
/flickr/ Sven Graeme / CC BY-SA

MÓN

Lần đầu tiên về cuộc tấn công MÓN được biết đến vào năm 2014. Một lỗ hổng trong giao thức SSL 3.0 được chuyên gia bảo mật thông tin Bodo Möller và các đồng nghiệp đến từ Google phát hiện.

Bản chất của nó như sau: hacker buộc máy khách kết nối qua SSL 3.0, mô phỏng việc ngắt kết nối. Sau đó nó tìm kiếm trong mã hóa CBC-Chế độ giao thông tin nhắn thẻ đặc biệt. Bằng cách sử dụng một loạt yêu cầu giả mạo, kẻ tấn công có thể xây dựng lại nội dung dữ liệu quan tâm, chẳng hạn như cookie.

SSL 3.0 là một giao thức lỗi thời. Nhưng câu hỏi về sự an toàn của anh ta vẫn có liên quan. Khách hàng sử dụng nó để tránh các vấn đề tương thích với máy chủ. Theo một số dữ liệu, gần 7% trong số 100 nghìn trang web phổ biến nhất vẫn hỗ trợ SSL 3.0... Cũng thế hiện hữu sửa đổi đối với POODLE nhắm mục tiêu TLS 1.0 và TLS 1.1 hiện đại hơn. Năm nay xuất hiện các cuộc tấn công Zombie POODLE và GOLDENDOODLE mới vượt qua lớp bảo vệ TLS 1.2 (chúng vẫn liên quan đến mã hóa CBC).

Cách tự vệ. Trong trường hợp POODLE gốc, bạn cần tắt hỗ trợ SSL 3.0. Tuy nhiên, trong trường hợp này có nguy cơ xảy ra vấn đề tương thích. Một giải pháp thay thế có thể là cơ chế TLS_FALLBACK_SCSV - nó đảm bảo rằng việc trao đổi dữ liệu qua SSL 3.0 sẽ chỉ được thực hiện với các hệ thống cũ hơn. Những kẻ tấn công sẽ không thể bắt đầu hạ cấp giao thức được nữa. Một cách để bảo vệ khỏi Zombie POODLE và GOLDENDOODLE là tắt hỗ trợ CBC trong các ứng dụng dựa trên TLS 1.2. Giải pháp chính sẽ là chuyển đổi sang TLS 1.3 - phiên bản mới của giao thức không sử dụng mã hóa CBC. Thay vào đó, AES và ChaCha20 bền hơn được sử dụng.

BEAST

Một trong những cuộc tấn công đầu tiên vào SSL và TLS 1.0, được phát hiện vào năm 2011. Giống như POODLE, BEAST sử dụng Đặc điểm của mã hóa CBC Những kẻ tấn công cài đặt một tác nhân JavaScript hoặc ứng dụng Java trên máy khách, tác nhân này sẽ thay thế các tin nhắn khi truyền dữ liệu qua TLS hoặc SSL. Vì những kẻ tấn công biết nội dung của các gói “giả”, chúng có thể sử dụng chúng để giải mã vectơ khởi tạo và đọc các tin nhắn khác đến máy chủ, chẳng hạn như cookie xác thực.

Cho đến hôm nay, lỗ hổng BEAST vẫn còn một số công cụ mạng dễ bị ảnh hưởng: Máy chủ proxy và ứng dụng để bảo vệ các cổng Internet cục bộ.

Cách tự vệ. Kẻ tấn công cần gửi yêu cầu thường xuyên để giải mã dữ liệu. Trong VMware Đề nghị giảm thời lượng SSLSessionCacheTimeout từ năm phút (khuyến nghị mặc định) xuống còn 30 giây. Cách tiếp cận này sẽ khiến những kẻ tấn công gặp khó khăn hơn trong việc thực hiện kế hoạch của chúng, mặc dù nó sẽ có một số tác động tiêu cực đến hiệu suất. Ngoài ra, bạn cần hiểu rằng lỗ hổng BEAST có thể sớm trở thành quá khứ - kể từ năm 2020, các trình duyệt lớn nhất dừng lại hỗ trợ cho TLS 1.0 và 1.1. Trong mọi trường hợp, chưa đến 1,5% tổng số người dùng trình duyệt làm việc với các giao thức này.

CHẾT CHÌM

Đây là một cuộc tấn công đa giao thức khai thác các lỗi trong quá trình triển khai SSLv2 với khóa RSA 40 bit. Kẻ tấn công lắng nghe hàng trăm kết nối TLS của mục tiêu và gửi các gói đặc biệt đến máy chủ SSLv2 bằng cùng một khóa riêng. sử dụng Cuộc tấn công Bleichenbacher, hacker có thể giải mã một trong khoảng một nghìn phiên TLS của khách hàng.

DROWN lần đầu tiên được biết đến vào năm 2016 - sau đó hóa ra là một phần ba máy chủ bị ảnh hưởng trên thế giới. Ngày nay nó vẫn không mất đi sự liên quan của nó. Trong số 150 nghìn trang web phổ biến nhất, vẫn còn 2% ủng hộ SSLv2 và các cơ chế mã hóa dễ bị tấn công.

Cách tự vệ. Cần phải cài đặt các bản vá do các nhà phát triển thư viện mật mã đề xuất để vô hiệu hóa hỗ trợ SSLv2. Ví dụ: hai bản vá như vậy đã được trình bày cho OpenSSL (năm 2016 đây là những cập nhật 1.0.1s và 1.0.2g). Ngoài ra, các bản cập nhật và hướng dẫn vô hiệu hóa giao thức dễ bị tấn công đã được xuất bản trong Red Hat, Apache, Debian.

Người đứng đầu bộ phận phát triển lưu ý: “Một tài nguyên có thể dễ bị DROWN nếu khóa của nó được sử dụng bởi máy chủ bên thứ ba có SSLv2, chẳng hạn như máy chủ thư”. Nhà cung cấp IaaS 1cloud.ru Sergei Belkin. — Tình huống này xảy ra nếu một số máy chủ sử dụng chứng chỉ SSL chung. Trong trường hợp này, bạn cần tắt hỗ trợ SSLv2 trên tất cả các máy."

Bạn có thể kiểm tra xem hệ thống của mình có cần được cập nhật hay không bằng cách sử dụng một công cụ đặc biệt tiện ích — nó được phát triển bởi các chuyên gia bảo mật thông tin đã phát hiện ra DROWN. Bạn có thể đọc thêm về các khuyến nghị liên quan đến việc bảo vệ chống lại kiểu tấn công này trong đăng bài trên trang web OpenSSL.

Đau lòng

Một trong những lỗ hổng lớn nhất trong phần mềm là Đau lòng. Nó được phát hiện vào năm 2014 trong thư viện OpenSSL. Tại thời điểm thông báo lỗi, số lượng trang web dễ bị tấn công ước tính khoảng nửa triệu - đây là khoảng 17% tài nguyên được bảo vệ trên mạng.

Cuộc tấn công được thực hiện thông qua mô-đun mở rộng Heartbeat TLS nhỏ. Giao thức TLS yêu cầu dữ liệu được truyền liên tục. Trong trường hợp thời gian ngừng hoạt động kéo dài, xảy ra sự cố và kết nối phải được thiết lập lại. Để giải quyết vấn đề, máy chủ và máy khách tạo ra tiếng ồn giả tạo trên kênh (RFC 6520, trang 5), truyền một gói có độ dài ngẫu nhiên. Nếu nó lớn hơn toàn bộ gói thì phiên bản dễ bị tấn công của OpenSSL sẽ đọc bộ nhớ vượt quá bộ đệm được phân bổ. Khu vực này có thể chứa bất kỳ dữ liệu nào, bao gồm khóa mã hóa riêng tư và thông tin về các kết nối khác.

Lỗ hổng này hiện diện trong tất cả các phiên bản thư viện từ 1.0.1 đến 1.0.1f, cũng như trong một số hệ điều hành - Ubuntu lên tới 12.04.4, CentOS cũ hơn 6.5, OpenBSD 5.3 và các phiên bản khác. Có một danh sách đầy đủ trên một trang web dành riêng cho Heartbleed. Mặc dù các bản vá chống lại lỗ hổng này đã được phát hành gần như ngay lập tức sau khi được phát hiện nhưng vấn đề này vẫn còn tồn tại cho đến ngày nay. Trở lại năm 2017 gần 200 nghìn trang web đã hoạt động, dễ bị chảy máu tim.

Cách tự vệ. Nó là cần thiết cập nhật OpenSSL lên tới phiên bản 1.0.1g hoặc cao hơn. Bạn cũng có thể tắt yêu cầu Heartbeat theo cách thủ công bằng tùy chọn DOPENSSL_NO_HEARTBEATS. Sau khi cập nhật, các chuyên gia bảo mật thông tin Đề nghị cấp lại chứng chỉ SSL. Cần phải thay thế trong trường hợp dữ liệu trên khóa mã hóa rơi vào tay tin tặc.

Thay thế chứng chỉ

Một nút được quản lý có chứng chỉ SSL hợp pháp được cài đặt giữa người dùng và máy chủ, chủ động chặn lưu lượng truy cập. Nút này mạo danh một máy chủ hợp pháp bằng cách xuất trình chứng chỉ hợp lệ và có thể thực hiện cuộc tấn công MITM.

Theo nghiên cứu các nhóm từ Mozilla, Google và một số trường đại học, khoảng 11% kết nối an toàn trên mạng bị nghe lén. Đây là kết quả của việc cài đặt chứng chỉ gốc đáng ngờ trên máy tính của người dùng.

Cách tự vệ. Sử dụng dịch vụ của đáng tin cậy Nhà cung cấp SSL. Bạn có thể kiểm tra “chất lượng” của chứng chỉ bằng dịch vụ Chứng nhận minh bạch (CT). Các nhà cung cấp đám mây cũng có thể giúp phát hiện việc nghe lén; một số công ty lớn đã cung cấp các công cụ chuyên dụng để giám sát các kết nối TLS.

Một phương pháp bảo vệ khác sẽ là một phương pháp mới Стандарт ACME, tự động nhận chứng chỉ SSL. Đồng thời, nó sẽ bổ sung thêm các cơ chế để xác minh chủ sở hữu trang web. Thêm về nó chúng tôi đã viết ở một trong những tài liệu trước đây của chúng tôi.

Các cuộc tấn công tiềm ẩn vào HTTPS và cách bảo vệ chống lại chúng
/flickr/ Yury Samoilov / CC BỞI

Triển vọng cho HTTPS

Bất chấp một số lỗ hổng, các gã khổng lồ CNTT và các chuyên gia bảo mật thông tin vẫn tự tin vào tương lai của giao thức. Để triển khai tích cực HTTPS những người ủng hộ Người tạo ra WWW Tim Berners-Lee. Theo ông, theo thời gian TLS sẽ trở nên an toàn hơn, điều này sẽ cải thiện đáng kể tính bảo mật của các kết nối. Berners-Lee thậm chí còn gợi ý rằng sẽ xuất hiện trong tương lai chứng chỉ ứng dụng khách để xác thực danh tính. Chúng sẽ giúp cải thiện khả năng bảo vệ máy chủ khỏi những kẻ tấn công.

Nó cũng được lên kế hoạch phát triển công nghệ SSL/TLS bằng cách sử dụng máy học - các thuật toán thông minh sẽ chịu trách nhiệm lọc lưu lượng truy cập độc hại. Với kết nối HTTPS, quản trị viên không có cách nào để tìm ra nội dung của tin nhắn được mã hóa, bao gồm cả việc phát hiện các yêu cầu từ phần mềm độc hại. Ngày nay, mạng lưới thần kinh có khả năng lọc các gói nguy hiểm tiềm tàng với độ chính xác 90%. (slide thuyết trình 23).

Những phát hiện

Hầu hết các cuộc tấn công vào HTTPS không liên quan đến các vấn đề với chính giao thức mà liên quan đến việc hỗ trợ các cơ chế mã hóa lỗi thời. Ngành CNTT đang bắt đầu dần từ bỏ các giao thức thế hệ trước và cung cấp các công cụ mới để tìm kiếm lỗ hổng. Trong tương lai, những công cụ này sẽ ngày càng trở nên thông minh hơn.

Các liên kết bổ sung về chủ đề:

Nguồn: www.habr.com

Thêm một lời nhận xét