- 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
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.
Công chúa thỏ..?
Ý 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
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
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 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
Bài viết thú vị
Ở 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
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ẹ
https://reddit.com/r/comicbooks/…
zzz