COBOL应用开发安全Secure Code Warrior

2020年5月21日发布
作者:Pieter Danhieux
案例研究

COBOL应用开发安全Secure Code Warrior

2020年5月21日发布
作者:Pieter Danhieux
查看资源
查看资源

在2019年,我们应该谈论使用1959年发明的计算机语言,这似乎有点滑稽。现在没有太多的研讨会或会议专门讨论重新穿戴经典的辛格缝纫机的艺术,或更换雪佛兰帕克伍德或凯旋先驱的油箱。这些老旧的工具大多早已退役,升级为新的和更有效的模型。然而,在这里的技术领域,与其他行业相比应该是最先进的,我们仍然在使用像COBOL这样的语言,它是在同一时期发布的。

当然,这是有非常好的理由的。通用商业导向语言(COBOL)可能已经有60年的历史了,但是它的结构非常好,以至于它今天仍然有意义,并被广泛使用。

COBOL是作为一种相对简单的方式被创造出来的,它使用普通的语言组合成特定的句子和语法,对后端系统进行编程以执行数学和公式化的任务。为什么它能活到今天?简单地说,它在其工作中非常出色。从某种意义上说,它已经成为金融业和制造业等不同行业的许多大型机和核心系统的计算结构的一部分。

多年来,COBOL一直在逐步更新,最引人注目的是在2002年,它被变成了一种面向对象的语言,使新的应用程序的编程更加流畅。但在大多数情况下,COBOL在今天仍然是当年的样子:一个无名英雄,一种在后端工作的编程语言,支撑着许多现代大型机级别的应用。

COBOL的安全性如何?

不幸的是,在COBOL刚创建的时候,并没有什么安全方面的考虑。例如,许多COBOL应用程序都有一个密码程序来保护它们,但它们几乎从未对诸如暴力保护之类的东西进行加固以防止破解。再加上许多监控网络流量的现代安全工具不知道如何处理或评估用COBOL等商业语言编写的程序中发生的功能,你就会有一个等待发生的真正问题。由于缺乏对运行经典计算机语言的系统的安全监督,相当多的现代漏洞已经成功。2015年,美国人事管理办公室(OPM)被黑客攻击,超过400万美国联邦雇员的数据被暴露,责任在于他们使用的COBOL,理由是无法在这样一个古老的系统上实施现代安全措施。

几年前,安全是由熟悉COBOL和其他当时热门语言的程序员组成的军队提供的。在20世纪60年代,COBOL就像今天的Java或.Net,那些了解它的人是他们部门的摇滚明星。截至2019年,这些人可能早就退休了,尽管他们保护的系统还没有。

扩大COBOLs的前线防线

这些所谓的 "白胡子 "中有不少人被带回他们的组织,作为承包商来保卫他们以前工作过的同一台主机。在很多地方,他们的存在有点反常:在办公室的某个角落里,他们是一个秘密的老巫师小团体,他们奇怪的穿着(宽领带和三件套)和奇怪的礼貌举止与所有穿着紧身牛仔裤和男子发髻的现代潮人不太相称。然而,他们是绝对必要的,因为很少有现代程序员用COBOL和其他古老的语言进行编码。可悲的是,即使是这些最后的巫师哨兵也在逐渐消失,最终放弃了幽灵,搬到了博卡拉顿,享受真正的退休生活。

因此,现在迫切需要了解老式语言的人,以及他们所包含的安全漏洞。即使年轻人不知道如何用经典语言写代码,他们至少应该了解它们是如何工作的,以及它们潜在的漏洞。因为虽然COBOL的开发一直保持着相对静止的状态,但针对网络的威胁却在不断地发展。试图使用60年前的古老网络安全技术,如上述的COBOL密码应用程序,来保护大型机对抗现代攻击者,就好比部署一个长矛兵方阵来对抗一排太空海军陆战队--如果没有好莱坞式的奇迹,拿着长矛的人的结局会很糟糕。

无论新旧,它也必须是安全的。

