اسمي Rob Stackle ، أنا مستشار أمني من فينيكس ، أريزونا ، وأعمل بشكل رئيسي كبطل. لقد شاركت في مؤتمرات DefCon منذ عام 1996 ، وأنا مغرم بالتصوير على ارتفاعات عالية ، وكانت عطلة نهاية الأسبوع هذه هي الذكرى الحادية عشرة لحفل زفافنا. أريد أن أشكر زوجتي المذهلة والمتفهمة ليندا ، التي لم تتوقع أن مشاركتي في DefCon تعني أنني سأضطر كل عام للاحتفال بذكرى زواجنا في فيغاس ، والتي أشعر بالأسف الشديد.

سوف أتحدث معك حول العديد من الأشياء المتعلقة بالبحث الذي عملت عليه خلال السنوات القليلة الماضية. إنهم متحدون بموضوع مشترك - إذا كنت لا تراقب حركة مرور DNS الخاصة بك ولا تفهم ما يحدث هناك ، عندما يكون كل شيء في محله ، فمن المحتمل أنك لن تنتبه عندما تبدأ الأشياء السيئة في حدوثه. لقد "اغتصبت" نظام أسماء النطاقات لعدة سنوات ، وكان هذا دائمًا أحد نواقل هجومي المفضلة. يمكنك إنفاق ثروة على تعزيز محيط الشبكة ، ولكن إذا تمكنت من التحكم في أحد أجهزتك ، صدقني ، فإن اللعبة قد انتهت.
إن عدم وجود ثغرات أمنية في السوق لاكتشاف التكوينات غير الصحيحة يمنحني دائمًا فرصة "وضع قدمي في الباب". سنناقش اليوم موضوعات مختلفة سأتحدث فيها عن مغامراتي مع DNS وحيلي حول الأشخاص المرتبطين بـ DNS.
هذه الموضوعات مخصصة لسوء فهم سلوك DNS من قبل المستخدمين النهائيين للشبكة ، سأتحدث قليلاً عن الأشخاص الذين لم يسجلوا نطاقاتهم ، وعن اختراق المجال نفسه.
في مؤتمري Black Hat و DefCon في 2011 ، تحدث Artyom Daineberg عما أسماه ضربات القرفصاء ، أو "قلب الضربات". أولئك الذين ليسوا على دراية بهذه الدراسة ، ولكنهم مهتمون بهذه المشكلة في DNS للمجالات الشعبية ، يمكنهم تنزيل مواد عرضه التقديمي باستخدام الروابط المتوفرة في هذه الشريحة.
صفحة المشروع /
عرض الفيديو /
الشرائحعندما قرأت إعلان خطابه ، المنشور حتى قبل التقرير عن Black Hat ، أصبحت مهتماً على الفور بكيفية استخدام هذا لأغراضي الخاصة. دون الخوض في التفاصيل ، سأشرح ما هو ضربات القرفصاء ، لماذا يحدث وماذا يؤثر. سأعرض لك بعض الأمثلة على خطر التقليب العرضي قليلاً في الذاكرة عندما يتحول 1 إلى 0 والعكس صحيح. توضح الشرائح التالية كيف يبدو هذا كمثال على سطر في الذاكرة يعرض اسم المجال.

في منتصف هذا الخط ، تتحول الوحدة إلى صفر. حققت شركة Artyom في الظاهرة التي أجبر فيها خطأ بت واحد في الجزء الصحيح من الذاكرة في الوقت المناسب العميل على طلب اسم مجال شرعي تمامًا ولكنه غير صحيح.
كان هناك الكثير من الحديث حول احتمالية وأسباب مثل هذا الخطأ ، لكنني بدأت في دراسة جميع الطرق التي تسمح باستخدام هذا الخطأ لأغراض ضارة. لذا ، يتيح لك نظام القرفصاء DNS تشويه أسماء النطاقات ، ثم تسجيل هذه المجالات "الخاطئة" وإرسال طلبات المستخدمين إليها.
تُظهر الشريحة التالية أنه نتيجة القرفصاء قليلاً لاسم نطاق Google ، عندما "بروتونات" عالية الطاقة في الذاكرة "يضرب" 1 ، مما يعني أن الحرف g ، يحولها إلى 0 ، مما يعني أن الحرف f ، ونتيجة لذلك ، تتم إعادة توجيه المستخدم إلى goofle.com .

