Lỗi Heartbleed cho phép mọi người trên Internet đọc bộ nhớ của các hệ thống được bảo vệ bởi các phiên bản dễ bị tổn thương của phần mềm OpenSSL. Điều này thỏa hiệp các khóa bí mật được sử dụng để xác định nhà cung cấp dịch vụ và mã hóa lưu lượng, tên và mật khẩu của người dùng và nội dung thực tế. Điều này cho phép kẻ tấn công nghe lén thông tin liên lạc, đánh cắp dữ liệu trực tiếp từ các dịch vụ và người dùng và mạo danh dịch vụ và người dùng.
Những gì rò rỉ trong thực tế?
Chúng tôi đã thử nghiệm một số dịch vụ của chúng tôi từ quan điểm của kẻ tấn công. Chúng tôi tấn công mình từ bên ngoài, không để lại dấu vết. Không sử dụng bất kỳ thông tin hoặc thông tin đặc quyền nào, chúng tôi có thể tự đánh cắp các khóa bí mật được sử dụng cho chứng chỉ X.509, tên người dùng và mật khẩu, tin nhắn tức thời, email và tài liệu quan trọng và liên lạc kinh doanh.
Làm thế nào để ngăn chặn rò rỉ?
Miễn là phiên bản dễ bị tổn thương của OpenSSL được sử dụng thì nó cũng sẽ bị ảnh hưởng. Fixed OpenSSL đã được phát hành và bây giờ nó sẽ được triển khai. Nhà cung cấp và phân phối hệ điều hành, nhà cung cấp thiết bị, nhà cung cấp phần mềm độc lập phải chấp nhận sửa lỗi và thông báo cho người dùng của họ. Các nhà cung cấp dịch vụ và người dùng phải cài đặt bản sửa lỗi khi có sẵn cho các hệ điều hành, thiết bị nối mạng và phần mềm họ sử dụng.
Những phiên bản nào của OpenSSL bị ảnh hưởng?
Tình trạng của các phiên bản khác nhau:
- OpenSSL 1.0.1 đến 1.0.1f (đã bao gồm) dễ bị tấn công
- OpenSSL 1.0.1g KHÔNG dễ bị tấn công
- Nhánh OpenSSL 1.0.0 không dễ bị tấn công
- Nhánh OpenSSL 0.9.8 KHÔNG dễ bị tổn thương
Bug đã được giới thiệu cho OpenSSL vào tháng 12 năm 2011 và đã được phát hành kể từ khi OpenSSL phát hành 1.0.1 vào ngày 14 tháng 3 năm 2012. OpenSSL 1.0.1g phát hành vào ngày 7 tháng 4 năm 2014 đã sửa lỗi.
Làm thế nào về hệ điều hành?
Một số bản phân phối hệ điều hành đã được phân phối với phiên bản OpenSSL có khả năng bị tổn thương:
- Debian Wheezy (ổn định), OpenSSL 1.0.1e-2 + deb7u4
- Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubfox5.11
- CentOS 6.5, OpenSSL 1.0.1e-15
- Fedora 18, OpenSSL 1.0.1e-4
- OpenBSD 5.3 (OpenSSL 1.0.1c ngày 10 tháng 5 năm 2012) và 5,4 (OpenSSL 1.0.1c ngày 10 tháng 5 năm 2012)
- FreeBSD 10.0 – OpenSSL 1.0.1e ngày 11 tháng 2 năm 2013
- NetBSD 5.0.2 (OpenSSL 1.0.1e)
- OpenSUSE 12.2 (OpenSSL 1.0.1c)
Phân phối hệ điều hành với các phiên bản không dễ bị tấn công:
- Debian Squeeze (cũ ổn định), OpenSSL 0.9.8o-4squeeze14
- Máy chủ doanh nghiệp Linux
- FreeBSD 8.4 – OpenSSL 0.9.8y ngày 5 tháng 2 năm 2013
- FreeBSD 9.2 – OpenSSL 0.9.8y ngày 5 tháng 2 năm 2013
- FreeBSD 10.0p1 – OpenSSL 1.0.1g (Vào lúc 8 tháng 4 lúc 18 giờ 27 phút: 2014 UTC)
- Cổng FreeBSD – OpenSSL 1.0.1g (Vào lúc 7 tháng 4, 21:46:40 2014 UTC)
OpenSSL có thể được sửa như thế nào?
Mặc dù bản sửa lỗi mã thực tế có thể có vẻ tầm thường, nhóm OpenSSL là chuyên gia sửa lỗi đúng cách nên sử dụng phiên bản sửa lỗi 1.0.1g hoặc mới hơn. Nếu điều này là không thể, các nhà phát triển phần mềm có thể biên dịch lại OpenSSL với cái bắt tay được loại bỏ khỏi mã bằng tùy chọn biên dịch thời gian -DOPENSSL_NO_HEARTBEATS
.