网络安全:利用API扫描恶意页面和文件
互联网是一个充满各种信息的巨大场所,但也潜藏着恶意网页的威胁。令人担忧的是,这些恶意页面甚至可能存在于我们客户或供应商的网站上。
在当今的商业环境中,企业几乎无法避免与客户或供应商网站的互动,无论是获取信息还是提供数据。这些互动是业务运作的基础,但同时也带来了潜在的安全风险。外部网站上可能存在恶意内容,无论是有意植入还是被第三方破坏,都可能对您的系统造成灾难性后果。
那么,我们能否通过人工方式扫描网站以查找恶意页面呢?
理论上,一个技术娴熟的开发人员应该能够扫描网页并识别漏洞。然而,现实情况远比想象的复杂:
- 开发人员的主要职责是构建复杂的软件系统,而非专注于安全检测。他们的专业技能在于整合各个子系统,因此可能缺乏必要的安全知识。
- 即使拥有一流的开发人员,这项任务也过于繁重。一个典型的网页可能包含数千行代码,要从中识别出潜在的漏洞,如同大海捞针。
- 为了优化页面加载速度,网站通常会对 CSS 和 JavaScript 文件进行压缩和混淆,使得代码难以阅读和分析。
您能轻易理解这段代码的功能吗?
即使看起来可读的代码,也可能是因为作者特意保留了具有意义的变量名。如果查看经过混淆的 jQuery 源代码(其中部分代码可能被篡改过),情况则会大不相同:
这还只是一个脚本的情况。一个网页通常会加载多个脚本,而我们每天可能需要访问多个网页,这使得手动扫描几乎不可能实现。
幸运的是,现在有许多API可以帮助我们快速扫描URL和文件,从而实现自动化安全检测。这些API不仅可以扫描网页,还可以扫描需要下载的文件。接下来,我们将介绍一些有用的API工具。这些工具可以通过API集成到网站扫描工具中,从而减轻开发人员的负担。
谷歌网络风险
谷歌作为互联网巨头,其提供的网页检查工具并不令人意外。谷歌网络风险 目前仍处于测试阶段,需要申请 才能使用。尽管处于测试阶段,但该API的简单性意味着开发人员可以轻松地集成它到他们的监控工具中。
使用该API非常简单。通过发送如下的请求,即可检查单个页面:
curl -H "Content-Type: application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http%3A%2F%2Ftestsafebrowsing.appspot.com%2Fs%2Fmalware.html"
如果请求成功,API将返回页面上存在的漏洞类型,例如:
{ "threat": { "threatTypes": [ "MALWARE" ], "expireTime": "2019-07-17T15:01:23.045123456Z" } }
需要注意的是,谷歌网络风险API并非实时诊断工具,而是通过查询谷歌维护的黑名单来判断URL是否安全。因此,该API的结果虽然具有一定的参考价值,但不能保证绝对安全。
病毒总数
病毒总数 是一个强大的平台,不仅可以扫描URL,还可以扫描文件。该平台提供免费的社区版本和商业API版本。只需访问该网站,即可开始使用。
商业API版本提供了以下高级功能:
- 更高的请求速率和每日配额。
- 通过多种防病毒引擎扫描资源,并提供详细的诊断信息。
- 对提交的文件进行沙箱分析,监控可疑活动。
- 使用各种参数查询病毒总数数据库。
- 严格的SLA和响应时间保证。
对于企业而言,病毒总数API是一个值得投资的强大工具。
斯堪尼
斯堪尼 是一个简单的REST API,专注于扫描文档和文件中的威胁。它可以看作是一个可以按需运行和扩展的病毒扫描程序。
斯堪尼的主要功能包括:
- 检测恶意软件、网络钓鱼脚本、垃圾邮件内容和不适合工作场所的内容。
- 基于Amazon S3构建,易于扩展且存储安全。
- 检测超过23种语言的攻击性或潜在危险文本。
- 提供简单、专注的基于API的文件扫描方法。
斯堪尼的核心优势在于它是一个元引擎,使用多个底层引擎执行扫描,这意味着您不必依赖于特定的安全引擎。这对于依赖用户生成内容或需要扫描来自不可完全信任的供应商文件的平台尤为重要。
元防御者
对于需要更加全面的安全防护的企业来说,元防御者 是理想的选择。它可以被视为位于核心数据资产和外部网络之间的安全守门人。
元防御者的核心理念是“假设所有文件都可能被感染”。因此,它不依赖于检测,而是通过安全有效的流程重建文件内容,以确保安全。元防御者提供以下功能:
- 数据丢失防护:能够识别和保护文件中的敏感信息。
- 可本地或云端部署。
- 支持30多种压缩格式和4500种文件类型。
- 提供多渠道部署,保护文件、电子邮件、网络等。
- 自定义工作流程,可以根据规则应用不同的扫描管道。
元防御者集成了30多个扫描引擎,并对这些引擎进行抽象处理,让用户无需关注细节。对于需要高度安全防护的大中型企业来说,元防御者是一个不错的选择。
网址扫描.io
如果您的主要目标是分析网页,那么网址扫描.io 是一个强大的工具,可以提供深入的分析信息。
网址扫描.io 可以提供大量的网页信息,包括:
- 页面连接的IP地址列表。
- 页面发送信息的地理位置和域名列表。
- 网站前端和后端使用的技术。
- 域名和SSL证书信息。
- 详细的HTTP交互信息,包括请求和响应。
- 隐藏的重定向和失败的请求。
- 传出链接。
- JavaScript分析。
- DOM树分析。
以下是分析结果的示例:
该API使用简单,允许您提交URL进行扫描,并查看历史扫描记录。网址扫描.io为企业和个人用户提供了丰富的信息。
苏库里
苏库里是一个知名的网站安全平台,提供在线扫描网站以查找威胁和恶意软件的服务。 您可能不知道的是,他们也提供了REST API,可以使用程序方式利用相同的功能。
该API简单易用,且运行稳定。苏库里除了扫描API外,还提供了其他强大的功能,例如服务器端扫描,您可以提供FTP凭据,苏库里会登录并扫描所有文件以查找威胁。
奎特拉
奎特拉 提供了按需扫描域名和页面的服务,以及持续监控,以帮助您避免零日漏洞。
该REST API简单且强大,可以返回JSON、XML和YAML等多种格式。扫描支持多线程和并发,允许您并行运行多个扫描任务。该服务实时运行,对于那些从事关键任务产品的公司来说,停机时间意味着巨大的损失,因此该服务非常有价值。
总结
本文介绍的安全工具只是一道额外的安全防线。就像防病毒程序一样,它们可以发挥重要作用,但不能提供万无一失的扫描方法。因为恶意程序和正常程序在计算机看来都只是请求系统资源和发送网络请求,区分它们需要理解上下文,而这并非计算机擅长的。
尽管如此,这些API提供了一个强大的安全保护,对于保护外部网站和您自己的网站都非常有用。