999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

隨機化技術綜述

2017-03-09 09:26:55何紹勇尚苗星蔄羽佳
網絡安全技術與應用 2017年4期
關鍵詞:指令程序系統

◆何紹勇 李 偉 尚苗星 蔄羽佳

隨機化技術綜述

◆何紹勇 李 偉 尚苗星 蔄羽佳

隨著計算機技術的飛速發展,系統安全問題日益嚴峻。隨機化技術是應對安全威脅的一種主動防御手段,能夠有效地保護系統和程序。隨機化技術通過將系統或程序進行隨機化轉換,能夠隨機地增加系統異構特征,進而增加攻擊的代價。本文根據隨機化技術的實現原理,將目前主流的隨機化技術進行分類,并對各類方法的思路和局限做出分析,最后總結隨機化技術存在的問題,并對未來可能的發展方向給出思考。

信息系統安全;隨機化技術

0 引言

由于計算機技術的不斷發展以及互聯網的廣泛應用,計算機系統越來越復雜,面臨的安全威脅層出不窮。惡意的攻擊者能夠利用系統的同構性,在本地搭建模擬環境探測目標對象可能存在的安全隱患,針對測試的結果在真實的目標環境中實施惡意的行為。

安全人員為了增強系統的安全性,提出了多種對抗惡意攻擊的手段,可以分為主動和被動兩種類型。目前大多數安全工具如殺毒軟件等通常根據檢測目標是否存在惡意特征來判斷系統的安全性,需要安全人員根據上報與檢測情況不斷更新這些惡意特征,因此惡意特征的檢測始終滯后于惡意行為。還有一種主動防御安全保護思路,即通過增強系統或程序自身的防御能力,主動防御惡意行為,并且對未知的安全威脅有潛在的防御能力。主動防御的方法重點在于增加系統的多樣性,使得對外提供相同功能的系統具有不同的內部表現,導致攻擊者無法模擬目標機器實際的系統環境,從而極大地增加了攻擊者的時間和精力成本。此外,由于系統的多樣性,在一臺機器上攻擊成功未必能夠在另一目標上同樣成功,因此能夠有效地控制攻擊所能影響的范圍。

隨機化技術[1,2]是一種增加系統多樣性的主動防御方法。通過將目標進行隨機化的等價轉化,使系統的某些特征發生隨機的改變,但是原有功能保持不變,從而增加系統的特征,增加攻擊者分析與測試的難度,達到保護的效果。

根據隨機化的對象不同,可以分為指令隨機化、地址空間隨機化、數據隨機化、系統調用隨機化[3-6]等。目前的隨機化技術大多采用了其中一種或幾種方式,在一個或多個轉化階段對系統進行隨機化。下面介紹這幾種隨機化技術的原理與研究現狀。

1 指令隨機化

指令集隨機化[7]技術通過將程序中的指令按照一定的隨機規則隨機地變換,外部的惡意代碼解密后得到錯誤或無效的機器指令,無法按照變換后的指令集被機器識別,從而實現系統安全防御。該隨機化方法主要針對代碼注入類型的攻擊,注入型攻擊向系統或程序中注入外部的惡意代碼,這些代碼根據攻擊目標的機器所使用的指令集編寫。在未經保護的情況下,一旦控制流指向這些惡意代碼,系統則將執行惡意行為。如果系統經過指令集隨機化變換,攻擊者無法獲知該目標的指令集,注入的惡意代碼無法按照該機器的指令集正確解碼,從而無法執行惡意行為導致攻擊失敗。

文獻[8]提出一種軟件動態翻譯技術對指令表示進行隨機的加密變換。程序在輕量級虛擬機中執行,執行前將程序按照一定的大小分塊加密,并為指令分配標簽。加密的密鑰在每次加載時隨機生成并由虛擬機保管,被加密的程序無法訪問該密鑰。執行時,根據執行流程,虛擬機解密需要執行的下一條指令所在的加密塊,保證程序正常執行。被解密的代碼塊暫時以緩存的方式保存,減少大量的重復解密工作,提高執行效率。如果發現指令的標簽不匹配,可以判定其發生了指令注入。文獻[9]提出了隨機指令集仿真技術通過二進制翻譯器實現指令集轉化。程序加載時,使用隨機的密鑰對可執行代碼進行加密,在執行時,通過二進制翻譯器完成解密工作。注入的代碼經過隨機密鑰解密后轉化為不可預知的指令序列,無法執行原有的惡意行為。

指令集隨機化技術雖然能夠有效阻止代碼注入型攻擊,但是存在一定的問題。例如,對于外部注入的指令能夠有效防御,但是對如 return-to-lib類型的攻擊沒有效果。此外,指令集的隨機化與恢復需要系統的支持,程序的運行需要借助動態的二進制翻譯環境或者虛擬機,執行性能受到較大影響。

2 系統調用隨機化

