Stuxnet - Hành trình giải mã con virus nguy hiểm nhất thế giới (phần 1)

Tháng 6 năm 2010, con virus máy tính Stuxnet được các chuyên viên Symantec tìm thấy. Con virus “vô hại” này được có khả năng thăm nhập và phá hoại các lò phản ứng hạt nhân. Nó đã lây lan ra toàn thế giới nhưng mục tiêu mà nó nhắm tới chỉ duy nhất là một nhà máy hạt nhân tại Iran.
STUXnet

CHƯƠNG MỘT

Vào tháng 1/2010, khi các nhân viên điều tra của Cơ quan Năng lượng Hạt nhân Quốc tế (International Atomic Energy Agency – IAEA) vừa mới hoàn thành việc thanh tra nhà máy làm giàu Uranium nằm ở ngoại ô Natanz, thành phố ở trung tâm Iran, họ nhận thấy có điều gì đó bất thường ở các phòng nối tiếp* (cascade room) nơi chứa hàng ngàn ống ly tâm đang làm giàu Uranium.

Các kỹ thuật viên của nhà máy, mặc áo choàng trắng, đeo găng tay và đi bao chân màu xanh biển hối hả ra vào các phòng “sạch” này, hì hục chở ra, vào các ống ly tâm cồng kềnh được bọc trong các vỏ ống bằng bạc bóng loáng.

Bất cứ khi nào các ống ly tâm này bị thay thế do hỏng hóc hay ko còn sử dụng được, chúng đều phải được IAEA xác nhận không có chút vật liệu phóng xạ nào bị tuồn trái phép ra ngoài. Các nhân viên kỹ thuật đã bắt đầu làm việc này từ hơn một tháng nay.

Thông thường, trong một năm, Iran thay thế tối đa khoảng 10% số ống ly tâm vì các lý do như khiếm khuyết về vật liệu. Với tổng số 8700 ống lắp đặt tại Natanz vào thời điểm đó thì việc thay thế 800 ống trong một năm là điều bình thường.

Tuy nhiên, khi IAEA xem lại băng ghi hình của các máy quay giám sát lắp bên ngoài các phòng nối tiếp để giám sát chương trình làm giàu Uranium của Iran, họ cảm thấy choáng váng khi tính toán số lượng. Số ống ly tâm công nhân nhà máy đã thay cao tới mức khó tin – những ước lượng sau này cho thấy khoảng từ 1000 đến 2000 ống bị thay trong khoảng thời gian chỉ vài tháng.

Tại sao?

Về mặt thủ tục thì Iran không phải cho biết lý do họ thay các ống ly tâm, cũng như việc thanh tra IAEA không có quyền hỏi. Họ có quyền giám sát chặt chẽ mọi điều diễn ra với vật liệu hạt nhân chứ không phải là những hỏng hóc của thiết bị. Dù vậy, rõ ràng là có điều gì đó đang làm hỏng các ống ly tâm.

Các nhân viên thanh tra không biết rằng câu trả lời họ đang tìm kiếm được ẩn giấu ở khắp mọi nơi xung quanh họ, ẩn trong các ổ cứng và bộ nhớ máy tính của nhà máy Natanz. Vài tháng trước, cụ thể là tháng 6/2009, ai đó đã bí mật phát tán một virus máy tính tinh vi, phức tạp, có khả năng phá hoại, len lỏi qua các máy tính ở Iran chỉ nhắm tới một mục đích duy nhất là phá hoại chương trình làm giàu Uranium của nước này, và ngăn chặn kế hoạch phát triển vũ khí hạt nhân của Tổng thống Mahmoud Ahmadinejad.

Họ chỉ biết được những điều đang xảy ra vào gần một năm sau thời điểm đó. Câu trả lời chỉ được giải đáp sau khi rất nhiều chuyên gia về an ninh máy tính, trên phạm vi toàn cầu, dành hàng tháng phân tích, giải mã phần mềm thủ phạm được cho là phức tạp nhất từ trước đến nay. Hơn nữa phần mềm thủ phạm còn đi vào lịch sử với vai trò là vũ khí kỹ thuật số đầu tiên trên thế giới.


Hình ảnh chụp từ vệ tinh, năm 2002, của nhà máy làm giàu Uranium ở Natanz khi còn đang trong quá trình xây dựng. Phần góc trên bên phải có hai sảnh chứa ống ly tâm. Các sảnh này được xây dựng sâu dưới lòng đất, sảnh bên tay trái là sảnh A, là sảnh duy nhất còn hoạt động. Đây cũng được cho là nơi lắp đặt của các ống ly tâm bị Stuxnet làm hỏng trong năm 2009. Nguồn: DigitalGlobe và Institute for Science and International Security.

