“618紅包廣告”瘋狂彈窗!原來是搜狗輸入法強(qiáng)制推廣
618電商大促正在火爆進(jìn)行中,各個平臺、商家都使出了渾身解數(shù),也有人趁機(jī)渾水摸魚。近期,不少用戶的電腦頻繁出現(xiàn)托盤區(qū)閃爍彈窗,點(diǎn)擊后會打開淘寶天貓的6.18促銷網(wǎng)頁。
難道是淘寶天貓的新手段?據(jù)火絨安全報(bào)告,經(jīng)過工程師溯源調(diào)查后發(fā)現(xiàn),該彈窗均竟然來自于用戶量極大的搜狗輸入法!
據(jù)介紹,搜狗輸入法的這個廣告配置通過云控下發(fā),無法通過設(shè)置關(guān)閉,而且除了瘋狂彈窗,還存在統(tǒng)計(jì)用戶瀏覽器瀏覽歷史數(shù)據(jù)等越位行為,符合廣告程序的定義。
根據(jù)分析,搜狗輸入法通過云控,向用戶下發(fā)專門添加了用以在6.18期間彈窗的相關(guān)組件,而該組件與“搜狗輸入法”主程序功能之間并無任何關(guān)聯(lián)作用。
用戶安裝運(yùn)行“搜狗輸入法”后,就會頻繁收到托盤閃爍彈窗,如果不小心點(diǎn)擊,就會打開關(guān)于天貓6.18整個推廣促銷網(wǎng)頁。
雖然右鍵可暫時退出該彈窗,但根據(jù)其云控下發(fā)的配置,5小時后仍舊會再次頑固彈出,循環(huán)往復(fù),嚴(yán)重影響用戶的正常上網(wǎng)及工作。
更為嚴(yán)重的是,搜狗輸入法還會收集用戶本地的安全軟件、廣告攔截工具的運(yùn)行狀態(tài),甚至搜集用戶IE瀏覽器和搜狗瀏覽器歷史記錄數(shù)量、頁面標(biāo)題數(shù)量,并回傳至后臺服務(wù)器,推測是用于制作用戶畫像,進(jìn)行精準(zhǔn)推廣。
該行為涉及隱私數(shù)據(jù),嚴(yán)重越位,存在損害用戶權(quán)益的風(fēng)險(xiǎn)。
目前,火絨最新版已對搜狗輸入法內(nèi)的彈窗與搜集用戶信息的模塊進(jìn)行攔截查殺,可能會導(dǎo)致搜狗輸入法的“工具”功能無法使用,但不影響文字輸入等主要功能。
附錄:火絨安全分析報(bào)告原文—;—;
一、詳細(xì)分析近期,搜狗輸入法用戶大量遇到6.18托盤廣告彈窗的情況,該流氓推廣行為通過云控下發(fā),在搜狗輸入法界面中未發(fā)現(xiàn)相關(guān)功能開關(guān)。廣告彈窗程序showinfo.exe由sgutil.dll釋放執(zhí)行,sgutil.dll被sgtool.exe調(diào)用。相關(guān)代碼,如下圖所示:
sgtool.exe加載執(zhí)行sgutil.dll
sgutil.dll執(zhí)行”StartPopupServer”導(dǎo)出函數(shù)后,會根據(jù)云端配置釋放執(zhí)行托盤廣告模塊showinfo.exe。相關(guān)代碼,如下圖所示:
根據(jù)配置決定是否釋放執(zhí)行showinfo模塊
showInfo.exe模塊主要負(fù)責(zé)彈出桌面托盤廣告圖標(biāo)及更新廣告配置。當(dāng)此模塊運(yùn)行之后,首先會對存放于%Appdata%\LocalLow\SogouPY\Popup\traynet\目錄下的配置資源config.ini進(jìn)行AES解密并讀取其中的配置信息,相關(guān)信息如下圖所示:
AES解密并讀取配置信息
解密后的config.ini配置信息如下圖所示:
解密后的config.ini信息
解密并讀取配置信息無誤之后,showInfo.exe模塊便會收集:系統(tǒng)硬件簽名、主機(jī)運(yùn)行的安全軟件等信息,連同搜狗輸入法的版本信息一起回傳。收集的安全軟件信息如下圖所示:
收集的安全軟件信息
收集安全軟件運(yùn)行信息相關(guān)代碼如下圖所示:
收集安全軟件信息
收集的安全軟件信息以標(biāo)記位形式發(fā)送給服務(wù)器(sfsw及sfw參數(shù)中0,1代表各家安全軟件運(yùn)行狀態(tài)。0代表未運(yùn)行,1代表正在運(yùn)行),相關(guān)信息如下圖所示:
收集的主機(jī)信息內(nèi)容
收集完所需的主機(jī)信息之后,程序便會將其與“http://api.pinyin.sogou.com/v1/bubble/ad“加密發(fā)送給服務(wù)器“http://get.sogou.com/q”, 發(fā)送加密信息相關(guān)代碼如下圖所示 :
發(fā)送加密信息
傳輸?shù)臄?shù)據(jù)信息
服務(wù)器根據(jù)發(fā)送信息,返回加密數(shù)據(jù)。程序通過AES算法解密之后便得到托盤廣告所需的配置信息,解密數(shù)據(jù)相關(guān)代碼如下圖所示:
AES解密返回?cái)?shù)據(jù)
解密后的配置數(shù)據(jù)如下圖所示:
解密后的配置數(shù)據(jù)
當(dāng)?shù)玫剿璧耐斜P廣告配置信息以后,程序便將其AES加密并更新到%Appdata%\LocalLow\SogouPY\Popup\traynet\目錄下的net.ini文件中。之后,開始檢查當(dāng)前系統(tǒng)時間是否在net.ini配置中所規(guī)定的“sdate”到“edate”時間范圍之內(nèi),并且查詢當(dāng)前系統(tǒng)時間距離上次關(guān)閉廣告托盤的時間(config.ini中的lastclose字段值)是否大于5個小時(net.ini中的interval字段值),滿足上述兩個條件則彈出托盤廣告,相關(guān)代碼如下圖所示:
時間檢測
彈出廣告托盤相關(guān)現(xiàn)象如下圖所示:
廣告托盤
sgutil模塊在sgutil.dll加載執(zhí)行后會根據(jù)云端返回的配置決定是否彈出托盤廣告,廣告彈窗的功能開關(guān)只能由云控頁面控制(hxxp://api.pinyin.sogou.com/v1/config/netswitch_pc),在搜狗輸入法界面中,未發(fā)現(xiàn)相關(guān)彈窗功能開關(guān)。從云端請求的配置信息中“trayad”為彈出開關(guān)標(biāo)記位,如下圖所示:
云端配置
當(dāng)“trayad”標(biāo)記位為1時,sgutil.dll會從資源中釋放執(zhí)行showinfo模塊。相關(guān)代碼,如下圖所示:
從資源中釋放showinfo模塊
sgutil.dll會間隔6個小時取最新云端開關(guān)的狀態(tài)。相關(guān)代碼,如下圖所示:
請求云端開關(guān)配置
并且根據(jù)不同地區(qū)多次測試發(fā)現(xiàn),請求到的開關(guān)配置會有所不同。相關(guān)現(xiàn)象如下圖所示:
不同地區(qū)多次測試得到不同的配置
sgutil.dll除了會釋放showInfo.exe外,還會收集Chrome內(nèi)核瀏覽器和IE瀏覽器的歷史記錄信息。雖然歷史記錄中的URL、標(biāo)題等數(shù)據(jù)也會進(jìn)行收集,但是尚未發(fā)現(xiàn)上傳上述數(shù)據(jù)的相關(guān)代碼邏輯,現(xiàn)階段僅會上傳歷史記錄條目數(shù)量。在獲取Chrome內(nèi)核瀏覽器歷史記錄信息時,首先會根據(jù)預(yù)留的瀏覽器歷史記錄數(shù)據(jù)庫路徑找到數(shù)據(jù)庫所在位置,如果預(yù)留路徑為空,則不會執(zhí)行任何操作。除IE瀏覽器外,現(xiàn)階段最新的sgutil.dll模塊只會獲取搜狗瀏覽器的歷史記錄信息。獲取Chrome內(nèi)核瀏覽器歷史記錄信息,相關(guān)代碼如下圖所示:
搜集用戶瀏覽器歷史中的標(biāo)題個數(shù)
獲取搜狗瀏覽器歷史記錄信息相關(guān)代碼,如下圖所示:
獲取搜狗瀏覽器歷史記錄信息
獲取其他瀏覽器歷史信息相關(guān)代碼,如下圖所示:
獲取其他Chomre內(nèi)核瀏覽器歷史記錄信息
在搜集歷史記錄信息結(jié)束后,會將搜狗瀏覽器歷史記錄條目數(shù)拼接到HTTP請求參數(shù)中。相關(guān)代碼,如下圖所示:
將收集到的瀏覽器歷史信息拼接為HTTP請求參數(shù)
獲取IE瀏覽器中歷史記錄條目數(shù)和標(biāo)題數(shù)相關(guān)代碼,如下圖所示:
收集IE瀏覽器歷史記錄信息
上述收集到的瀏覽器歷史記錄條目數(shù)量和標(biāo)題數(shù)量,會被拼接為回傳數(shù)據(jù)的請求鏈接地址,回傳地址為:hxxp://ping.pinyin.sogou.com/webtitlequery.gif。相關(guān)代碼,如下圖所示:
拼接上傳瀏覽器歷史信息的請求參數(shù)
由于在目前最新模塊中發(fā)現(xiàn)了疑似查找360安全瀏覽器等其他瀏覽器相關(guān)邏輯,但統(tǒng)計(jì)這些瀏覽器瀏覽歷史的代碼邏輯無法激活,所以推測以往版本中該模塊曾安插過統(tǒng)計(jì)其他瀏覽器瀏覽歷史的代碼邏輯。通過分析發(fā)現(xiàn),在2015年的sgutil.dll模塊中,我們發(fā)現(xiàn)該模塊會收集更多不同瀏覽器的歷史記錄信息,包括:360安全瀏覽器、搜狗瀏覽器、Chrome瀏覽器、360極速瀏覽器、獵豹瀏覽器和淘寶瀏覽器。相關(guān)代碼及數(shù)據(jù),如下圖所示 :
早期的sgutil.dll模塊歷史記錄信息收集代碼
2015年的sgutil.dll模塊文件信息及數(shù)字簽名信息,如下圖所示:
2015年的sgutil.dll模塊文件信息及數(shù)字簽名信息