原文标题:iDev: Enhancing Social Coding Security by Cross-platform User Identification Between GitHub and Stack Overflow
原文作者:Yujie Fan , Yiming Zhang , Shifu Hou , Lingwei Chen , Yanfang Ye∗ , Chuan Shi , Liang Zhao and Shouhuai Xu
发表会议:28th International Joint Conferences on Artificial Intelligence
原文链接:https://par.nsf.gov/servlets/purl/10103990
1. 论文工作
提出一种跨平台(Github、StackOverflow)的用户识别方案,用于防止攻击者嵌入和分发恶意代码。
该方法包括:
- 利用社交编码属性(Social Coding Properties)和用户属性(User Attributed Feature),通过AHIN(Attributed Heterogeneous Information Net,含属性异质信息网络)对GitHub和StackOverflow数据进行建模;
- 一种新的AHIN表示学习模型AHIN2Vec,从而学习AHIN中用户的表示,实现跨平台用户识别;
- 对每个GitHub/StackOverflow的用户嵌入进行池化,再通过分类器进行识别。
2. 论文方法
方法大致可总结为三点:
AHIN的创建-AHIN2Vec模型的节点表示-对跨平台用户的对比识别。
2.1 AHIN的创建
2.1.1 特征提取
用户特征属性(来自用户profile):
- 用户名
- 地点
- 联系信息
对于GitHub用户,考虑用户建的仓库;对于StackOverflow用户,考虑其贴出的问题和回答。(使用Doc2Vec经验性地设为100维)
社交编码属性:
GitHub的关系:
- 用户create项目的关系
- 用户star项目的关系
- 用户fork项目的关系
- 用户contribute项目的关系
StackOverflow的关系:
- 用户post问题的关系
- 用户supply答案的关系
- 用户的答案echo问题的关系
跨平台的关系:如果StackOverflow的问题/答案存在直接指向GitHub的链接,那么就存在:
- 问题link项目的关系
- 答案link项目的关系
2.2 AHIN的构成
AHIN由实体类型、属性和边构成,其中的每个节点都有一组属性,边表示不同实体类型之间的关系,这些关系由一组元路径描述,用于描述节点间的语义关系。
2.3 AHIN2Vec
AHIN2Vec的工作可大致总结为:首先将构建的AHIN映射到一个多视图网络中,然后应用子空间分析来获取一个统一的带属性的图形,最后利用图形自编码器来学习节点嵌入。
首先,将AHIN映射到一系列单视图网络中,分类依据为不同的元路径。每个单视图的图都表现了一种不同的用户间交互。在这个案例中,每个节点就为一个用户,每条边都表示二者可以通过某条元路径相联系。用户在某张单视图中的特征矩阵即可表示为所有用户的矩阵拼接。之后,这些特征矩阵首先被融合,之后进行图自动编码。这里的编码器为GCN,通过GCN来获取图隐性表示。之后作者训练一个Decoder用于预测两个节点间是否存在边连接。
在应用AHIN2Vec后,作者对所有节点运用了平均池化。之后,这些节点被放入分类器中通过SVM进行用户分辨。
3. 论文实验
3.1 数据集
作者从StackExchange中抽取了9737249个用户,其中42840个用户在个人档案里提供了GitHub链接,这些用户被进一步抽取GitHub的相关信息。
之后,作者随机抽取了提供了GitHub链接的10%用户(4284个)作为正例,通过随机链接StackOverflow用户和GitHub用户作为负例(4284个)。
在这个基础上构建了AHIN,其包含25875个节点(4284个GitHub用户节点、4864个GitHub项目节点、4284个StackOverflow节点、2184个问题节点和10259个答案节点)和75824个边。
3.2 方法评估
- 评估不同特征
不同特征:
f-1:仅用用户特征;
不同的基于AHIN特征:
f-2:在表现最好的单视图中直接连接用户属性和用户关系特征;
f-3:直接将不同的单视图中的用户属性和用户关系特征融合连接;
f-4:连接通过使用文章提出的子空间分析融合方法得到的、融合了不同单视图的用户属性和用户关系特征;
- 评估不同Embedding方法
和DeepWalk、LINE、metapath2vec、HIN2Vec做对比;向量维度为200,随机选定10%到90%的数据训练,余下的数据做测试。
作者对不同的向量维度做了对比实验,对不同数据集大小的运行时间亦做了实验,以此说明iDev拥有不严格敏感的参数敏感性和可扩展性。
最后,作者做了Case Study,进行数据集为565对的跨平台在野用户判断,获得了88.85%的高可能性相关,2.65%为无法判断。