悟空云课堂丨代码安全第三十九期:违反信任边界的代码漏洞缺陷
中科天齐倾情打造《悟空云课堂》旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。本期主题为违反信任边界缺陷漏洞的相关介绍。
一、什么是违反信任边界?
违反信任边界漏洞是指数据从不受信任的一边移到受信任的一边却未经验证。
二、违反信任边界漏洞的构成条件有哪些?
当程序模糊了受信任和不受信任之间的界限时,就会发生信任边界冲突。
三、违反信任边界漏洞会造成哪些后果?
违反信任边界漏洞会导致未经验证的数据被攻击者利用。信任边界可以被认为是画在程序中的一条线,线的一侧是不受信任数据,另一侧的数据是可以被信任的。
一个受信任的边界可以被认为是由系统划出的边境,例如session(包括HttpSession和HttpServletContext容器)、attribute、application、数据库、文件等在服务端存储边界都认为是受信任的。
反之来自HTTP的post或者get方式取得参数值是不受信任的。凡是将非受信任边界的参数转入到受信任的边界内,都需要对参数值进行检查,否则则会造成信任边界违例。如果没有建立和维护良好的信任边界,开发者将不可避免地失去对数据验证的跟踪。这种混乱最终会导致一些数据在没有验证的情况下被使用。
四、违反信任边界漏洞的防范和修补方法有哪些?
在开发阶段,增加验证逻辑,让数据安全地穿过信任边界,即从不受信任的一边移到受信任的一边。
五、违反信任边界漏洞样例:
用软件代码安全漏洞检测修复系统检测上述程序代码,则可以发现代码中存在着“违反信任边界漏洞” 导致的代码缺陷,如下图:
违反信任边界漏洞在CWE中被编号为CWE-501: Trust Boundary Violation
关键词标签:悟空云课堂 边界漏洞 软件安全检测 代码漏洞修复 网络安全
评论