加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

五个需要关注的编码问题

发布时间:2021-04-08 14:10:25 所属栏目:外闻 来源:互联网
导读:这类错误主要由C/C++的错误使用引起,比如未初始化变量、重复释放指针、以及间接在征兆数据和非征兆数据之间进行变化等。编程错误中有一部分会被利用进行攻击,而且即使这些错误会导致程序崩溃,可能也不会在功能测试和回归测试中显现出来。然而,它们确实会



这类错误主要由C/C++的错误使用引起,比如未初始化变量、重复释放指针、以及间接在征兆数据和非征兆数据之间进行变化等。编程错误中有一部分会被利用进行攻击,而且即使这些错误会导致程序崩溃,可能也不会在功能测试和回归测试中显现出来。然而,它们确实会在部署的系统中引起严重问题。静态额分析可以识别在编程语义中存在的代码错误和歧义。

有风险的函数调用

有一些API函数被认为是有隐患,不安全的。比如C/C++中的gets()函数,就很容易产生目标地址的缓存溢出问题。其他函数调用也可能因为一些行为产生危害。这类有风险的函数调用很容易就在静态分析中通过风险函数列表的方式被识别。

密码学滥用

密码学在保障数据机密性的环境中尤为重要。但是,几乎没有开发人员在密码学层面是专家;更糟的是,滥用C语言本身库里的密码函数反而会导致安全问题,比如使用像DES和MD5那样的弱算法加密,或者用硬编码的密钥以及将盐数据进行哈希。密码学的滥用会影响机密性和完整性,不过他们也同样能被静态分析轻松识别。

污染数据

污染数据是指数据在进入系统时未被验证并去除有害内容,从而无法保证数据值是在合法范围。污染数据是对开发者最大的挑战之一,同样也会影响机密性和完整性。人工检查很难检测到数据注入问题。

如果要解决污染数据的问题,就需要对以任何形式(比如用户、设备、sockets等等)进入系统的数据都从来源到目标进行追踪。在数据被API调用、接入数据结构、或者进入任何编程逻辑前,都需要被验证。否则,就可能产生数据注入的攻击威胁。静态分析可以在工作流中进行计算,提供简明易懂的告警保住程序员规避这些危险情况。

静态分析检测漏洞

静态分析,或者说静态分析安全测试(SAST),通过检查源程序的代码来检测可能的安全问题——比如啥上述的五个代码问题。由于SAST可以被用于开发者的CI/CD工作流中,它不会减缓敏捷开发进程。实际上,因为它能在开发者编写代码的时候发现漏洞,从而减少发现问题的成本,并在应用上线前——甚至在进行测试前就进行修复,最终加速软件开发速度。因此,SAST对提升代码安全性有着关键的作用,需要成为在DevSecOps的安全左移过程中的一部分。

点评

在安全左移的过程中,代码的即时分析、测试并发现漏洞是一大重点。本文提及了SAST在DevSecOps中能解决的一些代码问题,但是SAST并不是DevSec




这类错误主要由C/C++的错误使用引起,比如未初始化变量、重复释放指针、以及间接在征兆数据和非征兆数据之间进行变化等。编程错误中有一部分会被利用进行攻击,而且即使这些错误会导致程序崩溃,可能也不会在功能测试和回归测试中显现出来。然而,它们确实会在部署的系统中引起严重问题。静态额分析可以识别在编程语义中存在的代码错误和歧义。

有风险的函数调用

有一些API函数被认为是有隐患,不安全的。比如C/C++中的gets()函数,就很容易产生目标地址的缓存溢出问题。其他函数调用也可能因为一些行为产生危害。这类有风险的函数调用很容易就在静态分析中通过风险函数列表的方式被识别。

密码学滥用

密码学在保障数据机密性的环境中尤为重要。但是,几乎没有开发人员在密码学层面是专家;更糟的是,滥用C语言本身库里的密码函数反而会导致安全问题,比如使用像DES和MD5那样的弱算法加密,或者用硬编码的密钥以及将盐数据进行哈希。密码学的滥用会影响机密性和完整性,不过他们也同样能被静态分析轻松识别。

污染数据

污染数据是指数据在进入系统时未被验证并去除有害内容,从而无法保证数据值是在合法范围。污染数据是对开发者最大的挑战之一,同样也会影响机密性和完整性。人工检查很难检测到数据注入问题。

如果要解决污染数据的问题,就需要对以任何形式(比如用户、设备、sockets等等)进入系统的数据都从来源到目标进行追踪。在数据被API调用、接入数据结构、或者进入任何编程逻辑前,都需要被验证。否则,就可能产生数据注入的攻击威胁。静态分析可以在工作流中进行计算,提供简明易懂的告警保住程序员规避这些危险情况。

静态分析检测漏洞

静态分析,或者说静态分析安全测试(SAST),通过检查源程序的代码来检测可能的安全问题——比如啥上述的五个代码问题。由于SAST可以被用于开发者的CI/CD工作流中,它不会减缓敏捷开发进程。实际上,因为它能在开发者编写代码的时候发现漏洞,从而减少发现问题的成本,并在应用上线前——甚至在进行测试前就进行修复,最终加速软件开发速度。因此,SAST对提升代码安全性有着关键的作用,需要成为在DevSecOps的安全左移过程中的一部分。

点评

在安全左移的过程中,代码的即时分析、测试并发现漏洞是一大重点。本文提及了SAST在DevSecOps中能解决的一些代码问题,但是SAST并不是DevSec

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读