Notification texts go here Contact Us Buy Now!

[Bản dịch] Đánh giá mặt Y và mặt thế nào của sự cố XZ Utils (Phần 2)


Table of Contents

Kỹ thuật xã hội để kiếm lợi nhuận từ việc tấn công chuỗi cung ứng nguồn mở

Các nhóm APT cao cấp thực hiện các chiến dịch lừa đảo xã hội rất thú vị để xâm nhập vào các mục tiêu được bảo vệ tốt. Ví dụ: các phản hồi của diễn đàn được xây dựng cẩn thận về các tài khoản được nhắm mục tiêu chính xác và các tương tác “ngoài luồng” tiếp theo liên quan đến phần mềm mô phỏng hệ thống đường sắt ngầm đã giúp cung cấp thiết bị cấy ghép Green Lambert [1] ở Trung Đông. Và, theo cách có vẻ là một cách tiếp cận đã được học hỏi, việc thâm nhập dự án XZ Utils [2] có thể là một cách tiếp cận kiên nhẫn, kéo dài nhiều năm, cả hai đều được lên kế hoạch trước nhưng được thực hiện hơi vụng về.

Nỗ lực tấn công bị lộ gần đây này đã dần dần giới thiệu một nhóm nhỏ các ký tự, thông tin liên lạc và mã độc từ xa vào dự án mã nguồn mở có tuổi đời hơn một thập kỷ là XZ Utils và người duy trì nó, Lasse Collin. Mã backdoor được chèn vào tháng 2 và tháng 3 năm 2024, phần lớn là do Jia Cheong Tan, có thể là danh tính hư cấu. Mục tiêu cuối cùng là bí mật triển khai một backdoor sử dụng độc quyền trong sshd bằng cách nhắm mục tiêu vào quy trình xây dựng của XZ Utils và đẩy mã backdoor đến các bản phân phối Linux chính như một phần của cuộc tấn công chuỗi cung ứng quy mô lớn.

Mặc dù cách tiếp cận kỹ thuật xã hội có tính tương tác và nhắm mục tiêu cao này có thể không hoàn toàn mới lạ nhưng nó thật phi thường. Điều đặc biệt nữa là khả năng chèn mã độc cực kỳ tinh vi tận dụng quá trình xây dựng một cách rõ ràng. Trọng tâm của quy trình xây dựng này trong một cuộc tấn công chuỗi cung ứng lớn chỉ có thể so sánh được với sự xâm phạm của CozyDuke/DarkHalo/APT29/NOBELIUM Solarwinds compromise [3] và sự hiện diện liên tục và tinh vi của bộ cấy SUNSPOT – khả năng giám sát của nó để thực thi bản dựng Solarwinds và việc chèn mã độc hại của nó trong quá trình đó. bất kỳ quá trình thực hiện xây dựng Solarwinds nào. Chỉ lần này, đó là sự tham gia của con người vào quá trình xây dựng.

Đáng chú ý là một trong những điểm khác biệt chính giữa sự cố Solarwinds với các cuộc tấn công chuỗi cung ứng trước đó là khả năng truy cập bí mật, kéo dài của đối thủ vào nguồn/môi trường phát triển. Trong sự cố của XZ Utils này, quyền truy cập kéo dài này có được thông qua kỹ thuật xã hội và được mở rộng bằng các tương tác giả định về danh tính con người một cách rõ ràng.

Russ Cox, hiện là nhà nghiên cứu của Google, đã đăng một trong những mốc thời gian theo trình tự thời gian tốt nhất được công bố công khai [4] về khía cạnh kỹ thuật xã hội của sự cố XZ Utils. Đó là rất khuyến khích đọc. Đáng chú ý, Cox viết: "Bài đăng này là dòng thời gian chi tiết mà tôi đã xây dựng về khía cạnh kỹ thuật xã hội của cuộc tấn công, dường như có từ cuối năm 2021".

Một anh chàng người Singapore, một anh chàng Ấn Độ và một anh chàng người Đức bước vào quán bar…