*Phòng nối tiếp (hay ‘cascade room’ trong tiếng Anh) là nơi các ống ly tâm được kết nối với nhau theo các chuỗi nối tiếp để thực hiện phân tách đồng vị Uranium-235 (235U) ra khỏi Uranium tự nhiên mà trong đó Uranium-238 (238U) chiếm phần lớn tỷ trọng. 235U là thành phần thiết yếu trong quá trình sản xuất cả năng lượng hạt nhân phục vụ dân sinh lẫn vũ khí hạt nhân.

CHƯƠNG HAI


Tổng thống Iran – Mahmoud Ahmadinejad

Ngày 17/06/2010, khi đang duyệt thư điện tử ở văn phòng tại Belarus, Sergey Ulasen bỗng chú ý tới một bản báo cáo về một máy tính của một khách hàng từ Iran bị khởi động lại liên tục mặc dù người vận hành đã cố gắng khắc phục. Đây là biểu hiện thường thấy khi máy bị nhiễm virus.

Ulasen là trưởng bộ phận chống virus của một hãng an ninh máy tính nhỏ tên là VirusBlokAda ở Minsk. Khởi đầu chỉ là một nhánh nhỏ của khoa học máy tính, chỉ trong vòng một thập niên, an ninh máy tính đã phát triển thành cả một ngành công nghiệp trị giá hàng tỷ đô la do sự bùng phát của những cuộc tấn công mạng tinh vi và sự biến đổi khôn lường của các loại virus máy tính, trojan*, và phần mềm gián điệp.

Các chuyên gia an ninh bậc nhất như Bruce Schneier, Dan Kaminsky và Charlie Miller được coi như các siêu sao trong mắt các đồng nghiệp. Đồng thời các công ty hàng đầu như Symantec, McAfee và Kaspersky đã trở thành những cái tên quen thuộc đối với công chúng, bảo vệ từ những máy tính xách tay của người già cho tới các mạng máy tính quan trọng trong quân sự.

Nhưng VirusBlokAda thì không phải là siêu sao cũng chẳng hề phổ biến mà chỉ là một công ty ít tên tuổi, rất ít người trong nghề biết tới. Nhưng điều này đã thay đổi trong chốc lát.

Nhóm nghiên cứu của Ulasen nhận được mẫu virus trong máy tính bị lây nhiễm của khách hàng và nhận ra rằng virus này lây lan qua một lỗ hổng bảo mật “chưa từng được biết tới” (zero-day exploit). Các lỗ hổng zero-day là vũ khí lợi hại nhất của giới tin tặc vì họ nhắm vào và lợi dụng những điểm yếu phần mềm mà hãng phát triển và các công ty chống virus chưa hề biết tới. Tuy nhiên, chúng cũng rất hiếm, để tìm được và sử dụng zero-day, tin tặc cần phải có kỹ năng tốt cùng với sự kiên trì cao độ. Trong số hơn 12 triệu mã độc được phát hiện hàng năm, có chưa tới một tá sử dụng các lỗ hổng zero-day.

Lần này, phương pháp tấn công cho phép virus lây một cách khôn khéo sang máy tính khác qua các bộ nhớ USB. Điểm yếu nằm ở tập tin dạng LNK** của chương trình Windows Explorer, một thành phần cơ bản trong hệ điều hành Windows của Microsoft. Khi một thẻ nhớ USB đã bị lây được cắm vào một máy tính, Explorer sẽ tự động quét nội dung của ổ USB và làm kích hoạt phần mã khai thác lỗi để lén truyền một tập tin lớn có một phần được mã hóa qua máy tính đích. Việc truyền tập tin này tương tự như việc một máy bay vận tải thả lính dù ngụy trang vào lãnh thổ của địch.

Nhìn lại, đây là phương pháp tấn công rất thông minh vì nó tấn công vào một chức năng phổ biến như vậy. Hơn nữa, không lâu sau đó, các chuyên gia ngạc nhiên nhận ra rằng kiểu tấn công này đã được sử dụng trước đó.

VirusBlokAda thông báo Microsoft về lỗ hổng này, và vào ngày 12/07, trong khi hãng phần mềm khổng lồ này chuẩn bị bản sửa lỗi thì VirusBlokAda công bố phát hiện này trên một bài đăng ở một diễn đàn về an ninh máy tính. Ba ngày sau, blogger về an ninh máy tính Brian Krebs viết về vấn đề này, trong khi các hãng chống virus trên thế giới đua nhau kiếm cho được mẫu của phần mềm ác tính này – được Microsoft gọi là Stuxnet nhờ kết hợp tên các tập tin (.stub và MrxNet.sys) tìm thấy trong phần mã của nó.

