欢迎您注册蒲公英
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
信息时代,越来越多的计算机软件应用到我们的日常生活和工作中,所以软件的安全性也变得越来越重要;
什么是软件安全?
举个例子:要买一个新的电饭锅,我们会考虑电饭锅的质量,比如材质、寿命、安全保护等,这些质量满足了,又能做出香喷喷的大米饭,这次购物就是比较成功了;
软件安全就是电饭锅的质量,实现的功能就是做出香喷喷的大米饭; 软件安全基本包括哪些方面?
(一)软件自身安全:软件自身的安全性是软件抵御外部攻击的能力;
A.软件自身完整性:为了保证代码完整、数据完整和功能完整,可以采用各种数据校验技术,常用的如CRC。另外采用程序自诊断、自保护技术,软件加密、软件压缩、软件运行控制技术、软件加壳(UPX,ASPACK…)技术等防止软件被非法篡改;
B.软件自身可信性:包括减少软件的(或无)隐蔽通道,消除程序陷阱(trapdoor),杜绝逻辑炸弹,尽可能在软件发布前消除bug。同时需要避免无效操作,死机和不可信调用。尽量减少为了功能扩充而保留的程序接口、为软件测试而有意留下、为今后软件维护而有意留下的程序入口;
其他还包括防止软件丢失、被破坏、被删除;防止软件被篡改、被覆盖、被伪造、防病毒、程序固化等技术;
(二)软件存储安全:软件和数据的宿主是各类存储介质 (磁盘、磁带、光盘等),对软件的访问、修改、复制等都需要经过存储介质和设备。所以存储设备的可靠性、存储设备(磁盘) 的加密解密、存储设备的访问控制等成为软件安全的重要问题;
软件存储方式可以采用可靠存储、保密存储、压缩存储、备份存储等方式;
(三)软件通信安全:包括软件数据的安全传输、加密传输;通过网络的安全下载、完整下载传输数据的编码校验、传输校验等;
(四)软件运行安全:
主要需要解决的问题是软件运行的正确性;
计算机系统的安全也取决于在其上运行的软件。软件既要确保能够正常运行,还应具有非常高的运行正确性,在执行时其功能不应出现差错,一旦出现差错,则要有出错处理能力和容错能力。要求软件在运行过程中,不能破坏别的运行软件,也不允许别的软件来破坏自己。 来源:质量管理信息化 作者:冯立
|