最热门的5种编程语言
|
摆放餐具 在判断某个代码问题“只是”一个软件bug,还是一个安全漏洞时,完全取决于相应的上下文。一个bug被判定为安全漏洞,应满足下列条件:它们应以某种状态、方式或形式帮助攻击者发动进攻。这本身是高度依赖于上下文的,尤其是在处理核心语言问题时。受影响的API如何以及在何处暴露于攻击者的输入,决定了是否可以将其视为安全漏洞。 在解释型语言的上下文中,存在两种主要的攻击方案。在第一种情况下,攻击者可以在目标解释器上运行其自己的程序,通常,他们的目标是破坏解释器本身的安全措施,以诱使托管解释器的进程跨越某种安全边界。 这样的示例包括Web浏览器使用的Javascript解释器中的安全漏洞。这个主题的变体包括以下场景:攻击者已在攻击的第一阶段获得了运行任意解释型代码的能力,但解释器本身实施了某种限制(例如:由于存在严格的PHP配置,使其无法使用命令执行功能),从而限制了他们进一步开展攻击的能力。 当攻击者对目标解释器拥有完全访问权限时,通常会在核心解释器的实现中查找漏洞。例如,在各种Javascript解释器中存在内存管理漏洞,通常能演化成Web浏览器中可利用的客户端漏洞。由于攻击者完全控制了解释器的状态,因此,从攻击者的角度来看,解释器本身的任何bug都可能是非常有用的。 在第二种情况下,攻击者可以利用解释型语言实现中的某些逻辑,向其提供输入,但无法直接与解释器进行交互。在这些情形中,攻击者的攻击范围受到他们实际可以直接或间接向其传递数据的API的限制。 当攻击者只能控制用高级语言实现的目标进程的输入时,他们就只能影响接收这些输入的逻辑,从而限制了他们的选择余地。在这些情况下,通过深入挖掘找出处理输入的底层攻击面,可以发现从较高级别逻辑角度看不到的漏洞。 从攻击者的角度来看,我们的主要目标是增加攻击面的深度。不要横着挖,而是往下挖! 剥开糖衣 关于解释型语言可以在较低级别进行利用的漏洞,已经由来已久。在本文中,我们不会完整的介绍这些漏洞的历史,但是,我们将深入研究一些有趣的例子——它们为我们展示了高级编程语言的bug是如何转化为底层编程语言的安全漏洞的——希望这些“老洞”能够激发读者新的灵感。 历史上的示例:当Perl格式化出错时 2005年的Perl代码中存在的格式字符串漏洞是一个有趣的案例。为了充分理解这个安全问题,我们首先要快速回顾一下C程序中格式字符串漏洞利用方面的基础知识。 C格式字符串漏洞简介 虽然许多人认为格式字符串错误由于易于检测而在很大程度上已被根除,但它们仍然不时出现在意想不到的地方。
从解释型语言与低级代码交互的上下文中考虑格式字符串错误也很有趣,因为它们可能会在较高级别上预处理攻击者控制下的格式字符串,然后直接传递给较低级别的格式化函数。这种延迟型格式化问题并不少见,尤其是当格式串的源和所述格式串的目的地之间存在强烈的逻辑分离时,特别容易出现这种问题。 统一通信的设计不仅仅考虑了终端上的功能,让老师在任意时间,任意地点,使用任意终端都可以进行协作通信,同时它在多种终端上提供给用户相同的体验。方案设计不仅仅考虑了单点设备的部署、功能的实现,它更多地考虑了怎样组网,怎样为多个学校的师生提供相同的协作通信体验。 NTT通过在虚拟机环境为客户部署思科统一通讯平台CUCM,整合了传统的语音通信和视频会议系统,帮助客户在国内可以随时按需连接各个校区以及视频教室,最大限度的提升了优秀师资在学校内部的教学转化率。同时和新加坡以及英国总部能够更及时的取得有效沟通,特别是在内部教学研讨分享方面的应用。随着客户对新型教学模式的探索,未来还有计划依托开放的统一通讯平台与第三方机构开展远程教学合作,这部分也将由NTT为客户提供持续的基础架构平台整合。 项目成果
通过全新的数字化平台,学校减少了IT软硬件投资成本及运营成本,提升教学的灵活性。运维成本相比之前降低了61%,故障排错时间减少80%,特别是针对无线用户onboarding问题的排错,从以前的几个小时降低到了现在的几分钟。 (编辑:柳州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

