说说猎豹安全浏览器
最近金山也加入了瀏覽器大軍,推出了其首款瀏覽器 - “獵豹”,主打安全牌,直指360安全瀏覽器。我在第一時間拿到了獵豹瀏覽器的安裝包,使用感受是,總體來說還不錯,但是需要完善的地方還有很多。
其中其主打宣稱的BIPS (Browser Intrusion Prevention System)安全系統有種令人眼前一亮的趕腳,是否真的有這么神奇嗎?于是我操起IDA簡單的分析了一下。
1.獵豹瀏覽器在用戶首次訪問電商等敏感網站的時候會加載其名為knbdrv.sys的BIPS監控驅動。
2.驅動起來的時候會根據一個全局變量的值g_bHookEntry來hook ssdt還是KiFastCallEntry(內核層調用入口)。如果Hook的是KiFastCallEntry,那么其hook的位置也很巧妙。hook前后KiFastCallEntry的變化如下圖:
為什么說這個hook點選取的巧妙呢,因為此時,調用系統API的準備過程基本已經做完了。而且這個hook點正好在360安全衛士hook點的前面。因此,攔截惡意行為等動作都是在360前面。唯一一個缺點就是,因為還有部分如取得系統API的調用地址等還未初始化,因此,在hook函數里面需要處理的數據會比360hook函數稍微多一點。俗話說的好,”有利也有弊“嘛。
3.如果在KiFastCallEntry的這個hook點上已經有其他軟件hook了,那么BIPS會覆蓋其hook,并在執行完自己過濾函數之后再調用先前被覆蓋的那個過濾函數。達到始終在其他安全軟件之前攔截的目的。
4.再回過頭來說說獵豹是如果定位KiFastCallEntry的hook點的。
(1)SSDT HOOK了NtDisplayString函數。
(2)以”kisknl“為UNICODE_STRING字符串參數,調用NtDisplayString()。
(3)FakeNtDisplayString函數里面匹配”kisknl“字符串,如果是的話,就堆?;厮莸終iFastCallEntry中。
(4)找到KiFastCallEntry的返回地址后,最后向上通過匹配特征碼來找到KiFastCallEntry的hook點。
5.每個被hook的函數使用一個結構體來保存hook信息,以便用來過濾和恢復Hook。
[cpp]?view plaincopy被hook的系統函數如下(XP系統,不同系統hook的函數有所不同):
(1)SSDT:
NtCreateSection
NtCreateThread
NtDebugActiveProcess
NtDeviceIoControlFile
NtFreeVirtualMemory
NtLoadDriver
NtOpenProcess
NtOpenSection
NtProtectVirtualMemory
NtQueueApcThread
NtRequestWaitReplyPort
NtSetContextThread
NtSetSystemInformation
NtSuspendProcess
NtSuspendThread
NtSystemDebugControl
NtTerminateJobObject
NtTerminateProcess
NtTerminateThread
NtTestAlert
NtUnmapViewOfSection
NtWriteVirtualMemory
(2)Shadow SSDT:
NtUserBlockInput
NtUserCallHwndParamLock
NtUserDestroyWindow
NtUserGetAsyncKeyState
NtUserGetKeyboardState
NtUserGetKeyState
NtUserGetRawInputBuffer
NtUserGetRawInputData
NtUserMessageCall
NtUserMoveWindow
NtUserPostMessage
NtUserPostThreadMessage
NtUserSendInput
NtUserSetParent
NtUserSetWindowPlacement
NtUserSetWindowPos
NtUserSetWindowRgn
NtUserSetWindowsHookEx
NtUserSetWinEventHook
NtUserShowWindow
NtUserShowWindowAsync
(3)IAT HOOK KeUserModeCallback來防止消息鉤子的注入。
ps:
1.經過這個分析,傳說中的BIPS也就不再那么神秘了,其實質就是精簡了的毒霸k+主防,去掉了注冊表防御部分,做成了適合瀏覽器的一套防護體系。也就是說,獵豹瀏覽器自己實現了部分殺毒軟件的防護功能,能夠使得那些未安裝殺毒軟件或者即使是自身電腦已經中毒的用戶在進行網購時可以免受病毒木馬的侵害。這也正是其敢賠的信心之所在。
2.而360所謂的安全瀏覽器就僅僅是集成了一款SandBox,平時根本不會自動入沙。對于普通用戶來說,其與使用IE瀏覽器沒多大差別。
轉載于:https://www.cnblogs.com/vcerror/p/4289146.html
總結
- 上一篇: bzoj1257 数学整理二分查询
- 下一篇: HTML标签_01