ITPub博客

首页 > IT基础架构 > 网络安全 > 代码缺陷解读——不受控制的资源消耗及表达式永假永真

代码缺陷解读——不受控制的资源消耗及表达式永假永真

原创 网络安全 作者:zktq2021 时间:2021-08-30 10:51:10 0 删除 编辑

什么是不受控制的资源消耗缺陷漏洞?它又能带来哪些严重后果?让我们一起往下看。

不受控制的资源消耗缺陷漏洞

一、什么是不受控制的资源消耗缺陷?

软件无法正确控制有限资源的分配和维护,从而使参与者无法影响所消耗的资源量,最终导致可用资源的耗尽。有限的资源包括内存,文件系统存储,数据库连接池条目和CPU。

如果攻击者可以触发这些有限资源的分配,但是资源的数量或大小不受控制,则攻击者可能会导致拒绝服务,从而消耗所有可用资源。这将阻止有效用户访问该软件,并且可能对周围环境产生影响。

例如,循环内字符串拼接是不受控制的资源消耗缺陷中的一个子类。

二、不受控制的资源消耗缺陷的构成条件有哪些?

1、缺少分配资源数量的限制;

2、在到达关闭阶段之前,将丢失对资源的所有引用;

3、处理后不关闭/返回资源。

三、不受控制的资源消耗缺陷会造成哪些后果?

资源耗尽的最常见结果是拒绝服务。该软件可能会变慢,由于未处理的错误而崩溃或将合法用户锁定。在某些情况下,有可能在资源耗尽的情况下强制软件“无法打开”。然后,软件的状态(可能还有安全功能)可能会受到威胁。

四、不受控制的资源消耗缺陷的防范和修补方法有哪些?

将节流机制设计到系统体系结构中。最好的保护措施是限制未经授权的用户可能导致消耗的资源量。强大的身份验证和访问控制模型将首先帮助防止此类攻击的发生。应尽可能保护登录应用程序免受DoS攻击。限制数据库访问(可能通过缓存结果集)可以帮助最大程度地减少消耗的资源。为了进一步限制发生DoS攻击的可能性,请考虑跟踪从用户收到的请求的速率,并阻止超出定义的速率阈值的请求。

五、不受控制的资源消耗缺陷样例:

 

用 Wukong软件检测上述程序代码,则可以发现代码中存在着“不受控制的资源消耗” 导致的代码缺陷,如下图:

 

不受控制的资源消耗缺陷在CWE中被编号为CWE-400:Uncontrolled Resource Consumption

表达式永假/永真缺陷缺陷漏洞

一、什么是表达式永假/永真缺陷?

如果布尔表达式不改变程序逻辑,则完全没有必要,并且可以将其删除。如果执行逻辑与程序员的意图不匹配,这就是一个错误,布尔表达式应该被修复。

二、表达式永假/永真缺陷的构成条件有哪些?

该软件包含一个始终为假或为真的表达式。

三、表达式永假/永真缺陷的构成会造成哪些后果?

无效代码可能会在代码维护期间引起问题,并可能引入漏洞。

四、表达式永假/永真缺陷的防范和修补方法有哪些?

布尔表达式应该有改变其值的操作。

使用静态分析工具发现这种情况。

五、表达式永假/永真缺陷样例:

 

用Wukong软件检测 上述程序代码,则可以发现代码中存在着“表达式永假/永真” 导致的代码缺陷,如下图:

 

表达式永假/永真缺陷在CWE中被编号为CWE-570:Expression is Always False


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000012/viewspace-2789390/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
中科天齐软件源代码安全缺陷检测平台(WuKong)是一款B/S 架构的国产信创静态软件安全测试工具,为客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞与逻辑漏洞,帮助用户提升抵御网络攻击、防止数据泄露等安全问题的能力。

注册时间:2021-05-14

  • 博文量
    533
  • 访问量
    358772