Một nghiên cứu về tái sử dụng phần mềm độc hại

14:02 | 07/04/2020
Anh Nguyễn ( Ars Technica)

Các nhà phát triển phần mềm độc hại luôn cố gắng khẳng định bản thân bằng những sáng tạo tiên tiến hơn so với đối thủ cạnh tranh. Tại hội nghị RSA Security cuối tháng 2/2020, một cựu hacker của Cơ quan An ninh Quốc gia Hoa Kỳ đã trình diễn một cách tiếp cận hiệu quả khác trong việc xây dựng phần mềm độc hại. Đó là đánh cắp và tái sử dụng lại mã của đối thủ.

 

Patrick Wardle - nhà nghiên cứu bảo mật của Công ty quản lý doanh nghiệp macOS và iOS Jamf, đã chỉ ra cách sử dụng phần mềm độc hại Mac cũ giúp tiếp cận thông minh và ít tốn tài nguyên hơn để triển khai mã độc tống tiền (ransomware), công cụ gián điệp truy cập từ xa và các loại mã độc khác. Cách tiếp cận tốt hơn cả là áp dụng lại mã tiên tiến do các tin tặc được Chính phủ tài trợ thực hiện.

Tuy nhiên, một câu hỏi đặt ra là tại sao không lợi dụng các nhóm tin tặc được các cơ quan Chính phủ tài trợ tạo ra phần mềm độc hại và sau đó sẽ tái sử dụng nó cho ý đồ của mình? Để chứng minh cho luận điểm này, Wardle đã mô tả cách anh ta thay đổi bốn mẫu phần mềm độc hại Mac đã được sử dụng trong các cuộc tấn công trong nhiều năm qua.

Việc tái sử dụng đã khiến phần mềm độc hại gửi báo cáo cho các máy chủ chỉ huy của Wardle thay vì các máy chủ được chỉ định bởi các nhà phát triển. Từ đó, Wardle có toàn quyền kiểm soát phần mềm độc hại tái chế. Điều này cho phép anh ta sử dụng các ứng dụng được phát triển và có đầy đủ tính năng để cài đặt chức năng độc hại của riêng mình, như: chụp ảnh màn hình và dữ liệu nhạy cảm khác từ máy Mac bị xâm nhập; thực hiện các hành động bất chính khác.

Bên cạnh việc tiết kiệm thời gian và tài nguyên, việc tái sử dụng phần mềm độc hại cung cấp hai lợi ích chính như sau:

Thứ nhất: Nó có thể cho phép những kẻ tấn công, đặc biệt là những người từ các nhóm được nhà nước bảo trợ, lây nhiễm vào các môi trường có nguy cơ cao, chẳng hạn như những nơi đã bị nhiễm và được coi là các tác nhân phần mềm độc hại khác. Ở vị trí đó, nhiều nhóm hacker quốc gia sẽ từ bỏ việc triển khai phần mềm độc hại của mình để giữ các chiến thuật, kỹ thuật và quy trình độc quyền riêng. Tái sử dụng phần mềm độc hại của người khác có thể là một sự thay thế phù hợp trong các tình huống này.

Thứ hai: Trong trường hợp phát hiện phần mềm độc hại và phân tích hiện trường, rất có thể các nhà nghiên cứu sẽ gán cuộc tấn công cho các tin tặc gốc chứ không phải bên đã xử lý lại phần mềm độc hại.

Không thiếu bằng chứng cho thấy việc tái sử dụng phần mềm độc hại của đối thủ đã là một thông lệ phổ biến của các tin tặc. Những mã độc WannaCry và NotPetya đã gây ra sự cố tắt máy tính trên toàn thế giới vào năm 2017 và được cho là có nguồn gốc từ Bắc Triều Tiên và Nga. Hai mã độc này lây lan nhanh chóng từ máy tính này sang máy tính khác với sự trợ giúp quan trọng từ EternalBlue - công cụ khai thác Windows được phát triển và đã bị đánh cắp từ cơ quan an ninh quốc gia Hoa Kỳ. Các nhà nghiên cứu tại công ty bảo mật Symantec phát hiện ra rằng, một nhóm hacker được liên kết với chính phủ Trung Quốc đã tái sử dụng phần mềm độc hại của NSA được cài đặt bởi EternalBlue vào 14 tháng trước khi các công cụ hack kỹ thuật cao này của NSA được công bố.

Một bài báo năm 2017 của phóng viên Kim Zetter báo cáo rằng, các tệp do Wikileaks xuất bản cho thấy hacker của CIA đã sử dụng lại các kỹ thuật và các đoạn mã đã được sử dụng trong các cuộc tấn công trước đây trong các dự án mới. Vài năm trước, theo bằng chứng được khai thác bởi Symantec, nhóm tin tặc nói tiếng Nga có tên Turla đã chiếm quyền điều khiển các máy chủ của OilRig - một đối thủ được kết nối với chính phủ Iran. Turla sau đó đã sử dụng cơ sở hạ tầng để tấn công một chính phủ Trung Đông.

Một trong những mục đích của Wardle liên quan đến AppleJeus.c, một đoạn mã độc được phát hiện gần đây nhúng trong một ứng dụng giao dịch tiền điện tử giả cho macOS. Đáng chú ý, mã độc này là số ít trong số các mẫu phần mềm độc hại trên macOS được phát hiện sử dụng phương pháp ẩn trong bộ nhớ hoặc không dùng tệp để thực hiện các hoạt động độc hại giai đoạn hai lên máy Mac được nhắm mục tiêu.

