在软件工程中,调用曲线(Call Curve)是一种重要的技术,几乎在所有系统和应用程序中都有这种类型的技术。调用曲线(Call Curve)主要是用来处理复杂和冗长的过程,例如I/O操作,数据处理,数据库查询以及计算任务等等。调用曲线的编程缺陷或者BUG是可能出现的安全漏洞,其能够严重破坏系统的安全性和数据完整性。
调用曲线BUG的出现,最常见的原因是程序员编写程序的时候忽略了调用曲线的具体实现细节,并将函数调用的参数设置成不符合本身功能要求的参数,从而导致了系统的安全漏洞,最常见的就是缓冲区溢出攻击。
比如,应用程序使用调用曲线函数来实现字符串处理,实现字符串的添加,删除,复制和移动等操作,但是在编写函数时,程序员忽略了缓冲区的大小限制,而没有正确配置相应的缓冲区,这导致了一个缓冲区溢出攻击,攻击者就可以输入长度超过设置缓冲区的字符串来破坏系统,导致数据泄密,数据被删除等等危害。
另外,程序员可能没有对实现调用曲线的程序进行完整的测试,尤其是在多平台环境下,无法准确地评估函数行为,从而产生的严重的漏洞。所以针对调用曲线的编程bug造成的严重攻击,应该要加强单元测试,弱化程序员之间调用函数的复杂性,并将测试自动更新到多个平台,从而有效防范调用曲线因编程bug导致的攻击。