7 điểm bởi GN⁺ 2025-03-04 | 4 bình luận | Chia sẻ qua WhatsApp
  • Hàng nghìn người yêu thích trò chơi điện tử đang vô tình tích lũy kinh nghiệm trong ngành an ninh mạng
  • Họ có sở thích phân tích các chi tiết của trò chơi, điều này tương tự với việc trở thành nhà nghiên cứu lỗ hổng.

Speedrun là gì? :

  • Ngay khi một trò chơi điện tử được phát hành, mọi người đã cố gắng phá đảo nhanh hơn bạn bè
  • Những trò chơi phổ biến nhất hoặc có tầm quan trọng về mặt văn hóa sẽ tạo ra sự cạnh tranh khốc liệt.
  • Các speedrunner chơi đi chơi lại trò chơi hàng trăm, hàng nghìn lần để đạt thời gian nhanh nhất trên bảng xếp hạng do cộng đồng dẫn dắt
  • Speedrun "Any%" là hạng mục mà mọi quy tắc đều bị bỏ qua, với mục tiêu hoàn thành trò chơi nhanh nhất bằng cách cố ý tận dụng lỗi của game

Săn glitch là reverse engineering

  • Trong cộng đồng speedrun của game, đã hình thành những nhóm áp dụng kỹ thuật để tìm ra các glitch mới
  • Họ không chỉ thử đi thử lại mà còn sử dụng các công cụ tiêu chuẩn của ngành an ninh mạng như IDA Pro hay Ghidra để phân tích cách phần mềm vận hành bên trong
  • Họ cũng tận dụng các công cụ như trình xem bộ nhớ của Dolphin Emulator hoặc Cheat Engine để phân tích động, qua đó nắm được cấu trúc dữ liệu nội bộ của chương trình và cách thông tin được ghi lại
  • Một số cộng đồng còn reverse engineering định dạng tệp của game và phát triển công cụ mới, chẳng hạn tạo program loader cho Ghidra hoặc tái hiện phần mã đã disassemble trong Ghidra bằng ngôn ngữ C để áp dụng vào fuzzer

Nghiên cứu lỗ hổng

  • Những nhóm này không chỉ làm reverse engineering mà còn thực hiện cả nghiên cứu lỗ hổng
  • Họ không chỉ tìm hiểu cách trò chơi hoạt động mà còn cố gắng phá vỡ nó bằng mọi cách
  • Những glitch này hoạt động rất giống với các khai thác hỏng bộ nhớ, qua đó phát hiện ra buffer overflow, use-after-free, các chuyển trạng thái state machine sai lệch, v.v.
  • Điều đặc biệt ấn tượng là họ còn sản phẩm hóa các khai thác này
  • Cộng đồng speedrun vượt qua những ràng buộc cực kỳ hạn chế để thực sự khai thác các glitch này, điều này tương tự với công việc mà các nhà nghiên cứu lỗ hổng trong ngành an ninh mạng thực hiện
  • Một số cộng đồng game thực hiện những glitch đòi hỏi độ chính xác vượt ngoài khả năng con người thông qua tool-assisted speedrun (TAS). Họ ghi lại đầu vào theo từng khung hình để thao tác ở đúng góc chính xác.
  • TAS sử dụng trình gỡ lỗi bộ nhớ để tạo ra heap spray hoàn hảo hoặc ghi payload shellcode vào kho đồ của người chơi.

Sự tồn tại của cả một ngành

  • Việc những con người có năng lực kỹ thuật như vậy lại tách rời khỏi ngành an ninh mạng là điều đáng ngạc nhiên
  • Những glitch hunter trong giới speedrun phát triển heap use-after-free exploit và viết bài kỹ thuật, nhưng lại gọi đó là glitch “lưu vật phẩm”
  • Họ không nhận ra rằng sở thích của mình có liên hệ chặt chẽ với nghiên cứu lỗ hổng trong ngành an ninh mạng
  • Thật đáng tiếc khi những người có các kỹ năng này lại không ứng tuyển vào các công việc như nghiên cứu lỗ hổng hay reverse engineering
  • Nghiên cứu lỗ hổng đòi hỏi sự hiểu biết sâu sắc về cách chương trình hoạt động, điều này tương tự với việc phát hiện glitch trong game.
  • Phân tích glitch mang tính kỹ thuật của cộng đồng speedrun cũng rất được ưa chuộng trong ngành an ninh mạng. Họ đào sâu vào bên trong chương trình và khai thác lỗ hổng một cách sáng tạo.

4 bình luận

 
firea32 2025-03-10

Sau khi thấy khá nhiều đội QA, tôi nhận ra một điều là rốt cuộc nếu không suy nghĩ theo hướng “nếu mình là người dùng thì mình sẽ làm gì”, thì với mức chỉ đánh dấu vào checklist sẽ không thể tìm ra những lỗ hổng như bài viết nói đến.

 
rlaehdus2003 2025-03-04