Thêm nhiều chi tiết được hé lộ khi cả ngành công nghiệp an ninh máy tính hối hả làm việc, giải mã và phân tích Stuxnet.

Hóa ra phần mã độc đã được triển khai vào khoảng một năm trước tức là vào tháng 06/2009. Hơn nữa, tác giả giấu mặt của Stuxnet cũng đã cập nhật và chỉnh sửa nó, đưa ra ba phiên bản khác nhau. Điểm đáng chú ý là một trong các tập tin thuộc trình điều khiển của virus này sử dụng một tập tin được ký số và xác nhận bằng một chứng thư số bị đánh cắp từ hãng RealTek Semiconductor, một hãng sản xuất phần cứng ở Đài Loan, để đánh lừa các hệ thống máy tính tưởng rằng virus này là một phần mềm đáng tin cậy của công ty này.

Các cơ quan quản lý quốc tế nhanh chóng hủy bỏ chứng thư số này. Tuy nhiên một trình điều khiển khác của Stuxnet bị phát hiện sử dụng một chứng thư khác, lần này ăn trộm từ công ty JMicron Technology, một công ty sản xuất mạch điện cũng của Đài Loan. Không biết là tình cờ hay không mà cả hai công ty này (RealTek và JMicron) đều có trụ sở chính ở tại cùng một khu văn phòng. Liệu những kẻ chủ mưu đã đột nhập trực tiếp vào trụ sở của các công ty này hay gián tiếp qua đường internet để đánh cắp mã khoá dùng để ký số các chứng thư kể trên? Không ai biết rõ.

“Hiếm khi chúng ta chứng kiến những kế hoạch chuyên nghiệp như thế này”, ESET, một công ty về an ninh máy tính, đánh giá trên blog của công ty. “Điều này cho thấy những kẻ tấn công có nguồn lực đáng kể.”

Tuy vậy ở mặt khác thì Stuxnet có vẻ dễ đoán cũng như không tham vọng lắm với mục tiêu nó nhắm tới. Các chuyên gia xác định virus này được thiết kế để nhắm vào Simatic WinCC Step7, một phần mềm điều khiển hệ thống công nghiệp của tập đoàn Siemens, Đức, thường dùng để điều khiển các động cơ, van, và các công tắc trong đủ các kiểu hệ thống công nghiệp như từ các nhà máy chế biến thực phẩm, tới các dây chuyền lắp ráp ôtô, các đường ống dẫn dầu và các nhà máy xử lý nước.

Mặc dù điều này khá mới mẻ, do các hệ thống điều khiển công nghiệp hiếm khi là đích ngắm của tin tặc vì không có kịch bản rõ ràng cho việc kiếm lời bất chính sau xâm nhập, thì những điều Stuxnet thực hiện trên Simatic lại không có gì là mới mẻ. Nó chỉ đơn giản là đánh cắp dữ liệu về cấu hình và thiết kế của các hệ thống. Hoạt động này được đánh giá ban đầu là để giúp các đối thủ cạnh tranh sao chép cách bố trí mặt bằng của nhà máy. Stuxnet, vào lúc này, chỉ có vẻ như là một vụ gián điệp công nghiệp.

Các công ty chống virus bổ sung các dấu hiệu số giúp nhận dạng mã độc dành cho các phiên bản Stuxnet khác nhau vào hệ thống phòng chống virus của họ, và phần lớn là chuyển qua làm các công việc khác.

Câu chuyện về Stuxnet có lẽ đã dừng lại ở đây. Tuy nhiên có một vài chuyên gia an ninh máy tính vẫn chưa muốn dừng bước.

*Trojan có nghĩa là phần mềm trá hình, trong ngữ cảnh an ninh máy tính. Trojan giả dạng là một phần mềm vô hại hay đáng tin cậy để lừa người dùng máy cài đặt hoặc kích hoạt nó. Sau khi thâm nhập Trojan thường âm thầm đánh cắp các thông tin có giá trị của người dùng máy, cũng như làm giảm mức độ an ninh của hệ thống.

**Tập tin LNK có chứa đường dẫn cụ thể tới một tập tin hoặc thư mục trong hệ điều hành Windows.

CHƯƠNG BA


Liam O Murchu

Các nghiên cứu viên thuộc trụ sở của Symantec tại Châu Âu và Mỹ nằm trong số những người nắm được bản mẫu của Stuxnet vào hồi tháng 7 và đã tạo ra dấu hiệu nhận dạng số của virus này cho các khách hàng của họ. Nhưng ngay khi quá trình này kết thúc thì phần mềm độc hại này được chuyển qua cho Liam O Murchu ở trụ sở tại Culver City, California. Liam O Murchu là người gốc Ai-len, có sở thích trượt ván tuyết, chất giọng bay bổng, và phần mái tóc phía trước dựng đứng như thành của lòng máng chơi patin. O Murchu là trưởng bộ phận Phản ứng An ninh (Security Response) của Symantec, với nhiệm vụ là xem xét các phần mềm độc hại đáng chú ý để quyết định xem có cần thiết phải triển khai phân tích kỹ càng.