Ba danh tính gây áp lực buộc người sáng tạo và bảo trì Lasse Collin của Lasse Collin vào mùa hè năm 2022 để kích động chuyển giao dự án mã nguồn mở: Jia Tan/Jia Cheong Tan, Dennis Ens và Jigar Kumar. Những danh tính này được tạo thành từ một tài khoản GitHub, ba tài khoản email miễn phí có cách đặt tên tương tự, một tài khoản IRC và Ubuntu One, các thông tin liên lạc qua email trên danh sách gửi thư của nhà phát triển [5] và người bảo trì xuôi tuyến của XZ Utils cũng như mã. Mục tiêu của họ là cấp quyền truy cập đầy đủ vào mã nguồn của XZ Utils cho Jia Tan và khéo léo đưa mã độc vào trong XZ Utils – các danh tính thậm chí còn tương tác với nhau trên các chuỗi thư, phàn nàn về nhu cầu thay thế Lasse Collin làm người bảo trì của XZ Utils.

Lưu ý rằng sự phân tán về mặt địa lý của các danh tính hư cấu ở đây có phần gượng ép, có lẽ để xóa tan những dấu hiệu về sự phối hợp: Singapore hoặc Malaysia (có thể là phương ngữ Phúc Kiến), Bắc Âu và Ấn Độ. Lỗi chính tả và ngữ pháp giống nhau trong quá trình giao tiếp của ba danh tính. Danh tính “Jia Tan” có vẻ hơi gượng ép – dữ liệu vị trí địa lý công khai duy nhất là nút thoát VPN của Singapore [6]  mà danh tính này có thể đã sử dụng vào ngày 29 tháng 3 để truy cập vào cuộc trò chuyện IRC của XZ Utils Libera. Nếu xây dựng một danh tính hư cấu, việc sử dụng nút thoát cụ thể đó chắc chắn sẽ là một tài nguyên được chọn.


pDNS của chúng tôi xác nhận IP này là lối ra Witopia VPN. Mặc dù chúng ta có thể mong đợi tên người dùng “jiat75” hoặc “jiatan018” cho tài khoản IRC “Jia Tan” Libera, nhưng tên người dùng này trong ảnh chụp màn hình ở trên có thể đã được diễn viên “JiaT75” sử dụng vào ngày 29 tháng 3 năm 2024.


Một danh tính bổ sung, Hans Jansen, đã giới thiệu [7] tính năng tối ưu hóa hiệu suất vào tháng 6 năm 2023 cho nguồn XZ Utils do Collin cam kết và sau đó được tận dụng bởi mã backdoor của jiaT75. Jia Tan vui vẻ chấp nhận đề xuất bổ sung IFUNC: “Cảm ơn vì PR và các liên kết hữu ích! Nhìn chung, đây có vẻ là một cải tiến tốt cho chiến lược chọn chức năng của chúng tôi cho CRC64. Nó có thể sẽ hữu ích khi chúng tôi triển khai CRC32 CLMUL :)”.

Yêu cầu kéo này là tương tác duy nhất của danh tính Jansen với chính dự án XZ Utils. Và, không giống như hai danh tính còn lại, tài khoản Jansen không được dùng để gây áp lực buộc Collin chuyển giao việc bảo trì XZ Utils. Thay vào đó, danh tính Hans Jansen đã cung cấp mã rồi biến mất. Chín tháng sau, sau khi chèn mã backdoor, Jansen đã kêu gọi một nhà cung cấp Linux lớn trong chuỗi cung ứng kết hợp mã  XZ Utils có backdoor vào bản phân phối của họ. Danh tính này xuất hiện trở lại trên một báo cáo lỗi Debian [8] vào ngày 24 tháng 3 năm 2024, tạo cơ hội để tạo ra sự cấp bách trong việc đưa mã backdoor vào bản phân phối Debian.

Bản sắc và hoạt động của Jia Tan

