外部設(shè)備控制方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種外部設(shè)備控制方法及裝置。
【背景技術(shù)】
[0002] 隨著技術(shù)的發(fā)展,終端一般提供了端口來支持外部設(shè)備,例如,計(jì)算機(jī)通用串行總 線(Universal Serial Bus,簡稱為USB)設(shè)備的應(yīng)用,極大方便了信息設(shè)備快捷使用、增強(qiáng) 了數(shù)據(jù)交換和存儲(chǔ)的便利性。下面以USB設(shè)備為例進(jìn)行說明。USB設(shè)備雖然使用方便,但 是,USB設(shè)備使用中監(jiān)控與審計(jì)等信息安全問題也顯現(xiàn)出來。信息安全是每一個(gè)組織需要 關(guān)心的重點(diǎn),信息安全無處不在。
[0003] 發(fā)明人發(fā)現(xiàn),相關(guān)技術(shù)中的系統(tǒng)沒有對(duì)終端外設(shè)權(quán)限進(jìn)行分級(jí)控制,是所有USB 外設(shè)全部在終端可讀寫、可掛載、可映射。這種處理方式對(duì)終端造成了巨大的安全隱患,非 授權(quán)用戶可以通過USB外設(shè)對(duì)終端進(jìn)行非法操作,輕者系統(tǒng)不能正常工作,更為嚴(yán)重的是 資料的泄密。
[0004] 因此,在相關(guān)技術(shù)中存在著對(duì)外部設(shè)備沒有進(jìn)行權(quán)限控制導(dǎo)致系統(tǒng)安全性較低的 問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供了一種外部設(shè)備控制方法及裝置,以至少解決相關(guān)技術(shù)中存在的對(duì)外 部設(shè)備沒有進(jìn)行權(quán)限控制導(dǎo)致系統(tǒng)安全性較低的問題。
[0006] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種外部設(shè)備控制方法,包括:從終端的端口接收 到用于指示外部設(shè)備連接到所述端口的消息;根據(jù)控制規(guī)則確定所述外部設(shè)備在所述終端 上的權(quán)限;根據(jù)所述權(quán)限對(duì)所述外部設(shè)備進(jìn)行控制。
[0007] 優(yōu)選地,所述外部設(shè)備在所述終端上的權(quán)限包括以下至少之一:是否允許所述外 部設(shè)備掛載在所述終端上、是否允許所述外部設(shè)備映射到所述終端上運(yùn)行的虛擬機(jī)上、所 述外部設(shè)備在掛載在所述終端和/或映射到所述虛擬機(jī)上之后的讀寫權(quán)限。
[0008] 優(yōu)選地,所述控制規(guī)則包括以下至少之一:根據(jù)所述端口的信息確定所述外部設(shè) 備在所述終端上的權(quán)限;根據(jù)所述消息中攜帶的所述外部設(shè)備的信息確定所述外部設(shè)備在 所述終端上的權(quán)限;根據(jù)所述終端上操作系統(tǒng)登錄的用戶或者該用戶所屬的用戶組確定所 述外部設(shè)備在所述終端上的權(quán)限;根據(jù)所述終端上運(yùn)行虛擬機(jī)上的操作系統(tǒng)登錄的用戶或 者該用戶所屬的用戶組確定所述外部設(shè)備在所述終端上的權(quán)限。
[0009] 優(yōu)選地,所述消息中攜帶的所述外部設(shè)備的信息包括以下至少之一:所述外部設(shè) 備的廠商標(biāo)識(shí)VID、所述外部設(shè)備的產(chǎn)品標(biāo)識(shí)PID、所述外部設(shè)備的基類Class、所述外部設(shè) 備的子類Subclass、所述外部設(shè)備的協(xié)議。
[0010] 優(yōu)選地,所述控制規(guī)則是在所述終端本地制定的,和/或,所述控制規(guī)則是由遠(yuǎn)程 控制端下發(fā)的。
[0011] 優(yōu)選地,所述方法還包括:接收到來自所述遠(yuǎn)程控制端的查詢消息;根據(jù)所述查 詢消息上報(bào)所述終端的端口信息和/或所述終端的端口上連接的外部設(shè)備的信息。
[0012] 優(yōu)選地,從所述終端的端口接收到用于指示所述外部設(shè)備連接到所述端口的消息 包括:初始化套接字綁定所述終端本地的端口,其中,所述套接字為非阻塞的套接字;建立 線程,并通過所述線程接收所述消息。
[0013] 根據(jù)本發(fā)明的另一方面,提供了一種外部設(shè)備控制裝置,包括:第一接收模塊,用 于從終端的端口接收到用于指示外部設(shè)備連接到所述端口的消息;確定模塊,用于根據(jù)控 制規(guī)則確定所述外部設(shè)備在所述終端上的權(quán)限;控制模塊,用于根據(jù)所述權(quán)限對(duì)所述外部 設(shè)備進(jìn)行控制。
[0014] 優(yōu)選地,所述外部設(shè)備在所述終端上的權(quán)限包括以下至少之一:是否允許所述外 部設(shè)備掛載在所述終端上、是否允許所述外部設(shè)備映射到所述終端上運(yùn)行的虛擬機(jī)上、所 述外部設(shè)備在掛載在所述終端和/或映射到所述虛擬機(jī)上之后的讀寫權(quán)限。
[0015] 優(yōu)選地,所述控制規(guī)則包括以下至少之一:根據(jù)所述端口的信息確定所述外部設(shè) 備在所述終端上的權(quán)限;根據(jù)所述消息中攜帶的所述外部設(shè)備的信息確定所述外部設(shè)備在 所述終端上的權(quán)限;根據(jù)所述終端上操作系統(tǒng)登錄的用戶或者該用戶所屬的用戶組確定所 述外部設(shè)備在所述終端上的權(quán)限;根據(jù)所述終端上運(yùn)行虛擬機(jī)上的操作系統(tǒng)登錄的用戶或 者該用戶所屬的用戶組確定所述外部設(shè)備在所述終端上的權(quán)限。
[0016] 優(yōu)選地,在所述外部設(shè)備為通用串行總線USB設(shè)備的情況下,所述消息中攜帶的 所述外部設(shè)備的信息包括以下至少之一:所述外部設(shè)備的廠商標(biāo)識(shí)VID、所述外部設(shè)備的 產(chǎn)品標(biāo)識(shí)PID、所述外部設(shè)備的基類Class、所述外部設(shè)備的子類Subclass、所述外部設(shè)備 的協(xié)議。
[0017] 優(yōu)選地,所述控制規(guī)則是在所述終端本地制定的,和/或,所述控制規(guī)則是由遠(yuǎn)程 控制端下發(fā)的。
[0018] 優(yōu)選地,所述裝置還包括:第二接收模塊,用于接收到來自所述遠(yuǎn)程控制端的查詢 消息;上報(bào)模塊,用于根據(jù)所述查詢消息上報(bào)所述終端的端口信息和/或所述終端的端口 上連接的外部設(shè)備的信息。
[0019] 優(yōu)選地,所述第一接收模塊用于初始化套接字綁定所述終端本地的端口,并建立 線程,通過所述線程接收所述消息,其中,所述套接字為非阻塞的套接字。
[0020] 通過本發(fā)明,采用根據(jù)外部設(shè)備在終端上的權(quán)限對(duì)外部設(shè)備進(jìn)行控制的方法解決 了在相關(guān)技術(shù)中存在的對(duì)外部設(shè)備沒有進(jìn)行權(quán)限控制導(dǎo)致系統(tǒng)安全性較低的問題,進(jìn)而達(dá) 到了提高系統(tǒng)穩(wěn)定性、系統(tǒng)安全性和用戶體驗(yàn)的效果。
【附圖說明】
[0021] 此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0022] 圖1是根據(jù)本發(fā)明實(shí)施例的外部設(shè)備控制方法的流程圖;
[0023] 圖2是根據(jù)本發(fā)明實(shí)施例的外部設(shè)備控制裝置的結(jié)構(gòu)框圖;
[0024] 圖3是根據(jù)本發(fā)明實(shí)施例的外部設(shè)備控制裝置的優(yōu)選結(jié)構(gòu)框圖;
[0025] 圖4是根據(jù)本發(fā)明實(shí)施例的系統(tǒng)拓?fù)潢P(guān)系圖;
[0026] 圖5是根據(jù)本發(fā)明實(shí)施例的遠(yuǎn)端控制遠(yuǎn)端映射系統(tǒng)框架圖;
[0027] 圖6是根據(jù)本發(fā)明實(shí)施例的遠(yuǎn)端控制本地的系統(tǒng)框架圖;
[0028] 圖7是根據(jù)本發(fā)明實(shí)施例的本地控制遠(yuǎn)端映射的系統(tǒng)框架圖;
[0029] 圖8是根據(jù)本發(fā)明實(shí)施例的瘦終端本地(local) USB外設(shè)權(quán)限控制的流程;
[0030] 圖9是根據(jù)本發(fā)明實(shí)施例的遠(yuǎn)端下發(fā)控制命令控制本地USB外設(shè)權(quán)限控制的流程 圖。
【具體實(shí)施方式】
[0031] 下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的 情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0032] 在本實(shí)施例中提供了一種外部設(shè)備控制方法,圖1是根據(jù)本發(fā)明實(shí)施例的外部設(shè) 備控制方法的流程圖,如圖1所示,該流程包括如下步驟:
[0033] 步驟S102,從終端的端口接收到用于指示外部設(shè)備連接到端口的消息;
[0034] 步驟S104,根據(jù)控制規(guī)則確定該外部設(shè)備在終端上的權(quán)限;
[0035] 步驟S106,根據(jù)該權(quán)限對(duì)該外部設(shè)備進(jìn)行控制。
[0036] 通過上述步驟,采用控制規(guī)則并根據(jù)外部設(shè)備在終端上的權(quán)限對(duì)外部設(shè)備進(jìn)行控 制的方法,從而解決了在相關(guān)技術(shù)中存在的對(duì)外部設(shè)備沒有進(jìn)行權(quán)限控制導(dǎo)致系統(tǒng)安全性 較低的問題,提高了系統(tǒng)穩(wěn)定性、系統(tǒng)安全性和用戶體驗(yàn)。
[0037] 優(yōu)選地,從終端的端口接收到用于指示外部設(shè)備連接到端口的消息可以有多種實(shí) 現(xiàn)方式,在一個(gè)優(yōu)選實(shí)施方式中,可以采用套接字的方式來實(shí)現(xiàn),例如,上述步驟S102可以 包括:初始化套接字綁定終端本地的端口,其中,套接字為非阻塞的套接字;建立線程,并 通過線程接收消息。實(shí)現(xiàn)非阻塞套接字的方式可以為通過select機(jī)制來實(shí)現(xiàn)非阻塞的套 接字,還可以采用在操作系統(tǒng)Linux下通過ioctl設(shè)置0_N0NBL0CK實(shí)現(xiàn)非阻塞的套接字, 在操作系統(tǒng)Windows下通過ioctlsocket設(shè)置FI0NBI0實(shí)現(xiàn)非阻塞的套接字的方式,還可 以通過其它可實(shí)現(xiàn)的方式。
[0038] 優(yōu)選地,外部設(shè)備在終端上的權(quán)限可以為多種多樣,例如,可以包括以下至少之 一:是否允許外部設(shè)備掛載在終端上、是否允許外部設(shè)備映射到終端上運(yùn)行的虛擬機(jī)上、外 部設(shè)備在掛載在終端和/或映射到虛擬機(jī)上之后的讀寫權(quán)限。
[0039] 在上述權(quán)限中,涉及到虛擬機(jī)。虛擬機(jī)可以使用在云技術(shù)中。隨著虛擬技術(shù)的發(fā) 展,云