评估网站security文件


本文为阅读论文 Who you gonna call?: an empirical evaluation of website security.txt deployment 读书笔记

每年安全人员都会发现网站新漏洞,但是如何向网站开发者披露和补救仍然为难题。虽然有些组织有漏洞赏金计划,但仍不常见。以往实践表明,现有的联络方式:WHOIS 信息查询、邮件联系、网站搜索往往是不足的,且耗费大量人力这不是人肉吗

security.txt 标准即通过标准化组织如何公布漏洞披露作法,具体即规定了文本文件格式,类似于 robots.txtads.txt 等标准,存放在明确的位置。

技术背景

security.txt 拟议标准

security.txt 定义了一种标准的漏洞披露方法,即安全人员发现安全问题后,访问网站明确位置找到向网站开发者披露漏洞的方式。

security.txt 文件格式为键值对,目前定义字段:

  1. 鸣谢:链接到网页,对发掘漏洞报告进行表彰

  2. 规范:列举 security.txt 规范 URI从其他方式获得该文件而非直接访问时有用

  3. 联系方式*:提供向开发者报告漏洞的联络方式电子邮件、电话等

  4. 加密:加密密钥,报告安全问题应该使用密钥通信

  5. 过期*:建议文件中数据何时过期需要更新,标准建议不超过一年

  6. 招聘网页:链接到该组织与安全相关职位网页

  7. 政策:提供该组织安全披露政策链接

  8. 偏爱语言:该组织偏好语言

标准建议使用 OpenPGP 对文件进行数字签名

标准建议通过 HTTPS 访问

研究方法

为了获得网站 security.txt 数据,论文在 15 个月内,每 7 天抓取 Top 100K 网站的 security.txt 文件。

  1. 对于每个实例,爬取前 100K 网站的域
  2. 用基于 wget 的并行爬虫在根域名和知名域名获取security.txt
  3. 对每个域名发出 4 个请求,每个 5s 后超时
  4. 过滤所有非文本文件
  5. security.txt 文件格式和字段进行模式匹配

实验结果

纵向分析

  • 所有网站部署水平保持基本稳定
  • 排名较高的网站表现出更高的部署率,因为在安全事务具有更好的规定
  • 有较少网站部署之后删除security.txt,猜测部署后收到垃圾邮件或低质量报告
  • 网站会偶尔更新security.txt 联系信息
  • 很多域名共享相同的security.txt ,但不一定代表同一个网站

访问 security.txt

  • URL 路径:大多数托管在首选的 .known 位置过半只存在这里,少数在根目录。因此应该在这两个路径寻找security.txt
  • 协议:大多可以通过 HTTP 和 HTTPS访问,极少数只能通过 HTTPS 访问,稍微多一些的只能通过 HTTP 访问主要由于网站本身不支持 HTTPS

security.txt 内容

  • 大多数网站提供单一联络手段,有些没有提供联络手段
  • 大多数提供的电子邮件;少部分提供 URL 链接;非常少的只提供两者;不到 1% 提供电话联系
  • 部分提供了分割格式的电子邮件以防爬虫,暗示采用者担心滥用
  • 仅仅 1.7% 域名提供了过期值毕竟超过日期要更新
  • 五分之一提供了加密字段;极少的包含了明文签名

结论

  • 许多网站security.txt 并不符合标准。标准认为,过期可以有效防止联络错误。多数组织任务维护耗费超过带来的风险。毕竟对于组织又不是啥容易变更的信息,对于个人又太麻烦了
  • security.txt 被设置为机器可解析,即可大规模漏洞自动报告。

评价

本文介绍了security.txt 并研究了各大网站对于security.txt 的使用。

security.txt 目前看来十分鸡肋:食之无味,弃之可惜。它就是提供了一个固定的地方存储联络方式,还是需要通过联络方式进行漏洞报告。对于大型组织,其安全联络方式查询容易,对于小型组织甚至个人,其也不愿意耗费时间精力成本进行这样一个部署。其对自动化报告或许可以更进一步考虑。


文章作者: Jarrycow
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jarrycow !
评论
  目录