VietTechiesHIỂU CÔNG NGHỆ. MỞ GÓC NHÌN.
☰ Chuyên mục

Mark Russinovich quét máy tính của mình năm 2005, phát hiện phần mềm chống sao chép đĩa CD của Sony BMG ẩn trong Windows

19/10/2026 · VietTechies · Biên tập

Mark Russinovich phát biểu trên sân khấu trong bức ảnh được làm tối, ở bên trái bìa nền xanh lam đậm có hình đường viền đĩa CD với một vạch quét màu cam chạy ngang và các dòng chữ “Mark Russinovich”, “Sony BMG rootkit · 2005”.


Mark Russinovich là đồng tác giả của RootkitRevealer, công cụ phát hiện phần mềm ẩn mình trong Windows. Trong lúc thử nghiệm phiên bản mới nhất, ông quét một chiếc máy tính của chính mình. Trong bài blog ngày 31 tháng 10 năm 2005, ông viết rằng mình đã “sốc khi thấy dấu vết của một rootkit”. Phần mềm ẩn ấy đến từ một đĩa CD nhạc của Sony BMG.

Rootkit là phần mềm che giấu tệp, tiến trình hoặc thiết lập khỏi các công cụ chẩn đoán và bảo mật. Rootkit này là một trình điều khiển chạy ở cấp nhân hệ điều hành (kernel), mang tên $sys$aries, được thiết lập để nạp sớm trong quá trình khởi động. Nó che giấu mọi tệp, tiến trình hoặc khóa registry — cơ sở dữ liệu cấu hình của Windows — có tên bắt đầu bằng “$sys$”.

Lần theo các tệp ẩn, Russinovich tìm đến First4Internet — công ty mà Sony BMG thuê để xây dựng cơ chế chống sao chép — và một đĩa CD của ban nhạc Van Zant mà ông đã mua. Phần mềm đó là XCP, viết tắt của Extended Copy Protection. Theo The Baltimore Sun, khi ông làm các tệp hiện ra rồi xóa chúng, ổ đĩa CD của ông “hoàn toàn tê liệt” và ông “không thể phát nhạc của bất kỳ ai, chứ đừng nói đến sao chép”.

Tờ Sun tóm tắt điều ông phàn nàn như sau: Sony BMG bảo vệ nhạc của mình “bằng cách cài đặt cùng loại rootkit mà những kẻ viết virus và sâu máy tính sử dụng”. Trong vòng ba tuần kể từ bài blog, mã độc đã lợi dụng cơ chế che giấu ấy để ẩn mình, công cụ gỡ bỏ của Sony BMG đã mở thêm một lỗ hổng, và bang Texas đã đệ đơn kiện.

XCP ẩn mình trong Windows như thế nào

Trình cài đặt XCP tự khởi chạy khi người dùng lần đầu đưa một đĩa CD có cơ chế chống sao chép vào máy tính Windows. Sau đó, trình điều khiển rootkit thay đổi cách hoạt động của bốn lời gọi hệ thống Windows: NtQueryDirectoryFile, NtCreateFile, NtQuerySystemInformation và NtEnumerateKey. Các chương trình dùng những hàm cấp thấp này để lần lượt liệt kê thư mục, mở tệp, liệt kê tiến trình đang chạy và liệt kê khóa registry. Trình điều khiển lọc bỏ các tên bắt đầu bằng “$sys$” khỏi kết quả mà những lời gọi đó trả về, trừ khi tên của chính chương trình gọi cũng có tiền tố “$sys$”. Ngoại lệ này giúp các tiến trình của XCP nhìn thấy chính xác những gì có trong hệ thống.

