近日,一款號稱“通關率不到0.1%”的堆疊式消除游戲“羊了個羊”火遍全網,在極短時間內儼然有了一副“全民級游戲”的架勢,在各大社交媒體上取得了驚人的熱度。
據羊了個羊官方微博,由于該游戲過于火爆,《羊了個羊》多次出現宕機的情況,服務器2天崩了3次。其創始團隊在面對記者采訪時表示,游戲大火之后最忙的事情就是應對持續的DDoS攻擊,解決服務器反復出現的無法登錄的異常情況。
眾所周知,作為微信生態中的應用模塊,微信小程序以其在微信內即可被便捷地獲取和傳播的特點,無需安裝應用的便捷使用體驗,逐漸深入到生活和商業中的方方面面。
那作為依附在微信之下的一種創新應用形態,為什么小程序依然會遭受網絡攻擊呢?微信小程序主要面臨著哪些方面的安全挑戰?相對于傳統的Web應用和移動應用來看,小程序的安全防護又有哪些技術層面的安全側重點?圍繞這些問題,我們向業內一家專業的應用安全廠商瑞數信息進行了請教。
針對業務和敏感數據的攻擊
已成為小程序面對的主要風險
瑞數信息技術總監吳劍剛告訴我們,事實上大眾存在一個對微信小程序的理解誤區,小程序看似是在微信中打開,但實則與微信并不存在緊密的耦合關系,微信只是為小程序開發者們提供了一個快速連接用戶的入口。盡管小程序在微信體內運行,由微信提供了其運行環境和認證方面的安全保護,但業務邏輯風險、信息泄露,以及小程序自身安全性方面仍然存在問題。
“從防護的角度來看,一次合法的用戶訪問過程中,用戶在通過手機終端向微信小程序提交訪問請求后,會由微信來驗證此次訪問的合法性并向用戶下發一個App ID,在這一環節之后用戶的所有訪問行為都是和小程序服務器之間的直接交互,因此,除非小程序服務器是部署在騰訊云上,否則騰訊云的防火墻、抗DDoS等安全能力是很難賦能給小程序開發者的。”
據他介紹,小程序作為一個輕量級的應用,它具備著開發成本低、使用便捷等多方面的特點,但從技術的角度看,小程序本身是一個較為簡單的應用形式,開發者主要通過JavaScript 來開發業務邏輯以及調用小程序的API來完成業務需求。
小程序的JavaScript架構使得它對于網頁的交互和訪問都是通過調用API的接口來實現的,因此攻擊者往往也會通過模擬獲取App ID的方式繞開騰訊的安全校驗環節,跳過通過手機訪問小程序的過程,通過協議直接對小程序的API接口發起批量請求和攻擊。
吳劍剛表示,協議攻擊是針對小程序的最主要的攻擊形式,這種攻擊不需要真實的手機、群控設備等客戶端,能夠大幅度降低攻擊的成本。同時,脫離了設備的限制后,攻擊的門檻也大幅的降低,一些初級的黑灰產從業者也能夠非常輕易地實施規模化攻擊,導致針對小程序的攻擊劇增。
在他看來,小程序面臨的安全風險主要集中在業務安全和數據安全兩個方面。
在業務安全層面,如應用層的DDoS攻擊、刷量、薅羊毛、虛假砍價助力等都是常見的黑灰產的攻擊方式,黑灰產會通過批量請求的方式進行虛假的點擊和注冊,來從事營銷欺詐活動;在數據安全層面,攻擊者則會利用小程序自身的業務邏輯缺陷,針對小程序進行越權訪問攻擊,通過不安全的API接口批量獲取敏感的用戶數據和交易數據,進而誘發更嚴重的數據泄露或商業信息泄露的風險。
吳劍剛告訴我們,傳統的web網站應用和移動端應用中都會采用設備指紋技術來進行精準的標識,在設備指紋技術面前,盡管攻擊者會使用多源低頻的攻擊手法,不斷地變換IP地址發去訪問請求,但只要設備指紋不被剝離隱藏,防御方就能夠溯源到真實的攻擊者IP進行封禁。
但在小程序中,由于權限的原因,小程序可采集的設備信息少到無法形成唯一的設備指紋,導致這一高效的防御技術在小程序中毫無用武之地。再有,針對小程序的攻擊幾乎都是協議攻擊,導致設備指紋在小程序防護上的效果微乎其微。從小程序自身來說,因為黑灰產針對小程序的攻擊大多是在業務層面,傳統的安全防護技術如漏洞掃描、安全加固等效果也極為有限。
另外,相較于移動端應用,小程序還存在代碼邏輯簡單、代碼無法實時更新、安全加固算法和簽名校驗算法薄弱等特點,一旦攻擊者利用逆向技術破解,便更能夠在短時間內肆意妄為。
他談到,《羊了個羊》小游戲遭到的DDoS攻擊也是業務攻擊中一種形式,攻擊者主要是通過模擬正常請求的方式高頻的訪問其服務器,最終造成服務器資源耗盡業務不可用的后果。“這種訪問請求并不存在惡意的特征,依靠傳統的漏洞掃描和安全加固顯然是無法起到防護效果的。”
小程序安全防護難點重重
如何應對才是良策?
據吳劍剛介紹,針對當前小程序面臨復雜的安全挑戰,安全行業內也提出了不同路徑的解決方案。針對小程序JavaScript架構特性,業內的傳統做法是幫助開發者對JavaScript進行安全加固,通過JS混淆技術去替換JavaScript代碼中的一些關鍵函數和關鍵的業務邏輯,利用加密技術在攻擊者對小程序代碼逆向分析這一環節上接入安全防護措施,讓攻擊者難以對小程序代碼進行逆向。
他談道:“瑞數信息認為,安全是攻防雙方的博弈,絕對的安全是不存在的,這就導致無論安全廠商在應用外層怎么加殼,攻擊者仍然會想方設法地突破進來。”
因此,有別于傳統安全加固廠商的做法,作為業內主流的應用安全廠商,瑞數信息的關注點在于“讓攻擊者逆向之后無功而返”,并提出了以“動態安全技術”為核心的小程序動態安全防護解決方案。
具體而言,瑞數信息主要通過三個維度的安全性校驗,進而實現對企業小程序的安全防護:
第一個維度是進行客戶端的真實性校驗。在小程序用戶發來訪問請求時,瑞數信息的動態應用保護系統首先會協助小程序的運營團隊去校驗發起訪問請求的客戶端所在的微信環境是否涉及偽造,同時還會以SDK的形式去獲取用戶的App ID,并與用戶提交的ID進行比對,以此來保證客戶端的合法性和真實性;
第二個維度是針對自動化工具的校驗。在抵御Bot自動化攻擊方面,瑞數信息一直走在行業的前列。借助在人機識別技術、動態令牌技術以及動態驗證技術方面的優勢,瑞數信息動態應用保護系統會能夠高效地發現工具性行為,將由工具發起的請求予以阻斷。“微信小程序是一個以To C業務主導的場景,微信小程序端的每一次點擊行為都應該由用戶個人來完成,因此,工具性的訪問行為注定是非法的,此類行為都會被直接攔截掉。”
第三個維度是圍繞內容展開校驗。針對小程序API接口容易出現的敏感數據泄露風險,瑞數信息主要通過動態算法對提交內容和請求內容進行雙向混淆,將小程序提交的數據進行動態混淆成為一次性密文,極大地提高了非法訪問行為的攻擊成本和門檻。同時瑞數信息還將會對內容的完整性進行校驗,防止內容遭到攻擊者篡改。
“以《羊了個羊》的案例來看,攻擊者顯然是在應用層發起了大量的DDoS攻擊,以自動化工具批量請求的方式集中訪問應用服務器,導致了服務器的過載。如果處于瑞數信息動態應用保護系統的保護下,平臺就能夠通過人機識別技術,把所有的工具性訪問行為識別出來并攔截掉,保證此類游戲小程序應用的業務穩定性”,吳劍剛分析稱。
安全能力薄弱的小程序開發團隊
應該從哪些方面著手規避安全風險?
9月15日,一張“流量主數據日報”截圖在網上流傳,圖片顯示,僅僅半天《羊了個羊》的收入就達到468萬元,月收入更是高達2564萬元。但就是這樣一款一夜爆火的應用,其游戲的開發者曾對記者透露,整個開發團隊只有3人,這一游戲應用的開發時間也僅有3個月左右。
那么,針對此類安全能力較為薄弱的小型應用開發團隊,從整個小程序應用的開發到上線過程中,應該從哪些方面著手規避安全風險呢?在采訪最后,我們也邀請瑞數信息的安全專家分享了一些安全建議。
吳劍剛表示,無論是何種規模的應用開發團隊,都應該提高對應用安全的重視程度,最大程度地降低業務層面潛在的安全隱患。對小型開發團隊而言,首先應該注意避免使用第三方開發工具,盡量選擇微信官方提供的安全開發工具保障安全性。
同時開發者還應該采取一些必要的安全措施對代碼采取必要的安全保護措施,包括將AppSecret在生成后需要后臺應用保存維護,后臺留存安全性需后臺應用考慮,在獲取客戶敏感信息時注意加密傳輸、以白名單機制來限制傳輸通道內的互相訪問等等。
他建議,尤其在自身安全能力不足的情況下,小程序的開發團隊應該向第三方安全團隊尋求合作,使用帶有小程序安全加固、自動化Bot攻擊防護類安全功能的產品來應對安全風險,盡早將黑灰產攻擊掐滅于萌芽之中。
更多信息可以來這里獲取==>>電子技術應用-AET<<