Tháng 6 năm 2010, con virus máy tính Stuxnet được các chuyên viên Symantectì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.
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 MurchuKhi 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.
Đang xem: Siêu mã Độc stuxnet là gì, vũ khí Độc của mossad: virus stuxnet
Xem thêm: Via Facebook Là Gì – Tất Tần Tật Về Via
Xem thêm: Top Down Là Gì ? Top Down Và Bottom Up Là Gì
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!!!