Hi-tech

Lỗ hổng Spectre đã được ém nhẹm trong suốt 7 tháng như thế nào?

Tại sao một thứ nguy hiểm như Spectre lại có thể được giấu kín trong suốt 7 tháng?

Lỗ hổng Spectre đã được ém nhẹm trong suốt 7 tháng như thế nào?

Khi chuyên gia bảo mật Michael Schwarz thuộc trường Đại học Công nghệ Graz liên hệ với Intel, anh đã tin rằng thông tin mà mình đem tới sẽ là thứ sẽ khiến Intel đau đầu. Cùng với các đồng nghiệp Daniel Gruss, Moritz và Stefan Mangard, nhóm đã tìm ra điểm yếu hoàn toàn có thể bị lơi dụng trên các chip xử lý của Intel. Nhóm của Schwarz đã thử lợi dụng lỗ hổng này và thành công vào ngày 3/12. Họ đã liên lạc với Intel ngay lập tức khi nhận thấy được sự cấp bách của vấn đề.

9 ngày sau bức email đầu tiên, Schwarz nhận được lời phản hồi từ Intel. Nhưng thay vì sự an tâm, anh lại hoàn toàn bất ngờ bởi những gì mà Intel đã gửi lại: công ty đã nhận thấy vấn đề này từ trước kia và đang làm việc hết sức mình để có thể tìm ra phương án khắc phục. Intel cảm ơn Schwarz vì sự đóng góp nhưng cũng không quên nói rằng những gì nhóm của anh tìm ra là vấn đề tối mật, và họ cũng đưa ra mốc thời gian chính xác khi mà vấn đề được giải quyết hoàn toàn.

Lỗ hổng mà Schwarz và đồng nghiệp tìm thấy thực sự là một vấn đề rất nghiêm trọng. Đó là lỗ hổng phát sinh từ quá trình thiết kế chip, nó có thể giảm hiệu năng của bất kì vi xử lý nào trên thế giới, và thực sự không có cách giải quyết nào là triệt để ngoại trừ việc tái thiết kế chúng. Lỗ hổng này ảnh hưởng tới hầu hết công ty công nghệ trên thế giới, từ hệ thống máy chủ của Amazon cho tới những công ty sản xuất chip xử lý như Intel và ARM. Lúc này một câu hỏi được đặt ra: Làm sao họ lại có thể che giấu lỗ hổng này đủ lâu để có thể hoàn toàn xử lí nó?

Việc tiết lộ thông tin là một vấn đề xưa cũ trong giới bảo mật. Khi mà các nhà nghiên cứu tìm ra một lỗi nào đó, họ hoàn toàn có quyền được giữ kín bí mật để nhà cung cấp có thể sửa chữa chúng trước khi đưa ra công chúng hoặc để những kẻ xấu có thể phát hiện và lợi dụng nó. Nhưng nếu lỗi trên ảnh hưởng tới càng nhiều công ty và sản phẩm khác nhau, thì nó càng trở thành một vấn đề phức tạp. Đó chính là lúc mà số người cần giữ bí mật và số phần mềm cần sửa lại đạt con số khó kiểm soát. Và với lỗ hổng Spectre và Meltdown, thỏa thuận đa bên đó hoàn toàn có thể bị phá vỡ.

Sự phá vỡ đó chắc chắn để lại nhiều hậu quả. Hàng tá những câu hỏi cần trả lời, kiểu như: Vi xử lý của AMD có bị ảnh hưởng bởi Spectre không? (câu trả lời là có); hay như Meltdown chỉ là lỗ hổng liên quan tới Intel phải không? (tiếc là cả những chip trên cấu trúc ARM cũng gặp vấn đề). Tiếp đó sẽ là việc những phần mềm antivirus cũng chẳng kịp phản ứng với lỗ hổng mới phát hiện này để rồi vô tình ngăn chặn việc cài đặt các bản vá quan trọng. Còn có những bản vá vừa được tung ra đã phải ngừng lại giữa chừng vì chúng gây ra lỗi crash. Retpoline, công cụ được phát triển bởi Google, công cụ được cho là hiệu quả nhất để đối đầu với lỗ hổng này, cũng thi thoảng tự tạo ra những lỗi vặt khác. Bộ mã nguồn của công cụ này được tung ra sau khi lỗ hổng được chính thức công bố, cho dù nhóm lập trình viên Google đã biết về vấn đề này trước, điều này được lý giải là do họ không muốn phá vỡ thỏa thuận ngầm về việc giữ im lặng.

