Năm ngoái (2021) tôi nhận lời mời đến Hà Nội điều tra một vụ tấn công mạng có lẽ thuộc hàng nghiêm trọng nhất lịch sử Việt Nam. Dự án thú vị, nhưng cũng đầy khó khăn, nhiều thử thách. Có những thời điểm tôi không chắc mình có làm được gì không.
May là cùng làm với tôi có An Trịnh, một hacker trẻ siêu đẳng. An làm tôi nhớ một thời tuổi trẻ lê máy tính đi hack khắp nơi. Nhờ An và sự hỗ trợ của nhiều người khác không tiện nêu tên, cộng với rất nhiều may mắn, cuối cùng chúng tôi cũng làm sáng tỏ chuyện gì đã diễn ra, lần ra manh mối có thể dẫn đến thủ phạm.
Hơn hai tháng chiến đấu ở Hà Nội là một kinh nghiệm không thể quên, cho tôi nhiều ý tưởng mới, tạo ra một bước ngoặt trong sự nghiệp. Hôm nay tôi muốn chia sẻ một vài trải nghiệm của chuyến đi.
Vì lý do bảo mật, tôi không thể chia sẻ những thông tin cụ thể. Bài này chủ yếu ghi lại kỷ niệm, mừng một thành công nhỏ. Trong một bài tiếp theo tôi sẽ chia sẻ một số kinh nghiệm chung về điều tra xử lý sự cố.
"Vượt biên" ngược
Từ cuối năm 2020 tôi đã muốn đến Việt Nam thăm gia đình, nhưng tìm mãi không có đường về. Trong suốt 2020 và 2021, người cầm hộ chiếu Việt Nam không được phép tự do bay về Việt Nam trên các chuyến bay thương mại. Đành rằng đất nước còn nghèo cầm hộ chiếu Việt Nam không đi được nhiều nơi, nhưng lúc bấy giờ muốn quay về Việt Nam cũng không được luôn, tủi thân dễ sợ.
Nhưng đối với người Sài Gòn thì chỉ có đường không đi được, chứ làm gì có đường không được đi, thế là tôi nung nấu ý định vượt biên, nghiên cứu đủ mọi cách vào Việt Nam, qua Campuchia hay Trung Quốc. Tôi còn tính đến phương án đường thủy, nhưng coi bản đồ thấy California cách Việt Nam hơi xa, nếu bơi sẽ rất lâu mới vớt được xác nên lại thôi.
Còn đang phân vân thì một người bạn bất ngờ mời tôi điều tra một sự cố an ninh mạng. Việt Nam vẫn cho phép chuyên gia tự do bay đến Việt Nam, mà không cần chui qua “máy chém” của các lãnh sự quán. Với dự án này, tôi có thể đường hoàng nhập cảnh, nếu đủ tiêu chuẩn chuyên gia.
Là một kỹ sư cấp cao cao cao, lại từng đạt danh hiệu 12 năm liền học sinh giỏi, tôi nghĩ tôi đủ tiêu chuẩn. Ai dè họ yêu cầu phải có quốc tịch nước ngoài. Người Việt Nam không được phép làm chuyên gia hả ta!?
Cuối cùng sau mấy tháng làm hồ sơ, tôi đáp chuyến bay của Singapore Airlines từ San Francisco đến Việt Nam. Tôi chỉ được phép đến Hà Nội. Tôi nghĩ không sao, làm việc chừng 2-3 tuần rồi về Sài Gòn thăm gia đình. Rốt cuộc tôi kẹt ở Hà Nội đến hơn 2 tháng, mới đầu vì lockdown, sau vì dự án quá căng, tôi muốn tập trung làm cho tới cùng.
Hacker mũ gì?
Hy sinh 10kg xương mỡ cho Tổ quốc
Cách ly 7 ngày, ngoáy mũi 2 lần đau chảy nước mắt, được cấp giấy "ra trại" là tôi bắt tay vào việc luôn. Khảo sát hiện trạng, phỏng vấn những người liên quan, tôi nhận ra dự án lớn hơn tôi tưởng. Tôi nhờ bạn bằng mọi giá "ship" gấp An từ Sài Gòn ra.
An cách ly mấy ngày thì bắt đầu hành trình mỗi sáng xe đón tụi tôi ở khách sạn chở đến chỗ làm, ăn trưa ở đó luôn, tối mịt xe lại chở về. Sợ tôi trốn hay sao đó, mấy ngày đầu Công an quận Hoàn Kiếm cứ gọi điện cho khách sạn kiểm tra xem tôi có đi làm không.
Vài tuần đầu chủ yếu thu thập dữ liệu, còn khá thong thả, nên cuối tuần bạn tôi tổ chức đi chơi. Có tuần đi Hạ Long, xe chạy đến điểm kiểm soát COVID ở Quảng Ninh thì tất cả phải xuống xuất trình giấy tờ.
Vừa xem chứng minh thư của tôi và nghe giọng miền Nam, mấy anh kiểm soát viên hốt hoảng gọi ngay công an, "Anh ơi có ca này từ Sài Gòn mới ra nguy quá!". Cũng may sau khi tôi giải thích đầu đuôi câu chuyện, trình giấy "ra trại", họ cũng cho đi. An không đem theo giấy, may mà gọi được cho khách sạn chụp hình gửi.
Sau khi có đủ dữ liệu tụi tôi tăng tốc, cuối tuần làm luôn, mỗi ngày 12-16 tiếng. Lúc còn ở Mỹ tôi rất háo hức, nhưng khi bắt tay vào việc tự dưng lo, nhiều đêm không ngủ được. Kiểu như lúc ở hậu phương chỉ mong đến ngày ra trận nhưng ra đến mặt trận lại thấy lạnh chân.
Tôi nhận điều tra vụ này vì tôi nghĩ An và tôi làm được. Muốn săn hacker thì phải suy nghĩ như hacker. Chỗ này tụi tôi ổn, tổng cộng giữa An và tôi có hơn hai thập kỷ kinh nghiệm hacking. Tụi tôi cũng rất “ăn rơ", đã phối hợp thành công nhiều dự án quan trọng. Riêng sự cố này tôi nghĩ ít có ai phù hợp hơn, vì tụi tôi có nhiều kinh nghiệm làm việc trên các hệ thống tương tự.
Tôi chỉ lo bài toán quá khó, mà lại không có đủ dữ kiện để giải. Tôi có nghiệp vụ điều tra, An hiểu nghiệp vụ của các team hacker (TTP), nhưng kết quả điều tra phụ thuộc vào những việc nằm ngoài tầm kiểm soát của tụi tôi. Hiện trường có được giữ nguyên, bằng chứng có được bảo toàn, tụi tôi sẽ được cung cấp dữ liệu và thông tin gì, trình độ thủ phạm… sẽ quyết định tụi tôi có làm được gì không.
Có lẽ vì stress và vì đồ ăn Hà Nội quá ngon, tôi tăng gần 10 kg. Chưa bao giờ cấu hình của tôi khủng như vậy, nhìn cái bụng mà ngán thịt kho hột vịt luôn.
Hacker đang ở đâu về nhà gấp, mọi lỗi lầm tụi tao sẽ bỏ qua
Làm an ninh mạng chủ yếu là học từ sai lầm, tốt nhất là của người khác. Mỗi lần bị tấn công là một cơ hội tuyệt vời để rút ra bài học và những việc cần làm để không xảy ra những tấn công tương tự nữa.
Muốn vậy thì phải xác định được chính xác chuyện gì đã diễn ra, tức thủ phạm đã làm gì, ở đâu, khi nào. Không trả lời được câu hỏi này sẽ không thể tính toán đầy đủ thiệt hại và sẽ còn bị hack dài dài. Giống như buổi sáng ngủ dậy tự dưng thấy người đầy ghẻ mà chỉ đi bôi thuốc chứ không tìm nguyên nhân cốt lõi thì sẽ mãi hát bài Đêm Gãi Không Ngừng.
Trong vụ này, nạn nhân quyết tâm điều tra tới cùng. Đó là lý do tôi có mặt ở Hà Nội. Trước khi tụi tôi bắt tay vào việc, đội ngũ điều tra tại chỗ cũng đã thu được một số kết quả hữu ích, nhưng vẫn còn nhiều câu hỏi bỏ ngỏ. May mắn là tụi tôi sớm có những phát hiện giúp trả lời một số câu hỏi quan trọng, khiến tôi cũng bớt lo hơn. Ít ra mình cũng đã có đóng góp gì đó, không uổng công người ta tin tưởng.
Tụi tôi làm ròng rã 6-7 tuần thì cũng đã hiểu đường đi nước bước của thủ phạm. Tuy nhiên, tôi đoán nạn nhân rất muốn tìm được danh tính thủ phạm. Đây là một bài toán khó, tôi cũng nói từ đầu khả năng cao là không làm được, nhưng tôi hiểu tại sao họ mong muốn như vậy. Với sự cố lớn thì luôn có một câu hỏi khó chịu: liệu thủ phạm có phải người tay trong?
Thủ phạm khá lành nghề, là hacker chuyên nghiệp, khó có khả năng là tay trong, nhưng tất cả bằng chứng chúng tôi có cho đến lúc đó đều chưa đủ thuyết phục. An và tôi chia sẻ một niềm tin sắt đá rằng thủ phạm cũng là con người, mà đã là con người thì phải có sai sót. Tin thì tin như vậy, nhưng tìm mãi không thấy gì tụi tôi cũng chột dạ, nhất là lúc dự án đã kéo dài hơn dự kiến.
Làm điều tra nghe qua thì tưởng đuổi bắt, đấu trí với tội phạm như trong phim, nhưng kỳ thực công việc cực kỳ tỉ mỉ, mệt mỏi, dễ nản. Mò tìm bằng chứng trong mớ ta bà dữ liệu giống như mò kim đáy biển, 99% thời gian bỏ ra chẳng tìm được gì, 1% còn lại chẳng may lơ đãng là coi như công cốc.
Ngược lại, cũng có khi đang điều tra một vấn đề lại vô tình lượm được cục sình, tìm được lời giải cho một vấn đề hóc búa khác. Và tôi đã may mắn như vậy! Đang theo đuổi một hướng điều tra thì tôi nghĩ ra một cách liên kết sự kiện (event correlation) giúp phát hiện một manh mối quan trọng hacker để lại, có thể dẫn đến danh tính thủ phạm.
Lúc phát hiện ra sai sót của thủ phạm, tôi như người đi lạc trong rừng tìm được đường mòn, vừa mừng vừa lo. Mừng vì biết khả năng cao tụi tôi đang đi đúng đường, lo vì không biết lối mòn có dẫn vào đường cụt nữa hay không.
Cũng may nhờ An và sự hỗ trợ nhiệt tình của nhiều người khác, cuối cùng đường mòn cũng dẫn tụi tôi đến những phát hiện đột phá. Ít có gì hạnh phúc hơn khi ta chiến đấu hết sức vì một niềm tin rồi đạt được kết quả ngoài mong đợi.
Vị khách sộp ở Nguyễn Kim
Rốt cuộc tụi tôi đã phát hiện ra manh mối như thế nào? Cái này người ta hay trả lời là “bằng các biện pháp nghiệp vụ”. Tôi sẽ không thể chia sẻ chi tiết, vì lý do bảo mật, nhưng tôi có thể kể vụ án đầu tiên cho tôi ý tưởng điều tra này.
Chắc nhiều bạn đọc còn nhớ, cách đây mười mấy năm tôi làm bảo vệ cho một ngân hàng. Lúc bấy giờ khách hàng gọi điện lên báo mất tiền. Khi mở log ra xem, tôi thấy tiền của khách hàng bị chuyển đến tài khoản của cửa hàng điện máy Nguyễn Kim.
Gọi cho Nguyễn Kim họ nói sáng hôm đó có một người đàn ông đến hỏi mua một cái tivi, thuộc dạng mắc tiền nhất. Chuẩn bị thanh toán thì người này nói quên mang theo ví, nhưng nếu cửa hàng cho mượn máy tính họ sẽ chuyển khoản qua Internet!
Tay này thậm chí còn chuyển gấp đôi số tiền, nhờ cửa hàng trả lại tiền thừa, “đặng khỏi mất công chạy về nhà lấy tiền dằn túi”. Không muốn phật lòng khách sộp, nhân viên Nguyễn Kim làm theo rơm rớp.
Một nước cờ hết sức khôn ngoan của thủ phạm! Hắn muốn giấu tung tích, nên sử dụng máy của Nguyễn Kim để chuyển tiền. Đây là tâm lý chung của tội phạm: khi thực hiện hành vi phạm pháp, chúng sẽ cẩn thận xóa dấu vết, đảm bảo không có cách gì truy ra được chúng từ hiện trường vụ án. Vấn đề là đến lúc ra tay mới xóa dấu vết thì đã quá muộn.
Ít có ai có ý định phạm tội ngay từ đầu, mà thường trải qua một hành trình. Hành trình tội ác thường bắt đầu bằng việc thủ phạm vô tình nhìn thấy một cơ hội. Trong trường hợp này, thủ phạm vô tình nhìn thấy mật khẩu Internet Banking của một người đồng nghiệp.
Tò mò, hắn đăng nhập vào tài khoản của nạn nhân, thấy nhiều tiền, nổi lòng tham muốn chiếm đoạt. Rồi hắn cất công nghĩ ra một cách trộm tiền không để lại dấu vết, nhưng không biết rằng quá trình tìm hiểu tài khoản nạn nhân đã để lại bao nhiêu bằng chứng.
(Lúc đó, để tiết kiệm, ngân hàng không xác thực giao dịch bằng SMS, mà dùng một giải pháp rất tào lao… do chính tôi thiết kế. Thủ phạm cũng đánh cắp được tài khoản xác thực này của nạn nhân).
Tôi phát hiện ra tay thủ phạm bằng cách tìm những địa chỉ IP đăng nhập vào tài khoản nạn nhân, rồi tìm xem những địa chỉ IP này có còn đăng nhập vào tài khoản nào khác không. Sai lầm của thủ phạm là đã đăng nhập vào tài khoản của chính hắn, chỉ vài phút sau khi đăng nhập vào tài khoản của nạn nhân.
Vị khách sộp ở Nguyễn Kim giúp tôi rút ra được một quy luật: càng xa thời điểm thực hiện hành vi phạm pháp, thủ phạm sẽ càng bất cẩn. Để gia tăng cơ hội tìm được thủ phạm, phải điều tra toàn bộ hành trình tội ác của chúng, chứ không chỉ tập trung vào thời điểm chúng ra tay.
Thế thì làm sao biết được hành trình tội ác của đám hacker? Đây chính là lúc cần phải suy nghĩ như một hacker. An và tôi ngày nào cũng tự hỏi: nếu là đám hacker, tụi tôi sẽ làm gì tiếp theo?
Cuộc chiến còn dài, hacker còn nhiều
Đây không phải là lần đầu tôi đến Hà Nội săn hacker. Mười mấy năm trước tôi đã từng ăn dầm nằm dề cả tuần trong một khách sạn ở khu Cửa Bắc, luyện cuốn File System Forensic Analysis để tìm cách khôi phục dữ liệu trong một máy quay lén mã PIN ATM của bọn hacker Trung Quốc.
Đây chắc chắn cũng không phải là lần cuối. Không khó để hack, hack xong rồi chẳng mấy khi bị truy bắt, giới tội phạm nước ngoài đang nhìn Việt Nam như một miếng mồi béo bở. Đây sẽ là một cuộc chiến dai dẳng, nhưng chưa mấy cân sức. Việt Nam sẽ còn thua dài dài. Ai cũng muốn "chuyển đổi số", nhưng ít người hiểu được hệ lụy.
Cú phản đòn lần này mặc dù có thể không thay đổi gì nhiều cục diện, đối phương vẫn sẽ tiếp tục tấn công, nhưng tôi vẫn thấy rất vui vì ít nhất tụi tôi đã giúp Việt Nam gửi đi một thông điệp: ở đây tụi tao có người điều tra tới cùng, liệu hồn!
(còn tiếp: Làm điều tra sự cố là làm gì?)
Cảm ơn Ned Nguyễn và An Trịnh đã xem và cho ý kiến bản thảo.
Hay 👍