التخطي إلى المحتوى الرئيسي

ما هو متصفح تور؟ TOR

متصفح تور، هو مشروع مفتوح المصدر، مشتق من فايرفوكس، ويعمل على شبكة بتقنية تسمى (The Onion Routing) TOR، وهي شبكة تواصل عبر الانترنت تأسست في البدء لأغراض عسكرية، ثم أصبحت الشبكة تستخدم من عامة الناس بغرض السرية والخصوصية.

فكرة العمل

الفكرة من شبكة تور، هو تفادي وجود نقطة ضعف وحيدة في الاتصال، بمعنى، أنك أثناء الاتصال العادي بانترنت، تكون نقطة ضعفك هي مقدم الخدمة، فهو يستطيع معرفة الكثير عنك أثناء تصفحك، لماذا؟..طبعاً لأن كل اتصالاتك تمر من خلاله ولا مفر من ذلك، فعند طلبك لموقع كورا، مثلاً، يطلب المتصفح (العادي) من خلال مقدم الخدمة أولاً عنوان الآيبي المرتبط بعنوان http://quora.com، وهكذا يستطيع القائم على تقديم الخدمة لك أن يتتبع اتصالك وان يراقب كثيراً من البيانات..كذلك في حالة شبكات VPN، فمن غير الأكيد أن مقدم خدمة VPN لا يسجل اتصالاتك ووجهتها أثناء استخدامك للخدمة؟

هذه ليست الحال في شبكة تور، في شبكة تور، تطلب مبدئياً انشاء دائرة من نقاط التحويل، تتكون عادة من 3 سيرفرات عشوائية مختلفة يديرها متطوعين من مختلف بقاع الأرض، وهذه النقاط تقسم كالتالي:

  1. نقطة الدخول Entry Node
  2. نقطة، أو نقاط وسيطة Middle Node(S)
  3. نقطة الخروج Exit Node

بعد تشكل الدائرة، يحصل جهازك على ثلاثة مفاتيح تشفير، بعدد النقاط في الدائرة..ويقوم بانشاء اتصال مشفر بنقطة الدخول، بمعنى، أن كل طلب صادر عن جهازك الآن هو مشفر ثلاث مرات بالمفاتيح الخاصة بالنقاط الثلاثة، لا يمكن قراءته الآن من قبل متجسس على شبكتك الداخلية مثلا، ولا من قبل مقدم خدمة الانترنت نفسه، لكن ماذا سيحدث هناك؟..

في نقطة الدخول، يتم فك تشفير الاشارة مرة واحدة، يمكن أن تقول، أنك إذا كنت قد وضعت ثلاثة اقفال على حزمة البيانات الصادرة منك، فنقطة الدخول ستفتح القفل الأول، ثم تمرر الحزمة إلى النقطة الوسيطة..

لاحظ الآن، أن كل ما لدى نقطة الدخول من معلومات، هي مصدر الاشارة، أي انت، والنقطة الوسيطة، نقطة الدخول لا تعرف إلى أين تتجه حزمتك أبعد من ذلك، لا تعرف أيضاً محتوى الحزمة..

نحن الآن في النقطة الوسيطة: والنقطة الوسيطة ستفك التشفير بالمفتاح الثاني، لتمرر إلى نقطة الخروج..الآن صار لدينا رسالة مشفرة بمفتاح واحد..

هل تلاحظ هذه الطبقات؟..لهذا سميت الشبكة The Onion Router، التوجيه البصلي، إذ يتكون من طبقات بعضها فوق بعض.

طيب ماذا يحدث في نقطة الخروج؟ تقوم نقطة الخروج بفك تشفير الحزمة وارسالها إلى المستقبل النهائي، نقطة الخروج لا تعرفك، هي فقط تعرف النقطة الوسيطة التي مررت إليها الحزمة المشفرة، تعرف مفتاح فك التشفير النهائي وبالتالي تعرف محتويات الحزمة وإلى أين تذهب..

طيب نقطة الخروج هنا تعرف الكثير؟ أليست هذه نقطة ضعف؟

نعم ولا، صحيح أن نقطة الخروج ترى محتويات الرسالة، لكنها لا تعرف مرسلها على أي حال، وهذا الوضع أفضل بكثير من التعامل مع بروكسي مثلا أو VPN، أو انترنت مفتوح، حيث يعرف مقدمي هذه الخدمات شخصيتك كما يعرفون وجهة رسائلك بالضرورة، الشئ الآخر هو:

عند استعمالك لبروتوكول https فإن الرسالة النهائية أيضاً مشفرة، بالتالي، فالرسالة التي توجهها نقطة الخروج لو انها موجهة إلى سيرفر يستخدم https، فالتشفير النهائي لن يفتح إلا عند المستقبل، وبذلك يكون اتصالك مشفرا تماماً، لاحظ أن حتى السيرفر المتلقي للرسالة، ليست لديه فكرة عن عنوان الآيبي الخاص بك أو هوية المرسل، لأنه لا يرى إلا نقطة الخروج وحسب!

طيب هل من مشاكل تضعف هذا النظام؟

نعم بالطبع، أشهر هذه المشاكل هي عملية "التحليل الزمني" والفكرة فيها كالتالي:

إذا أردنا أن نعرف مصدر اشارة وصلت إلى سيرفر معين من خلال تور، هل يمكننا أن نراقب كل الاشارات الداخلة إلى شبكة تور من نقاط دخول مختلفة، ونحلل توقيت دخول الحزم لكل اتصال، ونراقب نمط خروج الحزم إلى السيرفر الخاص بنا؟..بذلك نتوصل إلى مصدر الاشارة، بالطبع عملية كهذه تحتاج إلى قدرات الدولة أو ربما تعاون دولي، لكنها ممكنة على اي حال..لذلك تجد أن جزءاً كبيراً من المتطوعين لتقديم خدمات نقاط الدخول هم في الواقع جهات حكومية أو استخباراتية، يعني كالأب الذي يقول لابنه "دخن أمامي أحسن من وراي"..

