软件开发部
OA办公系统
进销存软件
CRM系统
定制开发
OA软件企业管理公司|用C语言写
实施oa办公软件后的基本作用
OA软件挺进企业信息化软件选型
企业OA办公系统选型如何做好成
大型企业应用OA软件的关键点
OA软件挺进企业信息化软件选型
OA软件与知识管理是如何巧妙融
OA系统的通用性和个性化对企业
企业OA实现工作任务和行政事务
企业信息化CIO如何精准选型OA办
OA办公系统选型三个误区要避免
为何平台化OA软件更适合中小企
当前位置:首页>>新闻中心
【OA软件企业管理公司|用C语言写的程序不安全】
来源:www.sywebsoft.com 发布者:领航科技  发布时间:2014-11-13 
 
   关于C语言内存管理薄弱的问题几年前我们就讨论过。有人试图反驳,说现代各种操作系统或 runtime 平台的进步,对内存管理的风险提供了各种保护,比如地址空间随机化,还有各种诸如 Valgrind 这样的工具可以发现内存访问 bug,大大削弱危险程度。我十分推荐大家重新阅读一下那次讨论。
  我的观点——当时和现在——都是C语言不适合用来写安全性要求高的程序,任何缺乏内存检查机制的编程语言都不适合。很简单,就是不适合。它们应该仅限于用来写一些小的核心系统,最好是小到可以用一些常规的方法(被证明的方法)进行检查,所有其它的,包括全部应用逻辑,都应该用受控代码实现(例如C#,Java 或其它的,我没有偏向)。
  心脏出血就是这种缺乏边界检查造成的结果的另一个例子。它无法被 Valgrind 这样的工具检查出,因为它不是普通的被触发的动作——它需要是一种恶意的行为或是一种足够智能的测试协议才能发现(很难很难)。
  事实上,没有哪个程序员能够聪明到可以写出完全避免心脏出血这样的 bug 的程序。毕竟,程序员的学习和编码关注的是他们的程序的逻辑。在没有边界检查机制的编程语言里,逻辑可能会走错路,因为计算机可以访问和执行任意内存内容,这些内容是和你的程序里的代码和变量是没关系的。所有没有边界检查的编程语言将计算机的多个维度暴露给程序,如果你觉得自己比 OpenSSL 开发团队强、能很好的处理这种情况,那是自欺欺人。
  我们无法在软件中避免 bug 的存在,但我们可以堵住这些看起来无穷无尽的 bug 的源头。因为它,很早之前我们的互联网就遭受了 Morris 蠕虫病毒的危害。现在,2 年的时间里,世界 70% 的互联网流量都暴露无疑,代价惨重。如果不堵住这源头,以后会让我们损失更多。

下一篇:实施oa办公软件后的基本作用
推荐文章

企业OA实现工作任务和行政事务的平台化管 [2014-11-13]
实施oa办公软件后的基本作用 [2014-11-13]
企业信息化CIO如何精准选型OA办公软件 [2014-11-13]
大型企业应用OA软件的关键点 [2014-11-13]
OA软件挺进企业信息化软件选型首发阵营 [2014-11-13]
OA软件与知识管理是如何巧妙融合的 [2014-11-13]
关于我们 - 客户留言 - 招商加盟 - 联系我们 Copyright @ 2012 Sywebsoft.com Inc. All Rights Reserved. 沈阳领航科技 版权所有