ĐẶC TRƯNG CỦA GAME FLASH: Ứng dụng game flash được load về client dữ liệu được lưu trên bộ nhớ RAM của client và điểm được tích lũy trong quá trình kết thúc game, được gửi lên: Qua we
Trang 1ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬT KHOA TIN HỌC QUẢN LÝ
MÔN HỌC
AN TOÀN VÀ BẢO MẬT HỆ THỐNG THÔNG TIN
Đề tài :
Hack và cách phòng chống hack trong
game flash
GVHD : ThS Trương Hoài Phan
Nhóm Sinh viên: nhóm 1 K094061132 – Đàm Đình Hưng K094061165 – Nguyễn Đức Nghĩa K094061203 – Bùi Thị Diễm Trinh K094061205 – Tô Quang Trung K094061210 – Đỗ Thị Thanh Tuyền
TPHCM – 2015
Trang 3I GIỚI THIỆU TỔNG QUÁT TÌNH HÌNH GAME VIỆT NAM:
1 Những thuận lợi của việc kinh doanh game tại Việt Nam:
Trong khi nhiều ngành công nghiệp đang gặp khó khăn phải tái cơ cấu, sát nhập hay hoạt động cầm chừng thì ngành công nghiệp nội dung số ở Việt Nam có tốc độ phát triển khá cao
Có thể kể ra mốt số doanh nghiệp kinh doanh nội dung số hiệu quả như: VTC Game và VNG, đây là hai đơn vị luôn có tốc độ tăng trưởng dương, đạt doanh số xao trong 6 tháng đầu năm 2012 Lấy dẫn chứng thực tại VTC Intercom, sau khi kết thúc 6 tháng đầu năm 2012 thì doanh thu đạt được của công ty tang trưởng là 102% và lợi nhuận đạt được là 100% kế hoạch Có thể nói ngành kinh doanh game là ngành siêu lợi nhuận
2 Những bất cập, khó khăn của việc kinh doanh game tại Việt Nam:
Bên cạnh việc mang lại siêu lợi nhuận thì kinh doanh game chính là một thương trường đầy cạnh tranh, cạm bẫy và rủi ro cho cả người kinh doanh
và người chơi Đối với chủ kinh doanh game phải luôn được cải tiến từng ngày nhằm đáp ứng nhu cầu của khách hàng nhưng vẫn bảo đảm được tính mới lạ và an toàn tương đối Hiện tại vấn đề nhức nhối cho nhà kinh doanh game chính là chống phá tình trạng hack tài khoản mật khẩu, gian lận giả mạo dẫn đến mất khách hàng và thậm chí là có thể kiện cáo khiếu nại Còn đối với khách hàng: tình trạng mất cắp tài khoản, mật khẩu, … xảy ra rất thường xuyên Có thể nói rằng hack game đang là vấn nạn trong thị trường game hiện nay ở Việt Nam
II ĐẶC TRƯNG CỦA GAME FLASH:
Ứng dụng game flash được load về client dữ liệu được lưu trên bộ nhớ RAM của client và điểm được tích lũy trong quá trình kết thúc game, được gửi lên:
Qua webservice bằng phương thức POST/GET
Qua kết nối socket
Hack điểm thường xảy ra trong các trường hợp sau:
- Trước khi chơi game: can thiệp trực tiếp lên file flash Để can thiệp vào
file flash có thể dùng nhiều thủ thuật như hack crossdomain, chạy file flash trên môi trường riêng Sau khi đạt được mục đích hacker sẽ dịch ngược file flash thay đổi code trong đó và chạy file flash mới này lên Chống hack ở giai đoạn này cách hiệu quả nhất là trước khi public hệ thống, thiết lập các mode security trên file crossdomain.xml, config IIS và có cơ chế quản lý session khi runtime, đồng thời encrypt chống dịch ngược file flash Các
Trang 4công cụ phục vụ cho việc encrypt là : Encrypt SWF, Encrypt SWF protect: dịch các file swf thành fla để đổi mã lệnh, hình ảnh…
- Trong quá trình chơi game: can thiệp vào dữ liệu đang được lưu trên
RAM Do có đặc điểm được load về client, dữ liệu được lưu trên bộ nhớ RAM của client nên hacker đã lợi dụng điểm này để quét dữ liệu trong bộ nhớ RAM Dựa vào các chỉ số trong game để tìm kiếm, phân loại dữ liệu và tiến hành đóng bang bộ nhớ Thực hiện các sửa đôi để làm tăng điểm, giảm thời gian chơi, … Các phần mềm thông dụng để hack game trong trường hợp này là : Cheat Engine, Artmoney, SWF Money Cơ chế hack trong trường hợp này đánh thẳng vào tầng kiến trúc máy (Computer Architecture): là tầng thấp nhất và sâu nhất trong khi các coder thường làm việc với tầng ứng dụng (Application)
Có 2 cách chống hack trong giai quá trình chơi game:
Đóng băng trước các vùng dữ liệu quan trọng, như vậy tools hack sẽ không thể làm được gì Đây là cách can thiệp khá sâu vào hệ thống máy client Làm cho phần mềm hack không tìm được giá trị tương ứng bằng cách dùng biến giả (bằng cách dùng công thức toán học biến 1 giá trị cần lưu trữ thành
1 giá trị bất kỳ)
- Kết thúc quá trình chơi game: can thiệp vào quá trình gửi điểm.
Chống hack khi gửi dữ liệu: dùng các phần mềm, tool để bắt gói tin khi gửi
dữ liệu Phương pháp phổ biến: dùng extension Tamper Data của FireFox Giải pháp: Áp dụng các phương pháp mã hóa dữ liệu khi gửi đi
III GIỚI THIỆU VỀ CÁC CÔNG CỤ HACK GAME ONLINE PHỔ BIẾN
HIỆN NAY
1 Sử dụng Request Adress:
B1: Nhấn F12 để vào xem code website, ta được kết quả sau:
Trang 5 B2: Copy các thành phần sau lên trình duyệt:
- Request URL
- Tất cả các tham số trong form data: time, action, mark, username
Ta được kết quả : http://game.quyquyenhd.com/default.aspx? action=addmark&time=1&mark=30000&username=trung
Với cách này ta có thể thay đổi kết quả của các biến tùy ý
B3: Dữ liệu đã được cập nhật trên trang Thống kê điểm của server
Trang 62 Sử dụng Tamper Data ( 1 tiện ích của firefox):
B1: Sau khi chơi game xong, đăng nhập với tài khoản và pass vào hệ
thống để lưu điểm Trước khi click nút “Đăng nhập” của game để vào lưu điểm., chọn ToolsTamper Data trên trình duyệt của Firefox.
B2: Tiếp túc click “Start Tamper”
Trang 7 B3:Click “Tamper” trong form vừa hiện
B4: Chỉnh sửa điểm ngay trực tiếp trên form, chọn tham số “mark” (ví
dụ ở đây thay đổi giá trị cho tham số mark=1310000)
Trang 8 B5: Chọn “OK”
B6: Kết quả trên server đã thay đổi với số điểm là “1310000”
Trang 93 Phần mềm Cheat Engine:
B1: Mở game Bloons Tower Defence 3 bằng trình duyệt Firefox, sau đó
khởi động phần mềm Cheat Engine, click chọn mã số tương ứng với trình duyệt Firefox “000011C8-firefox.exe”.
B2: Sau khi click chọn mã của chương trình “000011C8-firefox.exe”, chơi game để đạt điểm lần đầu là 625, sau đó lấy số điểm đó nhập vào ô
Hex=625 trong phần mềm Cheat Engine.
Trang 10B3: Nhấn nút “First Scan”, ta được như sau:
Trang 11B4: Tiếp tục chơi game để có điểm mới là “600”.
B5: Ta tiếp tục nhập điểm mới vào ô “Hex” với giá trị là 600, sau đó nhấn
nút “Next Scan” để xác nhận ra giá trị các dòng mới, cứ tiếp tục scan cho đến khi giá trị nhận đc chỉ còn duy nhất một dòng
Trang 12B6: Click phải dãy số trên ta được:
B7: Nhập sổ điểm mà mình muốn đổi , ví dụ ở đậy chọn “12999950”
B8: Điểm đã được cập nhật :
Trang 13IV GIẢI PHÁP PHÒNG CHỐNG:
1 Đối với Request Address:
Khi bắt đầu game, client sẽ gửi 1 request lên server để lấy key, để phòng ngừa người dùng chặn response thì sau khi request, server sẽ lưu key vào cookie với tên tùy chọn, client truy xuất vào cookie để lấy key lưu vào biến (cách này hữu dụng cho mọi game, vì key sẽ thay đổi thường xuyên)
Sau khi người chơi hoàn thành game, game sẽ gửi yêu cầu đăng nhập, phần này không cần mã hóa, khi đăng nhập thành công, game sẽ lấy key trên mã hóa 64 bit username, điểm, thời gian hoàn thành, sau đó gửi request chuỗi mã hóa lên server, cuối cùng xóa key à tạo key mới cho lần request (nếu có)
2 Đối với Cheat Engine (làm thời gian chậm hơn so với thời gian thực của hệ thống):
Với cách hack này, hacker sẽ làm chậm thời gian local để khi choi kết thúc với thời gian ngắn hơn Cách phòng chống: dùng giờ server để tính, vì giờ của server, client không có cách nào can thiệp được
Khi starr game, game trên client sẽ gửi request START, server nhận và lưu thời gian ngay lúc đó, nếu client có sửa đổi gì thì khi kết thúc cũng
sẽ gửi request END lên server, server sẽ lấy thời gian kết thúc trên server trừ ra để tính thời gian chơi và lưu lại
Ví dụ: Người chơi bắt đầu chơi lúc 11h30, khi đó gửi request lên server, server sẽ lưu lại thời gian START là [11:30], người chơi dùng cheat, làm thời gian trên máy chậm nên hoàn thành game lúc 11h32, khi đó gửi request END lên server, nhưng thực chất giờ trên server là 11h50 thì suy ra server sẽ lấy thời gian chơi là 11h50 - 11h30 = 20 phút
Tính thời gian như trên, đồng thời cũng lưu nhật kí (log) khi người chơi thắng điểm, lưu thời gian và điểm đạt được lúc đó
Ví dụ:[1s:3];[2s:6], ,[30s:2000] Khi kết thúc game gửi dòng log đó lên để dùng đối chiếu với người chơi, tránh trường hợp thời gian (trong vòng 1 giây chơi mà tăng quá nhiều điểm)
V KẾT LUẬN:
Cùng nhìn nhận lại những games đã và đang bị hack ta có thể thấy mỗi game vẫn còn những tồn tại vài khuyết điểm lỗ hồng tạo cơ hội cho những hacker tấn công bằng những thủ thuật từ đơn giản tới phức tạp
Do đó một vấn đề nan giải cho Nhà Phát Hành nói chung bên cạnh việc đưa ra những game mới mang tính đột phá cao về hình thức, chức năng
Trang 14thì cũng nên quan tâm đến mạng bảo mật cho game, cần đưa những công nghệ bảo mật cao tích hợp trong game