指令集隨機化技術通過對程序的指令進行隨機化轉化,外部注入的惡意代碼經過解密轉化為未知的錯誤指令會導致攻擊失敗。然而如果攻擊者的跳轉目標并非外部注入的代碼,而是系統自帶的庫函數,該方法無法產生防御效果。系統調用隨機化[10,11]則是將隨機化的變化范圍擴展至系統調用相關的庫函數,對系統調用接口、庫函數入口地址進行隨機化,增加系統自身的異構性,從而增加了攻擊的難度。

系統調用隨機化能夠防御跳轉至庫函數或系統調用的代碼的攻擊,也存在一些不足。對系統調用進行隨機化需要系統的支持,實現較為復雜;且隨機化的范圍有限,容易通過暴力猜測得到真正的地址。

3 數據隨機化

數據隨機化[12-14]技術對數據對象隨機化,通過對程序中的數據對象進行隨機加密,運行時對這些數據解密,達到保護的效果。數據隨機化主要針對那些利用函數指針或者返回地址的攻擊。當程序使用到注入的數據時,使用密鑰對數據進行解密。由于注入的數據沒有經過隨機化加密,解密得到非預期的值,導致攻擊失效。

目前的數據隨機化工作主要有文獻[12-14]。PointGuard[12]是數據隨機化技術的初步實現,首先識別程序中的指針對象,使用隨機密鑰將這些指針對象保護起來。當使用指針變量時,再進行解密。如果該指針是由外部注入的,解密后得到的并不是攻擊者預期的地址,從而不會按照攻擊者的意圖執行。文獻[13,14]對PointGuard技術進一步擴展,隨機化的對象不僅僅局限于指針,程序中所有的數據都可以進行隨機化,增加了保護的范圍。文獻[13]實現的是源--源的隨機化工具。利用異或操作將程序中的數據隨機化,生成經過隨機化轉化的源碼。而文獻[14]則是在編譯的中間階段完成加密解密指令的插樁,生成經過隨機化保護的可執行程序。并對庫函數與系統調用進行了隨機化封裝。

但是數據隨機化技術也存在問題。隨機化過程需要程序源碼,沒有源碼則無法實現數據隨機化的轉化。

4 地址隨機化

地址隨機化[15]通過隨機改變內存中代碼、堆棧、系統函數等位置的布局,對抗借助控制流跳轉劫持控制流的攻擊方式,攻擊者無法定位實際的內存地址,跳轉至未知區域,導致攻擊失敗。該技術目前已經在主流的操作系統如Windows、Linux、Mac OS X、Android等實現。

Linux Pax項目團隊于2001年發布的系統率先實現了地址空間隨機化技術,通過在程序運行過程中動態地將部分偏移地址隨機化,攻擊者難以定位函數、堆棧以及內核空間的相關地址,具有較好的保護效果。

Kil等人提出地址空間布局仿真[16]。在用戶層對二進制文件進行處理,將代碼段和數據段的基址隨機化,并更細致地將代碼段和數據段內部的函數和變量的地址進行隨機化。在內核層將堆、棧的起始位置隨機化,并隨機分配堆內的獨立頁面。

地址隨機化技術也存在一定的局限性。由于系統的內存布局本身的限制,以代碼塊、堆、棧等結構為基本隨機化單元,可選的隨機化空間范圍有限,隨機的粒度較大。攻擊者通過增加猜測的范圍能夠得到真正的地址,容易通過暴力破解。此外,地址隨機化技術未對所有的段隨機化,能夠利用未隨機的段地址計算出目標段的地址從而繞過該保護機制。

5 總結與展望

軟件隨機化技術可以對內存破壞、注入攻擊等具有一定的防御效果,但是也無法保證絕對的安全性。目前的隨機化技術都存在一定的局限,整體來看,隨機化粒度不足,容易通過一些暴力手段繞過保護。而且各種方法的實現都較為復雜,大多需要詳細分析程序源碼或者二進制程序。此外,為了保證隨機化后的正確性,需要保守地進行變換,隨機化的實際效果不能達到設計者的理論預期。較為可行的保護方式是將多種隨機化方法與其他保護手段有效地結合起來,綜合地增強系統防御力。惡意攻擊者與安全人員持續對抗,此消彼長,軟件保護工作仍需要我們進一步研究與探索。

[1]Okhravi H, Rabe M A, Mayberry T J, et al. Survey of Cyber Moving Targets[J]. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166, 2013.

[2]Jajodia S, Ghosh A K, Swarup V, et al. Moving target defense: creating asymmetric uncertainty for cyber threats [M]. Springer Science & Business Media, 2011.

[3]Davi, Lucas, et al. Isomeron: Code Randomization Resilient to (Just-In-Time) Return-Oriented Programming. NDSS,2015.

[4]Zhang, Chao, et al. Practical control flow integrity and randomization for binary executables. Security and Privacy (SP), 2013 IEEE Symposium on. IEEE, 2013.

[5]Crane, Stephen, et al. Readactor: Practical code randomization resilient to memory disclosure. Security and Privacy (SP), 2015 IEEE Symposium on. IEEE, 2015.

[6]Backes, Michael, and Stefan Nürnberger. Oxymoron: Making Fine-Grained Memory Randomization Practical by Allowing Code Sharing. USENIX Security. Vol. 14. 2014.