Phần lớn trong số hơn 1 triệu tập tin độc hại Symantec và các hãng chống virus khác nhận được hàng năm là biến thể của các virus và sâu máy tính đã biết. Chúng được xử lý tự động mà không cần chuyên gia can thiệp. Hệ thống máy tính vận hành các thuật toán sẽ rà soát các tập tin này để tìm kiếm các chuỗi dữ liệu hay các biểu hiện đáng ngờ để xác định danh tính của phần mềm độc hại rồi tạo ra và cập nhật các dấu hiệu nhận dạng cho các phần mềm chống virus ở các máy tính của khách hàng.

Trái lại, do phần mềm độc hại chứa các phương thức tấn công zero-day có tính chất đặc biệt, nên chúng được các chuyên gia trực tiếp phân tích. O Murchu giao Stuxnet cho một kỹ sư chưa có chút kinh nghiệm gì về zero-day nghĩ rằng đây sẽ là một cơ hội tốt để đào tạo anh ta. Tuy nhiên, O Murchu cũng tiến hành phân tích mã của Stuxnet cùng lúc, anh nhận ra rằng virus này phức tạp hơn rất nhiều so với mức anh dự đoán trước đó.

Mã khai thác zero-day được che dấu sau nhiều lớp mã khác nhằm gây khó khăn cho việc phân tích ngược của các chuyên gia. Ngoài ra, virus này có dung lượng rất lớn – 500 kilobyte (kB), trái với mức từ 10 tới 15kB của các virus thông thường khác. Phần lớn các virus có dung lượng lớn ở mức này chứa các tập tin ảnh chiếm nhiều không gian nhớ, chẳng hạn như là một trang web giả dạng một trang ngân hàng trực tuyến để khi hiển thị trên máy tính bị nhiễm sẽ đánh lừa người dùng để lộ thông tin đăng nhập tài khoản. Dù vậy, Stuxnet không hề chứa một tập tin ảnh nào và cũng không hề có các biểu hiện lãng phí bộ nhớ thông thường khác. Mã của virus này có vẻ như là một hệ thống câu lệnh và dữ liệu dày đặc mà vẫn rất hiệu quả.

Điều này lập tức thu hút sự chú ý của O Murchu.

Lần đầu tiên O Murchu đối mặt với phầm mềm độc hại là vào năm 1996, khi đó một sinh viên tại trường Đại học Dublin (College of Dublin) tạo ra một virus để tấn công hệ thống mạng của trường này. Vào ngày 15/03* năm đó, hàng trăm máy tính thuộc các phòng nghiên cứu trong trường bị khóa không cho sinh viên đăng nhập cho tới khi họ trả lời cả 10 câu hỏi hiển thị trên màn hình. Hầu hết mọi người đều cảm thấy rất bực bội vì bị làm phiền, nhưng O Murchu lại thấy rất hứng thú và tiến hành phân tích mã để tìm hiểu cơ chế hoạt động của nó. Sở thích tháo tung mọi thứ nằm trong máu của anh. Khi còn nhỏ, anh không chơi ôtô như bình thường mà tháo tung ra để xem hộp số hoạt động ra sao.

Chính tính tò mò này đã đưa anh đến với nghề an ninh máy tính.

Sau khi tốt nghiệp đại học, trong một khoảng thời gian ngắn, O Murchu làm nghề kiểm tra thâm nhập cho một công ty sản xuất các quầy truy cập Internet ở Mỹ. Trong nghề này anh tìm cách vượt qua rào cản thanh toán của quầy nhằm truy cập Internet mà không phải trả phí. Ban đầu công ty này chỉ thuê anh để kiểm thử vài lần, nhưng cuối cùng phải giữ anh và những kiểm tra viên khác trong ba tháng do họ liên tục tìm được cách để hạ gục hệ thống.

Năm 2002, anh bắt đầu làm việc cho một hãng chống thư rác, không lâu sau thì hãng này được Symantec mua lại. Rồi O Murchu rời Dublin tới Nam California chuyển tới làm việc tại trụ sở đồ sộ của hãng ở Culver City.

Nếu bạn có nhiều kinh nghiệm phân tích virus và sâu máy tính như O Murchu thì chỉ cần liếc nhìn một mã độc đã biết ngay là nó làm gì – con này thì theo dõi thao tác bàn phím, con này là Trojan ăn cắp tài khoản ngân hàng – và liệu nó được vá víu cẩu thả hay được phát triển một cách tỉ mỉ, cẩn trọng và có tổ chức. Stuxnet thì thuộc dạng sau. Nó bao gồm nhiều thành phần, được phân ra theo từng vị trí khác nhau giúp dễ dàng hoán đổi chức năng và thay đổi virus khi cần.

