C# .NET应用程序启动非常慢-cryptnet.dll试图访问百慕大的IP

C# .NET应用程序启动非常慢-cryptnet.dll试图访问百慕大的IP,c#,C#,我已经构建了一个.NET控制台应用程序,它已经运行了好几年了。从11月23日开始,在生产环境中运行时需要花费大量的时间(15秒)(从VisualStudio运行时工作正常) 我试图追溯Process Monitor(ProcMon)的运行情况,发现了以下模式: 应用程序正常启动 应用程序加载cryptnet.dll 应用程序进入睡眠状态,我看到一系列TCP重新连接消息,机器试图通过HTTP(似乎在百慕大)到达206.53.176.17 应用程序在cryptnet.dll上查询信息 应用程序尝试

我已经构建了一个.NET控制台应用程序,它已经运行了好几年了。从11月23日开始,在生产环境中运行时需要花费大量的时间(15秒)(从VisualStudio运行时工作正常)

我试图追溯Process Monitor(ProcMon)的运行情况,发现了以下模式:

  • 应用程序正常启动
  • 应用程序加载
    cryptnet.dll
  • 应用程序进入睡眠状态,我看到一系列
    TCP重新连接
    消息,机器试图通过HTTP(似乎在百慕大)到达206.53.176.17
  • 应用程序在
    cryptnet.dll上查询信息
  • 应用程序尝试通过HTTP连接到206.53.176.78
15秒后,一切又开始工作了(我看到当应用程序继续加载的第一件事发生时,可以访问
crypt32.dll

我完全不知所措:问题不仅与我的机器有关,而且所有同事如何使用我的工具都遇到了同样的问题。这似乎与加载应用程序时完成的Authenticode签名验证有关

实际上,当试图通过浏览器查看EXE的数字签名时,单击“详细信息”需要15秒才能查看“数字签名详细信息”面板(没有任何错误)。证书的颁发者定义为:

CN = QV Schweiz ICA
OU = Issuing Certificate Authority
O = QuoVadis Trustlink Schweiz AG
C = CH
它仍然有效(消息上写着“这个数字签名没问题”)


注意:证书的根颁发者恰好位于百慕大…

如果您声称这是一种新行为,我会检查机器是否存在间谍软件/恶意软件/rootkit。
作为一种即时解决方案,请在防火墙和主机文件中阻止此地址。

这听起来像是病毒。我在谷歌上搜索了cryptnet.dll,发现它是一个系统文件。如果你的应用程序没有直接引用它,那么很可能是通过多个抽象层(即通过.NET framework)访问的,并且已经损坏或带有病毒。如果它正在访问百慕大的服务器,几乎肯定是病毒


可能是你的安装程序应用程序被破坏了,是病毒入侵的原因吗?尝试为您的控制台应用程序构建一个新的安装程序,并在新的干净PC构建上尝试

您可以尝试用一个新文件替换
cryptnet.dll
文件,如一位回答者所述:

如果你看到了这个错误…你 需要替换cryptnet.dll文件。 如果您安装了SP1,应该有 servicepackfiles下的一个\i386 文件夹

仅供参考,cryptnet.dll用于SSL 这是一个协议使用时 访问https:sites


检查程序集(Authenticode)上的数字签名可能是导致延迟的原因

摘录自:

Authenticode验证将添加到 启动时间。认证码签名 组件必须通过验证 证书颁发机构(CA)。这 验证可能很耗时, 因为它可能需要连接到 网络下载了好几次 当前证书吊销列表。 它还确保有一个 上的完整有效证书链 指向受信任根的路径。这个可以 转化为几秒钟的延迟 正在加载程序集时


在干净的安装上,我看到完全相同的行为。查看我的编辑,了解在尝试查看EXE的数字签名详细信息时15秒延迟也适用的事实。可能是您的安装程序应用程序已被破坏,并且是病毒的传播途径吗?尝试为你的控制台应用构建一个新的安装程序,并在一个新的干净的PC构建上尝试。你正在为rootkit做准备。这是一种恶意软件,它用恶意版本替换操作系统的合法部分(如DLL)。请在此处阅读更多:。下载这个工具来检查你的系统:(虽然现在可能有更新的版本)。顺便说一句,复制/安装相同的应用程序和/或操作系统只会将rootkit传递到下一个系统。最后,这不是病毒。。。但是证书颁发机构的问题,其服务器无法从我们的地球点访问。我不知道百慕大有证书服务器:)仍然应该使用防火墙阻止。或者,正如我首先发布的,你们刚刚救了我一天,我的TeamCity服务器w/dotcolve.exe出现了这个问题。。。