Công chúa thỏ..?

 
GN⁺ 2025-03-04
Ý kiến trên Hacker News
  • Phép so sánh này có vẻ hơi cường điệu để phục vụ content marketing. Khác biệt chính giữa nhà nghiên cứu lỗ hổng và cộng đồng speedrunning là speedrunning rất mang tính hợp tác và cởi mở. Mỗi trò chơi đều có một cộng đồng Discord speedrunning khổng lồ, và ngay cả trước khi Discord tồn tại, rất nhiều người đã xem cách người khác chơi để cố gắng hiểu các mẹo và hack được phát hiện ngoài ý muốn

    • Nintendo thường không bận tâm việc mọi người tìm ra ACE trong các trò chơi cũ và đăng các bản decompile của game lên GitHub. Nhưng các nhà nghiên cứu lỗ hổng thì không thể làm vậy nếu muốn tránh rắc rối pháp lý
    • Những người tham gia tích cực trong cộng đồng speedrunning có lẽ đã hiểu rất rõ điều này. Một ví dụ bổ sung thú vị là bạn thường thấy các TAS'er nói về arbitrary code execution. Màn trình diễn OoT huyền thoại tại GDQ dùng ending thay thế của TASBot thật sự đáng kinh ngạc
  • Tôi từng thắc mắc vì sao hai mối quan tâm này không chồng lấp lên nhau. Có vẻ một phần là do hiệu ứng kiểu như "Tôi không muốn chữa ung thư. Tôi muốn biến con người thành khủng long.". Một số người hack game chỉ quan tâm đến những gì họ có thể làm trong trò chơi mà họ thích. Điều đó không nhất thiết khái quát thành việc muốn áp dụng cùng kỹ năng ấy cho mọi thứ khác

    • Hack các trò chơi 20-30 năm tuổi dễ hơn phần mềm hiện đại rất nhiều. Đó là vì game không có bất kỳ biện pháp giảm thiểu nào. Với các trò chơi nổi tiếng, còn có nền tảng là hàng chục năm công sức reverse engineering, nên bạn không (nhất thiết) phải bắt đầu từ con số 0. Và còn có bộ công cụ tốt hơn nữa (save state, v.v.)
    • Yếu tố lớn mà bài blog này dường như muốn nói đến là đa số mọi người hoàn toàn không biết gì về ngành nghiên cứu lỗ hổng. Nó không thu hút chú ý như speedrun, nơi người ta phát sóng từ thiện cho hàng triệu khán giả
  • Khác biệt quan trọng là động lực. Speedrunner thích việc này vì game vui. Speedrunner thực sự có thể dùng các lỗ hổng đó theo cách có ý nghĩa trong đời sống của họ, còn nhà nghiên cứu lỗ hổng thì nhìn chung là không

    • Đây là một nhận xét chung về an ninh mạng. Săn bug và reverse engineering đòi hỏi sự bền bỉ hơn nhiều so với viết phần mềm và các mảng IT khác. Rất khó khơi ra sự bền bỉ nếu lương là động lực duy nhất, phần mềm mục tiêu vốn dĩ nhàm chán, và bạn biết rằng dù có tìm được bug hay không thì vẫn được trả công
  • Đây hoàn toàn là điều hiển nhiên. Các nhà nghiên cứu lỗ hổng ghen tị với các video speedrun có dùng công cụ. Nhân tiện, khi tôi chơi Microcorruption, các nhà phát triển game đã vượt mặt tất cả mọi người trừ các nhà nghiên cứu lỗ hổng hàng đầu

  • Gần đây tôi xem speedrun phá kỷ lục thế giới của Subnautica, và có người tốt bụng để lại trong phần bình luận danh sách toàn bộ bug được dùng để phá đảo game trong 28 phút

    • Thật sự rất kinh ngạc. Khi chơi game, tôi hầu như không gặp bug hay glitch nào và nghĩ rằng nó được trau chuốt khá tốt. Nhưng thực tế là ngay cả sau nhiều năm phát hành và nhiều lần cập nhật, vẫn còn lại hàng trăm bug
  • Bài viết thú vị

    • Thật tiếc là an ninh mạng không vui và hấp dẫn một cách nội tại với nhiều speedrunner như video game. Một lý do lớn khiến speedrunner có thể dành thời gian tìm glitch và hack trong các game này là vì họ cực kỳ thích thú khi làm vậy. Ngoài ra, hack glitch trong các game đã vài chục năm tuổi nhìn chung cũng dễ tiếp cận và không có rào cản gia nhập cao như an ninh mạng
  • Ở mức cực đoan, bạn còn có thể làm được những thứ như arbitrary code execution trong Super Mario World

    • Chỉnh sửa: lẽ ra phải có link ở đây. Link
  • Bài blog rác này được viết bởi một "Senior Cyber Engineer". Tôi tự hỏi liệu họ (a) xấu hổ vì cái quảng cáo do mình viết quá lố bịch, hay (b) thực ra không phải kỹ sư mà là người đi viết prompt cho ChatGPT

  • Tôi là speedrunner, và tôi chắc rằng điều này đã quá quen thuộc và trong một số category còn được chấp nhận như tiêu chuẩn. Nó được chấp nhận rộng rãi đến mức tiêu đề này gần như là một sự xúc phạm nhẹ

    • Trong thế giới game, hành vi phần mềm không xác định là thứ rất quan trọng với những chuyện này. Có thể thấy điều đó đặc biệt rõ trong những hack huyền thoại được phát hiện trong speedrun Ocarina of Time
    • Trong Super Mario World, SethBling đã tự tay chạy một phiên bản Flappy Bird thông qua code injection. Không dùng save state. Việc này mất rất nhiều thời gian, và toàn bộ quá trình thực sự cuốn hút. Link
    • Tôi cũng speedrun cả những thứ ngoài game. Vì vậy, cách khái quát hóa ở đây là chúng tôi không chỉ là các nhà nghiên cứu bảo mật, mà còn là những người học rất giỏi về "hình thái" của sự vật, rồi dùng hình thái đó để học cách chuyển từ trạng thái này sang trạng thái khác của chính hình thái ấy
    • Tóm lại thì, đúng, nó có thể đơn giản như nghiên cứu bảo mật. Nhưng niềm vui và vẻ đẹp của speedrunning còn lớn hơn và đẹp hơn thế nhiều. Dĩ nhiên, đó cũng là một kết quả có thể đạt được thôi