一、什么是通過錯誤消息導(dǎo)致的信息暴露缺陷?
軟件會生成一條錯誤消息,其中包含有關(guān)其環(huán)境,用戶或關(guān)聯(lián)數(shù)據(jù)的敏感信息。
二、通過錯誤消息導(dǎo)致的信息暴露缺陷構(gòu)成條件有哪些?
敏感信息本身可能是有價值的信息(例如密碼),或者對于發(fā)起其他更嚴(yán)重的攻擊可能很有用。該錯誤消息可能以不同的方式創(chuàng)建:
1、自生成的:源代碼顯式構(gòu)造錯誤消息并將其傳遞
2、外部生成的:外部環(huán)境(例如語言解釋器)處理錯誤并構(gòu)造自己的消息,其內(nèi)容不受程序員的直接控制。
三、通過錯誤消息導(dǎo)致的信息暴露缺陷會造成哪些后果?
通常,這可能會泄露敏感信息,也可能會被用于后續(xù)的攻擊,也可能存儲在服務(wù)器中的私人信息中。
四、通過錯誤消息導(dǎo)致的信息暴露缺陷的防范和修補(bǔ)方法有哪些?
內(nèi)部處理異常,不向用戶顯示包含潛在敏感信息的錯誤。如果必須對錯誤進(jìn)行詳細(xì)跟蹤,請在日志消息中捕獲錯誤,但是要考慮如果攻擊者可以查看日志消息,會發(fā)生什么情況。避免以任何形式記錄高度敏感的信息,如密碼。
五、通過錯誤消息導(dǎo)致的信息暴露缺陷樣例:
用悟空 軟件靜態(tài)代碼檢測分析 上述程序代碼,則可以發(fā)現(xiàn)代碼中存在著“通過錯誤消息導(dǎo)致的信息暴露” 導(dǎo)致的 代碼缺陷,如下圖:
通過錯誤消息導(dǎo)致的信息暴露缺陷在CWE中被編號為CWE-209:Generation of Error Message Containing Sensitive Information