Tuy vậy, điều đáng chú ý nhất là cách virus này giấu các chức năng đó. Thường thì, khi cần sử dụng, các chức năng trong Windows chỉ được tải từ một tập tin DLL lưu trên ổ đĩa cứng. Nếu virus làm điều tương tự thì sẽ bị phần mềm chống virus phát hiện ngay. Để tránh điều này, Stuxnet mã hóa các tập tin DLL độc của nó. Nó chỉ giải mã và lưu chúng tại RAM (bộ nhớ trong) dưới dạng một tập tin ảo với một cái tên được chọn lựa cẩn thận.

Sau đó nó lập trình lại Windows API – phần giao tiếp giữa hệ điều hành và các chương trình chạy trên đó – để mỗi khi có chương trình tải một chức năng từ một thư viện DLL có tên tương tự thì sẽ được lấy ra từ tập tin độc trên bộ nhớ RAM thay vì từ ổ cứng. Thực tế thì Stuxnet đã tạo ra cả một thể loại tập tin ma hoàn toàn mới, không lưu trong ổ cứng và do đó gần như không thể bị phát hiện.

Đây là lần đầu tiên O Murchu bắt gặp kỹ thuật này sau nhiều năm phân tích mã độc. “Kể cả các loại virus phức tạp và cao cấp chúng tôi đã gặp phải cũng chưa bao giờ làm thế,” anh trầm ngâm nhận xét trong buổi phỏng vấn mới đây ở trụ sở Symantec.

Các đầu mối càng ngày càng cho thấy Stuxnet là một sản phẩm chuyên nghiệp, thế mà O Murchu mới chỉ rà soát được 5kB trong tổng số 500kB mã. Rõ ràng là phải cần tới cả một nhóm chuyên gia để xử trí nó. Vấn đề là có nên làm hay không?

Sẽ không có ai trách cứ Symantec nếu họ bỏ dở việc phá mã Stuxnet vào lúc này và chuyển qua làm những công việc khác. Mục tiêu chính của các công ty chống virus là phát hiện – đầu tiên là ngăn chặn lây nhiễm và loại bỏ các mã độc khỏi hệ thống đã bị nhiễm. Tìm hiểu hoạt động của mã độc trên máy tính đã bị nhiễm chỉ là nhiệm vụ thứ yếu.

Dù vậy Symantec cảm thấy cần giải mã các bí ẩn của Stuxnet cho khách hàng của họ. Hơn thế nữa, mã của virus này có vẻ như quá phức tạp và tinh vi so với một phần mềm gián điệp bình thường. Đây là thách thức rất hóc búa và O Murchu muốn chinh phục nó.

“Mọi điều trong đó khiến bạn dựng cả tóc gáy và nghĩ: chúng ta cần xem xét kỹ vụ này.”  – Liam O Murchu

Khi O Murchu hoàn tất phần đánh giá mở đầu thì đã hết ngày thứ sáu, vì thế, anh gửi một bản cập nhật tình hình tới nhóm nghiên cứu của công ty tại Tokyo. Symantec có văn phong nghiên cứu tại Châu Âu, Mỹ và Nhật Bản để cho các nhóm nghiên cứu ở các múi giờ khác nhau luôn sẵn sàng tiếp nhận các virus quan trọng rồi giao lại kết quả khi kết thúc ngày làm việc cho nhóm khác vừa bắt đầu ngày mới.

Nhóm Tokyo dành trọn cuối tuần đó sắp xếp các phần của Stuxnet để tìm hiểu xem họ đang đối mặt với điều gì. Vào thứ hai, O Murchu tiếp tục công việc từ nơi họ dừng lại, cùng với sự tham gia của Eric Chien, giám đốc kỹ thuật của nhóm Phản ứng An ninh, và Nicolas Falliere, kỹ sư phần mềm và chuyên gia phân tích mã cao cấp của Symantec tại trụ sở ở Paris.

Họ xác định rằng, mỗi khi nó nhiễm được vào một hệ thống máy tính, Stuxnet liên lạc tới một trong hai tên miền http://www.mypremierfutbol.com và http://www.todaysfutbol.com đặt tại các máy chủ ở Malaysia và Đan Mạch, để gửi thông tin về các máy tính bị lây nhiễm. Những thông tin này bao gồm địa chỉ IP nội bộ và bên ngoài của máy, tên máy, kiểu và phiên bản của hệ điều hành, và liệu phần mềm Siemens Simatic WinCC Step7 (gọi tóm tắt là Step7) có được cài đặt hay không. Hệ thống máy chủ chỉ huy cho phép những kẻ tấn công cập nhật các chức năng mới cho Stuxnet, hay thậm chí cài đặt thêm nhiều tập tin độc hại vào hệ thống bị lây.

