代码之家  ›  专栏  ›  技术社区  ›  Michael Howard-MSFT

您采用了哪些安全的软件开发实践?

  •  9
  • Michael Howard-MSFT  · 技术社区  · 16 年前

    我在微软从事一个名为安全开发生命周期(SDL)的项目( http://microsoft.com/sdl )-简而言之,这是一组产品组在发货前必须使用的实践,以帮助提高安全性。

    在过去几年中,随着客户要求了解更多关于我们所做工作的信息,我们发布了大量SDL文档。

    但我想知道的是:

    1. 为了提高产品的安全性,您在组织内部做了哪些工作?
    2. 什么有效?什么不起作用?
    3. 你是如何让管理层同意这项工作的?

    谢谢

    3 回复  |  直到 16 年前
        1
  •  2
  •   Jeff Moser    16 年前

    老实说,阅读 your book 这是一个好的开始。:-)

    回答您的问题:

    1. 加密是我的一个爱好,我有时会在博客上写它(例如 TLS AES ).在编写了自己的AES实现之后,我学到了足够多的知识,毫无疑问地知道,我永远不应该使用自己的实现,而应该使用CryptoAPI和OpenSSL开发人员编写的实现。

      • Code reviews 在那里,擅长安全问题的人被标记为需要的人。
      • 与实验室一起在现场上课,以提高对书中提到的问题以及讨论新问题的内部邮件列表的认识。
      • 有几个人听音乐 Security Now podcast 及时了解存在哪些类型的问题以及哪些问题受到攻击。这会间接影响设计。
    2. 除了现场课程和购买代码审查工具,这些都不需要管理层批准。

        2
  •  1
  •   user23743 user23743    16 年前

    我是一名独立mac开发人员,也是一名平台安全布道者:我是Wrox出版的Pro Cocoa应用程序安全的作者。在那本书中,我支持我自己使用的安全开发技术:它基于Swiderski和Snyder威胁建模,但有两个变化。我通过考虑哪些入口点在不使用DFD的情况下访问哪些资产来减轻它的重量。我还更加关注识别用户和误用用户,我认为这使其更适用于收缩包装软件。

    就工具支持而言,我使用了Xcode静态分析器(基于clang),但发现它没有检测到一些常见的漏洞。不过我确实把bug归档了:-)。我也总是使用gcc _FORTIFY_SOURCE宏。没有好的Mac风险分析工具,但我正在研究…;-)

    我已经在会议和播客上向Mac开发者谈论过安全问题,并获得了大量反馈,如果你想让我澄清我说过的任何话,或者对社区反馈感兴趣,请在评论中询问。欢迎私人提问(尽管我更愿意留在论坛上):我在securemacprogramming 通用域名格式。

        3
  •  0
  •   Thomas Pornin    16 年前

    我们在编码之前先思考。奇怪的是,它避免了许多漏洞,包括那些可被敌对方利用的漏洞,因此被称为“安全漏洞”。

    其中一个诀窍是,除非有足够的经验和专业知识,否则不要让任何人靠近键盘。

    推荐文章