檢測計算裝置上的安全性弱點的制作方法
【專利摘要】通過下面的步驟識別計算裝置上的安全性弱點:檢測計算裝置上的進程間通信;確定進程間通信是否與安全性弱點的預定義規范一致;以及響應于確定進程間通信與安全性弱點的預定義規范一致,使得在計算裝置上執行預定義動作。
【專利說明】檢測計算裝置上的安全性弱點
【技術領域】
[0001]本發明一般地涉及用于檢測安全性弱點的基于計算機的工具。
【背景技術】
[0002]由計算機操作系統(諸如,iOS?和Android?)提供的進程間通信信道已顯示出使計算機用戶暴露于安全性風險(諸如,廣播竊取、活動劫持、服務劫持、廣播注入以及活動和服務的未授權啟動)。例如,用于在進程(包括應用或應用內的組件)之間移動數據的Android?的基于Intent的機制已顯示出由于發送敏感信息的輸入的Intent或不安全的Intent的不合適的驗證而使用戶暴露于風險。
【發明內容】
[0003]在本發明的一個方面,提供一種用于識別計算裝置上的安全性弱點的方法,所述方法包括:檢測計算裝置上的進程間通信;確定進程間通信是否與安全性弱點的預定義規范一致;以及響應于確定進程間通信與安全性弱點的預定義規范一致,使得在計算裝置上執行預定義動作。
[0004]在本發明的其它方面,提供實現本發明的系統和計算機程序產品。
【專利附圖】
【附圖說明】
[0005]通過下面結合附圖進行的詳細描述,將會更充分地理解和領會本發明,其中:
[0006]圖1是根據本發明的實施例構造并且操作的用于檢測計算裝置上的安全性弱點的系統的簡化概念性說明;
[0007]圖2是根據本發明的實施例操作的圖1的系統的操作的示例性方法的簡化流程圖說明;和
[0008]圖3是根據本發明的實施例構造并且操作的計算系統的示例性硬件實現方式的簡化方框圖說明。
【具體實施方式】
[0009]現在在一個或多個實施例的上下文下描述本發明,但該描述旨在在整體上說明本發明,而不應該被解釋為使本發明局限于示出的實施例。應該理解,本領域技術人員可進行各種修改,盡管未在這里具體示出,但所述各種修改落在本發明的真實精神和范圍內。
[0010]所屬【技術領域】的技術人員知道,本發明的各個方面可以實現為系統、方法或計算機程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統稱為“電路”、“模塊”或“系統”。此外,在一些實施例中,本發明的各個方面還可以實現為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。[0011]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于一電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。
[0012]計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。
[0013]計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0014]可以以一種或多種程序設計語言的任意組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++等,還包括常規的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0015]下面將參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。
[0016]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的指令的制造品。
[0017]計算機程序指令也可被加載到計算機、其它可編程數據處理裝置或其它裝置上以使得在計算機、其它可編程數據處理裝置或其它裝置上執行一系列操作步驟以便產生計算機實現的過程,從而在計算機或其它可編程設備上執行的指令提供用于實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的過程。
[0018]現在參照圖1,圖1是根據本發明的實施例構造并且操作的用于檢測計算裝置上的安全性弱點的系統的簡化概念性說明。在圖1的系統中,示出計算裝置100,計算裝置100可以是移動電話、個人數字助手或能夠架設支持進程之間的通信的操作系統(諸如,可從California 州的 Mountain View 城的 Google Corporation 商購獲得的 Android 操作系統或可從California州的Cupertino城的Apple Incorporated商購獲得的iOS操作系統)的任何其它類型的計算裝置。這里所使用的術語“進程”可表示在計算裝置100上運行的軟件應用、這種軟件應用內的組件和操作系統自身的組件中的任何一種。示出在計算裝置100上運行的兩個這種進程102和104。
[0019]還示出在計算裝置100上運行的看門狗應用106,其中看門狗應用106優選地包括通信檢測器108和安全性分析器110。通信檢測器108被構造為檢測計算裝置100上的進程間通信,諸如進程102和104之間的通信。例如,當計算裝置100架設Android?操作系統時,通信檢測器108可訪問與安裝在計算裝置100上的軟件應用關聯的“manifest”數據以識別軟件應用能夠接受的稱為“隱式intent”的進程間通信的類型,因此,通信檢測器108修改看門狗應用106的manifest數據以指示它也能夠接受相同類型的進程間通信。通信檢測器108可另外或替代地被構造為能夠使看門狗應用106接收來自在計算裝置100上運行的任何進程的廣播通信。
[0020]安全性分析器110被構造為對于由通信檢測器108在計算裝置100上檢測到的任何進程間通信確定進程間通信是否與安全性弱點的預定義規范一致,優選地,這種預定義規范被存儲在通信檢測器108可訪問的一組規范112中。安全性弱點可例如是易遭受完整性攻擊或易遭受機密性破壞。如果進程間通信被確定為與安全性弱點的預定義規范一致,則安全性分析器110優選地使得在計算裝置100上執行與安全性弱點的發現相關的預定義動作,優選地,這種預定義動作被存儲在通信檢測器108可訪問的一組規范114中。這種動作可包括:諸如經計算裝置100的揚聲器或顯示器向計算裝置100的用戶提供描述安全性弱點的通知和/或結束或另外隔離發出進程間通信的應用或組件。
[0021]諸如通過在計算機硬件中和/或在根據傳統技術的非暫態計算機可讀介質中所包含的計算機軟件中實現圖1中示出的任何元件,優選地由計算裝置100實現任何元件,在計算裝置100內實現任何元件或者另外計算裝置100可訪問任何元件。
[0022]現在參照圖2,圖2是根據本發明的實施例操作的圖1的系統的操作的示例性方法的簡化流程圖說明。在圖2的方法中,檢測計算裝置上的進程間通信(步驟200)。如果進程間通信與安全性弱點的預定義規范一致(步驟202),則使得在計算裝置上執行與安全性弱點的發現相關的預定義動作(步驟204),諸如向計算裝置100的用戶提供描述安全性弱點的通知和/或結束或另外隔離發出進程間通信的應用或組件。
[0023]可在下面的例子的情況下示出圖1的系統和圖2的方法:
[0024]-進程102是銀行業務應用。進程104廣播由進程102和看門狗應用106接收的消息。進程102通過廣播看門狗應用106確定為與銀行賬戶信息一致的數據而對該消息做出響應。看門狗應用106響應于進程102從進程104接收的消息在計算裝置100上顯示指示進程102暴露敏感銀行業務數據的通知。
[0025]-進程102是商業組織的電子郵件和日歷客戶機程序。進程104廣播對與給定日期關聯的消息和會議的請求。進程102通過廣播看門狗應用106確定為由該組織擁有的敏感信息的各數據而對該消息做出響應。看門狗應用106響應于進程102從進程104接收的消息在計算裝置100上顯示指示進程102暴露敏感銀行業務數據的通知。[0026]現在參照圖3,圖3表示根據本發明的實施例的計算系統的示例性硬件實現方式,根據該示例性硬件實現方式,可實現本發明的一個或多個組件/方法(例如,在圖1-2的上下文下描述的組件/方法)。
[0027]如圖中所示,可根據經計算機總線318或替代連接設備耦合的處理器310、存儲器312、I/O裝置314和網絡接口 316實現用于控制對至少一個資源的訪問的技術。
[0028]應該理解,這里所使用的術語“處理器”旨在包括任何處理裝置,諸如例如包括CPU(中央處理單元)和/或其它處理電路的處理裝置。還應該理解,術語“處理器”可表示超過一個處理裝置,并且與處理裝置關聯的各種元件可由其它處理裝置共享。
[0029]這里所使用的術語“存儲器”旨在包括與處理器或CPU關聯的存儲器,諸如例如RAM、ROM、固定存儲器裝置(例如,硬盤驅動器)、可移動存儲器裝置(例如,盤)、閃存等。這種存儲器可被視為計算機可讀存儲介質。
[0030]另外,這里所使用的短語“輸入/輸出裝置”或“I/O裝置”旨在包括例如用于把數據輸入到處理單元的一個或多個輸入裝置(例如,鍵盤、鼠標、掃描儀等)和/或用于提供與處理單元關聯的結果的一個或多個輸出裝置(例如,揚聲器、顯示器、打印機等)。
[0031]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
[0032]將會理解,上述任何元件可被實現為計算機可讀介質中所包含的計算機程序產品(諸如,實現為存儲在磁或光學存儲介質中或嵌入在計算機硬件內的計算機程序指令的形式),并且可由計算機執行或者由計算機以其它方式訪問。
[0033]盡管可參照特定計算機硬件或軟件描述這里的方法和設備或者可不參照特定計算機硬件或軟件描述這里的方法和設備,但應該理解,這里描述的方法和設備可使用傳統技術而被容易地實現于計算機硬件或軟件。
[0034]盡管已參照一個或多個特定實施例描述本發明,但該描述旨在在整體上說明本發明,而不應該被解釋為使本發明局限于示出的實施例。應該理解,本領域技術人員可進行各種修改,盡管未在這里具體示出,但所述各種修改落在本發明的真實精神和范圍內。
【權利要求】
1.一種用于識別計算裝置上的安全性弱點的方法,所述方法包括: 檢測計算裝置上的進程間通信; 確定進程間通信是否與安全性弱點的預定義規范一致;以及 響應于確定進程間通信與安全性弱點的預定義規范一致,使得在計算裝置上執行預定義動作。
2.如權利要求1所述的方法,其中所述檢測包括:接收廣播類型進程間通信。
3.如權利要求1所述的方法,其中所述檢測包括:指示接收預定義類型的進程間通信的能力。
4.如權利要求1所述的方法,其中所述確定包括:確定安全性弱點是易遭受完整性攻擊。
5.如權利要求1所述的方法,其中所述確定包括:確定安全性弱點是易遭受機密性破壞。
6.如權利要求1所述的方法,其中所述使得在計算裝置上執行預定義動作的步驟包括:使得向計算裝置的用戶提供描述安全性弱點的通知。
7.如權利要求1所述的方法,其中所述使得在計算裝置上執行預定義動作的步驟包括:使得結束或隔離進程間通信的發出者。
8.如權利要求1所述·的方法,其中所述檢測、通信和使得在計算裝置上執行預定義動作的步驟被體現于下面的任何一項以及由下面的任何一項實現: a)計算機硬件,和 b)非暫態計算機可讀介質中所包含的計算機軟件。
9.一種用于識別計算裝置上的安全性弱點的系統,所述系統包括: 處理器,被編程為啟動可執行操作,所述可執行操作包括: 檢測計算裝置上的進程間通信; 確定進程間通信是否與安全性弱點的預定義規范一致;以及 響應于確定進程間通信與安全性弱點的預定義規范一致,使得在計算裝置上執行預定義動作。
10.如權利要求9所述的系統,其中所述檢測包括:接收廣播類型進程間通信。
11.如權利要求9所述的系統,其中所述檢測包括:指示接收預定義類型的進程間通信的能力。
12.如權利要求9所述的系統,其中所述確定包括:確定安全性弱點是易遭受完整性攻擊。
13.如權利要求9所述的系統,其中所述確定包括:確定安全性弱點是易遭受機密性破壞。
14.如權利要求9所述的系統,其中所述使得在計算裝置上執行預定義動作的步驟包括:使得向計算裝置的用戶提供描述安全性弱點的通知。
15.如權利要求9所述的系統,其中所述使得在計算裝置上執行預定義動作的步驟包括:使得結束或隔離進程間通信的發出者。
16.如權利要求9所述的系統,其中所述檢測、通信和使得在計算裝置上執行預定義動作的步驟被體現于下面的任何一項以及由下面的任何一項實現:a)計算機硬件,和b)非暫態計算機可讀介質中·所包含的計算機軟件。
【文檔編號】G06F21/57GK103853982SQ201310628914
【公開日】2014年6月11日 申請日期:2013年11月29日 優先權日:2012年12月5日
【發明者】R·海, D·卡爾曼, R·紹茲曼, O·特立普 申請人:國際商業機器公司