如何通过防病毒API服务进行病毒扫描

网络充满了恶意页面。不幸的是,这些页面也可能存在于您的客户/供应商网站上。

今天的任何企业都不可能没有一些与客户或供应商网站相关的集成。当然,没有这些服务,您的业务是无法存在的,但有时这些服务可能是一种威胁,因为您与之交互的外部网站上可能存在恶意内容(无论是有意安装还是被第三方入侵),如果该内容进入预定位置,后果可能会是灾难性的。

我们不能手动扫描恶意页面吗?

可能会觉得称职的开发人员应该能够进行扫描。不幸的是,出于很多原因,这与现实相去甚远:

  • 开发人员没有专门从事检测/安全方面的工作。他们的专长在于将许多较小的子系统组合在一起构建复杂软件,换句话说,他们根本没有这方面的技能。
  • 即使您遇到了一个足够有才华的开发人员,这个任务也将非常艰巨。一个具有丰富功能的网页通常包含数千行代码 – 将它们全部拼凑在一起以找出整体情况以及微小漏洞根本就是一场噩梦。这就好比命令某人在午餐时吃掉一整只大象!
  • 为了减少页面加载时间,网站通常会压缩和最小化其CSS和JavaScript文件。结果就是代码变得非常混乱,根本无法阅读。
你认为这段代码是干什么的?:kappa:(来源elgg.org)

如果这个看起来还能读懂,那是因为那些善良的人决定在较大的上下文中保留变量名称。试试jQuery的源代码,有人可以将其托管在他们的网站上并篡改(这段代码的某个地方有两行):

更不用说,源代码接近5000行。 😎

这只是一个脚本而已。一个网页通常附带5-15个脚本,并且您可能总共使用10-20个网页。想象每天必须这样做…或者更糟糕的是,每天不止一次!

谢天谢地,通过API可以快速轻松地扫描URL。您不仅可以扫描网页,还可以扫描为您提供下载的文件。让我们看看一些帮助您进行此操作的API工具。哦,由于这些是API,如果您要求开发人员使用这些API构建一个网站扫描工具,他们的工作将更加高效。😀

Google网络风险

一个网页检查器不出自掌握互联网的公司(我指的是所有它的网页)。但有一个问题:Google Web Risk目前仍处于测试版,并且仅在request上提供。测试版意味着可能会有更多的重大变化。

不过,鉴于该API非常简单,您的开发人员可以使用一个API monitoring tool和几分钟的开发时间来应对任何变化。🙂

使用该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确认该页面已知包含恶意软件。

请注意,Google Web Risk API不会对您选择的URL或文件执行即时诊断。它会根据搜索结果和报告查询由Google维护的黑名单,并报告该URL是否在黑名单中。换句话说,如果该API表示URL是安全的,那么可以假设它是相当安全的,但并不能保证。

VirusTotal

VirusTotal是另一个很酷的服务,您可以使用它来扫描URL和个别文件(从有用性的角度来看,我将其放在了Google Web Risk之上)。如果您想尝试该服务,只需访问该网站,在首页上就有一个开始的选项。

虽然VirusTotal是一个由充满活力的社区构建和维护的免费平台,但它也提供其API的商业版本。以下是您为什么要支付高级服务费用的原因:

  • 灵活的请求速率和每日配额(与公共API每分钟仅限4个请求相比)
  • 提交的资源通过VirusTotal的杀毒软件进行扫描,并返回附加的诊断信息。
  • 关于您提交的文件的基于行为的信息(文件将被放置在不同的sandboxed environments中以监控可疑活动)
  • 查询VirusTotal文件数据库以获取各种参数(支持复杂查询)
  • 严格的服务级别协议和响应时间(通过公共API提交到VirusTotal的文件将排队,并且需要相当长的时间进行分析)

如果您选择了私有的VirusTotal API,它可能是您为企业购买的SaaS产品中做出的最佳投资。

Scanii

对于安全扫描器API,另一个推荐是Scanii。它是一个简单的REST API,可以扫描提交的文档/文件以查找威胁的存在。把它想象成一个可以按需运行和轻松扩展的virus scanner

Scanii提供以下好处:

  • 能够检测恶意软件、钓鱼脚本、垃圾邮件内容、NSFW(不适于工作)内容等。
  • 它是基于Amazon S3构建的,方便扩展和零风险文件存储。
  • 可以检测23种语言中的冒犯、不安全或潜在危险的文本。
  • 以基于API的文件扫描为重点的简单、无花样的方法(换句话说,没有不必要的“有帮助”的功能)

