Moustafa Meaily
Moustafa Meaily

@CMPSamurai

14 تغريدة 18 قراءة Oct 21, 2021
الثريد ده هتكلم فيه عن ازاي الانترنت شغال ببساطة. ايه ال https و ازاي شغال و ليه هو امان عن ال http و هل هو فعلا امان ولا له ثغرات.
أولا لازم نبقي عارفين ان الانترنت ما هو الا شبكة كبيرة من اجهزة الكبيوتر اللي متوصلة ببعض. لما بتفتح متصفح عشان تتصفح الموقع ده بيكون علي جهاز
اي موقع بتدخله لاما بيبقي محتواه ثابت (مبقاش فيه مواقع كدة خلاص) لاما محتوي متغير علي حسب المستخدم (زي انك داخل تقرا رسايلك علي الاميل ). بس في الاخر في جهاز كمبيوتر بيشوف طلبك ايه و بيجهزهولك و بيرد عليك بالحاجة اللي عايز تشوفها سواء كلام او صور او فيديوهات.
الانترنت عامل زي شبكة التليفون شغالة بالارقام بس محدش فينا بيحفظ ارقام. كلنا عندنا دليل تليفونات بنستخدمه عشان نسجل الارقام الصعبة دي باسامي احنا عارفينها. الانترنت فيه نفس الفكرة. فيه حاجة اسمها DNS دي دليل تليفون بيحول اي عنوان بيبتدي ب www لرقمه عالشبكة اللي اسمه IP.
لما بتعوز تفتح الفيسبوك ال browser بيترجم عنوانه ل ip و يبدا يطلب منه طلبات زي : افتحلي الصفحة الرئيسية - افتحلي الاصدقاء - سجل دخولي بالاميل و الباسورد دول. الفيس بوك بيجهز المعلومات دي و يرد عليك.
المشكلة هنا ان طلبك و الرد بيمشي في الشبكة زي شبكة التليفون بالظبط
زي شبكة التليفون اي حد ممكن يوصل سلكتين او يقعد في السنترال و يسمع كل مكالماتك. طلباتك و ردودها بتعدي عالراوتر اللي عندك في البيت و السنترال اللي في المدينة و هكذا. اي حد قاعد ممكن يقرا بياناتك لو بتبعت الاميل و كلمة السر مثلا عشان تسجل دخولك الكلام ده اسمه sniffing
طيب تخيل انك بتبعت جواب كل الناس ممكن تفتحه في النص. ازاي تبعت فيه حاجة مهمة ؟ سهلة تحطه في صندوق مقفول بمفتاح بحيث اللي معاه نسخ المفتاح بس يقدر يفتح و يفتح. طريقة القفل دي اسمها symmetric و دي مستحيلة لان الموقع لو الموقع ناشر مفتاحه عشان تقفل بيه . اي حد هيستخدمه عشان يفتح.
الحل العبقري للمشكلة دي تخيل صندوق له مفتاحين. مفتاح بيقفل بس و مفتاح بيفتح بس. ساعتها ممكن لو عايزك تبعتلي حاجة اديك صندوق فاضي و مفتاح بمن اللي يقفل بس و كدة انا ضامن انك تقدر تقفلي رسالة فصندوق بس محدش غيري يقدر يفتحها عشان محدش معاه مفتاح الفتح. ده اسمه Asymmetric key
الحل انت والسيرفر كل واحد يعمل مفتاح للفتح private يبقي معاك انت بس
و التاني للقفل public يبقي مع كل الناس في الشارع. ساعتها اي حد يقدر يبعت بس المستقبل بس اللي هيقدر يفتح الصندوق و يلاقي الرسالة. لوانا بكلم بنك هيبعتلي مفتاح القفل بتاعه وده اللي هقفله بيه كلمة السر بتاعتي
ال https تبسيطا ممكن نقول انه شغال كدة (التفاصيل اعقد). بس هنا المشكلة تخيل اي حد قدر يغير دليل التليفون و بدل ما اسم موقع البنك يوديك لجهاز البنك بقي بيوديك لجهاز ملك الهاكر. كدة حضرتك هتبعتله كلمة السر بتاعتك عادي. محدش هيعرف يتجسس عليك في السكة بس انت لبست عشان بعت لنصاب.
طيب ايه الحل ؟ لازم طرف وسيط امان يبقي متسجل فيه كل ال public keys بتاعة كل المواقع و بالتالي لو حد حاول يدعي انه موقع ما ناخد المفتاح بتاعه و نروح نسال الوسيط ده نقوله تعرف يا عمنا الراجل ده ؟ اصله بيقولي انه موقع البنك و هو يقوله اه ده امان ولا نصاب .
كل البراوزز بتعمل الموضوع ده و بيبقي متسجل فيها قايمة بالوسطاء دول اسمهم Certificate Authority (CA). لما بتكلم اي موقع في الاول بيبعتلك المفتاح بتاعه و بيقولك مين الضامن بتاعه عشان البراوزر يسال عليه هناك. عشان كدة اوعي تطنش الرسالة اللي بتقول "your connection is not secure"
المشكلة هنا لو افترضنا ان البراوزر متسجل فيه ٦٠ CA. اي واحد فيهم لو حصل فيه اختراق كدة حرفيا امان ال https في العالم كله بقي بلح. لان اي حد هيطلع اي شهادة و حتي لو الموقع الحقيقي مش بيستخدم ال CA المصاب ده مش هتفرق لان مدام حد ضمن الشهادة خلاص بتبقي امين و بتعدي.
و عشان كدة اي حد عايز يبقي CA بيحصل عليه فحص مش طبيعي و بيتحط تحت الميكروسكوب و علي طول بيبقي فيه Audit دوري ليه. و عشان كدة مثلا لو دولة او جهة بقت CA حرفيا تقدر تتجسس علي كل التابعين ليها لانها هتعرف تفك التشفير ده. و تقدر بسهولة تعمل Man in the Middle Attack.
ال https بيعاني من ال Weakest Link Problem ضعيف ضعف اضعف حلقة فيه. اختراق ال CAs حصل قبل كدة و و بيحصل و هيفضل يحصل. ال CA لازم يبقي امان دائما بينما المخترق محتاج يبقي محظوظ مرة واحدة بس. مافيش امان مطلق. ده مقالي عن الموضوع ريتويت واستنوا اللي جاي😉
blog.cmpsamurai.com

جاري تحميل الاقتراحات...