Công nghệ trên vai người tí hon

HOA KIM 30/05/2024 06:27 GMT+7

TTCT - Cơ sở hạ tầng công nghệ thế giới vẫn đang phụ thuộc quá nhiều vào các tình nguyện viên đang ngày ngày đóng góp cho các dự án mã nguồn mở như một thú vui.

Ảnh: MS Tech

Ảnh: MS Tech

Thử hình dung cây cầu mà bạn phải băng qua trên đường đi làm mỗi ngày được bảo dưỡng bởi một tình nguyện viên duy nhất. 

Người này chịu trách nhiệm kiểm tra từng con ốc, soi từng thanh thép, dặm lại nước sơn, và sửa chữa bất cứ hỏng hóc nào được phát hiện. 

Nhưng họ chỉ làm việc này mỗi khi rảnh rỗi hoặc có hứng, và hoàn toàn không được trả lương.

Nghe rất vô lý, nhưng đó lại là thực tế đang diễn ra với cơ sở hạ tầng kỹ thuật số của nhân loại. Trong thế giới công nghệ, các tình nguyện viên dự án mã nguồn mở là những người bảo dưỡng từng bánh răng trong một cỗ máy lớn, đảm bảo các sản phẩm và dịch vụ mà chúng ta sử dụng hằng ngày vận hành trơn tru.

Tin tặc núp bóng tình nguyện viên

Andres Freund (38 tuổi) - một lập trình viên Microsoft sống ở San Francisco - vừa trở thành người hùng bất đắc dĩ khi giúp cộng đồng công nghệ thông tin tránh khỏi một sự cố bảo mật quy mô lớn nhờ tinh ý nhận ra máy tính của mình... chậm hơn bình thường một chút.

Chuyện là khi Freund đăng nhập vào máy chủ từ xa để làm việc hôm 26-3 thông qua SSH (một giao thức để thiết lập kết nối mạng bảo mật), anh nhận thấy tác vụ này chiếm dụng nhiều tài nguyên máy tính một cách bất thường.

Tò mò, anh tiếp tục đào sâu vào vấn đề và phát hiện một đoạn mã độc đã được cài cắm bên trong thư viện mã nguồn mở phổ biến mang tên XZ Utils. Đoạn mã độc này mở ra "cửa sau" cho kẻ tấn công có thể can thiệp vào quá trình xác thực của SSH, giúp chiếm quyền truy cập toàn bộ hệ thống có sử dụng thư viện trên.

Cần phải nói thêm, XZ Utils là công cụ nén và giải nén dữ liệu cho Linux - hệ điều hành được cài đặt trên hầu hết máy chủ. Điều này đồng nghĩa gần như mọi máy chủ trên thế giới đều có thể trở thành nạn nhân của một sự cố bảo mật nghiêm trọng nếu mã độc này không được phát hiện kịp thời.

Công nghệ trên vai người tí hon- Ảnh 2.

Từ cảnh báo sớm của Freund đến cộng đồng bảo mật, các cuộc điều tra sau đó phát hiện đoạn mã độc đã được thêm vào thư viện XZ Utils thông qua hai bản cập nhật gần nhất do một tình nguyện viên có biệt danh "Jia Tan" đóng góp. 

Người này đã dành nhiều năm - ít nhất từ năm 2022 - để gây dựng lòng tin của cộng đồng mã nguồn mở bằng cách tham gia đóng góp phát triển và duy trì XZ Utils như một tình nguyện viên đầy năng nổ, theo báo The New York Times.

Các chuyên gia còn xâu chuỗi các sự kiện và đặt nghi vấn Jia Tan có thể đứng sau 2 tài khoản ảo khác mang tên "Jigar Kumar" và "Dennis Ens", và dùng chúng để gửi email gây áp lực buộc nhà phát triển chính của XZ Utils là lập trình viên Lasse Collin phải trao quyền phê duyệt các thay đổi cho Jia Tan.

Không phải sự cố đơn lẻ

XZ Utils không phải sự cố nghiêm trọng đầu tiên liên quan đến một dự án mã nguồn mở, dù có thể là trường hợp đặc biệt khi một tình nguyện viên được cộng đồng tin tưởng lại hóa ra là tin tặc nằm vùng.

