ngược hệ thống

Chương 8: Mấu chốt thuật toán


trước sau
Bạn có thể dùng phím mũi tên hoặc WASD để lùi/sang chương.

Ánh đèn màn hình in lên gương mặt Lâm Phi những đường nét màu xanh lạnh. Đêm đã muộn, căn phòng thuê chỉ còn tiếng quạt máy rì rào và tiếng gõ phím đều đều. Kể từ khi lập được manh mối về token tạm thời, nhóm anh bước vào giai đoạn quan trọng: không còn là thu thập manh mối rời rạc nữa, mà là hiểu cái hệ — cái cấu trúc, luồng dữ liệu, và mạch máu mà người ta dùng để điều khiển đời sống người khác bằng con số.

“Hệ thống chấm điểm không chỉ là một model,” Vũ nói trong cuộc họp online. “Nó là một stack: nhiều microservice, pipelines dữ liệu, stream consumer, và layer luật pháp che chắn. Nếu muốn làm lung lay, ta phải tìm chỗ mỏng nhất trong chuỗi cung ứng dữ liệu — một service lỗi thời, một API không được patch, hay một bên thứ ba mua dữ liệu với bảo mật kém.”

Những ngày sau đó, họ lao vào đọc kiến trúc hệ thống bằng mọi nguồn lực có được: các file log sao chép, ticket support cũ, bản mô tả API lộ ra từ một cuộc trao đổi giữa các bên thứ ba, nhũng comment ẩn trên diễn đàn nội bộ. Lâm Phi là người dẫn đầu phần phân tích, anh mở từng bản sơ đồ, nối từng luồng dữ liệu, và dán chúng lên bảng ảo của nhóm.

Bản đồ hệ thống dần hé lộ: front-end thu dữ liệu từ app người dùng, sau đó stream vào một pipeline ETL (Extract-Transform-Load) được quản lý bởi một hệ queuing; từ đó các microservice xử lý: satuation, enrichment, scoring. Enrichment — giai đoạn làm giàu dữ liệu — là nơi các data broker và bên thứ ba cung cấp thông tin bổ sung: lịch sử tín dụng, lịch sử y tế (tóm tắt), dữ liệu mua sắm, diện mạo hành vi trên mạng. Tất cả được ghép lại và đưa vào mô-đun học máy "scorer" — một blackbox đóng gói tư nhân mà TianTech bán cho nhiều đối tác.

“Chỉ cần nghĩ đơn giản,” Nhan nói, “họ có một con ruột (scorer) và nhiều con bú (microservice enrichment). Nếu ai đó có thể làm sai nguồn dữ liệu enrichment, thì scorer sẽ phản ứng dựa trên dữ liệu giả — và ra một điểm sai lệch có thể làm sụp người ta.”

Đó là ý tưởng đơn giản nhưng sâu sắc: thay đổi nguồn dữ liệu làm giàu để thao túng kết quả cuối cùng. Nhưng làm thế nào để can thiệp vào nguồn? Data broker không phải người dễ tiếp cận; họ mua dữ liệu từ nhiều nguồn hợp pháp lẫn chợ đen, và chuyển qua API có authentication. Họ chỉ tiếp nhận tiền, phím token, và hợp đồng.

Bước ngoặt đến khi Lâm Phi tình cờ phát hiện một microservice tên “EnrichMX v1.2” trong một ticket cũ. Microservice này—do một nhà cung cấp thứ ba phát triển vài năm trước—được triển khai ở một số chi nhánh vùng xa với ít giám sát. Nó có vẻ đã được thiết kế nhanh, với vài endpoint mở để tích hợp dữ liệu từ các nguồn địa phương: sổ hộ khẩu điện tử, hệ thống đặt vé xe khách, thậm chí một số bệnh viện địa phương nơi bảo mật lỏng lẻo. Vì được triển khai ở vùng, EnrichMX không bao giờ được cập nhật thường xuyên; nó dùng một library cũ mà nhà cung cấp đã ngừng support.

“Đây rồi,” Lâm Phi thở một hơi dài. “Một microservice cũ, triển khai phân tán, dùng các API legacy… Nó là điểm yếu thực tế.”

Họ đào sâu: EnrichMX thực hiện các request đến endpoint của nhiều sở ban ngành theo định kỳ, gom dữ liệu thô về, rồi thực hiện các transform đơn giản trước khi chèn vào pipeline chính. Nếu có thể chèn dữ liệu giả vào nguồn mà EnrichMX lấy về, hoặc thay đổi cách EnrichMX làm normalize, kết quả đưa vào scorer sẽ bị thay đổi theo.

Nhưng can thiệp trực tiếp vào cơ sở dữ liệu nhà nước là đường đường chính chính — rủi ro quá lớn. Họ cần một cách tinh tế: lợi dụng chính sự lỏng lẻo của các đối tác nhỏ, những “collector” dữ liệu địa phương, hoặc những dịch vụ tư nhân nhỏ nhận feed từ dân địa phương. Ở đó, quy trình đăng ký API thường sơ sài, nhiều account bị bỏ quản lý, và hệ thống bảo mật có thể bị dẫn dắt bằng social engineering.