Tuy rằng cũng đã có một số nhóm lập trình viên không chấp thuận quy trình giữ bí mật trên. Một trong số đó có Carnegie Mellon đến từ nhóm CERT, bộ phận chuyên làm việc cho cục An ninh Nội địa về các vấn đề bảo mật. Nhưng theo Will Dormann, chuyên viên cấp cao về thống kê lỗ hổng cho biết CERT thực sự chưa nhận ra được vấn đề cho đến khi họ nhìn thấy những trang web về Spectre và Meltdown. Đây chính là điều khiến mọi thứ càng trở nên rối rắm.

Theo những báo cáo ban đầu, cách giải quyết duy nhất chính là thay thế hoàn toàn CPU. Về mặt kĩ thuật thì giải pháp này hoàn toàn đúng đắn, nhưng đó chính là ác mộng cho những ai đang làm IT manager bởi việc thay thế CPU của từng chiếc máy tính mà họ quản lí thực sự là một điều khó khăn. Vài ngày sau, Dormann và đồng nghiệp của mình đã quyết định rằng đây là giải pháp không khả thi nên họ quyết định sẽ chỉ đơn thuần là cài đặt các bản vá lỗi phần mềm.

"Tôi ước mình đã biết được vấn đề sớm hơn. Nếu tôi nhận thức về vấn đề này sớm hơn, chúng tôi sẽ có thể đưa ra những văn bản hướng dẫn chuẩn xác hơn, từ đó mọi người sẽ hiểu rõ hơn về vấn đề. Nhưng hiện tại thì ngược lại, chúng tôi mới chỉ đang thử nghiệm các bản vá lỗi và cập nhật văn bản hướng dẫn từ tuần trước", Dormann nói

Nhưng phải chăng, hậu quả là không thể tránh khỏi. Đây là điều mà ngay cả Dormann cũng không chắc chắn. "Đây là vấn đề có liên quan tới nhiều bên nhất mà chúng tôi từng gặp phải. Với những lỗ hổng có độ lớn như vậy, sẽ chẳng có cái viễn cảnh các công ty đối thủ vui mừng khi nó được công bố", Dormann cho biết thêm.

Những dấu hiệu ban đầu của việc Spectre và Meltdown bị tiết lộ xuất hiện vào khoảng 6 tháng trước phát hiện của nhóm Schwarz. Đó chính là đoạn email được gửi đi bởi Jann Horn từ nhóm dự án Zero của Google vào ngày 1/6. Đoạn email ấy được gửi đồng thời cho Intel, AMD và ARM, nó đề cập tới vấn đề sẽ phát sinh ra Spectre. Horn đã cẩn thận đưa ra lượng thông tin vừa đủ để thu hút sự quan tâm từ phía các công ty này. Lúc đó anh đã trực tiếp liên hệ với cả 3 nhà sản xuất, rồi tự chỉ ra những vấn đề mà từng công ty mắc phải, anh cũng không quên cảnh báo những bên bị ảnh hưởng bởi lỗ hổng này. Đồng thời, anh còn cảnh báo họ rằng không nên phát tán thông tin quá xa hoặc quá nhanh.

Bước đầu anh chỉ rõ đối tượng bị ảnh hưởng bởi lỗ hổng này chính là sự khẳng định cho những khó khăn mà nó mang lại. Những công ty sản xuất vi xử lý cũng đã rục rịch khởi động việc sửa lỗi, nhưng rồi họ nhận ra rằng họ cần phải sớm tung ra các bản cập nhật vá lỗi, thứ lại tiếp tục tạo ra một vòng luẩn quẩn. Trình duyệt web cũng sẽ bị ảnh hưởng bởi các nền tảng đám mây khổng lồ được vận hành bởi Google, Microsoft và Amazon - đối tượng dễ bị ảnh hưởng nhất. Để rồi cuối cùng là các công ty đến từ mọi ngóc ngách của ngành công nghệ buộc phải tìm cách tự tung ra các bản vá lỗi của riêng mình.

