查看: 901|回复: 6
收起左侧

[求助] 大佬,如何自制多引擎扫描网站?

[复制链接]
rrrrrrrr
发表于 2025-3-10 23:03:13 | 显示全部楼层 |阅读模式
很好奇virustotal的原理,主要是如何调用多种杀毒软件引擎,想着自己也做一个。求大佬解答
wenshui1013
发表于 2025-3-11 08:34:15 来自手机 | 显示全部楼层
可能吗,你能够让那么多其他厂商愿意挂引擎在上面吗...
chx818
发表于 2025-3-11 08:38:05 | 显示全部楼层
来自Grok3 Deepsearch:
“关键要点
构建自己的类VirusTotal系统可能涉及复杂的技术和法律挑战,建议从基本功能开始。
研究表明,需要收集已知恶意软件数据,建立数据库,并开发扫描机制。
证据倾向于建议使用开源威胁情报和安全措施以保护系统。
概述
构建一个类似VirusTotal的系统是一个雄心勃勃的项目,涉及多个技术领域和潜在的法律考虑。以下是逐步指导您如何开始,以及一些意外的细节,例如需要定期更新数据库以保持系统有效。

数据收集与存储
首先,您需要收集已知恶意文件和URL的数据。这可以通过公共恶意软件数据库如MalwareBazaar和PhishTank实现。存储这些数据时,建议使用关系型数据库(如MySQL或PostgreSQL),创建表来存储文件哈希和域名及其声誉。例如:

哈希        是否恶意
abc123        是
def456        否
扫描机制
开发扫描机制是核心部分。对于文件,计算上传文件的哈希(如SHA-256)并与数据库比较;对于URL,提取域名并检查是否在数据库中标记为恶意。这一步可能需要集成开源防病毒引擎如ClamAV,以增强检测能力。

用户界面与安全
创建一个简单的网页界面,让用户上传文件或输入URL,并显示扫描结果。安全至关重要,确保不执行上传文件,使用HTTPS保护数据传输,并定期监控服务器日志。

法律与伦理考虑
存储和分享某些文件或域名的信息可能涉及法律问题,建议咨询法律专家,确保符合隐私和版权法规。

详细报告
以下是构建自己版本的VirusTotal系统的全面指南,涵盖技术细节、挑战和未来扩展。

背景与目标
VirusTotal是一个在线服务,允许用户上传文件或URL,通过多个防病毒引擎检测是否包含恶意内容。自2004年推出以来,它已成为网络安全领域的关键工具,特别是在检测恶意软件和识别误报方面。您的目标是创建一个类似的服务,功能包括文件和URL扫描,聚合结果并向用户呈现。

系统架构
要构建此类系统,需要以下主要组件:

数据收集

数据是系统的核心。您需要从可靠来源获取已知恶意文件哈希和域名。例如:

MalwareBazaar提供恶意软件样本及其哈希。
PhishTank分享已知钓鱼网站域名。
其他来源包括Spamhaus和开源威胁情报平台。
收集数据后,需要定期更新以应对新威胁,这可能需要自动化脚本。

数据存储

建议使用关系型数据库如MySQL或PostgreSQL,创建以下表结构:

文件哈希表

哈希        是否恶意        添加日期        最后检查日期
abc123        是        2025-03-01        2025-03-10
def456        否        2025-03-02        2025-03-09
域名表

域名        是否恶意        添加日期        最后检查日期
example.com        是        2025-03-01        2025-03-10
safe-site.org        否        2025-03-02        2025-03-09
这些表允许快速查询,并可扩展以存储更多元数据,如检测来源或威胁类型。

扫描机制

文件扫描:当用户上传文件时,使用Python的hashlib库计算SHA-256哈希,然后查询数据库。如果哈希存在,返回其声誉;如果不存在,可选择显示“未知”或进一步分析。
URL扫描:使用tldextract库提取URL的域名,查询数据库检查是否标记为恶意。对于指向文件的URL,可选择下载文件并扫描,但需注意安全风险,建议使用沙箱环境。
高级选项:集成开源防病毒引擎如ClamAV,或开发机器学习模型检测未知威胁,但这需要大量计算资源和数据。
用户界面

建议使用Web框架如Flask或Django,创建一个简单的界面:

文件上传部分:允许用户选择文件,提交后显示扫描结果。
URL输入部分:文本框输入URL,提交后显示域名声誉。
结果显示:清楚表明文件或URL是否恶意,并提供额外信息(如检测引擎数量)。
界面应用户友好,包含清晰的说明和错误处理。

安全措施

由于处理潜在恶意内容,安全至关重要:

使用HTTPS保护数据传输。
上传文件时,存储在临时目录,限制权限,不执行文件,仅读取哈希。
使用Web应用防火墙(WAF)防御常见攻击。
定期更新服务器操作系统和依赖项,监控日志以检测异常活动。
测试与部署

测试包括:

使用已知恶意和良性文件/URL测试系统准确性。
测试边缘情况,如超大文件、无效URL。
部署时,选择云平台如AWS或GCP,确保服务器配置安全规则和访问控制。
挑战与考虑
构建此类系统面临以下挑战:

数据准确性与完整性:数据库的质量直接影响检测效果。需要可靠来源,并定期更新。
可扩展性:随着用户增加,需确保服务器能处理高负载,可能需要分布式架构。
法律与伦理:存储和分享信息可能涉及隐私法(如GDPR)或版权问题,建议咨询法律专家。
系统安全:处理恶意文件风险高,需确保服务器不被攻破。
维护成本:持续更新数据库和系统需要资源,可能需要自动化工具。
未来扩展
一旦基本系统运行,可考虑以下增强:

集成更多防病毒引擎,提升检测能力。
使用机器学习模型检测未知威胁,需准备大型训练数据集。
允许用户报告误报或误检,构建社区反馈机制。
提供详细报告,包括威胁类型、首次发现日期等。
意外细节
一个可能未预料到的细节是,定期更新数据库不仅是技术需求,还可能涉及与数据提供方的合作协议,可能需要支付费用或遵守使用条款。此外,URL扫描可能需要处理动态内容(如JavaScript生成的内容),这增加了复杂性。

结论
构建自己的类VirusTotal系统是一个复杂但可行的项目。从基本哈希和域名检查开始,逐步扩展功能,同时确保安全和法律合规。通过上述步骤,您可以创建一个功能性的恶意软件检测平台,为用户提供类似VirusTotal的服务。”
yxzdennis
发表于 2025-3-11 09:30:11 | 显示全部楼层
如果个人单纯想做一个类似VT的网站 起码后台部署的服务器得虚拟化多台测试机吧 每台测试机安装一个不同的安软 然后脚本检测软件的检测状态 除非你和安全厂商合作让他们开放api 我认为这是一个很粗糙的方向 感觉不是一个很简单的事情 后面服务器的性能要求就很高 还有安软的购买/授权费用 还有服务器的维护费用 另外带宽费用也是大头 防ddos也得做吧 waf也得部署吧 存储也是不少的费用 还有更多的技术细节 我也不太懂 更多的还得问大佬
liu浪的人
头像被屏蔽
发表于 2025-3-11 10:57:33 | 显示全部楼层
现实点,不要幻想
LastF1ame_
发表于 2025-3-11 11:14:07 | 显示全部楼层
感觉先能拿到引擎api再说吧
123回家
发表于 2025-3-11 20:51:25 | 显示全部楼层
买到引擎的事先不说,单论你哪来的服务器和虚拟机,并且还要企业邮箱。。。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-4-16 22:41 , Processed in 0.231621 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表