我已经写了7年的软件,并且对安全有着积极的兴趣,已经有2-3年了.这种兴趣完全是出于自我动机,主要是在攻击方面;我编写了几种自由和开放源码软件攻击安全工具,并深入研究了某些攻击向量,如DNS重新绑定。由于这一经历,我成功地在一家VPS/云计算公司获得了作为应用程序安全工程师的第一份infosec工作。我的角色之一将是对我们构建的所有软件进行常规的代码评审。我对阅读代码和提出非正式建议并不陌生,但这将是我第一次定期对其他人的代码进行系统和正式的审查。老实说,我有点害怕。我对安全性有一种热情,多年来我自己一直在练习,但我从来没有在这个问题上做过高风险的权威建议,至少不是在代码级别上。
是否有人对如何在进行与安全相关的代码评审方面获得经验或舒适感有任何建议?我有两个星期的时间来担任这个角色,在我以权威人士的身份出现在公司之前,我很想在审查代码和学习推荐最佳实践方面获得一些经验。任何一般性的建议,建议,或想法都是非常感谢的!
发布于 2018-10-24 09:31:02
您可以将OWASP ASVS作为基线。它提供了将软件检查细分为以下几类的相当全面的内容:
Architecture
Authentication
Session Management
Access Control
Input validation and output encoding
Cryptography
Error Handling
Data Protection
Communications
Malicious Code
Business Logic Flaws
Files and Resources
Mobile
API
Configuration
Internet of Things正如您所看到的,这个领域可能非常广泛,所以我建议构建一个经过审查的应用程序的威胁模型,以确定您的方法的优先级--基本上,首先检查最关键的部分。
更进一步,您可以实现语言特定的检查,比如CMU提供的检查。
发布于 2018-10-24 11:28:46
我不担心做个冒名顶替者。您有能够与开发人员联系的开发背景,他们可能会对某个来自安全部门的了解appsec进行更改的人感到兴奋。
但是,除非在范围内只有少数几个应用程序,否则您提议的是一个人无法手动完成的任务太大。
您的部分问题是如何进行代码检查。我从以下视频中得到了很多:https://www.youtube.com/watch?v=7a5nN_sfK1E
https://security.stackexchange.com/questions/196241
复制相似问题