当前位置: 首页 > news >正文

遵义市网站建设_网站建设公司_原型设计_seo优化

有没有个人做试卷网站的,电商购物app定制开发,网址大全软件下载,专业网站建设平台作者 | 苏宓出品 | CSDN#xff08;ID#xff1a;CSDNnews#xff09;如果说此前 Kotlin、Dart、Julia、Carbon 等后起之秀向老牌编程语言发起挑战进攻都是小打小闹#xff0c;那么这一次 C、C 这几种常青藤编程语言则是真实地陷入了尴尬的境地。近日#xff0c;美国国家安…作者 | 苏宓出品 | CSDNIDCSDNnews如果说此前 Kotlin、Dart、Julia、Carbon 等后起之秀向老牌编程语言发起挑战进攻都是小打小闹那么这一次 C、C 这几种常青藤编程语言则是真实地陷入了尴尬的境地。近日美国国家安全局NSA发布了最新的指南鼓励多个组织将编程语言从 C/C 转为使用内存安全的语言如 C#、Rust、Go、Java、Ruby 和 Swift主要原因是这样可以帮助软件开发者和使用者预防并缓解软件内存安全问题这些问题占可利用漏洞的很大一部分。安全的第一大“杀手”——内存漏洞一直以来内存安全的漏洞引起多个企业与开发者的警觉。根据长期关注内存漏洞的开发者 LazyFishBarrel 的统计苹果公司的 iOS 和 macOS 系统中 60%-70% 的漏洞是内存安全漏洞。微软在 2019 年的一次会议上透露从 2006 年到 2018 年其发现的 70% 的漏洞都是因内存安全问题造成的。据 Google 估计Chrome 中存在了类似比例的内存安全漏洞另外 90% 的 Android 系统漏洞也都是内存安全问题。为此NSA 认为黑客极有可能会利用代码中管理不善的内存漏洞而这种漏洞在程序员使用灵活性更高的编程语言时更容易出现。于是其最新发布了《软件内存安全之网络安全信息指南》时写道「黑客可以利用这些漏洞进行远程代码执行或其他不利影响这通常会危及设备并且成为大规模网络入侵的第一步」因此 NSA 建议各个组织尽可能使用内存安全语言并通过代码强化防御如编译器选项、工具选项和操作系统配置来增强保护。NSA 网络安全技术总监 Neal Ziring 表示在开发消除此类漏洞的软件时必须始终使用内存安全语言和其他保护措施。C、C 成为重灾区在 NSA 看来我们常用的编程语言如 C 和 C在内存管理方面提供了很大的自由度和灵活性但用这种语言开发的应用程序的安全性很大程度上需要依赖程序员的测试、检测环节。不过只要程序员自身稍微有些疏忽简单的 Bug 也会带来严重的内存漏洞。虽然当前行业中有很多软件分析工具能够检测到许多内存管理问题操作环境选项也可以提供一些保护但内存安全软件语言所提供的固有保护可以防止或减轻大多数内存管理问题。针对这一问题几年前微软云开发推广部的 Ryan Levick 在分享微软为什么要从 C/C 转向 Rust 时也曾直言「无论软件公司在工具和人员的培训上投入多少精力也不能解决问题因为 C 本质上就不是安全的语言」。他表示“我们使用的语言由于年代久远、来自不同时代无法为我们提供保护让我们免受此类漏洞攻击。C 不是一种内存安全的语言相信这一点无人有异议。”近日来微软 Azure CTO Mark Russinovich 也再次呼吁「是时候停止使用  C/C 启动任何新项目」。然而众所周知C 和 C 是编写核心系统软件的默认语言。这两门编程语言速度快而且源代码可以直接汇编成机器语言。虽然一边有很多企业高管呼吁不要用但另一边也有很多人不信邪不愿相信 C、C 语言的不足之处。为此有人称“只要你不使用从 C 继承的任何功能C 就是安全的”亦或者“只要遵从现代 C 的类型和管用做法就不会引发内存方面的漏洞”。针对这一争论科技圈中有开发者现身说法根据自身在大型 C 项目上遵从现代的惯用做法的开发经验发表了《现代 C 救不了程序员》一文用实例证明 C 提供的类型完全不能阻止漏洞的泛滥。另外也有人提出质疑“为什么非要弃用 C、C 呢有什么理由不能在 C、C 编译器中强制执行内存安全吗”针对这一点有开发者进行回应这在以前就已经尝试过了。但挑战是双重的。首先如果在编译器强制执行内存安全范围也只能局限在编译器上。然而真正的内存安全实际上是至少线程安全、空值安全和类型安全以及大多数人所想的原始边界检查等各个方面。除非你打算进入托管语言领域Managed Language并引入 GC否则你需要语言级别的结构来允许程序员在这些新的边界内有效工作。例如在 Rust 中这就是 所有权 系统。第二点是如果总是把语言功能限制在一些有限的、更安全的范围内或者用一些自定义的东西取代核心功能例如 malloc 或编译器。这就把你能使用的库限制在那些使用功能集的库上并要求你无限期地维护这些核心功能。即便如此你也不会得到 真正的 安全因为这取决于每个人都很小心、不使用错误的功能、编译器而你又非常确定你的核心实现本身是安全的。因此如果你全力以赴与其需要一个特定的编译器再加上一套不同的核心语言特性再加上你需要确保所有的支持库都符合要求再加上需要为静态分析和编译工具链定制支持工具倒不如直接用一种新的语言Rust 便是不错的选择。Rust 是未来但任重而道远「弃用 C、C扶持 Rust」的争论经过几年的发酵持续到现在愈演愈烈。与此同时推动软件开发向使用内存安全语言发展的队伍也从最初微软、Google、亚马逊等大厂的倡议逐渐拓展到具体的开发者们以及学术界现如今也包括了 NSA 在列。NSA 表示使用内存安全语言可以帮助防止程序员引入某些类型的内存相关问题。内存是作为计算机语言的一部分自动管理的它不依赖于程序员添加代码来实现内存保护。内存管理通常是使用编译和运行时检查机制来实时自动保护。使用更加安全的语言如 C#、Go、Java、Ruby、Rust、和 Swift 等语言可以一定程度上保护程序员不会无意中引入内存管理错误。不过罗马并非一日之功。要想用 Rust 将 C、C 取而代之也需要很长的一段时间为此 C 之父 Bjarne Stroustrup 在回应 C 与 Rust 之争时分享道“直接替换 C 代码或者让它们变得更加安全都是一项非常艰巨的任务需要逐步慢慢地才能做到这一点。否则大量不安全的 C 代码将会永远存在。”网络安全公司 Acronis 的 CISO Kevin Reed 在接受外媒 The  Register 采访时也说道“多年来使用 C 和 C 编写的代码数量巨大即使我们明天都开始使用 Rust 和 Go也需要几十年的时间才能清理这个烂摊子。” 参考资料https://langui.sh/2021/12/13/apple-memory-safety/https://www.theregister.com/2022/11/11/nsa_urges_orgs_to_use/https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/3215760/nsa-releases-guidance-on-how-to-protect-against-software-memory-safety-issues/https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_SAFETY.PDF
http://www.ihoyoo.com/news/85400.html

