赞
踩
代码审计-第四章-作业
1、判断题
可以直接使用无长度限制的字符拷贝函数转移字符(错误)
正确
错误
在编程中,使用无长度限制的字符拷贝函数是不安全的,因为这可能会导致缓冲区溢出,这是一种常见的安全漏洞。为了避免这种风险,应该使用有长度限制的拷贝函数,如C语言中的strncpy,并确保目标缓冲区有足够的空间来存储数据。这样可以有效地防止程序崩溃和潜在的安全问题
ASLR是一种针对缓冲区溢出的安全保护技术,通过对堆、栈共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的(正确)
正确
错误
地址空间布局随机化(ASLR) 是一种安全技术,它通过随机化进程组件的地址空间来提高系统的安全性。这种随机化使得攻击者很难预测目标地址,从而有效地防止了缓冲区溢出攻击,尤其是那些依赖于预测内存地址的攻击
竞争条件指多个线程或者进程在读写一个独立或隔离数据时结果依赖于它们执行的相对时间的情形(正确)
正确
错误
竞争条件(Race Condition)确实是指在并发环境中,多个进程或线程访问和修改某些共享数据,并且最终的结果取决于它们的执行顺序。如果没有适当的同步措施,这种情况可能导致数据不一致和不可预测的行为。因此,确保数据的同步和一致性对于并发编程至关重要。
在多个进程或线程之间共享对资源的访问,可限制"检查“(CHECK) 和”使用“(USE) 资源之间的时间量,使他们相距尽量不要太远。这种方案可以缓解TOCTOU问题(正确)
正确
错误
限制“检查”(CHECK)和“使用”(USE)资源之间的时间可以减少时间窗口,从而降低了时间和检查时间使用条件(TOCTOU)问题的风险。TOCTOU问题发生在一个系统在检查了一个条件(如文件的存在)之后,但在使用它之前,该条件已经改变,可能导致安全漏洞。通过减少检查和使用之间的时间差,可以降低这种风险。
在进行文件操作时,需要判断外部传入的文件名是否合法,如果文件名中包含.等特殊字符,则会造成路径穿越,导致任意文件的读写(正确)
正确
错误
在进行文件操作时,确实需要验证外部传入的文件名是否合法。如果文件名包含.或其他特殊字符,可能会导致路径穿越(也称为目录遍历)攻击,这种攻击允许攻击者访问文件系统上的任意文件。因此,对输入的文件名进行严格的验证是防止安全漏洞的重要步骤。
在-些涉及大小端数据处理的场景,需要进行大小端判断,例如从大段设备取出的值,要以大段进行处理,避免端序错误使用(正确)
正确
错误
在处理涉及大小端(Endianness)的数据时,确实需要进行大小端判断。例如,如果从一个大端(Big-endian)设备中取出数据,那么在处理这些数据时也应该以大端格式进行,以确保数据的正确性。不同的计算机架构可能使用不同的端序,因此在跨平台数据交换时,端序的正确处理是非常重要的。
2、多选题
在C/C++编程,使用无长度限制的的函数,它会产生(ABCDE)漏洞。
A内存泄露
B信息泄露
C输入错误
D 缓冲区溢出
E SQL注入
在C/C++编程中,不应直接使用legacy的字符串拷贝、输入和输出函数,如(BCD ) 等,这些函数的特征是:可以输出- -长串字符串,而
不限制长度。
Ascanf
B strcpy
C strcat
Dsprintf
在C/C++编程中,不应直接使用的legacy字符串拷贝、输入和输出函数,其特征是可以输出长串字符串而不限制长度的是:
B strcpy
C strcat
D sprintf
这些函数不会检查目标缓冲区的大小,可能会导致缓冲区溢出。scanf 也可能导致安全问题,但它主要用于输入,而不是字符串拷贝或输出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。