لذا ، سيعيد متصفحك توجيهك تمامًا إلى موقع آخر وسيسعد بسرد الإجابة لك. في الوقت نفسه ، لن يتمكن DNS SEC من مساعدتك بأي شكل من الأشكال ، وفي الواقع هناك فرص قليلة جدًا لمنع هذا الخطأ بطريقة غير مرئية تمامًا ، باستثناء استخدام ذاكرة ECC ، التي تتعرف تلقائيًا على أخطاء البت وتصحيحها.
ومع ذلك ، فإن هذا النوع من الذاكرة ليس شائعًا جدًا ، وحتى إذا كنت تستخدم ECC ، فلا يزال هناك العديد من الأماكن التي يمكن أن تحدث فيها القرفصاء البتة وحيث لا يتم استخدام ذاكرة ECC أبدًا ، على سبيل المثال ، في بطاقة الشبكة أو في ذاكرة التخزين المؤقت DRAM للقرص الصلب.
وصف Deineberg بالتفصيل أسباب المشكلة ، ولكن بشكل عام يمكن القول أن أخطاء الذاكرة تحدث ، وأحيانًا تتلف الذاكرة وأحيانًا يكون لها تأثير على DNS. في الأساس ، فإن "التقليب" للقليل يرجع إلى الضرر المادي للذاكرة ، والسخونة الزائدة ، والمشاكل الكهربائية ، والتعرض للإشعاع وحتى الإشعاع الكوني.
تمت مقاطعة العرض التقديمي بسبب الظهور على مسرح منظمي DefCon ، الذين هنأوا المتحدث وزوجته ليندا ، التي كانت حاضرة في المؤتمر لأول مرة ، في الذكرى السنوية الحادية عشرة للزفاف. روبرت يشكرهم على التهاني ويواصل العرض.
يعد الإشعاع الكوني عاملاً نادرًا جدًا يؤثر على القرفصاء ، ولكن ارتفاع درجة الحرارة هو سبب شائع جدًا لأخطاء الذاكرة. لقد لاحظت أن الهواتف الذكية ضعيفة بشكل خاص بسبب ظروف التشغيل القاسية التي تتعرض لها. ارتفاع درجة حرارة بطارية الهاتف الذكي أمر شائع إلى حد ما. تحتوي معظم الأجهزة الأخرى على تبريد ، ولكنها حتى تتمكن من خلق ظروف تشغيل صعبة.

منذ وقت ليس ببعيد ، نشرت Google معلومات حول عمل مراكز البيانات الخاصة بها. أحد الأشياء المثيرة للاهتمام التي علمت بها هي الرسالة القائلة بأنهم ، من أجل توفير الطاقة ، يقومون بتشغيل مراكز البيانات الخاصة بهم في ظروف قد يعتبرها معظمنا غير معقولة. إذا كانت مراكز البيانات النموذجية تعمل عند درجة حرارة قصوى تبلغ 60-70 درجة فهرنهايت (15-20 درجة مئوية) ، فإن خبراء Google ينصحون الشركات بتشغيل مراكز البيانات عند درجة حرارة لا تقل عن 80 درجة (27 درجة مئوية) ، ومركز بيانات بلجيكي واحد Google تشغيل خوادمها عند درجة حرارة 95 درجة (35 درجة مئوية).

التسمية التوضيحية: "سمعت أنها توفر لنا المال".
تدعي Intel و Microsoft أن خوادمهما تعمل بشكل جيد في درجات الحرارة المرتفعة ، وتضمن Dell أن خوادمها ستعمل عند 115 درجة فهرنهايت (46 درجة مئوية). أعتقد أن هذه فكرة سيئة ، لأن درجة الحرارة هي العامل الرئيسي في ضمان تشغيل مستقر للذاكرة ، وتعمل مراكز بيانات Google في درجات حرارة "الحريق".
لقد بدأت في دراسة المزايا التي يمكن أن يمنحها ذلك وأي المجالات هي الأكثر تعرضًا للقرفصاء قليلاً ، أي أنني حاولت العثور على الأسماء الأكثر طلبًا لزيادة احتمالية مواجهة مثل هذه الأخطاء. بدأت في جمع سجلات DNS للشركات الكبيرة للعثور على أسماء النطاقات الأكثر شيوعًا واكتشفت أن الاسم الأكثر طلبًا هو gstatic.com. هذا أحد المجالات التي تخدمها Google لتوفير معلومات ثابتة مثل CSS والصور وجافا سكريبت وملفات XML.