OpenSSL, một thư viện mã hóa dữ liệu phổ biến, từng bị phát hiện chứa một lỗ hổng nghiêm trọng vào năm 2014 khiến tin tặc có thể nhìn trộm thông tin mà đáng lẽ nó có nhiệm vụ bảo vệ. 

Sự cố mang biệt danh Heartbleed ước tính ảnh hưởng hàng triệu máy chủ trên thế giới vào thời điểm đó, theo The New York Times. OpenSSL được gần 20% website trên thế giới sử dụng, trong đó có các công ty công nghệ với lợi nhuận hàng tỉ USD, nhưng chỉ được duy trì bởi 2 tình nguyện viên trong thời gian rảnh của họ, theo tạp chí The Economist.

Năm 2021, Log4j - một thư viện mã nguồn mở dùng để hỗ trợ ghi chép nhật ký (log) hệ thống, cũng gặp lỗ hổng bảo mật cho phép kẻ tấn công có thể thực thi mã mã độc trên máy chủ bị ảnh hưởng hoặc rò rỉ thông tin nhạy cảm ra bên ngoài. 

Sự cố này được đánh giá là "một trong những lỗi nghiêm trọng nhất" và có thể đã ảnh hưởng hàng trăm triệu thiết bị, báo Financial Times dẫn lời Jen Easterly, giám đốc Cơ quan an ninh mạng và an ninh cơ sở hạ tầng Mỹ khi đó. 

Điểm đặc biệt là lỗ hổng của Log4j cực kỳ dễ khai thác, thậm chí có trường hợp ghi nhận trẻ em "phá đảo" trò chơi điện tử Minecraft chỉ bằng cách chạy vài dòng mã lệnh theo hướng dẫn trên mạng.

Công nghệ trên vai người tí hon- Ảnh 3.

Theo tạp chí MIT Technology Review, những tình huống như vậy là không hiếm, thậm chí xảy ra thường xuyên trong thế giới phần mềm mã nguồn mở - những chương trình cho phép bất cứ ai cũng có thể đọc mã nguồn, sử dụng, và đề xuất đóng góp. Nhưng thường chỉ những sự cố nghiêm trọng nhất mới xuất hiện trên mặt báo và được nhiều người biết đến.

"(Mã nguồn mở) là một ý tưởng đã tồn tại hàng thập niên và trở nên quan trọng đối với khả năng hoạt động của Internet. Khi mọi chuyện đi đúng hướng, mã nguồn mở là một thắng lợi của sự hợp tác. Khi gặp sự cố, nó lại là một mối nguy hiểm có tầm ảnh hưởng sâu rộng" - MIT Technology Review nhận xét.

Trăm dâu đổ đầu tằm

Những sự việc trên là minh chứng cho sự dễ tổn thương của cơ sở hạ tầng kỹ thuật số ngày nay. 

"Sự cố XZ đã cho thấy sự phụ thuộc vào các tình nguyện viên không được trả lương có thể gây ra những vấn đề lớn đến thế nào. Các tập đoàn nghìn tỉ USD mong đợi sự hỗ trợ miễn phí và khẩn cấp từ các tình nguyện viên" - tài khoản X.com của phần mềm mã nguồn mở FFmpeg viết ngày 2-4.

Thật vậy, sở dĩ toàn bộ thông tin về người đứng sau tài khoản Jia Tan, cách thức mà họ triển khai kế hoạch tấn công, cũng như quy mô của sự cố có thể được điều tra và công bố nhanh chóng là nhờ cộng đồng các nhà phát triển và chuyên gia an ninh mạng - những người làm việc này trên tinh thần tự nguyện mà không có sự hỗ trợ tài chính trực tiếp nào từ những công ty hay tổ chức hưởng lợi từ phần mềm này, theo The Verge.

Một kỹ sư công nghệ thông tin có thể đủ thời gian để duy trì một dự án nhỏ như một thú vui, nhưng áp lực sẽ tăng lên khi công nghệ của họ được áp dụng một cách rộng rãi và trở thành nền móng cho nhiều hệ thống đồ sộ, như trường hợp của XZ Utils.

Những lo toan cuộc sống, áp lực công việc hay đơn giản là hứng thú nguội lạnh đều là những lý do có thể khiến một dự án mã nguồn mở bị bỏ dở. 

