Hàng thập kỷ trước, lỗ hổng Meltdown và Spectre đã có trong chip Intel và chỉ được phát hiện gần đây bởi bốn nhóm nghiên cứu độc lập.
Những ngày đầu 2018, cả thung lũng Silicon và thế giới công nghệ đổ dồn vào vụ bê bối mang tênMeltdown và Spectre. Hai phương thức này có thể hack vào bất kỳ chiếc máy tính nào trên thế giới dùng chip Intel lẫn AMD, thậm chí cả những máy tính sản xuất cách đây cả thập kỷ.
Không chỉ những máy tính dùng Windows, ngay cả MacBook và các thiết bị iOS cũng có thể bị hạ vì đều tồn tại lỗ hổng tương tự trên vi xử lý.
Scandal này khởi nguồn từ một buổi sáng Chủ nhật lạnh giá tháng 12/2017 tại thành phố Graz của Australia. Ba nhà nghiên cứu trẻMoritz Lipp, Daniel Gruss và Michael Schwarz đang ngồi trước máy tính, cố bẻ gãy cơ chế bảo mật của chip máy tính Intel.
Hai ngày trước đó tại phòng thí nghiệm của Đại học Công nghệ Graz, nhóm này quyết định thử nghiệm ý tưởng táo bạo đã theo đuổi họ nhiều tuần qua. Đó là can thiệp vào cơ chế bảo vệ bộ nhớ nhạy cảm của vi xử lý máy tính trên hàng tỉ thiết bị đang vận hành.
Sau buổi tối thứ Bảy uống cùng bạn bè, họ bắt tay vào công việc. Mỗi người chịu trách nhiệm viết mã tấn công thử vào lỗ hổng nghi ngờ, rồi sau đó chia sẻ kết quả qua tin nhắn.
Các nhà nghiên cứu bảo mật của Đại học Công nghệ Graz (từ trái sang): Daniel Grüss, Moritz Lipp và Michael Schwarz.
Tối đó, Gruss thông báo cho hai nhà nghiên cứu còn lại rằng anh đã thành công. Mã tấn công của Gruss được thiết kế đánh cắp thông tn từ phần sâu thẳm nhất và được bảo vệ nghiêm ngặt nhất của máy tính - nhân hệ điều hành (kernel).
Gruss đã thành công. Mã tấn công của anh có thể do thám lịch sử trình duyệt trên chính máy tính đang sử dụng, lấy được nội dung trao đổi trong e-mail riêng.
Gruss cảm thấy rất sốc. “Thực đáng sợ. Bạn không thể tưởng tượng các nội dung trao đổi riêng lại dễ bị đánh cắp đến thế khi không có quyền nào được cấp cho truy cập dữ liệu đó”, Gruss chia sẻ.
Từ máy tính của mình, Lipp cũng nhanh chóng thử nghiệm mã tấn công tự viết và đạt kết quả tương tự. “Ôi lạy chúa, tôi kêu lên, điều này đã thực sự xảy ra”, Lipp nhớ lại.
Đêm đó, Gruss và Lipp đều không ngủ được. Ngày hôm sau, các nhà nghiên cứu của Graz thông báo cho Intel về sai sót bảo mật đã phát hiện được.
Về cơ bản, phát hiện trên cho phép bất cứ tin tặc nào cũng chạy được mã riêng trên máy tính mục tiêu, tiếp cận bí mật lưu giữ trong kernel của máy tính như tệp tin riêng tư, mật khẩu và các khóa mã hóa.
Với dịch vụ điện toán đám mây như Amazon Web Services, chỉ cần một máy ảo bị xâm nhập, kẻ tấn công có thể đánh cắp bí mật các máy ảo liền kề khác. Phương thức tấn công do nhóm của Graz phát hiện được gọi là Meltdown.
Thực sự, lỗ hổng nhóm Graz khai thác đã xuất hiện trên chip Intel từ giữa những năm 90 của thế kỷ trước. Điều đó cho thấy vẫn còn những lỗ hổng máy tính bí mật chưa được phát hiện trong nhiều năm qua.
Trùng hợp ngẫu nhiên
Sau nhiều tuần im lặng, Intel đã gửi thông tin phản hồi cho nhóm của Graz. Thật ngạc nhiên khi biết rằng nhóm của Graz không phải người đầu tiên phát hiện ra lỗ hổng trong chip Intel. Trước đó đã có hai nhóm nghiên cứu khác thông báo cho Intel về lỗ hổng mà sau này gọi là Spectre.
Thực tế, Graz là nhóm thứ tư phát hiện ra lỗ hổng chỉ trong vài tháng liên tiếp.
“Đó là sự trùng hợp điên rồ. Hai phương thức tấn công không có điểm chung nào, nhưng tại sao không ai phát hiện ra trong nhiều năm qua”, thắc mắc của Paul Kocher, nhà nghiên cứu bảo mật nổi tiếng và là một trong hai người riêng rẽ thông báo cho Intel về lỗ hổng Spectre.
Trước đó vào tháng 7/2017, nhà nghiên cứu bảo mật Anders Fogh, chuyên gia phân tích mã độc của công ty GData, viết trên blog rằng anh đang khám phá tính năng “thực hiện suy đoán” (speculative execution) rất thú vị của vi xử lý máy tính hiện đại.
Từ trước đây rất lâu trong cuộc đua tăng tốc độ xử lý, các nhà sản xuất chip đã bỏ qua quy trình thực thi mã, tính toán ra kết quả không theo trật tự nhằm tiết kiệm thời gian thay vì phải chờ thắt cổ chai nhất định trong quy trình.
Fogh chỉ ra rằng sự linh hoạt không theo trật tự đó có thể cho phép mã độc can thiệp vào vi xử lý, tiếp cận một phần bộ nhớ trước khi kịp kiểm tra mã độc đó có quyền truy cập hay không.
Tuy Fogh không xây dựng được mô hình tấn công hiệu quả nhưng phát hiện của anh đã giúp các chuyên gia khác tiết kiệm thời gian và công sức nghiên cứu về lỗ hổng.
Hai lỗ hổng nghiêm trọng Meltdown và Spectre tấn công chip Intel, AMD và ARM, ảnh hưởng tới hàng tỉ thiết bị bao gồm smartphone, laptop, PC, máy chủ Internet...
Ba tháng sau cảnh báo của Fogh, nhóm của Graz để ý rằng nhiều nhà phát triển của Intel, Amazon và Google đột nhiên lại quan tâm tới tái thiết kế khả năng phòng vệ mới cho hệ điều hành. Từ manh mối này, nhóm của Graz đã thực hiện thành công ý tưởng táo bạo của mình.
Trước đó vài tuần, một cách tình cờ, nhà nghiên cứu Thomas Prescher của công ty bảo mật Cyberus đã thử kiểm tra phương pháp của Fogh và thành công.
Đầu tháng 12/2017, Cyberus và nhóm của Graz gửi kết quả nghiên cứu cho Intel chỉ cách nhau vài ngày. Họ rất ngạc nhiên khi Intel thông báo lại rằng cả Meltdown và Spectre đã được Project Zero, một nhóm săn lỗ hổng gồm toàn tin tặc ưu tú của Google, phát hiện cách đó vài tháng.
Thực tế, nhà nghiên cứu Jann Horn của Project Zero đã tìm ra cách tấn công chip Intel vào tháng 6/2017, vài tuần trước bài viết của Anders Fogh trên blog.
Đầu tháng 5/2017, Horn đã phát triển xong kỹ thuật tấn công mà sau này gọi là Spectre. Không giống Meltdown, Spectre tập trung khai thác cơ chế thực hiện dự đoán để đánh lừa chương trình hoặc tiến trình hệ thống (system process) khiến chúng tiết lộ bí mật trong bộ nhớ (cache) vi xử lý.
Độ khó khai thác của Spectre cao hơn Meltdown rất nhiều. Khắc phục lỗ hổng này rất phức tạp và mất nhiều thời gian. Spectre không chỉ có trên chip Intel mà còn xuất hiện trên cả chip AMD và ARM. Đây có thể sẽ là vấn đề lâu dài và đầy gai góc của cả ngành công nghiệp điện toán.
Horn gửi phát hiện của mình cho các nhà sản xuất chip vào ngày 1/6/2017. Sau đó anh tiếp tục khai thác và phát hiện ra Meltdown ba tuần sau đó. Intel cũng được thông báo ngay về lỗ hổng này.
Cùng thời điểm Horn thử nghiệm các kiểu tấn công, Paul Kocher bắt đầu kỳ nghỉ phép tại công ty Cryptography Research do anh thành lập tại San Francisco. Paul Kocher muốn có thời gian rảnh rỗi để khám phá sâu hơn vấn đề bảo mật máy tính mà anh ấp ủ bấy lâu.
Đó là tình trạng các nhà sản xuất chip máy tính tìm cách tăng tốc độ xử lý với bất cứ giá nào, thậm chí bỏ qua cả biện pháp bảo mật nền tảng.
Không lâu sau khi tham dự hội nghị phần cứng và mã hóa tại Đài Bắc tháng 9/2017, Kocher đã phát triển xong mã khai thác Spectre mà không hề biết rằng Horn của Google đã tìm ra cùng lỗ hổng trước đó vài tháng.