- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经阅读了 Fortify 静态检查工具的一些文档。该工具使用的概念之一称为污点。某些来源(例如 Web 请求)提供的数据以一种或多种方式受到污染,而某些接收器(例如 Web 响应)则要求数据不受污染。
Fortify 的好处是您可以拥有多种类型的污点。例如,您可以标记 srand
输出 NON_CRYPTO_RAND
然后要求在将变量用于加密目的时不存在此污点。其他示例包括非绑定(bind)检查号码等。
是否可以使用 Haskell 中使用的更强大的静态类型系统或其他具有更复杂类型系统的编程语言来建模污点?
在 Haskell 中,我可以做 Tainted [BadRandom,Unbounded] Int
之类的类型。但是用它们计算似乎相当困难,因为这种新类型的约束也是不限制污点的操作。
有更好的方法来实现这一点吗?关于该主题的任何现有工作?
最佳答案
不是一个完整的解决方案(=很好的现有方法),但有一些提示:
我知道的关于 Haskell 中安全信息流的两篇论文是 Li and Zdanevic, 2006 (其中一位作者也参与了 Jif )和 Russo et al., 2008 .两者都从相反的角度处理您的“污染”,即通过已知它们的安全程度来标记值,并使用点阵结构对不同的安全级别进行排序——但解决的问题应该与您描述的相同。
第一种方法使用箭头与值一起传递安全信息(类似于 StaticArrow
,我认为),因此动态检查信息流策略(即,如果您尝试访问不允许访问的值,则会发生运行时错误使用权)。
第二个基本上使用一个标识单子(monad),该单子(monad)用一个类型标签索引,指示所包含值的安全级别,因此在编译时运行。但是,为了在不同的安全级别和更复杂的东西之间进行转换,他们使用 IO
包装单子(monad),所以他们的系统又不是完全静态的。正如您在评论中提到的,这里问题的根源似乎是不同标记的单子(monad)不兼容。
当我为一个大学研讨会研究这些论文时,我还重新实现了一些代码,然后玩弄它,试图避免诉诸IO
。 .结果之一是this ;也许这种修改可能是一个有用的实验(虽然我没有做任何真正的测试)。
最后,我真正希望看到的一件事是将这些方法与依赖类型结合起来。将 Agda 的全部力量用于这样的任务似乎是正确的方向......
关于security - 在 Haskell 中从 'Taint mode' 复制 'Fortify static checking tool',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488252/
Fortify SCA 和 Fortify SSC 有什么区别。这些软件生成的报告有什么区别吗? 我知道 Fortify SSC 是一个基于 Web 的应用程序。我也可以将 Fortify SCA 用
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
使用sourceanalyzer,如何在翻译过程中提供多个文件/路径排除项? 下面的示例来自:Fortify SCA exclude test folder\files /src/main/xyz/p
我们运行了 Fortify 扫描并遇到了一些访问控制:数据库问题。该代码正在获取文本框值并将其设置为字符串变量。在这种情况下,它将值从 TextBox 传递到数据库中的存储过程。关于如何解决此访问控制
对于我的 Controller 中的大多数操作方法,HP fortify scan 给我一条消息作为Mass Assignment: Insecure Binder Configuration (AP
我正在尝试获取一份报告,其中仅包含自上次扫描以来的最新问题,并且是在命令行中。例如: 扫描 1:5 个问题 扫描 2:8 个问题 我想要的:一份只显示最新 3 期的报告 到目前为止,这是我的命令: .
作为自动化运行安全代码分析过程的一部分,我有一个 Jenkins 作业,它使用 sourceanalyzer 命令行工具生成一个 .fpr 结果文件。目前,我正在 Audit Workbench 应用
Fortify Audit Workbench 是否有任何命令行选项可以让我将其放入 cron 作业并每天运行它? 扫描需要两个多小时,我希望它能连夜运行并在早上看到结果。 杰森 最佳答案 Audit
我有多个项目由一个父 pom 绑定(bind)。 如果我使用 Maven 强化插件在父 pom 上运行强化扫描,则会生成每个项目的 fpr 文件。我想为所有项目生成一个 fpr 文件。是否可以 ? 谢
全部,我正在尝试对代码存储库进行静态扫描,但 HP Fortify SCA 和应用程序 4.42 中的扫描向导不会为扫描创建批处理文件。 我可以添加项目根目录,然后系统会找到所有文件,大约 18,00
我们正在运行强化以检查安全漏洞和声纳以进行代码清理。 我想知道我们是否可以在 fortify 中启用静态代码分析并摆脱 sonar/pmd/findbugs 等。 我有一个 java 项目,将使用 f
翻译和扫描目标适用于我们正在扫描的项目。 但我们仍在手动进行合并;即我们搁置最后一次扫描的 .fpr 文件并通过 Maven 再次运行扫描,然后使用 Fortify Workbench 合并两个 .f
我想知道用于获取强化网站中所有漏洞的 REST API。 就像我可以通过点击' https://fortifyssc.xxx.com//api/v1/projects?q=id 来获取应用程序的详细信
我需要使用 Fortify 检查在我的项目中使用的第三方库中的漏洞(如果有)。 对于一些第三方库,我无法访问他们的源文件。我只有随附的 .jar 文件。 是否可以在 .jar 文件上运行 Fortif
我一直在尝试研究这个问题,而我有限的编译经验阻碍了我解决这个问题的能力。 基本上,我有一些代码是用 Qt Creator 编写的,然后用这些构建步骤构建: qmake.exe [project nam
我使用 HP Fortify SCA 4.10 进行扫描。现在我想将原始结果导出为 Excel 格式以进行数据按摩以生成数据透视表。任何人都可以建议一种简单或困难的方法来做到这一点。 最佳答案 引用此
使用 Fortify Audit Workbench 应用程序出现以下错误: [错误]:解析 *.js 时出现意外异常com.fortify.sca.analyzer.a:没有足够的内存来完成分析。有
我创建了一个默认的 .Net Core 1.0.1 类库并更改了 project.json 中的 buildOptions 以包含 debugType:“Full”。我使用 16.11 使用了集成的
我有一个在 AWB 中打开的 Fortify FPR 扫描文件。我想生成一份报告,其中包含发现问题的所有实例。当我生成报告时,它会按类型及其计数生成问题报告,在类型下方,我还会获取发现问题的某些文件的
我们如何使用命令生成 FortiFy 报告???在 Linux 上。 在命令中,我们如何仅包含一些文件夹或文件进行分析,以及如何提供存储报告的位置。等等。 请帮忙.... 谢谢, 卡尔蒂克 最佳答案
我是一名优秀的程序员,十分优秀!