[發明專利]對內存代碼執行的防護方法有效
| 申請號: | 201710819138.8 | 申請日: | 2017-09-12 |
| 公開(公告)號: | CN109492393B | 公開(公告)日: | 2022-03-01 |
| 發明(設計)人: | 宋磊 | 申請(專利權)人: | 珠海市一知安全科技有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F21/60 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王學強 |
| 地址: | 519000 廣東省珠海市橫琴新*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 代碼 執行 防護 方法 | ||
本發明公開了一種對內存代碼執行的防護方法,包括如下步驟:開啟對內存相關函數的監控;所述內存相關函數為申請可執行內存和修改內存屬性的函數;當有應用程序申請可執行內存請求時,過濾具有執行權限的內存操作;對所有的可執行內存請求的內存地址、大小和申請者地址進行記錄,并對記錄的數據進行機器學習;根據機器學習得到的規則,判斷所述可執行內存請求是否是可疑惡意內存操作,如是,阻斷應用進一步操作,并上報警告;否則,按照系統正常流程處理。實施本發明的對內存代碼執行的防護方法,具有以下有益效果:能有效的識別和防護內存執行類的惡意軟件、能增強對傳統和新型惡意軟件的監測和防護能力。
技術領域
本發明涉及內存防護領域,特別涉及一種對內存代碼執行的防護方法。
背景技術
現代計算機體系結構中,將軟件二進制分為代碼和數據。其中,二進制代碼能被處理器直接識別并執行,而數據不能被處理器執行。內存代碼執行是指惡意軟件在感染計算機系統時,惡意載體首先作為數據而不是可執行的代碼被加載到內存中,通過計算機系統的某些機制,將其對應的內存屬性轉變為可執行的代碼,然后執行惡意代碼。通過對惡意數據載體進行各種變換,達到隱藏其惡意功能的目的。內存代碼執行的主要實現技術是內存加載技術:惡意軟件為實現完全控制計算機系統的目的,需要在計算機系統中執行可執行文件,為避免文件出現在磁盤中,發展出內存加載技術,即惡意代碼只在內存中存在、運行。其他形式存在時,是無法被檢測的普通數據。現有技術中不能有效識別和防護內存執行類的惡意軟件,其對惡意軟件的監測和防護能力較弱。
發明內容
本發明要解決的技術問題在于,針對現有技術的上述缺陷,提供一種能有效的識別和防護內存執行類的惡意軟件、能增強對傳統和新型惡意軟件的監測和防護能力的對內存代碼執行的防護方法。
本發明解決其技術問題所采用的技術方案是:構造一種對內存代碼執行的防護方法,包括如下步驟:
A)開啟對內存相關函數的監控;所述內存相關函數為申請可執行內存和修改內存屬性的函數;
B)當有應用程序申請可執行內存請求時,過濾具有執行權限的內存操作;
C)對所有的可執行內存請求的內存地址、大小和申請者地址進行記錄,并對記錄的數據進行機器學習;
D)根據機器學習得到的規則,判斷所述可執行內存請求是否是可疑惡意內存操作,如是,阻斷應用進一步操作,并上報警告;否則,按照系統正常流程處理。
在本發明所述的對內存代碼執行的防護方法中,還包括如下步驟:
E)開啟線程創建,并啟動對線程入口點的監控;
F)過濾新的線程啟動操作;
G)判斷線程起始地址是否在可疑內存塊,如是,執行步驟H);否則,執行步驟I);
H)進行攔截并報警;
I)判斷線程創建者是否在所述可疑內存塊,如是,返回步驟H);否則,執行步驟J);
J)對線程起始地址處的內存進行安全分析,并判斷是否安全,如是,系統按照正常流程處理;否則,返回步驟H)。
在本發明所述的對內存代碼執行的防護方法中,所述步驟D)進一步包括:
D1)獲取所述可執行內存請求時的相關元數據;所述相關元數據包括申請者地址、內存大小、所屬模塊、進程名和是否在棧中;
D2)對所述相關元數據進行機器學習,并判斷所述可執行內存請求的惡意評分是否超過預定值,如是,執行步驟D3);否則,執行步驟D4);
D3)攔截操作并上報;
D4)根據已有的規則,判斷所述可執行內存請求是否屬于惡意請求,如是,返回步驟D3);否則,進行系統正常流程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海市一知安全科技有限公司,未經珠海市一知安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710819138.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種核心函數的檢測方法及系統
- 下一篇:異常業務請求的識別方法及終端設備