相关文章:

  • 翔安建设局网站建筑模板算量软件
  • 做钓鱼网站软件手机医疗网站
  • 甘肃住房建设厅的网站go网站做富集分析
  • 天津网站大全html模板图片
  • 做游戏网站定位服装厂家
  • 建一个外贸网站多少钱银川专业做网站
  • 网站建设环境wordpress 后台修改
  • 哪个网站做视频有钱挣网站搭建的
  • 域名网站注册认证北京十大影视后期公司
  • 如何做网上水果网站系统营销网站外包
  • 校本教研网站建设方案上海专上海专业网站制作公司
  • 网站建设企业咨询wordpress图片上传大小
  • 重庆做网站建设公司大型电商网站开发价格
  • 简易蜘蛛池网站开发私人做医院的网站
  • 企业网站首页代码怎么做电影网站服务器
  • 网站开发流程phpwordpress分页出现404
  • wap手机网站模版crm是什么意思啊
  • 温州网站建设联系电话十大社区团购平台有哪些
  • 发果怎么做视频网站中宁网站建设
  • 网站推广要点服务器维护是什么意思
  • 打开这个网站什么网站做蔬菜生鲜比较好
  • 呼和浩特网站运营公司爱未来企业邮箱
  • 做catalog的免费网站房地产新闻建发
  • wordpress 设置语言广州seo
  • 品牌网站品牌理念老旧的后果比较商务网站的营销策略
  • 网站自适应布局公司设计网站定制
  • 永川网站开发四川网站建设服务公司
  • 衡阳做淘宝网站达州科创网站建设公司
  • 统计网站怎么做安徽网站线上开发公司
  • 程序员为什么不敢创业做网站项目管理系统软件