هناك طرق أخرى متبعة ايضاً لخداع مستخدم النظام وجعله يصدر بعض الطلبات من خارج تور، وبهذا ينكشف غطاءه..

بالنهاية إليك شرح بالفيديو لأحد علماء الحوسبة من جامعة نوتنجهام:


كتبت هذه الإجابة لموقع كورا العربي..

تعليقات

المشاركات الشائعة من هذه المدونة

ادارة كلمات سر المستخدمين

  إذا كنت تقوم ببرمجة موقع يحتاج إلى عمل حسابات للمستخدمين، فيجب أن تقوم بتأمين كلمات السر الخاصة بهم إلى أقصى حد ممكن، ومن ذلك طريقة حفظها في قاعدة البيانات، فرغم كل اجراءاتك الأمنية، يجب أن تفترض احتمال تسرب قاعدة البيانات، وفي حال تسربت قاعدة البيانات، لا يجب أن يتمكن المخترق من معرفة كلمات السر الخاصة بالمستخدمين..كيف يمكن ذلك؟ باختصار، لا يجب أن تقوم بتخزين أية كلمات سر في أي مكان في موقعك، ما سوف تختزنه في جدول المستخدمين هو قيمة الهاش، مضافا إليها ما يتعارف عليه بالملح salt ، وهي قيمة عشوائية تدمج بكلمة السر قبل التشفير، قيم الهاش وخوارزمياتها تختلف، في حال تخزين كلمات السر، أنصحك باستخدام خوارزمية بطيئة مثل bcrypt مع عمل سياسة لقبول كلمات السر بحيث لا تقل عن 8 حروف ولا تزيد عن 100 حرف. لكن ماهو الهاش؟ الهاش هو عملية غير عكسية، يشكل ما يشبه البصمة لأي بيانات مدخلة، بالتالي، إذا حصل الهاكر على الهاش فلا يوجد أي طريقة ليعكس عملية الهاش نفسها ويصل للباسوورد، تماماً كما لا يمكنني التعرف على صورة وجهك من خلال بصمة اصبعك. طيب ماذا يفعل الهاكر عند حصوله على الهاش؟ هناك العديد من ال...

مضادات الفيروسات - خطوط الدفاع

  تعد مضادات الفيروسات من خطوط الدفاع الضرورية في أي نظام، ﻻ سيما النظم المبنية على ويندوز، فالبرامج الخبيثة بعمومها هي من أسوأ ما يمكن أن يهدد خصوصيتك وأمنك وأمن بياناتك. كيف تعمل؟ فكرة عمل مضادات الفيروسات بسيطة للغاية، منتجي برامج مضادات الفيروسات هي شركات مختصة بالحماية واﻷمن السيبراني، اختصت بأمر اكتشاف وتحليل الفيروسات، بالتالي، فهي تملك قواعد بيانات ضخمة قادرة على التعرف على ملفات البرمجيات الخبيثة ، من خلال بصمة الهاش. لهذا تحتاج مضادات الفيروسات إلى التحديث المستمر ، لتتمكن من التعرف على الفيروسات اﻷحدث قدر الإمكان، بالطبع، يمكنك أن ترى بوضوح أن احتمالية وجود فيروسات غير معروفة لا تزال قائمة. لهذا وجدت تقنيات أخرى لاكتشاف الفيروسات عند مضادات الفيروسات اﻷحدث، فإلى جانب الاعتماد على قواعد البيانات، قامت بعض مضادات الفيروسات بتبني تقنيات تحليل سلوك الكود ، بحيث تتعرف على بعض السلوكيات المشبوهة آلياً، كمحاولة الاتصال بانترنت بدون إذن، أو القيام بالتعديل على بعض الملفات. كما دخل الذكاء الصناعي وتقنيات تعلم اﻵلة على الخط أيضا في هذا المجال. كيف أختار مضاد الفيروسات؟ في البيئة ...

جافاسكريبت JavaScript - الحلقة الثالثة

  لنسرد اليوم بعض السمات العامة عن جافاسكريبت، ولنبدأ أولا بالبارادايم.. فما هو البارادايم؟ في أصل الكلمة، فالبارادايم هو نموذج عام ترى العالم من خلاله، المخيال الذي تحلل من خلاله المعطيات، هو النمط، النموذج، أو المثال.. في لغات البرمجة، فالبارادايم هو نمط البرمجة، كيف ستبني الكود الخاص بك لكل برنامج، أو لكل وحدة؟..هل على شكل دوال؟..أو على شكل فئات؟..أو ربما في شكل انشائي؟ من أشهر أنماط البرمجة المعروفة هو البرمجة الكائنية Object Oriented، لكن هناك أنماط مختلفة تماماً، مثل برمجة الدوال مثلاً، كانت هذه مقدمة سريعة عن البارادايم، فأي بارادايم تدعم جافاسكريبت؟ الواقع أنها توصف بمتعددة الأنماط ، فهي ملائمة تماماً للبرمجة الكائنية بفضل قدرتك على تعريف الكائنات النموذجية فيها ملحقاً بها خصائص ودوال، وهو ما يسمى prototype-based programming، كذلك يمكنك الاعتماد على نمط برمجة الدوال functional لبناء برامجك على جافاسكريبت. كما تتيح لك جافا سكريبت مزج النمطين بحرية بحسب ما يتطلبه مشروعك أيضاً . تعريف المتغيرات متغيرات جافاسكريبت معرّفة تفاعلياً Dynamically Typed ، يعني أن نوع البيانات المخ...