Chương 203: Nước Cờ Cài Cắm Mã Độc Chuỗi Cung Ứng
Chín giờ mười ba phút sáng.
Phòng làm việc của A05 tại Quận 10 vẫn còn đầy tiếng bàn phím.
Một buổi sáng bình thường.
Hồ sơ điện tử được mở.
Văn bản được luân chuyển.
Các báo cáo từ nhiều đơn vị lần lượt chuyển về.
Mỗi máy tính đều có phần mềm quản lý văn bản được cài đặt theo danh sách thống nhất.
Không ai nghĩ nhiều về nó.
Một phần mềm văn phòng.
Một công cụ dùng để mở, nhận, chuyển và lưu hồ sơ.
Thứ người ta thường chỉ nhớ đến khi nó không hoạt động.
Zero đứng bên cạnh bàn của Thượng tá Nghĩa.
Trên màn hình là một sơ đồ những hệ thống đã được kiểm tra từ đêm hôm trước.
Nghĩa nói:
— Đã có kết quả đối chiếu từ ba đơn vị.
Nam nhìn màn hình.
— Sao rồi?
— Cùng một phiên bản phần mềm.
— Phiên bản nào?
Nghĩa đọc mã phiên bản.
Nam im lặng vài giây.
— Các máy này cập nhật cùng một thời điểm?
— Gần như vậy.
— Nhà cung cấp?
— Một doanh nghiệp phần mềm ở Sài Gòn.
Nam quay lại.
— Có bao nhiêu cơ quan đang dùng?
Nghĩa đưa cho anh một bảng thống kê.
— Chưa đủ số cuối cùng.
— Nhưng?
— Khá nhiều.
Nam kéo bảng xuống.
Một loạt tên đơn vị xuất hiện.
Không có gì bất thường.
Cùng một nhà cung cấp.
Cùng một sản phẩm.
Cùng một cơ chế cập nhật.
Nam hỏi:
— Ai phê duyệt bản cập nhật?
Nghĩa đáp:
— Theo quy trình là bộ phận phụ trách công nghệ của từng đơn vị.
Nam nhìn ông.
— Họ có tự kiểm tra mã nguồn không?
Nghĩa lắc đầu.
— Không phải lúc nào cũng có khả năng.
Nam gật.
— Vậy nếu bản cập nhật đã có vấn đề từ trước khi nó tới đây...
Nghĩa nói tiếp:
— Thì người cài đặt chẳng cần biết mình đang cài thứ gì.
Căn phòng im xuống.
Chín giờ hai mươi bảy.
Một máy tính ở góc phòng đột nhiên phát ra âm báo.
Không lớn.
Chỉ một tiếng ngắn.
Nhưng trên màn hình xuất hiện cảnh báo màu đỏ.
SECURITY ALERT
Nam lập tức bước tới.
Cán bộ trinh sát đang sử dụng máy tính quay sang.
— Có chuyện gì vậy?
Nam không trả lời ngay.
Anh nhìn cảnh báo.
Một tiến trình của phần mềm quản lý văn bản vừa khởi chạy.
Sau đó xuất hiện một chuỗi hoạt động bất thường.
Không phải thao tác của người dùng.
Không phải việc mở văn bản.
Không phải chuyển hồ sơ.
Nam nói:
— Ngắt phiên làm việc.
Cán bộ lập tức dừng.
Nghĩa bước tới.
— Có phải bị tấn công không?
— Chưa nói được.
Nam nhìn tiếp.
Một cảnh báo thứ hai xuất hiện.
Rồi thứ ba.
Các dấu hiệu không giống một cuộc tấn công trực tiếp từ Internet.
Không có hàng loạt kết nối bên ngoài.
Không có những dấu hiệu thường thấy của một cuộc xâm nhập ồ ạt.
Nhưng có một thứ đáng ngại hơn.
Hoạt động bất thường xuất phát từ chính phần mềm mà cơ quan đang tin tưởng.
Nam nói:
— Đừng xóa gì.
Nghĩa lập tức ra lệnh:
— Giữ nguyên hiện trạng.
Một cán bộ định đóng cửa sổ cảnh báo.
Nghĩa ngăn lại.
— Không được.
Người kia dừng tay.
Nghĩa nói:
— Ghi nhận toàn bộ màn hình trước.
Một cán bộ khác bắt đầu lập biên bản.
Không ai được tự ý tháo máy.
Không ai được cài lại phần mềm.
Không ai được khôi phục hệ thống bằng bản sao cũ.
Tất cả phải giữ nguyên để kiểm tra.
Nam nhìn màn hình.
Một ý nghĩ vừa xuất hiện.
— Nghĩa.
— Tôi nghe.
— Cho tôi danh sách thời điểm các máy cập nhật phiên bản này.
— Ngay.
Chín giờ bốn mươi.
Bảng thời gian hiện lên.
Máy thứ nhất.
Máy thứ hai.
Máy thứ ba.
Rồi nhiều máy khác.
Có sự chênh lệch vài phút.
Nhưng tất cả đều nằm trong cùng một khoảng thời gian.
Nam nhìn dãy số.
— Không phải từng máy bị tấn công riêng.
Nghĩa hỏi:
— Ý cậu là gì?
— Chúng nhận cùng một thứ.
Nghĩa nhìn màn hình.
— Bản cập nhật?
— Đúng.
Nam kéo sang một bảng khác.
— Nếu đây là mã độc nằm sẵn trong bản cập nhật, thì lúc người dùng bấm cập nhật, họ không nghĩ mình đang mở cửa cho kẻ tấn công.
Nghĩa chậm rãi nói:
— Họ nghĩ mình đang vá lỗi.
— Chính xác.
Nam chỉ vào màn hình.
— Đây mới là thứ nguy hiểm.
Nghĩa không nói.
Nam tiếp:
— Một cuộc tấn công trực tiếp phải vượt qua hệ thống bảo vệ của từng cơ quan.
— Còn kiểu này?
— Chỉ cần làm cho một bản cập nhật đáng tin cậy trở thành thứ không đáng tin.
Nghĩa nhìn anh.
— Rồi để chính nạn nhân cài nó.
Nam gật.
— Không cần ép cửa.
Không khí trong phòng trở nên nặng hơn.
Mười giờ mười lăm.
Nghĩa yêu cầu rà lại hồ sơ của doanh nghiệp cung cấp phần mềm.
Một công ty vừa và nhỏ ở Sài Gòn.
Có văn phòng.
Có nhân viên.
Có hợp đồng.
Có bộ phận hỗ trợ kỹ thuật.
Có khách hàng.
Có lịch phát hành phiên bản.
Không có dấu hiệu bề ngoài nào khiến người ta lập tức nghĩ đây là một tổ chức tội phạm.
Nghĩa nói:
— Đừng biến công ty thành nghi phạm chỉ vì phần mềm của họ có vấn đề.
Nam đáp:
— Tôi biết.
— Có thể họ bị xâm nhập.
— Có thể.
— Có thể một máy phát hành đã bị kiểm soát.
— Có thể.
— Có thể chính nhân viên trong công ty làm.
Nam nhìn ông.
— Còn phải chứng minh.
Nghĩa gật đầu.
Đúng nguyên tắc.
Không được lấy một sản phẩm lỗi làm bằng chứng cho ý đồ phạm tội của cả doanh nghiệp.
Nhưng điều đó không làm nguy cơ nhỏ đi.
Ngược lại.
Nếu nhà cung cấp bị xâm nhập mà không biết, kẻ tấn công đã tìm được một cánh cửa có thể mở cùng lúc cho rất nhiều nơi.
Mười giờ ba mươi tám.
Zero yêu cầu mở một máy tính đã được cách ly theo quy trình.
Không kết nối thêm vào mạng.
Không thử nghiệm trên hệ thống đang vận hành.
Anh chỉ xem những dấu hiệu đã được hệ thống ghi nhận.
Một chuỗi hoạt động của bản cập nhật.
Một tiến trình phụ.
Một thời điểm khởi chạy.
Một số hành vi không phù hợp với chức năng thông thường của phần mềm.
Nam nói:
— Trojan.
Nghĩa hỏi:
— Chắc chưa?
— Về mặt hành vi, có dấu hiệu giống Trojan.
Anh dừng lại.
— Nhưng muốn kết luận chính thức phải phân tích mẫu.
Nghĩa gật đầu.
Trên màn hình, phần mềm quản lý văn bản vẫn có giao diện quen thuộc.
Danh sách văn bản.
Nút chuyển tiếp.
Hộp tìm kiếm.
Lịch sử xử lý.
Không ai nhìn vào đó mà nghĩ bên trong có thứ khác.
Nam nói:
— Con ngựa thành Troy.
Nghĩa nhìn anh.
— Cái gì?
— Thứ bên ngoài trông như món quà.
Nam chỉ vào phần mềm.
— Nhưng bên trong có thứ không được mời.
Mười một giờ mười.
Một cảnh báo mới xuất hiện.
Lần này không phải một máy.
Hai máy.
Rồi ba.
Nam đứng bật dậy.
— Có bao nhiêu máy cùng phiên bản?
Cán bộ kỹ thuật trả lời:
— Đang thống kê.
— Làm nhanh.
Nghĩa nhìn màn hình.
— Nó đang lan?
Nam lắc đầu.
— Chưa chắc.
— Sao?
— Đừng dùng từ “lan” khi chưa chứng minh được.
Anh chỉ vào những cảnh báo.
— Có thể mã độc đang kích hoạt trên nhiều máy độc lập vì chúng cùng nhận một bản cập nhật.
Nghĩa gật.
— Khác với tự lây.
— Rất khác.
Nam nhìn dữ liệu.
Nếu mã độc tự lây, cách xử lý sẽ khác.
Nếu mã độc nằm trong bản cập nhật, điểm kiểm soát quan trọng nhất lại nằm ở nơi khác.
Không phải từng máy tính.
Mà là nguồn cung cấp phần mềm.
Mười một giờ bốn mươi.
Điện thoại của Nghĩa rung.
Ông nghe máy.
— Tôi nghe.
Một cán bộ ở đầu dây báo cáo.
Nghĩa chỉ nói:
— Gửi toàn bộ.
Cuộc gọi kết thúc.
Nam hỏi:
— Gì vậy?
Nghĩa đặt điện thoại xuống.
— Có thêm một đơn vị khác báo cùng hiện tượng.
— Cùng phiên bản?
— Đúng.
Nam nhìn ông.
— Ngoài hệ thống của chúng ta?
— Đúng.
Lần này cả hai đều không nói.
Nếu chỉ một cơ quan bị ảnh hưởng, có thể là sự cố cục bộ.
Hai cơ quan có thể là trùng hợp.
Nhưng khi nhiều đơn vị độc lập cùng xuất hiện một dấu hiệu sau khi cài cùng một bản cập nhật, giả thuyết về chuỗi cung ứng trở nên đáng chú ý.
Nghĩa nói:
— Liên hệ nhà cung cấp.
Nam hỏi:
— Ngay?
— Nhưng không báo cho họ biết tất cả chúng ta đang nghi ngờ điều gì.
Nam nhìn Nghĩa.
— Để họ không vô tình làm mất dấu?
— Đúng.
— Hoặc để tránh cảnh báo người bên trong nếu thực sự có người bên trong.
Nghĩa không trả lời.
Ông chỉ nói:
— Chưa được phép kết luận có người bên trong doanh nghiệp.
Nam gật.
Mười hai giờ mười lăm.
Cuộc họp khẩn diễn ra trong một phòng nhỏ.
Không có quá nhiều người.
Nghĩa đặt một tập hồ sơ xuống bàn.
— Chúng ta có ba giả thuyết.
Ông giơ ngón tay thứ nhất.
— Một: bản cập nhật có lỗi nghiêm trọng ngoài ý muốn.
Ngón thứ hai.
— Hai: hệ thống phát hành của nhà cung cấp bị xâm nhập.
Ngón thứ ba.
— Ba: có người cố ý cài mã độc vào chuỗi phát hành.
Nam tiếp lời:
— Ba giả thuyết này hiện chưa thể phân biệt chỉ bằng cảnh báo trên máy trạm.
Một cán bộ hỏi:
— Vậy cần gì?
Nam đáp:
— Mẫu bản cập nhật.
— Có rồi.
— Bản gốc từ nhà cung cấp.
— Đang xin.
— Tốt.
Nam nói tiếp:
— Ngoài ra cần lịch phát hành, lịch ký xác nhận, người phụ trách, máy chủ phân phối, các phiên bản trước và sau.
Nghĩa nhìn anh.
— Không chỉ tìm mã độc.
Nam gật.
— Phải tìm lúc nào thứ đó xuất hiện.
Câu nói làm cả phòng im xuống.
Đó mới là chìa khóa.
Nếu mã độc đã tồn tại từ trước, dấu vết phải nằm ở những phiên bản cũ.
Nếu nó chỉ xuất hiện ở một phiên bản, phải xác định chính xác thay đổi nào đã đưa nó vào.
Nếu hệ thống phát hành bị xâm nhập, phải xác định thời điểm quyền kiểm soát bị thay đổi.
Nếu người trong cuộc cố tình cài vào, phải tìm hành vi liên quan.
Không có bước nào được phép nhảy cóc.
Một giờ mười hai phút chiều.
Zero nhận được mẫu bản cập nhật.
Anh không chạy nó.
Chỉ kiểm tra cấu trúc và dấu hiệu đã được thu thập trong môi trường an toàn.
Một điểm bất thường xuất hiện.
Nam gọi Nghĩa.
— Có rồi.
— Cái gì?
— Bản cập nhật chúng ta vừa kiểm tra khác với bản được lưu trong hồ sơ phát hành trước đó.
Nghĩa bước tới.
— Khác ở đâu?
— Một thành phần đã thay đổi.
— Có phải mã độc?
— Chưa nói vậy.
Nam nhìn màn hình.
— Nhưng thành phần này không nằm trong mô tả chức năng của phiên bản.
Nghĩa hỏi:
— Có nghĩa là?
— Có người đã đưa thêm thứ gì đó vào.
Nghĩa nhìn anh.
— Có thể là chức năng mới bị bỏ sót trong tài liệu?
— Có thể.
— Hoặc?
— Một thứ được cài mà không muốn người khác biết.
Nghĩa gật.
— Kiểm tra tiếp.
Hai giờ ba mươi.
Bản đồ các máy bị ảnh hưởng được cập nhật.
Không chỉ A05.
Một số đơn vị khác cũng xuất hiện trong danh sách.
Tất cả đều có một điểm chung.
Cùng nhà cung cấp.
Cùng chuỗi cập nhật.
Cùng khoảng thời gian.
Nghĩa đứng trước bảng.
— Vậy cuộc tấn công bắt đầu từ đâu?
Nam nhìn những đường nối.
— Chưa biết.
— Từ cơ quan?
— Không.
— Từ Internet?
— Không có bằng chứng.
— Từ nhà cung cấp?
Nam đáp:
— Có dấu hiệu.
Nghĩa nhìn anh.
Nam nói chậm:
— Nhưng nhà cung cấp cũng có thể là nạn nhân.
Đó là điều khiến vụ án trở nên phức tạp.
Kẻ đứng sau không nhất thiết phải trực tiếp chạm vào hệ thống của cơ quan nhà nước.
Hắn chỉ cần tìm một mắt xích trung gian.
Một công ty phần mềm.
Một nhà cung cấp thiết bị.
Một đơn vị bảo trì.
Một phần mềm được mọi người tin tưởng.
Sau đó biến thứ đáng tin thành phương tiện đưa mã độc vào.
Ba giờ mười lăm.
Một cán bộ kỹ thuật chạy vào.
— Báo cáo anh Nghĩa.
— Nói.
— Hệ thống nội bộ của phòng chúng ta vừa phát sinh thêm cảnh báo.
Nghĩa quay lại.
— Máy nào?
— Máy của đội trinh sát.
Nam bước nhanh tới.
Màn hình đang đỏ.
Không có kết nối bất thường rõ ràng từ bên ngoài.
Không có cảnh báo kiểu một cuộc tấn công ồ ạt.
Chỉ có một tiến trình liên quan tới phần mềm quản lý văn bản đang tạo ra hành vi mà hệ thống bảo vệ đánh dấu là nguy hiểm.
Nam nhìn chằm chằm.
— Nó đang kiểm tra môi trường.
Nghĩa hỏi:
— Nghĩa là gì?
— Nó đang tìm xem mình đang chạy ở đâu.
— Có nguy hiểm ngay không?
Nam không trả lời ngay.
Anh kiểm tra dấu hiệu đã ghi nhận.
— Chưa thấy nó phá gì.
— Nhưng?
— Nó đang hoạt động.
Nghĩa lập tức nói:
— Cách ly máy.
Cán bộ kỹ thuật thực hiện theo quy trình.
Nam nói:
— Không xóa.
— Rõ.
— Không cài lại.
— Rõ.
— Giữ nguyên mẫu.
Nghĩa nhìn sang các cán bộ.
— Tất cả nghe rõ chưa?
Mọi người đồng loạt đáp.
— Rõ.
Nam quay lại màn hình.
Một cảnh báo khác xuất hiện.
SUPPLY COMPONENT — UNTRUSTED BEHAVIOR
Nam đứng yên.
Nghĩa hỏi:
— Cậu thấy gì?
Zero đáp:
— Chúng ta vừa xác nhận một chuyện.
— Chuyện gì?
Nam nhìn những dòng dữ liệu.
— Thứ này không cần tấn công trực tiếp vào phòng làm việc của chúng ta.
Anh quay sang Nghĩa.
— Chúng ta đã tự mang nó vào.
Bốn giờ mười.
Nghĩa ngồi một mình trước tập hồ sơ.
Tên doanh nghiệp cung cấp phần mềm nằm trên trang đầu.
Không phải một công ty bí mật.
Không phải một tổ chức không tồn tại.
Là một doanh nghiệp bình thường.
Có nhân viên.
Có văn phòng.
Có khách hàng.
Có hợp đồng.
Có những người có thể hoàn toàn không biết rằng sản phẩm của mình đã trở thành phương tiện cho một cuộc tấn công.
Nghĩa đóng hồ sơ lại.
Ông không muốn vội vàng biến một doanh nghiệp thành kẻ thù.
Nhưng ông cũng hiểu điều gì vừa xảy ra.
Cuộc tấn công ở Chương 201 tưởng như bắt đầu từ một thiết bị lạ trong phòng máy chủ.
Chương 202 lại mở ra dấu vết của những người có quyền đi vào khu kỹ thuật.
Còn bây giờ, một cánh cửa khác xuất hiện.
Cánh cửa nằm trong chính phần mềm mà hàng nghìn người tin tưởng.
Một bản cập nhật.
Một nút bấm.
Một quy trình bình thường.
Và phía sau nó có thể là một con ngựa gỗ.
Điện thoại của Nghĩa lại rung.
Ông nghe máy.
— Tôi nghe.
Đầu dây bên kia báo một tin ngắn.
Nghĩa không nói gì trong vài giây.
Sau đó ông hỏi:
— Anh chắc chứ?
Người bên kia trả lời.
Nghĩa cúp máy.
Nam nhìn ông.
— Có chuyện gì?
Nghĩa nói:
— Nhà cung cấp vừa xác nhận một việc.
— Gì?
— Bản cập nhật đó không chỉ được gửi cho chúng ta.
Nam nhìn ông.
— Còn bao nhiêu?
Nghĩa đặt điện thoại xuống.
— Họ chưa thống kê hết.
Ông nhìn màn hình.
— Nhưng đã có dấu hiệu nó được phân phối tới rất nhiều khách hàng.
Nam không nói.
Một cảm giác lạnh chạy qua căn phòng.
Nếu đúng như vậy, thứ họ vừa phát hiện không phải một sự cố của riêng một cơ quan.
Nó có thể đã được đưa đi theo một con đường hoàn toàn hợp pháp.
Từ máy chủ của nhà cung cấp.
Qua bản cập nhật.
Đến máy tính của khách hàng.
Rồi từ những máy tính ấy, kẻ đứng sau có thể quan sát, tìm kiếm và chờ đợi.
Nghĩa nói:
— Khóa mọi kết luận.
Nam nhìn ông.
— Nhưng giữ nguyên điều tra?
— Đúng.
Nghĩa đứng dậy.
— Chúng ta chưa biết ai cài nó.
Ông nhìn tập hồ sơ.
— Nhưng bây giờ biết một điều.
— Kẻ đó không cần tự mở từng cánh cửa.
Nam tiếp lời:
— Hắn chỉ cần bán cho người ta một chiếc chìa khóa.
Nghĩa lắc đầu.
— Không.
Ông nhìn màn hình đỏ.
— Hắn khiến người ta tự nhận chiếc chìa khóa ấy từ tay người mà họ tin tưởng.
Ngoài cửa sổ, tiếng xe cộ vẫn bình thường.
Nhưng trong phòng A05, một cuộc điều tra mới vừa chuyển sang cấp độ khác.
Thiết bị lậu trong phòng máy chủ vẫn chưa biết ai đặt.
Chiếc xe biển xanh giả vẫn chưa xác định được người sử dụng.
Và giờ đây, một bản cập nhật phần mềm cũng trở thành vật chứng cần được giữ nguyên.
Ba dấu vết.
Ba con đường.
Chưa ai biết chúng có gặp nhau ở đâu.
Nhưng Lão Cửu đã từng nói:
Đừng chỉ tìm người mở cửa. Hãy tìm xem ai đã làm cho cánh cửa trở thành cửa của hắn.
Và lần này, cánh cửa có thể nằm trong chính thứ mà mọi người vẫn gọi là bản cập nhật.
Chương 203 đã giữ Trojan ở mức điều tra/hành vi, không đưa quy trình cài mã độc hay kỹ thuật phát tán thực tế. Đồng thời chưa kết luận doanh nghiệp phần mềm là thủ phạm; đây là điểm quan trọng để các chương sau có thể mở sang nhà cung cấp bị xâm nhập → nhân sự nội bộ bị mua chuộc → mã độc được đưa vào quy trình phát hành, thay vì biến ngay doanh nghiệp thành phản diện.
--=---
PLS FOLLOW – THEO DÕI KÊNH
Nếu bạn yêu thích câu chuyện này, hãy nhấn Follow (Theo dõi) để không bỏ lỡ những chương tiếp theo. Mỗi lượt theo dõi và sự ủng hộ của bạn là nguồn động lực quý giá, giúp tác giả tiếp tục sáng tác và đưa câu chuyện đến những chặng đường hấp dẫn hơn. Cảm ơn bạn đã đồng hành cùng tác giả!
---==--