Yahoo lộ thông tin 1 tỷ tài khoản do sử dụng thuật toán lỗi thời MD5

09:15 | 21/12/2016

Yahoo vừa thừa nhận những kẻ tấn công đã đánh cắp thông tin của hơn 1 tỷ tài khoản thư điện tử hồi tháng 8/2013. Tin tặc đã lấy được tên, địa chỉ, số điện thoại và giá trị băm MD5 của mật khẩu – những thứ có thể dùng để xác định danh tính thật của người dùng.

Một trong những điều mà các chuyên gia bảo mật phê phán là Yahoo đã không chịu cập nhật thuật toán băm dùng để kiểm tra mật khẩu người dùng: họ vẫn sử dụng thuật toán lạc hậu MD5 cho tới tháng 9/2016, khi công ty này thừa nhận việc tin tặc (dường như được một chính phủ hỗ trợ) đã đánh cắp thông tin của 500 triệu tài khoản vào năm 2014. Sau khi công bố việc bị tin tặc đánh cắp thông tin tài khoản, Yahoo đã thay thế thuật thoán MD5 bằng thuật toán bcrypt cao cấp hơn rất nhiều, họ đã chuyển từ cơ chế bảo vệ mật khẩu kém nhất sang cơ chế tốt hơn nhiều lần.

Ty Miller, giám đốc công ty bảo mật Threat Intelligence, nói rằng thuật toán băm MD5 được coi là đã bị phá vỡ, chứ không chỉ dừng ở mức không an toàn, từ hai thập kỷ nay. Những điểm yếu chí mạng của MD5 đã được phát hiện từ năm 1996 và tới năm 2005 thì người ta đã phát triển được các kiểu tấn công thực tế (chứ không chỉ là trên lý thuyết). Việc sử dụng một thuật toán yếu như vậy thật sự là một chuyện khó tin trong giới bảo mật, vì những mật khẩu được bảo vệ bằng MD5 có thể được phá trong vài giây với những bảng Rainbow có sẵn và những dịch vụ miễn phí/có phí có sẵm trên Internet.

David Taylor, chuyên gia tư vấn bảo mật chính của công ty Asterisk Information Security, cũng có ý kiến tương tự. Ông nói rằng việc sử sụng MD5 vào thời điểm năm 2013 thực là quá tệ hại vì có rất nhiều báo cáo về điểm yếu của thuật toán băm từ những năm 2005.

Andrew van der Stock, CTO của công ty Threat Intelligence và đồng thời tham gia ban giám đốc của Open Web Application Security Project (OWASP), thì nhận xét rằng có nhiều hạn chế trong mô hình bảo mật của Yahoo. Ông nói rằng cách bảo mật của Yahoo rõ ràng là không hoàn hảo và nhóm bảo mật của công ty đã không thể thúc ép lãnh đạo cập nhật cơ chế bảo vệ mật khẩu. "Việc MD5 xuất hiện trong những vụ lộ thông tin tồi tệ nhất là dấu hiệu cho thấy việc tiếp tục sử dụng MD5 có liên quan đến những kiểu triển khai bảo mật yếu kém".

Sự cần thiết của giá trị bí mật salt

Salt là tên gọi của giá trị bí mật ngẫu nhiên được thêm vào trong quá trình sử dụng thuật toán băm để đảm bảo những mật khẩu giống nhau sẽ tạo ra những giá trị băm khác nhau, giúp làm cho việc dò mật khẩu của kẻ xấu trở nên khó khăn hơn. Vụ lộ thông tin năm 2012 của LinkedIn đã cho thấy tầm quan trọng của salt. Tuy LinkedIn đã sử dụng SHA1, thuật toán tốt hơn so với MD5, nhưng việc không sử dụng salt khiến cho điều đó không có nhiều ý nghĩa. Trong vụ việc của Yahoo, tuyên bố của công ty này không cho biết họ có sử dụng salt trong quá trình bảo vệ mật khẩu hay không.

Tuy kẻ xấu vẫn có thể dò ra những mật khẩu được bảo vệ với salt nhưng nếu sử dụng những thuật toán băm chậm như bcrypt, PBKDF2 sẽ khiến chúng khó dò mật khẩu hơn và cho người dùng nhiều thời gian hơn để đổi mật khẩu. Với những thuật toán thông thường như SHA 256 hay MD5, kẻ xấu có thể thử 10 triệu khả năng khác nhau mỗi giây nhưng với những thuật toán băm chậm, tốc độ giảm xuống chỉ còn vài chục ngàn khả năng mỗi giây.

Việc nâng cấp không dễ dàng

Cũng giống như những công ty cung cấp dịch vụ công nghệ miễn phí khác, Yahoo muốn thu hút số người dùng lớn nhất có thể. Điều đó có thể đã khiến công ty không nâng cấp thuật toán băm dùng để bảo vệ mật khẩu sớm. Kenneth White, chuyên gia bảo mật nổi tiếng và là giám đốc dự án Open Crypto Audit Project, nói rằng cách duy nhất để tăng tốc quá trình chuyển đổi (sang thuật toán bcrypt) là buộc người dùng đặt lại mật khẩu và do đó xuất hiện vấn đề: có sự xung đột thực sự giữa nhu cầu kinh doanh là có thể quảng cáo về số người dùng lớn nhất với thực tế là hàng triệu người đã lâu không đăng nhập nên quên mất mật khẩu của họ. Gửi thư yêu cầu người dùng đăng nhập để thay thế thuật toán băm MD5 bằng một thuật toán tốt hơn sẽ có thể khiến cho con số người dùng ảo biến mất chỉ trong một thời gian ngắn và thông tin của mạng xã hội sẽ gây ra nhiều tác hại hơn cho “lâu đài đang cháy”.

Ngoài ra, ông White nói rằng mã nguồn của Yahoo bao gồm rất nhiều phần khác nhau, đã phát triển từ hàng thập kỷ, bằng các ngôn ngữ như Perl, PHP và C code, nên khó nâng cấp hơn so với những ứng dụng web hiện đại. Với những hệ thống cũ, cùng với rất nhiều hệ thống như Flickr, Yahoo! IM và hàng trăm triệu người dùng không đăng nhập trong một thời gian dài, việc nâng cấp hệ thống trở nên khá phức tạp.

Một số chuyên gia khuyến cao Yahoo nên triển khai ngay biện pháp xác thực hai yếu tố cho tất cả các dịch vụ. Hoặc triển khai phương thức xác thực như của Microsoft Xbox Live, rà soát để phát hiện những tài khoản bị tấn công, gán mức độ rủi ro cho các lần đăng nhập và phát hiện những kiểu tấn công như dò mật khẩu liên tiếp, đăng nhập từ địa điểm lạ,… chặn lại hay cảnh báo để người dùng có biện pháp phòng vệ thích hợp. Tuy nhiên, câu hỏi lớn vẫn là tại sao một công ty quy mô như thế lại mất tới 3 năm để phát hiện/công bố việc một số lớn tài khoản người dùng bị lộ thông tin.