• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種程序漏洞的檢測方法、終端及服務器技術

    技術編號:15691360 閱讀:62 留言:0更新日期:2017-06-24 04:30
    本申請提供了一種程序漏洞的檢測方法、終端及服務器。其方法包括:根據待檢測程序預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件;根據所述漏洞規則對應的初始條件確定所述待檢測程序的初始檢測語句;確定所述初始檢測語句的位置,其中初始檢測語句的位置包括所述初始檢測語句對應的寄存器名稱;以所述初始檢測語句為起點,順序追蹤檢測待檢測程序;追蹤檢測到結束條件,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,并結束檢測。根據本發明專利技術的技術方案,提高了程序漏洞的檢測效率。

    Method, terminal and server for detecting program vulnerability

    The present application provides a method for detecting a program vulnerability, a terminal and a server. The method comprises the following steps: according to preset vulnerability detection program rules, to determine the initial conditions corresponding to the loopholes in rules and end conditions; according to the initial statement of initial conditions corresponding to the detection rules determine the vulnerability to test procedures; to determine the location of the initial detection of sentence, the initial statement including position detection the initial detection statement corresponding to the register name; to the initial detection statement as a starting point, the order tracking program to be detected; tracking stop condition is detected, the data flow path of recording the initial detection statement of the position and the statement to the end of the initial detection conditions, and end detection. According to the technical proposal of the invention, the detection efficiency of the program loophole is improved.

    【技術實現步驟摘要】
    一種程序漏洞的檢測方法、終端及服務器
    本專利技術涉及信息安全領域,具體而言,涉及一種程序漏洞的檢測方法、終端及服務器。
    技術介紹
    隨著智能終端的迅猛發展,智能終端上各種APP程序不斷增多,信息安全的隱患也不斷增大,因此,在每一款APP程序正式發布之前,都需要對程序的漏洞進行檢測。現有的檢測方法通常為確定漏洞的起點函數和終點函數,在程序中尋找該起點函數,然后根據起點函數進行逆向查找,找到對應的終點函數,再進行分析是否為漏洞;若起點函數為通用函數,則會導致逆向查找的工作量大大增加,且需要技術人員對查找出的每一條路徑都進行分析,費時費力。因此,通過逆向查找的方法檢測程序中的漏洞時,若逆向查找的起點函數為通用函數時,容易造成檢測效率低的問題。
    技術實現思路
    本專利技術的主要目的在于提供一種程序漏洞的檢測方法、終端及服務器,以解決檢測智能終端APP程序中的漏洞檢測效率低的問題。為了實現上述目的,根據本專利技術的一個方面,提供了一種程序漏洞的檢測方法,該方法包括:根據待檢測程序預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件;根據所述漏洞規則對應的初始條件確定所述待檢測程序的初始檢測語句;確定所述初始檢測語句的位置,其中初始檢測語句的位置包括所述初始檢測語句對應的寄存器名稱;以所述初始檢測語句為起點,順序追蹤檢測待檢測程序;追蹤檢測到結束條件,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,并結束檢測。進一步地,以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,具體包括:以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,若追蹤檢測過程中檢測到跳轉語句,則根據跳轉語句的跳轉邏輯進行跳轉;跳轉后按照待檢測程序的執行順序繼續追蹤檢測。進一步地,若追蹤檢測過程中檢測到按照第一檢測語句順序執行的語句為跳轉語句,且跳轉語句對應的跳轉邏輯為賦值邏輯,則根據跳轉語句的跳轉邏輯進行跳轉并在跳轉后按照待檢測程序的執行順序繼續追蹤檢測;且確定跳轉至所述第一檢測語句對應的跳轉語句為第一跳轉語句;將所述第一跳轉語句順序執行對應的檢測語句作為第二檢測語句,對第二檢測語句進行順序追蹤檢測。進一步地,所述追蹤檢測到結束條件,具體包括:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;且追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件;追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;追蹤檢測所述第二檢測語句,未檢測到結束條件。進一步地,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,具體包括:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,且追蹤檢測所述第二檢測語句,檢測到結束條件;則分別記錄所述初始檢測語句的位置,所述通過第一檢測語句檢測到結束條件對應的數據流動路徑;以及所述初始檢測語句的位置,所述通過第二檢測語句檢測到結束條件對應的數據流動路徑;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,追蹤檢測所述第二檢測語句,未檢測到結束條件;則記錄所述初始檢測語句的位置,所述通過第一檢測語句檢測到結束條件對應的數據流動路徑;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件,追蹤檢測所述第二檢測語句,檢測到結束條件;則記錄所述初始檢測語句的位置,所述通過第二檢測語句檢測到結束條件對應的數據流動路徑。進一步地,以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,還包括:以所述初始檢測語句為起點,順序追蹤檢測,若追蹤檢測到的跳轉語句的次數大于設定的次數閾值,則結束追蹤檢測;若不大于設定的次數閾值,則繼續追蹤檢測。進一步地,確定所述初始檢測語句的位置之前,還包括:對待檢測程序的語句進行分析,確定所述待檢測程序中的跳轉語句;將所述待檢測程序中每兩個跳轉語句之間的順序執行語句集合作為一個跳轉語句塊;根據跳轉語句的邏輯關系確定各跳轉語句塊之間的跳轉邏輯關系。進一步地,以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,具體包括:以所述初始檢測語句為起點,根據跳轉語句塊的執行順序以及所述跳轉語句塊之間的跳轉邏輯關系對所述待檢測程序進行順序追蹤檢測。進一步地,對待檢測程序的語句進行分析,確定所述待檢測程序中的跳轉語句,具體包括:將所述待檢測程序語句編譯為中間語言;對所述中間語言進行分析,確定所述中間語言的跳轉語句。進一步地,根據預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件,具體包括:將所述漏洞規則對應的初始條件和結束條件形成配置文件。進一步地,所述配置文件中的初始條件包括至少一個漏洞觸發條件;所述配置文件中的結束條件包括至少一個漏洞形成條件。為了實現上述目的,根據本專利技術的另一方面,還提供了一種程序漏洞的檢測終端,該終端包括:規則識別模塊,用于根據待檢測程序預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件;所述規則識別模塊,還用于根據所述漏洞規則對應的初始條件確定所述待檢測程序的初始檢測語句;語句分析模塊,用于確定所述初始檢測語句的位置,其中初始檢測語句的位置包括所述初始檢測語句對應的寄存器名稱;漏洞檢測模塊,用于以所述初始檢測語句為起點,順序追蹤檢測待檢測程序;檢測記錄模塊,用于追蹤檢測到結束條件,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,并結束檢測。進一步地,所述漏洞檢測模塊,具體用于:以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,若追蹤檢測過程中檢測到跳轉語句,則根據跳轉語句的跳轉邏輯進行跳轉;跳轉后按照待檢測程序的執行順序繼續追蹤檢測。進一步地,所述漏洞檢測模塊,還用于:若追蹤檢測過程中檢測到按照第一檢測語句順序執行的語句為跳轉語句,且跳轉語句對應的跳轉邏輯為賦值邏輯,則根據跳轉語句的跳轉邏輯進行跳轉并在跳轉后按照待檢測程序的執行順序繼續追蹤檢測;且確定跳轉至所述第一檢測語句對應的跳轉語句為第一跳轉語句;將所述第一跳轉語句順序執行對應的檢測語句作為第二檢測語句,對第二檢測語句進行順序追蹤檢測。進一步地,所述檢測記錄模塊,具體用于:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;且追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件;追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;追蹤檢測所述第二檢測語句,未檢測到結束條件。進一步地,所述檢測記錄模塊,具體用于:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,且追蹤檢測所述第二檢測語句,檢測到結束條件;則分別記錄所述初始檢測語句的位置,所述通過第一檢測語句檢測到結束條件對應的數據流動路徑;以及所述初始檢測語句的位置,所述通過第二檢測語句檢測到結束條件對應的數據流動路徑;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,追蹤檢測所述第二檢測語句,未檢測到結束條件;則記錄所述初始檢測語句的位置,所述通過第一檢測語句檢測到結束條件對應的數據流動路徑;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件,追蹤檢測所述第二檢測語句,檢測到結束條件;則本文檔來自技高網...
    一種程序漏洞的檢測方法、終端及服務器

    【技術保護點】
    一種程序漏洞的檢測方法,其特征在于,包括:根據待檢測程序預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件;根據所述漏洞規則對應的初始條件確定所述待檢測程序的初始檢測語句;確定所述初始檢測語句的位置,其中初始檢測語句的位置包括所述初始檢測語句對應的寄存器名稱;以所述初始檢測語句為起點,順序追蹤檢測待檢測程序;追蹤檢測到結束條件,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,并結束檢測。

    【技術特征摘要】
    1.一種程序漏洞的檢測方法,其特征在于,包括:根據待檢測程序預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件;根據所述漏洞規則對應的初始條件確定所述待檢測程序的初始檢測語句;確定所述初始檢測語句的位置,其中初始檢測語句的位置包括所述初始檢測語句對應的寄存器名稱;以所述初始檢測語句為起點,順序追蹤檢測待檢測程序;追蹤檢測到結束條件,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,并結束檢測。2.如權利要求1所述的方法,其特征在于,以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,具體包括:以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,若追蹤檢測過程中檢測到跳轉語句,則根據跳轉語句的跳轉邏輯進行跳轉;跳轉后按照待檢測程序的執行順序繼續追蹤檢測。3.如權利要求2所述的方法,其特征在于,若追蹤檢測過程中檢測到按照第一檢測語句順序執行的語句為跳轉語句,且跳轉語句對應的跳轉邏輯為賦值邏輯,則根據跳轉語句的跳轉邏輯進行跳轉并在跳轉后按照待檢測程序的執行順序繼續追蹤檢測;且確定跳轉至所述第一檢測語句對應的跳轉語句為第一跳轉語句;將所述第一跳轉語句順序執行對應的檢測語句作為第二檢測語句,對第二檢測語句進行順序追蹤檢測。4.如權利要求3所述的方法,其特征在于,所述追蹤檢測到結束條件,具體包括:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;且追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件;追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;追蹤檢測所述第二檢測語句,未檢測到結束條件。5.如權利要求4所述的方法,其特征在于,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,具體包括:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,且追蹤檢測所述第二檢測語句,檢測到結束條件;則分別記錄所述初始檢測語句的位置,所述通過第一檢測語句檢測到結束條件對應的數據流動路徑;以及所述初始檢測語句的位置,所述通過第二檢測語句檢測到結束條件對應的數據流動路徑;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,追蹤檢測所述第二檢測語句,未檢測到結束條件;則記錄所述初始檢測語句的位置,所述通過第一檢測語句檢測到結束條件對應的數據流動路徑;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件,追蹤檢測所述第二檢測語句,檢測到結束條件;則記錄所述初始檢測語句的位置,所述通過第二檢測語句檢測到結束條件對應的數據流動路徑。6.如權利要求1~5任一所述的方法,其特征在于,以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,還包括:以所述初始檢測語句為起點,順序追蹤檢測,若追蹤檢測到的跳轉語句的次數大于設定的次數閾值,則結束追蹤檢測;若不大于設定的次數閾值,則繼續追蹤檢測。7.如權利要求6所述的方法,其特征在于,確定所述初始檢測語句的位置之前,還包括:對待檢測程序的語句進行分析,確定所述待檢測程序中的跳轉語句;將所述待檢測程序中每兩個跳轉語句之間的順序執行語句集合作為一個跳轉語句塊;根據跳轉語句的邏輯關系確定各跳轉語句塊之間的跳轉邏輯關系。8.如權利要求7所述的方法,其特征在于,以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,具體包括:以所述初始檢測語句為起點,根據跳轉語句塊的執行順序以及所述跳轉語句塊之間的跳轉邏輯關系對所述待檢測程序進行順序追蹤檢測。9.如權利要求8所述的方法,其特征在于,對待檢測程序的語句進行分析,確定所述待檢測程序中的跳轉語句,具體包括:將所述待檢測程序語句編譯為中間語言;對所述中間語言進行分析,確定所述中間語言的跳轉語句。10.如權利要求1~5任一所述的方法,其特征在于,根據預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件,具體包括:將所述漏洞規則對應的初始條件和結束條件形成配置文件。11.如權利要求10所述的方法,其特征在于,所述配置文件中的初始條件包括至少一個漏洞觸發條件;所述配置文件中的結束條件包括至少一個漏洞形成條件。12.一種程序漏洞的檢測終端,其特征在于,該終端包括:規則識別模塊,用于根據待檢測程序預先設定的漏洞規則,確定所述漏洞規則對應的初始條件和結束條件;所述規則識別模塊,還用于根據所述漏洞規則對應的初始條件確定所述待檢測程序的初始檢測語句;語句分析模塊,用于確定所述初始檢測語句的位置,其中初始檢測語句的位置包括所述初始檢測語句對應的寄存器名稱;漏洞檢測模塊,用于以所述初始檢測語句為起點,順序追蹤檢測待檢測程序;檢測記錄模塊,用于追蹤檢測到結束條件,記錄所述初始檢測語句的位置以及所述初始檢測語句至所述結束條件的數據流動路徑,并結束檢測。13.如權利要求12所述的終端,其特征在于,所述漏洞檢測模塊,具體用于:以所述初始檢測語句為起點,順序追蹤檢測待檢測程序,若追蹤檢測過程中檢測到跳轉語句,則根據跳轉語句的跳轉邏輯進行跳轉;跳轉后按照待檢測程序的執行順序繼續追蹤檢測。14.如權利要求13所述的終端,其特征在于,所述漏洞檢測模塊,還用于:若追蹤檢測過程中檢測到按照第一檢測語句順序執行的語句為跳轉語句,且跳轉語句對應的跳轉邏輯為賦值邏輯,則根據跳轉語句的跳轉邏輯進行跳轉并在跳轉后按照待檢測程序的執行順序繼續追蹤檢測;且確定跳轉至所述第一檢測語句對應的跳轉語句為第一跳轉語句;將所述第一跳轉語句順序執行對應的檢測語句作為第二檢測語句,對第二檢測語句進行順序追蹤檢測。15.如權利要求14所述的終端,其特征在于,所述檢測記錄模塊,具體用于:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;且追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,未檢測到結束條件;追蹤檢測所述第二檢測語句,檢測到結束條件;或,追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件;追蹤檢測所述第二檢測語句,未檢測到結束條件。16.如權利要求15所述的終端,其特征在于,所述檢測記錄模塊,具體用于:追蹤檢測第一檢測語句對應的跳轉語句,檢測到結束條件,且追蹤檢測所述第二檢測語句,檢測到結束條件;則分別記錄所述初始檢測語句的位置,所述通過...

    【專利技術屬性】
    技術研發人員:陳晉福
    申請(專利權)人:阿里巴巴集團控股有限公司
    類型:發明
    國別省市:開曼群島,KY

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 中文字幕av无码专区第一页| 无码乱码观看精品久久 | 亚洲A∨无码一区二区三区| 国产精品无码永久免费888| 国产精品无码a∨精品| 无码中文人妻在线一区 | 国产精品无码一区二区三级| 无码人妻精品一区二区蜜桃网站 | 久久久久无码精品| 久久精品国产亚洲AV无码麻豆| 特级小箩利无码毛片| 久久久久亚洲av无码专区| 伊人蕉久中文字幕无码专区 | 国产免费AV片无码永久免费 | 午夜无码熟熟妇丰满人妻| 中文字幕无码久久人妻| 人妻丰满熟妇AV无码区免| 久久精品亚洲AV久久久无码| 无码人妻精品一区二区三区99不卡 | 无码人妻精品一区二区三区9厂 | 亚洲人成影院在线无码按摩店| 在线观看无码AV网站永久免费| 亚洲欧洲精品无码AV| 免费人成无码大片在线观看| 亚洲AV无码一区二区三区网址| 日韩精品无码一区二区中文字幕| 成人av片无码免费天天看| 永久免费AV无码网站在线观看 | 亚洲av无码专区国产乱码在线观看| 韩国无码AV片在线观看网站| 亚洲精品久久久久无码AV片软件| 精品无码久久久久国产| 亚洲中文字幕无码av在线| 色噜噜综合亚洲av中文无码| 亚洲av永久无码制服河南实里| 国产精品三级在线观看无码 | 十八禁无码免费网站| 国内精品人妻无码久久久影院| 亚洲精品无码久久一线| 无码视频在线观看| 人妻丰满熟妇无码区免费|