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

    代碼安全檢測方法、裝置、設備和可讀存儲介質制造方法及圖紙

    技術編號:26763194 閱讀:34 留言:0更新日期:2020-12-18 23:21
    本申請實施例公開了一種代碼安全檢測方法、裝置、設備和可讀存儲介質,涉及計算機編程和網絡安全技術。具體實現方案為解析待檢測的源代碼,得到所述源代碼使用的目標函數;如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數;向用戶提示將所述目標函數替換為所述安全函數。本申請實施例可以簡化檢測邏輯,適用于復雜的業務場景與代碼結構。

    【技術實現步驟摘要】
    代碼安全檢測方法、裝置、設備和可讀存儲介質
    本申請涉及計算機技術,尤其涉及計算機編程和網絡安全

    技術介紹
    近年來,互聯網安全漏洞導致的安全事件愈加嚴重,其中大部分漏洞是由于開發人員缺少安全防護意識、語言特性理解不當或錯誤使用了可能導致漏洞的函數造成的。這些漏洞一旦被黑客組織或不法分子利用,將會造成用戶敏感信息泄露、商業秘密泄露、金錢損失等嚴重后果。因此,互聯網公司致力于搶在黑客之前發現并修復代碼中的漏洞。傳統的代碼安全檢測方法包括:使用軟件源代碼安全測試工具(如白盒漏洞掃描器)在上線前對代碼進行掃描,通過解析語法樹、追蹤敏感變量等一系列步驟判定漏洞是否存在,對于復雜的業務場景與代碼結構是無能為力的,存在漏報和誤報的情況;而且檢測邏輯復雜,消耗較多的計算機資源。
    技術實現思路
    本申請實施例提供了一種代碼安全檢測方法、裝置、設備和可讀存儲介質。第一方面,本申請實施例提供了一種代碼安全檢測方法,包括:解析待檢測的源代碼,得到所述源代碼使用的目標函數;如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數;向用戶提示將所述目標函數替換為所述安全函數。第二方面,本申請實施例還提供了一種代碼安全檢測裝置,包括:解析模塊,用于解析待檢測的源代碼,得到所述源代碼使用的目標函數;確定模塊,用于如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數;提示模塊,用于向用戶提示將所述目標函數替換為所述安全函數。第三方面,本申請實施例提供了一種電子設備,包括:至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行任一實施例所提供的一種代碼安全檢測方法。第四方面,本申請實施例提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,所述計算機指令用于使所述計算機執行任一實施例所提供的一種代碼安全檢測方法。根據本申請的技術可以簡化檢測邏輯,適用于復雜的業務場景與代碼結構。應當理解,本部分所描述的內容并非旨在標識本公開的實施例的關鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。附圖說明附圖用于更好地理解本方案,不構成對本申請的限定。其中:圖1是本申請實施例中的第一種代碼安全檢測方法的流程圖;圖2a是本申請實施例中的第二種代碼安全檢測方法的流程圖;圖2b是本申請實施例中的通過繼承重寫法實現安全基礎庫的示意圖;圖2c是本申請實施例中的通過繼承重寫法實現安全基礎庫示例的示意圖;圖2d是本申請實施例中的通過繼承重載法實現安全基礎庫的示意圖;圖2e是本申請實施例中的通過繼承重載法實現安全基礎庫示例的示意圖;圖2f是本申請實施例中的通過完全封裝法實現安全基礎庫的示意圖;圖2g是本申請實施例中的通過完全封裝法實現安全基礎庫示例的示意圖;圖2h是本申請實施例中的通過重新實現法實現安全基礎庫的示意圖;圖2i是本申請實施例中的通過重新實現法實現安全基礎庫示例的示意圖;圖3是本申請實施例中的第三種代碼安全檢測方法的流程圖;圖4是本申請實施例中的代碼安全檢測裝置的結構圖;圖5是本申請實施例中的電子設備的結構示意圖。具體實施方式以下結合附圖對本申請的示范性實施例做出說明,其中包括本申請實施例的各種細節以助于理解,應當將它們認為僅僅是示范性的。因此,本領域普通技術人員應當認識到,可以對這里描述的實施例做出各種改變和修改,而不會背離本申請的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結構的描述。根據本申請的實施例,圖1是本申請實施例中的第一種代碼安全檢測方法的流程圖,本申請實施例適用于對代碼的安全性進行檢測的情況。該方法通過代碼安全檢測裝置執行,該裝置采用軟件和/或硬件實現,并具體配置于具備一定數據運算能力的電子設備中。如圖1所示的代碼安全檢測方法,包括:S110、解析待檢測的源代碼,得到源代碼使用的目標函數。本實施例中,待檢測的源代碼為已編碼完成但未上線的代碼,需要對源代碼的安全性進行檢測,例如是否竊取用戶隱私信息以及是否有漏洞等。鑒于源代碼的安全性主要受其使用的函數的影響,本實施例主要對源代碼使用的函數進行安全性檢測。解析源代碼主要為掃描源代碼使用的函數,稱為目標函數。一般的,目標函數的數量為至少一個,對每個目標函數依次執行S120和S130。S120、如果目標函數檢測為設定危險函數,確定與設定危險函數對應的安全函數。設定危險函數指能夠實現基礎功能,但同時具有危險性的函數。例如,上傳文件的危險函數具有“上傳文件”這一基礎功能,但該函數同時竊取用戶隱私信息,具有危險性。本實施例中,代碼中應禁止使用任何設定危險函數,而應使用與設定危險函數對應的安全函數。安全函數指能夠實現設定危險函數的基礎功能,但同時實現安全過濾功能的函數。檢測目標函數是否為一設定危險函數,具體可以通過比較函數名和參數名是否分別一致來檢測。如果目標函數檢測為設定危險函數。例如,上傳文件的安全函數具有“上傳文件”這一基礎功能,同時對竊取用戶隱私信息的行為進行過濾或攔截。可見,相對應的設定危險函數與安全函數具有同樣的基礎功能,但安全函數不再實現具有危險性的功能,使其具有安全性。可選的,預先收集至少一個危險函數,稱為設定危險函數。對于每個危險函數,構造對應的安全函數。S130、向用戶提示將目標函數替換為安全函數。在編碼的應用場景中,用戶為編碼人員。可選的,可以向用戶的源代碼編譯環境中返回提示消息“將目標函數替換為安全函數”。此外,還可以通過互聯網或移動網絡向用戶返回前述提示消息。進一步的,待用戶修改代碼后,需要將修改后的代碼上傳。本實施例繼續對修改后的代碼進行安全性檢測,詳見S110-S130的描述,直到源代碼中使用的目標函數均未檢測為設定危險函數,說明源代碼不包括已知的危險函數,可以得出源代碼安全的檢測結果。相比與現有技術中檢測源代碼的解析語法樹和追蹤敏感變量,本實施例通過解析源代碼得到目標函數,并檢測目標函數是否為設定危險函數,這種是與否的函數維度的檢測,使得檢測邏輯簡單直接,能夠提高檢測效率并減少檢測過程中的計算機資源消耗,幾乎不存在誤報、漏報的情況;本實施例預先構建與設定危險函數對應的安全函數,通過提示將安全函數替換為目標函數,使源代碼通過安全性檢測,降低了修改成本,用戶僅需實現業務邏輯,無需考慮安全問題,減少了不確定因素,同時更有利于規范用戶的安全編碼習慣;而且本實施例提供的方法僅涉及到使用的函數,不受業務場景和代碼結果的限制,適用于復雜的業務場景與代碼結構。根據本申請的實施例,圖2a是本申請實施例中的本文檔來自技高網...

    【技術保護點】
    1.一種代碼安全檢測方法,包括:/n解析待檢測的源代碼,得到所述源代碼使用的目標函數;/n如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數;/n向用戶提示將所述目標函數替換為所述安全函數。/n

    【技術特征摘要】
    1.一種代碼安全檢測方法,包括:
    解析待檢測的源代碼,得到所述源代碼使用的目標函數;
    如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數;
    向用戶提示將所述目標函數替換為所述安全函數。


    2.根據權利要求1所述的方法,在所述解析待檢測的源代碼,得到所述源代碼使用的目標函數之前,還包括:
    在所述設定危險函數中內嵌安全防護邏輯,得到與所述設定危險函數對應的安全函數。


    3.根據權利要求2所述的方法,其中,所述在所述設定危險函數中內嵌安全防護邏輯,得到與所述設定危險函數對應的安全函數,包括:
    繼承危險類庫,得到安全基礎庫;
    將所述安全基礎庫中的設定危險函數中嵌入安全防護邏輯;
    其中,所述危險類庫包括設定危險函數,所述安全基礎庫包括與所述設定危險函數對應的安全函數。


    4.根據權利要求2所述的方法,其中,所述在所述設定危險函數中內嵌安全防護邏輯,得到與所述設定危險函數對應的安全函數,包括:
    繼承危險類庫,得到安全基礎庫;
    在所述安全基礎庫中重載所述危險類庫中的設定危險函數,并將重載的設定危險函數中嵌入安全防護邏輯;
    將所述安全基礎庫中繼承的設定危險函數設置為禁止使用;
    其中,所述危險類庫包括設定危險函數,所述安全基礎庫包括與所述設定危險函數對應的安全函數以及所述設定危險函數。


    5.根據權利要求2所述的方法,其中,所述在所述設定危險函數中內嵌安全防護邏輯,得到與所述設定危險函數對應的安全函數,包括:
    在安全基礎庫中實例化危險類庫對象,所述危險類庫包括設定危險函數;
    在安全基礎庫中實現所述設定危險函數的安全防護邏輯,以及通過危險類庫對象實例調用所述設定危險函數的邏輯,得到與所述設定危險函數對應的安全函數。


    6.根據權利要求2所述的方法,其中,所述在所述設定危險函數中內嵌安全防護邏輯,得到與所述設定危險函數對應的安全函數,包括:
    在安全基礎庫中,重新實現所述危險類庫中設定危險函數的基礎功能;
    在執行所述基礎功能前,實現與所述基礎功能適配的安全防護邏輯,得到與所述設定危險函數對應的安全函數。


    7.根據權利要求1-6任一項所述的方法,其中,所述如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數,包括:
    將所述目標函數與安全編碼規范中的至少一個設定危險函數進行匹配;
    如果所述目標函數與一設定危險函數匹配,確定與所述設定危險函數對應的安全函數。


    8.根據權利要求7所述的方法,其中,所述確定與所述設定危險函數對應的安全函數,包括:
    從所述安全編碼規范中,查找與所述設定危險函數對應的安全函數;
    其中,所述安全編碼規范基于所述安全基礎庫和危險類庫生成。


    9.根據權利要求8所述的方法,在所述解析待檢測的源代碼,得到所述源代碼使用的目標函數之前,還包括:
    在進入編碼環境時,向所述用戶提供所述安全編碼規范和所述安全基礎庫。


    10.一種代碼安全檢測裝置,包括:
    解析模塊,用于解析待檢測的源代碼,得到所述源代碼使用的目標函數;
    確定模塊,用于如果所述目標函數檢測為設定危險函數,確定與所述設定危險函數對應的安全函數;

    【專利技術屬性】
    技術研發人員:崇瑞劉曉宇歐邁張敏蔡芷鈴
    申請(專利權)人:百度在線網絡技術北京有限公司
    類型:發明
    國別省市:北京;11

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

    1
    主站蜘蛛池模板: 大胆日本无码裸体日本动漫| 精品国产毛片一区二区无码| 国产成人精品无码一区二区三区| 嫩草影院无码av| 亚洲爆乳精品无码一区二区三区| 丰满少妇人妻无码专区| 亚欧无码精品无码有性视频| 免费A级毛片无码A| 亚洲av麻豆aⅴ无码电影| 无码无遮挡又大又爽又黄的视频 | 亚洲中文字幕无码爆乳AV| 无码人妻av一区二区三区蜜臀| 97无码人妻福利免费公开在线视频| 亚洲性无码一区二区三区| 99久久国产热无码精品免费| 久久久久成人精品无码中文字幕| 亚洲中文字幕无码av在线| 无码人妻一区二区三区免费手机| 四虎影视无码永久免费| 亚洲AV无码一区二区乱孑伦AS| 无码av大香线蕉伊人久久| 日本无码WWW在线视频观看| 一本加勒比hezyo无码专区| 爽到高潮无码视频在线观看| 国产精品无码一区二区在线观 | 东京热HEYZO无码专区| 高清无码中文字幕在线观看视频| 国产在线精品无码二区| 韩国19禁无遮挡啪啪无码网站| 无码专区国产精品视频| 国产午夜无码视频免费网站| 国产乱人伦中文无无码视频试看 | 国产精品亚洲专区无码WEB| 亚洲最大av资源站无码av网址| 久久久无码精品亚洲日韩京东传媒| 无码少妇一区二区三区浪潮AV| 无码国产色欲XXXXX视频| 欧洲精品无码成人久久久| 亚洲日韩精品A∨片无码加勒比| 精品久久久无码21p发布| 亚洲私人无码综合久久网|