Thông thường, tôi rất nghi ngờ về bảo mật phần mềm. Tôi nghĩ một trong những mục đích chính của ngành công nghiệp phần mềm có liên quan là khiến mọi người sợ hãi mua các sản phẩm bảo mật để họ cảm thấy được cho là an toàn. Ví dụ điển hình nhất về điều này là các quan điểm mâu thuẫn về tình trạng phần mềm độc hại của Windows trước khi Windows XP sụp đổ, với một báo cáo của Microsoft cho thấy các phiên bản mới hơn của hệ điều hành của họ an toàn hơn như thế nào và một báo cáo của các công ty chống phần mềm độc hại tuyên bố chính xác đối nghịch. Điều này khiến tôi chú ý đến chủ đề của vấn đề openSSL mới nhất.
Một số người dùng, tức là nhiều hơn một người, đã yêu cầu tôi giải thích chi tiết về điều này, dựa trên cách tiếp cận khá thú vị của tôi. Thật vậy, đây không phải là Windows, đây là Linux. Đây là trang Web. Đây là một cái gì đó hoàn toàn khác. Điều này nên được thú vị.
Tóm lại là đau tim
Về cơ bản, Heartbleed là một lỗi trong tiện ích mở rộng OpenSSL Heartbeat, cho phép người yêu cầu Heartbeat nhận tải trọng tùy ý từ bộ nhớ thư viện OpenSSL trên hệ thống đích. Nói cách khác, thay vì chỉ trả lại dữ liệu cần thiết cho giao tiếp giao thức TLS, máy chủ được thăm dò trả về nhiều hơn thế. Điều này thực sự có nghĩa là quyền truy cập vào các trang bộ nhớ không được gửi đến người yêu cầu.
Và thế là xong. Bây giờ, vấn đề là điều này ảnh hưởng đến một số lượng lớn các trang web và dịch vụ được lưu trữ trên Web, với cơ sở khách hàng lớn. Đây là lúc vấn đề Heartbleed không chỉ là một lỗi khác.
Tại sao điều này lại tệ
Đúng, bạn nghe đúng đấy. Tôi nghĩ rằng đây là một vấn đề nghiêm trọng. Nhưng không phải vì loại dữ liệu nào có thể được thu thập từ các trang web được nhắm mục tiêu. Đó là, và sẽ luôn luôn là toàn bộ mục đích đánh cắp thông tin bí mật. Đó là bên cạnh các điểm.
Điều quan trọng là cách giải quyết vấn đề. Lỗi Heartbeat do hai vấn đề chính gây ra. Một, xác thực đầu vào không tốt, điểm yếu của lập trình, khi các nhà phát triển mã quên khởi tạo biến của họ, kiểm tra ranh giới hoặc trả về giá trị. Lý do chính tại sao những người trong tủ không thể tin tưởng được. Than ôi, nó xảy ra ngay cả với điều tốt nhất. Có rất ít điều bạn có thể làm khi vượt ra ngoài phạm vi của Hello World!
Vấn đề thứ hai là các nhà phát triển openSSL đã sử dụng triển khai free và malloc của riêng họ, hai thường trình được sử dụng để lấy và giải phóng các khối bộ nhớ một cách linh hoạt. Điều này có nghĩa là họ nghĩ rằng họ biết rõ hơn những người khác.
Vì vậy, vâng, khi bạn chia nhỏ vấn đề như vậy, điều đó thật khó chịu. Gần giống như vụ tai nạn Chernobyl. Một chuỗi các vấn đề nhỏ chồng chất thành một c.l.u.s.t.e.r. bó hoa giao hợp kỹ thuật số.
Bạn có thể làm gì - góc nhìn đúng đắn
Có rất ít để bạn làm. Trung thực. Vấn đề chủ yếu là ở phía máy chủ. Đúng, nó cũng ảnh hưởng đến tất cả các máy sử dụng thư viện openSSL dễ bị tấn công. Nhưng hãy tự hỏi tần suất thiết bị của bạn giao tiếp trực tiếp với các máy chủ lưu trữ khác bằng TLS, ngoài mục đích truy xuất thông tin từ Web, có thể kết nối với máy chủ trò chơi, v.v.?
Tuy nhiên, đối với các trang web lớn, cá nhân tôi nghĩ rằng ngay cả khi chúng có thể bị tràn, lưu lượng truy cập lớn đến mức cần một lượng điện toán đáng kể để xử lý tất cả thông tin và nội dung bộ nhớ có thể quá thưa thớt để tạo một cái nhìn mạch lạc.
Bây giờ, đây là linh cảm của tôi, không phải là một luận điểm toán học, do đó, hãy tránh xa những thứ vitriol của bạn và những thứ tương tự. Hãy suy nghĩ về nó. Lấy Google làm ví dụ. Nó có các cụm máy tính khổng lồ với hàng chục nghìn máy chủ cung cấp các dịch vụ liên quan đến Web, mỗi máy chủ phục vụ hàng trăm yêu cầu mỗi giây. Vì vậy, ngay cả khi bạn đánh dấu các tài nguyên này, thì bạn cũng cần có một loạt máy chủ để lấy tất cả dữ liệu. Ngoài ra, nếu ai đó đang nỗ lực để có được tất cả những thứ SSL đáng yêu đó, thì có lẽ họ không muốn DoS những tài nguyên này. Thứ ba, ngay cả khi tất cả các thông tin đăng nhập có thể đã bị đánh cắp, việc đánh hơi lưu lượng truy cập trên mạng chuyển đổi một cách có ý nghĩa không phải là điều dễ dàng.
Tôi không có ý này để làm bạn bình tĩnh lại. Đó không phải là vấn đề. Bạn chỉ cần xem xét vấn đề một cách hợp lý. Vì vậy, về lý thuyết và có thể trong thực tế, một số dữ liệu SSL nhất định có thể đã bị rò rỉ. Để đề phòng, một số trang web đã khuyến nghị bạn thay đổi mật khẩu của mình. Xem xét điều này. Đó không phải là một thực hành xấu. Hơn nữa, xác thực hai yếu tố và sử dụng các mật khẩu khác nhau trên các trang web khác nhau cũng là một ý tưởng hay.
Một điều có thể xoa dịu đôi chút nỗi sợ hãi của bạn là hầu hết cơ sở cài đặt trên toàn thế giới trong thế giới doanh nghiệp đang chạy các phiên bản cũ hơn của hương vị doanh nghiệp, phần lớn không bị ảnh hưởng. Bạn có thể từ chối CentOS cũ, v.v., vì chúng không hiện đại và thú vị, nhưng trong trường hợp này, xét cho cùng thì chúng cũng có một số công dụng.
Là người dùng cuối
Bây giờ, nếu bạn muốn trở thành một quân nhân giỏi, thì có một số điều bạn CÓ THỂ làm. Kiểm tra xem các trang web phổ biến của bạn vẫn đang sử dụng phiên bản không hợp lệ. Nếu có, báo cáo, leo thang, yêu cầu sửa chữa. Đó là về nó từ phía người dùng.
Mật khẩu, vâng, chúng tôi đã đề cập đến chúng trước đó. Chỉ cần nhớ rằng lỗi nghiêm trọng này đã tồn tại từ đầu năm 2012, cách đây hơn hai năm. Bạn đã không nhận thức được điều đó trong suốt thời gian qua, điều đó có thể có nghĩa là vấn đề không có biểu hiện bí mật, phổ biến. Và nếu đúng như vậy, thì bất cứ nơi nào từ hai năm trước trở lại đây, thông tin có thể đã bị rò rỉ. So you should put things into the right perspective.
If you are running your own site, you can responsibly update the system, stop and start the affected services in order to load new libraries into the memory, and most importantly, make sure you do not have any crappy applications developed by mediocre consultant companies that use their own, statically-compiled openSSL, which effectively means that they will not be seeing or using your updates.
Conspiracy
Naturally, there is a fresh new NSA surveillance conspiracy, which claims that the three-letter agency knew about this bug for years. If you ask me, this is doubtful because two different companies, including Google's engineers and a Finnish (i.e. not American) company Codenomicon, reported the bug almost simultaneously. This means that something new came about.
So, if you are worried about NSA, then here's a remedy. Are you familiar with Michael Mann? He's the dude who directed Miami Vice, check, Heat, check, and many other great movies, including Manhunter, a much, much better version of the Hannibal Lecter thingie than Red Dragon. And the theme song is Heartbeat, also featured in one of Miami Vice's many stellar episodes. Now, if you listen to the song, you will understand it perfectly clearly.
Heartbeat, heartbeat, listen to my hearbeat, oh-oh
Kết luận
This is probably the first time you will hear Dedoimedo say that there is a real security issue that people should treat seriously, rather than the usual scaremongering. Yes, the memory leak caused by Heartbleed is not just your everyday malware nonsense. On the same note, it is also an issue that will primarily have to be addressed by companies and service providers. Your role in this game is small. The important thing is to stay calm and rational.
Just remember, when the Internet backbones aches, lean back and watch. It does not happen every day, and it is a refreshing change from the usual your PC might be at risk bullcrap. In this case, it's bigger than you. So relax.
Chúc mừng.