Tài khoản GitHub của Jia Cheong Tan (JiaT75), cuối cùng được thăng cấp thành người đồng duy trì của XZ Utils, tài khoản này chèn mã backdoor độc hại, được tạo vào ngày 26 tháng 1 năm 2021. JiaT75 không độc quyền tham gia vào XZ Utils, đã tạo ra hơn 500 bản vá lỗi cho nhiều Các dự án GitHub sẽ bắt đầu từ đầu năm 2022.
  • oss-lông tơ
  • tài liệu cpp
  • thời gian rảnh rỗi
  • xz
Những bản vá vô hại này đã giúp xây dựng danh tính của JiaT75 với tư cách là người đóng góp mã nguồn mở hợp pháp và nhà bảo trì tiềm năng cho dự án XZ Utils. Những nỗ lực vá lỗi cũng đã giúp thiết lập mối quan hệ với Lasse Collin.

Đóng góp mã JiaT75 đầu tiên cho XZ Utils diễn ra vào ngày 29 tháng 10 năm 2021. Mã này đã được gửi đến danh sách gửi thư xz-devel. Đó là phần giới thiệu tập tin cấu hình soạn thảo rất đơn giản. Sau sự bổ sung vô thưởng vô phạt ban đầu này, trong hai năm tiếp theo, JiaT75 đã tạo ra [9] hàng trăm thay đổi cho dự án XZ.

Có, JiaT75 đã đóng góp mã vào cả hai ngày cuối tuần và những ngày có vẻ như là ngày làm việc. Tuy nhiên, một điểm bất thường thú vị là các lần xác nhận độc hại năm 2024 xảy ra không đồng bộ với nhiều lần xác nhận trước đó. Một nhà nghiên cứu của Huntress có bí danh "Alden" [10] đã đăng một hình ảnh trực quan về hành vi độc hại mà Jia Tan thực hiện đối với XZ Utils. JiaT75 cam kết mã độc hoàn toàn không đồng bộ với thời gian làm việc trước đó vào ngày 23-26/2 và ngày 8 và 9/3/2024.


Sự khác biệt về thời gian đối với các cam kết độc hại là đáng chú ý. Sự bất thường này có thể gợi ý điều gì? Chúng tôi suy đoán về một số khả năng:
  • Tài khoản JiaT75 đã được bên thứ hai sử dụng để chèn mã độc hại mà cá nhân người đóng góp đã biết hoặc không xác định.
  • Cá nhân đóng góp JiaT75 đã vội vã thực hiện mã cửa hậu độc hại.
  • Tài khoản JiaT75 được điều hành bởi một nhóm các cá nhân và một phần của nhóm cần phải làm việc mà không bị gián đoạn ngoài ngày làm việc được xây dựng thông thường.
Đặc biệt ranh ma là cách thức mà mã backdoor bị xáo trộn được JiaT75 giới thiệu thành nhiều phần riêng biệt. Mặc dù là mã nguồn mở nhưng phần lớn backdoor không hiển thị trong cây mã nguồn XZ, con người không thể đọc được và không được nhận dạng.

Mùa hè năm 2022 Áp lực phải thêm người bảo trì

Nhiều danh tính quan tâm đã gây áp lực buộc Lasse Collin phải thêm người bảo trì vào mùa hè năm 2022. Cường độ áp lực lên Collin khác nhau tùy theo tài khoản, nhưng tất cả đều tạo cơ hội để gây áp lực và tương tác với Collin.

TênTài khoản GitHubE-mailSự sáng tạo
Giả Tân/Jia Cheong TanJiaT75jiat0218@gmail.comNgày 26 tháng 1 năm 2021
Dennis Ensdennis3ns@gmail.com
Jigar Kumarjigarkumar17@protonmail.com
Nếu chúng ta coi lần tương tác đầu tiên trên danh sách gửi thư xz-devel là thời điểm bắt đầu chiến dịch thì Jia Tan đã gửi một bản vá mã hời hợt [11] vào ngày 29 tháng 9 năm 2021. Dấu thời gian này là 8 tháng sau ngày tạo tài khoản github. Đóng góp ban đầu này là vô hại nhưng thiết lập danh tính này trong dự án nguồn mở.

