Ngày Mai Internet Biến Mất
Chương 2: DNS Không Tồn Tại
Chương 2

DNS Không Tồn Tại

Đồng hồ trên tường hiện 04:51 khi Quân bắt đầu đi sâu hơn.

Cho đến lúc này, anh chỉ kiểm tra bề mặt. Ping, traceroute, bảng định tuyến nội bộ. Những thứ cơ bản, giống bác sĩ đo huyết áp và đếm nhịp tim trước khi mổ. Giờ anh cần mổ.

Anh mở bản sao cấu hình router biên giới mà anh giữ từ thời làm backbone. Không phải cấu hình hiện tại, mà bản anh lưu năm 2023, lần cuối cùng anh có quyền truy cập hệ thống trước khi rời dự án. Đã bốn năm, nhưng cấu trúc lõi hiếm khi thay đổi.

Giao thức định tuyến biên giới hoạt động trên nguyên tắc tin tưởng giữa các hệ thống tự trị. Mỗi nhà mạng, mỗi quốc gia, mỗi tập đoàn lớn sở hữu một hệ thống tự trị riêng, có số hiệu riêng. Họ thông báo cho nhau: "Tôi quản lý dải địa chỉ này, đi qua tôi để đến đó." Hàng chục nghìn hệ thống như vậy nối thành mạng lưới, và tổng thể của tất cả các thông báo đó chính là internet.

Để xóa internet, phải xóa tất cả thông báo đó cùng lúc. Trên tất cả các router lõi. Ở tất cả các quốc gia.

Quân mở cửa sổ dòng lệnh mới, chạy một kịch bản tự viết có thể đọc bảng định tuyến cục bộ và mô phỏng lại trạng thái kết nối dựa trên dữ liệu đã lưu. Kết quả hiện ra trên màn hình: một danh sách dài các số hiệu hệ thống tự trị, mỗi dòng kèm trạng thái "unreachable." Không phải vài trăm. Mà toàn bộ. Hơn bảy mươi nghìn hệ thống trên toàn cầu, theo dữ liệu anh có, đều cùng trạng thái.

Anh cuộn danh sách, đọc từng dòng. Không có ngoại lệ. Không có một hệ thống nào còn hoạt động. Không một mạng quân sự, không một mạng nghiên cứu, không một mạng doanh nghiệp lớn nào sống sót.

Đồng thời. Toàn bộ. Không ngoại lệ.

Trong lịch sử internet, chưa bao giờ có sự kiện nào ảnh hưởng đến hơn ba phần trăm bảng định tuyến toàn cầu cùng lúc. Sự cố lớn nhất mà Quân từng chứng kiến là vụ rò rỉ định tuyến năm 2022, khi một nhà mạng ở Pakistan vô tình quảng bá sai tuyến và kéo theo mười bảy quốc gia mất kết nối trong bốn mươi phút. Bốn mươi phút, mười bảy quốc gia, và cả ngành đã gọi đó là "thảm họa."

Cái anh đang nhìn là tất cả các quốc gia. Và đã hơn hai giờ.

Quân đẩy ghế ra xa bàn. Không phải vì hoảng. Mà vì cần nghĩ.

Có ba kịch bản lý thuyết cho tình trạng này. Anh liệt kê trong đầu, theo thứ tự xác suất giảm dần.

Kịch bản một: lỗi tầng cập nhật toàn cầu. Một bản cập nhật phần mềm bị lỗi được đẩy lên tất cả router lõi cùng lúc, xóa bảng định tuyến. Khả thi về mặt kỹ thuật nếu tất cả router dùng cùng một nhà cung cấp. Nhưng thực tế, router lõi trên thế giới đến từ ít nhất bốn nhà sản xuất khác nhau, chạy phần mềm khác nhau. Không có bản cập nhật nào ảnh hưởng được tất cả.

Kịch bản hai: tấn công phối hợp đa quốc gia. Một tổ chức (hoặc liên minh các tổ chức) xâm nhập vào từng hệ thống tự trị và xóa bảng định tuyến đồng thời. Về mặt quy mô, điều này đòi hỏi hàng nghìn cuộc tấn công song song, mỗi cuộc nhắm vào hệ thống có cơ chế bảo mật riêng. Và phải thực hiện trong cùng một cửa sổ thời gian, đủ ngắn để không hệ thống nào kịp cảnh báo hệ thống khác. Anh ước tính cửa sổ đó dưới mười giây. Khó tin nhưng không hoàn toàn bất khả thi.

