זיהוי רשתות בוטים בטוויטר
נעם רותם ויובל אדם
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5753489/botim.png)
בוטים / אווטארים /
בובות גרב / כימרות
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545435/Screen-Shot-2018-07-11-at-11.21.16-AM-768x510.png)
מתודולוגיה
- הפניה לחשבונות חשודים
- אישור חשבונות לצורך שימוש API
- זיהוי צבירים חשודים
- מחקר ידני ואוטומטי
תקציר הפרקים הקודמים - הרשת הטורקית
תוכן
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545475/image_5.png)
מטא-דאטה מחשיד
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545474/out.png)
חריקות שפה ותרבות
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545483/image_15.png)
אנשי קש
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545486/image_18.png)
רשת חשודה
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545462/image_0t.png)
רשת אורגנית
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545465/image_1t.png)
ציטוטים במדיה
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545478/image_6.png)
תוכן
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545481/image_7.png)
הקשר הטורקי
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5545491/image_26.png)
תוצאות
- דיווח לטוויטר
- 142 חשבונות נסגרו
כנסיית האל הכל יכול
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5752661/DyOl9OkW0AA6tK9.jpg_large.jpg)
רשת הבנות החדשה
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5752700/DyJFxv6XcAADIcW.jpg)
עיתונאים - אוכלוסיה בסיכון גבוה
קמפיין פייק ניוז
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5676998/Screenshot_from_2019-01-16_10-46-19.png)
קמפיין פייק ניוז
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5677008/Screenshot_from_2019-01-16_10-50-35.png)
חשבון פייק חד-פעמי
- חשבון בעל ותק של מספר שנים
- נקנה מרשת ספאם
- מוסב לאוואטר "לגיטימי"
- טירגוט עיתונאים במינשונים וDM
אי-התאמת עוקבים
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5677004/Screenshot_from_2019-01-16_10-48-23.png)
תשתית טכנית
איסוף נתונים מטוויטר
- Python
- PostgreSQL
- SQLAlchemy
- Celery
Lifecycle
- קריאות API לטוויטר
- שמירת המידע
- תיוג
- יצוא דוחות (CSV, XLS)
- ממשק ניתוח לאנליסטים
- ויזואליזציות Gephi
מודל לדוגמה
class User(Base):
__tablename__ = 'users'
id = Column(String(20), primary_key=True)
name = Column(String(15), nullable=False)
full_name = Column(Text)
description = Column(Text)
created = Column(DateTime)
location = Column(Text)
protected = Column(Boolean)
followers_count = Column(Integer)
friends_count = Column(Integer)
favourites_count = Column(Integer)
statuses_count = Column(Integer)
listed_count = Column(Integer)
imported = Column(DateTime(timezone=True), default=func.now())
updated = Column(DateTime(timezone=True), onupdate=func.now())
tags = Column(ARRAY(Text), nullable=False,
default=cast(array([], type_=Text), ARRAY(Text)))
followers = relationship('User', secondary=follows,
primaryjoin=id == follows.c.to_id,
secondaryjoin=id == follows.c.from_id,
order_by=follows.c.id,
backref='friends', lazy='subquery')
tweets = relationship('Tweet',
primaryjoin='User.id == foreign(Tweet.user_id)',
backref='user', lazy='subquery', viewonly=True)
__table_args__ = (
Index('ix_user_name_lower', func.lower('name')),
Index('ix_user_tags', tags, postgresql_using='gin'),
)
ספיחים לפרוייקט
מלכודת דבש
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5677036/2.png)
דוקסינג
![](https://s3.amazonaws.com/media-p.slid.es/uploads/50968/images/5677038/3.png)
איסוף נתונים
- Browser fingerprinting
- WebRTC de-anonymization
- IP leakage
כיוונים להמשך
- קמפיין מימון המונים
- הרחבת האיסוף והניתוח
שאלות?
Twitter Dev Conf
By Yuval Adam
Twitter Dev Conf
- 1,459