Vậy là suốt ba giờ, một hacker đã ung dung dạo quanh hệ thống của chúng tôi, tùy nghi đọc mọi dữ liệu. Hắn không hay biết rằng chiếc máy Decwriter 22 1.200 baud của tôi đã ghi lại phiên truy cập của hắn trên một cuộn giấy in dài 24m. Từng dòng lệnh hắn đưa ra, từng lỗi đánh máy và từng phản hồi từ máy tính – tất cả đều được ghi lại.
22 Decwriter: Một thiết bị đầu cuối gồm bàn phím và máy in được DEC sản xuất vào khoảng những năm 1970. (BTV)
Máy in theo dõi đường dây từ Tymnet 23 . Tôi không nhận ra điều này, nhưng một số đường dây 1.200 baud của chúng tôi không phải là đường dây modem quay số mà đến từ Tymnet, một hãng viễn thông liên kết các máy tính trên thế giới.
23 Tymnet là một công ty viễn thông sử dụng đường dây điện thoại quay số liên kết nhiều máy tính ở khắp nơi trên thế giới với nhau khi Internet vẫn chưa phát triển. Khi Internet phát triển mạnh mẽ vào những năm 1990, công nghệ của Tymnet trở nên lỗi thời và công ty đã đóng cửa vào năm 2004. (BTV)
Trước khi bị chia tách, Hệ thống Bell 24 nắm độc quyền trong ngành viễn thông. AT&T 25 là cách duy nhất để kết nối New York với Chicago. Bằng cách sử dụng modem, hệ thống điện thoại có thể xử lý dữ liệu, nhưng tạp âm và chi phí dịch vụ đường dài khiến giải pháp này không phù hợp với máy tính. Cuối thập niên 1970, một số công ty khác bắt đầu rụt rè tiến vào lĩnh vực còn mới mẻ này và cung cấp những dịch vụ chuyên biệt như điện thoại dữ liệu. Tymnet đã xây dựng một mạng lưới để kết nối máy tính ở các thành phố lớn.
24 Hệ thống Bell (Bell System): Hệ thống các công ty của Công ty Điện thoại Bell (sau này là AT&T), cung cấp dịch vụ điện thoại đường dài ở Bắc Mỹ trong giai đoạn 1877-1984, và nhiều lúc nắm độc quyền dịch vụ này. Vào năm 1983, chính phủ Mỹ đã buộc hệ thống này phân chia thành nhiều công ty độc lập để chống độc quyền. (BTV)
25 AT&T: Một công ty phát triển từ Công ty Điện thoại Bell, sau đó gần như thâu tóm toàn bộ ngành viễn thông Mỹ trong một thời gian dài. Hiện nay, đây vẫn là công ty viễn thông và truyền thông lớn nhất của Mỹ. (BTV)
Ý tưởng của Tymnet đơn giản nhưng khéo léo: Tạo ra một trục viễn thông số, cho phép tất cả mọi người kết nối vào trục này bằng cách thực hiện một cuộc gọi điện thoại cục bộ, sau đó gửi dữ liệu đến bất kỳ máy tính nào trong mạng lưới. Tymnet sẽ nén dữ liệu của vài chục người dùng thành một số gói dữ liệu, và gửi chúng đi khắp nước Mỹ với chi phí rất thấp. Hệ thống này miễn nhiễm với tạp âm, và người dùng lại có thể có được tốc độ nhanh tùy ý. Khách hàng tiết kiệm được chi phí vì có thể thực hiện một cuộc điện thoại cục bộ để truy cập vào một máy tính ở xa.
Để phục vụ giới khoa học cả nước, LBL đặt thuê dịch vụ của Tymnet. Một nhà nghiên cứu ở Stonybrook, New York muốn kết nối với máy tính của chúng tôi sẽ gọi vào số Tymnet cục bộ. Sau khi modem của anh ta kết nối với Tymnet, nhà nghiên cứu chỉ cần yêu cầu tiếp cận LBL là có thể làm việc như thể đang ở Berkeley. Giới vật lý học ở xa rất chuộng dịch vụ này, và chúng tôi cũng vui mừng khi thấy họ chi ngân sách nghiên cứu để thuê máy tính của chúng tôi thay vì sử dụng máy tính của họ.
Có người đã xâm nhập vào đây qua đường dây của Tymnet. Vì Tymnet kết nối máy tính trên cả nước, nên hacker của chúng tôi có thể ở bất cứ đâu.
Tuy nhiên, khi đó tôi không hề tò mò về vị trí của hacker mà băn khoăn không biết hắn đã làm gì trong suốt ba giờ đồng hồ đó. Dự đoán của tôi đã đúng: Tài khoản của Sventek đang được sử dụng để xâm nhập vào hệ thống Unix của chúng tôi.
Không đơn thuần là xâm nhập. Gã hacker này còn là siêu người dùng.
Hắn đã lẻn qua lỗ hổng trong hệ thống để trở thành một siêu người dùng – thậm chí hắn còn không cần đăng nhập vào tài khoản của quản lý hệ thống. Hành tung của hắn giống như loài tu hú vậy.
Chim tu hú, một loài ký sinh nuôi dưỡng, đẻ nhờ trứng vào tổ của các loài chim khác để “nhờ” nuôi con hộ. Mạng sống của tu hú con phụ thuộc vào sự hớ hênh, lơ đãng của những ông bố bà mẹ hờ này.
Vị khách bí ẩn đã “đẻ” một chương trình vào máy tính của chúng tôi, để hệ thống ấp nở và nuôi nó lớn bằng thức ăn là những đặc quyền.
Sáng hôm đó, gã hacker đã viết một chương trình ngắn để cướp lấy đặc quyền. Thông thường, Unix sẽ không cho phép những chương trình như vậy hoạt động, vì nó không trao đặc quyền vượt quá giới hạn những quyền đã trao cho người dùng thông thường. Nhưng nếu chạy chương trình từ tài khoản siêu người dùng, hắn sẽ nắm đặc quyền trong tay. Công việc của hắn lúc này chỉ là hóa trang cho chương trình – hay trứng tu hú – để hệ thống ấp nở và nuôi lớn.
Cứ cách 5 phút, hệ thống Unix lại thực thi một chương trình riêng tên là atrun để sắp xếp lịch trình cho các tác vụ và thực hiện phận sự dọn dẹp định kỳ. Atrun vận hành ở chế độ đặc quyền, toàn bộ quyền năng và sự tín nhiệm của hệ điều hành là hậu thuẫn của nó. Nếu một chương trình atrun giả mạo thế chân, nó sẽ được thực thi trong vòng 5 phút với toàn bộ đặc quyền của hệ thống. Vì lý do đó, atrun nằm trong vùng hệ thống được bảo vệ và chỉ quản lý hệ thống mới tiếp cận được nó. Chỉ quản lý hệ thống mới có quyền can thiệp vào atrun.
Tổ tu hú nằm ở đây: Trong 5 phút, hắn sẽ đánh tráo trứng của mình với chương trình atrun của hệ thống.
Để chuẩn bị cho cuộc tấn công này, hắn phải tìm cách đưa được chương trình của mình vào cái tổ hệ thống đã được bảo vệ kỹ càng. Các hàng rào bảo vệ hệ điều hành được xây dựng chỉ để ngăn chặn âm mưu này. Các chương trình sao chép thông thường không thể vượt qua chúng; bạn không để ra lệnh: “Hãy sao chép chương trình của tôi vào vùng dữ liệu hệ thống.”
Nhưng có một yếu tố bất ngờ mà chúng tôi chưa từng để ý đến. Richard Stallman, một lập trình viên tự do, luôn ủng hộ việc chia sẻ miễn phí thông tin. Các phần mềm của anh đều được phân phát rộng rãi – và tất cả đều là những chương trình tuyệt vời, được viết ra với kỹ năng của một bậc thầy.
Trong thập niên qua, Stallman đã thiết kế một chương trình biên tập rất hiệu quả gọi là Gnu-Emacs. Nhưng Gnu không chỉ là một chương trình biên tập văn bản đơn thuần. Bạn có thể dễ dàng tùy chỉnh nó theo ý muốn. Đó là nền tảng để xây dựng những chương trình khác. Nó thậm chí còn được tích hợp chức năng e-mail riêng. Như một lẽ tự nhiên, các nhà vật lý học yêu cầu phải có Gnu; và vì muốn bán cho họ thêm nhiều chu kỳ điện toán nữa, chúng tôi sẵn lòng cài đặt chương trình này.
Tất cả đều ổn, ngoại trừ một vấn đề duy nhất: Có một lỗi trong phần mềm này.
Cơ chế cài đặt Gnu-Emacs vào máy tính Unix cho phép người dùng chuyển tiếp một tệp tin email từ thư mục của họ cho người khác theo cách rất kỳ quặc. Nó không kiểm tra xem người nhận là ai, hay liệu họ có muốn nhận không. Nó chỉ đặt lại tên tệp tin và thay đổi nhãn chủ sở hữu. Có nghĩa là người gửi đã bàn giao quyền sở hữu tệp tin này sang người nhận.
Bản thân việc gửi tệp tin từ vùng của bạn sang vùng của tôi không có vấn đề gì. Nhưng bạn không được phép chuyển tệp tin vào vùng hệ thống được bảo vệ, vì chỉ quản lý hệ thống mới được xuất hiện ở đây. Phần mềm của Stallman lẽ ra phải bảo đảm sao cho chuyện này không xảy ra.
Nhưng Gnu không kiểm tra. Nó cho phép bất cứ ai cũng có thể di chuyển tệp tin vào vùng hệ thống được bảo vệ. Gã hacker biết điều này; chúng tôi thì không.
Hắn dùng Gnu để đánh tráo tệp tin atrun giả mạo với phiên bản altrun chuẩn của hệ thống. 5 phút sau, hệ thống đã ấp xong quả trứng mà hắn gửi nhờ, và thế là hắn lấy được chìa khóa mở cổng vào máy tính của tôi.
Nhờ mánh khóe này, hắn đã lừa được máy tính trao quyền cho mình. Hắn cài chương trình giả mạo vào nơi mà hệ thống đinh ninh rằng nó sẽ tìm thấy một chương trình hợp lệ. Ngay khi Unix thực thi chương trình atrun giả này, gã hacker sẽ trở thành siêu người dùng. Toàn bộ kế hoạch phụ thuộc vào việc hắn có thể tùy nghi di chuyển tệp tin tới bất cứ nơi nào trong hệ thống.
Gnu chính là lỗ hổng an ninh trong hệ thống của chúng tôi. Một lỗi tinh vi trong ngóc ngách xó xỉnh của một phần mềm phổ biến. Nhờ các lập trình viên hệ thống của chúng tôi vô tư cài đặt mà không kiểm tra kỹ, có ai ngờ rằng lại có ngày nó phá hủy toàn bộ hàng rào an ninh của hệ thống như thế này.
Vậy là tôi hiểu rồi. Anh bạn này đã đăng nhập bằng tài khoản khách, rồi tận dụng lỗ hổng của Gnu để chiếm lấy các đặc quyền, sau đó bổ sung một tài khoản mới vào các tệp tin của máy tính.
Trước mắt tôi lúc này, mọi thứ hiện ra thật rõ ràng: vài mét đầu tiên của cuộn giấy in diễn cảnh con chim tu hú chuẩn bị tổ, đẻ trứng vào và ngồi chờ trứng nở. Và hơn 20m giấy tiếp theo là cảnh tu hú non tập vỗ cánh.
Với vị thế siêu người dùng, hắn được toàn quyền sử dụng hệ thống của chúng tôi. Việc đầu tiên hắn làm là xóa dấu vết: chuyển phiên bản atrun chuẩn trở về vị trí cũ. Sau đó, hắn lập danh sách e-mail của tất cả người dùng, đọc tin tức, các câu chuyện phiếm và những bức thư tình. Hắn nắm rõ mọi thay đổi về máy tính, các đề xuất xin trợ cấp và nhân viên mới tuyển dụng trong tháng qua. Hắn tìm kiếm những thay đổi trong tệp tin của quản lý hệ thống, và phát hiện ra rằng tôi chỉ vừa mới tới làm việc ở đây. Hắn kiểm tra mức lương và sơ yếu lí lịch của tôi. Đáng sợ hơn, hắn nhận ra tôi là một quản lý hệ thống, và biết tên tài khoản của tôi.
Tại sao lại là tôi? Tôi đã làm gì chứ? Nhưng dù gì, từ bây giờ trở đi, tốt nhất tôi nên dùng tên khác.
Cứ cách 10 phút, gã hacker lại gõ lệnh “who” [ai] để liệt kê danh sách những người đang đăng nhập vào máy tính. Rõ ràng, hắn lo mình bị theo dõi hay nhỡ có người tình cờ thấy hắn kết nối. Sau đó, hắn tìm kiếm xem hệ điều hành có gì thay đổi không – nếu tôi thay đổi các chương trình daemon để ghi lại phiên đăng nhập của hắn như ý định ban đầu, chắc chắn hắn sẽ phát hiện ra ngay. Tôi chợt cảm thấy mình như một đứa trẻ đang chơi trò trốn tìm, khi người đi tìm đi qua, chỉ cách nơi mình đang trốn vài xăng-ti-mét.
Trong giờ đầu tiên, hắn viết một chương trình quét nội dung e-mail của tất cả mọi người, xem có ai nhắc đến hành tung của hắn không. Từ khóa tìm kiếm của hắn là “hacker” và “an ninh”.
Dịp cuối tuần qua, một nhà khoa học đã khởi động một chương trình mang tên “thu thập” để tổng hợp dữ liệu từ một thí nghiệm. Cứ cách vài phút, phần mềm này lại thu thập – một cách vô hại – các thông tin rồi đưa vào một tệp tin. Gã hacker nhìn thấy chương trình này, loay hoay mất 10 phút để tìm hiểu xem nó đang làm gì, và cuối cùng ra tay hủy nó.
Chà! Gã này quả là có tinh thần cảnh giác cao độ, liên tục kiểm tra xem có ai lảng vảng xung quanh không. Hắn kết liễu bất cứ chương trình nào mà hắn nghi là đang theo dõi hắn. Hắn mở hộp thư của tôi để xem có ai viết gì về hacker không. Wayne nói đúng: nếu bạn ở ngoài sáng, hắn sẽ biết bạn đang theo dõi. Từ nay về sau, chúng tôi sẽ phải tinh vi hơn và hoạt động vô hình.
Khi không phải kiểm tra để đảm bảo sự an nguy của mình, hắn đọc tệp tin. Bằng cách sục sạo các tệp tin lệnh và tập lệnh của một số nhà khoa học, hắn lùng ra đường dẫn đến máy tính khác ở phòng thí nghiệm. Mỗi đêm, máy tính của chúng tôi lại tự động gọi cho 20 máy khác để trao đổi e-mail và tin tức mạng lưới. Khi gã hacker đọc được các số điện thoại này, nghĩa là hắn tìm thêm được 20 mục tiêu mới.
Từ tệp tin e-mail của một kỹ sư:
“Chào Ed!
Hai tuần tới tôi sẽ đi nghỉ mát. Nếu anh cần lấy dữ liệu của tôi, hãy đăng nhập vào tài khoản của tôi ở máy Vax. Tên tài khoản là Wilson, mật khẩu là Maryanne (tên vợ tôi). Chúc anh vui vẻ!”
Gã hacker hẳn là vui lắm, dù Ed chắc là không được vui đến thế. Hắn dùng mạng nội bộ của chúng tôi để kết nối với máy Vax đó, và dễ dàng đăng nhập vào tài khoản của Wilson. Wilson sẽ không nhận ra rằng các tệp tin của mình đang bị đọc lén, mà có lẽ anh ta cũng chẳng quan tâm. Bởi lẽ, chúng chỉ chứa dữ liệu số, chỉ một nhà vật lý hạt nhân đồng nghiệp với anh mới hiểu.
Vị khách không mời này biết rõ các mạng nội bộ trong phòng thí nghiệm. 12 cỗ máy tính lớn được kết nối với 100 máy tính phòng thí nghiệm thông qua cổng ethernet, đường dây nối tiếp và kẹo cao su. Khi những nhà vật lý học muốn lấy dữ liệu từ một máy tính ở máy gia tốc cyclotron để đưa vào máy tính lớn ở chỗ chúng tôi, sự thanh lịch chẳng có nghĩa lý gì với họ cả. Họ sẽ dùng bất kỳ cổng nào, bất kỳ đường dây nào, bất kỳ mạng lưới nào. Suốt ngần ấy năm, các kỳ thuật viên đã dệt lên một mạng lưới dây cáp đan xen chằng chịt xung quanh phòng thí nghiệm, kết nối các máy tính với bất kỳ thứ gì có vẻ hoạt động được. Mạng nội bộ này lan tới từng văn phòng, kết nối máy tính cá nhân, máy Macintosh và các thiết bị đầu cuối vào những cỗ máy tính cỡ lớn của chúng tôi.
Thông thường, các máy tính trong mạng lưới được sắp xếp để tin tưởng lẫn nhau. Nếu một máy tính chấp nhận bạn, thì máy tính khác cũng vậy. Điều này giúp tiết kiệm một chút thời gian: mọi người chỉ phải khai một mật khẩu khi sử dụng nhiều máy cùng lúc.
Gã hacker đã lợi dụng sự tín nhiệm này để xâm nhập vào sáu máy tính. Trên cương vị siêu người dùng ở máy tính Unix chính của chúng tôi, hắn ngụy trang dưới danh nghĩa tên tài khoản của người khác. Sau đó, chỉ cần gõ cửa một máy khác trong mạng lưới là hắn có thể được chấp nhận mà không cần phải khai mật khẩu. Vị khách của chúng tôi không biết những hệ thống này được dùng để làm gì; tuy vậy, hắn vẫn mò mẫm khắp nơi để tìm kiếm đường dẫn kết nối tới những máy tính mà hắn chưa khám phá.
Tới cuối phiên truy cập này, máy in hết mực. Tôi cà nhẹ bút chì trên mặt giấy để làm hiện lên những nét ấn của đầu in, và biết được rằng gã hacker đã sao chép tệp tin mật khẩu rồi ngắt kết nối.
Tiếng guitar bass bập bùng cắt ngang dòng suy nghĩ của tôi. Bên ngoài, The Grateful Dead 26 đang chơi nhạc ở Nhà hát Berkeley Greek dưới chân đồi, chỉ cách phòng thí nghiệm khoảng 100m. Người hâm mộ ngồi tràn khắp bãi cỏ để ngóng vào trong nhà hát, khiến cảnh sát cũng không cản nổi; tôi vội vã chạy xuống, hòa mình vào hàng nghìn người khác trong những chiếc áo phông in loang lổ. Những gã ăn xin mệt mỏi còn sót lại từ thập niên 1960 len lỏi vào đám đông xin xỏ vé, gạ bán tranh ảnh và cần sa. Màn độc diễn trống ở nhóm khác vọng ra từ Thung lũng Strawberry đã bổ sung thêm một tiết tấu mạnh mẽ mà chỉ lũ bần cùng chúng tôi đang lê la ngoài bãi cỏ mới tán thưởng. Cuộc sống thế là trọn vẹn rồi: hacker cỡ mấy cũng không đáng để phải bỏ lỡ một buổi biểu diễn của Dead.
26 The Grateful Dead: Một band nhạc rock nổi tiếng ở Mỹ. (BTV)