这就是为什么我们相信高级培训系统的重要性,它涵盖了广泛的编程语言和框架。你看,很多安全培训选项的一个突出问题是,这些信息太过笼统,或者更糟的是,与参加培训的开发人员的日常工作完全不相关。花半天时间学习只适用于Java的漏洞并不能帮助COBOL开发者加固他们的系统,而且这只是延续了 "安全 "的想法,即一旦完成了强制性的课程,就会被遗忘。我想补充的是,对Java安全漏洞的培训并不总是适用于Java Spring开发者。安全编码在每种语言中都是不同的,甚至在框架层面上也是如此。

在我们赋予所有开发人员成为安全超级英雄的使命中,我们不会忽视一种有效的计算机语言,这种语言仍然在世界一些最有针对性的关键设施中使用。在我们的平台上,你会发现与COBOL有关的现代实践挑战和培训与当今最现代的一些编程工具(如Googles Golang)一起提供。这种灵活性确保了培训与个人相关,并符合实际情况,模仿他们的工作环境以获得最大的参与度和有效性。毕竟,建立一个强大的安全文化是对抗网络威胁的重中之重,所以培训应该是实用的(当然还有乐趣!)。

我们希望我们的行业能够达到这样的阶段:安全威胁是针对运行老旧语言的系统,还是针对最现代的移动应用程序,都不重要。我们希望每个开发者都能掌握关于这些漏洞、攻击者用来利用这些漏洞的工具和技术以及如何冷酷地阻止它们的最佳信息。面对网络安全威胁,我们永远不会投降或退缩。无论威胁或漏洞是多么现代或多久以前产生的,你总是可以求助于 Secure Code Warrior来学习如何打败它们,每次都是如此。

PS: 你认为一种古老的语言可以避免受到SQL注入的影响?再想想吧。看看你现在能不能在COBOL中找到并修复一个

查看资源
查看资源

作者

皮特-丹休

Pieter Danhieux是全球公认的安全专家,拥有超过12年的安全顾问经验,并在SANS担任首席讲师8年,教授如何针对和评估组织、系统和个人的安全弱点的攻击性技术。2016年,他被评为澳大利亚最酷的科技人士之一(Business Insider),被授予年度网络安全专业人士(AISA - 澳大利亚信息安全协会),并持有GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA认证。

想要更多吗?

在博客上深入了解我们最新的安全编码见解。

我们广泛的资源库旨在增强人类对安全编码技术提升的方法。

查看博客
想要更多吗?

获取关于开发者驱动的安全的最新研究

我们广泛的资源库充满了有用的资源,从白皮书到网络研讨会,让你开始使用开发者驱动的安全编码。现在就去探索它。

资源中心

COBOL应用开发安全Secure Code Warrior

2020年5月21日发布
作者:Pieter Danhieux

在2019年,我们应该谈论使用1959年发明的计算机语言,这似乎有点滑稽。现在没有太多的研讨会或会议专门讨论重新穿戴经典的辛格缝纫机的艺术,或更换雪佛兰帕克伍德或凯旋先驱的油箱。这些老旧的工具大多早已退役,升级为新的和更有效的模型。然而,在这里的技术领域,与其他行业相比应该是最先进的,我们仍然在使用像COBOL这样的语言,它是在同一时期发布的。

当然,这是有非常好的理由的。通用商业导向语言(COBOL)可能已经有60年的历史了,但是它的结构非常好,以至于它今天仍然有意义,并被广泛使用。

COBOL是作为一种相对简单的方式被创造出来的,它使用普通的语言组合成特定的句子和语法,对后端系统进行编程以执行数学和公式化的任务。为什么它能活到今天?简单地说,它在其工作中非常出色。从某种意义上说,它已经成为金融业和制造业等不同行业的许多大型机和核心系统的计算结构的一部分。

多年来,COBOL一直在逐步更新,最引人注目的是在2002年,它被变成了一种面向对象的语言,使新的应用程序的编程更加流畅。但在大多数情况下,COBOL在今天仍然是当年的样子:一个无名英雄,一种在后端工作的编程语言,支撑着许多现代大型机级别的应用。

COBOL的安全性如何?

