国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

深入考察解釋型語言背后隱藏的攻擊面,Part 1(上)

安全 應用安全
在本文中,我們將與讀者一起深入考察解釋型語言背后隱藏的攻擊面。

在本文中,我們將與讀者一起深入考察解釋型語言背后隱藏的攻擊面。

[[356901]]

簡介

攻擊面就像一層蛋糕。我們通常將軟件攻擊面定義為任何對攻擊者控制的輸入做出反應或受其影響的東西。在開發高級解釋型語言應用程序時,很容易做出這樣的假設:語言本身的運行時系統或代碼庫中的底層代碼是可靠的。

經驗證明,這種假設是錯誤的。

通常情況下,在高級語言的內存管理功能的實現代碼中,往往存在著相對脆弱的基于C/C++的攻擊面。這種問題可能存在于語言本身的核心實現中,也可能存在于將向高級語言提供基于C/C++的庫的第三方語言生態系統中。

這些第三方庫通常是通過顯式外部函數接口(FFI)或其他形式的API轉換包裝器來提供其功能的,因為這些API轉換包裝器便于從較低級別代碼中使用較高層的對象,或反之。它們通常被稱為本機模塊、擴展或FFI首字母縮寫的某種形式,這樣的攻擊面的特點在于,在高級應用程序的安全上下文中,將與C/C++代碼相關的各種內存管理漏洞都暴露給了攻擊者。

在本系列文章中,我們將探討在高級語言應用程序上下文中有時被忽略的C/C++攻擊面的例子,其中,有些示例是很久之前的,有些是當前發現的。在第一部分中,我們將為解釋語言的低級別攻擊面提供相應的背景知識,并展示一些跨語言的安全漏洞。在以后的文章中,我們將介紹針對現代解釋語言生態系統的新型攻擊技術,以及哪些特征傾向于使這些表面上看是輕微的編程錯誤成為實際可利用的安全漏洞。

本系列文章主要面向希望在如何、為何以及在何處將攻擊面暴露給潛在的惡意輸入等方面做出明智決定的開發人員,因此,我們將在需要時對軟件漏洞的利用理論給出相應的解釋。

為了便于討論,我們對軟件漏洞利用的定義大致如下:利用輸入內容的影響,將目標進程從其預期的狀態空間轉移到非預期的狀態空間的過程。

擺放餐具

在判斷某個代碼問題“只是”一個軟件bug,還是一個安全漏洞時,完全取決于相應的上下文。一個bug被判定為安全漏洞,應滿足下列條件:它們應以某種狀態、方式或形式幫助攻擊者發動進攻。這本身是高度依賴于上下文的,尤其是在處理核心語言問題時。受影響的API如何以及在何處暴露于攻擊者的輸入,決定了是否可以將其視為安全漏洞。

在解釋型語言的上下文中,存在兩種主要的攻擊方案。在第一種情況下,攻擊者可以在目標解釋器上運行其自己的程序,通常,他們的目標是破壞解釋器本身的安全措施,以誘使托管解釋器的進程跨越某種安全邊界。

這樣的示例包括Web瀏覽器使用的Javascript解釋器中的安全漏洞。這個主題的變體包括以下場景:攻擊者已在攻擊的第一階段獲得了運行任意解釋型代碼的能力,但解釋器本身實施了某種限制(例如:由于存在嚴格的PHP配置,使其無法使用命令執行功能),從而限制了他們進一步開展攻擊的能力。

當攻擊者對目標解釋器擁有完全訪問權限時,通常會在核心解釋器的實現中查找漏洞。例如,在各種Javascript解釋器中存在內存管理漏洞,通常能演化成Web瀏覽器中可利用的客戶端漏洞。由于攻擊者完全控制了解釋器的狀態,因此,從攻擊者的角度來看,解釋器本身的任何bug都可能是非常有用的。

在第二種情況下,攻擊者可以利用解釋型語言實現中的某些邏輯,向其提供輸入,但無法直接與解釋器進行交互。在這些情形中,攻擊者的攻擊范圍受到他們實際可以直接或間接向其傳遞數據的API的限制。

