RPKI助力构建“从可用到可信的互联网”
很多反垃圾邮件技术和反钓鱼技术运行的前提是IP地址和物理机器具有正确的绑定关系,一旦发生了路由劫持(IP地址被盗用),很多安全技术将会失去运行的基础。例如,对于网络钓鱼,一旦攻击者劫持了目标网站的IP地址(IP地址前缀),尽管用户看到的网址(域名)和服务器IP地址都是正确的,但提供内容的真实主机却不是该域名和IP地址的真正配置对象。因此,对于由路由劫持导致的网络钓鱼以及垃圾邮件投送,相关安全技术无法从域名和IP地址范畴进行预警,给防范工作带来了很大的难度。
RPKI是一项由IETF主导研发的用于保障互联网码号资源(IP地址、AS号)分配信息真实性的技术,适用于IPv4和IPv6两个地址空间。基于RPKI认证体系,IP地址的持有者可以发布一种称为ROA(Route Origin Attestation)的签名对象,将IP地址前缀授权给特定的AS进行路由通告。也即,ROA反映了IP地址前缀和AS号之间的绑定关系。与此同时,网络运营商通过域间路由系统流动的BGP消息交换,也得到了一个IP地址前缀和其“当前”路由起源AS号的映射关系,谓之“互联网路由注册数据库”(Internet Routing Registry, IRR)。由于“路由劫持”的风险,虽然IRR提供的信息客观存在,但IP地址持有者可能并没有将自己的IP地址前缀授权给IRR所反映的AS进行路由通告。二者之间信息的对比,为检测路由劫持(IP地址伪造)提供了预警。
通过对比IRR和ROA,相关终端设备上的软件可以检测出潜在的钓鱼网站和垃圾邮件发送者。具体到反网络钓鱼范畴,Firefox浏览器开始支持基于RPKI的钓鱼网站预警机制(https://addons.mozilla.org/zh-cn/firefox/addon/rpki-validator/)。根据网站服务器的IP地址,Firefox浏览器向IRR数据库发起查询,获得该IP地址所归属的IP地址前缀的路由起源(AS号),然后比较该AS号与RPKI提供的ROA所反映的AS号是否一致。如果一致,则说明路由通告正确,是否出现网络钓鱼可以透过其他技术进一步检测;如果不一致,则说明发生了路由劫持,该网站不可信任,无需再启用反钓鱼检测机制,直接向用户示警。
类似地,如果邮件服务器在接收邮件时,比较对端服务器IP地址在IRR和ROA两个数据来源的差异,便可判断对端邮件服务器的真实性。如果对端服务器IP地址在IRR和ROA中的信息不一致,说明对端邮件发送服务器使用的IP地址系劫持所得,即使该IP地址在白名单之中,也不能按照白名单策略处理,而应根据本地的安全策略进行后续处理。
RPKI所提供的ROA签名对象的直接应用是,向域间路由系统的BGP路由器提供路由决策的参考。然而,由于ROA并非强制接收的信息,因此路由劫持仍有可能发生。但是,如果互联网终端程序(浏览器、邮件接收服务器等)可以积极地使用ROA,则可以避免路由劫持导致的危害。尽管ICANN(The Internet Corporation for Assigned Names and Numbers,互联网名称与数字地址分配机构)计划在全球部署RPKI的初衷是构建安全的域间路由系统,但是RPKI所提供的互联网码号认证机制,将来可能会在互联网应用层安全范畴发挥更大作用,我们拭目以待。(文/CNNIC 马迪)


