File upload 抗干扰文件扫描实时检查&;AMSI验证

File upload 抗干扰文件扫描实时检查&;AMSI验证,file-upload,malware,antivirus,virus-scanning,antivirus-integration,File Upload,Malware,Antivirus,Virus Scanning,Antivirus Integration,我想直接扫描内存文件中的恶意软件内容,我想知道哪种方法最好 我负责改进在.NETCore和Angular中开发的web应用程序的网站安全策略 我阅读了OWASP的建议,其中之一就是扫描文件中的恶意软件 我已经确定了两种扫描文件的方法:从云调用第三方API或调用AMSI接口。通过互联网给第三方打电话对我来说不是一个选择,因为客户希望在本地进行验证 什么是AMSI: Windows反恶意软件扫描接口(AMSI)是一种多功能接口标准,允许您的应用程序和服务与计算机上的任何反恶意软件产品集成。AMSI为

我想直接扫描内存文件中的恶意软件内容,我想知道哪种方法最好

我负责改进在.NETCore和Angular中开发的web应用程序的网站安全策略

我阅读了OWASP的建议,其中之一就是扫描文件中的恶意软件 我已经确定了两种扫描文件的方法:从云调用第三方API或调用AMSI接口。通过互联网给第三方打电话对我来说不是一个选择,因为客户希望在本地进行验证

什么是AMSI:

Windows反恶意软件扫描接口(AMSI)是一种多功能接口标准,允许您的应用程序和服务与计算机上的任何反恶意软件产品集成。AMSI为最终用户及其数据、应用程序和工作负载提供了增强的恶意软件保护。 Windows AMSI界面已打开。这意味着任何应用程序都可以调用它;任何注册的反恶意软件引擎都可以处理提交给它的内容

我选择从.net core调用AMSI接口来分析恶意软件内容的http请求,但我的测试在某些服务器上无法运行,在这些服务器上,Symantec endpoint protection作为反病毒提供商和AMSI订户安装。AMSI似乎被绕过了

当我使用eicar标准内容测试对AMSI的调用时,AMSI返回结果,就好像没有检测到恶意软件一样,即使我有一篇包含恶意软件内容的帖子。这就是AMSI似乎被绕过的原因

你知道我能做些什么来修复它吗?为什么要绕过AMSI?我应该检查或考虑什么


开发一个windows服务来扫描队列中的文件并运行.bat,以便向防病毒程序发出扫描文件的命令,这样会更好吗?是否有任何第三方web api可以在本地安装?

我也在寻找用于AV扫描的.NET api,但似乎没有太多。 AMSI是一个新标准(从Win10开始),但似乎只适用于“无文件扫描”(即字符串和blob)。下面是一篇关于.NET库的好文章:

我还发现了一个相当活跃的开源扫描仪: 以及.NET中的一个用于扫描内存的库(尽管从2017年开始就非常古老):

每个商业企业级AV都有某种Web API,但没有标准-因此每个AV都需要单独开发

我尝试了排队和手动运行CLI AV的方法(以我的Windows Defender为例),但扫描一个文件平均需要2分钟以上(对于您的用例来说可能已经足够好了)。主要的好处是它可以是通用的,并且支持任何具有CLI的AV,但是在控制台中排队和运行也是一个主要的安全(和内存泄漏)风险(更不用说在Azure AppService这样的云托管实例中运行会很棘手/昂贵)

令人惊讶的是,在2021年,我们仍然没有AV扫描的标准