當攻擊者只能控制用高級語言實現的目標進程的輸入時,他們就只能影響接收這些輸入的邏輯,從而限制了他們的選擇余地。在這些情況下,通過深入挖掘找出處理輸入的底層攻擊面,可以發現從較高級別邏輯角度看不到的漏洞。

從攻擊者的角度來看,我們的主要目標是增加攻擊面的深度。不要橫著挖,而是往下挖!

剝開糖衣

關于解釋型語言可以在較低級別進行利用的漏洞,已經由來已久。在本文中,我們不會完整的介紹這些漏洞的歷史,但是,我們將深入研究一些有趣的例子——它們為我們展示了高級編程語言的bug是如何轉化為底層編程語言的安全漏洞的——希望這些“老洞”能夠激發讀者新的靈感。

歷史上的示例:當Perl格式化出錯時

2005年的Perl代碼中存在的格式字符串漏洞是一個有趣的案例。為了充分理解這個安全問題,我們首先要快速回顧一下C程序中格式字符串漏洞利用方面的基礎知識。

C格式字符串漏洞簡介

雖然許多人認為格式字符串錯誤由于易于檢測而在很大程度上已被根除,但它們仍然不時出現在意想不到的地方。

從解釋型語言與低級代碼交互的上下文中考慮格式字符串錯誤也很有趣,因為它們可能會在較高級別上預處理攻擊者控制下的格式字符串,然后直接傳遞給較低級別的格式化函數。這種延遲型格式化問題并不少見,尤其是當格式串的源和所述格式串的目的地之間存在強烈的邏輯分離時,特別容易出現這種問題。

簡單地說,格式字符串錯誤是一類錯誤,其中攻擊者將自己的格式字符串數據提供到格式化函數中,例如printf(attacker_controll)。然后,他們可以濫用對受控格式說明符的處理,以實現對目標進程空間的讀寫原語。

對此類漏洞的實際攻擊主要依賴于濫用%n和%hn類格式說明符的能力。這些格式符會命令格式化函數將打印字符的當前運行計數分別寫入整型(%n)或短整型(%hn)變量中,例如printf(“abcd%n”,&count)將通過指針參數將值4寫入整型變量count中。

同樣,在格式化函數的輸出對攻擊者可見的情況下,攻擊者只需提供期望打印變量值(例如printf("%x%x%x%x"))的格式標識符,即可轉儲內存內容。當將預期的目標指針值與其%n個對應值對齊時,這種“吃掉”堆棧的能力也變得非常重要。

如果攻擊者能夠向格式化函數的調用堆棧提供受控數據(通常是通過惡意格式字符串本身來實現的),并禁用所有編譯器緩解措施,則攻擊者可以將對寫入字符計數器的控制與對%n/%hn將寫入的指針值的控制相結合,這樣的話,他們就可以將自己控制的值寫入指定的內存位置了。

通過使用諸如在格式說明符上設置精度/寬度等技巧,將寫入字符計數器設置為特定值,并在支持的情況下設置直接參數訪問索引,即使是少量的格式的字符串輸入也能轉化為攻擊者強大的攻擊原語。

C語言格式化函數中的直接參數訪問(DPA)特性,允許我們指定用于格式標識符的參數的索引。例如printf("%2$s %1$s\n", "first", "second") 將打印“ second first”,因為第一個字符串格式標識符指定了參數 2 (2$) ,第二個字符串格式標識符指定了參數1(1$)。同樣,從攻擊者的角度來看,使用DPA可使您直接偏移到存放給定%n/%hn寫入所需的目標指針值的堆棧位置。理解DPA的用途對于回顧歷史上的Perl示例非常重要。

小結

