国产成人毛片毛片久久网_国产午夜激无码av毛片不_国产乱对白精彩在线播放_av资源站中文字幕_亚洲男人的天堂网站_国产成 人 综合 亚洲网_中国国产激情一区_少妇一级淫片免费放_亚洲一本大道av久在线播放_免费观看美女裸体网站

安全播報(bào)

防御吧作為15年知名老牌域名服務(wù)商,CNNIC和CANN雙認(rèn)證域名注冊(cè)商,已經(jīng)
持續(xù)為500多萬(wàn)個(gè)域名提供服務(wù),包括智能DNS/自由轉(zhuǎn)移/隱私保護(hù)等服務(wù)!
assertion漏洞會(huì)造成哪些后果?
2021-09-30 13:16:12 【

本文主要為了助力企業(yè)有效防范軟件安全漏洞,提升網(wǎng)絡(luò)安全防護(hù)能力,本期主題為第五十期:可達(dá)的assertion的相關(guān)介紹。

01 什么是可達(dá)的assertion?

程序包含一個(gè)可以被攻擊者觸發(fā)的assert()或類(lèi)似語(yǔ)句,這將導(dǎo)致應(yīng)用程序退出或其他不必要的嚴(yán)重行為。

assertion(斷言)在軟件開(kāi)發(fā)中是一種常用的調(diào)試方式,很多開(kāi)發(fā)語(yǔ)言中都支持這種機(jī)制。在實(shí)現(xiàn)中,assertion可作為程序中的一條語(yǔ)句,對(duì)一個(gè)boolean表達(dá)式進(jìn)行檢查,一個(gè)正確程序必須保證這個(gè)boolean表達(dá)式的值為true;如果該值為false,說(shuō)明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。

一般來(lái)說(shuō),assertion用于保證程序最基本、關(guān)鍵的正確性。assertion檢查通常在開(kāi)發(fā)和測(cè)試時(shí)開(kāi)啟,為了提高性能,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的。在語(yǔ)法上,為了支持assertion,Java增加了一個(gè)關(guān)鍵字assert。

02 可達(dá)的assertion漏洞的構(gòu)成條件有哪些?

當(dāng)斷言用于公共方法中的參數(shù)檢查時(shí),就可能會(huì)出現(xiàn)“可達(dá)的assertion”安全漏洞。

03 可達(dá)的assertion漏洞會(huì)造成哪些后果?

當(dāng)斷言禁用時(shí),參數(shù)的驗(yàn)證將失效,可能導(dǎo)致非預(yù)期的結(jié)果。

雖然斷言有助于捕獲邏輯錯(cuò)誤并減少出現(xiàn)更嚴(yán)重的漏洞的機(jī)會(huì),但它仍然可能導(dǎo)致拒絕服務(wù)。例如,如果一個(gè)服務(wù)器處理多個(gè)并發(fā)連接,并且在一個(gè)連接中出現(xiàn)assert(),導(dǎo)致所有其他連接被丟棄,這是一個(gè)可到達(dá)的斷言,將導(dǎo)致拒絕服務(wù)。

04 可達(dá)的assertion漏洞的防范和修補(bǔ)方法有哪些?

斷言不應(yīng)該用于公共方法中的參數(shù)檢查。參數(shù)檢查通常是方法的一部分,無(wú)論斷言是啟用還是禁用,都必須遵守此規(guī)則。

05 可達(dá)的assertion漏洞樣例

public class case1_bad {

public static void main(String[] args) {

System.out.println(fun());

boolean flag=1>2;

assert true;

}

public static int getAbsAdd(int x, int y) {

assert x != Integer.MIN_VALUE;

assert y != Integer.MAX_VALUE;

nt absX = Math.abs(x);

int absY = Math.abs(y);

assert (absX <= Integer.MAX_VALUE - absY);

return absX + absY;

}

public static int fun() {

boolean flag = 3 > 2;

assert flag;

return 1;

}

}

使用悟空代碼安全檢測(cè)工具檢測(cè)上述程序代碼,則可以發(fā)現(xiàn)代碼中存在著“可達(dá)的assertion”的安全漏洞。

在(case1_bad.java)文件第(12、13、16)行使用斷言驗(yàn)證方法參數(shù),當(dāng)斷言被禁用時(shí),驗(yàn)證代碼不會(huì)執(zhí)行,參數(shù)檢查通常是方法的一部分,無(wú)論斷言是啟用還是禁用,都必須維護(hù)此合約。

可達(dá)的assertion在CWE中被編號(hào)為CWE-617: Reachable Assertion


】【打印關(guān)閉】 【返回頂部
分享到QQ空間
分享到: 
上一篇簡(jiǎn)評(píng)XSS攻擊和CSRF攻擊的原理與防.. 下一篇黑客利用Atlassian Confluence RC..

立足首都,輻射全球,防御吧專(zhuān)注云防御及云計(jì)算服務(wù)15年!

聯(lián)系我們

服務(wù)熱線:13051179500 18910191973
企業(yè)QQ:1245940436
技術(shù)支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解決防御與加速) 版權(quán)所有 增值許可:京B2-20140042號(hào)
售前咨詢
公司總機(jī):18910191973
24小時(shí)電話:010-56159998
投訴電話:18910191973
值班售后/技術(shù)支持
售后服務(wù)/財(cái)務(wù)
備案專(zhuān)員
緊急電話:18610088800