首页 文章

在构建过程中扫描病毒

提问于
浏览
1

我想将病毒扫描结合到Java / Maven / Hudson构建过程中 . 不幸的是,我在这种构建步骤的专用工具上找不到任何资源 . 我的构建环境是基于Linux的 .

我的问题是: How can antivirus scanning be incorporated into a Maven and Hudson based build process?

什么是最佳做法?

  • 扫描步骤是否应与正常构建分开,例如预构建步骤甚至是单独的构建工作?

  • 扫描是否应在包装的后期进行,所有的文物已经打包到jar文件中或者在过程的早期?

  • 每个发布的人工制品是否都包含一个扫描仪日志文件,用于确定正在使用的防病毒工具,病毒定义文件的版本和日期?

使用哪种防病毒软件超出了本问题的范围 . (例如,我想使用商业供应商支持像ClamAV这样的免费工具)

4 回答

  • 1

    病毒来自哪里?

    我还没有看到可以修改源代码的病毒,因此源代码可能是安全的(好吧,除非你不相信你的开发人员) .

    因此病毒可以隐藏在其中一个构建工具中并尝试修改JAR . 这里的工具是tripwire:它将为所有文件创建校验和,并且构建工具不应该更改(除非您安装新版本;然后您必须再次运行tripwire) .

    如果构建工具是安全的,您只需要一个保护操作系统的AV工具(因此打开和写入文件等功能是安全的) . 请使用贵公司的标准AV .

    要使整个过程非常紧凑,您可以在构建新版本之前再次构建最后一个版本 . 旧版本的校验和不应更改(但要注意文件中的时间戳) .

  • 1

    最佳做法是在不常被病毒攻击的平台(即操作系统)上运行构建 .

    最佳做法是在构建平台上的操作系统级别运行防病毒扫描程序 .

    最佳做法是与您的操作系统补丁保持同步,锁定防火墙,并且不要安装可能已在家庭网络上受感染的USB密钥等 .

    我从来没有听说过“感染”源代码,.class文件或JAR文件的病毒 . 我认为它们是可能的,但商业AV产品很有可能不会注意到它们,因为它们不常见 . 当然,AV产品无济于事是该病毒专门针对您/您的公司 .

    但假设您确实有一个您认为可行的AV产品,您可以在旋转“发布版本”之前进行AV扫描 . 我不知道有什么插件会自动完成这项工作,但是让Maven运行“某些批处理文件”并不难发生通过命令行调用病毒检查程序 .

  • 0

    您需要一个可编写脚本的防病毒程序 .

    如果你有这个,应该很容易添加一个“扫描我刚 Build 的”步骤 .

    我相信McAfee有一个Linux版本可能正是您所需要的 .

  • 0

    如何将防病毒扫描整合到基于Maven和Hudson的构建过程中?

    如果真的这是一个问题,我认为你的安全团队应该强迫你(和maven)通过运行某种防病毒的代理 . 这将是 right 做事的方式 .

    但是,在我看来,从存储库中获取恶意代码的可能性接近于零,特别是对于广泛使用的库(有这么多用户,我怀疑在你获得该代码之前没有人会注意到问题)我敢打赌被(网络)邮件,USB密钥,下载软件感染的概率要高得多 . 我知道这不是一个答案,但严重的是,安全政策有时是荒谬的 .

相关问题