Kịch bản ba: internet tự xóa chính nó. Một giao thức ẩn, một lệnh nhúng sâu trong tầng nền tảng, một thứ gì đó nằm bên dưới tất cả các lớp bảo mật và được kích hoạt từ bên trong. Quân gạch kịch bản này trong đầu gần như ngay lập tức. Không có giao thức nào như vậy. Anh biết, vì anh đã đọc mã nguồn tầng nền tảng.

Hoặc anh nghĩ là anh biết.

Anh nhìn lại màn hình. Danh sách hơn bảy mươi nghìn dòng, mỗi dòng một hệ thống tự trị đã chết, cuộn dần như bản cáo phó. Anh đã đọc mã nguồn, đã hiểu cách các lớp bảo mật xếp chồng lên nhau, đã biết chính xác chỗ nào dễ tổn thương và chỗ nào không thể xâm nhập từ bên ngoài. Nhưng "không thể" là từ dùng cho những hệ thống mà người ta hiểu trọn vẹn. Và không ai hiểu trọn vẹn một mạng lưới được xây bởi hàng triệu người, qua hàng chục thập kỷ, bằng hàng trăm ngôn ngữ lập trình khác nhau.

Có thể có những lớp mà anh chưa bao giờ nhìn thấy. Không phải vì chúng bị giấu, mà vì không ai nghĩ đến việc tìm.

Điện thoại bàn trên tường bếp đổ chuông lúc 05:03.

Âm thanh sắc, lạnh, kiểu chuông kim loại cũ. Quân không nhảy dựng. Anh đi chậm qua phòng, nhấc máy.

– Quân. Anh có kiểm tra chưa?

Giọng Phạm Tuấn, kỹ sư viễn thông, đồng nghiệp cũ từ thời backbone. Giọng bình thường, nhưng hơi nhanh hơn mọi khi.

– Đã kiểm tra, Quân nói. Giao thức định tuyến biên giới toàn cầu không còn tồn tại. Không phải lỗi. Không phải tấn công. Route bị xóa.

Im lặng phía bên kia. Ba giây. Tuấn là người hiểu ý nghĩa kỹ thuật của câu đó.

– Tất cả?

– Tất cả mà tôi kiểm tra được. Hơn bảy mươi nghìn hệ thống tự trị.

– Cáp?

– Không xác nhận được từ đây. Nhưng tôi nghĩ cáp còn nguyên. Chỉ tầng logic biến mất.

Im lặng nữa. Dài hơn.

– Bên tôi cũng vậy, Tuấn nói. Trạm viễn thông trung tâm vẫn có điện, thiết bị vật lý hoạt động bình thường. Nhưng mọi kết nối ra ngoài đều chết. Tôi đã gọi cho ba trạm khác bằng đường dây đất. Cùng triệu chứng.

– Tôi biết.

– Quân. Chuyện này không nằm trong bất kỳ kịch bản nào tôi từng đọc.

– Tôi biết.

– Anh có giả thuyết nào không?

Quân nhìn cuốn sổ mở trên bàn. Dòng cuối: ba dấu hỏi.

– Chưa, anh nói.

Tuấn im thêm một giây, rồi:

– Tôi sẽ gọi thêm mấy người nữa. Sáng mai gặp trực tiếp. Địa điểm cũ.

– Được.

Quân đặt máy. Quay lại bàn.

"Địa điểm cũ" là văn phòng TechNode, tầng tám tòa Minh Hải Tower. Nơi nhóm kỹ sư backbone từng họp hàng tuần khi dự án còn chạy. Đã hai năm không ai đặt chân đến đó, nhưng đường dây điện thoại bàn vẫn còn. Thói quen của Tuấn là không bao giờ hủy đường dây.

Quân mở lại tài liệu lưu ngoại tuyến. Tìm bản đối chiếu các kịch bản sự cố mạng toàn cầu mà anh sưu tầm trong mười năm. Mỗi kịch bản gồm: nguyên nhân, quy mô, thời gian phục hồi, dấu vết để lại.

