سيسمح تصويت خط حزب الكونغرس لاستغلال ISP بيانات عائلتك الخاصة دون موافقتك. انظر " مجلس الشيوخ يضع أرباح مزود خدمة الإنترنت على خصوصيتك ".
تم تصميم هذا البرنامج النصي لهزيمة هذا الانتهاك من خلال توليد كميات كبيرة من تصفح الويب العشوائي الواقعي لتلويث بيانات مزود خدمة الإنترنت وجعله عديم الفائدة بشكل فعال عن طريق التغلب على بيانات التصفح الفعلية.
أدفع موفر خدمة الإنترنت الخاص بي كثيرًا لاستخدام البيانات كل شهر. عادة لا أستخدم جميع النطاق الترددي الذي أدفعه مقابل. إذا كان ISP الخاص بي سيبيع عادات التصفح الخاصة ، فسأقوم بتلويث التصفح بالضوضاء وأستخدم جميع النطاق الترددي الذي أدفعه مقابل. هذه الطريقة تحقق هذا.
إذا كان الجميع يستخدمون جميع البيانات التي دفعوها لتلويث تاريخ تصفحهم ، فربما يعيد مزودي خدمة الإنترنت أن يعيد النظر في نموذج العمل لبيع تاريخ التصفح الخاص للعميل.
إن بديل استخدام VPN أو TOR يدفع المشكلة فقط إلى اختيار مزود VPN ، ويعقد الشبكات ، ويضيف القضية الحقيقية المتمثلة في التنقل في Captchas عند الظهور كعقدة خروج TOR. وأيضًا ، فإن مجرد حركة مرور مشفرة لديها الكثير من معلومات القناة الجانبية القابلة للاستغلال ، ويمكن استخدامها لتحديد متى يكون أفراد الأسرة المحددين في المنزل ، والأنشطة التي يشاركون فيها.
يستخدم هذا الزاحف Chromedriver مع مكتبة Python Selenium ، ويستخدم الطائرات السوداء لمواقع الويب غير المرغوب فيها (انظر الكود للحصول على التفاصيل) ، ولا يقوم بتنزيل الصور ، وتحترم Robots.txt ، والتي توفر جميعها أمانًا جيدًا.
python3 isp_data_pollution.py
python3 isp_data_pollution.py --help
python3 isp_data_pollution.py -bw 1024 # 1 TB per month
python3 isp_data_pollution.py -g # print debugging statements
النهج المستخدم في هذا البرنامج النصي عرضة لكل من الهجوم الإحصائي وشذوذ حركة المرور. تغطي مقالة جون برودكين حول الخصوصية من خلال حقن الضوضاء العديد من الانتقادات الصالحة: لا يضمن هذا النهج أن يتخلى عن المعلومات الخاصة الحساسة ، وحتى لو كان يعمل في البداية ، فقد لا يتم توسيع نطاقه. يتم الترحيب بعيوب واقتراحات معروفة للتحسينات في صفحات القضايا.
ومع ذلك ، هناك أسباب نظرية واحتمالية معلومات جيدة لاقتراح مقاربة مثل هذا يمكن أن تعمل في العديد من المواقف العملية. تم استخدام الخصوصية من خلال التغلب في العديد من السياقات. في علوم البيانات ، اقترح روبن طريقة سليمة من الناحية الإحصائية للحفاظ على السرية الموضوعية من خلال إخفاء البيانات الخاصة مع البيانات الاصطناعية ("الحد الإحصائي للكشف" ، JOS 9 (2): 461–468 ، 1993). في ورقة لطيفة ذات صلة بهذا الريبو ، يي وآخرون. صف نموذج خصوصية من جانب العميل يستخدم حقن الضوضاء ("حقن الضوضاء لحماية خصوصية البحث" ، Proc. 2009 Intl. Cse ).
فيما يلي حجتان خلفيتان لفعالية هذا النهج في حالة اقتحام خصوصية ISP. هذه ليست أدلة ، ولكن هناك ما يبرر نماذج بسيطة تشير إلى بعض التفاؤل. يجب تحديد الفعالية الفعلية من خلال اختبار هذه النماذج في العالم الحقيقي.
يحاول نهج Ye et al. تقليل المعلومات المتبادلة بين بيانات المستخدم وبيانات المستخدم مع الضوضاء المحقونة المقدمة إلى الخادم. المعلومات المتبادلة هي التداخل بين إنتروبيا بيانات المستخدم ، وإنتروبيا لبيانات المستخدم مع الضوضاء المحقونة (المنطقة الأرجواني أدناه). يتم تحديد كمية وتوزيع الضوضاء المحقونة لجعل هذه المعلومات المتبادلة صغيرة قدر الإمكان ، مما يجعل من الصعب استغلال بيانات المستخدم على جانب الخادم.
المثال في ورقة Ye et al. هو استفسارات بحث محددة. القياس في هذا الريبو هو مجالات محددة. معلومات المجال هي البيانات الأساسية التي تم تسريبها إلى مزودي خدمة الإنترنت إذا تم استخدام HTTPs المشفرة ، وبالتالي فهي ذات صلة. تتم مناقشة حالة حركة المرور غير المشفرة مع شروط الاستعلام الصريحة والمحتوى في القسم التالي حول الحد الأقصى.
يي وآخرون. أظهر أن المعلومات المتبادلة تختفي إذا:
عدد مكالمات الضوضاء ≥ (عدد مكالمات المستخدم - 1) × عدد المكالمات الممكنة
بالنسبة لهذا التطبيق ، فإن عدد المكالمات الممكنة هو عدد المجالات التي قد يزورها المستخدم (يوميًا) ، وعدد المكالمات هو عدد الزيارات التي تم إجراؤها. ذكرت نيلسون في عام 2010 أن الشخص العادي يزور 89 مجالًا شهريًا. لكي تكون محافظًا للغاية في (أكثر) تقدير عدد مكالمات الضوضاء اللازمة لإخفاء بيانات التصفح هذه ، افترض أن زيارات المستخدم المتوسطة O (100) في اليوم ، مع طلب المستخدم O (200) يوميًا ، أو حوالي خمس دقائق على مدار يوم طويل.
تؤكد المعادلة أعلاه (200-1) × 100 أو حوالي عشرين ألف (20،000) مكالمة ضوضاء لتحقيق معلومات متبادلة صفرية بين بيانات المستخدم وبيانات الضوضاء بالإضافة إلى المستخدم.
هذا يرقى إلى مكالمة ضوضاء واحدة تقريبًا كل خمس ثوانٍ ، والتي يسهل تحقيقها في الممارسة العملية ، ويقع بسهولة في حدود النطاق الترددي الاسمي قدرها 50 جيجابايت شهريًا.
إذا كان النموذج النظري من جانب العميل الخاص بـ Ye et al. من المعقول أن نتوقع أن تكون المعلمات المختارة في هذا البرنامج النصي قادرة على تقليل المعلومات المتبادلة أو القضاء عليها بشكل كبير بين بيانات مجال المستخدم الفعلية وبيانات المجال المقدمة إلى ISP.
علاوة على ذلك ، يمكن استخدام عدد أقل من مكالمات الضوضاء إذا تم تقديم نموذج التبعية بين توزيعات المستخدم والضوضاء.
يستدعي HTTP غير المشفر بيانات مستخدم محددة للغاية إلى ISP. تستخدم طرق الإعلان المستهدفة هذه البيانات التي تم التقاطها لتصنيف المستخدم وتقديم إعلانات مصممة بناءً على فئة المستخدم. من الناحية الاحتمالية ، يعتمد هذا النهج بطبيعته على إيجاد "قمم" محددة في توزيع استعلام المستخدمين ، ثم استخدام هذه القمم للعثور على فئات المستهلك الأكثر احتمالا للمستخدم. قد يعيق حقن عدد كبير من المكالمات غير المرتبطة (أو أفضل ومضادة للمرتبطة) نهج الاحتمالية القصوى المستخدمة لتصنيف المستخدم لأنه يضيف العديد من القمم عبر التوزيع المقاس لمصالح المستخدمين.
علاوة على ذلك ، فإن عرض النطاق الترددي للإرسال الخاص بالمعلن مقيد بشكل كبير - حيث ستناسب الكثير من الإعلانات على صفحة ويب. إضافة مكالمات الضوضاء غير المرتبطة تعقيد مشكلة اختيار الإعلان المناسب.
كل من مقالات Kaveh Waddell's و Jon Brodkin الممتازة حول خصوصية ISP في المحيط الأطلسي و ARS Technica تتناول الانتقادات المهمة لهذا النهج. تم تلخيصها هنا إلى جانب استجابة على حد سواء بحيث يكون المستخدمون على دراية بهذه المشكلات ، وللطالبة في معالجتها.
"إن إخفاء تاريخ تصفح الشخص من خلال الطبقات في نسخ من أنماط تصفح الآخرين قد يكون أكثر فائدة. ..." سيكون نظامًا يشبه Tor حيث يأتي عدم الكشف عن هويته من خلال الاستخدام المشترك. "" [Bruce Schneier]
"[لا تقلل من قدرة مقدمي خدمات الإنترنت ... على الرؤية من خلال تكتيكات التوسع في البيانات." [بروس شنير]
"يمكن أن ترسل عمليات البحث العشوائية في Google البرنامج إلى أسفل حفرة أرنب داكنة ، دون علم المستخدم." [كين وايت]
safe=active إلى استعلامات البحث. -التعليق 2: من المؤكد أن حركة مرور Tor Exit-Node تحتوي على مثل هذه الحركة ، وهي مشكلة مهمة لمشغلي عقدة الخروج. في المقابل ، من المحتمل أن تكون الضوضاء التي تم إنشاؤها ذاتيًا-ويبدو أنها أكثر أمانًا."بعض المعلومات حساسة حتى لو كانت محاطة بالضوضاء. ... تخيل لو أن المتسللين استهدفوا مزود خدمة الإنترنت الخاص بك ، فقد تم تسريب تاريخ التصفح الخاص بك ، وأظهر لك زيارة مواقع الويب المثيرة للجدل المحددة ... ... حتى لو كان ذلك محاطًا بالضوضاء ، فسيكون من الصعب للغاية الحصول على هذا النوع من الضوضاء التي من شأنها أن تمنحك إقرارًا معقولًا." [جيريمي جيلولا]
يُظهر تحليل نهج تعبير البيانات الأخرى قابلية لهجمات مصنف التعلم الآلي: أظهرت Pedinti و Saxena تصنيف مستخدم ذي معنى مع البرنامج المساعد لمستعرض TrackMenot الذي تهدف إلى هزيمة محرك البحث المكياد ("على خصوصية البحث على شبكة الإنترنت استنادًا إلى استفسار الاستعلام: دراسة حالة" ، في Proc. Pets2010 ، 2010). لا ينطبق النموذج العددي وطرق التدريب المستخدمة في هذا التحليل مباشرة على حالة وسطاء ISP. الميزات الرئيسية لهجوم Pedinti و Saxena هي:
لا تنطبق أي من ميزات الهجوم هذه بالضرورة على نموذج خصوم ISP. من الممكن أن يستخدم مزود خدمة الإنترنت بيانات المستخدم التاريخية غير المنقوشة لتدريب مصنف ، ومع ذلك ، فإن هذا يفترض أن اهتمامات المستخدمين وأرقامهم وهوياته في عنوان IP للحساب لا تتغير من شهر إلى شهر ، وهو حدث غير محتمل لمعظم المستخدمين والأسر. بدون بيانات المستخدم غير المنقولة للتدريب عليها ، توضح هذه الورقة صعوبات إزالة الهوية على الطرف الثالث حتى مع كميات محدودة من الضوضاء. سيكون من المفيد تحديد أداء التصنيف مع وبدون القدرة على التدريب مع بيانات المستخدم غير المفرطة. إن معرفة الإجابة لكلا الحالتين من شأنها أن تشير إلى التحسينات المحتملة في نهج التشويش.
تلوث البيانات هو أحد مكونات خصخصة بياناتك الشخصية. قم بتثبيت HTTPs في EFF في كل مكان وخصوصية غرير على جميع المتصفحات. راجع أيضًا repos osxfortress و OSX-OpenVPN Server لمنع الإعلانات والتعقب والبرامج الضارة عبر الأجهزة.
إن استخدام وكيل الخصخصة لتجميع حركة المرور الشخصية الخاصة بك مع حركة تلوث البيانات يضيف طبقة أخرى من التعتيم مع التحكم في حركة الرأس. تظهر رؤوس HTTP من حركة المرور الملوثة على النحو التالي:
GET /products/mens-suits.jsp HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Accept-Language: en-US,*
Host: www.bananarepublic.com
Connection: keep-alive
بعد فترة من الزحف العشوائي يبدو هذا:
This is ISP Data Pollution ??, Version 1.1
Downloading the blacklist… done.
Display format:
Downloading: website.com; NNNNN links [in library], H(domain)= B bits [entropy]
Downloaded: website.com: +LLL/NNNNN links [added], H(domain)= B bits [entropy]
http://eponymousflower.blogspot.com/2017/02/lu…: +6/32349 links, H(domain)=6.8 b
يبدو أن لقطة شاشة لصفحة الويب المزروعة بشكل عشوائي. لاحظ أنه لا توجد صور تم تنزيلها.
driver.get_screenshot_as_file('his_all_time_greatest_hits.png') :

