在最近的一次安全需求分析中,百度的安全团队发现MSSQL数据库运行的地方存在一种极端危险的类型的越界攻击,这类无域之敌极有可能在没有被发现的情况下对MSSQL系统进行攻击,进而给MSSQL系统带来极大的安全隐患。
所谓“越界攻击”,指的是一种可能在程序运行时绕过容错性检查机制而致使系统缓冲区中的有效数据被改变或覆盖的安全风险。由于MSSQL数据库很容易遭到这类越界攻击的影响,它们存在着极大的安全隐患。
关于MSSQL的越界攻击,百度安全团队专门提出了以下解决方案:
1. 实行“内存检索”安全功能,可以避免越界攻击致使有效数据被覆盖掉。
2. 对来自网络的歹意攻击进行反向追踪。
3. 对数据库安全加固措施进行及时更新,在系统安装终了以后,常常对系统进行更新,避免出现新的漏洞。
4. 充分斟酌安全性,将安全放在系统设计的第一名,避免出现越界攻击的情况。
另外,还应当采取以下的代码保护,来预防MSSQL的越界攻击:
// 检测输入会不会正确
if (!InputVerification(userInput)) ThrowNewException("输入不正确");
// 定义缓冲区char buf[BUF_SIZE];
// 检查输入的长度if (userInput.Length() >= BUF_SIZE)
ThrowNewException("输入太长");
// 将输入字符串拷贝到缓冲区strcpy_s(buf, BUF_SIZE, userInput.c_str());
// 预处理缓冲区中的数据processBuffer(buf);
// 将缓冲区中的数据存储到MSSQL中saveBufferToMSSQL(buf);
通过上述措施实行越界攻击的预防,可以有效避免MSSQL系统遭到攻击。百度提示大家,在系统开发进程中,始终把安全放在第一名,以避免出现轻则数据被篡改,重则系统被入侵等安全问题。
本文来源:https://www.yuntue.com/post/225950.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