Cách lọc như vậy để lại những điểm không khớp, và RootkitRevealer tìm kiếm chúng. Công cụ này đối chiếu câu trả lời Windows cung cấp cho các chương trình với kết quả quét trực tiếp hệ thống tệp và registry, rồi liệt kê những khác biệt. Trên máy của Russinovich, danh sách ấy có một thư mục ẩn trong thư mục hệ thống Windows, mang tên $sys$filesystem. Sau đó, ông tự kiểm tra quy tắc đặt tên: ông tạo một bản sao Notepad mang tên $sys$notepad.exe, và bản sao ấy biến mất khỏi danh sách hiển thị.

Chương trình phát nhạc trên đĩa XCP còn liên lạc với server connected.sonymusic.com của Sony mỗi khi người dùng đưa đĩa vào, đồng thời gửi một mã nhận diện album. J. Alex Halderman và Edward Felten, hai nhà khoa học máy tính tại Princeton, sau này đã phân tích kỹ phần mềm và lưu ý rằng kết nối ấy cho phép server ghi lại “địa chỉ IP của người dùng, ngày giờ và thông tin nhận diện album”. Dẫn một đơn kiện tập thể, họ cho biết Sony BMG đã đưa XCP vào 52 album, với hơn 4,7 triệu đĩa CD.

Phản ứng của Sony BMG và công cụ gỡ bỏ khiến tình hình tệ hơn

Ngày 4 tháng 11, Thomas Hesse, chủ tịch bộ phận kinh doanh kỹ thuật số toàn cầu của Sony BMG, trả lời phỏng vấn NPR, mạng lưới phát thanh công cộng của Mỹ. Ông nói: “Tôi nghĩ phần lớn mọi người còn chẳng biết rootkit là gì, vậy tại sao họ phải bận tâm?”

Sáu ngày sau, Kaspersky Lab thông báo về Backdoor.Win32.Breplibot.b, một Trojan mở cửa hậu, được phát tán hàng loạt qua email dưới dạng tệp đính kèm giả làm ảnh. Khi được chạy, Trojan tự sao chép vào thư mục hệ thống Windows với tên $SYS$DRV.EXE. Trên máy tính có XCP, chỉ cần cái tên ấy là đủ để rootkit che giấu Trojan. Trong một bài báo năm 2006, Halderman và Felten cho biết ít nhất hai Trojan được ghi nhận trong thực tế đã lợi dụng cơ chế che giấu này.

Gỡ bỏ XCP cũng có rủi ro riêng. Để lấy công cụ gỡ bỏ của Sony BMG, khách hàng phải điền một biểu mẫu trên web, và biểu mẫu đó cài CodeSupport, một thành phần ActiveX của First4Internet. Các thành phần ActiveX là những tiện ích bổ sung mà Internet Explorer có thể tải về và chạy. CodeSupport vẫn nằm lại trên máy và được đánh dấu “an toàn để điều khiển bằng mã lệnh”, nghĩa là bất kỳ trang web nào cũng có thể gửi lệnh cho nó. Ngày 15 tháng 11, Halderman và Felten cảnh báo rằng thành phần này “cho phép bất kỳ trang web nào bạn truy cập tải về, cài đặt và chạy bất kỳ đoạn code nào nó muốn trên máy tính của bạn”.

Giữa tháng 11, Sony BMG cho biết những đĩa còn trong chuỗi cung ứng sẽ không được bán ra, và người đã mua có thể đổi đĩa. Ngày 21 tháng 11, bang Texas kiện Sony BMG theo đạo luật mới của bang về bảo vệ người tiêu dùng trước phần mềm gián điệp máy tính. Ngày 30 tháng 1 năm 2007, Sony BMG đạt thỏa thuận dàn xếp các cáo buộc do Ủy ban Thương mại Liên bang Mỹ đưa ra. Công ty đồng ý cho người tiêu dùng đổi đĩa CD, hoàn trả tối đa 150 USD cho chi phí sửa chữa những hư hại do việc họ tìm cách gỡ phần mềm gây ra, và ngừng cài đặt phần mềm bảo vệ nội dung khi chưa được người tiêu dùng cho phép.

Rootkit của Sony BMG đã xuất hiện trên bao nhiêu máy tính