通常情況下,在高級語言的內存管理功能的實現代碼中,往往存在著相對脆弱的基于C/C++的攻擊面。這種問題可能存在于語言本身的核心實現中,也可能存在于將向高級語言提供基于C/C++的庫的第三方語言生態系統中。本文中,我們為讀者介紹了與此緊密相關的C格式字符串漏洞方面的知識,在下一篇文章中,我們將為讀者介紹這些底層實現是如何影響解釋型語言的安全性的。

 

責任編輯:趙寧寧 來源: 嘶吼網
相關推薦

2020-12-15 13:24:41

攻擊面語言安全漏洞

2020-12-30 10:26:47

攻擊面語言安全漏洞

2021-01-03 10:44:45

攻擊面語言安全漏洞

2021-01-07 09:19:00

攻擊面語言安全漏洞

2021-01-05 09:51:18

攻擊面語言安全漏洞

2022-04-27 05:36:51

攻擊面網絡攻擊網絡安全

2020-06-02 09:50:40

信息安全數據技術

2021-01-21 21:07:03

信息安全漏洞治理

2021-07-09 09:09:47

ASM攻擊面管理安全觀察

2022-02-14 17:13:46

攻擊面管理網絡安全

2022-06-16 10:02:39

EASM攻擊面管理

2022-07-29 12:42:35

攻擊面管理

2018-11-03 05:00:29

微隔離網絡攻擊漏洞

2020-08-31 10:54:05

勒索軟件漏洞網絡安全

2021-11-29 18:13:31

攻擊面漏洞網絡攻擊

2021-06-30 10:10:01

企業攻擊漏洞網絡安全

2018-11-19 22:59:31

2023-08-24 12:13:40

2014-03-19 10:25:14

2022-06-16 15:29:16

攻擊面管理ASM
點贊
收藏

51CTO技術棧公眾號