Chính sách của dự án Zero quy định khoảng thời gian giữ kín là 90 ngày trước khi thông tin về các vấn đề được xuất hiện trên mặt báo. Nhưng với con số khổng lồ các công ty cùng bị ảnh hưởng bởi vấn đề này, chính sách trên có vẻ không còn quá hiệu lực. Mới chỉ một tháng sau, các công ty công nghệ đã ồ ạt tung ra các bản vá lỗi. Nhóm phản ứng nhanh của Google đã được cảnh báo từ tháng 7, một tháng sau những cảnh báo ban đầu từ dự án Zero.

Chương trình Windows Insiders thì lặng lẽ tung ra các bản vá lỗi ngay từ đầu tháng 11. Vào 14/12, khách hàng của Amazon Web Server nhận được thông báo rằng việc khởi động lại toàn bộ hệ thống vào ngày 5/1 sẽ ảnh hưởng tới hiệu năng của hệ thống máy chủ. Ngay vào đêm cuối cùng của năm 2017, một bản vá khác cũng được Microsoft tung ra nhờ vào những nỗ lực không ngừng nghỉ của đội ngũ lập trình viên. Trong mỗi lần cập nhật, lí do mà các nhà cung cấp đưa ra chỉ là những thông tin mơ hồ, để lại sau đó là sự bối rối cho người dùng về những thứ đã được sửa chữa.

Nhưng bạn chẳng thể thay đổi toàn bộ những thành tố cơ bản của mạng Internet mà không để lại dấu vết. Gợi ý lớn nhất đến từ hệ điều hành Linux, thứ đang nắm chủ chốt trong việc vận hành đa số các máy chủ đám mây trên mạng Internet. Chính bởi vậy Linux chắc chắn sẽ là mảng lớn nhất cần phải sửa trong danh sách nạn nhân của Spectre và Meltdown. Nhưng vấn đề nằm ở chỗ, Linux là một hệ điều hành mã nguồn mở, tất cả những thay đổi đều phải được lập tức công bố. Nhờ đặc điểm ấy, mỗi bản cập nhật đều phải đăng tải lên thư viện công cộng Git và tất cả những thông cáo chính thức đều phải được thực hiện trên một địa chỉ lưu trữ công cộng. Và khi một chức năng bí ẩn là Page Tabble Isolation (PTI) được thêm vào, những người quan tâm tới hệ điều hành này đều hiểu rằng có điều gì đó đang diễn ra.

Lời gợi ý rõ ràng nhất được đưa ra vào ngày 18/12 vừa qua, đó là ngày mà Linus Torvalds chèn thêm vào một bản vá có chức năng thay đổi cách mà nhân Linux kernel giao tiếp với các vi xử lý x86. Torvalds giải thích rằng: "Điều này, một phần là nhằm sửa chữa lỗi rò rỉ KASLR và cũng đồng thời củng cố hóa mã x86 đầu vào". Phiên bản kernel mới nhất được cập nhật sớm hơn một ngày so với thường lệ. Thông thường, lõi kernel sẽ được đóng gói và phải chờ tới tận đợt phát hành sau để được ra mắt. Nhưng điều gì lại khiến Torvalds phải tung ra bản cập nhật thường xuyên hơn thường lệ tới vậy, đặc biệt khi phiên bản mới này còn dường như đang làm chậm đi kernel?

Mọi việc còn trở lên kì lạ hơn khi mà trong một đoạn email được gửi một tháng trước đã thông báo rằng bản vá cũng cần được cài đặt với cả những nhân kernel phiên bản cũ hơn. Sau một thời gian dài đắn đo, chuyên gia về Linux, Jonathan Corbet đã thú nhận rằng vấn đề liên quan tới Page Tabble: "Chính là dấu hiệu cho thấy rằng một bản vá bảo mật đã được sẵn sàng tung ra bởi sự cấp bách của vấn đề".