真正好的一点是,Scanii是一个元搜索引擎;也就是说,它不会自行进行扫描,而是使用一组底层引擎来完成工作。这是一个巨大的优势,因为您不必被某个特定的安全引擎所束缚,这意味着不需要担心破坏API变更等问题。

我认为Scanii对依赖用户生成内容的平台是一个巨大的福音。另一个用例是扫描由您无法百分之百信任的供应商服务生成的文件。

Metadefender

对于一些组织来说,仅在单个终端点上扫描文件和网页是不够的。它们具有复杂的信息流,而且不能将任何一个终端点置于危险中。对于这些用例,Metadefender是理想的解决方案。

将Metadefender视为一个偏执的看门人,位于您的核心数据资产和其他所有内容(包括网络)之间。我之所以说“偏执”,是因为这是Metadefender的设计理念。我不能比他们更好地描述它,所以接下来就是:

大多数网络安全解决方案依赖检测作为其核心保护功能。MetaDefender数据清理不依赖于检测。它假设所有文件都可能被感染,并使用安全高效的过程重建其内容。它支持超过30种文件类型,并输出安全可用的文件。数据清理在防止针对性攻击、勒索软件和其他已知和未知恶意软件威胁方面非常有效。

Metadefender提供一些很棒的功能:

  • 数据丢失预防:简单来说,这是覆盖和保护文件内容中检测到的敏感信息的能力。例如,Metadefender将模糊显示可见信用卡号码的PDF收据。
  • 本地部署或云部署(取决于您的偏好程度)。
  • 完全解析30多种归档格式(zip,tar,rar等)和4500多种文件类型欺骗技巧。
  • 多渠道部署-仅保护文件,或使用电子邮件、网络和登录控制进行全面保护。
  • 根据自定义规则应用不同类型的扫描流程的自定义工作流程。

Metadefender包含30多个引擎,但可以很好地抽象它们,因此您永远不必考虑它们。如果您是一家中型到大型企业,无法承受安全噩梦,Metadefender是一个不错的选择。

Urlscan.io

如果您主要处理网页,并且一直想要更深入地了解它们背后的操作,那么Urlscan.io是您武器库中的一个很好选择。

Urlscan.io提供的信息量令人印象深刻。除其他内容外,您还可以看到:

  • 页面联系的IP地址总数。
  • 页面发送信息的地理位置和域名列表。
  • 网站前端和后端使用的技术(不作准确性声明,但非常准确!)。
  • 域名和SSL证书信息。
  • 详细的HTTP交互以及请求有效负载,服务器名称,响应时间等。
  • 隐藏的重定向和失败的请求。
  • 外部链接。
  • JavaScript分析(脚本中使用的全局变量等)。
  • DOM树分析、表单内容等。

以下是全部内容的展示:

API简单明了,允许您提交URL进行扫描,以及检查该URL的扫描历史(由其他人执行的扫描)。总之,Urlscan.io为任何关注安全的企业或个人提供了丰富的信息。

SUCURI

SUCURI是一个备受知名度的在线网站威胁和恶意软件扫描平台。但你可能不知道的是,它们也有一个API,可以以编程方式利用同样的功能。

这里没有太多好说的,除了API简单易用,功能良好。当然,SUCURI并不仅限于扫描API,所以在使用它的同时,我推荐您查看一些强大的功能,比如提供FTP凭据的链接(基本上,您提供FTP凭据,它登录并扫描所有文件以查找威胁!)。

Quttera

我们在这份清单中的最后一项是Quttera,它提供了稍微不同的功能。Quttera不仅可以按需扫描域名和提交的页面,还可以进行持续监测,帮助您避免零日漏洞。

REST API简单而强大,可以返回比JSON更多的格式(例如XML和YAML)。扫描支持完全多线程和并发,允许您并行运行多个详尽的扫描。由于该服务实时运行,对于那些对可用性至关重要的公司来说,它是无价之宝。

结论

本文介绍的安全工具只是额外的防线(或谨慎之举)。就像一部防火墙一样,它们可以做很多事情,但无法提供完全可靠的扫描方法。这是因为对于计算机而言,恶意编写的程序与为正面效果编写的程序相同-它们都需要系统资源并发出网络请求;关键在于上下文,这是计算机无法成功解决的。

话虽如此,这些API确实提供了一个强大的安全保障,在大多数情况下都是可取的 – 无论是对于外部网站还是你自己的网站!🙂

类似文章