[發明專利]基于CANARY安全保護的檢測方法、終端及存儲介質在審
| 申請號: | 202011168472.X | 申請日: | 2020-10-28 |
| 公開(公告)號: | CN112182517A | 公開(公告)日: | 2021-01-05 |
| 發明(設計)人: | 余少高;嚴智慧 | 申請(專利權)人: | 北京智游網安科技有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/57;G06F21/64 |
| 代理公司: | 深圳市君勝知識產權代理事務所(普通合伙) 44268 | 代理人: | 陳專 |
| 地址: | 100000 北京市海淀區東北旺西路8*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 canary 安全 保護 檢測 方法 終端 存儲 介質 | ||
本發明公開了基于CANARY安全保護的檢測方法、終端及存儲介質,所述方法包括:獲取程序的ELF文件,通過分析ELF文件的第一命令查看所述ELF文件的ELF符號表信息;判斷所述ELF符號表信息中是否存在預設符號,如是則表示所述程序已開啟CANARY安全保護。本發明通過判斷程序是否開啟CANARY安全保護,在程序未開啟CANARY安全保護時提醒用戶開啟CANARY安全保護,如果程序開啟了CANARY安全保護的話,每次函數推出之前,都會檢測棧CANARY是否被覆蓋,如果被覆蓋了說明程序受到攻擊,可以直接退出程序,避免程序被黑客攻擊。
技術領域
本發明涉及計算機安全技術領域,尤其涉及一種基于CANARY安全保護的檢測方法、終端及存儲介質。
背景技術
緩沖區溢出就是超長的數據向小緩沖區復制,導致數據超出了小緩沖區,導致緩沖區其他的數據遭到破壞,這就是緩沖區溢出,而棧溢出是緩沖區溢出的一種,棧溢出是由于C語言系列沒有內置檢查機制來確保復制到緩沖區的數據不得大于緩沖區的大小,因此當這個數據足夠大的時候,將會溢出緩沖區的范圍。
棧溢出保護是一種緩沖區溢出攻擊緩解手段,當函數存在緩沖區溢出攻擊漏洞時,攻擊者可以覆蓋棧上的返回地址來讓shellcode(shellcode是一段用于利用軟件漏洞而執行的代碼,shellcode為16進制的機器碼,因為經常讓攻擊者獲得shell而得名,shellcode常常使用機器語言編寫,可在暫存器eip溢出后,塞入一段可讓CPU執行的shellcode機器碼,讓電腦可以執行攻擊者的任意指令)能夠得到執行。當啟用棧保護后,函數開始執行的時候會先往棧里插入cookie(儲存在用戶本地終端上的數據)信息,當函數真正返回的時候會驗證cookie信息是否合法,如果不合法就停止程序運行。攻擊者在覆蓋返回地址的時候往往也會將cookie信息給覆蓋掉,導致棧保護檢查失敗而阻止shellcode的執行。在Linux中將cookie信息稱為CANARY。
如果程序沒有開啟CANARY安全保護的話,每次函數推出之前,棧CANARY無法被覆蓋,那么就無法避免黑客攻擊。
因此,現有技術還有待于改進和發展。
發明內容
本發明的主要目的在于提供一種基于CANARY安全保護的檢測方法、終端及存儲介質,旨在解決現有技術中未開啟CANARY安全保護時無法避免黑客攻擊的問題。
為實現上述目的,本發明提供一種基于CANARY安全保護的檢測方法,所述基于CANARY安全保護的檢測方法包括如下步驟:
獲取程序的ELF文件,通過分析ELF文件的第一命令查看所述ELF文件的ELF符號表信息;
判斷所述ELF符號表信息中是否存在預設符號,如是則表示所述程序已開啟CANARY安全保護。
所述的基于CANARY安全保護的檢測方法,其中,所述判斷所述ELF符號表信息中是否存在預設符號,之后還包括:
如果判斷出所述ELF符號表信息中不存在所述預設符號,則表示所述程序未開啟CANARY安全保護。
所述的基于CANARY安全保護的檢測方法,其中,所述基于CANARY安全保護的檢測方法還包括:
如果所述程序未開啟CANARY安全保護,則提示用戶開啟CANARY安全保護。
所述的基于CANARY安全保護的檢測方法,其中,所述第一命令為readelf–s。
所述的基于CANARY安全保護的檢測方法,其中,所述預設符號為:__stack_chk_fail符號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智游網安科技有限公司,未經北京智游網安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011168472.X/2.html,轉載請聲明來源鉆瓜專利網。