“Vấn đề là làm sao chèn dữ liệu mà không để lại vết,” bà Lệ nói. “Nếu họ nhận ra nguồn dữ liệu bất thường, họ có thể audit và khoanh vùng. Ta phải dùng cách mà hệ thống coi là ‘bình thường’: một luồng enrichment đến từ một nhà cung cấp đáng tin cậy, vào thời điểm đúng, với schema đúng.”

Họ bắt đầu lập danh sách các đối tác cấp thấp: công ty CNTT huyện, nhà cung cấp API đặt vé, dịch vụ y tế tư nhân nhỏ, một số chợ dữ liệu khu vực đang bán hồ sơ. Nhan và Vũ bắn liên hệ giả — tạo doanh nghiệp vỏ bọc, xin hợp tác, dùng chứng chỉ và giấy tờ gần hợp lệ. Lúc đầu họ thử nghiệm bằng cách gửi những bộ dữ liệu nhỏ mô phỏng để xem hệ thống có chấp nhận không. Một vài lần bị từ chối; một vài lần họ phải tinh chỉnh schema. Nhưng EnrichMX, do được thiết kế để thu gom đa nguồn, rất dễ tiêu thụ những bộ dữ liệu tương thích.

Kế hoạch được vạch rõ: thay vì tấn công scorer trực tiếp, họ sẽ can thiệp vào enrichment upstream — thay đổi các thuộc tính ít quan trọng (ví dụ: tag từng giao dịch nhỏ, tần suất mua sắm, điểm nền tảng về di chuyển) để thay đổi score theo hướng có lợi. Không phải phá hủy cả hệ thống, mà là “điều chỉnh” đủ để phơi bày mâu thuẫn: nếu điểm của một người được tái tính bất ngờ cao hoặc thấp hơn so với thực tế, sẽ tạo ra mẫu bất thường trong báo cáo, khiến truyền thông độc lập chú ý.

Nhưng trước khi làm điều đó, họ cần xác nhận một điều: liệu EnrichMX có ghi log chi tiết để audit? Nếu có, thay đổi dữ liệu sẽ để lại vết. Họ phải tìm cách làm thay đổi log hoặc thêm các entry giả để che chắn. Đó là lý do họ cần token tạm thời của Lê Minh — manh mối đã có trước đó — vì token đó có thể dùng để tạo ra một trace “hợp lệ” khi dữ liệu được chèn vào.

Kế hoạch kỹ thuật được chia thành các giai đoạn:

Xác thực endpoint: tìm chính xác URL, schema và auth method mà EnrichMX dùng để nhận data từ partner.

Tạo partner vỏ bọc: một công ty nhỏ có vẻ hợp pháp, có hợp đồng mẫu, có hồ sơ ngân hàng và một chuỗi email doanh nghiệp.

Chèn dữ liệu thử nghiệm: gửi dataset nhỏ, kiểm tra cách EnrichMX chuyển tiếp biến đổi, và xem data xuất hiện như thế nào trong pipeline.

Che giấu dấu vết: dùng token tạm thời và timestamp tương thích để tạo trace giả, đồng thời tạo entry ghi log “correction” để che phủ sự khác thường.

Quan sát phản ứng scorer: nếu scorer tính toán khác biệt có thể dẫn đến kết luận sai lệch, họ sẽ tạm dừng và phân tích. Nếu đủ mạnh, họ sẽ tinh chỉnh để dùng như bằng chứng điều tra—chứ không phải để làm hại vô tội.

Mầm lo phần liên hệ và PR chìm: “Chúng ta không thể công khai chiến lược. Khi có một mẫu dữ liệu biến động, ta cần kênh truyền thông độc lập sẵn sàng chỉ ra mâu thuẫn, để dư luận bắt đầu đặt câu hỏi về tính chính xác của điểm. Không phải phơi bày dữ liệu giả để hại người, mà là tạo ra tình huống để buộc họ phải minh bạch.”

Họ thử nghiệm trên một vùng nhỏ: chọn một tập dữ liệu địa phương, chèn vài entry giả mô phỏng thói quen đi lại nhiều hơn, điều chỉnh vài tag bệnh án (những tag không nhạy cảm nhưng có thể ảnh hưởng scoring như “khám bệnh định kỳ” thành “khám cấp cứu”), và gửi đi. Kết quả hiện về sau vài giờ: EnrichMX chấp nhận, transform xong, và pipeline ghi nhận những field mới. Scorer đánh dấu vài hồ sơ có sự khác thường trong trend, tăng một chút vài chỉ số. Dù chưa đủ để gây ra quyết định hành chính, nhưng đó là minh chứng kỹ thuật rằng phương pháp khả thi.