لقد كتبت نصًا برمجيًا لتحديد "الاضطرابات" المحتملة للبتات في اسم نطاق gstatic.com هذا ، وحصلت على قائمة بجميع الاختلافات في هذا الاسم بمبلغ 34 قطعة. تم استخدام خمسة منها لأغراض قانونية ، وكانت الـ 29 المتبقية متوفرة ، لذلك اشتريتها كلها.

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

في الصفحة ، يمكنك مشاهدة قطعة أثرية مثيرة للاهتمام في شكل طلب للحصول على اسم معين Trisha Jones.

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

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

لذلك ، أكتب نصوصًا برمجية في محاولة للعثور على نفس أنماط الاستعلام ، وأكبر ما حصلت عليه كان الكثير من الاستفسارات من نفس الصورة عن نفس اسم النطاق المشوه ، وكلها جاءت من الهواتف المحمولة. تلقيت هذه الطلبات كل بضع ثوانٍ ، حيث حاولت جميع هذه الهواتف استخدام صفحة البحث في موقع Google على الويب وطلبت مني تزويدهم بصورة صغيرة لشعار الصفحة الأصلية.
لقد عثرت على خادم ويب واحد من سحابة Google بأكملها التي عرضت المحتوى وشوهت باستمرار اسم النطاق ، مشيرة إلى أحد خادمي ، حيث حدث أن يكون الشعار بهذا الاسم عن طريق الصدفة ، وأخذ العملاء به.
تُظهر الشريحة كيف يتم استبدال شعار صفحة بحث Google على شاشة الجهاز المحمول بشعار Occupy ، مما يتسبب في ضحك تقديري في القاعة.لمدة عامين ، وصلت مئات الآلاف من الطلبات لهذا الشعار إلى هذا الخادم باسم DNS مشوه ، بدلاً من الاسم الذي خططت Google لاستخدامه. ثم توقفوا يومًا ما ، حيث رفضت Google تغيير محتوى مواقع الجوال ، وتم إلغاء هذا الطلب.
لذا ، واصلت دراسة أنماط الاستعلام وحاولت معرفة أنماط أخرى. ظهر أحدهم بانتظام وحدث بطريقة طبيعية من خلال "قلب القليل" في الذاكرة ، وليس نتيجة لخطأ القرفصاء المحفوظ.

تلقيت الطلبات الموضحة في الشريحة التالية بمعدل تكرار واحد لكل ساعة. لم يبدوا مألوفين ، فقد استخدموا جميعًا عميل Google Feedfetcher ، وكلهم جاءوا من أجهزة على نفس الشبكة ، وكانت جميع الطلبات مرتبطة بملفات XML. لذلك بحثت قليلاً ووجدت أن Feedfetcher هي الآلية التي تستخدمها Google لالتقاط المحتوى المحدث لـ iGoogle ، وكانت عناوين IP المصدر موجودة في بلجيكا.

تتعلق هذه الطلبات بخوادم Google الخاصة ، والتي يتم استخدامها لتلقي محتوى محدث للعديد من الأدوات التي تخصص صفحة iGoogle الرئيسية ، وهي بوابة إنترنت شخصية.
كل أداة عبارة عن ملف XML يحدد المحتوى ، وطلبت مني Google تقديم هذا المحتوى إلى خوادم العروض التقديمية (تصفيق وضحك الجمهور).

لذلك ، اعتقدت أنه إذا أرادت Google عن طريق الخطأ محتوى مني يمكن أن يوفر لمستخدميها ، فستتلقاه. أخذت ملفات XML التي سألتني عنها Google وقسمتها إلى أجزاء. كما ترى ، هناك قسمان: عنوان يصف الوحدة ، وكتلة C من البيانات المعبأة في HTML CSS و JavaScript code التي تشكل الأداة.

لذلك قمت بتغيير الارتباط إلى صورة الخلفية ، وقمت بتغيير عنوان gstatic.com إلى grtatic.com ، وتركت الباقي دون تغيير ، ووضع ملفات XML في السطر الذي يحصل عليها Feedfetcher ، وانتظر قليلاً.

بعد ذلك تقريبًا ، سألني Feedfetcher عن ملفات XML ، وبعد ذلك بدأت على الفور في تلقي الطلبات من العديد من عناوين IP من Google لصورة الخلفية هذه.

لذلك ، قمت بحذف ملفات XML التي قمت بتعديلها وانتظرت حتى توقف الطلبات ، ولكن لمدة 35 يومًا متتالية ، استمر 61 جهازًا في سؤالي عن هذه الصورة كل يوم. والأكثر إثارة للاهتمام هو أن كل جهاز من هذه الأجهزة كان عميل فيرجن ميديا في المملكة المتحدة.

