我有一门课程,描述如下:
本课程的目的是研究程序设计语言的安全特性和明确支持它的语言。静态和动态的语言和系统安全构造,以及软件工程安全原则/模式。主题:
我很困惑- PL安全性和常规安全有什么不同?我正在寻找可能的教科书/书籍,学习,或网站,在这个主题,或任何建议/提示。教授告诉我要很好地了解C和Java,到目前为止我只知道这些。
我很感谢你的建议和建议。
发布于 2011-12-13 10:23:27
安全性(因为它与PLs相关)与正确性的概念密切相关。如果您的语言实现可以保证某个约束始终有效,那么它允许比限制较少的语言更好的安全性。例如,如果保证超出边界的数组访问是不可能的,或者会触发异常,那么您的代码就已经安全地不受各种可能的安全漏洞的攻击。
如果一种语言允许您对代码行为的某些方面进行推理,那么它比具有高度不可预测性的语言更适合安全编码。考虑将C与Coq或Agda2之类的东西进行比较。
发布于 2011-12-13 02:28:48
在大学里,我的室友通过学习如何为他玩的网络游戏操作记忆来为这样的课程做准备。它使他有动力学习自己的C技能(和汇编),也给了他学习编译器细节和内存/指针操作的动力。最后,当他不得不做一个项目时,他只会玩/黑他的游戏.结果成了他的学期专题。
发布于 2011-12-13 07:14:49
PL安全与现实世界的物理安全从根本上没有什么不同,可惜大多数行业还没有意识到这一点。
有些语言比其他语言(Java)更容易让自己陷入困境,但如果你足够努力的话,你可以用任何一种语言。
阅读布鲁斯·施耐尔()后来的作品,以及他的月报回刊,会让你真正了解到底出了什么问题。
https://softwareengineering.stackexchange.com/questions/124713
复制相似问题