Niềm vui không kéo dài lâu. Một đêm, khi nhóm đang phân tích logs, một alert lạ xuất hiện: một dịch vụ monitoring bên cạnh TianTech đã quét pattern abnormal enrichment và ghi nhận một nguồn dữ liệu lạ. Alert được gửi đến phòng an ninh nội bộ. Lâm Phi cảm nhận như cả trời đổ xuống — họ đã để lại dấu vết quá nhỏ chưa được che kĩ.

“Phải rút ngay,” Vũ nói, giọng anh trở nên căng. “Xóa traces, reroute, rollback.” Họ lao vào hành động: remote wipe các bản sao, làm giả các HTTP headers để trùng với traffic cũ, gửi requests “correction” để che chắn. Những thao tác này kịp thời chặn một cuộc điều tra nông, nhưng rõ ràng Tống Đại và đội ngũ an ninh đã bắt đầu để mắt.

Buổi họp sau đó là căng thẳng. Họ thảo luận về mức độ rủi ro, về đạo đức của việc can thiệp nguồn dữ liệu. Bà Lệ nhấn mạnh: “Chúng ta không được phép làm tổn hại người vô tội. Mục tiêu là phơi bày cơ chế thao túng, không tạo thêm nạn nhân.” Lâm Phi im lặng, nhận trọng trách. Anh hiểu rằng kỹ thuật có thể tạo ra hiệu ứng domino — vài thay đổi nhỏ có thể khiến một người mất việc, và việc đó, dù vô ý, là điều không được phép.

Họ tinh chỉnh: thay vì can thiệp trực tiếp vào hồ sơ cá nhân, họ chọn can thiệp vào chỉ số tổng hợp — các aggregated features mà scorer dùng để phân loại nhóm, không cá nhân. Bằng cách thay đổi distribution của các aggregated features trên một vùng, họ có thể chứng minh scorer dễ bị thao túng mà không hại cá nhân. Đây là một lựa chọn chiến lược và đạo đức.

Khi mọi thứ đã sẵn sàng, họ chuẩn bị một bài báo kỹ thuật: một phân tích chỉ ra rằng EnrichMX có thể bị lợi dụng do một endpoint legacy. Bài báo sẽ không nêu tên người thực hiện; thay vào đó, nó mô tả phương pháp, bằng chứng kỹ thuật (hashes, snapshots), và kết luận rằng hệ thống chấm điểm đang bị rủi ro thao túng dữ liệu. Kênh truyền thông độc lập của Mầm được chuẩn bị để phát tán khi cần.

Đêm trước khi họ quyết định áp dụng trên diện nhỏ, Lâm Phi ngồi một mình. Anh nhìn bản đồ hệ thống dán trên tường, tay run khi chạm vào vị trí EnrichMX. Hình ảnh Hạ Long, người đã mất ở chương trước, bật lên trong tâm trí — một lời nhắc rằng mỗi bước đi đều có giá. Anh tự nhủ: “Phải làm đúng. Phải làm để lộ ra hệ thống chứ không làm tổn hại người vô tội.”

Sáng hôm sau, họ gửi đi một batch nhỏ các aggregated changes đến EnrichMX vùng thử nghiệm, theo đúng kịch bản. Họ chờ đợi. Trong vài giờ, dashboard hiển thị sự thay đổi distribution như mong đợi, và một báo cáo nội bộ cảnh báo “inconsistency in enrichment source.” Mầm bấm nút: bài báo kỹ thuật được phát tán đến một tờ báo độc lập, kèm theo snapshot và phân tích.

Phản ứng đến nhanh. Một bài báo điều tra nhỏ đăng tải, các diễn đàn chuyên ngành bàn luận rôm rả, và quan trọng nhất — một vài chuyên gia bên ngoài đặt câu hỏi về quy trình mua bán dữ liệu và tính minh bạch của scorer. Ở trong nội bộ TianTech, các cuộc họp khẩn được triệu tập. Ở phòng quyền lực, Tống Đại nhận báo cáo và nhíu mày. Họ đã chọc đúng chỗ.

Chương kết thúc bằng hình ảnh Lâm Phi đứng trong bóng đêm, nhìn màn hình hiện những dòng comment tranh luận về bài báo. Trong lòng anh có sự nhẹ nhõm — lần đầu tiên, dư luận bắt đầu đặt vấn đề với hệ thống. Nhưng bên cạnh đó là sự căng thẳng: họ đã bị chú ý, và con quái vật quyền lực đang tỉnh giấc. Mấu chốt thuật toán đã bị khảo sát — họ đã tìm ra điểm mỏng — nhưng điều đó chỉ là khởi đầu của một cuộc chiến dài, nơi mỗi chiến thắng sẽ trả bằng một giá rất đắt.


trước sau
Bạn có thể dùng phím mũi tên hoặc WASD để lùi/sang chương.
Truyện
Đề Cử
×