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