Google Safe Browsing Api介绍

Safe Browing API 简介

​ Safe browsing (安全浏览)是谷歌提供的一种服务,利用谷歌持续更新的恶意网址和钓鱼网站的数据集,来检测url的安全性,帮助我们有效抵御网上诱骗、社交工程、恶意软件、垃圾软件、恶意广告、侵扰性广告以及侮辱性网站或扩展程序带来的危害。

​ 支持谷歌浏览器和火狐浏览器。

Safe Browsing API 使用

Google Safe Browsing | Google Developers 官网

https://developers.google.com/safe-browsing/

通过介绍了解到Safe Browsing APIs(V3)现在已经弃用,将于2018年10月1日被拒绝使用。 所有Safe Browsing API客户端都应该使用(v4)API。

Safe Browsing APIs(v4)官网

https://developers.google.com/safe-browsing/v4/

要确定URL是否位于任何安全浏览列表中,浏览器客户端可以使用Lookup API(在线版本)或Update API(离线版本)。

准备工作

创建Google账户

创建项目工程

申请API key,创建的项目是通过API key与谷歌提供的API服务相连接的一个接口。

激活API,选择相应的项目,选择API和服务,然后选择库,点击Enable

Lookup API (v4)

​ Lookup API就是浏览器将URL发送到Google Safe Browsing服务器以检查其安全性。Lookup API比Update API简单易用。

优点

简单的URL检测:您发送带有URL的HTTP POST请求,服务器以URL的状态(安全或不安全)进行响应。

缺点

隐私:URL没有经过加密处理,服务器知道你查找到URL。

响应时间:每个查找请求都由服务器处理,影响效率。

使用

参考:https://developers.google.com/safe-browsing/v4/lookup-api

Request header

1
2
POST https://safebrowsing.googleapis.com/v4/threatMatches:find?key=API_KEY HTTP/1.1
Content-Type: application/json

Request body

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"client": {
"clientId": "yourcompanyname",
"clientVersion": "1.5.2"
},
"threatInfo": {
"threatTypes": ["MALWARE", "SOCIAL_ENGINEERING"],
"platformTypes": ["WINDOWS"],
"threatEntryTypes": ["URL"],
"threatEntries": [
{"url": "http://www.urltocheck1.org/"},
{"url": "http://www.urltocheck2.org/"},
{"url": "http://www.urltocheck3.com/"}
]
}
}

Response header

1
2
HTTP/1.1 200 OK
Content-Type: application/json

Response body:包含了匹配信息,列表名称和列表里匹配到的URL(如果匹配到),元数据等。如果没有匹配,则HTTP POST响应只会在响应正文中返回一个空对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
"matches": [{
"threatType": "MALWARE",
"platformType": "WINDOWS",
"threatEntryType": "URL",
"threat": {"url": "http://www.urltocheck1.org/"},
"threatEntryMetadata": {
"entries": [{
"key": "malware_threat_type",
"value": "landing"
}]
},
"cacheDuration": "300.000s"
}, {
"threatType": "MALWARE",
"platformType": "WINDOWS",
"threatEntryType": "URL",
"threat": {"url": "http://www.urltocheck2.org/"},
"threatEntryMetadata": {
"entries": [{
"key": "malware_threat_type",
"value": "landing"
}]
},
"cacheDuration": "300.000s"
}]
}
Update API (v4)

​ Update API就是浏览器定期与Google Safe Browsing服务器通信,下载最新的加密版本的安全浏览列表,系统会将该列表的最新副本存储在您本地的系统上。浏览器会参照该本地列表检查您访问的每个网站对应的网址和下载的文件。如果您要浏览的网址出现在该列表中,Chrome 会向 Google 发送网址指纹的一部分(相应网址的 SHA-256 哈希值的前 32 位),以便验证该网址是否确实不安全。如果某个网站请求的权限可能不安全,Chrome 也会发送网址指纹的一部分;这样一来,如果该网站包含恶意内容,Google 就可以保护您免受攻击。

优点

隐私:服务器不知道实际查询的URL。

响应时间:不需要每次检查URL时查询服务器。

缺点

使用复杂

Firefox本地缓存目录
  • ~/.cache/mozilla/firefox/XXXX/safebrowsing/ on Linux
  • ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/ on Mac
  • C:\Users\XXXX\AppData\Local\mozilla\firefox\profiles\XXXX\safebrowsing\ on Windows
使用

https://developers.google.com/safe-browsing/v4/update-api