金慶的專欄
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 © 金慶
777久久精品一区二区三区无码
|
亚洲AV成人无码久久精品老人
|
久久国产免费直播
|
91久久精品国产91性色也
|
久久久久久亚洲精品不卡
|
久久久久青草线蕉综合超碰
|
亚洲中文精品久久久久久不卡
|
久久国产免费
|
久久久SS麻豆欧美国产日韩
|
国产精品久久成人影院
|
久久精品中文字幕一区
|
麻豆av久久av盛宴av
|
久久综合久久久
|
囯产极品美女高潮无套久久久
|
久久99国产精品久久
|
久久久久99这里有精品10
|
AV无码久久久久不卡蜜桃
|
国产成人久久777777
|
日韩AV无码久久一区二区
|
久久久久无码精品
|
久久久久久久综合日本亚洲
|
亚洲综合伊人久久综合
|
国产成人无码精品久久久久免费
|
亚洲综合伊人久久综合
|
久久青青国产
|
国产午夜电影久久
|
精品综合久久久久久97超人
|
大香伊人久久精品一区二区
|
青春久久
|
久久中文字幕视频、最近更新
|
国产精品久久久久影院色
|
色欲综合久久中文字幕网
|
久久久久精品国产亚洲AV无码
|
亚洲成av人片不卡无码久久
|
99久久综合狠狠综合久久
|
国产精品视频久久
|
2022年国产精品久久久久
|
亚洲美日韩Av中文字幕无码久久久妻妇
|
狠狠色综合久久久久尤物
|
精品久久久久久久
|
91久久精品国产免费直播
|