?在本文中,我們將列出十大最常見的汽車及嵌入式網(wǎng)絡(luò)安全漏洞?
漏洞10:數(shù)字錯(cuò)誤 Numeric Errors
數(shù)字錯(cuò)誤可以指幾類不同的問題,包括:
包圍錯(cuò)誤。
數(shù)組索引的不正確驗(yàn)證。
整數(shù)溢出。
字節(jié)排序不正確。
數(shù)字類型之間的轉(zhuǎn)換不正確。
數(shù)字錯(cuò)誤占所有漏洞的3%。
不正確的計(jì)算。
數(shù)字錯(cuò)誤漏洞的一個(gè)常見位置是在數(shù)學(xué)計(jì)算。另外,如果數(shù)據(jù)從一個(gè)溢出,它就會(huì)受到這種漏洞的影響。
漏洞9:密碼學(xué)問題Cryptographic Issues
與密碼學(xué)的使用有關(guān)的弱點(diǎn),經(jīng)常讓許多開發(fā)者感到困惑。實(shí)踐中有很多動(dòng)作可以導(dǎo)致密碼學(xué)問題,包括:
敏感數(shù)據(jù)的加密缺失。
密鑰管理錯(cuò)誤。
缺少所需的加密步驟。
加密強(qiáng)度不足。
使用不安全或有風(fēng)險(xiǎn)的加密算法。
使用可逆的單向散列。
未正確使用隨機(jī)初始化。
不適當(dāng)?shù)厥褂肦SA算法。
漏洞8:代碼注入Code Injection
任何人都可以向移動(dòng)應(yīng)用程序發(fā)送不受信任的數(shù)據(jù),包括外部用戶、內(nèi)部用戶、應(yīng)用程序本身或移動(dòng)設(shè)備上的其他惡意應(yīng)用程序。
攻擊者加載簡(jiǎn)單的基于文本的攻擊,這些攻擊利用移動(dòng)應(yīng)用程序中目標(biāo)解釋器的語(yǔ)法。
而幾乎任何數(shù)據(jù)源都可以是注入向量。 作為社區(qū)中的一個(gè)常見漏洞。
盡管這個(gè)漏洞主要出現(xiàn)在網(wǎng)站開發(fā)中,但當(dāng)涉及到汽車的信息娛樂系統(tǒng)和其他復(fù)雜的嵌入式系統(tǒng)時(shí),它仍然經(jīng)常存在。
漏洞7:代碼Code
將代碼作為自己的漏洞可能看起來很奇怪,但我們談?wù)摰氖侨魏尾粚儆谔囟悇e的東西——所以認(rèn)為這是一個(gè)包羅萬(wàn)象的漏洞。形如:
密碼管理不善、存儲(chǔ)明文密碼、硬編碼密碼。
API 合同處理不當(dāng)。
錯(cuò)誤處理不當(dāng)或缺失。
不恰當(dāng)?shù)靥幚頃r(shí)間和狀態(tài)。
代碼錯(cuò)誤占所有漏洞的 4.4%。
代碼生成問題。
重要的是,開發(fā)人員不要自己進(jìn)行加密——這顯然不值得。,因?yàn)槟嫦蚬こ谭浅H菀?,?dāng)它的表現(xiàn)不如預(yù)期時(shí),這也將讓許多工程師感到沮喪和尷尬。
漏洞6:資源管理Resource Management Errors
錯(cuò)誤資源管理錯(cuò)誤包括許多事情,如:
系統(tǒng)資源管理不當(dāng)。
不受控制的資源消耗。
將私人資源轉(zhuǎn)移到新領(lǐng)域。
資源釋放或關(guān)閉不當(dāng)。
非對(duì)稱資源消耗。
資源鎖定。
雙重免費(fèi),免費(fèi)后使用。
資源池不足。
沒有非堆內(nèi)存。
盡管這些問題在 C 和 C++ 等語(yǔ)言中更為常見,但牢記它們始終很重要。
用Python和Java編碼的人常常認(rèn)為他們對(duì)資源管理錯(cuò)誤是免疫的,但事實(shí)并非如此。
在這些語(yǔ)言中,很容易在不知不覺中達(dá)到內(nèi)存耗盡的地步,而沒有意識(shí)到它正在發(fā)生。
漏洞5:不當(dāng)?shù)脑L問控制 Improper Access Control
不當(dāng)?shù)脑L問控制是指軟件不限制或錯(cuò)誤地限制未授權(quán)的參與者對(duì)資源的訪問。包括:
權(quán)限管理不當(dāng)。
所有權(quán)管理不當(dāng)。
授權(quán)不當(dāng)。
不正確的用戶管理。
不正確的身份驗(yàn)證。
來源驗(yàn)證錯(cuò)誤。
對(duì)預(yù)期端點(diǎn)的通信通道限制不當(dāng)。
漏洞 4:輸入驗(yàn)證不當(dāng)Improper Input Validation
不正確的輸入驗(yàn)證包括從可能影響程序控制流或數(shù)據(jù)流的任何內(nèi)容中獲取不正確或缺失的信息。
包括以下內(nèi)容:
不正確的路徑名限制。
不正確的路徑名等效解析。
配置設(shè)置的外部控制。
不適當(dāng)?shù)闹泻停钭⑷?、SQL 注入、跨站點(diǎn)腳本等)。
缺少 XML 驗(yàn)證。
不正確的日志無效化。
對(duì)內(nèi)存緩沖區(qū)邊界的限制不當(dāng)。
不正確的數(shù)組索引驗(yàn)證。
復(fù)制到緩沖區(qū)而不檢查大小。
不正確的空終止。
通常來說,開發(fā)人員從外部世界獲取信息的任何地方都可能包含在此漏洞中。
漏洞3:信息泄露Information Exposure
信息泄露是指有意或無意地將信息透露給未經(jīng)明確授權(quán)的行為者。這種信息暴露往往是通過以下方式發(fā)生的。如:
發(fā)送的數(shù)據(jù)。
數(shù)據(jù)查詢。
差異性。
錯(cuò)誤信息。
調(diào)試信息。
進(jìn)程環(huán)境。
緩存。
索引私人數(shù)據(jù)。
開發(fā)人員往往會(huì)忘記通過錯(cuò)誤消息和調(diào)試消息以及任何可能會(huì)進(jìn)入日志文件的信息而泄露信息。
出于這個(gè)原因,開發(fā)人員需要注意日志文件中的所有內(nèi)容,并確信那里沒有任何可能對(duì)攻擊者有價(jià)值的信息。
漏洞2:訪問控制Access Control
訪問控制是與管理權(quán)限、特權(quán)或其他安全功能有關(guān)的任何弱點(diǎn)。包括:
沙盒問題(chroot環(huán)境)。
權(quán)限問題(不適當(dāng)?shù)睦^承,允許的默認(rèn)值,顛覆權(quán)限的符號(hào)鏈接。不當(dāng)?shù)臋?quán)限保存,等等)。
不當(dāng)?shù)乃袡?quán)管理。
不當(dāng)?shù)脑L問控制
漏洞1:內(nèi)存緩沖區(qū)問題Memory Buffer Problems
當(dāng)軟件可以讀取或?qū)懭雰?nèi)存緩沖區(qū)邊界之外的位置時(shí),就會(huì)出現(xiàn)內(nèi)存緩沖區(qū)問題。包括:
在復(fù)制時(shí)不檢查輸入的大小。
允許寫到任意位置的錯(cuò)誤。
結(jié)語(yǔ):如何在黑客虎視眈眈中保持安全
通過持續(xù)關(guān)注上述 Top10 漏洞,可以確保代碼保持相對(duì)安全。當(dāng)然,及時(shí)發(fā)現(xiàn)了解資產(chǎn)的漏洞并加載補(bǔ)丁也是至關(guān)重要的——因?yàn)樾碌膯栴}不斷會(huì)被發(fā)現(xiàn)。
審核編輯:劉清
-
嵌入式
+關(guān)注
關(guān)注
5046文章
18832瀏覽量
298774 -
JAVA
+關(guān)注
關(guān)注
19文章
2944瀏覽量
104118 -
RSA算法
+關(guān)注
關(guān)注
0文章
14瀏覽量
7785
原文標(biāo)題:常見的汽車及嵌入式安全漏洞
文章出處:【微信號(hào):阿寶1990,微信公眾號(hào):阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論