لقد خدم ملف Google XML هذا 61 شخصًا ، وخلال العام الماضي ، طلب مني 500 عنوان IP فريد من Feedfetcher تقديم هذه الوحدات 15000 مرة. حتى أتمكن من تزويد المستخدمين بشيء أكثر ضررًا من مجرد استبدال صورة الخلفية.
إليك بعض الحيل التي يمكنك القيام بها مع Google. إذا كنت لا تعرف ، فإن Postini هي خدمة البريد الإلكتروني الحديثة لحماية البريد العشوائي وأمان الويب وخدمة أرشفة البريد الإلكتروني من Google.

تتيح لك هذه الخدمة تغيير DNS الخاص بك للإشارة إلى سجل MX الخاص بك في المجال الخاص بهم وجعل المجال الخاص بك عن طريق تغيير 4 أحرف MX قبل psmtp.com. الشيء الأكثر إثارة للاهتمام هنا هو أن النطاق قصير جدًا بحيث يمكنك بسهولة تسجيل جميع الإصدارات الممكنة من الاسم باستخدام البتات "المقلوبة". نقطة أخرى مثيرة للاهتمام هي أن الكثير من الشركات تشير إلى سجلات MX الخاصة بها لنطاق واحد ولم يعتقد أحد أنها فكرة سيئة.
لذلك ، قمت بتسجيل ثلاثة فقط من القرفصاء الممكنة لهذا المجال ، وتبين أن توظيف موقع psmtp.com كبير جدًا لدرجة أن الشرائح الأربع التالية تعرض الطلبات التي تلقيتها في شهر واحد فقط.


لذا إذا كنت تستخدم بريد Postini ، فسيأتي طلبك في مرحلة ما إلى الخادم الخاص بي. لا أعتقد أن أي شخص يمكنه القول أن Google ليست جادة بشأن أمان الإنترنت. ولكن إذا تساءل أحدهم عن المشاكل التي يمكن أن تؤدي إلى ارتفاع درجة الحرارة التي تسبب أخطاء في الذاكرة ، فسيكون قادرًا على طرح سؤال النظر في إمكانية التعويض عن مثل هذه الأشياء. لذلك ، لا تجعل أسماء نطاقك قصيرة جدًا ، لأنها تؤثر سلبًا على عملك ، مثل Postini ، خاصة إذا كان نطاقك شائعًا.
أوصي بشدة أن يطبق الأشخاص سياسة داخلية لإدارة اسم النطاق تسمح لهم بتصحيح أخطاء تشويه الأسماء وفهم واضح لكيفية تأثير هذه الأشياء عليك. إذا كان لديك gstatic.com ومركز بيانات يعمل عند درجة حرارة 95 درجة ، فربما تريد التأكد من أن أي خطأ في القرفصاء لن يسمح للعميل بالوصول إلى شبكة خارجية ضارة.
بالمناسبة ، من بين جميع المجالات التي قمت بالتحقيق فيها ، كانت الشركة الوحيدة التي سجلت جميع التشوهات المحتملة لاسمي الخاص هي Yahoo.
في الجزء التالي من العرض التقديمي ، سوف أعرض سلوك DNS ، الذي لا يفهمه كثير من الناس ، كما اتضح ، تمامًا.

بصراحة ، قامت Microsoft بعمل سيء للغاية في التوثيق ، خاصة وأن سلوك DNS غالبًا ما يتغير. وهذا يؤدي إلى سوء فهم لما يحدث من قبل المستخدمين النهائيين ، خاصة وأن هذا السلوك غالبًا ما يكون متناقضًا.
لذلك ، سأبدأ بحقيقة أنه يجب على الجميع فهم كيفية تصرف الأجهزة عند الاستعلام عن DNS وما يمكن توقعه منها. ثم سأشرح كيف يصبح هذا السلوك غير متوقع عند استخدام مسارات بحث لاحقة DNS ، وكيف يؤثر التوثيق غير الكافي على كل هذا ، وسأنتهي بنظرة عامة مختصرة عن الدروس التي يمكن تعلمها من كل هذا. ولكن أولاً ، سأوضح مدى خطورة أن يسيء المستخدم النهائي فهم ما يحدث مع DNS.
لذا ، بعد كتابة
www.google.com في شريط عنوان المتصفح ، يرسل جهاز الكمبيوتر الخاص بك طلبًا إلى خادم DNS المحلي ، ويتم الآن تعيين مهمة العثور على الشيء الذي تريده وإعادة الطلب والرد عليه. يقوم الخادم المحلي باستدعاء الخادم الجذر للوصول إلى خادم .com ، ويقوم الخادم الجذر بإرساله إلى خادم .com. يتحقق ما إذا كان الخادم المحلي مفوضًا لطلبات google.com ويرسله إلى الخادم ns.google.com. أخيرًا ، يتلقى الخادم المحلي ردًا بعنوان IP للمورد الذي تحتاجه ويرسله إليك.

