Một tuần 'hack cả thế giới'
Dương Ngọc Thái
Kỹ sư an ninh mạng
Từ hôm công bố lỗ hổng php2shell, Calif liên tục nhận yêu cầu phỏng vấn từ The New York Times, CNN, ABC, NBC, Fox, Reuters, BBC và The Times. Trước đó, chúng tôi đã chia sẻ độc quyền câu chuyện với The Wall Street Journal.
Một cuộc gọi từ BBC diễn ra như thế này:
- Xin lỗi, đây có phải Calif không?
- Vâng.
- Anh có press office, văn phòng báo chí, không?
- Không. Microsoft Office thì có, nhưng lâu rồi cũng không xài.
Đầu dây bên kia có vẻ không hiểu câu đùa. Hai bên im lặng vài giây.
- Anh cho tôi nói chuyện với ai có trách nhiệm được không?
- Vâng, có ba người, nhưng hai người kia mệt quá ngủ rồi. Chắc chị phải gặp CEO Thái Dương của chúng tôi.
- Vâng, cho tôi gặp CEO.
Tôi tằng hắng, đổi giọng: Thái Dương nghe.
Chị phóng viên bật cười. Có lẽ chị không ngờ CEO lại kiêm luôn trực điện thoại.
Đến lúc công bố xong mới bông đùa được một chút. Còn cả tuần trước đó thì căng như dây đàn.
Đến Hexacon, hạ iPhone
Ngày 11/10, tôi rời San Francisco đi Paris. Anh Bruce Dang và tôi sẽ nói chuyện khai mạc tại Hexacon, một hội nghị hacker hàng đầu ở Pháp. Cũng tại đây năm ngoái, Ivan Krstić, trùm bảo mật của Apple, đã giới thiệu công nghệ Memory Integrity Enforcement, gọi tắt là MIE. Apple đặt mức thưởng hai triệu USD cho những cú hack iPhone thành công. Rõ ràng họ đặt nhiều kỳ vọng vào công nghệ MIE.
Bruce Dang và tác giả tại Hội nghị Hexacon.
Tháng 4 năm nay, chúng tôi đã vượt qua MIE trên MacBook. Đó là một khám phá bất ngờ, như một cuộc tập dượt cho mục tiêu chính: iPhone. Chúng tôi chọn iPhone vì đây là một trong những thiết bị được bảo vệ tốt nhất thế giới. Apple đầu tư rất lớn vào bảo mật và coi quyền riêng tư là một phần quan trọng trong chiến lược kinh doanh. Trong giới hacker, iPhone là mục tiêu mà các nhóm nghiên cứu, công ty săn lỗ hổng và đội hacker tình báo đều muốn chinh phục. Dù được bảo vệ kỹ, iPhone chưa bao giờ bất khả xâm phạm.
Tuy nhiên, từ khi iPhone 17 được trang bị MIE đến trước Hexacon năm nay, chưa ai công bố một cú hack thành công nào. Nếu như Apple trả thưởng hai triệu USD thì giá trên thị trường "chợ đen" đã lên tới tám con số. Và tại Hexacon, chúng tôi công bố kết quả: hack thành công iPhone 18.
Chúng tôi trình diễn bốn màn tấn công. Nói cho rõ, giờ tôi chỉ làm lãnh đạo, tức là không biết làm gì, chỉ biết nói. Công việc do Dion Blazakis, Anna Groza và Stefan Esser thực hiện. Bruce và tôi đại diện trình bày.
Đầu tiên là tấn công qua Signal, ứng dụng chat nổi tiếng an toàn. Tiếp theo là iMessage, ứng dụng chính Apple đã dày công bảo vệ. Hai màn còn lại cho thấy khả năng jailbreak để giành quyền kiểm soát cao nhất trên thiết bị và duy trì jailbreak sau khi khởi động lại máy. Cả khán phòng nín thở theo dõi rồi vỡ òa trong tiếng vỗ tay. Một người quay video đưa lên Twitter.
Tin Calif jailbreak iPhone 18 nhanh chóng lan truyền. Đó là ngày 16/10.
Một tuần sau, ngày 23/10, Apple bắt đầu giao iPhone Duo. Chúng tôi tiếp tục jailbreak thành công ngay trong ngày ra mắt. Nhưng giữa hai ngày đó, đội còn bận chuẩn bị cho một công bố khác.
Thăm PDH, hack PHP
Tôi thích đến Paris vì ở đó có gia đình giáo sư Phan Dương Hiệu. Anh Hiệu là con trai giáo sư Phan Đình Diệu, một trong những bậc trí thức độc lập nổi tiếng thẳng thắn, người đã đặt nền móng cho ngành công nghệ thông tin Việt Nam. Anh hiện là giáo sư mật mã tại Télécom Paris, sống ở phía nam Paris.
Anh Hiệu đã tuyển chọn, hướng dẫn và hỗ trợ khoảng 30 sinh viên Việt Nam theo học các chương trình mật mã, bảo mật ở Pháp. Mỗi lần tôi đến chơi, anh lại rủ các bạn đến ăn uống, trò chuyện, hát hò. Không khí lúc nào cũng thân tình và cởi mở.
Chiều thứ bảy, Bruce và tôi đến nhà anh, chơi đến gần sáng. Nói chuyện đã đời, Bruce quay sang hỏi:
- Anh Hiệu, bộ lúc nào anh cũng vui như vầy hả?
Một câu tóm tắt rất đúng về anh Hiệu. Nhưng có lẽ chúng tôi chơi với nhau còn vì những trăn trở chung cho quê nhà. Chuyện đó xin để dịp khác.
Sáng chủ nhật, tôi dậy sớm tiễn Bruce ra sân bay rồi đi mua bánh mì với anh Hiệu. Bánh mì Pháp rất ngon, lần nào sang tôi cũng ăn mấy ổ. Về đến nhà là phải làm việc ngay: chúng tôi dự kiến công bố php2shell vào thứ năm, ngày 22/10.
php2shell là lỗ hổng nghiêm trọng trong PHP, công nghệ đứng sau phần lớn website trên Internet. Nó cho phép kẻ tấn công chiếm quyền kiểm soát website, đánh cắp dữ liệu hoặc dùng máy chủ bị xâm nhập làm bàn đạp tấn công sâu hơn. Phạm vi ảnh hưởng lớn đến mức nhiều quốc gia đã phải tạm thời đóng cửa các website để cập nhật bản vá.
Ryan Austin, thành viên Calif sống ở Florida, đã phát hiện và báo lỗi từ đầu tháng 8. Việc sửa kéo dài vì đây là một nhóm lỗi phức tạp. Giữa chừng, một thành viên nòng cốt của đội sửa lỗi phải nhập viện vài tuần. Lịch công bố ban đầu vào tháng 9 vì thế dời sang tháng 10.
Đến đầu tháng 10, chúng tôi phối hợp với OpenAI, Wiz và PHP Foundation trong một nhóm làm việc chung, gặp hằng ngày để bàn việc sửa lỗi và công bố.
Thời gian đó, Bruce và tôi đều bận túi bụi. Công ty tăng trưởng nhanh, nhiều việc mới. Tôi tính bay sang Florida để chuẩn bị cùng Ryan, nhưng lại vướng lịch Hexacon. Đến sát ngày, phần nội dung công bố của Calif vẫn còn ngổn ngang.
Tôi biết chúng tôi có một câu chuyện rất hay, kéo dài 22 năm. Lỗ hổng php2shell Ryan tìm thấy thuộc một nhóm lỗi do Stefan Esser phát hiện từ năm 2004. Stefan là một hacker kỳ cựu với hơn 30 năm kinh nghiệm, vừa hack thành công iPhone. Ryan hâm mộ Stefan từ nhỏ. Hơn 20 năm sau, hai người trở thành đồng nghiệp ở Calif.
Tôi muốn kể câu chuyện này bằng phim hoặc truyện tranh, nên hỏi ý kiến Michal Zalewski, một đồng nghiệp khác ở Calif. Michal bảo làm phim khó vì mọi người ở xa nhau. Truyện tranh có vẻ khả thi hơn. Tôi cũng nhớ hồi ra mắt Chrome, Google đã làm một cuốn truyện tranh rất hay. May quá, mọi thứ trơn tru. Ryan kể chuyện, Stephanie - vợ anh - vẽ, Michal biên tập.
Có một việc chúng tôi bỏ sót: đăng ký tên miền php2shell.com. Đến lúc nhớ ra thì một bên khác đã đăng ký từ giữa tháng 10. Bruce và tôi vốn không định làm website riêng cho lỗ hổng. Nhưng tên miền ấy nhanh chóng trở thành một nguồn lo lắng. Tôi đề nghị dùng nó làm trang chung, dẫn đến bài viết của từng nhóm, nhưng các bên không thống nhất được trước ngày công bố.
Ryan lo công sức của mình sẽ không được ghi nhận đầy đủ. Anh đã dành rất nhiều tâm huyết cho công trình này. Với một nhà nghiên cứu, một phát hiện như thế có thể thay đổi cả sự nghiệp.
Rồi tối thứ ba, thông tin về lỗ hổng rò rỉ. Chúng tôi chưa biết nguồn từ đâu. PHP Foundation đẩy lịch lên sớm một ngày, sang thứ tư, 21/10. Chúng tôi chỉ còn một ngày để hoàn tất. Truyện tranh chưa xong, bài viết cũng chưa sẵn sàng. Các bên khác có bộ máy truyền thông khổng lồ.
Tôi lo nếu họ công bố ngay, câu chuyện của Ryan sẽ chìm đi. Lúc đó Ryan muốn đăng video trình diễn tấn công đã chuẩn bị sẵn. Nhưng vừa đăng lên, nó đã lan truyền rất nhanh. PHP Foundation yêu cầu gỡ vì video để lộ một số thông tin chưa đến thời điểm công bố. Tôi gỡ xuống. Video không có thông tin kỹ thuật nhạy cảm, cũng không đủ chi tiết để tái tạo cuộc tấn công. Dù vậy, quyết định đăng sớm vẫn là sai, và đó là quyết định của tôi.
Nỗi lo cho Ryan là có thật, nhưng không phải lý do để công bố trước thời điểm đã thống nhất. Chúng tôi tiếp tục cày. Tối nào cũng vừa ăn vừa làm. Ở Pháp hình như người ta làm gì cũng chậm. Ăn cũng chậm, mà Internet cũng chậm.
Đêm cuối tôi làm đến khuya, giao Bruce và Ryan chỉnh sửa rồi cố ngủ một chút. Không ngủ được, tôi lại dậy làm tiếp. Gần sáng mới chợp mắt được khoảng hai tiếng, rồi chuẩn bị đi tàu sang Frankfurt để bay về San Francisco. Giờ nghĩ lại, lẽ ra nên ở Paris. May mà tàu có Wi-Fi, tôi tiếp tục làm việc trên đường. Đến Frankfurt lúc 3 giờ chiều, còn một tiếng trước giờ công bố, mọi thứ vừa kịp xong. Tôi không muốn mất thời gian về khách sạn nên tìm một nhà hàng gần ga, vừa sạc máy tính vừa làm tiếp.
Trời mưa lất phất. Chúng tôi vào một quán Ấn Độ. Nhạc Bollywood ầm ĩ, nhưng có ổ điện là được. Tôi chọn chỗ khuất bên trong để dễ tập trung. Rồi phát hiện mạng không chạy. Đang loay hoay kết nối 5G thì hơn 3 giờ rưỡi, PHP Foundation công bố, sớm hơn lịch tôi đang theo khoảng 30 phút. Các bên cũng đăng bài ngay sau đó, thông tin lan đi rất nhanh. Ryan và Bruce nhắn hỏi tôi đâu rồi. Tôi thấy tin nhắn nhưng trả lời không đi. Trớ trêu không, chuẩn bị bao nhiêu ngày, đến phút cuối lại mắc ở đường truyền.
Tôi đứng dậy tìm quán khác. Vừa đi ra phía ngoài thì điện thoại bắt được 5G. Thế là cuối cùng tôi vẫn công bố PHP2Shell từ nhà hàng Ấn Độ ấy. May mắn là đóng góp của Ryan được ghi nhận rõ ràng. Bài của The Wall Street Journal và thông báo của PHP Foundation đều nhắc đến việc anh phát hiện, báo lỗi và xây dựng mã khai thác. Chính công việc ấy đã giúp chứng minh mức độ nghiêm trọng của vấn đề. Ryan cũng làm việc ngày đêm để kiểm tra các bản vá.
Có người nói, chuyện ghi nhận đóng góp không quan trọng. Tôi nghĩ phải đứng ở vị trí của Ryan mới hiểu hết. Khi dành nhiều tháng cho một công trình có thể thay đổi cuộc đời, ai cũng muốn công sức của mình được ghi nhận đúng. Những ngày tiếp theo, điện thoại và email của chúng tôi nổ tung vì yêu cầu phỏng vấn từ báo đài khắp thế giới. Ryan trở thành ngôi sao chỉ sau một đêm.
Tôi sẽ còn kể tiếp câu chuyện của cặp đôi họa sĩ và hacker này. Calif đầu tư vào nghiên cứu vì muốn xây dựng tri thức và làm những việc trước đó chưa ai làm. Với tôi, còn có những câu chuyện bên lề như thế này. Tôi luôn tò mò về những gì diễn ra đằng sau các cú hack đỉnh cao.
Tôi nói với Bruce: sau này chắc chẳng nhớ đã kiếm được bao nhiêu tiền. Nhưng tôi sẽ nhớ cái buổi chiều trời mưa lất phất, loay hoay tìm sóng 5G để công bố lỗ hổng PHP, trong một nhà hàng Ấn Độ cạnh ga Frankfurt, giữa tiếng nhạc Bollywood rền rĩ.
Như vậy là đủ cho một đời hacker.
Dương Ngọc Thái