日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安全控件

發(fā)布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安全控件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

0x01 定義

? ? 簡單說,安全控件是一種為了提升賬戶安全性,防止賬戶密碼等私密信息被木馬或病毒竊取的客戶端程序,安全控件大多小巧,可以通過 ActiveX 或者手工下載的方式安裝。

0x02?使用安全控件

? ? 隨著移動互聯(lián)網(wǎng)的普及和網(wǎng)上支付的盛行,越來越多的惡意軟件病毒木馬針對用戶的鍵盤鼠標(biāo)操作進(jìn)行記錄,從而竊取用戶的賬號密碼等。因此,如何讓用戶的帳號信息輸入更安全,如何防止木馬和病毒盜取用戶帳號信息成為互聯(lián)網(wǎng)信息安全的首要問題,在這樣的背景下,要求我們必須通過安全控件這種技術(shù)手段加強(qiáng)對用戶帳號信息的安全保護(hù)。
安全控件一般通過以下方式保護(hù)用戶輸入信息的安全:
1) ?模擬密碼框( ( 防止讀取密碼框) ) ;
2) ?模擬( ( 屏幕) ) 鍵盤( ( 防止監(jiān)聽鍵盤輸入) ) ;
3) ?掃描后臺程序,檢測 k Hook ?程序。
? ? ?關(guān)于鉤子( Hook ): :鉤子(Hook)是盜號密碼的常用伎倆,日常生活中,魚鉤是用來釣魚的,一旦魚咬了鉤,鉤子就一直鉤住魚了,任憑魚在水里怎么游,也逃不出魚鉤的控制。同樣的,Windows 的鉤子 Hook 也是用來鉤東西的,比較抽象的是他是用來鉤 Windows 事件或者消息的。最常見的就是鼠標(biāo)和鍵盤鉤子,用 Hook 鉤子鉤住鼠標(biāo)、鍵盤,當(dāng)你的鼠標(biāo)、鍵盤有任何操作時,通過 Hook 就能知道他們都做了什么了。

0x03?安全控件現(xiàn)狀

? ?目前各家網(wǎng)銀、第三方支付公司等所使用的安全控件存在明顯的安全隱患,不能很好的保護(hù)用戶的帳號信息安全,主要體現(xiàn)在:
1) ?安全控件面對內(nèi)核級到應(yīng)用級的多種鉤子無能為力;
2) ?內(nèi)存動 態(tài)捕獲的木馬更是防不勝防;
3) ?軟鍵盤 保護(hù) 技術(shù),沒有有效的防止后臺錄 、截 屏軟件工作。
? ? ? ?Windows 系統(tǒng)是建立在事件驅(qū)動的機(jī)制上的,也就是整個Windows 系統(tǒng)都是通過消息的傳遞來實(shí)現(xiàn)的。而鉤子是 Windows 系統(tǒng)中非常重要的系統(tǒng)接口,用它可以截獲并處理傳遞給其他應(yīng)用程序的消息,來完成普通應(yīng)用程序難以實(shí)現(xiàn)的功能。鉤子可以監(jiān)視系統(tǒng)或進(jìn)程中的各種事件消息,截獲發(fā)往目標(biāo)窗口的消息并進(jìn)行處理。
? ? ? ?因此,可以在系統(tǒng)中安裝自定義的鉤子,監(jiān)視系統(tǒng)中特定事件的發(fā)生,完成特定的功能,比如截獲鍵盤、鼠標(biāo)的輸入,屏幕取詞,日志監(jiān)視等等。可見,利用鉤子可以實(shí)現(xiàn)許多特殊而有用的功能,很多黑客也正是利用了鉤子技術(shù)制作出各式各樣的木馬,用于竊取用戶的帳號信息。為了避免各種鉤子程序獲取用戶帳號信息,安全控件就必須優(yōu)先于各種鉤子程序處理用戶的輸入信息以及用戶端屏幕顯示(屏顯)。