Song, họ mới chỉ hiểu được nửa sáng của câu chuyện. PTI có chức năng phân tách không gian kernel với phần không gian của người dùng, và chắc chắn rằng chức năng chỉ cần thiết khi có một lỗ hổng đang gây rò rỉ trong kernel.  Song điều mà họ không hiểu chính là mối nguy thực sự của lỗ rò rỉ này.

Nhưng chính những công ty sản xuất chip xử lý cũng là một phần nguyên nhân gây ra sự cố lộ thông tin về Spectre. Khi bản vá mới được tung ra, tất cả những chip xử lí tương thích với cấu trúc x86 đều được liệt kê vào danh sách dễ bị tấn công, trong số đó có cả những vi xử lý của AMD. Công ty này dường như không hề bất ngờ khi những vi xử lý của mình được liệt kê trong danh sách. Chỉ một ngày ngay sau ngày lễ Giáng sinh, Tom Lendacky – một kỹ sư của  AMD -  đã gửi một đoạn email tới cộng đồng Linux Kernel để giải thích rõ ràng tại sao những vi xử lý của AMD lại không cần được cập nhật bản vá.

"Cấu trúc của AMD phát triển không cho phép thực hiện tham chiếu bộ nhớ, bao gồm cả phương pháp tham chiếu suy đoán, thứ cố gắng truy cập vào những dữ liệu cao cấp khi hoạt động ở quyền ưu tiên thấp đồng nghĩa với việc gây ra lỗi bộ nhớ", Lendacky viết.

Những điều này nghe có vẻ máy móc nhưng đối với những ai đang cố tìm ra nguyên nhân của lỗ hổng thì đây là một hồi chuông báo động. Đó thực sự là điều khó chấp nhận khi nghe được từ một kỹ sư của AMD nói rằng vấn đề mà kernel đang gặp phải được bắt nguồn từ những gì mà ngành công nghiệp sản xuất vi xử lý đã làm trong 20 năm qua. Tham chiếu suy đoán có thể chính là vấn đề mà tất cả mọi người đều đang gặp phải. Và chắc chắn rằng việc cứu chữa không chỉ được dừng lại ở một bản vá đơn thuần.

Chris Williams, giám đốc của văn phòng The Register đặt tại Mỹ cho rằng: "Đây chính là cái cò súng. Không ai trong quá khứ từng nói sâu hơn về vấn đề tham chiếu bộ nhớ suy đoán tới vậy. Chỉ cho tới khi đoạn email đó được truyền tải đi, chúng tôi mới nhận ra được rằng vấn đề này là điều gì đó thực sự rất nghiêm trọng".

Khi gợi ý cuối chính là lời nhắc về vấn đề trong tham chiếu bộ nhớ, thì việc vén phần còn lại của bức màn sẽ được thực hiện bởi chính công chúng. Các nhà nghiên cứu đã dành nhiều năm để có thể xâm nhập vào kernel thông qua quá trình thực hiện suy đoán, đối với nhóm của Schwarz đó chính là những gì được công bố trong báo cáo hồi tháng 6. Anders Fogh cũng đã đăng tải những thử nghiệm của bản thân trong việc thực hiện những cuộc xâm nhập tương tự và tháng 7, tuy nhiên kết quả mà ông nhận lại được sau những bài thử nghiệm vẫn chưa rõ ràng. Tại hội nghị Chaos Computer Congress tổ chức tại Leipzig, Đức, một nhà nghiên cứu cũng đã giới thiệu những thử nghiệm tương tự. Tuy rằng cả 3 thử nghiệm trên đều không chỉ rõ ra được lỗ hổng có thể khai thác nhưng họ đã trả lời được câu hỏi về độ nghiêm trọng của một lỗ hổng có thể tận dụng được: nó thực sự rất tệ.

Fogh còn cho biết thêm rằng những lỗi có thể tận dụng được vốn đã là một thảm họa. "Khi bạn đào sâu hơn vào những thứ như thế này, bạn sẽ thấy rõ được mức độ tồi tệ khi những lỗ hổng này được khai thác thành công", Fogh cho biết thêm. Đó có lẽ là lí do tại sao ngay sau khi lỗ hổng Spectre và Meltdown được chính thức công bố, nhóm của ông đã quyết định không đưa ra thêm bất kì thông tin chi tiết nào về những nghiên cứu đã được thực hiện.

