金慶的專欄
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è)
公告照片
搜索
積分與排名
積分 - 653959
排名 - 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)容較長,點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11016)
2.?SVN中邪惡的replace(10938)
3.?VS2005編譯libevent(10404)
4.?混音算法的學(xué)習(xí)與研究(10183)
5.?C調(diào)用lua腳本的效率測試(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占用或帶寬占用,這類攻擊稱為刷指令.
最簡單的如聊天廣播. 不需要特殊的外掛, 只需在客戶端全域或區(qū)域喊話,
該聊天信息就會(huì)廣播到所有客戶端, 占用許多帶寬.
一般需要通過限制聊天的間隔時(shí)間, 或者收費(fèi)來防止刷屏聊天.
其他指令也需要這種防刷措施.
防刷指令應(yīng)該做成一個(gè)通用機(jī)制, 控制所有指令, 而不是僅僅對(duì)個(gè)別指令處理.
默認(rèn)情況下, 所有客戶端發(fā)往服務(wù)器的指令都要受到限制.
指令限制功能應(yīng)該放在網(wǎng)關(guān), 不會(huì)影響游戲服務(wù)器.
但也要求算法盡量簡單, 能夠快速處理.
最簡單的限制方法是限制間隔時(shí)間.
同一類指令之間必須間隔一定時(shí)長.
同一類指令就是指令號(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
凡客誠品
確認(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í)
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
国产精品青草久久久久婷婷
|
久久有码中文字幕
|
亚洲日本久久久午夜精品
|
91精品国产高清久久久久久国产嫩草
|
久久人人爽爽爽人久久久
|
一级女性全黄久久生活片免费
|
色综合久久中文综合网
|
国产精品久久久久影院嫩草
|
99精品久久精品
|
伊人久久免费视频
|
久久久久久国产a免费观看不卡
|
国产精品久久久久久久午夜片
|
国产成人无码精品久久久久免费
|
亚洲午夜久久影院
|
久久本道久久综合伊人
|
无码8090精品久久一区
|
午夜福利91久久福利
|
国产一区二区久久久
|
一本色道久久综合亚洲精品
|
久久人爽人人爽人人片AV
|
久久精品国产第一区二区三区
|
久久久女人与动物群交毛片
|
久久综合中文字幕
|
内射无码专区久久亚洲
|
久久精品人人做人人妻人人玩
|
色综合久久中文色婷婷
|
一本色道久久综合
|
国产精品一久久香蕉产线看
|
99热成人精品免费久久
|
久久久久亚洲av成人网人人软件
|
色婷婷久久综合中文久久蜜桃av
|
成人a毛片久久免费播放
|
亚洲精品第一综合99久久
|
久久精品天天中文字幕人妻
|
污污内射久久一区二区欧美日韩
|
国内精品久久人妻互换
|
性高朝久久久久久久久久
|
无码国内精品久久人妻蜜桃
|
国产美女久久久
|
久久综合视频网
|
国产日韩久久久精品影院首页
|