Collin - bảo trì viên chính của XZ Utils - từng lên tiếng cảnh báo từ 2 năm trước sự cố rằng công việc bảo trì phần mềm này đang gây tổn hại đến sức khỏe tâm thần của anh, theo The Economist. 

Trớ trêu thay, chính Jia Tan đã dựa vào đây và dùng hai tài khoản ảo để gây áp lực cho anh, kiểu "sức khỏe tâm thần không tốt thì đừng ôm, để người khác phụ cho".

Công nghệ trên vai người tí hon- Ảnh 4.

Dẫu biết đặt trọn niềm tin vào các tình nguyện viên dự án mã nguồn mở tiềm ẩn nhiều rủi ro, không công ty nào muốn bỏ tiền ra phát minh lại bánh xe, nhất là khi nền tảng của thế giới kỹ thuật số hiện đại có quá nhiều ràng buộc qua lại lẫn nhau để có thể đập đi xây lại từ con số 0, theo Ciaran Martin, cựu giám đốc điều hành của Trung tâm an ninh mạng quốc gia Anh.

Trường hợp này tương tự như một chủ đầu tư bất động sản muốn xây công trình lại phải tự khai thác xi măng, tự xây lò nung gạch, hay tự đầu tư nhà xưởng luyện thép cùng đủ loại vật liệu xây dựng khác trong khi đã có nhà cung cấp cho từng món, lại còn miễn phí. 

"Ngành công nghệ muốn xây nhà chọc trời, nhưng đường ống nước và cống rãnh lại là việc của tình nguyện viên" - The Economist ví von.

Hài hòa lợi ích

Để duy trì cộng đồng mã nguồn mở sôi động trong khi phòng tránh các sự cố nghiêm trọng có thể xảy ra do tình nguyện viên làm việc quá sức, trang Ford Foundation đề xuất cần bắt đầu bằng việc thay đổi nhận thức: nhiều người, gồm cả chủ doanh nghiệp hoặc các quan chức chính phủ, không đủ hiểu biết về cách thức hoạt động của cơ sở hạ tầng kỹ thuật số và những gì cần thiết để duy trì nó, hoặc có quan niệm rằng phần mềm công cộng thì không cần hỗ trợ.

Tiếp theo, có thể khuyến khích phát triển các tiêu chuẩn rõ ràng - về gồm cách viết tài liệu, thỏa thuận pháp lý và tiêu chuẩn nhất quán để duy trì sự đóng góp của tình nguyện viên - nhằm giúp việc tham gia và duy trì dự án trở nên dễ dàng hơn.

Một số tình nguyện viên thì đang đề xuất các công ty sử dụng phần mềm mã nguồn mở của họ có thể trả một khoản phí cố định hằng tháng, không phải để sử dụng phần mềm mà nhằm chi trả dịch vụ hỗ trợ riêng.

Chẳng hạn, những công ty trả phí có thể nhận được hỗ trợ giải quyết sự cố chuyên biệt hay được ưu tiên đề xuất tính năng mới mà họ cần, trong khi phần mềm vẫn được duy trì mở cho tất cả cộng đồng cùng sử dụng.

Daniel Stenberg, một lập trình viên sống ở Thụy Điển và là người đứng sau dự án mã nguồn mở cực kỳ phổ biến cURL dùng để chuyển dữ liệu giữa các hệ thống trên Internet, ủng hộ mô hình đôi bên cùng có lợi này. Năm 2018, từng có một công ty ở nước ngoài liên hệ Stenberg và đề nghị anh... bay ngay sang chỗ họ để giúp giải quyết một vấn đề gấp liên quan đến cURL.

"Tôi phải giải thích rằng mình không thể sang giúp họ một cách đường đột như vậy... vì tôi chỉ phát triển cURL trong thời gian rảnh và còn có công việc toàn thời gian khác" - Stenberg nói với trang One Zero.

Anh chia sẻ bản thân cảm thấy không hài lòng khi các công ty tìm cách lợi dụng công sức của các tình nguyện viên "thay vì đóng góp cho dự án trong khi họ hưởng lợi rất nhiều từ nó".

Bình luận Xem thêm
Bình luận (0)
Xem thêm bình luận