如何确保.net系统在部署时没有病毒?

时间:2014-07-24 18:02:24

标签: .net security

这在很大程度上是可能的,但在法律世界中似乎是相关的。在当前的合同中,我们未来的客户希望我们同意我们的系统通常不含任何类型的病毒,蠕虫和恶意代码。显然我们的系统是,但你开始思考。如果某人以某种方式破坏并感染了编译器以在完成的系统中放置某些内容,或者他们以某种方式找到了您的来源并放入了某些内容,那么该怎么办?再次,我认为这些不太可能,但如果我们必须保证我们的软件免于这些东西,似乎应该至少考虑一下。到目前为止,一个想法是在编译时注意文件大小,并且通过知道大小永远不会上升,你应该是好的。再一次,编译器再次在这里发布,但可能不像添加到源代码那么担心。其他公司如何做到这一点,或者其他人不担心这些细节?

添加*** 是的他们是偏执狂,但是当涉及到0.00001%的风险时,每个人都有点偏执。在这种情况下,他们要求我们说系统中没有任何内容我们发送它们。因此,我猜测它不是可能存在于源头中的问题,而是可以获得对dll的访问,然后将它们发送出去。我认为你们可能是对的,我们可能在以下领域表现出色:

  • 如果在他们已安装到他们所在位置后添加了某些内容。
  • 我们会知道编译器或源代码中是否存在某些内容并将其捕获

我猜主要的问题是除了检查文件大小,我们怎么知道有什么东西被添加到我们的dll中?

我认为我们可以在发送时使用病毒扫描,但之后我一直在读取防病毒工具越来越不可靠,甚至可能会丢失高达50%的威胁?

2 个答案:

答案 0 :(得分:2)

您可以通过拥有跟踪代码库所有更改的源代码控制来实现这一目标,以便您可以看到更改的位置,仅从已签入的源代码管理系统构建代码的自动构建流程,以及测试的强大QA流程所有版本都在向公众发布之前。

答案 1 :(得分:2)

正常的蠕虫和病毒不会污染.NET应用程序,不会更改源代码管理系统的代码,也不会更改C#编译器。虽然代码审查有助于找到奇怪的签到,但您可能希望专门的攻击者也能破解源代码控制系统,以免这些变化被忽视。

因此,如果您遇到这种情况,那么您正在谈论作为软件组织的非常专业且有针对性的攻击。可能是攻击者技术娴熟,可能要么付出很多,要么就是政府工作。因此,只有当您或您的客户拥有对其竞争对手或某些政府非常有价值的信息时,才会发生这种情况。

您的组织应确定风险是什么,但我会说,对于大多数正常开发公司而言,此类专门攻击的变化相当有限。现在运行防病毒软件并进行代码审查仍然是常识。但不要忘记,您的客户不能忽视自己的责任。如果它的业务非常有价值且有理由期待这种针对性攻击,那么它们应该在安装之前通过病毒扫描程序运行您的软件,并分析和审查您的软件以获取线程。

但在正常情况下,我认为客户期望您的软件不受任何“病毒,蠕虫和恶意代码”的影响是合理的。你的公司当然应该有一份涵盖这类事情的保险。