安全控制項
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
安全控制項一般是指為了提升支付用戶賬戶安全,防止賬戶密碼等敏感信息被木馬或病毒等惡意軟體盜取的客戶端程式。安全控制項一般體積較小,功能單一,由瀏覽器下載安裝並載入,從而提供服務。
在線上支付發展的初期,由於缺乏完整的信用體系做基礎,線上支付業務的完成一般而言是模仿現金交易的行為。根據相關的法律法規規定,支付密碼是銀行卡支付的主要依據,通過支付賬號和支付密碼就可以進行支付指令的確認。
在這種情況下,線上支付網站上線之後,發生了很多用戶密碼被盜,從而導致賬戶資金損失的情況。很多木馬病毒程式可以在感染了用戶的電腦之後,盜取用戶的支付賬號和支付密碼,從而模仿用戶完成支付動作,盜取用戶資金。
在此基礎上,線上支付網站的安全開發者提出了使用安全控制項保護用戶賬號密碼的方案。也就是當用戶在瀏覽器里進行支付動作的時,使用自定製的密碼輸入控制項替換掉瀏覽器提供的標準密碼輸入控制項,從而避免木馬病毒對用戶賬號密碼的盜取,保護用戶資金安全。
從此之後,隨著支付網站業務和技術的發展,有個別的廠商對於安全控制項進行了更新和升級,在保護用戶密碼不被竊取的基礎上增加了更多的功能,如密碼加密、環境運行檢測、收集信息等。
通過對業界安全控制項的研究和分析,安全控制項的主要功能有:
一是防止木馬通過監控鍵盤記錄獲取支付敏感信息。安全控制項的主要功能就是避免木馬病毒程式在感染了用戶的電腦之後,通過對視窗句柄的掃描,對瀏覽器密碼輸入框的特殊視窗屬性進行獲取,盜取用戶的支付賬號和支付密碼。
二是對支付敏感信息的明文進行加密。安全控制項還可以實現對客戶端用戶密碼的加密保護,保證用戶的敏感信息輸入不會在客戶端被惡意程式獲取。
三是結合業務提供其他安全功能。現在的安全控制項在提供鍵盤輸入保護、密碼加密等功能之外,還提供了一些和業務相結合的功能,如客戶端信息的收集,用戶行為的分析等。
傳統的安全控制項是以瀏覽器插件的形式提供服務的,根據瀏覽器內核的不同,一般分為兩種,分別是以IE瀏覽器為代表的Trident內核瀏覽器的ActiveX插件和以Chrome為代表的其他內核瀏覽器NPAPI插件。
ActiveX插件。根據微軟權威的軟體開髮指南MSDN(Microsoft Developer Network)的定義,ActiveX插件以前也叫做OLE控制項或OCX控制項,它是一些軟體組件或對象,可以將其插入到WEB網頁或其它應用程式中。
ActiveX插件技術是國際上通用的基於Windows平臺的軟體技術,它可以以瀏覽器插件的形式調用操作系統的本地API,從而完成普通Web應用程式沒有許可權使用的功能。例如,普通的Web應用程式無法調用操作系統鍵盤Hook,而通過用戶安裝的ActiveX,應用程式便擁有了調用Windows API的許可權。所以在Microsoft旗下的IE瀏覽器中,一般的安全控制項是通過ActiveX的形式來提供鍵盤保護功能。
然而,ActiveX插件在給Web應用程式帶來方便的同時,也有著諸多缺點:首先,ActiveX可以訪問大量操作系統底層API,給用戶系統的安全性帶來巨大隱患;其次,有些ActiveX在工作過程中會耗費大量的系統資源,造成瀏覽器甚至是系統的崩潰。
NPAPI插件。NPAPI即網景插件應用程式編程介面,它是Netscape Navigator、Mozilla Suite、Mozilla Sea Monkey和Mozilla Firefox等Gecko引擎瀏覽器與Apple Safari和Google Chrome等WebKit引擎瀏覽器所使用的類似ActiveX的插件介面。NPAPI插件架構有40多個API,與ActiveX類似,開發者可以通過NPAPI架構的API與用戶操作系統進行交互。所以在除IE以外的主流瀏覽器中,支付網站的安全控制項都是以NPAPI插件的形式來提供保護用戶支付賬號、密碼安全功能的。
而NPAPI對操作系統而言並不只是個插件,如圖1所示,事實上它是運行在操作系統之上,與瀏覽器平級運行的程式。它可以甚至可以進行一些超過瀏覽器許可權之外的動作。NPAPI的存在給操作系統帶來了很大的安全隱患。與此同時,除了不安全因素以外,NPAPI的插件質量也參差不齊,一旦有插件崩潰則同時導致瀏覽器的崩潰,對系統資源的浪費也很巨大。因此,新版的Chrome瀏覽器已經放棄對NPAPI控制項的支持,而其他各大瀏覽器也先後宣佈了放棄NPAPI的計劃。