Javascript 威胁模型文件

Javascript 威胁模型文件,javascript,perl,apache,threat-model,Javascript,Perl,Apache,Threat Model,我正在为我托管的一个应用程序编写一个威胁模型文档。它是一个Apache网站,允许用户登录,通过添加一些最畅销的产品创建他们的小部件等。有人能给我一些如何开始的建议吗 前端使用javascript+perl,后端使用cpp。我们确实接受来自用户的敏感信息,如他的姓名、SSN等,我们还提供存储会话id 我可以通过哪些方法来识别应用程序中的安全漏洞?我应该怎么开始呢 哪些领域应该成为文档的一部分 我应该阅读哪些威胁,如DoS等 请尽可能多的人思考打破系统的方法。他们很可能会想到你不会想到的事情。跳出

我正在为我托管的一个应用程序编写一个威胁模型文档。它是一个Apache网站,允许用户登录,通过添加一些最畅销的产品创建他们的小部件等。有人能给我一些如何开始的建议吗

前端使用javascript+perl,后端使用cpp。我们确实接受来自用户的敏感信息,如他的姓名、SSN等,我们还提供存储会话id

  • 我可以通过哪些方法来识别应用程序中的安全漏洞?我应该怎么开始呢
  • 哪些领域应该成为文档的一部分
  • 我应该阅读哪些威胁,如DoS等

    • 请尽可能多的人思考打破系统的方法。他们很可能会想到你不会想到的事情。跳出框框思考至关重要


      正确的威胁树分析从一系列不良结果开始(“敏感数据泄漏”、“服务器被劫持以承载恶意软件/发送垃圾邮件/成为僵尸网络的一部分/无论什么”、“公司被盗用信用卡详细信息所欺骗”,希望你能想到更多)并反向工作:发生这种情况需要什么?通常,你会发现每个坏结果都会有几个必要的启用事件-因果链-通过比较,你可以确定弱点并深入规划防御。

      这可能无助于构建威胁模型文档,但是OWASP可能会帮助您根据行业最佳实践验证应用程序的设计。

      我不是安全方面的专家,但这是我的两分钱

      1) 您可以放心地认为javascript是完全不安全的,因为您无法真正控制它的执行

      2) 因此,perl部分是第一道防线。阅读入门读物

      应检查包含
      eval
      、倒勾、
      system
      open
      的Perl代码(始终使用树参数open,以确保正确)

      此外,还应审查缺少严格警告的代码,最好是重写

      未彻底检查有效性的任何输入都是可疑的。当然,任何未经处理的输入(只有系统存储的用户文件除外)都不应该到达后端

      3) 根据我最近的经验:

      • 我们对JSON进行了反序列化,其基础是将输入提供给regexp,然后对其进行
        eval
        。我已经成功地将perl代码传递给大家失败

      • 我们有一段代码是模糊的,没有严格要求,没有任何注释,并且依赖于外部程序的某些行为,这迫使我们使用过时的ssh版本失败。(我承认没有重写它)

      • 我们有
        open(FD,“$file”)。在引导
        /
        时,
        已从$file中删除,显然没有检查管道符号(
        |
        )。可以提供精心编制的命令,而不是文件名失败。始终使用三个参数打开。system/exec也是如此:只有@array variant可以,不要依赖愚蠢的
        ls'$file'


      我将感谢其他人的补充和/或更正

      有关威胁建模的方法,请查看MyAppSecurity的。从高级体系结构图中可视化您的应用程序非常容易,可以识别潜在的威胁,并找到安全代码和安全控制方面的补救控制

      干杯

      免责声明:

      我既不是安全专家,也不是合规专家,也不是律师。不要从表面上接受这个建议。处理机密信息时,您应寻求专家建议

      遵守和管理条例。 我真的无法为您总结,请您阅读:

      美国:FISMA和FIPS (包括但不限于……)

      有标准和法律

      FIPS 199:

      FIPS 200:

      回到问题上来。。。 我们接受用户的敏感信息,如他的姓名、SSN等

      FIPS 199和200将为您提供评估需要做什么的良好起点

      我可以通过哪些方法来识别应用程序中的安全漏洞

      • 请专家审查您的战略
      • 花钱请专家做笔试
      • 为负责任的披露向黑客付费
      • 查看常见漏洞和暴露(CVE)数据库:
      • 查看漏洞利用数据库:
      e、 对于perl

      我应该怎么开始呢

      从信息治理(IG)的定义开始:

      评估信息的使用方式和位置

      使用CVE/exploit数据库中的相关信息为您自己的软件编写渗透测试

      哪些领域应该成为文档的一部分

      我发现使用系统架构图有助于确定哪些部分需要独立测试和隔离;以及保护哪些边界

      如果您已经阅读了前面的章节,那么您应该对可以在文档中放置的内容有一个很好的了解

      我应该阅读哪些威胁,如DoS等

      这些在CVE/Exploit数据库中列出