Những tuần sau đó, thông tin về lỗ hổng trên bắt đầu được chia sẻ rầm rộ trên Twitter, những diễn đàn, những bản tin trực truyến. Đã có một bài benchmark được đăng tải trên diễn đàn PostgreSQL cho thấy việc bản vá mới đã làm chậm đi 17% hiệu năng của hệ thống. Đây là con số khủng khiếp đối với những ai đang chờ đợi bản vá. Những nhà nghiên cứu khác thì cẩn thận chia sẻ những gì họ biết về vấn đề này thông qua cái mác "tin đồn".

Tính tới thời điểm ngày 1/1, những lời đồn đã vượt qua quy mô sẵn có và trở thành những thông tin không thể bỏ ngoài tai. Williams quyết định rằng đó chính là lúc ông phải viết điều gì đó. Đó chính là động lực của bài viết đăng tải trên The Register với tiêu đề "Lỗ hổng thiết kế trên vi xử lý của Intel". Bài báo đã nói về những gì xảy ra trên diễn đàn Linux, kể về đoạn email xấu xa của AMD, và về tất cả những nghiên cứu ban đầu. "Như những gì mà vị kỹ sư của AMD đã viết trong đoạn email, những vi xử lý của Intel đã vận hành mã suy đoán mà không thực hiện việc kiểm tra mức độ bảo mật. Điều này cho phép nhóm mã cấp độ 3 có thể đọc dữ liệu kernel cấp độ 0. Vấn đề này thực sự rất tồi tệ".

Bài viết này ngay sau khi được tung ra đã trở thành một vấn đề gây tranh cãi. Giới công nghệ thỏa thuận ngầm về việc giữ im lặng cho tới khi những nỗ lực sửa chữa được hoàn tất. Việc truyền tải nội dung tin tức sớm hơn dự kiến sẽ tạo cơ hội cho những kẻ có mục đích xấu thực hiện việc khai thác lỗ hổng trước khi những bản vá lỗi được cập nhật. Nhưng Williams vẫn khăng khăng cho rằng tại thời điểm trang báo này tung ra thông tin về lỗ hổng trên, mọi thứ đã không còn là bí mật. Ông nêu quan điểm: "Tôi tin rằng chúng ta phải làm gì đó để giúp mọi người đón đầu trước được vấn đề. Ngay khi bản vá được tung ra, họ sẽ hiểu được sự cấp thiết của việc phải cài đặt chúng. Nếu bạn đủ thông minh để có thể khai thác lỗ hổng này, có lẽ bạn sẽ chẳng coi bài viết của chúng tôi là một lời gợi ý".

Nhưng sự thật là thỏa thuận giữ bí mật cũng chỉ "cầm cự" được thêm đúng một ngày. Dự kiến thông tin sẽ chính thức được công bố vào ngày 9/1, trên chính sân khấu trung tâm của sự kiện CES, đó cũng là ngày Microsoft tung ra bản vá mới theo đúng chu kì cập nhật của họ. Chính những tin đồn và những nghiên cứu có sẵn đã khiến cho việc giữ bí mật chẳng thể kéo dài lâu hơn được nữa. Các nhà báo thì "thả bom" email các nhà nghiên cứu, còn những người  liên quan trực tiếp tới vấn đề thì lại tiếp tục phải giữ im lặng bởi họ hiểu một tuần là quá dài để bí mật này có thể mãi ẩn mình trong bóng tối.

Đỉnh điểm của vấn đề nằm ở chính người có tên tài khoản Twitter là Brainsmoke. Anh là một trong số ít những người không đồng tình với việc giữ im lặng. Brainsmoke đã tự mình tìm ra gốc lõi của vấn đề nhờ vào lộ trình được xây dựng từ những tin đồn. Buổi sáng ngay sau khi bài báo của The Register được đăng tải, anh đã tìm ra lỗ hổng và đăng tải lên trang cá nhân của mình kèm theo bằng chứng là ảnh chụp màn hình.