Các công ty cung cấp dịch vụ DNS (địa chỉ tên miền) cho hai địa chỉ trên lập tức chặn lưu lượng gửi tới từ những máy bị nhiễm, nhằm ngăn chặn thông tin về các hệ thống nạn nhân tới tay những kẻ tấn công. Nhưng Symantec có ý hay hơn. Hãng này liên lạc và thuyết phục các nhà cung cấp DNS chuyển hướng các lưu lượng mạng này tới một sinkhole** – một máy tính chuyên tiếp nhận các lưu lượng độc – do Symantec kiểm soát. Tới sáng thứ ba thì Symantec bắt đầu nhận được các báo cáo từ các máy tính bị nhiễm Stuxnet báo về. Hãng này chia sẻ dữ liệu này với các hãng an ninh máy tính khác.

Chỉ trong vòng một tuần dùng sinkhole, có tới khoảng 38 nghìn máy bị nhiễm gửi báo cáo về từ hàng chục nước. Không lâu sau, con số này vượt mốc 100 nghìn. Stuxnet đang lây lan mạnh mặc cho các công ty chống virus phát hành dấu hiệu nhận biết để ngăn chặn.

Khi Chien và O Murchu tạo bản đồ địa lý của các vụ lây nhiễm thì họ phát hiện một mẫu lây lan rất lạ lùng. Trong tổng số 38 nghìn máy bị nhiễm thì Iran chiếm tới 22 nghìn. Indonesia đứng thứ nhì nhưng ít hơn rất nhiều với chỉ khoảng 6700 máy, kế tiếp là Ấn Độ với 3700 máy. Mỹ chỉ có dưới 400 máy bị nhiễm. Chỉ có một số lượng rất nhỏ máy có cài đặt phần mềm Siemens Step 7, 217 máy ở Iran và 16 máy ở Mỹ.

Số lượng lây nhiễm này rất khác biệt so với các trường hợp lây nhiễm ở phạm vi toàn cầu, như những gì diễn ra trong vụ lây nhiễm rộng khắp của sâu Conficker. Trong những trường hợp này, Iran không bao giờ có thứ hạng cao mà luôn là Hàn Quốc và Mỹ, điều này không có gì khó hiểu do hai nước này có lượng người truy cập Internet rất cao. Kể cả khi những vụ có trung tâm lây lan tại vùng Trung Đông hay Trung Á thì Iran cũng không bao giờ có số lượng lây nhiễm cao. Ngược lại thì rõ ràng Iran là trung tâm lây nhiễm của Stuxnet.

Mức độ phức tạp của mã độc, cộng với các chứng thư giả, và giờ thì Iran là trung tâm lây nhiễm hé lộ dường như Stuxnet là tác phẩm của một đội quân trên không gian mạng (cyberarmy) thuộc một chính phủ nào đó – thậm chí có thể là của Mỹ.

Điều này bỗng khiến cho động thái sử dụng sinkhole của Symantec trở nên khá táo bạo. Ngăn chặn lưu lượng độc tới tay những kẻ tấn công, các chuyên gia đối mặt với khả năng họ đang phá hỏng một điệp vụ bí mật của chính phủ Mỹ. Gần đây khi được hỏi về vấn đề này, Chien trả lời, “Với chúng tôi thì không có kẻ tốt, kẻ xấu.” Nhưng sau đó anh tạm dừng, ngẫm nghĩ thêm một chút rồi tiếp. “Thực ra thì kẻ xấu là những kẻ viết mã độc hại để lây nhiễm vào các hệ thống, nhằm gây ra các hậu quả trong hoặc ngoài ý muốn.”

Dù “kẻ xấu” có là chính phủ Mỹ hay các đồng minh của họ thì vụ tấn công này đã gây ra thiệt hại không đáng có cho hàng nghìn hệ thống khác. Symantec cảm thấy rằng hoạt động của họ không nên bị ảnh hưởng bởi các yếu tố cảm tính như lòng yêu nước. “Chúng tôi không chịu ơn bất kỳ quốc gia nào,” Chien nói. “Chúng tôi là công ty tư nhân, đa quốc gia bảo vệ lợi ích của khách hàng.”

Đồng hồ đang đếm từng giây. Các chuyên gia biết rằng tới thời điểm này Stuxnet đã lây nhiễm tới hơn 100 nghìn máy, trong khi họ vẫn chưa biết là nó sẽ làm gì với những hệ thống này.