不幸的是,在COBOL刚创建的时候,并没有什么安全方面的考虑。例如,许多COBOL应用程序都有一个密码程序来保护它们,但它们几乎从未对诸如暴力保护之类的东西进行加固以防止破解。再加上许多监控网络流量的现代安全工具不知道如何处理或评估用COBOL等商业语言编写的程序中发生的功能,你就会有一个等待发生的真正问题。由于缺乏对运行经典计算机语言的系统的安全监督,相当多的现代漏洞已经成功。2015年,美国人事管理办公室(OPM)被黑客攻击,超过400万美国联邦雇员的数据被暴露,责任在于他们使用的COBOL,理由是无法在这样一个古老的系统上实施现代安全措施。

几年前,安全是由熟悉COBOL和其他当时热门语言的程序员组成的军队提供的。在20世纪60年代,COBOL就像今天的Java或.Net,那些了解它的人是他们部门的摇滚明星。截至2019年,这些人可能早就退休了,尽管他们保护的系统还没有。

扩大COBOLs的前线防线

这些所谓的 "白胡子 "中有不少人被带回他们的组织,作为承包商来保卫他们以前工作过的同一台主机。在很多地方,他们的存在有点反常:在办公室的某个角落里,他们是一个秘密的老巫师小团体,他们奇怪的穿着(宽领带和三件套)和奇怪的礼貌举止与所有穿着紧身牛仔裤和男子发髻的现代潮人不太相称。然而,他们是绝对必要的,因为很少有现代程序员用COBOL和其他古老的语言进行编码。可悲的是,即使是这些最后的巫师哨兵也在逐渐消失,最终放弃了幽灵,搬到了博卡拉顿,享受真正的退休生活。

因此,现在迫切需要了解老式语言的人,以及他们所包含的安全漏洞。即使年轻人不知道如何用经典语言写代码,他们至少应该了解它们是如何工作的,以及它们潜在的漏洞。因为虽然COBOL的开发一直保持着相对静止的状态,但针对网络的威胁却在不断地发展。试图使用60年前的古老网络安全技术,如上述的COBOL密码应用程序,来保护大型机对抗现代攻击者,就好比部署一个长矛兵方阵来对抗一排太空海军陆战队--如果没有好莱坞式的奇迹,拿着长矛的人的结局会很糟糕。

无论新旧,它也必须是安全的。

这就是为什么我们相信高级培训系统的重要性,它涵盖了广泛的编程语言和框架。你看,很多安全培训选项的一个突出问题是,这些信息太过笼统,或者更糟的是,与参加培训的开发人员的日常工作完全不相关。花半天时间学习只适用于Java的漏洞并不能帮助COBOL开发者加固他们的系统,而且这只是延续了 "安全 "的想法,即一旦完成了强制性的课程,就会被遗忘。我想补充的是,对Java安全漏洞的培训并不总是适用于Java Spring开发者。安全编码在每种语言中都是不同的,甚至在框架层面上也是如此。

在我们赋予所有开发人员成为安全超级英雄的使命中,我们不会忽视一种有效的计算机语言,这种语言仍然在世界一些最有针对性的关键设施中使用。在我们的平台上,你会发现与COBOL有关的现代实践挑战和培训与当今最现代的一些编程工具(如Googles Golang)一起提供。这种灵活性确保了培训与个人相关,并符合实际情况,模仿他们的工作环境以获得最大的参与度和有效性。毕竟,建立一个强大的安全文化是对抗网络威胁的重中之重,所以培训应该是实用的(当然还有乐趣!)。

我们希望我们的行业能够达到这样的阶段:安全威胁是针对运行老旧语言的系统,还是针对最现代的移动应用程序,都不重要。我们希望每个开发者都能掌握关于这些漏洞、攻击者用来利用这些漏洞的工具和技术以及如何冷酷地阻止它们的最佳信息。面对网络安全威胁,我们永远不会投降或退缩。无论威胁或漏洞是多么现代或多久以前产生的,你总是可以求助于 Secure Code Warrior来学习如何打败它们,每次都是如此。

PS: 你认为一种古老的语言可以避免受到SQL注入的影响?再想想吧。看看你现在能不能在COBOL中找到并修复一个

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

提交
要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。