Lời tự thú của hacker từng 'cứu' Internet
Ở tuổi 23, Marcus Hutchins được coi là người hùng khi một mình ngăn vụ tấn công mạng nghiêm trọng nhất trong lịch sử - WannaCry. Nhưng rồi cậu bị FBI bắt.
Một sáng tháng 8/2017, hacker 23 tuổi với mái tóc xoăn nâu bước ra khỏi tòa nhà Airbnb ở Las Vegas, nơi cậu ở trong một tuần rưỡi, để nhận bánh mì kẹp và khoai tây chiên McDonald's đã đặt. Khi đứng trước sảnh, Hutchins thấy chiếc SUV đen đỗ bên đường, trông rất bí ẩn kiểu FBI.
Cậu nhìn chằm chằm chiếc xe, đầu vẫn lơ mơ vì thiếu ngủ, tự hỏi: "Cuối cùng điều đó cũng đến ư?" Rồi cậu lập tức gạt đi, tự nhủ FBI chẳng bao giờ lộ liễu như vậy.
Hutchins nhận đồ ăn, quay vào trong tận hưởng bữa sáng, rồi gói ghém hành lý, bắt Uber ra sân bay với tấm vé hạng nhất về Anh. Cậu vừa trải qua một tuần bận rộn tại Defcon, một trong những hội thảo hacker lớn nhất thế giới, nơi cậu được ca tụng như người hùng.
Chưa đầy ba tháng trước đó, Hutchins cứu Internet khỏi một cuộc tấn công mạng được đánh giá là tồi tệ nhất lịch sử: mã độc tống tiền WannaCry. Mã độc này hoành hành từ ngày 12/5/2017, lây lan tại hơn 150 nước và phá hủy dữ liệu trên hàng trăm nghìn máy tính. Hutchins phát hiện tính năng giống như "công tắc" (kill-switch) ẩn trong đoạn mã, có thể ngừng mối đe dọa WannaCry.
Cậu tạo nên câu chuyện hấp dẫn khó cưỡng trên truyền thông: Hutchins, chàng hacker trẻ tuổi và rụt rè, một mình chống lại "quái vật" đe dọa thế giới số. Hình ảnh cậu ngồi trước màn hình máy tính trong phòng ngủ, nơi cậu sống cùng bố mẹ ở miền tây nước Anh xa xôi, thật bí ẩn.
Ngập trong những lời tán tụng, Hutchins không nghĩ nhiều khi thấy chiếc SUV. Hồ sơ tại tòa sau này cho thấy, chiếc SUV đen đã bám theo Hutchins suốt thời gian cậu ở Las Vegas.
Khi Hutchins ngồi trong phòng chờ và viết dở thông điệp lên Twitter, ba người tiến lại gần, đề nghị cậu theo họ tới một lối đi riêng. Tại đó, cậu bị còng tay bởi người đàn ông có mái tóc đỏ. Cảm thấy sốc, Hutchins điểm qua những hoạt động trái phép có thể khiến hải quan để mắt tới. Chắc chắn, cậu nghĩ, không thể là "thứ đó", bởi nó đã xảy ra vài năm trước và chưa từng được nhắc đến. Hay cậu để quên cần sa trong túi?
Với giọng thân thiện, những người này, tự giới thiệu là đến từ FBI, hỏi cậu về quá trình học tập và Kryptos Logic, công ty bảo mật cậu đang làm việc. Rồi họ hỏi cậu về một chương trình có tên Kronos.
"Kronos. Tôi biết", cậu trả lời, cảm thấy tê cóng và hiểu rằng từ đây, cậu không thể trở về nhà.
Hành trình sa lầy trong thế giới tội phạm mạng
14 năm trước đó, rất lâu trước khi Marcus Hutchins trở thành anh hùng hay kẻ xấu trong mắt mọi người, bố mẹ cậu - Janet và Desmond - chuyển tới vùng Devon hẻo lánh ở Anh. Hutchins, lúc đó 9 tuổi, không hòa hợp với đám trẻ ở đây. Nhưng điều khiến cậu nổi bật là sự đam mê với máy tính so với lứa tuổi. Cha cậu thường phát cáu khi thấy con trai tháo rời chiếc máy tính Dell hoặc cài đầy chương trình lạ hoắc lên đó. Cậu sớm nhận thấy lập trình là "cánh cửa để làm bất cứ điều gì bạn muốn".
Sinh nhật 13 tuổi, sau nhiều lần "đấu tranh", cha mẹ cũng đồng ý mua cho cậu máy tính riêng. Bà Janet lo con trai quá mê đắm trong thế giới số nên cài công cụ kiểm soát vào máy tính nhưng cậu dễ dàng chiếm lại quyền admin. "Chẳng có cách nào quản được Marcus bởi nó luôn thông minh hơn chúng tôi", Janet nói.
Khi lang thang trên các diễn đàn, Hutchins thấy một hacker tạo sâu MSN ẩn dưới bức ảnh JPEG. Khi ai đó mở ra, sâu sẽ tự gửi tới mọi người trong danh sách chat. Hutchins không biết sâu đó ra đời với mục đích gì, nhưng cậu đặc biệt ấn tượng và muốn tạo ra một thứ như vậy. Một năm sau, Hutchins chia sẻ thành quả đầu tiên lên forum: một công cụ đánh cắp mật khẩu mà người dùng lưu trên web. Mã độc đầu tiên của Hutchins được khen ngợi, dù cậu không biết dùng mật khẩu đánh cắp vào việc gì, đơn giản nó rất "ngầu".
Năm 15 tuổi, gia đình Hutchins chuyển tới một căn nhà mới. Cùng khoảng thời gian này, cậu tham gia cộng đồng HackForums, nơi đầy rẫy chia sẻ về botnet - mạng lưới máy tính bị nhiễm mã độc, chuyên dùng để tấn công từ chối dịch vụ DDoS. Hutchins cũng tự tạo botnet đầu tiên với 8.000 máy tính ma. Cậu cũng bắt đầu "sự nghiệp" cung cấp dịch vụ web hosting cho các trang web bất hợp pháp.
Trong một lần đăng đoạn mã độc thử nghiệm, một thành viên HackForums tỏ ra ấn tượng và đề nghị cậu viết chương trình chống các phần mềm diệt virus. Cậu được trả 200 USD. Khách hàng tiếp theo trả 800 USD để tạo rootkit ăp cắp mật khẩu web. Hutchins bắt đầu nổi danh và khi 16 tuổi, cậu có một khách hàng nghiêm túc hơn, biệt danh Vinny.
Vinny muốn một rootkit đa chức năng để bán trên các chợ đen của hacker. Thay vì trả trọn gói, ông ta sẽ chia sẻ một nửa lợi nhuận trong việc kinh doanh rootkit. Họ thường trao đổi ẩn danh, không lưu lại cuộc trò chuyện. Một lần, Hutchins ca thán không mua được loại "cỏ" chất lượng ở quê mình. Vinny nói sẽ gửi cho cậu từ trang thương mại mới thành lập Silk Road. Silk Road thực chất là chợ ma túy trực tuyến mới ra đời năm 2011. Vinny hỏi địa chỉ và ngày sinh của Hutchins. Trong ngày sinh nhật 17 tuổi, một bưu kiện được gửi tới nhà cậu, bên trong đầy "cỏ", nấm gây ảo giác và thuốc lắc.
Hutchins hoàn thành rootkit UPAS Kit trong 9 tháng và tới hè 2012, mã độc này bắt đầu được rao bán. Vinny trả cho cậu hàng nghìn USD dưới dạng bitcoin. Hutchins bỏ học, nói với cha mẹ rằng cậu đang tham gia dự án lập trình riêng.
Sau đó, Vinny đề nghị nâng cấp lên UPAS Kit 2.0 với công cụ keylogger ghi lại mọi hoạt động mà nạn nhân gõ từ bàn phím, khả năng nhìn thấy màn hình của họ và quan trọng hơn, ông muốn chèn nội dung vào trang mà nạn nhân đang xem, kỹ thuật gọi là web inject.
Yêu cầu cuối khiến Hutchins thấy khó chịu. Web inject có mục đích rất rõ ràng: để thực hiện các vụ lừa đảo qua ngân hàng. Đa số ngân hàng đòi hỏi hai lớp bảo mật khi thực hiện giao dịch chuyển tiền. Hệ thống sẽ gửi tin nhắn chứa mã số tới điện thoại của khách hàng và yêu cầu nhập mã vào trang web để xác thực. Web inject giúp hacker qua mặt lớp bảo mật này.
Trong vài năm, Hutchins đã từng bước tiến vào đường hầm của tội phạm online. Nhưng đề nghị của Vinny khiến cậu không chấp nhận, bởi những người vô tội sẽ bị lấy đi những khoản tiết kiệm. "Tôi không viết trojan ngân hàng", cậu trả lời.
Người này liền nhắc nhở, với giọng điệu vừa đùa cợt vừa đe dọa, rằng ông ta biết rõ danh tính và địa chỉ nhà cậu. Nếu mối quan hệ kinh doanh của họ chấm dứt, ông ta sẽ gửi thông tin cho FBI. Hoảng sợ và giận dữ, nhưng Hutchins vẫn từ chối bởi cậu biết rõ Vinny cần kỹ năng của mình. Cuối cùng, hai bên thỏa thuận nâng cấp UPAS Kit mà không có tính năng web inject.
Sau 9 tháng, phiên bản mới của UPAS Kit đã sẵn sàng. Ngay khi nhận được code, Vinny tiết lộ đã thuê người khác tạo web inject. Hutchins sững sờ và hiểu cậu không thể chống lại Vinny. Mã độc đã viết xong. Và nói chung, cậu là tác giả của nó. Hutchins muốn dừng hợp tác, nhưng Vinny nói đằng nào ông ta cũng đã có mọi thứ cần thiết cho một trojan ngân hàng dù cậu có tham gia hay không. Mã độc vẫn được bán, trong khi cậu tốn công sức mà không được đồng nào.
Tức giận vì rơi vào bẫy, Hutchins đành tiếp tục nâng cấp công cụ cho Vinny. Cậu biết rõ sớm muộn FBI cũng xuất hiện với lệnh bắt giữ. Cũng từ đó, cậu nhận ra tình yêu lập trình đã hoàn toàn biến mất.
Lúc đó, Zeus là một trong những trojan ngân hàng khét tiếng, nên Vinny quyết định đổi tên UPAS Kit thành Kronos - cha của Zeus trong thần thoại Hy Lạp.
Năm 19 tuổi, gia đình Hutchins chuyển nhà lần nữa. Rồi cậu quen qua diễn đàn một người tên Randy. Sau khi đề nghị viết mã độc ngân hàng nhưng bị từ chối, người này nhờ cậu viết một số ứng dụng doanh nghiệp và giáo dục. Randy tỏ ra là người hào phóng và còn hỏi địa chỉ để gửi iMac làm quà. Dĩ nhiên cậu đồng ý vì những gì họ làm hoàn toàn hợp pháp.
Không như Vinny, Randy rất cởi mở về cuộc sống cá nhân. Hai người trở nên thân thiết, thậm chí gọi điện video với nhau. Randy tin tưởng Hutchins đến mức gửi cậu số tiền ảo giá trị hơn 10.000 USD để nhờ giao dịch giúp. Một sáng mùa hè 2015, Hutchins tỉnh dậy và phát hiện nhà mất điện khiến máy tính bị tắt và mất trắng giao dịch 5.000 USD tiền bitcoin
Hutchins gọi cho Randy, thú nhận đã làm mất tiền của ông. Để bù đắp, cậu tiết lộ mình là tác giả Kronos. Do Randy từng nói muốn mã độc ngân hàng trước đây, cậu đề nghị cung cấp cho ông một bản miễn phí và Randy đồng ý. Một lần nữa, Hutchins nhận ra mình mắc một sai lầm ghê gớm. Chắc chắn, sẽ có ngày Randy bị bắt khi sử dụng mã độc và cậu sẽ bị cảnh sát hỏi thăm.
Thời gian này, Hutchins dừng hợp tác với Vinny, chấm dứt những năm tháng đen tối trong thế giới tội phạm mạng.
Giai đoạn 'hậu Kronos'
Hutchins mở lại blog MalwareTech lập từ năm 2013 và chia sẻ các kỹ thuật liên quan tới mã độc, thu hút cả khách "mũ trắng" và "mũ đen". Cậu cũng dịch ngược mã nguồn và phân tích các botnet lớn như Kelihos hay Necurs.
Không lâu sau, Salim Neino, CEO của hãng bảo mật Kryptos Logic (Mỹ), gửi email cho MalwareTech đề nghị cậu làm việc cho họ: xây dựng hệ thống theo dõi các botnet để cảnh báo nạn nhân nếu địa chỉ IP của họ xuất hiện trong mạng máy tính ma. Neino trả Hutchins 10.000 USD.
Sau khi hoàn thành công việc đầu tiên, Hutchins phát triển công cụ theo dõi botnet thứ hai. Kryptos Logic mời cậu về làm với mức lương lên tới sáu chữ số. Hutchins tưởng Neino đang đùa: "Gì cơ? Ông định trả cho tôi ngần này tiền mỗi tháng?".
"Xét về nghiên cứu botnet, cậu ấy là một trong những người giỏi nhất thế giới. Chỉ trong khoảng 3-4 tháng, chúng tôi đã theo dõi mọi botnet toàn cầu", Neino nói.
Hutchins vẫn đăng bài trên MalwareTech và Twitter. Ngoài Kryptos Logic và vài bạn thân, không ai biết danh tính người đứng sau MalwareTech.
Mùa thu 2016, mã độc Mirai xuất hiện, lây lan trên thiết bị IoT và tạo ra những cuộc tấn công DDoS với mức độ "khủng khiếp", khiến Internet tại Mỹ và châu Âu ngưng trệ, hay đánh gục hạ tầng mạng quốc gia của Liberia. Trong các cuộc DDoS lớn nhất trước đó, botnet có thể tạo lưu lượng truy cập vài trăm gigabit/giây, còn với Mirai, nạn nhân bị tấn công với lưu lượng lên đến 1,1 terabit mỗi giây. Tháng 1/2017, một cuộc tấn công tương tự nhằm vào ngân hàng lớn nhất nước Anh Lloyds, khiến hệ thống không thể truy cập nhiều lần trong vài ngày.
Hutchins lần theo cơn sóng thần Mirai và phát hiện thông tin liên lạc của hacker đứng sau. Cậu nhanh chóng liên hệ, chia sẻ cho hacker về tình cảnh của khách hàng Lloyds khi không thể vào được tài khoản, một số mắc kẹt ở nước ngoài mà không có tiền. Cậu cũng khuyến cáo ngân hàng là cơ sở hạ tầng quan trọng nên cơ quan tình báo Anh sẽ sớm tìm ra kẻ điều khiển botnet.
Các cuộc DDoS ngân hàng dừng lại. Hutchins kể lại câu chuyện trên Twitter, nói cậu không ngạc nhiên khi hacker lắng nghe. "Rất ít người thực sự xấu xa, đa số chỉ là xa rời nỗi khổ của nạn nhân, không cảm nhận được hậu quả. Cho tới khi ai đó kết nối với họ", cậu nói.
Người hùng diệt WannaCry
Ngày 12/5/2017, Hutchins bắt đầu kỳ nghỉ kéo dài một tuần.
Hôm ấy, Henry Jones, bác sĩ gây mê ở Bệnh viện Hoàng gia London cách đó hơn 300 km, bắt đầu thấy điều gì đó không ổn. Ông và đồng nghiệp không thể đăng nhập vào hệ thống email. Thực ra, họ đã quen với việc này vì máy tính của họ vẫn đang chạy Windows XP, hệ điều hành đã gần 20 năm tuổi.
Sau đó, chuyên gia IT tới và giải thích một virus đang lan khắp mạng lưới bệnh viện nước Anh. Một PC trong phòng khởi động lại và Jones thấy thông điệp rằng các file đã bị mã hóa, cần trả số bitcoin trị giá 3.000 USD để chuộc lại.
Jones được thông báo mọi ca phẫu thuật bị hoãn vì máy tính dừng hoạt động. Trong vài giờ, virus mã hóa dữ liệu tại phòng khám của hơn 600 bác sĩ, khiến 20.000 cuộc hẹn bị hủy, cũng như làm ngưng trệ hoạt động ở hàng chục bệnh viện. "Có bệnh nhân có thể phải chết vì việc này", Jones nghĩ.
Các chuyên gia bảo mật gọi mã độc là WannaCry (Muốn khóc). Nó nguy hiểm bởi có thể làm biến mất toàn bộ dữ liệu và có tốc độ lây lan còn nhanh hơn các đại dịch lớn trong lịch sử. WannaCry khai thác lỗ hổng EternalBlue trên hệ điều hành Windows. Không chỉ hệ thống y tế Anh, nó ảnh hưởng tới hãng đường sắt Deutsche Bahn (Đức), nhà sản xuất ôtô Renault, Nissan, Honda, các sở cảnh sát ở Ấn Độ, hãng viễn thông Tây Ban Nha Telefónica, hãng chuyển phát FedEx và cả Boeing... Mức độ thiệt hại, ước tính trong buổi chiều hôm đó, là từ 4 tỷ đến 8 tỷ USD.
14h30, Marcus Hutchins mở máy tính và thấy thế giới Internet đang hoảng loạn. "Tôi chọn đúng tuần quái quỷ để nghỉ ngơi", cậu viết trên Twitter.
Trong vài phút, một người bạn hacker có tên Kafeine gửi Hutchins đoạn sao chép mã WannaCry. Cậu phát hiện trước khi mã hóa file, mã độc gửi lệnh tới trang web có địa chỉ như được gõ bừa iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com.
Khi một mã độc kết nối tới domain như vậy, thường có nghĩa nó đang liên lạc với một máy chủ điều khiển và ra lệnh từ xa. Hutchins chép địa chỉ vào trình duyệt và ngạc nhiên thấy site không tồn tại. Cậu lập tức vào dịch vụ đăng ký tên miền Namecheap và mua tên miền này với giá 10,69 USD. Hutchins hy vọng có thể kiểm soát một phần những máy tính nhiễm WannaCry từ tác giả mã độc, hay ít nhất có thể theo dõi số lượng và vị trí của máy tính bị nhiễm. Hành động này được giới bảo mật gọi là kỹ thuật sinkhole.
Ngay sau khi thiết lập tên miền trên cụm máy chủ của Kryptos Logic, nó bị dội về hàng nghìn kết nối từ những thiết bị "dính" WannaCry trên toàn cầu. Hutchins chia sẻ điều này lên Twitter và lập tức nhận hàng trăm email từ các nhà nghiên cứu, nhà báo, quản trị hệ thống...
Trong khoảng bốn giờ tiếp theo, cậu dựng bản đồ theo dõi lượt lây nhiễm mới, như cậu từng làm với botnet Kelihos, Necurs... Trước khi mã hóa file, mã độc kết nối tới địa chỉ web của Hutchin. Nếu không kết nối được, nó sẽ phá hủy nội dung trên máy tính. Nói cách khác, nếu tên miền của Hutchins tiếp tục hoạt động, các ca nhiễm mới vẫn lan rộng nhưng không gây thiệt hại vì mã độc đã bị cô lập. Hutchins đã tìm ra "công tắc" tắt mã độc.
"Nếu tên miền sập, khủng hoảng WannaCry sẽ được tái khởi động", cậu nói
Ngay sau đó, một trong những botnet của mã độc Mirai mở cuộc tấn công DDoS với mục tiêu kéo sập tên miền Hutchins đang nắm giữ. Thậm chí, cảnh sát Pháp hiểu lầm tên miền sinkhole này thuộc về những tên tội phạm đứng sau WannaCry nên đã thu giữ hai máy chủ của công ty Kryptos. Trong một tuần, Hutchin gần như không ngủ để giữ "công tắc" tắt WannaCry không bị đụng tới.
Trong lúc đó, danh tính của Hutchins cũng bị phát hiện. Sáng 14/5/2017, một nhà báo xuất hiện trước cửa nhà Hutchins bởi cô nhận ra cậu qua một bức ảnh trên Facebook với chú thích MalwareTech. Báo chí Anh bắt đầu đăng loạt bài về "người dùng cứu thế giới từ phòng ngủ". Hutchins thậm chí phải nhảy qua tường rào sau nhà để tránh phóng viên. Để không bị làm phiền, cậu chỉ đồng ý trả lời phỏng vấn AP, thậm chí căng thẳng tới mức còn đọc sai họ của mình.
Hutchins căng thẳng bởi lo ngại kẻ đứng đằng sau sẽ tung ra phiên bản mới của WannaCry để loại bỏ "công tắc" của cậu. Nhưng điều đó không xảy ra. Khi mối nguy hiểm qua đi, "sếp" Neino cảm thấy lo lắng cho tình trạng sức khỏe của Hutchins. Một tuần sau khi WannaCry bùng phát, cậu được trả hơn 1.000 USD cho mỗi giờ ngủ.
Hutchins thu hút hơn 100.000 người theo dõi trên Twitter. Những người lạ cũng nhận ra và mời cậu đồ uống để cảm ơn vì cứu Internet. Nhưng phải tới hội thảo hacker Defcon ba tháng sau đó, Hutchins mới thực sự cảm nhận cậu là "ngôi sao nhạc rock" của thế giới bảo mật.
Đã ba năm trôi qua kể từ vụ Kronos, cuộc sống vẫn tốt đẹp. Cậu cho phép mình quên đi nỗi lo rằng hành động phạm pháp của mình sẽ phải trả giá. Cho tới ngày cuối ở Las Vegas, khi cậu nhìn thấy chiếc SUV màu đen.
Hutchins thú nhận với FBI rằng cậu tạo một phần mã độc Kronos nhưng đã dừng phát triển nó trước khi 18 tuổi. Nhưng mọi hy vọng tiêu tan khi các điều tra viên cho cậu xem bản in đoạn chat với Randy khi cậu đã qua tuổi 20, trong đó cậu nói sẽ gửi Randy bản sao của Kronos.
"Thành thật mà nói, Marcus, chuyện này không dính dáng tới WannaCry", Lee Chartier, điều tra viên với mái tóc đỏ, nói và rút ra lệnh bắt giữ Hutchins. Đêm đầu tiên bị tạm giam ở nơi cách xa quê hương hơn 8.000 km là khoảng thời gian cô đơn nhất trong đời hacker 23 tuổi.
"Người hùng diệt WannaCry bị bắt tại Mỹ" là tiêu đề của hàng loạt bài báo vào ngày hôm sau. Những cuộc tranh cãi nổ ra trên mạng và trong giới bảo mật. Nhiều người ủng hộ Hutchins, nhưng cũng nhiều người tìm lại các hoạt động phạm pháp của cậu trên HackForums. Hutchins sau đó được tại ngoại với số tiền bảo lãnh 30.000 USD.
Tháng 4/2019, Hutchins đồng ý với một thỏa thuận rằng cậu sẽ nhận hai tội danh để các công tố viên giảm 8 tội danh khác. Với mỗi tội, Hutchins đối mặt 5 năm tù giam và khoản tiền phạt 250.000 USD.
"Tôi nhận hai tội liên quan tới việc viết mã độc nhiều năm trước khi tham gia công việc bảo mật. Tôi hối hận về hành động này và chịu mọi trách nhiệm cho lỗi lầm của mình", Hutchins viết trên website.
Tuy nhiên, trong phiên tòa ở Milwaukee (Mỹ) tháng 7/2019, Hutchins được thả tự do, được phép trở lại Anh dưới sự giám sát và không bị phạt bất cứ khoản tiền nào.
"Tôi không muốn là người chặn WannaCry hay người viết mã Kronos. Tôi chỉ muốn là ai đó có thể giúp mọi thứ tốt đẹp hơn", Hutchins, nhìn lên những ngọn đồi ở Malibu, nói.