Bằng cách thực thi mã độc chỉ trong bộ nhớ, thay vì sử dụng cách lưu mã phổ biến trên đĩa, Apple AppleJeus.c đã giảm đáng kể khả năng bị chương trình chống virus và các phần mềm bảo mật thiết bị đầu cuối khác phát hiện hoặc có thể nắm bắt được hoạt động giai đoạn hai. Các nhà nghiên cứu đã gán phần mềm độc hại này cho Lazarus - một nhóm tin tặc làm việc cho chính phủ Bắc Triều Tiên.

Để phát triển trình cài đặt hoạt động độc hại không dùng tệp cho macOS riêng của mình, Wardle chỉ thực hiện một sửa đổi nhỏ cho AppleJeus.c. Đó là thay vì lấy chỉ thị phá hoại từ máy chủ ban đầu được chỉ định trong AppleJeus.c, phần mềm độc hại sửa đổi đã lấy chỉ thị phá hoại từ máy chủ mà anh ta kiểm soát .

Bước đầu tiên là phân tích kỹ lưỡng hoạt động bên trong của AppleJeus.c. Trong số những thứ Wardle quan sát được là khả năng của phần mềm độc hại và giao thức mà nó sử dụng để liên lạc với máy chủ chỉ huy và kiểm soát của nhà phát triển ban đầu. Chẳng hạn, bằng cách sử dụng trình dịch ngược, anh ta đã quan sát phần mềm độc hại sử dụng chức năng băm mật mã và chức năng giải mã để tải và sau đó thực hiện các hoạt động giai đoạn hai.

Bằng cách sử dụng trình gỡ lỗi để chặn phần mềm độc hại ngay trước khi nó chạy chức năng băm, Wardle đã tìm thấy chuỗi "VMI5EOhq8gDz", khi được chuyển đến hàm băm hóa ra là khóa giải mã. Sau đó, anh ta đã sử dụng trình dịch ngược và trình gỡ lỗi để khám phá các mật mã và tham số giải mã theo cách tương tự.

Tiếp theo, Wardle đã sử dụng trình soạn thảo hex để thay đổi miền máy chủ điều khiển được mã hóa cứng của phiên bản gốc thành địa chỉ của máy chủ do anh ta kiểm soát. Anh ta đã thiết kế máy chủ điều khiển mới này để sử dụng cùng một giao thức giao tiếp và tương tác từng bước với từng chức năng của phần mềm độc hại.

Để có được phiên bản sửa đổi của AppleJeus.c chấp nhận các hoạt động giai đoạn hai, máy chủ điều khiển của Wardle phải mã hóa nó bằng chính khóa và mật mã mà anh ta quan sát được trong quá trình phân tích. Cùng với đó, Wardle có thể sử dụng AppleJeus.c đã được sửa lại của mình để tải và thực thi bất kỳ tệp thực thi nào mà anh ta chọn.

Với một sửa đổi duy nhất của mã nhị phân và xây dựng một máy chủ C&C, Wardle đã có quyền truy cập vào trình tải mã độc tiên tiến để thực hiện công việc mà anh ta muốn, mà không phải viết bất kỳ đoạn mã phía client nào. Không chỉ dễ dàng hơn so với việc viết mọi thứ từ đầu, nếu biến thể được tái sử dụng này được phát hiện, nó dễ dàng được cho là có nguồn gốc từ Bắc Triều Tiên.

Một điều thú vị là phần lớn mã được sử dụng để thực hiện lây nhiễm của AppleJeus.c đã được đánh cắp từ một phân tích kỹ thuật sâu được công bố bởi nhà nghiên cứu của công ty Stephanie Archibald.

Wardle đã sử dụng các kỹ thuật tương tự để tái sử dụng ba phần mềm độc hại Mac khác đã thực thi trong thực tế. Các phần mềm độc hại đó bao gồm: Fruitfly - một công cụ truy cập từ xa đã đánh cắp hàng triệu hình ảnh người dùng; một ransomware được phát hiện vào năm 2016 và Windtail – mã độc nhắm vào hầu hết các cơ quan chính phủ và công ty ở Trung Đông.

Wardle đã có thể thực hiện các chỉnh sửa khác cho các đoạn mã được sử dụng lại của mình để chúng có thể qua mặt các biện pháp phòng chống phần mềm độc hại được tích hợp trong macOS. Chẳng hạn, vì trình quét phần mềm độc hại Xprotect dựa trên chữ ký tệp, việc thay đổi một byte trong mã được sử dụng lại đủ để nó thoát khỏi sự phát hiện của các phần mềm bảo mật. Khi chứng thực số do Apple cấp đã bị thu hồi, việc hủy ký phần mềm và ký với chứng thực mới là chuyện đơn giản. Để xóa các cảnh báo được hiển thị khi người dùng cố gắng thực thi mã hoặc cài đặt các ứng dụng được tải xuống từ Internet, Wardle có thể dễ dàng xóa các cờ lập trình làm cho các cảnh báo đó xuất hiện.

Bài trình bày của Wardle đem đến ấn tượng rằng việc tái sử dụng phần mềm độc hại là duy nhất đối với các dịch vụ của macOS. Tuy nhiên, đây có thể sẽ là một cách để tái sử dụng phần mềm cho tất cả các hệ điều hành và nền tảng khác.