论文Identifying and characterizing Sybils in the Tor network

论文 Identifying and characterizing Sybils in the Tor network

这里先用《所阅文章笔记》对文章简要介绍,以下是其关注的七个问题。

本文想解决什么问题

缺少攻击和方法去暴露在Tor网络这个特殊环境下的Sybil攻击。

####该问题为何重要

对于Tor网络而言,关键点在于其匿名性,而Sybil攻击可以反匿名化,得到用户个人信息,甚至劫持比特币交易,获得你访问信息等。

该问题为何困难

由于在Tor网络中与一般环境不一样,识别在Tor网络中的Sybil攻击,难点在于:

  • 需要尽可能的符合Tor网络的设计理念
  • 符合Tor网络本身节点本身“陌生”的属性
  • 不额外引入计算约束

前人的研究成果如何

本文写于2016年,当时之前关于Tor网络中的sybil攻击主要采用的以下三种方式。

central authority

引入这种中心的信任节点,与Tor的设计原则相违背

Social constraints

旨在仅利用类似社交关系,可信任的节点建立连接

攻击者与用户很难建立信任,但Tor操作员之间本身也不相识,很难相互信任

computational puzzles

译为计算约束,旨在引入计算方面的限制来约束攻击者

但Tor不同与其它分布式系统,其本身的特点需要不停消耗带宽和CPU

本文的新贡献何在

  • 提出一种基于Sybils攻击特点的检测系统,sybilshunter

    这一点主要是通过总结Sybil的特点,用工具去自动化检测

    个人认为这一点是有所缺陷的,后面会展开论述

  • 描述了Sybils的特点,并制作了新的数据集

    考虑到主动检测的方法会被一些Sybil躲避,难以探测

    这一点并没有通过特征和他们制作的工具,而是利用类似蜜罐的手段

    即利用一些已知会返回什么的relay,放到Tor环境下,如果返回结果不正确,则认为它们连接的relay为Sybil relay

基本结论

本文构建了一个可以识别的Sybil relay的系统,利用exitmap作为补充,依靠relay的特征进行识别,准确率可以接近60%。

本文方法有何假设或者不足

  1. 由于采取类似规则的方式,用特征去甄别Sybil,所以召回率很难保

  2. 同第一点类似,对于新出现的Sybil,Sybilhunter的准确率不高

    这点该文引入了exitmap作为系统的补充

  3. 邻近排名算法需要修改一些设置,因为该算法将IP地址什么都视为Str类型

  4. 不同识别出Sybil的意图,这样很难判断该Sybil是否应该被移除

    文中有提到移除需要代价,并且Sybil在该文分类中有良性的

  5. Sybilhunter处理之后提供的csv数据等,还需要手动处理


下面对一些细节进行介绍

名词说明

这里先对Tor网络中的一些名词作简要介绍。

Sybils attack

攻击是指利用社交网络中的少数节点控制多个虚假身份,从而利用这些身份控制或影响网络的大量正常节点的攻击方式。论文中提及的研究包括botnets,hijack Bitcoin transaction。

与本论文最相关的是,在tor网络中去匿名化。

Tor(anonymity network)

Tor是开源的匿名通信软件。最初名为“The Onion Router”。它用超过7k的中继relays来隐藏用户的位置和使用情况。有一定的限制,比如Wikipedia会阻止Tor用户编辑文字。另外,Tor开发的资金大部分来自美国政府。

Sybils in Tor

We define Sybils in the Tor network as two or more re-lays that are controlled by a single person or group of people.

这个定义下,又进行了良性和恶意的Sybil区分

设计和实验

下面会对论文中利用的Sybil特征进行较为详细的说明。

Sybilhunter架构

屏幕快照 2019-09-22 上午10.25.13

Sybilhunter可以做什么

1.可追溯到2007年的历史网络数据

2.在线数据,用于在新的Sybils加入网络时检测它们

3.找到可能与先前发现的恶意重放相关的中继

Sybilhunter内部结构

屏幕快照 2019-09-22 上午10.30.35

数据(Consensuses、Descriptors)通过过滤器得到处理后的子集,例如分析后得到IP地址和relay的昵称,转发到相对应的分析模块中,这些模块独立运作,但共享数据结构。

分析后根据特征的不同给出不同的结果(CSV或Image)

利用network churn检测

这里churn rate说的是新的fingerprints在consensuses中波动(流失)情况

在Tor中本身对此作出了一个阈值限制,但50的阈值过高,很难检测出Sybil relays

在该文中新提出了计算churn rate的公式如下:

屏幕快照 2019-09-22 上午10.36.18

值得注意的是,本文采用的检测方法主要是基于tor中的relays,关于公式是符号的定义,论文已有详尽说明。

屏幕快照 2019-09-22 上午10.40.43

利用Fingerprint检测

问题:

HSDir是Tor网络中的服务器目录,由于HSDir是公开的,攻击者可能通过重复更改其fingerprint,来使其逐渐接近HSDir中的索引。

解决方案:

因为正常的relay的无论重启还是重分配IP,其fingerprint都不会变。

故维护一个可以将relay的IP地址映射到指纹列表的lookup表,通过改变的频次进行排序,输出结果作为可能的Sybil relay进一步分析。

Nearest-neighbor ranking寻找潜在Sybil

采用一种距离排名算法,将relay作为输入,比较其端口、流量等信息作为排序,以寻找到可能的恶意exit relay。

不同于数据挖掘中的KNN,这里主要是将relays中的信息作为输入,比起输出列表中相似的子relay,根据编辑距离进行排名比较。

屏幕快照 2019-09-22 上午10.48.16

结果评估和缺陷

该论文还对其返现的sybil relays根据其特点和可能的目的作出了分类,这里不作介绍。
#### 一些实验结果展示 屏幕快照 2019-09-22 上午11.03.28 屏幕快照 2019-09-22 上午11.03.18 屏幕快照 2019-09-22 上午11.04.36 屏幕快照 2019-09-22 上午11.04.05

缺陷

在前文已有叙述。


参考:

[论文来源][https://censoredplanet.org/publications]