首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为这门题为“编程语言安全”的课程做准备的好方法是什么?

为这门题为“编程语言安全”的课程做准备的好方法是什么?
EN

Software Engineering用户
提问于 2011-12-13 00:21:00
回答 7查看 295关注 0票数 2

我有一门课程,描述如下:

本课程的目的是研究程序设计语言的安全特性和明确支持它的语言。静态和动态的语言和系统安全构造,以及软件工程安全原则/模式。主题:

  • 基本编程语言安全框架。
  • 设计安全编程语言
  • 编程语言中的访问控制
  • 信息流语言
  • 能力语言
  • 移动编程语言
  • 软件工程与安全
  • 系统中的基本软件漏洞
  • 安全软件工程生命周期
  • 软件安全的模式和实践

我很困惑- PL安全性和常规安全有什么不同?我正在寻找可能的教科书/书籍,学习,或网站,在这个主题,或任何建议/提示。教授告诉我要很好地了解C和Java,到目前为止我只知道这些。

我很感谢你的建议和建议。

EN

回答 7

Software Engineering用户

回答已采纳

发布于 2011-12-13 10:23:27

安全性(因为它与PLs相关)与正确性的概念密切相关。如果您的语言实现可以保证某个约束始终有效,那么它允许比限制较少的语言更好的安全性。例如,如果保证超出边界的数组访问是不可能的,或者会触发异常,那么您的代码就已经安全地不受各种可能的安全漏洞的攻击。

如果一种语言允许您对代码行为的某些方面进行推理,那么它比具有高度不可预测性的语言更适合安全编码。考虑将C与Coq或Agda2之类的东西进行比较。

票数 4
EN

Software Engineering用户

发布于 2011-12-13 02:28:48

在大学里,我的室友通过学习如何为他玩的网络游戏操作记忆来为这样的课程做准备。它使他有动力学习自己的C技能(和汇编),也给了他学习编译器细节和内存/指针操作的动力。最后,当他不得不做一个项目时,他只会玩/黑他的游戏.结果成了他的学期专题。

票数 1
EN

Software Engineering用户

发布于 2011-12-13 07:14:49

PL安全与现实世界的物理安全从根本上没有什么不同,可惜大多数行业还没有意识到这一点。

有些语言比其他语言(Java)更容易让自己陷入困境,但如果你足够努力的话,你可以用任何一种语言。

阅读布鲁斯·施耐尔()后来的作品,以及他的月报回刊,会让你真正了解到底出了什么问题。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/124713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档