Kịch bản BGP hijack 2008 ở Pakistan: 2 giờ, 1 quốc gia, có nhật ký rõ ràng.

Kịch bản Dyn DDoS 2016: 6 giờ, ảnh hưởng Bờ Đông nước Mỹ, có dấu vết lưu lượng bất thường.

Kịch bản CenturyLink 2018: 37 giờ, ảnh hưởng một phần khu vực Bắc Mỹ, lỗi phần cứng có thể truy vết.

Kịch bản rò rỉ Rostelecom 2020: 2 giờ, ảnh hưởng hàng trăm mạng, có bằng chứng cấu hình sai.

Mỗi sự cố trong lịch sử đều có ba đặc điểm chung: giới hạn về quy mô, giới hạn về thời gian, và để lại dấu vết. Cái anh đang thấy không có đặc điểm nào trong số đó.

Anh đóng tài liệu. Mở sổ tay. Viết thêm, bên dưới các ghi chú trước:

05:10, Xác nhận: triệu chứng đồng nhất ở ít nhất 4 trạm viễn thông. Cáp vật lý: khả năng nguyên vẹn. Tầng logic: bị xóa toàn bộ. So sánh với mọi kịch bản đã biết: KHÔNG KHỚP. Điểm khác biệt cốt lõi: không có dấu vết.

Anh nhìn dòng cuối. Gạch chân hai lần.

Không có dấu vết có nghĩa là một trong hai điều. Hoặc kẻ tấn công đã xóa dấu vết sau khi thực hiện, điều này đòi hỏi quyền kiểm soát không chỉ bảng định tuyến mà cả nhật ký của hàng chục nghìn hệ thống. Hoặc không có kẻ tấn công nào cả, và cái xảy ra không phải là tấn công.

Quân đặt bút xuống. Nhìn ra cửa sổ.

Trời đang sáng dần. Đường viền các tòa nhà bắt đầu hiện rõ trên nền trời xám nhạt. Phía đông, chỗ biển tiếp giáp thành phố, một vệt cam mỏng kéo ngang chân trời. Gió biển vẫn thổi, nhưng yếu dần khi nhiệt độ bắt đầu cân bằng giữa đất và nước.

Anh bật chiếc radio FM cũ đặt trên kệ bếp, loại radio chạy pin mà anh mua từ cửa hàng đồ cổ hai năm trước. Lúc mua, nhân viên bán hàng nhìn anh lạ, kiểu nhìn dành cho người mua đồ không ai mua. Giờ chiếc radio là kết nối duy nhất của anh với thế giới bên ngoài căn hộ.

Đài phát thanh quốc gia vẫn phát. Nhạc nền nhẹ, loại nhạc tự động chạy giữa các bản tin. Chưa có thông báo khẩn. Anh chuyển sang đài FM địa phương. Cũng nhạc, cũng yên ả. Đài phát thanh hoạt động trên sóng vô tuyến, không phụ thuộc internet. Nhưng nội dung thì phụ thuộc, vì biên tập viên cần mạng để nhận tin, xác minh nguồn, liên lạc phóng viên.

Sáng nay, tin tức sẽ đến chậm. Và khi đến, sẽ không đầy đủ.

Quân tắt radio. Ngồi lại trong im lặng vài giây, lắng nghe tiếng tích tắc đồng hồ trên tường, tiếng máy lạnh chạy rì rì ở chế độ thấp nhất, tiếng xe máy lẻ tẻ dưới đường. Những âm thanh lúc nào cũng ở đó nhưng anh không bao giờ để ý, vì bình thường chúng bị chìm dưới tiếng thông báo liên tục từ điện thoại, tiếng chuông cuộc gọi, tiếng ping từ các kênh nhóm.

Sáng nay, căn hộ yên đến mức anh nghe được nhịp thở của chính mình.

Anh đứng dậy lần đầu tiên kể từ 03:17.

Cơ thể nhắc anh rằng đã hơn hai giờ ngồi một chỗ. Vai cứng, cổ mỏi, mắt rát vì nhìn màn hình trong bóng tối. Anh đi vào bếp, uống một cốc nước lọc. Rửa mặt bằng nước lạnh từ vòi. Nước máy vẫn chảy, hệ thống cấp nước Thành Hải dùng bơm điện nhưng phần lớn vẫn vận hành bằng hệ thống kiểm soát cục bộ, chưa bị ảnh hưởng. Chưa.