Một năm sau, Jigar Kumar gây áp lực buộc Lasse Collin phải trao quyền truy cập cho Jia Tan vào mùa xuân và mùa hè năm 2022 trong sáu bình luận chỉ trích về hai chủ đề khác nhau.

Thứ Tư, ngày 27 tháng 4 năm 2022 11:42:57 -0700Re: [xz-devel] [PATCH] Lọc chuỗi và lọc thành chuỗi [12]
Những nỗ lực của bạn là tốt nhưng dựa trên lịch phát hành chậm, thật không may là phải mất nhiều năm cộng đồng mới thực sự có được tính năng chất lượng cuộc sống này.
Thứ năm, 28/04/2022 10:10:48 -0700Re: [xz-devel] [PATCH] Lọc chuỗi và lọc thành chuỗi [13]
Các bản vá dành nhiều năm cho danh sách gửi thư này. Phiên bản 5.2.0 đã được phát hành cách đây 7 năm. Không
có lý do gì để nghĩ rằng bất cứ điều gì sẽ đến sớm.
Thứ Sáu, ngày 27 tháng 5 năm 2022 10:49:47 -0700Re: [xz-devel] [PATCH] Lọc chuỗi và lọc thành chuỗi [14]
Còn hơn 1 tháng nữa là sáp nhập được. Không phải là một bất ngờ.
Thứ ba, 07/06/2022 09:00:18 -0700Re: [xz-devel] XZ cho Java [15]
Tiến trình sẽ không xảy ra cho đến khi có người bảo trì mới. XZ cho C
cũng có nhật ký cam kết thưa thớt. Dennis, tốt hơn hết bạn nên đợi cho đến khi có người bảo trì mới
hoặc tự mình phân nhánh. Gửi các bản vá ở đây không có mục đích trong những ngày này. Người
bảo trì hiện tại mất hứng thú hoặc không quan tâm đến việc duy trì nữa. Thật buồn
khi thấy một repo như thế này.

Thứ ba, 14/06/2022 11:16:07 -0700Re: [xz-devel] XZ cho Java [16]
Với tốc độ hiện tại của bạn, tôi rất nghi ngờ về việc phiên bản 5.4.0 sẽ được phát hành trong năm nay. Tiến bộ duy nhất
kể từ tháng 4 là những thay đổi nhỏ đối với mã kiểm tra. Bạn bỏ qua nhiều
bản vá đang mục nát trong danh sách gửi thư này. Ngay bây giờ bạn nghẹt thở repo của bạn.
Tại sao phải đợi tới 5.4.0 mới thay người bảo trì? Tại sao trì hoãn những gì repo của bạn cần?

Thứ Tư, ngày 22 tháng 6 năm 2022 10:05:06 -0700Re: [xz-devel] [PATCH] Lọc chuỗi và lọc thành chuỗi [17]
“Có tiến triển gì về việc này không? Jia Tôi thấy bạn có những cam kết gần đây. Tại sao bạn không thể
tự mình cam kết điều này?
Danh tính của Dennis Ens thiết lập một chủ đề riêng và theo sau là người bảo trì gây áp lực Collin bằng một thông điệp đặc biệt mạnh mẽ và đáng ghét gửi tới danh sách. Danh tính tận dụng lỗ hổng cá nhân mà Collin đã chia sẻ trên chủ đề này. Danh tính Jigar Kumar phản hồi hai lần về chủ đề này, phàn nàn cay đắng về người bảo trì: "Dennis tốt hơn hết là bạn nên đợi cho đến khi người bảo trì mới xuất hiện hoặc tự mình phân nhánh."