اعتمادًا على تثبيت Python (v. 3) ، تكون تبعيات الوحدة numpy ، requests ، selenium ، و fake_useragent ، وكذلك chromedriver . كيف تقوم بتثبيت هذه تعتمد على نظام التشغيل الخاص بك.
يتضمن ذلك اختيار مدير الحزمة Python (v. 3) ، عادةً pip أو Anaconda .
أنا أحب pip ، لذلك على أجهزتي أود أن أقول:
sudo pip-3.7 install numpy requests selenium fake_useragent OpenSSL
يوصى بتثبيت ثنائي chromedriver مباشرة من [chromedriver.chromium.org] (http://chromedriver.chromium.org/downloads. تأكد من التحقق من ETAG للتثبيت الذي تم تنزيله.
أمر تثبيت MacPorts هو:
sudo port install chromedriver py37-numpy py37-requests py37-psutil py37-openssl psutil
هذا هو ما كان ضروريًا أيضًا على MacOS:
sudo port install chromedriver
sudo -H pip-3.7 install selenium fake_useragent
# if chromedriver fails to install because of an Xode configuration error: test with
/usr/bin/xcrun -find xcrun
# then do this:
cd /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s xcodebuild xcrun
Homebrew هو خيار جيد آخر.
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y groupinstall development
sudo yum -y install python34 python34-pip python34-devel python34-pyflakes openssl-devel
sudo pip3 install --upgrade pip
sudo pip3 install numpy psutil requests selenium fake_useragent pyopenssl
sudo apt-get install git
git clone https://github.com/essandess/isp-data-pollution.git
cd isp-data-pollution/
sudo apt install python3-pip
pip3 install --upgrade pip
pip3 install numpy
pip3 install psutil
sudo -H pip3 install psutil --upgrade
sudo -H pip3 install --upgrade pip
sudo -H pip3 install selenium
sudo -H pip3 install fake_useragent
sudo -H pip3 install pyopenssl
sudo apt-get install fontconfig
sudo apt-get install libfontconfig
sudo apt-get install build-essential chrpath libssl-dev libxft-dev
sudo apt-get install libfreetype6 libfreetype6-dev
sudo apt-get install libfontconfig1 libfontconfig1-dev
#! Please update these commands for chromedriver
# export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"
# sudo mv $PHANTOM_JS /usr/local/share
ls /usr/local/share
# sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
# phantomjs --version
python3 isp_data_pollution.py
إذا كنت خلف جدار الحماية ، فاستخدم sudo -EH لتربير إعدادات بيئة http_proxy .
يتطلب chromedriver بعض البرامج الرسومية ، افتراضية أو غير ذلك ، لذلك على جهاز كمبيوتر مقطوع الرأس ، ستحتاج إلى حزمة النظام التالية والحزمة المحلية.
إذا كنت لا تستخدم VirtualEnv (أدناه) ، فقم بتشغيل PIP كـ sudo.
sudo apt-get install xvfb
pip install pyvirtualdisplay
من أجل عزل ملفات مكتبة PIP ، يكون VirtualEnv مناسبًا. إذا كنت تفضل هذه الطريقة ، يمكنك اتباع الخطوات أدناه:
pushd ~/.virtualenvs/ && virtualenv -p python3 isp-pollute && popd
workon isp-pollute
pip install numpy requests selenium fake_useragent psutil
sudo apt-get install chromedriver