在近期發佈的《2018年上半年中國移動互聯網行業發展分析報告》中提出,在上半年中國移動互聯網關鍵字TOP1是「安全」,安全已成爲中國移動互聯網企業存亡生命線。做爲平臺,首先要保證輸出內容的安全,其次要保證用戶的人身財產安全及數據安全。安全,爲立「身」之本。html
在過去二十多年中,伴隨着移動互聯網的發展,遊戲行業經歷很大的變化——不只僅是從技術上的革新,遊戲的實現能力更是有了飛躍的發展,可是在移動遊戲逐漸成爲大衆休閒娛樂的主流方式的背後,其安全正受到網絡黑產的巨大威脅。算法
移動遊戲發展迅猛,安全問題如影隨形 安全
據相關數據顯示,截止到2018年3季度,全球移動互聯網用戶已超過30億,歐美、東亞等區域滲透率近80%。從3季度基於移動互聯網應用月新增佔比分佈數據看,遊戲行業佔比位居第二,且主流手機遊戲應用MAU同比增加趨勢明顯。服務器
可是,隨着硬件與開發技術的成熟相繼發展成型,遊戲行業安全問題也隨之出現,外掛工具、系統功能漏洞、服務器宕機漏洞等問題頻發,也將大幅影響遊戲內平衡,使用戶體驗降低。能夠說,不管是移動應用仍是遊戲,發生安全問題就如同打開「潘多拉魔盒」,不但可能危害用戶切身利益,也一樣會形成企業的損失。與此同時還會發生企業信譽危機,品牌口碑大幅下滑等一系列問題。網絡
在騰訊安全雲鼎實驗室於近日發佈《2018年遊戲行業安全監測報告及五大攻擊趨勢》的數據顯示,目前遊戲行業安全威脅主要包括帳號類攻擊、DDoS攻擊、外掛和其餘四大類。架構
1. 賬號類攻擊框架
針對遊戲行業的賬號類攻擊,月均在數億次/月,且持續平穩,具備長期持續性攻擊的特徵。函數
(1)攻擊類型分佈工具
在針對賬號的攻擊中,大部分的賬號掃描其實也是爲了撞庫攻擊作準備,少部分是基於歷史密碼的登陸嘗試。所以,在賬號安全側,撞庫相關攻擊實際佔據了80%以上的份額。ui
2. DDoS 攻擊
從2018年狀況統計中,遊戲行業仍爲DDoS 攻擊主要目標,其中移動 Web 遊戲被攻擊數量明顯增長。從被攻擊遊戲分類看,端遊與手遊依然佔比最大。
3. 外掛
2018年主要外掛集中在手遊的吃雞類遊戲上,其中外掛熱度排名前四的吃雞類手遊佔據了超過60%的關注度,加上 PC 端的射擊類遊戲,射擊類外掛已然佔據了70%以上。
4. 其餘
其餘攻擊還包括主要集中在 App Store 平臺的代充值類問題,好比:外幣匯率差、黑卡和盜刷信用卡等。
移動遊戲行業發展,需與遊戲安全比翼齊飛
移動遊戲安全問題逐漸氾濫已經引發了政府監管部門的關注,政府監管部門已明顯放慢了版號審批速度,實施網絡遊戲總量調控,同時也採起了一系列相應措施:
2017年12月,中共中央宣傳部、中央網信辦、工業和信息化部、教育部、公安部、文化部、國家工商總局、國家新聞出版廣電總局聯合印發《關於嚴格規範網絡遊戲市場管理的意見》(如下簡稱《意見》),部署對網絡遊戲違法違規行爲和不良內容進行集中整治。《意見》中明確提出:「網絡遊戲系統安全、用戶信息安全問題較爲突出,我的信息泄露、帳號非法交易現象較爲廣泛。同時,管理體制機制與市場發展還不徹底匹配,相關法律法規還不夠健全,方式手段還不夠完善,糾錯懲戒不足以造成震懾。」
2018年2月5日下午,浦東網安支隊召開浦東地區遊戲行業網絡安全工做會,會議就目前網遊行業發展所致使的文化內容缺失等突出問題爲背景,向浦東地區的114家網絡遊戲企業下發《網絡遊戲企業基礎排摸調研表》,並開展法律法規教育,要求各單位覈實並上報本單位的信息安全問題。
與此同時,全國不少監管部門也在加緊行動,全面排查,加緊規範整治。在2018年12月21日舉行的中國遊戲產業年會上,中宣部出版局有關人士表示:「首批送審遊戲已經完成審覈,正在抓緊核發版號」,說明暫停已久的移動遊戲審批從新啓動,移動遊戲行業又將迎來新的春天。而將來,移動遊戲的健康發展更須要安全系統的有力加持。
移動遊戲主要安全攻擊分析
移動遊戲可分爲單機遊戲和網絡遊戲兩大類,基於不一樣類別遊戲特色進行分析:
1.單機遊戲
這類遊戲全部的數據基本都在本地,面臨的分析主要有內購破解,二次打包,遊戲修改器等威脅。由於數據基本都在本地,攻擊者能夠修改本地數據達到一些非法的目的,好比:修改生命值,增長金錢,修改傷害值等。
還有一些抄襲者將遊戲完全分析,或者從新二次代碼,只修改遊戲裏面的原有包名,和遊戲人物角色ui和名稱,能夠快速開發一款同類產品,減小開發週期。還有就是直接盜用,修改支付連接,轉換爲本身的,並將付費額度修改成比正版更低的價格。
2.網絡遊戲
這類遊戲主要的數據是和服務器進行交互,有些戰鬥數據計算可能在本地或者是服務器,應對本地計算的,建議放到服務器計算,這樣安全性更高。主要的威脅有:外掛,私服,第三方抄襲等。
外掛:能夠經過分析遊戲的核心數據,分析遊戲的內部代碼達到一些非法操做,好比脫機掛能夠自動註冊遊戲,進行遊戲通關操做、刷金幣、刷等級等;還有經過外掛能夠加速遊戲運行,縮短遊戲打鬥。
私服:這種狀況是經過破解遊戲和服務器的通訊協議自建服務器,將遊戲網絡地址給爲自建服務器地址。
第三方抄襲:破解遊戲後,分析遊戲的數值數據、關卡配置等一系列的數據信息。若爲網絡數據則經過抓包等手段進行分析,開發者只須要修改ui等手段便可以快速出一款同類遊戲,減小了策劃等工做。
形成安全問題的技術實現分析:
1.內購破解:
經過暴力破解方式,繞過/破解支付校驗代碼,支付框架、sdk破解,形成收入嚴重受損。
2.修改內存
經過內存注入、動態調試、內存dump等操做惡意篡改遊戲內容,形成遊戲平衡性降低。
3.二次打包
篡改遊戲代碼、更換遊戲logo、皮膚、包名,篡改後的遊戲,形成扣費、流量損耗、彈廣告等等,形成公司名義受損。
4.遊戲修改器
遊戲修改器對幾乎全部的遊戲都會形成嚴重破壞,修改遊戲屬性值,嚴重破壞遊戲平衡,付費環節變得沒有任何做用,收入變低,用戶興趣低,用戶量損失。
5.核心技術、數據信息丟失
經過破解方式,獲取遊戲核心代碼,對公司自主產權形成嚴重損害,遊戲數據信息丟失、玩家我的信息數據泄露。
移動遊戲安全解決方案解析
1.Java代碼vmp加密
對dex文件進行native指令化轉化,而且以native方式還原到安卓內存中,即便使用dump手段dump出當前部分代碼,也是通過native處理過的代碼,不會還原成APP源代碼。
2.動態調試保護
(1)防動態注入
防注入保護,能防止APP運行時經過注入的方式獲取APP隱私數據、使用hook等方式劫持APP的正常運行流程等。當加固後的APP檢測到注入時,APP會自動退出運行。
(2)防動態調試
反調試機制可以拒絕調試工具的附加操做,阻止調試器對移動應用調試分析其業務邏輯代碼,一旦被加固的程序檢測到有如gdb等調試操做將自動退出運行。
(3)防內存dump
防內存dump保護,能有效阻止gdb dump等操做,同時由於代碼採用函數體分離方式和native化保護,代碼都是以單個函數還原到內存中,而內存中的代碼也是通過native處理,及時dump出當前代碼片斷,也是通過native方式處理後的代碼,不會還原成源代碼。
3.防二次打包
對簽名作完整性校驗保護,一旦更改簽名文件,程序將不會再次運行。
4.So源碼混淆
對SO文件作加密和自定義加載處理,除此以外還會對SO文件中字符串加密和代碼混淆處理,層層防止攻擊者提取SO文件和對其二進制代碼作反編譯和反彙編處理。
對Objective-C、C、C++編譯後的Native代碼進行代碼混淆處理,被混淆事後的代碼中存在多餘代碼、怪癖語法、冗餘邏輯判斷,冗餘函數調用等難以閱讀和理解的代碼,結合字符串加密和反調試機制等功能,讓攻擊者沒法反編譯,從而有效的保護源代碼安全。
5.代碼虛擬化保護
採用基於LLVM編譯器中間層實現的虛擬化編譯器,可經過虛擬CPU解釋器以及虛擬IR指令,將原始CPU指令進行加密轉換處理爲只能由虛擬解釋器解釋執行的虛擬指令,可以徹底隱藏函數代碼邏輯,以及函數及變量之間的依賴關係。
6.其餘安全建議
iOS安全建議,爲了防止在Android端沒法分析出協議,可是能夠經過iOS端分析的狀況發生,建議iOS端也作安全加密操做,iOS端源碼混淆功能與so文件源碼混淆功能相同,字符串加密、代碼結構邏輯混淆、指令替換、控制流平坦化,虛假控制流等。
實例解構
幾維安全經過長期研究開發,造成了專有技術KiwiVM虛擬化保護方案,實現CPU指令虛擬化,對手遊的核心代碼進行安全編譯、生成受保護的安全模塊,從而避免因破解形成的安全風險。
以幾維安全爲某移動遊戲企業提供的安全加固案例爲例進行解構:
一、基於公司現狀進行安全風險分析,梳理出該公司的安全加固需求:
(1)手遊基於Unity3d引擎開發,核心DLL文件存在被逆向破解的風險;
(2)不具有正版校驗機制,僞冒、盜版手遊影響正版手遊的正常運營;
(3)遊戲修改器、脫機掛破壞遊戲的公平性,付費用戶逐漸流失。
二、結合該公司的特色,擬定端到端的總體安全防禦方案:
3.以總體安全體系架構爲基礎,根據需求進行單產品或產品組合部署
如:在該案例中提供《KiwiVM虛擬機》和《Unity3D手遊加密》方案,保護企業核心代碼,保障手遊正常的運營與推廣。
(1)提供KiwiVM虛擬化服務
KiwiVM是基於Clang編譯器擴展實現的VM虛擬機編譯器, 在編譯時直接對指定的函數[代碼]實施虛擬化處理。其加密過程不可逆,攻擊者沒法還原代碼,分析核心業務邏輯。可幫助中大型企業在通訊、支付、算法、核心技術等模塊進行深度加密,避免因逆向破解問題形成的經濟損失。
(2)Unity3D手遊加密服務
Unity3D手遊加固服務是在APP安全加固的基礎之上,針對Unity3D手遊,擴展了函數級[或總體級]的DLL文件加密功能,避免DLL文件被 .NET Reflector 等破解工具提取C#源代碼。與DEX加密、防二次打包、內存保護、反調試、防系統加速掛等功能配合造成一套完整的Unity3D手遊加密方案。
登陸移動安全管理平臺便可使用。DLL函數級加密爲企業版,其算法有幾十種可供選擇,同時對這些加密算法都有高強度的加密保護,攻擊者沒法經過Dump內存數據來竊取C#源代碼。
結語
移動遊戲安全系統價值在於維護公平的遊戲環境、保護玩家財產、提升用戶體驗感。千錘百煉,鍛造移動遊戲安全防禦黃金鎧甲,爲企業樹立可信品牌,使用戶安心馳騁在手遊疆場,助力遊戲行業在移動互聯網大發展浪潮中更蓬勃的發展。