Thứ năm, ngày 19 tháng 5 năm 2022 12:26:03 -0700XZ cho Java [18]
Xperia cho Java có còn được duy trì không? Tôi đã đặt câu hỏi ở đây một tuần trước
và chưa nhận được phản hồi. Khi tôi xem nhật ký git, tôi có thể thấy nó chưa được
cập nhật trong hơn một năm. Tôi đang tìm kiếm những thứ như
mã hóa/giải mã đa luồng và một vài bản cập nhật mà Brett Okken đã gửi
(nhưng vẫn đang chờ hợp nhất). Tôi có nên thêm những thứ này vào
phiên bản địa phương của mình không, hay có kế hoạch nào cho những thứ này trong tương lai không?
Thứ ba, 21/06/2022 13:24:47 -0700Re: [xz-devel] XZ cho Java [19]
Tôi rất tiếc về vấn đề sức khỏe tâm thần của bạn, nhưng điều quan trọng là bạn phải
nhận thức được giới hạn của chính mình. Tôi hiểu rằng đây là một dự án sở thích của tất cả
những người đóng góp, nhưng cộng đồng còn mong muốn nhiều hơn thế. Tại sao không chuyển giao
quyền bảo trì cho Xperia cho C để bạn có thể
chú ý hơn đến Xperia Z cho Java? Hay truyền lại chiếc Xperia cho Java cho người khác để tập trung vào chiếc Xperia cho
chiếc C? Cố gắng duy trì cả hai có nghĩa là cả hai đều không được duy trì tốt.
Suy ngẫm về những điểm dữ liệu này vẫn khiến chúng ta cảm thấy run rẩy. Cho đến khi có thêm thông tin chi tiết được công bố, chúng tôi vẫn còn suy đoán:

  • Trong một dự án kéo dài ba năm, một nhóm nhỏ đã thâm nhập thành công vào cơ sở mã XZ Utils bằng một chiến dịch chậm và áp lực thấp. Họ thao túng việc đưa một tác nhân độc hại vào vị trí đồng bảo trì mã đáng tin cậy. Sau đó, họ bắt đầu và cố gắng đẩy nhanh quá trình phân phối mã độc nhắm mục tiêu sshd tới các bản phân phối Linux của nhà cung cấp lớn.
  • Trong một dự án kéo dài ba năm, một cá nhân đã thâm nhập thành công vào cơ sở mã XZ Utils bằng một chiến dịch chậm và áp lực thấp. Một cá nhân đã quản lý một số danh tính để thao túng việc đưa họ vào vị trí đáng tin cậy của người đồng bảo trì nguồn mở. Sau đó, họ bắt đầu và cố gắng đẩy nhanh quá trình phân phối mã độc nhắm mục tiêu sshd tới các bản phân phối Linux của nhà cung cấp lớn.
  • Trong một khoảng thời gian cực kỳ ngắn vào đầu năm 2024, một nhóm nhỏ đã thao túng thành công một cá nhân (Jia Tan) đã giành được quyền truy cập hợp pháp vào một dự án nguồn mở thú vị với tư cách là người bảo trì mã. Hai cá nhân khác (Jigar Kumar, Dennis Ens) có thể đã tình cờ phàn nàn và gây áp lực buộc Collin phải giao lại vai trò người duy trì. Cá nhân có đòn bẩy đó đã bắt đầu chèn mã độc vào dự án trong vài tuần.

Mùa xuân năm 2024 Áp lực nhập mã backdoor vào Debian

Một số danh tính đã cố gắng gây áp lực cho các nhà bảo trì Debian nhập mã XZ Utils ngược dòng có backdoor vào bản phân phối của họ vào tháng 3 năm 2024. Danh tính Hans Jansen đã tạo nhật ký báo cáo Debian [20] vào ngày 25 tháng 3 năm 2024 để nâng cao tính khẩn cấp trong việc đưa mã backdoor vào bản phân phối của họ vào tháng 3 năm 2024. “Kính gửi các cố vấn, tôi tôi đang tìm nhà tài trợ cho gói “xz-utils” của mình.”

TênĐịa chỉ email
Hans Jansenhansjansen162@outlook.com
krygorin4545krygorin4545@proton.me
misoeater91@tutamail.commisoeater91@tutamail.com
Chuỗi này đã được phản hồi trong vòng một ngày bởi các danh tính bổ sung bằng cách sử dụng sơ đồ địa chỉ email name-number@freeservice[.]com:

Ngày: Thứ ba, 26/03/2024 19:27:47 +0000Từ: krygorin4545 <krygorin4545@proton.me>
Chủ đề: Re: RFS: xz-utils/5.6.1-0.1 [NMU] — Tiện ích nén định dạng Oz [21]
Cũng thấy lỗi này. Đầu ra valgrind bổ sung gây ra một số thử nghiệm thất bại đối với tôi. Có vẻ như phiên bản mới sẽ giải quyết được. Muốn có phiên bản mới này để tôi có thể tiếp tục làm việc


Ngày: Thứ ba, ngày 26 tháng 3 năm 2024 22:50:54 +0100 (CET)Từ: misoeater91@tutamail.com
Chủ đề: Re: RFS: xz-utils/5.6.1-0.1 [NMU] — Nén định dạng Oz [22]
Tôi nhận thấy điều này vào tuần trước và gần như đã mắc phải lỗi valgrind. Vui mừng khi thấy nó được sửa chữa. Cảm ơn Hans!
Những thay đổi về mã đã nhận được phản hồi từ những người đóng góp Debian:

Ngày: Thứ ba, ngày 26 tháng 3 năm 2024 22:11:19 +0000 (UTC)Từ: Thorsten Glaser <tg@debian.org>
Chủ đề: phiên bản ngược dòng mới dưới dạng bảo trì NMU so với xz [23]
Rất *không* là người hâm mộ NMU thực hiện những thay đổi lớn chẳng hạn như
các phiên bản ngược dòng mới. Nhưng điều này khiến chúng tôi đặt ra câu hỏi, việc
bảo trì xz-utils có chuyện gì vậy? Tương tự như việc thiếu
các bản tải lên bảo mật của git mà bạn cũng duy trì, bạn có hoạt động không?
Bạn khỏe chứ?
Một trong những tài khoản có khả năng là con rối này gần như đã phản hồi ngay lập tức, nhằm chống lại bất kỳ sự xao lãng nào trong việc thúc đẩy các thay đổi:

Ngày: Thứ Tư, 27/03/2024 12:46:32 +0000Từ: krygorin4545 <krygorin4545@proton.me>
Chủ đề: Re: Lỗi#1067708: phiên bản ngược dòng mới dưới dạng bảo trì NMU so với xz [24]
Thay vì tranh luận về chính sách xem ai là người thích hợp để thực hiện việc tải lên này, liệu vấn đề này có thể khắc phục được không? Người bảo trì được nêu tên đã không thực hiện tải lên trong 5 năm. Fedora coi đây là một lỗi nghiêm trọng và đã sửa nó vài tuần trước (<https://bugzilla.redhat.com/show_bug.cgi?id=2267598>). Ở đây, việc khắc phục sự cố valgrind trên nhiều ứng dụng trên Debian là ưu tiên hàng đầu.

NeXZt là gì?

Rõ ràng các kỹ thuật lừa đảo qua mạng có yêu cầu kỹ thuật thấp hơn nhiều để có được quyền truy cập đầy đủ vào môi trường phát triển so với những gì chúng ta đã thấy với các cuộc tấn công chuỗi cung ứng trước đây như sự cố Solarwinds, MEDoc ExPetya và ASUS ShadowHammer. Chúng tôi đã trình bày và so sánh các cuộc tấn công chuỗi cung ứng cụ thể này, kỹ thuật và mức độ phức tạp của chúng tại các sự kiện SAS trước đó [yêu cầu đăng ký] [25], chắt lọc đánh giá thành một bảng có thể quản lý được.

Thật không may, chúng tôi dự kiến ​​sẽ có thêm nhiều sự cố về dự án nguồn mở như sự xâm phạm của XZ Utils trong những tháng tới. Trên thực tế, tại thời điểm viết bài này, Tổ chức An ninh Nguồn Mở Open Source Security Foundation (OSSF) đã xác định các sự cố tương tự do kỹ thuật xã hội gây ra [26] trong các dự án nguồn mở khác và tuyên bố rằng nỗ lực kỹ thuật xã hội của XZ Utils rất có thể không phải là một sự cố kỹ thuật xã hội. sự cố cô lập.



Backup: archive.org


إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.