針對隱私資料洩漏的風險評估方法及裝置
本說明書一個或多個實施例關於資料資訊安全技術領域,尤其關於針對隱私資料洩漏的風險評估方法及裝置。
API(Application Programming Interface,應用程式介面)具有調用方便,通用性強等優點,目前已逐漸成為互聯網網路服務的主要提供方式。因此,API調用也成為了防止資料洩漏的重點關注領域。
服務平臺儲存的資料中通常包括其所服務物件(如個人或企業等)的基本資訊資料,以及在使用服務過程中產生的服務資料等。在服務物件授權的情況下,服務平臺可以基於這些資料向資料需求方(如研究機構或商戶等)提供API調用服務。通常情況下,資料需求方(或稱請求方)通過API調用只能獲得其具有使用權限的資料。然而,因不同請求方(包括散佈在不同地域的請求方,如跨境商戶等)的軟硬體環境、IT架構和業務場景往往不同,且存在較大差異,導致API調用系統複雜,容易被不法分子利用,造成資料洩漏,這無疑給API調用的資料防護帶來極大的挑戰。尤其考慮到洩漏的資料中很可能包括使用者的個人資訊等隱私資料,對資料洩漏的防範就愈發迫切。
因此,需要一種合理、可靠的方案,可以針對API調用而發生資料洩漏,尤其是隱私資料洩漏的風險進行及時、準確地評估,以有效防止隱私資料的洩漏。
本說明書一個或多個實施例描述了一種針對隱私資料洩漏的風險評估方法及裝置,可以針對API調用而發生隱私資料洩漏的風險進行及時、準確地評估,以有效防止隱私資料的洩漏。
根據第一態樣,提供一種針對隱私資料洩漏的風險評估方法,該方法包括:獲取請求方請求調用服務平臺中儲存的目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄;其中,每條系統日誌基於所述請求方向所述服務平臺發出的調用API的請求消息而生成,並包括,根據所述請求消息確定的若干第一目標API,針對若干第一目標API輸入的第一參數,以及所述第一參數所對應的若干第一隱私類別;每條網路流量記錄中至少包括所述服務平臺針對該請求消息返回的回應訊息。對所述若干網路流量記錄進行解析處理,得到解析資料,其中至少包括API輸出資料所對應的若干第二隱私類別。從所述服務平臺獲取所述請求方調用API的許可權資料,所述許可權資料包括所述請求方有權調用的API集合,針對所述API集合有權傳入的參數組成的參數集合,以及所述參數集合所對應的隱私類別集合。將所述若干系統日誌與所述許可權資料進行比對,得到第一比對結果,以及,將所述解析資料與所述許可權資料進行比對,得到第二比對結果。至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險。
在一個實施例中,其中獲取請求方請求調用服務平臺中儲存的目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄,包括:獲取所述請求方調用服務平臺提供的API而產生的多條系統日誌和多條網路流量記錄;基於預先設定的多個隱私類別,對所述多條系統日誌和多條網路流量記錄進行過濾處理,得到所述若干系統日誌和若干網路流量記錄。
在一個具體的實施例中,對所述多條系統日誌和多條網路流量記錄進行過濾處理,得到所述若干系統日誌和若干網路流量記錄,包括:利用所述多個隱私類別,對所述多條系統日誌進行匹配,將匹配成功的系統日誌作為所述若干系統日誌;利用預先基於所述多個隱私類別設定的過濾項,從所述多條網路流量記錄中篩選出所述若干網路流量記錄,所述過濾項的形式包括以下中的至少一種:自訂UDF函數、關鍵欄位和正則項。
在一個實施例中,其中對所述若干網路流量記錄進行解析處理,得到解析資料,包括:對所述若干網路流量記錄進行解析處理,得到所述API輸出資料,所述API輸出資料中包括多個欄位;確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別;將所述若干第三隱私類別作為所述若干第二隱私類別;或,基於所述若干隱私欄位的欄位值,對所述若干第三隱私類別進行驗證處理,並將通過驗證的第三隱私類別歸入所述若干第二隱私類別。
在一個具體的實施例中,其中確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別,包括:基於預先訓練的自然語言處理模型,確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別;或,基於預先設定的多個正則匹配規則,確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別。
在一個具體的實施例中,所述若干隱私欄位中包括任意的第一欄位,對應所述若干第三隱私類別中的第一類別;其中基於所述若干隱私欄位的欄位內容,對所述若干第三類別進行驗證處理,包括:利用預先儲存的對應於所述第一類別的多個合法欄位值,對所述第一欄位進行匹配,並在匹配成功的情況下,判定所述第一類別通過驗證;或,利用預先訓練的針對所述第一類別的分類模型,對所述第一欄位進行分類,在分類結果指示所述第一欄位屬於所述第一類別的情況下,判定所述第一類別通過驗證。
在一個實施例中,其中至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險,包括:將所述第一比對結果和第二比對結果共同輸入預先訓練的第一風險評估模型中,得到第一預測結果,指示所述隱私資料洩漏風險。
在一個實施例中,其中至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險,包括:根據所述若干系統日誌和若干網路流量記錄,確定監控指標的指標值,所述監控指標針對請求方API調用行為而預先設定;將預先獲取的所述請求方的歷史指標值與所述指標值進行比對,得到第三比對結果;基於所述第一比對結果、第二比對結果和第三比對結果,評估所述請求方調用API的隱私資料洩漏風險。
在一個具體的實施例中,基於所述第一比對結果、第二比對結果和第三比對結果,評估所述請求方調用API的隱私資料洩漏風險,包括:結合預先設定的評估規則,根據所述第一比對結果、第二比對結果和第三比對結果,判斷是否發生隱私資料洩漏;或,將所述第一比對結果、第二比對結果和第三比對結果共同輸入預先訓練的第二風險評估模型中,得到第二預測結果,指示所述隱私資料洩漏風險。
根據第二態樣,提供一種針對隱私資料洩漏的風險評估裝置,該裝置包括:第一獲取單元,配置為獲取請求方請求調用服務平臺中儲存的目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄;其中,每條系統日誌基於所述請求方向所述服務平臺發出的調用API的請求消息而生成,並包括,根據所述請求消息確定的若干第一目標API,針對若干第一目標API輸入的第一參數,以及所述第一參數所對應的若干第一隱私類別;每條網路流量記錄中至少包括所述服務平臺針對該請求消息返回的回應訊息。解析單元,配置為對所述若干網路流量記錄進行解析處理,得到解析資料,其中至少包括API輸出資料所對應的若干第二隱私類別。第二獲取單元,配置為從所述服務平臺獲取所述請求方調用API的許可權資料,所述許可權資料包括所述請求方有權調用的API集合,針對所述API集合有權傳入的參數組成的參數集合,以及所述參數集合所對應的隱私類別集合。比對單元,配置為將所述若干系統日誌與所述許可權資料進行比對,得到第一比對結果,以及,將所述解析資料與所述許可權資料進行比對,得到第二比對結果。評估單元,配置為至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險。
根據第三態樣,提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行第一方面的方法。
根據第四態樣,提供了一種計算設備,包括記憶體和處理器,所述記憶體中儲存有可執行代碼,所述處理器執行所述可執行代碼時,實現第一態樣的方法。
綜上,在本說明書實施例提供的針對隱私資料洩漏的風險評估方法及裝置中,透過獲取請求方調用API產生的系統日誌和網路流量記錄,以及請求方調用API的許可權資料,對網路流量進行解析得到解析資料,再將解析資料與許可權資料進行比對,並將系統日誌與許可權資料進行比對,結合兩個比對結果,評估請求方調用API造成隱私資料洩漏的風險,以及時檢測、發現請求方的違規、異常調用行為。進一步地,還可以利用獲取的系統日誌和解析得到的網路流量記錄,確定針對請求方行為設定的監控指標的指標值,再將該指標值與歷史指標值進行比對,從而進一步提高風險評估結果的準確度和可用性。
下面結合附圖,對本說明書提供的方案進行描述。
如前所述,目前API調用過程中存在洩漏隱私資料的風險。在請求方屬於跨境請求方(如跨境商戶)的場景下,檢測隱私資料洩漏風險尤為緊迫。具體地,國內某些大型企業(如阿里巴巴)的業務範圍已擴展到境外,因此存在大量境外商戶,資料跨境調用已成常態。境外商戶應軟硬體環境及業務場景與國內存在差異,現有資料防護架構難免存在不足,從而造成使用者隱私資料洩漏。再者,不同境外商戶的IT架構通常不同,造成API調用系統複雜,梳理難度大,容易被不法分子利用,導致隱私資料(如國內使用者敏感性資料)洩漏。
此外,因為API數量大、API開發管理漏洞難以避免等原因,API實際輸出的資料內容與請求方實際請求獲取的資料或者請求方具有使用權限的資料可能存在差別。例如,對於某個請求方無權調用的API,因API許可權管理存在疏漏等原因,被該某個請求方非法調用,並輸出使用者的個人敏感資訊,造成使用者隱私權洩露。
又例如,某個請求方有權調用某個API,但是其與服務平臺的簽約資料中只包括該某個API可輸出的全量資料(如使用者性別、用戶位址和用戶手機號)中的部分資料內容(如使用者性別)。然而,該某個請求方在調用該某個API時,除向該某個API傳入對應於該部分資料內容的輸入參數以外,還傳入對應於全量資料中其他資料內容(如使用者位址)的輸入參數,因API許可權管理存在疏漏等原因,導致該某個API返回給該某個請求方的資料(如使用者性別和用戶位址)超出簽約的資料範圍(如使用者性別)。
再例如,請求方所調用的API介面,因一些舊的未更新的欄位設置(如業務人員將用戶手機號和身份證號拼接為一個欄位),導致API介面輸出資料的範圍(如使用者手機號和身份證號)與請求方的簽約資料範圍(如使用者手機號)不一致。
基於以上,發明人提出一種針對隱私資料洩漏的風險評估方法及裝置。在一個實施例中,圖1示出根據一個實施例的風險評估方法的實施場景示意圖,如圖1所示,請求方人員可以透過請求方用戶端向服務平臺發送API調用請求(或稱請求消息),相應地,服務平臺可以根據請求消息生成對應的系統日誌,並且向請求方用戶端返回API調用回應(或稱回應訊息)。可以理解,閘道可以對請求消息和回應訊息進行記錄,產生對應的網路流量記錄(或稱網路流量日誌)。
由此,風險評估裝置可以從閘道中獲取系統日誌和網路流量記錄,並對獲取的網路流量記錄進行解析,得到解析資料;另一方面,風險評估裝置還可以從服務平臺中獲取請求方調用API的許可權資料。進一步地,風險評估裝置可以將系統日誌與許可權資料進行比對,並將解析資料與許可權資料進行比對,再結合兩個比對結果,評估請求方調用API造成隱私資料洩漏的風險,從而及時檢測請求方的違規、異常調用行為。
下面結合具體的實施例,描述上述風險評估方法的實施步驟。
首先需要說明的是,本說明書實施例中的描述用於“第一”、“第二”、“第三”等類似用語,僅用於區分同類事物,不具有其他限定作用。
圖2示出根據一個實施例的針對隱私資料洩漏的風險評估方法的流程圖,所述方法的執行主體可以為任何具有計算、處理能力的裝置或設備或平臺或伺服器集群等,例如,所述執行主體可以為圖1中示出的風險評估裝置,又例如,所述執行主體還可以為上述服務平臺。
如圖2所示,所述方法可以包括以下步驟:
步驟S210,獲取請求方請求調用服務平臺中儲存的目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄;其中,每條系統日誌基於所述請求方向所述服務平臺發出的調用API的請求消息而生成,並包括,根據所述請求消息確定的若干第一目標API,針對若干第一目標API輸入的第一參數,以及所述第一參數所對應的若干第一隱私類別;每條網路流量記錄中至少包括所述服務平臺針對該請求消息返回的回應訊息。步驟S220,對所述若干網路流量記錄進行解析處理,得到解析資料,其中至少包括API輸出資料所對應的若干第二隱私類別。步驟S230,從所述服務平臺獲取所述請求方調用API的許可權資料,所述許可權資料包括所述請求方有權調用的API集合,針對所述API集合有權傳入的參數組成的參數集合,以及所述參數集合所對應的隱私類別集合。步驟S240,將所述若干系統日誌與所述許可權資料進行比對,得到第一比對結果,以及,將所述解析資料與所述許可權資料進行比對,得到第二比對結果。步驟S250,至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險。
以上步驟具體如下:
首先,在步驟S210,獲取請求方請求調用服務平臺中儲存的目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄。
在一個實施例中,其中請求方可以為個人或機構或企業等,其可以透過在服務平臺中註冊的帳號登錄服務平臺,並在使用服務平臺的過程中發起API調用請求。在一個例子中,上述請求方可以是跨境商戶,上述服務平臺可以是跨境商戶系統或跨境商戶開放平臺。可以理解,服務平臺中可以儲存對大量服務物件的基礎屬性資訊,以及大量服務物件在使用服務過程中產生的服務資料。比如說,服務物件在服務平臺中進行註冊時,會填寫一些註冊資訊,又或者,服務物件使用服務會產生訂單資料、評價資訊等。本說明書實施例中,將請求方請求調用的資料所針對的服務物件,稱為目標對象。在一個實施例中,上述隱私資料可以包括服務平臺中儲存的全量資料。
下面對系統日誌和網路流量的產生過程進行介紹。在一個實施例中,請求方可以向服務平臺發送調用API的請求消息,服務平臺在接收到請求消息後,基於該請求消息進行業務記錄,生成對應的系統日誌,並且,針對該請求消息生成回應訊息,並將回應訊息返回給請求方。可以理解,在實體層上,請求方和服務平臺之間的通信會經過閘道,具體地,請求方發送的請求消息會先上傳至閘道,再經由閘道發送給服務平臺,在此上行過程中網路可以對請求消息進行記錄,另外服務平臺返回給請求方的回應訊息也會先下發至閘道,再由閘道發送給請求方,在此下行過程中,閘道可以對回應訊息進行記錄,並且記錄的請求消息和對應的回應訊息可以組成一條網路流量記錄。
對於上述系統日誌的生成,首先需要說明的是,服務平臺中儲存其可以提供的API服務的配置資訊。在一個實施例中,配置資訊中包括可以每個API的名稱,可以向每個API傳入的全量參數,全量參數中每個參數所用於調用資料(如13800001111)的資料含義(手機號)。進一步地,服務平臺在接收到請求消息之後,可以根據其儲存的配置資訊,確定請求消息中包括的目標API,針對目標API輸入的參數,以及這些參數所對應的資料含義,進而生成系統日誌。需要說明,本說明書實施例中,將與隱私相關的資料含義,稱為隱私類別,具體地,可以包括用戶手機號、公司總機號、身份證號、用戶姓名等等。
如上所述,在一個實施例中,上述隱私資料可以包括服務平臺中儲存的全量資料。如此,在本步驟中可以包括:獲取請求方調用服務平臺提供的API而產生的多條系統日誌和多條網路流量記錄,作為上述若干系統日誌和若干網路流量記錄。
在另一個實施例中,可以將風險評估重點聚焦到某些隱私類別,具體地,可以預先設定需要關注的多個隱私類別。基於此,在獲取請求方調用API產生的多條系統日誌和多條網路流量記錄之後,需要根據預先設定的多個隱私類別,對所述多條系統日誌和多條網路流量記錄進行過濾處理,得到所述若干系統日誌和若干網路流量記錄。
在一個具體的實施例中,上述過濾處理可以包括:利用所述多個隱私類別,對所述多條系統日誌進行匹配,將匹配成功的系統日誌作為所述若干系統日誌。由上述可知,每條系統日誌中包括根據對應的請求消息確定出的API、請求傳入該API的參數,以及該參數對應的可調用資料的含義。由此可以利用多個隱私類別對多條系統日誌中的參數對應的資料含義進行匹配,如此可以匹配到資料含義中包括多個隱私類別中任一類別的系統日誌,歸入上述若干系統日誌。
在另一個具體的實施例中,上述過濾處理還可以包括:利用預先基於所述多個隱私類別設定的過濾項,從所述多條網路流量記錄中篩選出所述若干網路流量記錄,所述過濾項的形式包括以下中的至少一種:自訂UDF函數、關鍵欄位和正則項。需要理解,網路流量記錄中包括請求消息和對應的回應訊息,請求消息和回應訊息中所包括欄位的資料含義往往是不明確的,不同於系統日誌包括基於API配置資訊從請求消息中確定出的資料含義。因此,利用多個隱私類別直接進行匹配是難以實現過濾的。
上述過濾項可以基於多個隱私類別而預先設定,在一個例子中,可以包括針對手機號設定的正則項,用於匹配出具有以下特點的欄位值:首位為1,且前三位屬於已有網號(如中國移動網號138、139等),以將包含該欄位值的網路流量記錄歸入上述若干網路流量記錄。在一個例子中,可以包括針對身份證號設定的自訂函數(User-Defined Function,UDF),用於匹配出符合身份證號編碼規則的欄位值,以將包含該欄位值的網路流量記錄歸入上述若干網路流量記錄。在另一個例子中,可以包括針對用戶姓名設定的關鍵欄位,比如將用於調取用戶姓名的API參數(如User_name)設定為關鍵欄位,由此可以將包括該關鍵欄位的網路流量記錄歸入上述若干網路流量記錄。
以上在步驟S210,可以獲取請求方請求調用目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄。
接著,在步驟S220,對所述若干網路流量記錄進行解析處理,得到解析資料,其中至少包括API輸出資料所對應的若干第二隱私類別。
在一個實施例中,本步驟可以包括:先對所述若干網路流量記錄進行解析處理,得到所述API輸出資料,所述API輸出資料中包括多個欄位。可以理解,是對網路流量記錄中的回應訊息進行解析得到上述API輸出資料。然後確定多個欄位中若干隱私欄位對應的若干第三隱私類別。具體地,可以通過機器學習、正則匹配等方式實現。在一個具體的實施例中,可以基於預先訓練的自然語言處理模型,確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別。在一個例子中,其中自然語言處理模型可以包括Transformer、Bert等模型。在一個例子中,可以確定若干隱私欄位包括李情深、似海有限公司、北京市青年路珍重大廈等,對應的若干第三隱私類別包括:用戶姓名、企業名稱、地址等。在另一個具體的實施例中,可以基於預先設定的多個正則匹配規則,確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別。在一個例子中,可以確定欄位名為“phone”欄位為隱私欄位,且其對應的第三隱私類別為手機號。在另一個例子中,可以確定欄位值中包括“@”和的欄位為隱私欄位,且其對應的第三隱私類別為郵箱位址。如此,可以確定出若干第三隱私類別。
進一步地,在一個具體的實施中,可以將上述若干第三隱私類別作為若干第二隱私類別。在另一個具體的實施例中,基於若干隱私欄位的欄位值,對所述若干第三隱私類別進行驗證處理,並將通過驗證的第三隱私類別歸入所述若干第二隱私類別。在一個例子中,所述若干隱私欄位中包括任意的第一欄位,對應所述若干第三隱私類別中的第一類別,相應地,上述驗證處理可以包括:利用預先儲存的對應於所述第一類別的多個合法欄位值,對所述第一欄位進行匹配,並在匹配成功的情況下,判定所述第一類別通過驗證。在一個具體的例子中,假定第一類別為用戶姓名,第一欄位為“歐茶”,上述多個合法欄位值包括已實名認證的多個用戶姓名,由此,可以查找多個用戶姓名中是否存在歐茶,如果存在則將用戶姓名歸入若干第二隱私類別。
在另一個例子中,上述驗證處理還可以包括:利用預先訓練的針對所述第一類別的分類模型,對所述第一欄位進行分類,在分類結果指示所述第一欄位屬於所述第一類別的情況下,判定所述第一類別通過驗證。在一個具體的例子中,假定第一類別為郵箱位址,且第一欄位為:明天記得來吃飯,@小花,則分類結果指示該第一欄位不是郵箱位址,再假定第一欄位為58978@ali.cn,則分類結果指示該第一欄位是郵箱位址,並將郵箱位址歸入若干第二隱私類別。如此,可以在確定出若干第三隱私類別的基礎上,進一步驗證得到若干第二隱私類別,以保證確定出的若干第二隱私類別的準確性,進而使得後續得到的針對隱私資料洩漏的風險評估結果更加準確。
以上,可以得到回應訊息中包括的API輸出資料所對應的若干第二隱私類別。另一方面,可選地,還可以對網路流量記錄中包括的請求消息進行解析。需要說明的是,上述系統日誌的生成是在應用層上實現的,網路流量記錄的產生是在底層,在工程實現上,對網路流量記錄進行解析,難以獲取上述服務平臺中儲存的完備的API配置資訊進行精準解析。因此,往往需要考慮其他解析方式。在一個實施例中,解析資料中還包括對請求消息進行解析得到的若干第二目標API和針對若干第二目標API輸入的第二參數。此處解析出的API和參數,相較系統日誌中包括的API名稱和參數而言,不那麼精準,相對粗略。
在一個具體的實施例中,可以利用預先基於多個API設定的API解析規則,從所述若干網路流量記錄中解析出所述若干第二目標API,所述API解析規則透過以下中的至少一種形式定義:自訂UDF函數、關鍵欄位和正則項。在另一個具體的實施例中,可以利用預先基於多個參數設定的參數解析規則,從所述若干網路流量記錄中解析出所述若干第二參數,所述參數解析規則透過以下中的至少一種形式定義:自訂UDF函數、關鍵欄位和正則項。需要說明的是,對上述API解析規則和參數解析規則中涉及的自訂UDF函數、關鍵欄位和正則項,可以參見前述實施例中對過濾項的相關描述,在此不作贅述。
以上,對若干網路流量記錄進行解析,可以得到解析資料。另一方面,可以執行步驟S230,從所述服務平臺獲取所述請求方調用API的許可權資料。
具體地,上述許可權資料包括所述請求方有權調用的API集合,針對所述API集合有權傳入的參數組成的參數集合,以及所述參數集合所對應的隱私類別集合。在一個例子中,其中API集合可以包括一個或多個API的名稱,如http://yiteng.cn/data/?id=91,https://niuqi.cn/data/?id=8等。在一個例子中,其中參數集合中的參數可以包括:gender、phone和add.。在一個例子中,其中隱私類別集合中的隱私類別可以包括性別、電話和位址。
在一個實施例中,上述服務平臺中包括使用者授權系統、簽約系統和API管理系統等。需要理解,其中使用者授權系統中可以儲存個人使用者或企業使用者授權允許服務平臺對外提供的部分隱私資料。其中簽約系統中可以儲存請求方與服務平臺協商約定的請求方可以從服務平臺請求獲取的資料範圍。API管理系統中包括服務平臺可以提供給請求方調用的API介面文檔等資訊。基於此,可以從這些系統中分別獲取相關資料,整理後再歸入上述許可權資料。
如此,可以從服務平臺中獲取請求方調用API的許可權資料。
然後,在步驟S240,將若干系統日誌與所述許可權資料進行比對,得到第一比對結果,以及,將所述解析資料與所述許可權資料進行比對,得到第二比對結果。
一方面,在一個實施例中,上述得到第一比對結果,可以包括:判斷所述若干第一目標API是否屬於所述API集合,得到第一判斷結果,歸入所述第一比對結果。需要理解,對於若干系統日誌中每條系統日誌中包括的若干第一目標API,均需要判斷其是否屬於許可權資料中的API集合。在一個具體的實施例中,假定若干系統日誌的目標API包括http://user.cn/data/?id=00,上述API集合中包括http://user.cn/data/?id=00和http://company.cn/data/?id=66,通過比對可以確定若干系統日誌中的目標API均屬於API集合,不屬於API集合的個數為0,由此可以將第一判斷結果確定為0。
在另一個實施例中,上述得到第一比對結果,還可以包括:判斷所述第一參數是否屬於所述參數集合,得到第二判斷結果,歸入所述第一比對結果。需要理解,對於若干系統日誌中每條系統日誌中包括的第一參數,均需要判斷其是否屬於許可權資料中的參數集合。在一個例子中,假定上述若干系統日誌中的參數包括phone和IDnumber,上述參數集合中包括phone,通過比對可以確定IDnumber不屬於參數集合,由此可以將第二判斷結果確定為1。
在又一個實施例中,還可以包括:判斷所述若干第一隱私類別是否屬於所述隱私類別集合,得到第三判斷結果,歸入所述第一比對結果。需要理解,對於若干系統日誌中每條系統日誌中包括的若干第一隱私類別,均需要判斷其是否屬於許可權資料中的隱私類別集合。在一個例子中,假定上述若干系統日誌中的第三隱私類別包括手機號和身份證號,上述隱私類別集合中包括手機號,通過比對可以確定身份證號不屬於隱私類別集合,由此可以將隱私類別比對結果確定為1。
由上可以得到第一判斷結果、第二判斷結果和第三判斷結果,作為上述第一比對結果。
另一方面,在一個實施例中,上述得到第二比對結果,可以包括:判斷所述若干第二隱私類別是否屬於所述隱私類別集合,得到第四判斷結果,歸入所述第二比對結果。在另一個實施例中,還可以包括:判斷上述若干第二目標API是否屬於所述API集合,得到第五判斷結果,歸入所述第二比對結果。在又一個實施例中,還可以包括:判斷上述第二參數是否屬於所述參數集合,得到第六判斷結果,歸入所述第二比對結果。
以上,可以得到第一比對結果和第二比對結果。接著,在步驟S250,至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險。
在一個實施例中,本步驟中可以包括:將所述第一比對結果和第二比對結果共同輸入預先訓練的第一風險評估模型中,得到第一預測結果,指示所述隱私資料洩漏風險。在一個更具體的實施例中,其中第一風險評估模型可以採用決策樹、隨機森林、adboost、神經網路等機器學習演算法。在一個更具體的實施例中,其中第一預測結果可以為風險分類等級,如高、中、低等。在另一個更具體的實施例中,其中第一預測結果可以為風險評估分數,如20或85等等。需要說明的是,對第一風險評估模型的使用過程和訓練過程類似,因此對訓練過程不作贅述。
在另一個實施例中,本步驟中可以包括:首先,根據所述若干系統日誌和若干網路流量記錄,確定監控指標的指標值,所述監控指標針對請求方API調用行為而預先設定;接著,將預先獲取的所述請求方的歷史指標值與所述指標值進行比對,得到第三比對結果;然後,基於所述第一比對結果、第二比對結果和第三比對結果,評估所述請求方調用API的隱私資料洩漏風險。
在一個具體的實施例中,上述監控指標可以包括以下中的一種或多種:單位時間內請求方向所述服務平臺發送的請求消息的條數,單位時間內請求方請求調用的隱私資料所對應的目標對象的個數,單位時間內請求方請求調用的隱私資料所對應的隱私類別的個數。在一個例子中,其中單位時間可以為每年、每月、每週、每天、每小時、每分鐘等等。在一個具體的例子中,監控指標可以包括請求方每天的調用請求中包括的用戶ID(可以從請求消息的入參中解析得到)的數量。
在一個具體的實施例中,上述歷史指標值可以是根據請求方的調用隱私資料產生的歷史系統日誌和歷史網路流量記錄而確定的。在一個例子中,監控指標中可以包括請求方每分鐘發出的請求消息的條數,假定針對該條數的歷史指標值為20條,而確定當前確定出的指標值為100條,由此可以將4((100-20)/20)確定針對該條數的比對結果,歸入上述第三比對結果。
在一個具體的實施例中,可以結合預先設定的評估規則,根據所述第一比對結果、第二比對結果和第三比對結果,判斷是否發生隱私資料洩漏。在一個例子中,其中評估規則可以包括:如果比對結果中超出許可權範圍的隱私類別包括用戶身份證號,則判定請求方的API調用發送隱私資料洩漏。在另一個具體的實施例中,可以將所述第一比對結果、第二比對結果和第三比對結果共同輸入預先訓練的第二風險評估模型中,得到第二預測結果,指示所述隱私資料洩漏風險。在一個更具體的實施例中,其中第二風險評估模型可以採用決策樹、隨機森林、adboost、神經網路等機器學習演算法。在一個更具體的實施例中,其中第二預測結果可以為風險分類等級,如極高、較高、中、較低、極低等。在另一個更具體的實施例中,其中第二預測結果可以為風險評估分數,如15或90等等。需要說明的是,對第二風險評估模型的使用過程和訓練過程類似,因此對訓練過程不作贅述。如此,可以基於上述三個比對結果,評估請求方調用的資料洩漏風險。
綜上,在本說明書實施例提供的針對隱私資料洩漏的風險評估方法中,通過獲取請求方調用API產生的系統日誌和網路流量記錄,以及請求方調用API的許可權資料,對網路流量進行解析得到解析資料,再將解析資料與許可權資料進行比對,並將系統日誌與許可權資料進行比對,結合兩個比對結果,評估請求方調用API造成隱私資料洩漏的風險,以及時檢測、發現請求方的違規、異常調用行為。進一步地,還可以利用獲取的系統日誌和解析得到的網路流量記錄,確定針對請求方行為設定的監控指標的指標值,再將該指標值與歷史指標值進行比對,從而進一步提高風險評估結果的準確度和可用性。
根據另一方面的實施例,本說明書還披露一種評估裝置。具體地,圖3示出根據一個實施例的針對隱私資料洩漏的風險評估裝置結構圖。如圖3所示,所述裝置300可以包括:
第一獲取單元310,配置為獲取請求方請求調用服務平臺中儲存的目標對象的隱私資料而產生的若干系統日誌和若干網路流量記錄;其中,每條系統日誌基於所述請求方向所述服務平臺發出的調用API的請求消息而生成,並包括,根據所述請求消息確定的若干第一目標API,針對若干第一目標API輸入的第一參數,以及所述第一參數所對應的若干第一隱私類別;每條網路流量記錄中至少包括所述服務平臺針對該請求消息返回的回應訊息。解析單元320,配置為對所述若干網路流量記錄進行解析處理,得到解析資料,其中至少包括API輸出資料所對應的若干第二隱私類別。第二獲取單元330,配置為從所述服務平臺獲取所述請求方調用API的許可權資料,所述許可權資料包括所述請求方有權調用的API集合,針對所述API集合有權傳入的參數組成的參數集合,以及所述參數集合所對應的隱私類別集合。比對單元340,配置為將所述若干系統日誌與所述許可權資料進行比對,得到第一比對結果,以及,將所述解析資料與所述許可權資料進行比對,得到第二比對結果。評估單元350,配置為至少基於所述第一比對結果和第二比對結果,評估所述請求方調用API的隱私資料洩漏風險。
在一個實施例中,第一獲取單元310具體包括:獲取子單元311,配置為獲取所述請求方調用服務平臺提供的API而產生的多條系統日誌和多條網路流量記錄;過濾子單元312,配置為基於預先設定的多個隱私類別,對所述多條系統日誌和多條網路流量記錄進行過濾處理,得到所述若干系統日誌和若干網路流量記錄。
在一個具體的實施例中,所述過濾子單元312具體配置為:利用所述多個隱私類別,對所述多條系統日誌進行匹配,將匹配成功的系統日誌作為所述若干系統日誌;利用預先基於所述多個隱私類別設定的過濾項,從所述多條網路流量記錄中篩選出所述若干網路流量記錄,所述過濾項的形式包括以下中的至少一種:自訂UDF函數、關鍵欄位和正則項。
在一個實施例中,所述網路流量記錄還包括所述請求消息,所述解析資料還包括對所述請求消息進行解析得到的若干第二目標API和針對若干第二目標API輸入的第二參數。
在一個具體的實施例中,其中解析單元320還配置為:利用預先基於多個API設定的API解析規則,從所述若干網路流量記錄中解析出所述若干第二目標API,所述API解析規則透過以下中的至少一種形式定義:自訂UDF函數、關鍵欄位和正則項;利用預先基於多個參數設定的參數解析規則,從所述若干網路流量記錄中解析出所述若干第二參數,所述參數解析規則透過以下中的至少一種形式定義:自訂UDF函數、關鍵欄位和正則項。
在一個實施例中,所述解析單元320具體包括:解析子單元321,配置為對所述若干網路流量記錄進行解析處理,得到所述API輸出資料,所述API輸出資料中包括多個欄位;確定子單元322,配置為確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別;所述解析單元具體還包括:歸入子單元323,配置為將所述若干第三隱私類別作為所述若干第二隱私類別;或驗證子單元324,配置為基於所述若干隱私欄位的欄位值,對所述若干第三隱私類別進行驗證處理,並將通過驗證的第三隱私類別歸入所述若干第二隱私類別。
在一個具體的實施例中,所述確定子單元322具體配置為:基於預先訓練的自然語言處理模型,確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別;或,基於預先設定的多個正則匹配規則,確定所述多個欄位中若干隱私欄位對應的若干第三隱私類別。
在另一個具體的實施例中,所述若干隱私欄位中包括任意的第一欄位,對應所述若干第三隱私類別中的第一類別;其中驗證子單元324具體配置為:利用預先儲存的對應於所述第一類別的多個合法欄位值,對所述第一欄位進行匹配,並在匹配成功的情況下,判定所述第一類別通過驗證;或,利用預先訓練的針對所述第一類別的分類模型,對所述第一欄位進行分類,在分類結果指示所述第一欄位屬於所述第一類別的情況下,判定所述第一類別通過驗證。
在一個實施例中,所述比對單元340具體配置為:判斷所述若干第一目標API是否屬於所述API集合,得到第一判斷結果,歸入所述第一比對結果;判斷所述第一參數是否屬於所述參數集合,得到第二判斷結果,歸入所述第一比對結果;判斷所述若干第一隱私類別是否屬於所述隱私類別集合,得到第三判斷結果,歸入所述第一比對結果;判斷所述若干第二隱私類別是否屬於所述隱私類別集合,得到第四判斷結果,歸入所述第二比對結果。
在一個實施例中,所述比對單元340還配置為:判斷所述若干第二隱私類別是否屬於所述隱私類別集合,得到第四判斷結果,歸入所述第二比對結果;判斷所述若干第二目標API是否屬於所述API集合,得到第五判斷結果,歸入所述第二比對結果;判斷所述第二參數是否屬於所述參數集合,得到第六判斷結果,歸入所述第二比對結果。
在一個實施例中,所述評估單元350具體配置為:將所述第一比對結果和第二比對結果共同輸入預先訓練的第一風險評估模型中,得到第一預測結果,指示所述隱私資料洩漏風險。
在一個實施例中,所述評估單元350具體包括:處理子單元351,配置為根據所述若干系統日誌和若干網路流量記錄,確定監控指標的指標值,所述監控指標針對請求方API調用行為而預先設定;比對子單元352,配置為將預先獲取的所述請求方的歷史指標值與所述指標值進行比對,得到第三比對結果;評估子單元353,配置為基於所述第一比對結果、第二比對結果和第三比對結果,評估所述請求方調用API的隱私資料洩漏風險。
在一個具體的實施例中,所述監控指標中包括以下中的一種或多種:單位時間內請求方向所述服務平臺發送的請求消息的條數,單位時間內請求方請求調用的隱私資料所對應的目標對象的個數,單位時間內請求方請求調用的隱私資料所對應的隱私類別的個數。
在另一個具體的實施例中,所述評估子單元353具體配置為:結合預先設定的評估規則,根據所述第一比對結果、第二比對結果和第三比對結果,判斷是否發生隱私資料洩漏;或,將所述第一比對結果、第二比對結果和第三比對結果共同輸入預先訓練的第二風險評估模型中,得到第二預測結果,指示所述隱私資料洩漏風險。
綜上,在本說明書實施例提供的針對隱私資料洩漏的風險評估裝置中,透過獲取請求方調用API產生的系統日誌和網路流量記錄,以及請求方調用API的許可權資料,對網路流量進行解析得到解析資料,再將解析資料與許可權資料進行比對,並將系統日誌與許可權資料進行比對,結合兩個比對結果,評估請求方調用API造成隱私資料洩漏的風險,以及時檢測、發現請求方的違規、異常調用行為。進一步地,還可以利用獲取的系統日誌和解析得到的網路流量記錄,確定針對請求方行為設定的監控指標的指標值,再將該指標值與歷史指標值進行比對,從而進一步提高風險評估結果的準確度和可用性。
根據另一方面的實施例,還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行結合圖2所描述的方法。
根據再一方面的實施例,還提供一種計算設備,包括記憶體和處理器,所述記憶體中儲存有可執行代碼,所述處理器執行所述可執行代碼時,實現結合圖2所述的方法。
本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、韌體或它們的任意組合來實現。當使用軟體實現時,可以將這些功能儲存在電腦可讀媒體中或者作為電腦可讀媒體上的一個或多個指令或代碼進行傳輸。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發明的保護範圍之內。
300:風險評估裝置
310:第一獲取單元
311:獲取子單元
312:過濾子單元
320:解析單元
321:解析子單元
322:確定子單元
323:歸入子單元
324:驗證子單元
330:第二獲取單元
340:比對單元
350:評估單元
351:處理子單元
352:比對子單元
353:評估子單元
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
[圖1]示出根據一個實施例的風險評估方法的實施場景示意圖;
[圖2]示出根據一個實施例的針對隱私資料洩漏的風險評估方法流程圖;
[圖3]示出根據一個實施例的針對隱私資料洩漏的風險評估裝置結構圖。