成人综合网网址| 成人午夜激情影院| 在线观看视频污| 欧美另类在线观看| 久久最新视频| 中文在线网在线中文| 亚洲欧洲高清在线| 国产一区二区三区日韩精品 | 成人影院在线| 久久精品日韩| 亚洲免费观看在线观看| 碰碰在线视频| 92国产精品久久久久首页| 26uuu欧美日本| а√在线中文在线新版| 国产精品黄色av| 99精品热视频| 日韩少妇视频| 国产成+人+综合+亚洲欧美丁香花| 日本伊人色综合网| 国产高清一级毛片在线不卡| 夜夜嗨av色一区二区不卡| 亚洲韩日在线| 成人三级av| 日韩成人黄色av| 成人羞羞网站入口| 亚洲色成人www永久在线观看| 欧美精品日韩| 91免费版网站入口| 欧美三级不卡| 亚洲国产婷婷香蕉久久久久久99| 久久福利视频一区二区| 欧美日韩中文不卡| 亚洲成人av福利| 99视频免费在线观看| 欧美日韩另类一区| 成人黄色av网址| 亚洲免费不卡| 欧美日韩一区二区三区视频| 欧美成人高潮一二区在线看| 91美女在线视频| 午夜在线小视频| 91精品国产91久久久久久最新| 久久天堂成人| 亚洲1024| 欧美激情亚洲精品| 久久成人羞羞网站| 男女污视频在线观看| 久久久久久久国产精品| 免费在线观看视频一区| 一二三在线视频社区| 欧美床上激情在线观看| 麻豆精品蜜桃视频网站| 色老板在线观看| 欧美丰满嫩嫩电影| 欧美综合社区国产| 国产精品久久久久999| 七七婷婷婷婷精品国产| 隔壁人妻偷人bd中字| 欧美中文字幕不卡| 婷婷精品在线| 欧美高清中文字幕| 欧美视频在线一区| 日韩一区电影| 一起操在线观看| 777777777亚洲妇女| 欧美日韩免费看| 99久久久久久99| 亚洲福利久久| 国产精品一在线观看| 日韩毛片在线| 三区四区在线视频| 日本一区二区久久精品| 亚洲大片免费看| 日韩成人a**站| 日韩视频在线视频| 亚洲国产毛片完整版| 床上的激情91.| 黑人精品一区| 91传媒视频在线观看| 久久精品国产亚洲高清剧情介绍| 日本wwww视频| 亚洲一区欧美一区| 日韩av一级| 国产中文字幕免费观看| 国产免费一区视频观看免费| 精品国产乱码久久| 亚洲欧美激情在线| 精品中文字幕一区二区小辣椒| 精品亚洲自拍| 国产中文在线视频| 老太脱裤让老头玩ⅹxxxx| 国产精品丝袜久久久久久不卡| 亚洲成人a级网| 亚洲成人动漫av| 99久久99久久精品免费观看 | av网站大全在线观看| www.午夜色| 91精品国产综合久久香蕉922| 亚洲国产又黄又爽女人高潮的| 亚洲综合激情小说| 国产精品白丝jk黑袜喷水| 蜜臀久久99精品久久一区二区| 最新日本在线观看| 国产精品精华液网站| 欧美日本韩国国产| 日韩在线国产精品| 亚洲色图视频网| 性欧美videos另类喷潮| 涩涩视频在线免费看| 国产精品久久久毛片| 91手机视频在线观看| 亚洲第一页中文字幕| 久久一日本道色综合| 成人黄色小视频| 男女在线观看视频| 激情五月俺来也| 欧美xxxx黑人又粗又长精品| 亚洲欧美国产精品va在线观看| 国产清纯在线一区二区www| 亚洲私人影院| 周于希免费高清在线观看| 欧美精品性生活| 91嫩草视频在线观看| 亚洲人成在线免费观看| 亚洲精品亚洲人成人网| 亚洲最黄网站| 日韩一区二区三区四区五区 | 免费人成在线观看视频播放| 亚洲欧美资源在线| 午夜精品福利一区二区蜜股av| 久久99精品国产| 福利片在线一区二区| 福利片免费在线观看| 日本91av在线播放| 日韩一区二区在线播放| 国产亚洲一级| 97caopron在线视频| 欧洲精品亚洲精品| 欧美一区二区性放荡片| 久久99精品久久久久久| 色呦呦呦在线观看| 亚洲精品天堂成人片av在线播放 | 成黄免费在线| 看全色黄大色大片| 国产mv久久久| 在线播放国产精品| 欧美性大战久久久久久久蜜臀| 青青草原综合久久大伊人精品优势| 久久亚洲资源| 看av免费毛片手机播放| 国产福利久久| 中文字幕亚洲欧美日韩在线不卡 | 国产精品一区二区三区四区五区| 欧美日韩三级一区二区| 亚洲欧美伊人| 精品999日本久久久影院| 黄色成年人视频在线观看| 日本xxxxwwww| 嫩草影院中文字幕| 国产精品免费一区二区三区四区 | 欧美激情三区| 国产特黄在线| 国产鲁鲁视频在线观看特色| 成人女同在线观看| 欧美色片在线观看| 日本欧美韩国国产| 亚洲美女少妇无套啪啪呻吟| 日韩av在线免费观看不卡| 国精品一区二区| 日本免费一区二区三区四区| 簧片在线免费看| 欧美精品尤物在线| 久久亚洲精品成人| 色狠狠一区二区三区香蕉| 久久久综合视频| 久久久99久久精品欧美| 欧美国产一区二区在线观看 | 亚洲黄色在线视频| 亚洲天堂a在线| 一区二区三区不卡视频| 亚洲成人动漫一区| 欧美日韩中文另类| 日韩免费性生活视频播放| 亚洲成人黄色在线观看| 亚洲人成电影网站色…| 久久国产精品久久精品| 日韩美女主播视频| 国产亚洲精品久久飘花| 鲁丝一区二区三区免费| www.av片| 色综合小说天天综合网| 日本视频一二三区中文字幕| 欧美69xxxxx| 国产白浆在线免费观看| 亚洲啊v在线免费视频| 国内精品久久久久久99蜜桃| 亚洲一区二区三区高清| 国产资源在线一区| 久久亚洲一级片|