“Trong khoảng thời gian dài chúng tôi cứ nghĩ rằng có lẽ nó lây lan mạnh ở Iran là do họ không có các phần mềm an ninh cập nhật, và nếu nó lan tới Mỹ, một số nhà máy xử lý nước hay hệ thống điều khiển tàu hỏa hay những thứ khác có thể bị ảnh hưởng,” Chien hồi tưởng lại, gần đây. “Do vậy, chúng tôi thực sự dốc sức làm việc hết tốc lực để tìm hiểu chính xác xem những gì bị virus này tác động tới?”

*Ngày 15/03 (hay “Ides of March” trong tiếng Anh) là ngày kỷ niệm sự kiện Julius Caesar bị ám sát, đồng thời là cột mốc đánh dấu việc đế chế La Mã (Roma) chuyển đổi chế độ từ cộng hòa sang đế quốc.

**Sinkhole là một thuật ngữ về an ninh máy tính, thường được dùng để mô tả 1 hệ thống được xây dựng với mục đích tiếp nhận các lưu lượng thông tin độc hại để xử lý theo cách riêng biệt.

CHƯƠNG BỐN


Eric Chien

Một tối thứ 6 vào cuối tháng 8, O Murchu đang ăn mừng sinh nhật của mình tại một quầy bar trên nóc Khách sạn Erwin có tầm nhìn hướng ra Thái Bình Dương ở Venice, California. Anh đang vui vẻ uống bia và cocktail cùng gia đình và bạn bè. Gần đó một nhóm quay phim của một show truyền hình thực tế đang ghi hình một cặp đôi đang hẹn hò “riêng tư”, thực hiện các cử chỉ “khó nói”. Vào lúc 9 giờ, khi nhóm O Murchu đã ở đây được ba giờ đồng hồ, Chien tới. Nhưng anh chẳng có chút tâm trí nào để tiệc tùng. Anh có việc muốn cho O Murchu biết, tuy nhiên lại không muốn bàn tới công việc.

“Tôi muốn cho cậu xem cái này, nhưng rồi không bàn tới nó nữa cho đến hết tối nhé,” anh nói với O Murchu. Anh lấy chiếc điện thoại BlackBerry của mình ra rồi mở một thư điện tử mới được gửi tới danh sách địa chỉ của một nhóm các chuyên gia an ninh máy tính. Trong thư điện tử này một chuyên gia khác đưa ra giả thuyết rằng còn có các lỗ hổng zero-day khác ẩn mình trong Stuxnet.

O Murchu lặng nhìn Chien. Họ đã rũ tung Stuxnet cả tháng nay và cũng thấy các manh mối của các cách khai thác mã khác trong đó, nhưng vẫn chưa xác nhận được trường hợp nào. Bức thư điện tử không có các chi tiết cụ thể nhưng chỉ riêng lời gợi ý về các yếu điểm zero-day đã đủ khơi dậy tinh thần đua tranh trong O Murchu.

“Thôi nhé,” anh nói. “Tôi không uống thêm gì nữa đâu.”

Sáng sớm hôm sau, thứ bảy, O Murchu tới văn phòng cắm cúi phân tích mã, tập trung vào phần Stuxnet dùng để lây nhiễm, đồng thời kiểm thử và ghi chép lại các kết quả thu được. Tới giữa giờ chiều thì anh nghỉ xả hơi và giao lại công việc cho Chien tiếp tục phân tích suốt buổi tối. Đáng kinh ngạc thay, kết thúc cuối tuần đó họ phát hiện được tận ba cách khai thác mã zero-day nữa.

Ngoài điểm yếu LNK, Stuxnet còn khai thác một yếu điểm về trình xử lý hàng đợi in ấn trong các máy chạy Windows để lây nhiễm giữa các máy tính dùng chung một máy in. Cách khai thác thứ ba và thứ tư lần lượt tấn công vào một tập tin điều khiển bàn phím và lập lịch tác vụ (Task Scheduler) của Windows để nâng quyền quản trị cho những kẻ tấn công, giúp chúng có toàn quyền điều khiển máy. Hơn nữa, Stuxnet khai thác một mật khẩu cố định mà Siemens thiết lập sẵn trong phần mềm Step7. Stuxnet sử dụng mật khẩu này để truy cập và lây lan vào một máy chủ có chứa một cơ sở dữ liệu dùng cho Step7, rồi từ đó lây lan tới các máy khác có kết nối với máy chủ này.