Đoạn tweet đó chính là báo hiệu của một loạt những phản ứng liền sau. Nhóm của Graz đã xác định rằng họ sẽ không làm tràn ly nước trước khi Google hay Intel có phản ứng gì, nhưng sau khi những bằng chứng về lỗ hổng trên được lan tràn, Google đã chắc chắn rằng đó sẽ là ngày mà thỏa thuận im lặng bị phá vỡ. Và vào đúng 12 giờ đêm, nghiên cứu chi tiết về thứ mà ai cũng biết ấy được đăng tải công khai, kèm theo đó là logo riêng cho hai loại lỗ hổng. Sau đó là làn sóng tin tức tới từ một loạt các trang báo như ZDNet, Wired và The New York Time. Đó chính là lúc mà kế hoạch im lặng trong 7 tháng qua bị đổ bể.

Chúng ta vẫn chưa thể xác định được những thiệt hại ban đầu. Những bản vá vẫn đang được tung ra, và kết quả benchmark cũng đang chỉ ra thiệt hại của những bản sửa lỗi. Liệu thêm một tuần có giúp chúng ta chuẩn bị cho mọi thứ "mượt mà" hơn không? Hay đó chỉ là cố ý trì hoãn những hậu quả chắc chắn sẽ xảy ra?

Có hàng tá những văn bản chính quy đưa ra hướng dẫn cho cách chúng ta nên xử lý khi các vấn đề tương tự xảy đến, nhưng chúng chẳng thể đưa ra những câu trả lời cần cần thiết cho trường hợp hiện tại của chúng ta. Ngay cả những chuyên gia cũng gặp khó trong việc đưa ra câu trả lời, song có lẽ điều chúng ta cần không phải là một câu trả lời hoàn hảo cho mọi trường hợp.

Katie Moussouris là người đã hỗ trợ việc hoàn thành cuốn sách hướng dẫn xử lý rắc rối của Microsoft, cô cũng tham gia vào xây dựng tiêu chuẩn ISO và hàng tá những hướng dẫn khác nói về vấn đề tiết lộ thông tin. Cô đã thành thực trả lời trong cuộc phỏng vấn với trang báo The Verge: "Có lẽ chúng ta đang làm những điều tốt nhất có thể. Tiêu chuẩn ISO có thể sẽ đưa ra những chỉ dẫn để bạn cân nhắc nhưng nó không thể chỉ cho bạn điều gì cần làm trong tình thế hiện tại. Nó như kiểu bạn đọc những hướng dẫn và thực hiện diễn tập di tản hỏa hoạn vậy. Có kế hoạch hành động là điều tốt nhưng khi nhà của bạn gặp hỏa hoạn, cái cách bạn hành động có lẽ sẽ chẳng theo một kế hoạch hay hướng dẫn nào cả".

Khi mà công nghệ ngày càng trở nên kết nối và tập trung hóa hơn thì những những hồi chuông báo cháy như sự cố vừa rồi sẽ càng khó tránh khỏi. Khi mà những giao thức như OpenSSL được lan rộng thì mối nguy từ những lỗ hổng đa bên càng được nâng cao. Những biến động của tuần này chính là ví dụ tương tự về phần cứng. Hành động đầu cơ đã trở thành một tiêu chuẩn của ngành công nghiệp trước khi chúng ta có đủ thời gian để bảo mật chúng.

Sự tranh giành là điều không thể tránh khỏi khi một công nghệ được cho là tiêu chuẩn bị sụp đổ. "Trong những năm 90 của thế kì trước, chúng ta từng tin rằng vấn đề nào thì đi riêng với nhà sản xuất ấy, đó cũng là phần đông của những lỗ hổng chúng ta đã biết. Nhưng hiện tại thì hầu hết mọi thứ đều là hợp tác đa tổ chức. Những gì chúng ta vừa chứng kiến chỉ đơn thuần là một cuộc vạch trần đa tổ chức mà thôi", Moussouris nói với báo The Verge.

Theo TN (Vnreview.vn)