Các con số rất dễ bị thổi phồng. Một bài kể lại trên mạng nói rằng phần mềm “âm thầm tự cài đặt trên hơn 22 triệu máy mà người dùng không được cung cấp đầy đủ thông tin để đồng ý”. Cũng bài viết ấy nói Sony BMG “đã xuất xưởng khoảng 22 triệu đĩa CD nhạc”, tức là một con số được dùng để đếm cả đĩa lẫn máy tính.

Phần lớn số đĩa ấy không chứa rootkit. Bài Wikipedia về vụ bê bối chia khoảng 22 triệu đĩa thành khoảng 2 triệu đĩa có XCP và khoảng 20 triệu đĩa có MediaMax, một chương trình chống sao chép khác do SunnComm làm ra. Số liệu trong vụ kiện tập thể mà Halderman và Felten dẫn cho thấy lượng đĩa XCP cao hơn, ở mức hơn 4,7 triệu. MediaMax cũng có vấn đề riêng — phần mềm này tự cài đặt và bắt đầu hoạt động, ít nhất là tạm thời, trước khi hiển thị thỏa thuận cấp phép — nhưng đó không phải rootkit mà Russinovich tìm thấy.

Nhà nghiên cứu bảo mật Dan Kaminsky tìm cách đo mức độ lây lan của rootkit qua hệ thống tên miền (DNS), vốn là danh bạ địa chỉ của Internet. Các máy tính nhiễm rootkit tra cứu địa chỉ server của Sony và First4Internet, và những lần tra cứu ấy để lại dấu vết trong bộ nhớ đệm của các máy chủ tên miền. Dùng kỹ thuật thăm dò bộ nhớ đệm DNS, ông phát hiện “ít nhất 568.200 máy chủ tên miền đã ghi nhận các truy vấn DNS liên quan đến rootkit”. Đây là số máy chủ tên miền, không phải số máy tính cá nhân. Electronic Frontier Foundation, một tổ chức bảo vệ quyền kỹ thuật số, lưu ý rằng nhiều máy tính có thể dùng chung một máy chủ tên miền, trong khi một lần tra cứu có thể được lưu trong bộ nhớ đệm của nhiều máy chủ tên miền. Vì vậy, khó quy đổi con số ấy thành số máy tính.

Rootkit của Sony BMG cho thấy điều gì về phần mềm ẩn mình

Cơ chế che giấu của XCP không kiểm tra xem mình đang che giấu thứ gì. Nó ẩn mọi tên có tiền tố “$sys$”, nên che giấu Trojan cũng hệt như che giấu các tệp của chính XCP. Một cơ chế che giấu trên máy tính sẽ phục vụ bất kỳ ai biết quy tắc của nó.

Công cụ gỡ bỏ cho thấy một vấn đề thứ hai: bản sửa lỗi cũng là phần mềm và cũng có những điểm mà kẻ tấn công có thể nhắm tới. Công cụ dùng để gỡ XCP để lại một thành phần cho phép các trang web chạy code.

Người phát hiện ra rootkit vốn không hề tìm kiếm cơ chế chống sao chép. Russinovich, người cùng Bryce Cogswell đồng sáng lập Winternals và Sysinternals năm 1996, khi ấy đang thử nghiệm phần mềm của chính mình. Microsoft mua lại cả hai công ty vào tháng 7 năm 2006, và sau này ông trở thành giám đốc công nghệ của Azure, nền tảng đám mây của Microsoft.

Phần mềm che giấu mình khỏi chính người dùng cũng che giấu mình khỏi các công cụ bảo vệ của họ.

RootkitRevealer được tạo ra để phát hiện những thứ mà kẻ viết virus che giấu. Trên một chiếc máy tính của chính Russinovich, vào mùa thu năm 2005, công cụ ấy đã phát hiện một album của Van Zant.

Bài liên quan

Đọc bằng ngôn ngữ khác: English

Nguồn