Anh nhìn ra cửa sổ bếp. Phía dưới, đại lộ Nguyễn Huệ bắt đầu có xe, nhiều hơn vài giờ trước. Người đi bộ sớm, có lẽ là người bán hàng rong đẩy xe ra đường. Bình thường lúc này sẽ có tiếng ding ding từ ứng dụng đặt hàng trên điện thoại của họ. Sáng nay không có.

Trong vài giờ nữa, khi nhân viên văn phòng đến nơi làm việc, khi hệ thống chấm công không hoạt động, khi email không mở, khi cuộc họp trực tuyến không kết nối, khi ứng dụng gọi xe trả về màn hình trắng, khi tài khoản ngân hàng hiện "không thể truy cập," lúc đó câu hỏi "mạng bao giờ có lại" sẽ chuyển thành "chuyện gì đang xảy ra."

Và không ai có câu trả lời.

Quân quay lại bàn. Trước khi ngồi xuống, anh nhìn tấm sơ đồ mạng lưới cáp ngầm Đông Nam Á treo trên tường đối diện. Những đường nét vẽ bằng bút đánh dấu trên nền bản đồ in: cáp APG nối Thành Hải với Hồng Kông và Nhật Bản, cáp AAE-1 chạy xuyên Ấn Độ Dương sang châu Âu, cáp SMW-5 xuống Singapore. Mỗi đường là hàng nghìn kilômét sợi quang nằm dưới đáy biển, mỗi sợi mang hàng trăm terabit mỗi giây. Tất cả vẫn nằm đó, nguyên vẹn, như mạch máu trong cơ thể một người vừa mất ý thức.

Anh đóng laptop, không phải vì không cần nữa, mà để tiết kiệm pin. Anh không biết khi nào sẽ có dịp sạc được, nếu lưới điện bắt đầu bất ổn. Anh cắm sạc vào ổ, nhưng kiểm tra thêm: điện vẫn ổn định. Tạm thời.

Cuốn sổ vẫn mở trên bàn. Anh nhìn các dòng ghi chú viết bằng bút bi xanh, chữ nhỏ, đều, không vội. Đây là tài liệu kỹ thuật duy nhất được tạo ra trong hai giờ đầu tiên của sự kiện, viết bằng tay, trên giấy, bởi một người hiểu hệ thống đủ sâu để biết cái gì đã mất.

Anh lật sang trang mới. Viết tiêu đề: "Các câu hỏi chưa trả lời."

1. Cơ chế xóa: làm thế nào để xóa tất cả bảng định tuyến đồng thời mà không để lại dấu vết? 2. Phạm vi: chỉ internet công cộng, hay cả mạng riêng/quân sự/nghiên cứu? 3. Mục đích: nếu không phải tấn công, thì đây là gì? 4. Tiếp theo: nếu ai đó (hoặc cái gì đó) có khả năng xóa tầng logic, liệu họ có thể xóa thêm tầng nào khác?

Câu hỏi cuối cùng khiến anh dừng bút. Anh nhìn nó mười giây. Rồi khoanh tròn.

Nếu tầng logic có thể bị xóa mà không ảnh hưởng tầng vật lý, thì ngược lại cũng có thể. Và nếu ai đó có khả năng kiểm soát tầng logic của internet toàn cầu, liệu họ có khả năng kiểm soát tầng logic của lưới điện? Của hệ thống nước sạch? Của kiểm soát không lưu?

Quân đóng sổ. Đứng dậy. Nhìn ra cửa sổ lần cuối.

Thành Hải đang thức dậy. Ánh nắng đầu ngày rọi vào mặt kính các tòa cao ốc, phản chiếu lên mặt nước sông Hải chạy giữa thành phố. Xe máy bắt đầu đông hơn trên đại lộ. Tiếng còi xe lác đác. Một ngày mới bắt đầu, và hàng triệu người đang với tay lấy điện thoại trên đầu giường.

Anh biết trong vài phút nữa, mọi thứ sẽ khác.

Ch.2/86
2.445 từ