金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 653959
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11016)
2.?SVN中邪惡的replace(10938)
3.?VS2005編譯libevent(10404)
4.?混音算法的學(xué)習(xí)與研究(10183)
5.?C調(diào)用lua腳本的效率測試(9003)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
網(wǎng)游防刷指令攻擊的設(shè)計
網(wǎng)游防刷指令攻擊的設(shè)計
網(wǎng)游外掛可以重復(fù)發(fā)送某些指令,造成服務(wù)器CPU占用或帶寬占用,這類攻擊稱為刷指令.
最簡單的如聊天廣播. 不需要特殊的外掛, 只需在客戶端全域或區(qū)域喊話,
該聊天信息就會廣播到所有客戶端, 占用許多帶寬.
一般需要通過限制聊天的間隔時間, 或者收費來防止刷屏聊天.
其他指令也需要這種防刷措施.
防刷指令應(yīng)該做成一個通用機制, 控制所有指令, 而不是僅僅對個別指令處理.
默認情況下, 所有客戶端發(fā)往服務(wù)器的指令都要受到限制.
指令限制功能應(yīng)該放在網(wǎng)關(guān), 不會影響游戲服務(wù)器.
但也要求算法盡量簡單, 能夠快速處理.
最簡單的限制方法是限制間隔時間.
同一類指令之間必須間隔一定時長.
同一類指令就是指令號相同.
例如所有聊天指令必須間隔500ms以上.
對于移動攻擊類的指令, 很頻繁, 用時間間隔限制不合適.
因為受網(wǎng)絡(luò)抖動的影響, 可能會有多個指令集中地接收.
應(yīng)該用平均指令數(shù)來限制.
如5s內(nèi)指令個數(shù)不超過1000個.
對于受到限制的指令, 可以直接忽略. 也可以向客戶端返回一個指令受限的指示.
對于確認為刷指令攻擊的客戶端, 就斷開連接.
有的指令可以緩存,直到允許的時刻才轉(zhuǎn)發(fā)給游戲服務(wù)器. 同類指令可以只保留最后一個指令.
(轉(zhuǎn)載請注明來源于金慶的專欄)
posted on 2009-09-22 17:43
金慶
閱讀(1936)
評論(5)
編輯
收藏
引用
所屬分類:
2. 網(wǎng)游開發(fā)
評論
#
re: 網(wǎng)游防刷指令攻擊的設(shè)計
2009-09-24 17:44
凡客誠品
確認為刷指令攻擊的客戶端, 就斷開連接.
回復(fù)
更多評論
#
re: 網(wǎng)游防刷指令攻擊的設(shè)計
2009-09-27 16:05
浩毛
防止網(wǎng)游外掛刷指令的一個比較好的辦法是在包加密上的處理,
可以這樣,
當(dāng)服務(wù)器端接受客戶連接后,給客戶端發(fā)送一個隨機種子,來初始化客戶端和服務(wù)器端隨機數(shù)生成步進狀態(tài)機。
在來往的包頭記錄發(fā)送序號,步進隨機數(shù)生成狀態(tài)機,每次生成的隨機數(shù)就可作為一個密匙KEY,使用KEY對包體進行加密。服務(wù)器或客戶端收到包后,根據(jù)包頭的序號,同步自己的隨機數(shù)生成狀態(tài)機,也得到一個相同的KEY,用這個KEY對包體解密。
對破解者來說,由于每次的包的KEY都是不同的,只是通過截獲收發(fā)的網(wǎng)絡(luò)包是很難根據(jù)包頭的序號和加密的包體來進行破解。
另外,由于同一個指令同一內(nèi)容的加密網(wǎng)絡(luò)包在不同時間段都是不同的。外掛開發(fā)者將截獲的加密網(wǎng)絡(luò)包,重復(fù)發(fā)送給服務(wù)器會被服務(wù)器判定為非法包。
回復(fù)
更多評論
#
re: 網(wǎng)游防刷指令攻擊的設(shè)計
2009-09-27 16:07
浩毛
好像魔獸就是采用的這種機制。
回復(fù)
更多評論
#
re: 網(wǎng)游防刷指令攻擊的設(shè)計
2009-09-27 16:08
浩毛
另外,你還要對客戶端的程序做一些 模糊化處理,禁止調(diào)試等手段來防止破解者反編譯匯編跟蹤調(diào)試你的程序。
回復(fù)
更多評論
#
re: 網(wǎng)游防刷指令攻擊的設(shè)計
2009-09-28 09:27
金慶
@浩毛
我的假定是客戶端程序可以被破解.
所有客戶端密碼,加密方法,與服務(wù)器的通信協(xié)議都是可見的.
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號
rpc應(yīng)答太快造成請求超時
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
婷婷综合久久中文字幕
|
伊人色综合九久久天天蜜桃
|
一本一本久久A久久综合精品
|
久久人做人爽一区二区三区
|
午夜欧美精品久久久久久久
|
久久亚洲精品视频
|
久久婷婷国产剧情内射白浆
|
久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口
|
国产福利电影一区二区三区久久老子无码午夜伦不
|
精品综合久久久久久97超人
|
久久这里只精品99re66
|
麻豆一区二区99久久久久
|
国产精自产拍久久久久久蜜
|
欧美一区二区三区久久综
|
国产精品美女久久久久av爽
|
久久亚洲AV成人出白浆无码国产
|
精品国产综合区久久久久久
|
婷婷五月深深久久精品
|
人妻无码精品久久亚瑟影视
|
久久精品男人影院
|
精品久久久久久久久午夜福利
|
狠狠色丁香婷婷久久综合五月
|
久久精品中文字幕久久
|
欧美va久久久噜噜噜久久
|
日本精品一区二区久久久
|
AAA级久久久精品无码区
|
久久国产精品成人免费
|
久久影院综合精品
|
久久精品国产亚洲AV大全
|
亚洲午夜久久久久久噜噜噜
|
亚洲äv永久无码精品天堂久久
|
麻豆久久久9性大片
|
亚洲国产成人久久综合碰
|
91久久精品电影
|
狠狠色丁香久久综合五月
|
av午夜福利一片免费看久久
|
久久久久久久久久久精品尤物
|
精品久久久久久久久免费影院
|
久久伊人精品一区二区三区
|
久久99国产精品久久99小说
|
狠狠色狠狠色综合久久
|