Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows反恶意软件扫描界面-ASP.NET/IIS_C#_Asp.net_Iis - Fatal编程技术网

C# Windows反恶意软件扫描界面-ASP.NET/IIS

C# Windows反恶意软件扫描界面-ASP.NET/IIS,c#,asp.net,iis,C#,Asp.net,Iis,有没有人有过从ASP.NET调用AMSI的经验?我有一个允许用户上传文件的web应用程序,我们希望在将每个文件保存到DB并让其他用户可以下载之前对其进行病毒扫描 我已经针对Windows AMSI进行了开发,当在我的机器上本地运行(IISExpress from VS)时,它工作正常(我的测试用例是它拒绝文本文件中的EICAR测试字符串) 但是,当我构建应用程序并将其放到测试服务器(运行IIS 10)上时,测试文件并没有被作为恶意软件拾取。初始化界面时,我得到了所有正确的返回码,扫描文件时,我得

有没有人有过从ASP.NET调用AMSI的经验?我有一个允许用户上传文件的web应用程序,我们希望在将每个文件保存到DB并让其他用户可以下载之前对其进行病毒扫描

我已经针对Windows AMSI进行了开发,当在我的机器上本地运行(IISExpress from VS)时,它工作正常(我的测试用例是它拒绝文本文件中的EICAR测试字符串)

但是,当我构建应用程序并将其放到测试服务器(运行IIS 10)上时,测试文件并没有被作为恶意软件拾取。初始化界面时,我得到了所有正确的返回码,扫描文件时,我得到了一个有效的结果(未检测到)

有人有什么想法吗?我在本地运行Windows 10,服务器为2016。我注意到的一件事是,在网站上,它在支持的服务器旁边声明了[仅限桌面应用程序]。这是否意味着没有UWP?或者,这也意味着不能作为服务运行

干杯,
安迪

我头痛了很久才发现问题。开箱即用的Windows Defender似乎会自动将IIS进程从恶意软件检查中排除。这样做的效果是扫描方法不会拒绝恶意软件


可以关闭自动排除功能。

我确认关闭自动排除功能有效。在Windows server 2016上,使用本地组策略编辑器,这将导致AMSI从IIS开始工作。在Windows 10上,在病毒和威胁保护下,为进程w3wp.exe添加排除会导致AMSI停止工作。因此,排除是罪魁祸首

我不清楚为什么会有这种行为。Windows Defender不应干扰操作系统的关键部分,以免造成损坏。有一个不需要扫描的零件排除列表是可以理解的。因此,给定标准排除列表,Defender将不会扫描IIS进程。然而,我们的路线正好相反。在IIS中,我们要检查用户上传的恶意软件。IIS将有效负载发送到AMSI。AMSI将有效负载发送到Windows Defender。Defender应扫描有效负载以查找恶意软件。为什么决定:这是IIS的请求,不需要扫描负载,只需返回负载是干净的?如果有人能解释这一逻辑,我将不胜感激

我们不想关闭自动排除功能。这将使生产系统处于危险之中。排除是有原因的

我们仍然希望使用AMSI;我们喜欢为本地安装的病毒产品提供与供应商无关的接口。现在我们考虑下面的解决方法:从IIS启动命令行EXE,然后再与AMSI对话。可能使用匿名管道将负载从IIS发送到命令行进程。命令行将有效负载转发给AMSI,AMSI将有效负载转发给Windows Defender。Defender将扫描有效负载,因为请求进程的名称是命令行的名称,而不是w3wp.exe或排除列表中的其他名称


对此方法不太满意,但它应该有效。我们欢迎您提出改进建议。

谢谢,您也遇到了同样的问题,这就解决了问题。在你的情况下IIS运行得慢吗?嘿,对不起,我只是看到了这条评论(我只有在需要帮助时才来这里!)。我预计这将导致某些地方的系统减速,显然这意味着Windows Defender将运行更多的检查。我们的网站是利基/非大众市场,因此我们对恶意软件安全方面的兴趣大于速度。