所谓软件漏洞是指开发者在开发软件时的疏忽在软件制作时期未能完善的部分程序,这些程序容易让一些软件高手找出并进行软件内部的破解与破坏,或者是编程语言的局限性,是软件存在与其它软件或程序不兼容和能被其它程序破坏,如病毒、黑客程序等。郑州软件开发!
常见的软件漏洞
一、缓冲区溢出
缓冲区溢出是一种常见的编程错误,也是一种牵扯到复杂因素的错误。开发人员经常预先分配一定量的临时内存空间,称为一个缓冲区,用以保存特殊信息。如果代码没有仔细地把要存放的数据大小同应该保存它的空间大小进行对照检查,那么靠近该分配空间的内存就有被覆盖的风险。熟练的黑客输入仔细组织过的数据就能导致程序崩溃,更糟糕的话能执行代码。
二、编程错误导致的漏洞
其实大多数互联网行业的安全事件都与软件编程错误有关,在过去的几年时间中,软件编程错误的例子比比皆是,经过安全专家的筛选,最终公布了以下25大软件编程错误:
1. 错误的输入验证
2. 不正确的编码或转义输出
3. 维持SQL查询结构(SQL注入)错误
4. 维持网页结构(跨站点脚本)错误
5. 维持操作系统命令结果(操作系统命令注入)错误
6. 明文传送敏感信息
7. 跨站点请求伪造
8. 资源竞争(Race condition)
9. 错误信息泄露
10. 限定缓冲区内操作失败
11. 外部控制重要状态数据
12. 外部控制文件名或路径
13. 不可信搜索路径
14. 控制代码生成错误(代码注入)
15. 下载未经完整性检查的代码
16. 错误的资源关闭或发布
17. 不正确的初始化
18. 错误计算
19. 可渗透防护
20. 使用被破解的加密算法
21. 硬编码密码
22. 对核心资源的错误权限分配
23. 随机值的错误利用
24. 滥用特权操作
25. 客户端执行服务器端安全
对于漏洞用户可以通过以下几种方式进行修复:
1.使用微软提供的Windows Update技术,检查安装微软官方发布系统补丁,各应用软件厂商主动发布补丁或最新版本;
2.使用安全辅助软件修补,如QQ电脑管家、QQ软件管理、金山毒霸、瑞星杀毒等,方便检查计算机里相关系统文件和应用文件的版本是否最新,是否需要修补漏洞、升级版本。