什么?初級(jí)程序員才刪庫(kù)跑路,高級(jí)的都在代碼投毒。。。
??事情是這樣的,最近在做開源軟件供應(yīng)鏈安全相關(guān)的項(xiàng)目,之前沒(méi)了解這方面知識(shí)的時(shí)候感覺(jué)服務(wù)器被黑,數(shù)據(jù)庫(kù)被刪,網(wǎng)站被攻,這些東西都離我們太遙遠(yuǎn)了,因?yàn)楦杏X(jué)好像都輪不到我們,直到我開始做這個(gè)項(xiàng)目,才發(fā)現(xiàn)網(wǎng)絡(luò)安全,軟件安全問(wèn)題真的是無(wú)處不在。今天我們來(lái)聊聊刪庫(kù)跑路和代碼投毒。 我們從可操作性及易發(fā)現(xiàn)性還有后果及預(yù)防策略上來(lái)探討一下。
刪庫(kù)跑路
在軟件行業(yè),“刪庫(kù)跑路”流傳已久,對(duì),就是刪完庫(kù),跑在監(jiān)獄的路上,這個(gè)對(duì)于安全來(lái)說(shuō)簡(jiǎn)直是小兒科。
可操作性
1. 權(quán)限控制
像數(shù)據(jù)這么敏感的權(quán)限會(huì)控制的比較嚴(yán)格,比如人員的權(quán)限控制及防范:
運(yùn)維人員需進(jìn)行雙因素認(rèn)證;
防火墻或其他安全設(shè)備進(jìn)行網(wǎng)絡(luò)限制,僅允許從堡壘機(jī)才可訪問(wèn)至核心資產(chǎn);
數(shù)據(jù)庫(kù)等系統(tǒng)資源賬號(hào)密碼托管在堡壘機(jī)中,堡壘機(jī)定期自動(dòng)改密,運(yùn)維人員無(wú)需知道數(shù)據(jù)庫(kù)等系統(tǒng)資源的賬號(hào)密碼;
嚴(yán)格控制后臺(tái)資源的訪問(wèn)權(quán)限,做到訪問(wèn)權(quán)限最小化原則,給不同運(yùn)維人員分配最小訪問(wèn)權(quán)限;
設(shè)置數(shù)據(jù)庫(kù)等高危操作命令的金庫(kù)模式,執(zhí)行高危命令時(shí)可觸發(fā)阻斷、二次審批等操作;
根據(jù)實(shí)際情況設(shè)置更高級(jí)別安全限制,比如登錄堡壘機(jī)時(shí)的IP地址、MAC地址限制,登錄堡壘機(jī)的時(shí)間限制等等。
看到了沒(méi),首先第一步你讓007來(lái)也不一定能搞定。就算僥幸跨過(guò)了第一步。。。然后就被警察抓走了。。。豬角卒。。
2. 數(shù)據(jù)備份
數(shù)據(jù)定期備份。
云廠商數(shù)據(jù)防護(hù)。
異地多活。
就算刪了也能快速恢復(fù)。
綜上:你能刪庫(kù)的概率基本為0了,只要地球還在數(shù)據(jù)就還在。
易發(fā)現(xiàn)性
這個(gè)不用多講,即使能刪庫(kù),有這個(gè)權(quán)限的人一根指頭都能數(shù)清,那就是你了。。
影響后果
刪庫(kù)跑路一般是只會(huì)影響自己的公司,對(duì)其他企業(yè)或者人員沒(méi)啥影響。但是對(duì)于你。。。。
相信你已經(jīng)做出了你的選擇。
代碼投毒
??代碼投毒,是指攻擊者在合法軟件的開發(fā)、傳播和升級(jí)過(guò)程中進(jìn)行劫持或篡改,從而達(dá)到非法目的的攻擊類型。鑒于當(dāng)前超過(guò)99%的商業(yè)軟件包含開源軟件,一旦具有大規(guī)模用戶基礎(chǔ)的開源軟件存在安全漏洞,勢(shì)必會(huì)影響整個(gè)軟件產(chǎn)業(yè)、甚至其他重要行業(yè)的供應(yīng)鏈安全。
最近的案例
node-ipc 包的作者 RIAEvangelist 在以反戰(zhàn)名義代碼投毒投毒
??他提交的是一段惡意攻擊代碼:如果主機(jī)的 IP 地址來(lái)自俄羅斯或白俄羅斯,該代碼將對(duì)其文件進(jìn)行攻擊,將文件全部替換成 ?。該作者是個(gè)反戰(zhàn)人士,還特意新建了一個(gè) peacenotwar 倉(cāng)庫(kù)來(lái)宣傳他的反戰(zhàn)理念。據(jù)悉,該 package 每周下載量達(dá)到了百萬(wàn)。另外,使用 Yarn 的開發(fā)者也受到了影響。
PyPI 官方倉(cāng)庫(kù)遭遇150+惡意包瘋狂投毒
??攻擊者mega707通過(guò)模仿agoric,datadog等知名軟件包進(jìn)行釣魚,當(dāng)用戶安裝攻擊者的惡意包時(shí),攻擊者可竊取用戶信息,環(huán)境地址等敏感信息上傳至指定服務(wù)器。
Fastjson官方披露高危漏洞,包括rocketmq、jeecg-boot等近15%的github開源項(xiàng)目受影響
??2022年5月23日,fastjson 官方發(fā)布安全通報(bào),fastjson <= 1.2.80 存在反序列化任意代碼執(zhí)行漏洞,在特定條件下可繞過(guò)默認(rèn)autoType關(guān)閉限制,可能會(huì)導(dǎo)致遠(yuǎn)程服務(wù)器被攻擊,風(fēng)險(xiǎn)影響較大。建議使用了 fastjson 的用戶盡快采取安全措施保障系統(tǒng)安全。
可操作性
包搶注攻擊
攻擊者通過(guò)向主流的軟件包管理員(PyPI、Node.js npm、Maven、RubyGems、Docker Hub)投放大量「相似拼寫名稱」諧音的軟件包或鏡像,仿冒正規(guī)項(xiàng)目,從而讓有惡意代碼的代碼包被安裝到開發(fā)或生產(chǎn)環(huán)境。
依賴庫(kù)注入惡意代碼
攻擊者通過(guò)自身的攻擊能力與掌握的漏洞,入侵軟件、硬件供應(yīng)商的辦公與開發(fā)環(huán)境,直接向產(chǎn)品代碼內(nèi)植入后門,在設(shè)備上預(yù)安裝的惡意軟件 (相機(jī)、USB、電話等),實(shí)現(xiàn)惡意代碼與后門的分發(fā),最終進(jìn)入被攻擊目標(biāo)的網(wǎng)絡(luò)。
預(yù)防策略
1)企業(yè)內(nèi)部維護(hù)可信軟件倉(cāng)庫(kù),盡量減少企業(yè)人員從各種未知渠道下載軟件。
2)監(jiān)測(cè)服務(wù)器和PC運(yùn)行軟件的異常操作和流量,甚至提前對(duì)軟件進(jìn)行沙盒檢測(cè),主動(dòng)發(fā)現(xiàn)潛在隱患。
3)全面梳理和維護(hù)企業(yè)在用軟硬件信息,在供應(yīng)鏈攻擊曝光時(shí)做到快速止損定損。
4)使用官方渠道下載的IDE;軟件分發(fā)及升級(jí)采用HTTPS等加密傳輸;避免內(nèi)置遠(yuǎn)程控制能力;定期自檢官網(wǎng)代碼和執(zhí)行程序是否存在惡意篡改。
對(duì)于企業(yè)級(jí)的,可以引入DevSecOps ,把安全掃描引入到DevOps流程當(dāng)中,做好預(yù)警通知的能力,第一時(shí)間發(fā)現(xiàn)并修復(fù)軟件漏洞。
最后
不管是刪庫(kù)跑路還是代碼投毒,這些都是法律的紅線,調(diào)侃歸調(diào)侃,玩笑歸玩笑,笑過(guò)以后,希望每個(gè)開發(fā)者都應(yīng)該有敬畏之心,不然就只能到包吃包住的地方摸魚了。