Video: Heartbleed Exploit - Discovery & Exploitation (Tháng mười một 2024)
Trong tuần kể từ khi các nhà nghiên cứu tiết lộ lỗ hổng Heartbleed trong OpenSSL, đã có rất nhiều cuộc thảo luận về loại kẻ tấn công thông tin nào thực sự có thể có được bằng cách khai thác lỗi. Hóa ra khá nhiều.
Như Security Watch đã lưu ý trước đó, Heartbleed là tên của một lỗi trong OpenSSL, nó làm rò rỉ thông tin trong bộ nhớ của máy tính. (Kiểm tra truyện tranh tuyệt vời của XKCD giải thích lỗ hổng) Các nhà nghiên cứu nhận thấy rằng thông tin đăng nhập, thông tin người dùng và thông tin khác có thể bị chặn bằng cách khai thác lỗ hổng. Các chuyên gia nghĩ rằng cũng có thể có được khóa riêng của máy chủ theo cách này.
Chứng chỉ và khóa riêng được sử dụng để xác minh rằng máy tính (hoặc thiết bị di động) đang kết nối với một Trang web hợp pháp và tất cả thông tin được truyền đi đều được mã hóa. Các trình duyệt chỉ ra kết nối an toàn với ổ khóa và hiển thị cảnh báo nếu chứng chỉ không hợp lệ. Nếu những kẻ tấn công có thể đánh cắp các khóa riêng tư, chúng có thể thiết lập một trang web giả mạo trông có vẻ hợp pháp và chặn dữ liệu người dùng nhạy cảm. Họ cũng có thể giải mã lưu lượng mạng được mã hóa.
Kiểm tra đồng hồ an ninh
Tò mò muốn xem những gì chúng tôi có thể làm với một máy chủ chạy phiên bản OpenSSL dễ bị tấn công, chúng tôi đã khởi động một phiên bản của Kali Linux và tải mô-đun Heartbleed cho Metasploit, một khung kiểm tra thâm nhập từ Rapid7. Lỗi này đủ dễ để khai thác và chúng tôi đã nhận được chuỗi từ bộ nhớ của máy chủ dễ bị tấn công. Chúng tôi đã tự động hóa quy trình để tiếp tục đánh máy chủ với các yêu cầu lặp lại trong khi thực hiện các tác vụ khác nhau trên máy chủ. Sau cả ngày chạy thử nghiệm, chúng tôi đã thu thập được rất nhiều dữ liệu.
Nhận tên người dùng, mật khẩu và ID phiên hóa ra khá dễ dàng, mặc dù chúng bị chôn vùi trong những gì trông giống như toàn bộ gobblygook. Trong một kịch bản đời thực, nếu tôi là một kẻ tấn công, thông tin đăng nhập có thể bị đánh cắp rất nhanh và lén lút, mà không cần nhiều chuyên môn kỹ thuật. Tuy nhiên, có một yếu tố may mắn liên quan, vì yêu cầu phải đến máy chủ vào đúng thời điểm khi ai đó đang đăng nhập hoặc tương tác với trang web để lấy thông tin "trong bộ nhớ". Máy chủ cũng phải đánh vào phần bên phải của bộ nhớ và cho đến nay, chúng tôi vẫn chưa thấy cách nào để kiểm soát điều đó.
Không có khóa riêng xuất hiện trong dữ liệu thu thập của chúng tôi. Tốt rồi? Điều đó có nghĩa là bất chấp những lo ngại về tình huống xấu nhất của chúng tôi, không dễ để lấy chìa khóa hoặc chứng chỉ từ các máy chủ dễ bị tấn công. Một điều ít khiến chúng ta phải lo lắng trong thế giới hậu Heartbleed này.
Ngay cả những người thông minh tại Cloudflare, một công ty cung cấp dịch vụ bảo mật cho trang web, dường như cũng đồng ý rằng đó không phải là một quy trình dễ dàng. Không phải là không thể, nhưng khó để làm. Nick Sullivan, một kỹ sư hệ thống tại Cloudflare, ban đầu viết trên " blog của công ty tuần trước. "Nếu có thể, nó ở mức tối thiểu rất khó, " Sullivan nói thêm.
Công ty đã thiết lập một máy chủ dễ bị tấn công vào tuần trước và yêu cầu cộng đồng bảo mật thử lấy khóa mã hóa riêng của máy chủ bằng cách sử dụng lỗi Heartbleed.
Nhưng trên thực tế…
Bây giờ đến sức mạnh của crowdsource. Chín giờ sau khi Cloudflare thiết lập thử thách của mình, một nhà nghiên cứu bảo mật đã lấy được khóa riêng sau khi gửi 2, 5 triệu yêu cầu đến máy chủ. Một nhà nghiên cứu thứ hai đã xoay sở để làm điều tương tự với số lượng yêu cầu ít hơn khoảng 100.000, Sullivan nói. Hai nhà nghiên cứu tiếp theo phù hợp vào cuối tuần.
"Kết quả này nhắc nhở chúng ta đừng đánh giá thấp sức mạnh của đám đông và nhấn mạnh sự nguy hiểm do lỗ hổng này gây ra", Sullivan nói.
Chúng tôi đã trở lại thiết lập thử nghiệm của chúng tôi. Lần này, chúng tôi đã sử dụng chương trình heartleech từ Robert Graham, CEO của Errata Security. Phải mất hàng giờ, tiêu tốn rất nhiều băng thông và tạo ra hàng tấn dữ liệu, nhưng cuối cùng chúng tôi đã có được khóa. Bây giờ chúng tôi cần kiểm tra các máy chủ khác để đảm bảo đây không phải là một sự cố. Security Watch cũng sẽ khám phá cách thực tế rằng OpenSSL được cài đặt trên các bộ định tuyến và các thiết bị mạng khác khiến các thiết bị này gặp rủi ro. Chúng tôi sẽ cập nhật khi chúng tôi có nhiều kết quả hơn.
Thay vì không chắc chắn, "bất kỳ ai cũng có thể dễ dàng có được khóa riêng", Graham kết luận. Đó là một suy nghĩ đáng sợ.