来自 CC防护 2021-06-10 15:24 的文章

云防护_如何防御ddos_超高防御

云防护_如何防御ddos_超高防御

这篇博文描述了我在C标准委员会的历史,标准组织目前在软件安全方面所做的工作,以及NCC集团通过与C标准委员会和其他标准化工作改进软件安全性的未来工作。

云防护_如何防御ddos_超高防御

过去的在C和C++中我编写了第一版的安全编码时,我参与了C标准委员会(更正式地,ISO/IEC JTC 1/SC 22/WG 14)。当时,wg14正在编写一个名为"C库安全TR 24731"的文档,该文档旨在标准化由微软开发的"\u s"函数。我发现自己在和当时担任J11(后来成为PL22.11)主席的兰迪·迈耶斯(Randy Meyers)聊起了gets_s函数的奇怪行为,该函数未能使用行尾字符。他邀请我参加2005年春季在挪威利勒哈默召开的第14届工作组会议,从那时起我就一直参与C标准委员会的工作。在即将在布雷斯高弗莱堡召开的WG14会议上,德国NCC集团将获得PL22.11的投票权我参与C语言标准化的主要原因是为了影响语言的发展,以支持安全代码的开发。在过去的15年里,cc攻击php网站防御,我们取得了几项重大成功:ISO/IEC TS 17961:2013信息技术—编程语言、其环境和系统软件接口—C安全编码规则附录K边界检查接口(规范性)附录L可分析性(规范性)以及一些小的成功:N 1813 2014/03/25 Seacord,澄清在信号处理程序中访问的对象N 1617 2012/06/04 Seacord,附件J.2 N 1339 2008/08/11 Seacord中缺少除以零的条目,增强安全性的C1X库扩展

出席制定信息技术标准的国际标准组织相对较少,其中较著名的有国际标准化组织(ISO)、国际电工委员会(IEC)、电气与电子工程师协会(IEEE),以及互联网工程任务组(IETF)。ISO和IEC成立了联合技术委员会JTC1,ISO和IEC通过该委员会制定信息技术标准;JTC1的标题是"信息技术"。JTC1包括SC 22,它是编程语言、其环境和系统软件接口的国际标准化小组委员会,通常称为"便携性小组委员会"。前SC 22主席约翰·希尔2001年在ISO公报杂志上发表的一篇文章阐述了SC 22的范围如下:sc22的范围包括一组有限的流行编程语言、一些特定的形式化规范语言、操作系统POSIX和Linux,以及各种语言绑定。它的标准主要集中在高级编程环境上,以提高应用程序的可移植性、程序员的生产力和移动性以及应用程序的兼容性。SC 22的标准是为响应广泛和多样化的市场需求而制定和维持的。SC22包含以下活跃的工作组:WG 04 COBOLWG 05 FortranWG 09 AdaWG 14 CWG 17 PrologWG 21 C++WG 23编程语言漏洞WG 24 Linux标准库(LSB)在高抽象层次上,sc22的工作程序(摘自2001年的同一篇文章)有三个主要目标支持当前的,巨大的,通过维护和改进标准化编程语言对软件应用的全球投资通过记录和应用这些标准规范中四十年来的经验教训,不断改进编程环境标准化,以响应新出现的技术机会,如网络应用与全球发展实践SC 27是ISO/IEC JTC 1中的另一个小组委员会,专注于信息安全、网络安全和隐私保护。SC 27在其网站上的范围是制定信息和信息通信技术(ICT)保护标准。这包括解决安全和隐私问题的通用方法、技术和指南,例如:安全要求捕获方法;信息和信息和通信技术安全管理;特别是信息安全管理系统、安全流程、安全控制和服务;加密和其他安全机制,包括但不限于保护责任、可用性的机制,信息的完整性和保密性;安全管理支持文件,包括安全组件注册的术语、指南和程序;身份管理、生物识别和隐私的安全方面;合规性评估,信息安全管理系统领域的认证和审计要求;安全评估标准和方法。国际标准化组织成员是其所在国家最重要的国家标准机构;每个国家有一个成员。个人或公司不能成为ISO成员,但可以作为专家参加工作组会议,数据库防御ddos,成为参与国家机构的成员。美国的国家机构是ANSI(将JTC 1内的许多行政职能分包给INCITS),德国是DIN,英国是BSI。NCC小组是INCTIS任务组PL22.11的成员,编程语言C,负责C编程语言标准的技术开发。该技术委员会是ISO/IEC JTC 1/SC 22/WG 14的美国技术咨询小组。

云防护_如何防御ddos_超高防御

未来提高软件安全性是一项艰巨的任务,要想真正有希望减少每年的软件漏洞总数,就必须找到一个可扩展的解决方案。世界上大多数关键的基础设施都是用C语言编写的,包括网络软件、工业控制系统(ICS)、SCADA以及物联网设备、汽车和其他交通工具中的嵌入式软件。在其他领域改善安全性也有合理的理由,但不保护关键基础设施的风险是最深刻的。那么,我们如何提高这些系统的安全性并减少漏洞呢?可以做的一件事是发布关于如何在C和C++中安全编码的信息,100g高防cdn作用,构建一个工具来搜索漏洞(其中已经有很多),构建一个编译器特定的扩展或安全库,或者开发一个用于构建安全系统的过程。所有这些都是好主意。然而,我在所有这些领域都做出了贡献,但我理解要将这些想法付诸实践是多么困难。开发安全过程和构建工具来搜索漏洞是有用的,但不幸的是,仅仅因为它们的存在并不意味着开发人员会使用它们。编译器保证可以使用,因为没有多少程序员想手工生成二进制文件。然而,在C生态系统中有超过200个编译器,cc攻击防御阿里云,因此为一个编译器构建扩展只会帮助提高使用该编译器开发代码的安全性,而且只有在使用该扩展的情况下。因此,标准化可以帮助扩大解决方案。一旦C标准采用了一种新的安全改进,编译器实现者就更有可能实现和部署该特性,这样就可以广泛地部署它,因为总是有客户拉动来支持标准的新特性。包含在标准中并不能保证采用,因为新特性被采用的程度和速度差异很大。对于初学者来说,并不是所有的编译器都实现了标准中的所有内容。"附录K边界检查接口"和"附录L可分析性"等安全附件是可选的,这意味着编译器不需要实现它们,如果编译器不选择实现它们,它们可能不会永远保留在标准中。关于采用,并不是所有的实现都支持C标准的所有特性。一致性实现有两种形式:托管和独立。一致的托管实现必须接受任何严格符合要求的程序。一个合格的独立实现只需要接受任何严格符合要求的程序,其中库功能的使用仅限于标准头文件,,ntpddos防御,