? ? ? ?可以確認(rèn)目前的各種鉤子程序主要通過兩種方式獲取用戶的帳戶信息:第一類是鍵盤類 Hook 程序,包括從應(yīng)用層到核心層多種 Hook 方式;第二類是屏顯Hook 程序。常見的類型有:COM 接口調(diào)用【IE COM 接口 】、API Hook【W(wǎng)indows Procedure--(WM_CHAR, WM_KEYDOWN )、API 函數(shù)(PostMessage)hook 】、消息鉤子【SendMessage(WM_GETTEXT) ?、SetWindowsHookEX(WH_KEYBOARD)、SetWindowsHookEx(WH_KEYBOARD_LL)】、API 調(diào)用【GetKeyboardState 、GetAsyncKeyState 、GetKeyState】、標(biāo)準(zhǔn)設(shè)備過濾驅(qū)動【鍵盤過濾驅(qū)動(FDO)】、鍵盤類驅(qū)動【針對 PS/2 鍵盤類驅(qū)動(kbdClass)Dispatch
Routine Hook;、針對 USB 鍵盤類驅(qū)動(hidusb、usbhub 】、Inline Hook、OBJECT Hook 、IDT Hook、端口讀寫 、屏幕顯示類

0x04 工作原理

鍵盤消息處理原理

? ? ? ?對于采用 PS2 接口的鍵盤,鍵盤事件是通過鍵盤中斷來實(shí)現(xiàn)的。當(dāng)有一個鍵被按下或者抬起,就會引發(fā)一個中斷事件,此時, CPU 會查找并調(diào)用相關(guān)中斷服務(wù)處理函數(shù)進(jìn)行處理,中斷函數(shù)處理后便會調(diào)用上層驅(qū)動設(shè)置的回調(diào)函數(shù)(如果存在 )進(jìn)行鍵盤事件已完成的向上傳遞過程。而對于采用 USB 接口的鍵盤,則較為復(fù)雜。讀取 kbdclass 設(shè)備的 IRP 請求,會被轉(zhuǎn)化成針對 USB 設(shè)備的 URB 請求塊,傳輸方式設(shè)置為中斷或批量傳輸方式,并通過 USB 總線驅(qū)動投遞到 USB 物理總線上。當(dāng)按鍵時, USB 控制器(像鍵盤這種 legacy 設(shè)備,會使用 UHCI 類型控制器進(jìn)行管理)會過設(shè)置與操作系統(tǒng)共享的內(nèi)存塊中的數(shù)據(jù)結(jié)構(gòu),也即 TD 塊( Transfer Descriptor ),并中斷操作系統(tǒng)進(jìn)行處理。而操作系統(tǒng)中斷調(diào)用對應(yīng)中斷服務(wù)處理函數(shù)進(jìn)行該數(shù)據(jù)的處理,并完成 URB 請求,繼而完成對應(yīng)的 IRP請求并向上層驅(qū)動傳遞。

鍵盤消息傳遞安全漏洞分析

ring0 按鍵攔截過濾技術(shù)
A. Attach 到鍵盤類驅(qū)動( kbdClass )的設(shè)備棧上( PS/2 和 USB ),進(jìn)行
鍵盤數(shù)據(jù)過濾;
B. 針對 PS/2 鍵盤實(shí)現(xiàn) i8042ptr 的過濾驅(qū)動;
C. 針對 USB 鍵盤實(shí)現(xiàn)的過濾驅(qū)動( hidusb 等);
D. 針對 PS/2 鍵盤類驅(qū)動( kbdClass ) Dispatch Routine Hook ;
E. 針對 USB 鍵盤類驅(qū)動( hidusb 、 usbhub 等) Dispatch Routine Hook ;
F. KbdClassServiceCallBack Routine Hook ( PS/2 和 USB );
G. 針對 PS/2 鍵盤的 PSIDT Hook ;
H. 針對 PS/2 鍵盤的 IOAPIC 編程;
I. 針對 PS/2 鍵盤的 I/O

ring3 按鍵攔截過濾技術(shù)
A. WM_GETTEXT 消息
B. Hook PostMessage API
C. SetWindowsHookEx 設(shè)置消息鉤子
? WH_KEYBORAD
? WH_KEYBORAD_LL
? 其他消息鉤子
D. RawInput
E. GetKeyboardState ?和 GetAsyncKeyState API

歡迎大家分享更好的思路,熱切期待^^_^^ !

總結(jié)

以上是生活随笔為你收集整理的安全控件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。