目录
1.7要对数组进行删除操作时,必须要使用delete[],不能直接删除
2.1default必须得存在于switch的括号中,不能只有case
2.7通过复制粘贴而生成的飞马必须多次重复审核来避免出现问题
3.2对于signal handler可能致使的条件竞争保持一定的监控
1.C/C++使用错误
一定确保不能使用字符串来复制或者输入各种函数,同时也要能够正确的规划出缓冲区的长度。在C++中,可以选择尽可能的使用封装层次更高的各种指针,这样可以提高代码的可读性以及代码整体的安全性。
确保和用户有关的输入的地方,需要注意是不是存在相关的命令注入,以及其是否是非法字符。
1.3用一切可能地方法来降低可能使用到alloca以及能够改变数组长度的数组的情况出现
内存量不可知,可能会导致许多问题,例如栈溢出等等
需要其与对应的控制符号以及参数相互照应
不然会导致攻击者可以简单的攻击并破坏程序
1.6一定不可以让用户有权限来修改printf的函数的format参数的字符串
可能会导致用户可以直接进行一些危害程序的代码操作
1.7要对数组进行删除操作时,必须要使用delete[],不能直接删除
可能会导致没有定义的行为出现,使得代码出现安全问题
可能会出现无法预测的安全事情出现,导致逻辑漏洞
尽量不要使用0来对齐代码格式,否则可能会出现一些代码错误
2.1default必须得存在于switch的括号中,不能只有case
没有default可能会出现包含不了所有的情况的问题出现
2.2给予太多内容在错误的那些信息或者是Debug中是不应该存在的
有很大可能会导致信息泄露,出现一些更容易被攻击的代码程序。
会导致加密失效,没有作用,依然有严重的安全问题
否则会出现失效后信息丢失的问题出现
可能会导致程序出现越界行为
内容不对应可能会导致对应的逻辑问题
2.7通过复制粘贴而生成的飞马必须多次重复审核来避免出现问题
直接复制后仔细检查,一般没有相同的两句代码,仔细检查将需要改正的地方都修改掉
2.8避免出现左右两边结果一样的无效判断或者是判断永远是true或false
如若不然会导致其结果不可知
2.10栈上的没有通过赋值的变量不可以直接使用
最好的规范是在刚开始声明的是否就进行了赋值操作
可能存在旧的数据,可能会影响而出现安全问题
尽可能降低程序崩溃等问题出现的可能
代码极其有可能出现错误
代码极其有可能出现错误
可能会出现内存破坏或者是逻辑问题
3.2对于signal handler可能致使的条件竞争保持一定的监控
3.3对于time-of-check time-of-use可能致使的条件竞争保持一定的监控
可以选择控制多个进程的行为
这些信息都必须进行加密的操作
使用完之后应该清空访问数据
没有初始化的随机数可能会被预测
实现高强度加密
范围大就难以预测,
存在一些特殊字符,可能出现路径穿越
出现许多安全的问题
防止信息泄露
6.1避免出现越界的问题
6.2不要出现随意的地址
必须进行经过审核的操作
7.1必须要避免出现整数溢出情况的出现
7.2正确使用最大值或最小值
7.3审核大小端
7.4查验被除数的值是不是是0
7.5确保数字的类型发生不正确的强制转换
8.1数组不能直接和0比较的情况出现
8.2指针地址不能是确定的
8.3仔细核验指针的空情况
可能出现拒绝服务的问题出现
不兼容问题的出现会导致安全问题