walk2friends icon indicating copy to clipboard operation
walk2friends copied to clipboard

walk2friends: Inferring Social Links from Mobility Profiles

walk2friends

This repository provides a reference implementation of walk2friends as described in the paper:

walk2friends: Inferring Social Links from Mobility Profiles.
Michael Backes, Mathias Humbert, Jun Pang, and Yang Zhang.
The 24th ACM SIGSAC Conference on Computer and Communications Security (CCS).
<Insert paper link>

Basic Usage

To run the code, please go to folder src/
cd src/

Attack

Running our social link inference attack on the New York data with each user having at least 20 check-ins:
python main_attack.py ny 20

Defense

Hiding 60% of the check-ins for defense:
python main_hiding.py ny 20 60

Replacing 60% of the check-ins with a 15 step random walk for defense:
python main_replace.py ny 20 60 15

Utility

Measuring the utility after hiding 60% of the check-ins:
python main_utility_hiding.py ny 20 60

Measuring the utility after replacing 60% of the check-ins with a 15 step random walk:
python main_utility_replace.py ny 20 60 15

Requirements

  • pandas
  • numpy
  • scipy
  • scikit-learn

It is recommended to install Anaconda, a python data science distribution, which includes all the above packages.

  • gensim
  • joblib

Citing

If you find walk2friends useful in your research, please cite the following paper:

@inproceedings{BHPZ17,
author = {Michael Backes and Mathias Humbert and Jun Pang and Yang Zhang},
title = {walk2friends: Inferring Social Links from Mobility Profiles.},
booktitle = {Proceedings of the 24th ACM SIGSAC Conference on Computer and Communications Security (CCS)},
year = {2017},
pages = {1943-1957},
publisher = {ACM}
}

Miscellaneous

If you have any questions about the code and/or the algorithm, please send an email to [email protected].