Những kẻ tấn công có dã tâm lan truyền mã độc này thật điên cuồng, nhưng lại theo một cách hạn chế đến kỳ lạ. Khác với phần lớn các phần mềm độc hại thông thường hay dùng tới thư điện tử hoặc các trang web để lây lan theo diện rộng trong thời gian ngắn; Stuxnet chỉ lây lan trong mạng nội bộ. Cách chính duy nhất để Stuxnet lây nhiễm vào một trụ sở mới là một ai đó vô tình hay cố ý mang một ổ USB đã bị nhiễm vào trong trụ sở này.

Dường như những kẻ tấn công nhắm tới các hệ thống mà họ biết rõ là không có kết nối Internet. Do chúng sử dụng tới bốn lỗ hổng zero-day để làm việc này, các mục tiêu phải có giá trị rất cao.

Đây là một chiến thuật tấn công bừa bãi và không chính xác – kiểu như lây một virus lạ cho các bà vợ của Osama bin Laden, hi vọng rằng các bà này sẽ truyền bệnh cho thủ lĩnh Al Qaeda. Chắc chắn là virus sẽ lây sang nhiều người khác nữa, vượt ra ngoài mục tiêu chính, và làm gia tăng khả năng kế hoạch bị bại lộ.

Đây chính là điều xảy ra với Stuxnet. Nhóm nghiên cứu của Symantec phát hiện ra rằng tất cả các mẫu Stuxnet đều có chứa tên miền và nhãn thời gian của từng hệ thống nó đã lây nhiễm. Điều này giúp họ lần theo dấu vết của từng lần lây nhiễm tới máy tính bị nhiễm đầu tiên. Họ phát hiện ra những kẻ chủ mưu đã tập trung tấn công vào năm tổ chức ở Iran mà chúng tin là các cửa ngõ dẫn tới mục tiêu chính. Năm tổ chức này hứng chịu các đợt tấn công vào tháng 6 và tháng 7 năm 2009 và sau đó vào tháng 3, 4 và 5 năm 2010. Tuy nhiên do sử dụng các khai thác mã zero-day nên Stuxnet lây lan ra khỏi các tổ chức này tạo nên cả một mạng lưới lây nhiễm.

Symantec thông báo thêm các điểm yếu zero-day đã tìm thấy này cho Microsoft và các hãng chống virus khác. Các hãng này rà soát kho lưu trữ mã độc của họ để xem có điều gì tương tự với các khai thác này đã xuất hiện trước đây không.

Đáng chú ý là họ phát hiện ra một phương thức khai thác mã LNK tấn công yếu điểm tương tự trong trình Window Explorer đã từng lộ diện vào tháng 11/2008. Cách khai thác mã này được dùng để lây lan một biến thể của Zlob, một họ Trojan chuyên cài đặt phần mềm quảng cáo và các “backdoor độc hại*” trên các máy bị nhiễm. Biến thể Zlob này đã bị các hãng chống virus phát hiện qua hệ thống báo cáo mã độc tự động từ phía khách hàng, tuy nhiên lỗ hổng zero-day thì bị bỏ sót. Sau lần xuất hiện đầu tiên đó, cách khai thác mã này lặn mất tăm cho tới khi tái xuất với Stuxnet.

Cách khai thác điểm yếu trong trình xử lý hàng đợi in ấn cũng đã lộ diện trước đó. Vào tháng 4/2009, một tạp chí về an ninh máy tính của Ba Lan có đăng một bài đề cập tới chi tiết về yếu điểm này và thậm chí còn cung cấp cả mã nguồn khai thác để tấn công vào yếu điểm này từ xa. Dù vậy, Microsoft không biết tới bài báo đó, do vậy đã không vá yếu điểm này.

Thậm chí cả mật khẩu cơ sở dữ liệu được thiết lập cố định của Siemens cũng đã lộ ra từ trước. Tháng 04/2008, một ai đó sử dụng tên “Cyber” đăng mật khẩu này trên các diễn đàn kỹ thuật chuyên về các sản phẩm của Siemens bằng tiếng Nga và tiếng Đức.

Có phải tác giả của Stuxnet, hay ai đó làm việc cho họ đã biết mã khai thác LNK vào năm 2008 để rồi sau đó thu thập nó dùng vào việc tấn công với hi vọng rằng Microsoft sẽ không vá nó? Hay là họ mua lại từ tác giả của Zlob (được cho là các tin tặc Đông Âu) qua các chợ đen chuyên cung cấp mã khai thác, nơi mà các lỗ hổng zero-day được bán với giá từ 50 tới 500 nghìn Đô la? Có phải họ cũng tìm ra các yếu điểm còn lại theo cách tương tự?

*Backdoor độc hại là một dạng chương trình máy tính tự động mở một cổng dịch vụ trái phép trên máy bị lây nhiễm để kẻ tấn công có thể kết nối/kiểm soát từ xa máy tính này.

Xem tiếp phần 2 tại đây!!!

Tham khảo chuyenmuccongnghe