هذا هو سلوك DNS العادي الذي يتوقعه الجميع منه. يعتقد الجميع أنه يكفي فقط إرسال طلب من الجهاز إلى خادم DNS المحلي الخاص بك بحيث يقوم بكل العمل الشاق ، ثم الحصول على إجابة لطلبك. لكن لا يتصور الجميع أن هذه العملية تتكون من العديد من الخطوات المهمة.
على سبيل المثال ، يحاول جهازك العثور على الإجابة على
www.google.com ، ولكن العملية برمتها ، التي استغرقت منا ما يصل إلى 8 شرائح ، لن تحدث إلا إذا قمت بكتابة مثل هذا العنوان بالضبط في شريط استعلام المتصفح -
www.google .com . هذا هو اسم المجال المؤهل بالكامل والمرتبط بـ DNS الجذر. يعتقد الكثير من الناس أن اسم النطاق المؤهل بالكامل ينتهي بنقطة ، وهذا غير صحيح. لا يزال يُفترض وجود نقطة في نهاية الاسم الكامل ، ولهذا السبب تحدث مشاكل. لنحاول طباعة 4 أشكال مختلفة للاسم:
www.google.comgoogle.com
www
www.google.comكل منها يتصرف بشكل مختلف فيما يتعلق بسلوك DNS. كل هذا قابل للتخصيص ، ولكن عادة لا أحد يفعل ذلك.
دعونا نلقي نظرة على ما يحدث بالفعل في مثل هذه المواقف. هناك العديد من العوامل التي تؤثر على اتخاذ قرارات العميل قبل أن يقرروا إرسال استعلام DNS. اثنان من هذه مسارات البحث لاحقة وتفويض DNS.

يحتوي كلاهما على العديد من المعلمات القابلة للتخصيص التي تؤثر على سلوكهم ، وتتصرف بشكل مختلف في الإصدارات المختلفة من Windows وفي حزم الخدمة المختلفة.
هذه هي الطريقة التي سيستخدم بها معظم الناس لاحقة مسار البحث. إذا كانت شركتك تسمى foo وكنت تملك المجال foo.com ، واسم الدليل النشط هو ad.foo.com ، فيمكنك استخدام لاحقة مسارات البحث ad.foo.com أو foo.com و "دفعها" إلى جزء العميل من تجميع النظام أو في سياسة المجموعة.
إذا حاول أحد عملائك حل الاسم المختصر www ، فسيكون السلوك الافتراضي لـ Windows XP على هذا النحو. أولاً سترسل استعلام DNS على المسار
www.ad.foo.com ، ثم على المسار
www.foo.com وفي النهاية سيتبع استعلام NetBIOS - فقط www.
www.phx ,
www.phx , ,
www.phx.ad.foo.com ,
www.phx.foo.com . 15 , NetBIOS,
www.phx .

Windows, XP sp.3, DNS —
www.phx NetBIOS —
www.phx , , .

, , , , , . , , Microsoft DNS.
XP , Microsoft XP, DNS Windows DNS . , www, Windows , , , DHCP Active Directory.
www.phx.ad.foo.com , ,
www.ad.foo.com ,
www.foo.com , ,
www.com .

18:30
DEFCON 21. DNS . الجزء 2شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ تريد أن ترى المزيد من المواد المثيرة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ،
خصم 30٪ لمستخدمي Habr على تناظرية فريدة من خوادم الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1 جيجابت في الثانية من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر خيارات مع RAID1 و RAID10 ، ما يصل إلى 24 مركزًا وما يصل إلى 40 جيجابايت من ذاكرة DDR4).
VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps حتى ديسمبر مجانًا عند الدفع لمدة ستة أشهر ، يمكنك الطلب
هنا .
ديل R730xd 2 مرات أرخص؟ 2 Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 $249 ! اقرأ عن
كيفية بناء البنية التحتية فئة باستخدام خوادم V4 R730xd E5-2650d تكلف 9000 يورو عن بنس واحد؟