[7]Portokalidis G, Keromytis A D. Fast and practical instruction-set randomization for commodity systems[C]//Proceedings of the 26th Annual Computer Security Applications Conference. ACM,2010.

[8]Hu W, Hiser J, Williams D, et al. Secure and Practical Defense Against Code-Injection Attacks Using Software Dynamic Translation[C]//Proceedings of the 2nd International Conference on Virtual Execution Environments. ACM, 2006. [9]Barrantes E G, Ackley D H, Forrest S, et al. Randomized Instruction Set Emulation[J]. ACM Transactions on Information and System Security (TISSEC), 2005.

[10]Liang, Zhaohui, Bin Liang, and Lupin Li. A system call randomization based method for countering code -injection attacks.International Journal of Information Technology and Computer Science (IJITCS) 1.1,2009.

[11]Jiang X, Wang H J, Xu D, et al. Randsys: Thwarting Code Injection Attacks With System Service Interface Randomization[C]//Reliable Distributed Systems, 2007. SRDS 2007. 26th IEEE International Symposium on. IEEE, 2007.

[12]Bhatkar S, Sekar R. Data space randomization[M]//Detection of Intrusions and Malware, and Vulnerability Assessment. Berlin: Springer, 2008.

[13]Cadar C, Akritidis P, Costa M, et al. Data Randomization[R].Technical Report TR-2008-120, Microsoft Research, 2008. Cited on, 2008.

[14]Cowan, Crispin, et al. "Pointguard TM: protecting pointers from buffer overflow vulnerabilities." Proceedings of the 12th conference on USENIX Security Symposium. Vol. 12,2003.

[15]Snow, Kevin Z., et al. Just-in-time code reuse: On the effectiveness of fine-grained address space layout randomization. Security and Privacy (SP), 2013 IEEE Symposium on. IEEE, 2013.

[16]Kil, C., Jun, J., Bookholt, C., Xu, J., Ning, P, 2006. Address Space Layout Permutation (aslp): Towards Fine-Grained Randomization of Commodity Software,in:Computer Security Applications Conference, 2006. ACSAC'06. 22nd Annual, IEEE. pp. 339-348.

猜你喜歡
指令程序系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
主站蜘蛛池模板: 91久久天天躁狠狠躁夜夜| 五月婷婷导航| 国产成人一区在线播放| 成年人久久黄色网站| 99爱视频精品免视看| 亚洲一级毛片在线播放| 亚洲日韩高清无码| 在线观看免费黄色网址| 欧美视频在线播放观看免费福利资源 | 国语少妇高潮| 欧美色综合网站| 日韩欧美中文在线| 日本午夜在线视频| 久久96热在精品国产高清 | 亚洲一区二区无码视频| 麻豆国产精品一二三在线观看| 亚洲最大福利网站| 欧美午夜视频| 国产麻豆精品手机在线观看| 久久99精品久久久大学生| 91日本在线观看亚洲精品| 色色中文字幕| 国产欧美视频综合二区 | 中文字幕在线视频免费| 国产精品毛片在线直播完整版| 久久综合色播五月男人的天堂| 国内精品91| 日本午夜精品一本在线观看| 色天堂无毒不卡| 国产主播一区二区三区| 片在线无码观看| 丁香五月亚洲综合在线| 鲁鲁鲁爽爽爽在线视频观看| 亚洲爱婷婷色69堂| 日韩AV手机在线观看蜜芽| 尤物特级无码毛片免费| 五月丁香在线视频| 国产男女XX00免费观看| 国产精品人人做人人爽人人添| 亚洲人网站| 中日韩一区二区三区中文免费视频 | 国产国产人在线成免费视频狼人色| 国产高清国内精品福利| 亚洲国产精品一区二区第一页免 | 亚洲久悠悠色悠在线播放| 亚洲成人在线免费观看| 亚洲人成网7777777国产| 91综合色区亚洲熟妇p| 久久这里只精品热免费99| 亚洲日韩国产精品综合在线观看| 米奇精品一区二区三区| 国产成人一区在线播放| 亚洲码一区二区三区| 亚洲成a人片在线观看88| 亚洲国产中文欧美在线人成大黄瓜| 欧美日韩导航| 国产簧片免费在线播放| 精品91在线| 88av在线播放| 国产精品久久久久久久久久久久| 国内嫩模私拍精品视频| 就去色综合| 日韩一区精品视频一区二区| 国产日韩欧美在线视频免费观看| 999精品视频在线| 毛片网站在线看| 欧美在线观看不卡| 国产地址二永久伊甸园| 婷婷激情亚洲| 国产综合网站| 国产精品美女网站| 国产精品蜜臀| 亚洲午夜福利精品无码| 国产精品视频3p| 国产人人干| 美女一区二区在线观看| 国产成熟女人性满足视频| 国产自无码视频在线观看| 国产aⅴ无码专区亚洲av综合网| AV在线天堂进入| 亚洲黄色片免费看| 亚洲午夜国产精品无卡|