عند كلمة "التشفير" ، يتذكر البعض كلمة مرور WiFi الخاصة بهم ، وقفل أخضر بجوار عنوان موقعهم المفضل ومدى صعوبة الوصول إلى بريد شخص آخر. يتذكر آخرون سلسلة من نقاط الضعف في السنوات الأخيرة مع اختصارات التحدث (DROWN ، FREAK ، POODLE ...) ، والشعارات الأنيقة وتحذير تحديث المتصفح على وجه السرعة.
يغطي التشفير كل هذا ، لكن
الجوهر مختلف. خلاصة القول هي بين بسيطة ومعقدة. من السهل القيام ببعض الأشياء ، لكن من الصعب العودة إليها: على سبيل المثال ، كسر البويضة. من السهل القيام بأشياء أخرى ، ولكن من الصعب العودة عندما يكون هناك جزء مهم وصغير مهم: على سبيل المثال ، لفتح باب مغلق عندما يكون "الجزء الحرج" هو المفتاح. يدرس التشفير هذه المواقف وكيفية استخدامها في الممارسة.
على مدار السنوات الماضية ، تحولت مجموعة من هجمات التشفير إلى حديقة حيوانات من الشعارات المبهجة المليئة بصيغ المقالات العلمية وخلق شعورًا كئيبًا عامًا مفاده أن كل شيء محطم. ولكن في الواقع ، تستند العديد من الهجمات إلى عدة مبادئ عامة ، وغالبًا ما تتحول الصفحات غير المحدودة من الصيغ إلى أفكار يسهل فهمها.
في هذه السلسلة من المقالات ، سننظر في أنواع مختلفة من هجمات التشفير ، مع التركيز على المبادئ الأساسية. بعبارات عامة وليس بهذا الترتيب ، ولكننا سنقول ما يلي:
- الاستراتيجيات الأساسية: القوة الغاشمة ، تحليل الترددات ، الاستيفاء ، تخفيض المستوى والبروتوكولات المتقاطعة.
- نقاط الضعف العلامة التجارية: FREAK ، الجريمة ، POODLE ، DROWN ، Logjam.
- الاستراتيجيات المتقدمة: هجمات Oracle (هجوم Woden ، هجوم Kelsey) ؛ طريقة الالتقاء في الوسط (الالتقاء في المنتصف) ، وهجوم أعياد الميلاد ، والتحيز الإحصائي (تحليل الترميز التفاضلي ، تحليل الترميز المتكامل ، وما إلى ذلك).
- هجمات الطرف الثالث وأقاربهم المقربين ، طرق تحليل الفشل.
- الهجمات على تشفير المفتاح العام: الجذر التكعيبي ، البث ، الرسائل ذات الصلة ، هجوم Coppersmith ، خوارزمية Polyg - Hellman ، المنخل العددي ، هجوم Wiener ، هجوم Bleichenbacher.
يغطي هذا المقال بالذات المواد المذكورة أعلاه حتى هجوم كيلسي.
الاستراتيجيات الأساسية
الهجمات التالية بسيطة بمعنى أنه يمكن شرحها بشكل كامل تقريبًا بدون تفاصيل فنية خاصة. نفسر كل نوع من الهجوم بأبسط العبارات ، دون الخوض في أمثلة معقدة أو حالات الاستخدام المتقدمة.
فقدت معظم هذه الهجمات أهميتها ولم يتم استخدامها لسنوات عديدة. البعض الآخر قديم ، لا يزالون يزحفون بانتظام على مطوري نظام التشفير الغريب في القرن الحادي والعشرين. يمكننا أن نفترض أن عصر التشفير الحديث قد بدأ مع ظهور IBM DES - أول الشفرة التي صمدت أمام كل الهجمات على هذه القائمة.
القوة الغاشمة البسيطة

يتكون نظام التشفير من جزأين: 1) وظيفة تشفير تستقبل رسالة (نص عادي) مع مفتاح ، ثم تنشئ رسالة مشفرة - نص مشفر ؛ 2) وظيفة فك التشفير التي تأخذ نص مشفر ومفتاح ويخلق نص عادي. يجب أن يكون كل من التشفير وفك التشفير أمرًا سهلاً في حساب المفتاح - وبدون صعوبة.
لنفترض أننا رأينا نصًا مشفرًا ونحاول فك تشفيره دون أي معلومات إضافية (يطلق عليه هذا الهجوم نص مشفر فقط). إذا وجدنا المفتاح الصحيح بطريقة أو بأخرى بطريقة سحرية ، فيمكننا التحقق بسهولة من صحته إذا كانت النتيجة رسالة معقولة.
لاحظ أن هناك افتراضين ضمنيين. أولاً ، أننا نعرف كيفية إجراء فك التشفير ، أي كيف يعمل نظام التشفير. هذا افتراض قياسي عند مناقشة التشفير. قد يبدو إخفاء تفاصيل تنفيذ التشفير من المتسللين بمثابة إجراء أمان إضافي ، ولكن بمجرد اكتشاف الدخيل لهذه التفاصيل ، يتم فقد هذا الأمان الإضافي بشكل غير مرئي ولا رجعة فيه. هذا هو
مبدأ Kerchhoffs : الوقوع في أيدي العدو لا ينبغي أن يسبب إزعاج.
ثانياً ، نفترض أن المفتاح الصحيح هو المفتاح الوحيد الذي سيؤدي إلى فك تشفير معقول. هذا هو أيضا افتراض معقول. يتم تنفيذه إذا كان النص المشفر أطول بكثير من المفتاح وقراءة جيدة. كقاعدة عامة ، هذا هو ما يحدث في العالم الحقيقي ، باستثناء
المفاتيح غير العملية الضخمة أو
غيرها من عمليات الاحتيال ، والتي من الأفضل تركها جانباً (إذا كنت لا تحب أن نبذنا التفسيرات ، فيرجى الاطلاع على Theorem 3.8
هنا ).
بالنظر إلى ما سبق ، تنشأ استراتيجية: تحقق من كل مفتاح ممكن. وهذا ما يسمى القوة الغاشمة ، ومثل هذا الهجوم مضمون للعمل ضد جميع الأصفار العملية - في النهاية. على سبيل المثال ، القوة الغاشمة تكفي لكسر
قيصر ، وهو الشفرة القديمة ، حيث المفتاح هو حرف واحد من الأبجدية ، مما يعني أكثر من 20 مفتاحًا ممكنًا.
لسوء الحظ بالنسبة لشفرات التشفير ، فإن زيادة حجم المفتاح يحمي من القوة الغاشمة. كلما زاد حجم المفتاح ، يزداد عدد المفاتيح المحتملة بشكل كبير. مع أحجام المفاتيح الحديثة ، فإن القوة الغاشمة البسيطة ليست عملية على الإطلاق. لفهم ما نعنيه ، دعنا نأخذ أسرع حاسوب عملاق معروف في منتصف عام 2019:
قمة IBM ، مع أعلى أداء في حدود 10
17 عملية في الثانية. اليوم ، يبلغ طول المفتاح النموذجي 128 بت ، مما يعني
2،128 مجموعة ممكنة. يتطلب تعداد كل المفاتيح أن يستغرق حاسوب القمة العملاق حوالي 7800 مرة من عمر الكون.
هل يجب اعتبار القوة الغاشمة فضولًا تاريخيًا؟ لا على الإطلاق: إنه عنصر ضروري في كتاب الطبخ لتحليل الشفرات. نادراً ما يتم العثور على أصفار ضعيفة بحيث لا يمكن تصدعها إلا بهجوم ذكي ، دون استخدام القوة بدرجة أو بأخرى. يستخدم العديد من المتطفلين الناجحين طريقة حسابية أولاً لإضعاف التشفير المستهدف ثم تشغيل القوة الغاشمة.
تحليل التردد

معظم النصوص ليست رطانة. على سبيل المثال ، في النصوص الإنجليزية ، هناك العديد من الحروف "e" ومقالات "the" ؛ في الملفات الثنائية - الكثير من البايتات الفارغة كعنصر نائب بين أجزاء من المعلومات. تحليل التردد هو أي هجوم يستغل هذه الحقيقة.
مثال شائع لشفرات عرضة لهذا الهجوم هو تشفير بديل بسيط. في هذا التشفير ، المفتاح هو جدول مع استبدال كل الحروف. على سبيل المثال ، يتم استبدال "g" بـ "h" ، "o" ب "j" ، لذا فإن الكلمة "go" تتحول إلى "hj". من الصعب تبسيط هذه القوة الغاشمة ، حيث يوجد الكثير من جداول البحث الممكنة. إذا كنت مهتمًا بالرياضيات ، يبلغ طول المفتاح الفعلي حوالي 88 بت: هذا

. لكن تحليل التردد عادة ما يقوم بهذه المهمة بسرعة.
النظر في النص المشفر التالي معالجتها مع تشفير بديل بسيط:
XDYLY ALY UGLY XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR W OGQL ZDWBGEGZDO
بما أن
Y
شائعة ، بما في ذلك في نهاية العديد من الكلمات ، يمكننا أن نفترض مبدئيًا أن هذه هي الحرف
e
:
XDeLe ALe UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FLeAUX GR W OGQL ZDWBGEGZDO
يتكرر زوج
XD
في بداية بضع كلمات. على وجه الخصوص ، تتضمن مجموعة XDeLe بشكل صريح الكلمة
these
أو
there
، لذلك نواصل:
theLe ALe UGLe thWNKE WN heAJeN ANF eALth DGLAtWG from ALE FLEAUT GR W OGQL ZDWBGEGZDO
علاوة على ذلك ، لنفترض أن
L
يتوافق مع
r
،
A
-
a
وهكذا. ربما يتعين عليك القيام بالعديد من المحاولات ، ولكن بالمقارنة مع القوة الغاشمة الكاملة ، فإن هذا الهجوم يستعيد النص المصدر في أسرع وقت ممكن:
هناك المزيد من الأشياء في السماء والأرض هوراشيو مما تحلم به في فلسفتك
بالنسبة للبعض ، فإن حل هذه "التشفير" هو هواية رائعة.
فكرة تحليل الترددات أكثر جوهرية مما تبدو للوهلة الأولى. وهذا ينطبق على الأصفار الأكثر تعقيدًا. على مر التاريخ ، حاولت العديد من تصميمات الشفرات الصمود في وجه مثل هذا الهجوم باستخدام "استبدال polyalphabetic." هنا ، في عملية التشفير ، يتغير جدول استبدال الحروف بطرق معقدة ولكن يمكن التنبؤ بها تعتمد على المفتاح. كل هذه الأصفار كانت ذات يوم من الصعب القضاء عليها. وبعد تحليل متواضع تردد انتهى بهزيمة كل منهم.
أكثر الشفرات متعددة الطموح في التاريخ ، وربما الأكثر شهرة ، كان لغز Enigma في الحرب العالمية الثانية. كان الأمر معقدًا نسبيًا مقارنة بالسابقين ، ولكن كنتيجة للعمل الطويل والشاق ، قام المحللون البريطانيون بتكسيره باستخدام تحليل التردد. بالطبع ، لم يتمكنوا من تطوير هجوم أنيق ، كما هو مبين أعلاه ؛ كان عليهم مقارنة أزواج معروفة من النصوص المفتوحة والمشفرة (ما يسمى بـ "هجوم النص العادي") وحتى استفزاز مستخدمي Enigma لتشفير رسائل معينة مع تحليل النتيجة ("الهجوم بناءً على نص عادي محدد"). لكن هذا لم يسهل مصير الجيوش المهزومة من الأعداء والغواصات الغارقة.
بعد هذا الانتصار ، اختفى تحليل التردد من تاريخ تحليل الشفرات. الأصفار من العصر الرقمي الحديث مصممة للعمل مع البتات ، وليس الحروف. والأهم من ذلك ، أن هذه الأصفار مصممة بفهم قاتم لما أصبح يعرف فيما بعد باسم
قانون شناير : يمكن لأي شخص إنشاء خوارزمية تشفير لا يستطيع هو نفسه كسرها. لا يكفي أن
يبدو نظام التشفير معقدًا: لإثبات أهميته ، يجب أن يمر بمراجعة أمنية قاسية من العديد من محللي التشفير الذين سيبذلون كل ما في وسعهم للقضاء على الشفرات.
الحسابات الأولية

خذ المدينة الافتراضية من مرتفعات بريكوم التي يبلغ عدد سكانها 200000 نسمة. يوجد في كل منزل في المدينة أشياء ثمينة بمتوسط 30،000 دولار ، ولكن ليس أكثر من 50000 دولار ، وقد احتكرت ACME Industries سوق الأوراق المالية في Precom ، والتي تنتج أقفال الأبواب فئة ذئب الأسطوري (tm). وفقًا لتحليلات الخبراء ، لا يمكن إلا لكسر افتراضية معقدة للغاية كسر قفل فئة ذئب البراري ، الذي يتطلب خلقه حوالي خمس سنوات واستثمار 50000 دولار. هل المدينة آمنة؟
على الأرجح لا. في النهاية ، سوف تظهر مجرم طموح إلى حد ما. سوف يتسبب في مثل هذا: "نعم ، سأتحمل تكاليف كبيرة مقدماً. خمس سنوات من توقع المريض ، و 50،000 دولار ، لكن بعد الانتهاء من العمل ، سأتمكن من الوصول إلى
كل ثروات هذه المدينة . إذا لعبت بطاقاتي بشكل صحيح ، فإن هذا الاستثمار سيؤتي ثماره عدة مرات. "
وبالمثل ، في التشفير. تتعرض الهجمات ضد الشفرات المحددة لتحليل لا يرحم للتكاليف والفوائد. إذا كانت النسبة مواتية ، فلن يحدث الهجوم. ولكن الهجمات التي تهاجم على الفور العديد من الضحايا المحتملين تؤتي ثمارها دائمًا تقريبًا ، وفي هذه الحالة فإن أفضل ممارسات التصميم هي افتراض أنها بدأت من اليوم الأول. لدينا أساسًا نسخة مشفرة من قانون مورفي: "كل شيء يمكن أن يكسر النظام حقًا سوف يكسر النظام".
أبسط مثال على نظام تشفير عرضة للهجوم مع الحسابات الأولية هو تشفير مع خوارزمية ثابتة دون استخدام مفتاح. كان هذا هو الحال مع
تشفير قيصر ، الذي يقوم ببساطة بتغيير كل حرف من الحروف الأبجدية إلى الأمام (الجدول محاط ، وبالتالي يتم تشفير الحرف الأخير في الأبجدية مع الثالث). هنا مرة أخرى ، يتجلى مبدأ Kerchhoffs: بمجرد اختراق النظام ، يتم اختراقه إلى الأبد.
المفهوم بسيط. من المحتمل أن يكون مطور نظام التشفير المبتدئ على دراية بالتهديد ويستعد وفقًا لذلك. إذا نظرت إلى تطور التشفير ، فإن مثل هذه الهجمات لم تكن مناسبة لمعظم الأصفار ، بدءًا من النسخ المحسنة الأولى من تشفير قيصر ، وصولًا إلى تراجع الأصفار متعددة الشقوق. عادت مثل هذه الهجمات فقط مع ظهور العصر الحديث للتشفير.
هذه العودة بسبب عاملين. أولاً ، أخيرًا ، ظهرت أنظمة تشفير معقدة للغاية ، حيث لم تكن إمكانية الاستغلال بعد القرصنة واضحة. ثانياً ، التشفير واسع الانتشار لدرجة أن ملايين الأشخاص العاديين يتخذون القرارات كل يوم بشأن مكان وأية أجزاء من التشفير يجب إعادة استخدامها. كان بعض الوقت قبل أن يدرك الخبراء المخاطر وأثار ناقوس الخطر.
تذكر الهجوم مع precomputations: في نهاية المقال سننظر في مثالين التشفير من واقع الحياة ، حيث لعبت دورا هاما.
استيفاء
إليكم المحقق الشهير Sherlock Holmes ، الذي يقوم بهجوم مع الاستيفاء على الدكتور Watson سيئ الحظ:
لقد خمنت على الفور أنك أتيت من أفغانستان ... كانت أفكاري على النحو التالي: "هذا الشخص طبيب حسب نوعه ، لكن لديه تأثير عسكري. لذلك طبيب عسكري. كان قد وصل لتوه من المناطق الاستوائية - وجهه مظلم ، لكن هذا ليس ظلاً طبيعياً لبشرته ، لأن معصميه أكثر بياضاً. من الواضح أن الوجه الهزيل عانى كثيرًا وعانى من المرض. لقد أصيب في يده اليسرى - وهو يحملها بلا حراك وغير طبيعي بعض الشيء. حيث ، تحت المناطق الاستوائية ، يمكن للطبيب الطبي البريطاني يعانون من المصاعب والحصول على الجرح؟ بالطبع ، في أفغانستان. " قطار الفكر كله لم يأخذ ثانية. وقلت أنك أتيت من أفغانستان ، وقد فوجئت.
من كل دليل على حدة ، يمكن هولمز استخراج القليل جدا من المعلومات. يمكن أن يصل إلى نهايته فقط من خلال فحصهم جميعًا معًا. يعمل هجوم الاستيفاء بشكل مشابه ، حيث يستكشف الأزواج المعروفة للنصوص المفتوحة والمشفرة التي يتم الحصول عليها نتيجة لتطبيق نفس المفتاح. يتم استخراج الملاحظات المنفصلة من كل زوج ، مما يسمح لنا باستخلاص استنتاج عام حول المفتاح. كل هذه الاستنتاجات غامضة وغير مجدية حتى تصل فجأة إلى كتلة حرجة وتؤدي إلى النتيجة الوحيدة الممكنة: بغض النظر عن مدى صحتها ، يجب أن تكون صحيحة. بعد ذلك ، إما يتم فتح المفتاح ، أو تصبح عملية فك التشفير ناضجة للغاية بحيث يمكن تكرارها.
نوضح مع مثال بسيط كيف يعمل الاستيفاء. لنفترض أننا نريد قراءة اليوميات الشخصية لعدونا ، بوب. يقوم بتشفير كل رقم في مذكراته بمساعدة نظام تشفير بسيط ، والذي علم به من إعلان في مجلة "Mockery of cryptography". يعمل النظام على النحو التالي: يختار بوب رقمين يحبهما:
M و
N . من الآن فصاعدًا ، لتشفير أي رقم
x انه يحسب
Mx+N . على سبيل المثال ، إذا اختار بوب
M=3دولا و
N=4 ثم الرقم

مشفرة كما
3∗2+4=10 .
لنفترض أننا لاحظنا في 28 ديسمبر أن بوب كان يخدش شيئًا ما في مذكراته. عندما ينتهي ، نأخذها بهدوء ونرى الإدخال الأخير:
التاريخ: 235/520
عزيزي يوميات ،
كان اليوم يوم جيد. بعد 64
يومًا ، لدي موعد مع أليس ، التي تعيش في شقة 843
. أعتقد حقا أنها يمكن أن تكون 26
!
نظرًا لأننا نعتزم بشدة اتباع بوب في تاريخه (في هذا السيناريو ، سن 15 عامًا) ، فمن الأهمية بمكان معرفة التاريخ ، وكذلك عنوان أليس. لحسن الحظ ، نلاحظ أن تشفير بوب عرضة لهجوم الاستيفاء. قد لا نعرف
M و
N ، لكننا نعرف تاريخ اليوم ، لذلك لدينا اثنين من أزواج من "النص غير المشفر - النص المشفر". وهي نعرف ذلك

مشفرة في

و

- في

. ما نكتبه:
M∗12+N=235دولا
M∗27+N=520دولا
نظرًا لأن سن 15 عامًا ، فنحن نعرف بالفعل نظام المعادلتين اللتين لا يعرفهما مجهولان ، وهو ما يكفي في هذه الحالة
M و
N دون أي مشاكل. يفرض كل زوج من نص "النص المشفر" قيدًا على مفتاح بوب ، ويكفي وجود عائقين معًا لاستعادة المفتاح تمامًا. في مثالنا ، الجواب
M=19دولا و
N=7دولا (في
س=1دولا ، لذلك 26
في يوميات يتوافق مع كلمة "واحد" ، وهذا هو ، "نفس" - تقريبا. لكل.) .
هجمات الاستيفاء ، بالطبع ، لا تقتصر على هذه الأمثلة البسيطة. كل نظام تشفير ، والذي يأتي إلى كائن رياضي مفهوم جيدًا وقائمة من المعلمات ، يكون عرضة لخطر هجوم الاستيفاء - فكلما كان الكائن أكثر قابلية للفهم ، زاد الخطر.
غالبًا ما يشتكي المبتدئين من أن التشفير هو "فن تصميم الأشياء القبيحة قدر الإمكان". هجمات الاستيفاء هي على الأرجح إلى حد كبير المسؤولية. يستطيع بوب إما استخدام تصميم رياضي أنيق ، أو الحفاظ على سرية أي موعد مع أليس - ولكن للأسف ، عادةً لا يمكنك الحصول على كليهما. سيصبح هذا واضحًا جدًا عندما ننتقل أخيرًا إلى موضوع تشفير المفتاح العام.
عبر بروتوكول / تقليله

في فيلم "وهم الخداع" (2013) ، تحاول مجموعة من المتخيلين خداع حالة قطب التأمين الفاسد آرثر تريسلر إلى الخداع. للوصول إلى حساب Arthur المصرفي ، يجب على المتخيلين إما تقديم اسم المستخدم وكلمة المرور الخاصين به ، أو جعله يظهر شخصياً في البنك والمشاركة في المخطط.
كلا الخيارين صعبان للغاية ؛ اعتاد الرجال على الأداء على خشبة المسرح ، وليس للمشاركة في عمليات الاستخبارات. لذلك ، يختارون الخيار الثالث: يتصل شريكهم بالبنك ويتظاهر بأنه آرثر. يسأل البنك عدة أسئلة للتحقق من الهوية ، مثل اسم العم واسم أول حيوان أليف ؛ أبطالنا مقدما
بسهولة الحصول على هذه المعلومات من آرثر بمساعدة الهندسة الاجتماعية الذكية . من الآن فصاعدًا ، لم يعد أمان كلمة المرور الممتاز مهمًا.
(وفقًا لأسطورة المدينة ، التي قمنا بفحصها وتأكيدها شخصيًا ، صادف تشفير التشفير إيلي بيهام مرة واحدة صرافًا مصرفيًا أصر على طرح سؤال سري. وعندما سأل أمين الصندوق اسم جدتها ، بدأت بيهام تملي: "العاصمة X ، قليل ذ ، ثلاثة ... ").
هو نفسه في التشفير ، إذا تم استخدام بروتوكولين للتشفير بالتوازي لحماية نفس الأصل ، في حين أن أحدهما أضعف بكثير من الآخر. يصبح النظام الناتج عرضة لهجوم عبر بروتوكول عندما يتم مهاجمة بروتوكول أضعف للوصول إلى الجائزة دون لمس بروتوكول أقوى.
في بعض الحالات المعقدة ، لا يكفي مجرد الاتصال بالخادم باستخدام بروتوكول أضعف ، والمشاركة اللاإرادية من عميل شرعي مطلوبة. يمكن تنظيم ذلك باستخدام ما يسمى الهجوم الذي تم تقليله. لفهم هذا الهجوم ، لنفرض أن المتخيلين لدينا لديهم مهمة أكثر صعوبة مما كانت عليه في الفيلم. لنفترض أن الموظف المصرفي (أمين الصندوق) وآرثر كانا يواجهان بعض الظروف غير المتوقعة ، ونتيجة لذلك كان هناك مثل هذا الحوار:
اللص: مرحبا؟ هذا هو آرثر تريسلر. أود إعادة تعيين كلمة المرور الخاصة بي.
أمين الصندوق: عظيم. يرجى إلقاء نظرة على كتاب الشفرة السرية الشخصية ، الصفحة 28 ، الكلمة 3. وسيتم تشفير جميع الرسائل التالية باستخدام هذه الكلمة المعينة كمفتاح. PQJGH. لوتنام PGGY MXVRL ZZLQ SRIU HHNMLPPPV ...
المفرقع: يا مهلا ، انتظر لحظة. هل هو ضروري حقا؟ لا يمكننا التحدث فقط مثل الناس العاديين؟
أمين الصندوق: لا أنصح بذلك.
المفرقع: أنا فقط ... اسمع ، كان لي يوم رديء ، حسناً؟ أنا عميل VIP وليس في مزاج للدخول في هذه الكتب ذات الرمز الغبي.
أمين الصندوق: جيد. إذا كنت تصر ، السيد تريسلر. ماذا تريد؟
كراكر: من فضلك ، أود أن أنقل جميع أموالي إلى صندوق آرثر تريسلر الوطني للضحايا.
(وقفة).
أمين الصندوق: حسنًا. يرجى تقديم رمز PIN للمعاملات الكبيرة.
المفرقع: بلدي ماذا؟
أمين الصندوق: بناءً على طلبك الشخصي ، تتطلب المعاملات بهذا الحجم رمز PIN للمعاملات الكبيرة. تم تقديم هذا الرمز لك عند فتح حساب.
المفرقع: ... لقد فقدت له. هل هو ضروري حقا؟ لا يمكنك الموافقة فقط على الصفقة؟
أمين الصندوق: لا شيء. أنا آسف ، السيد تريسلر. مرة أخرى ، هذا هو الإجراء الأمني الذي طلبته. إذا كنت تريد ، فيمكننا إرسال رمز PIN جديد إلى صندوق البريد.
أبطالنا يؤجلون العملية. يستمعون إلى العديد من معاملات Tressler الرئيسية ، أملاً في سماع الرمز السري ؛ ولكن في كل مرة تتحول المحادثة إلى رطانة مشفرة قبل ظهور شيء مثير للاهتمام هناك. أخيرًا ، في يوم ما يتم وضع الخطة موضع التنفيذ. إنهم ينتظرون بصبر اللحظة التي يجب فيها على Tressler إتمام معاملة كبيرة عبر الهاتف ، ويتصل بالخط ، ثم ...
Thressler: مرحبا. أرغب في إصدار معاملة عن بُعد ، من فضلك.
أمين الصندوق: عظيم. يرجى إلقاء نظرة على كتابك السري السري ، صفحة ...
(يضغط المفرقع على الزر ؛ يتحول صوت أمين الصندوق إلى ضجيج غير مسموع).
أمين الصندوق: - # @ $ # @ $ # * @ $$ @ # * سيتم تشفيرها بهذه الكلمة كمفتاح. AAAYRR PLRQRZ MMNJK LOJBAN ...
Thressler: عذرا ، لم أفهم تماما. مرة أخرى أي صفحة؟ ما هي الكلمة؟
أمين الصندوق: هذه هي الصفحة @ # $ @ # * $) # * # @ () # @ $ (# @ * $ (# @ *.
Thressler: ماذا؟
أمين الصندوق: كلمة رقم عشرون @ $ # @ $ #٪ # $.
Thressler: على محمل الجد! يكفي بما فيه الكفاية! أنت وبروتوكول الأمان الخاص بك نوع من السيرك. أعلم أنه يمكنك فقط التحدث معي بشكل طبيعي.
أمين الصندوق: لا أنصح ...
Thressler: وأنا لا أنصحك بإضاعة وقتي. لا أرغب في معرفة المزيد حول هذا الأمر حتى أقوم بحل مشاكل خط هاتفي. هل يمكننا ترتيب هذه الصفقة أم لا؟
أمين الصندوق: ... نعم. حسنا. ماذا تريد؟
Thressler: أود تحويل 20،000 دولار إلى Lord Business Investments ، ورقم الحساب ...
أمين الصندوق: لحظة فقط ، من فضلك. هذه مشكلة كبيرة. يرجى تقديم رمز PIN للمعاملات الكبيرة.
Thressler: ماذا؟ بالتأكيد. 1234.
هنا هو الهجوم الخريف. كان الهدف من البروتوكول الأضعف ، "مجرد التحدث مباشرة" ، هو
الخيار في حالة الطوارئ. ومع ذلك نحن هنا.
يمكنك طرح سؤال حول من الذي سيصمم ، في عقله الصحيح ، نظامًا حقيقيًا مثل "آمن حتى يتم سؤالك بخلاف ذلك" ، الموضح أعلاه. ولكن كما يخاطر أحد البنوك الوهمية بالمخاطر لإنقاذ العملاء الذين لا يحبون التشفير ، فغالبًا ما تميل الأنظمة ككل إلى متطلبات غير مبالية أو حتى معادية للأمان.
هذه هي بالضبط القصة التي حدثت مع SSLv2 في عام 1995. لقد بدأت حكومة الولايات المتحدة منذ فترة طويلة في اعتبار التشفير كسلاح يُفضل الابتعاد عنه عن الأعداء الخارجيين والداخليين. تمت الموافقة بشكل فردي على أجزاء التعليمات البرمجية للتصدير من الولايات المتحدة ، وغالبًا ما تخضع لضعف خوارزمي متعمد. تم منح Netscape ، مطور المتصفح الأكثر شعبية ، Netscape Navigator ، إذن SSLv2 فقط مع مفتاح RSA المستضعف في البداية وهو 512 بت (و 40 بت لـ RC4).
بحلول نهاية الألفية ، كانت القواعد قد خففت وأصبح الوصول إلى التشفير الحديث متاحًا على نطاق واسع. ومع ذلك ، فقد دعم العملاء والخوادم لسنوات عديدة تشفير "التصدير" الضعيف بسبب القصور الذاتي نفسه الذي يحافظ على دعم أي نظام قديم. اعتقد العملاء أنهم قد يواجهون خادمًا لا يدعم أي شيء آخر. خوادم فعلت الشيء نفسه. بالطبع ، تفرض SSL أن العملاء والخوادم يجب ألا يستخدموا بروتوكولًا ضعيفًا عند توفر الأفضل. لكن الفرضية نفسها كانت صالحة لتريسلر وبنكه.
وجدت هذه النظرية تطبيقًا في هجومين كبيرين هززا أمان بروتوكول SSL واحدًا تلو الآخر في عام 2015 ،
اكتشفهما باحثون من مايكروسوفت و
INRIA . في البداية ، في فبراير ، تم الكشف عن تفاصيل هجوم FREAK ، وبعد ثلاثة أشهر - هجوم آخر مماثل يسمى Logjam ، سنناقشه بمزيد من التفصيل عندما ننتقل إلى هجمات تشفير المفتاح العام.

ظهر الضعف (المعروف أيضًا باسم "Smack TLS") عندما قام الباحثون بتحليل تطبيق TLS للعميل / الخادم ووجدوا خطأً غريبًا. في هذه التطبيقات ، إذا كان العميل لا يطلب حتى استخدام تشفير التصدير الضعيف ، ولكن لا يزال الخادم يستجيب بمثل هذه المفاتيح ، يقول العميل "حسنًا" وينتقل إلى مجموعة ضعيفة من الأصفار.
في ذلك الوقت ، كان الجميع يعتبرون تشفير الصادرات قديمًا ويُمنع استخدامه ، لذا كان الهجوم صدمة حقيقية وأثر على العديد من المجالات المهمة ، بما في ذلك مواقع البيت الأبيض ومكتب الضرائب الأمريكي والوكالة الوطنية للأمن. والأسوأ من ذلك ، اتضح أن العديد من الخوادم الضعيفة حسّنت الأداء من خلال إعادة استخدام نفس المفاتيح بدلاً من إنشاء مفاتيح جديدة لكل جلسة. سمح هذا ، بعد خفض البروتوكول ، بتنفيذ هجوم باستخدام ما قبل الحوسبة: كان اختراق أحد المفاتيح لا يزال مكلفًا نسبيًا (100 و 12 ساعة في وقت النشر) ، ولكن تم تخفيض التكلفة العملية لمهاجمة الاتصال بشكل كبير. يكفي التقاط مفتاح الخادم مرة واحدة وكسر الأصفار لجميع الاتصالات اللاحقة من الآن فصاعدًا.
وقبل الانتقال ، نحتاج إلى ذكر هجوم واحد متقدم ...
هجوم أوراكل
يُعرف Moxie Marlinspike كأب رسول messenger تشفير عبر النظام الأساسي.
ولكن شخصيا ، نود واحدة من ابتكاراته الأقل شهرة - مبدأ عذاب التشفير (مبدأ تشفير الموت). لإعادة الصياغة قليلاً ، يمكننا أن نقول هذا: "إذا كان البروتوكول ينفذ أي عملية تشفير على رسالة من مصدر يحتمل أن يكون ضارًا ويتصرف بشكل مختلف وفقًا للنتيجة ، فسيتم القضاء عليه." أو بشكل أكثر وضوحًا: "لا تأخذ المعلومات من العدو للمعالجة ، وإذا اضطررت إلى ذلك ، على الأقل لا تعرض النتيجة".ترك جانبا تجاوزات المخزن المؤقت ، وحقن التعليمات ، وما شابه ذلك ؛ هم خارج نطاق هذا النقاش. انتهاك "مبدأ الموت" يؤدي إلى القرصنة خطيرة للتشفير بسبب حقيقة أن البروتوكول يتصرف تماما كما ينبغي.على سبيل المثال ، خذ تصميمًا وهميًا مع تشفير بديل ضعيف ، ثم أظهر أي هجوم محتمل. على الرغم من أننا رأينا بالفعل هجومًا على تشفير بديل باستخدام تحليل التردد ، فإن ذلك لا يمثل "طريقة أخرى لكسر نفس الشفرات". على العكس من ذلك ، تعتبر هجمات أوراكل اختراعًا أكثر حداثة ، وتنطبق على العديد من المواقف التي يفشل فيها تحليل التردد ، وسنرى عرضًا توضيحيًا لهذا في القسم التالي. هنا ، يتم اختيار تشفير بسيط فقط لجعل المثال أكثر وضوحًا.لذلك ، يتصل أليس وبوب باستخدام تشفير بديل بسيط باستخدام مفتاح معروف لهم فقط. فهي صارمة للغاية بشأن طول الرسائل: طولها هو بالضبط 20 حرفا. لذلك ، وافقوا على أنه إذا أراد شخص ما إرسال رسالة أقصر ، فيجب عليه إضافة نص وهمية إلى نهاية الرسالة بحيث يكون 20 حرفًا بالضبط. بعد بعض النقاش، قرروا أنها لن تقبل سوى دمية النص التالي: a
، bb
، ccc
، dddd
، الخ وهكذا، ودمية النص المعروف في أي الطول المطلوب ...عندما يتلقى Alice أو Bob الرسالة ، يتحققان أولاً من أن الرسالة هي الطول الصحيح (20 حرفًا) وأن اللاحقة هي النص الصحيح. إذا لم تكن هذه هي الحالة ، فسيجيبون برسالة الخطأ المقابلة. إذا كان طول النص والنص الوهمي بالترتيب ، فإن المستلم يقرأ الرسالة نفسها ويرسل استجابة مشفرة.أثناء الهجوم ، يتظاهر المهاجم بأنه بوب ويرسل رسائل وهمية إلى أليس. الرسائل - هراء كامل - لا يملك المهاجم مفتاحًا ، وبالتالي لا يستطيع أن يزيّف رسالة مجدية. ولكن نظرًا لأن البروتوكول ينتهك مبدأ العذاب ، فلا يزال بإمكان المهاجمين الاعتراض على Alice ، حتى تكشف عن معلومات حول المفتاح ، كما هو موضح أدناه.: PREWF ZHJKL MMMN. LA
: .
: PREWF ZHJKL MMMN. LB
: .
: PREWF ZHJKL MMMN. LC
: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!
, , , C
a
, .: REWF ZHJKL MMMN. LAA
: .
: REWF ZHJKL MMMN. LBB
: .
…
: REWF ZHJKL MMMN. LGG
: .
: REWF ZHJKL MMMN. LHH
: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.
مرة أخرى ، ليس لدى المفرقع أي فكرة عما قالته Alice ، لكن يلاحظ أن H يجب أن يتطابق مع b لأن Alice قبلت النص الوهمي.وهكذا ، حتى يكتشف المهاجم معنى كل شخصية.للوهلة الأولى ، تشبه هذه الطريقة الهجوم على أساس نص عادي محدد. في النهاية ، يلتقط المهاجم النصوص المشفرة ، ويقوم الخادم بمعالجتها بطاعة. الفرق الرئيسي الذي يجعل هذه الهجمات قابلة للحياة في العالم الحقيقي هو أن المهاجم لا يحتاج إلى الوصول إلى فك التشفير الفعلي - فقط استجابة الخادم ، حتى لو كانت غير ضارة مثل "النص الوهمي الخاطئ" ، كافية.على الرغم من أن هذا الهجوم المحدد مفيد ، إلا أنه لا ينبغي التركيز بشكل كبير على تفاصيل نظام "النص الوهمي" ، أو نظام التشفير المحدد المستخدم ، أو التسلسل الدقيق للرسائل التي يرسلها المهاجم. الفكرة الرئيسية هي كيف تتفاعل أليس بطريقة مختلفة بناءً على خصائص النص العادي ، وتقوم بذلك دون التحقق من أن النص المشفر المقابل تم استلامه بالفعل من جهة موثوق بها. وبالتالي ، تسمح أليس للمهاجمين باستخراج معلومات سرية من ردودها.هناك الكثير لتغيير في هذا السيناريو. الشخصيات التي تتفاعل معها Alice ، أو الفرق في سلوكها ، أو حتى نظام التشفير المستخدم. لكن المبدأ سيبقى كما هو ، وسيظل الهجوم ككل قابلاً للتطبيق بشكل أو بآخر. ساعد التنفيذ الأساسي لهذا الهجوم على اكتشاف العديد من الأخطاء الأمنية التي سنواجهها قريبًا ؛ ولكن أولا يجب تعلم بعض الدروس النظرية. كيفية استخدام هذا "السيناريو أليس" الخيالي في هجوم قادر على العمل على الشفرات الحديثة الحقيقية؟ هل هذا ممكن على الإطلاق ، حتى من الناحية النظرية؟في عام 1998 ، أجاب المشفر السويسري دانيال بليشنباكر بالإجابة على هذا السؤال بالإيجاب. لقد أظهر هجومًا أوراكلًا في نظام تشفير المفتاح العمومي RSA المستخدم على نطاق واسع باستخدام نظام رسائل محدد. في بعض تطبيقات RSA ، يستجيب الخادم برسائل خطأ مختلفة ، اعتمادًا على ما إذا كان النص الشائع يطابق المخطط أم لا ؛ كان ذلك كافيا لشن هجوم., 2002 , (Serge Vaudenay) , , — , , . , (« »), « CBC» , , .
2002 (John Kelsey) —
Twofish- اقترح العديد من هجمات أوراكل على الأنظمة التي تضغط الرسائل ثم تشفرها. كان أبرزها هو الهجوم ، الذي استخدم حقيقة أنه من الممكن في كثير من الأحيان استنباط الطول الأصلي للنص الشائع من طول النص المشفر. من الناحية النظرية ، يسمح هذا لهجوم أوراكل باستعادة أجزاء من النص العادي الأصلي.بعد ذلك ، نقدم وصفًا أكثر تفصيلًا لهجمات Woden و Kelsey (سنقدم وصفًا أكثر تفصيلًا لهجوم Bleichenbacher عندما ننتقل إلى الهجمات على تشفير المفتاح العام). على الرغم من كل جهودنا ، يصبح النص تقنيًا إلى حد ما ؛ لذلك ، إذا كان ما سبق يكفيًا لك ، تخطي القسمين التاليين.هجوم Woden
لفهم الهجوم Woden ، تحتاج أولاً إلى التحدث أكثر قليلاً عن الأصفار كتلة وسائط التشفير. "تشفير البلوك" هو ، كما ذكر سابقًا ، تشفير يقبل مفتاحًا ويدخل طولًا ثابتًا معينًا ("طول الكتل") وينتج كتلة مشفرة بنفس الطول. الأصفار كتلة تستخدم على نطاق واسع وتعتبر آمنة نسبيا. كان DES الآن المتقاعد ، يعتبر أول الشفرات الحديثة ، ممتلئ الجسم. كما ذكر أعلاه ، ينطبق الشيء نفسه على الخدمات المعمارية والهندسية ، وتستخدم على نطاق واسع اليوم.لسوء الحظ ، الأصفار كتلة واحدة ضعف صارخ. حجم الكتلة النموذجي هو 128 بت أو 16 حرفًا. من الواضح أن التشفير الحديث يتطلب العمل مع بيانات إدخال أكبر ، وهنا تظهر أوضاع التشفير. وضع التشفير هو في الأساس اختراق: إنه طريقة لتطبيق تشفير البلوك بطريقة ما ، والذي يقبل بيانات الإدخال بحجم معين فقط ، لإدخال البيانات ذات الطول التعسفي.يركز هجوم Woden على وضع CBC الشهير للعملية (Cipher Block Chaining ، وضع اقتران كتلة ciphertext). يرى الهجوم أن تشفير الكتل الأساسية عبارة عن صندوق أسود منيع سحري ويتجاوز أمانه تمامًا.فيما يلي رسم بياني يوضح كيفية عمل وضع CBC:
علامة زائد تدور حول عملية XOR (OR حصرية). على سبيل المثال ، يتم تلقي كتلة النص المشفر الثاني:- إجراء عملية XOR على الكتلة الثانية من النص غير المشفر مع المجموعة الأولى من النص المشفر.
- تشفير الكتلة المستلمة باستخدام تشفير البلوك باستخدام مفتاح.
نظرًا لأن CBC تستخدم عملية XOR الثنائية بشكل مكثف ، فلنأخذ بعض الوقت لتتذكر بعض خصائصها:- idempotency: A ⊕ 0 = A
- تبادلي: أ ⊕ ب = ب ⊕ أ
- ترابطيات: A ⊕ ( B ⊕ C ) = ( A ⊕ B ) ⊕ C
- ، عكس النفس: A ⊕ A = 0
- بايت بايت: بايت ن ( A ⊕ B ) = (البايتة n مند و ل ا ) ⊕ (بايت نB )
عادةً ، تشير هذه الخصائص إلى أنه إذا كان لدينا معادلة تتضمن عمليات XOR وواحدة غير معروفة ، فيمكن حلها. على سبيل المثال ، إذا كنا نعرف ذلكA ⊕ X = B مع المجهولالعاشر والشهيرةد و ل ا و
B ، ثم يمكننا الاعتماد على الخصائص المذكورة أعلاه أعلاه لحل المعادلة لX .
تطبيق XOR على جانبي المعادلة بـ د و ل ا ، نحصل علىX = A ⊕ B .
في لحظة ، كل هذا سوف يصبح وثيق الصلة.هناك نوعان من الاختلافات الطفيفة والفرق الرئيسي واحد بين السيناريو أليس لدينا وهجوم Woden. قاصران:- في السيناريو نتوقع أليس أن نهاية مفتوحة في النص
a
، bb
، ccc
وهلم جرا. في هجوم Woden ، يتوقع الضحية بدلاً من ذلك أن ينتهي النص غير العادي N مرات بالبايترة N (على سبيل المثال ، ست عشرية 01 أو 02 02 أو 03 03 03 وهكذا). هذا هو الفرق التجميل البحت.
- في نص Alice ، كان من السهل القول ما إذا كانت Alice قد استلمت الرسالة ، ردًا على "نص وهمي خاطئ". في الهجوم Woden ، هناك حاجة إلى مزيد من التحليل والتنفيذ الدقيق من جانب الضحية هو المهم ؛ ولكن على سبيل الإيجاز ، نحن نعتبر أن هذا التحليل لا يزال ممكنا.
الفرق الرئيسي:هذا هو الفرق الرئيسي - آخر قطعة من اللغز لفهم هجوم Woden ، لذلك دعونا نفكر للحظة في سبب وكيفية تنظيم هجوم أوراكل على CBC.افترض أنه تم إعطاء نص مشفر لـ CBC مكون من 247 قطعة ، ونريد فك تشفيره. يمكننا إرسال رسائل وهمية إلى الخادم ، كما كان من قبل يمكننا إرسال رسائل وهمية إلى أليس. سيقوم الخادم بفك تشفير الرسائل بالنسبة لنا ، لكنه لن يعرض فك التشفير - بدلاً من ذلك ، مرة أخرى ، كما في حالة Alice ، سيُبلغ الخادم عن جزء واحد فقط من المعلومات: في الحالة غير الصحيحة ، يتم ملؤها بشكل صحيح أم لا.لاحظ أنه في سيناريو Alice ، كانت لدينا العلاقات التالية:نسمي هذا معادلة أليس. نحن تسيطر على النص المشفر. قام الخادم (Alice) بدمج معلومات غامضة حول النص العادي المستلم ؛ وهذا سمح لنا بعرض معلومات حول العامل الأخير - المفتاح. وقياسًا على ذلك ، إذا تمكنا من العثور على مثل هذا الاتصال لبرنامج نصي CBC ، فيمكننا استخراج بعض المعلومات السرية هناك أيضًا.لحسن الحظ ، هناك بالفعل علاقات يمكننا استخدامها. النظر في إخراج كتلة التشفير التشفير النهائي الدعوة وتعيين هذه البيانات على النحوW .
كما تشير إلى كتل النص العادي P 1 ، P 2 ، . . . وكتل النص المشفرC 1 ، C 2 ، . . . .
ألقِ نظرة أخرى على مخطط CBC ولاحظ أنه يتضح:C 246 ⊕ W = P 247
نحن نسمي هذا "معادلة CBC".في سيناريو Alice ، من خلال مراقبة النص المشفر ومراقبة تسرب المعلومات حول النص المشابه المقابل ، تمكنا من تنظيم هجوم أعاد المصطلح الثالث للمعادلة - المفتاح. في سيناريو CBC ، نتحكم أيضًا في النص المشفر ونلاحظ تسرب المعلومات في النص العادي المقابل. إذا استمر القياس ، فيمكننا الحصول على معلومات عنهW .
لنفترض أننا استعدنا حقا وW ، ثم ماذا؟ حسنًا ، عندئذٍ يمكننا على الفور طباعة المجموعة الأخيرة بأكملها من النص العادي (P 247 ) ببساطة عن طريق الكتابةج 246 (الذي عندنا)وتلقيناW في معادلة CBC. لذلك ، نحن متفائلون بشأن الخطة العامة للهجوم ، وقد حان الوقت لوضع التفاصيل. نحن نولي اهتمامًا تمامًا لكيفية تسرب الخادم لمعلومات النص العادي. في نص Alice ، حدث تسرب لأن Alice أجبت على الرسالة الصحيحة فقط إذاانتهى بخط a
(أو bb
، وهكذا ، لكن فرص حدوث هذه الحالات بطريق الخطأ كانت صغيرة جدًا). وبالمثل مع CBC ، يقبل الخادم الحشو إذا وفقطC 246 ⊕ W ينتهي بالسداسي عشري. لذلك ، دعونا نجرب نفس الخدعة: إرسال نص مشفر مع قيمنا الوهمية01
C 246 حتى يقبل الخادم التعبئة. عندما يقبل الخادم الحشو لأحد رسائلنا المزيفة ، فهذا يعني:C 246 ⊕ W = البيانات مع عرافة 01 في النهاية
الآن استخدام خاصية بايت XOR:( البايت الأخير من C 246 ) ⊕ ( البايت الأخير من W ) = hex 01
نحن نعرف العضو الأول والثالث. وقد رأينا بالفعل أن هذا يسمح لك باستعادة العضو المتبقي - آخر بايت منW :
( آخر بايت من W ) = ( آخر بايت من C 246 ) ⊕ ( عرافة 01 )
كما أنه يعطينا البايت الأخير من الكتلة النهائية للنص الشائع من خلال معادلة CBC وخاصية البايت.يمكن أن ينتهي بنا الأمر مع هذا ونشعر بالرضا لأننا هاجمنا شفرات قوية من الناحية النظرية. ولكن في الواقع ، يمكننا أن نفعل أكثر من ذلك بكثير: يمكننا حقًا استعادة النص بأكمله. هذا يتطلب خدعة معينة ، والتي لم تكن موجودة في النص الأصلي لـ Alice ولم يتم تضمينها في المتطلبات المسبقة لهجوم أوراكل ، لكن الطريقة لا تزال تستحق الاستكشاف.لفهمها ، لاحظ أولاً أنه نتيجة لاشتقاق القيمة الصحيحة للبايت الأخيرW لدينا القدرة الجديدة. الآن ، عند تزوير النصوص المشفرة ، يمكننا التحكم في البايت الأخير من النص الشائع المقابل. مرة أخرى ، يكون هذا بسبب معادلة CBC وخاصية البايت:( آخر بايت من C 246 ) ⊕ ( آخر بايت من W ) = آخر بايت من P 247
نظرًا لأننا نعرف الآن المصطلح الثاني ، فيمكننا استخدام سيطرتنا على الأول للسيطرة على المصطلح الثالث. نحن فقط حساب:( آخر بايت من وهمية C 246 ) = ( آخر بايت المطلوب من P 247 ) ⊕ ( آخر بايت من W )
لم نتمكن من القيام بذلك من قبل ، لأننا لم نحصل على البايت الأخير W .
كيف سيساعدنا هذا؟ لنفترض الآن أننا سننشئ جميع النصوص المشفرة بحيث تكون البايتة الأخيرة متساوية في النصوص الخاطئة المقابلة 02
. الآن لا يقبل الخادم الحشو إلا إذا انتهى النص غير العادي 02 02
. نظرًا لأننا قمنا بتصحيح البايت الأخير ، فلن يحدث هذا إلا إذا كانت البايتة قبل الأخيرة من النص غير العادي هي 02. نواصل إرسال كتل النص المشفر المزيفة ، وتغيير البايت قبل الأخيرة ، حتى يقبل الخادم الحشو لأحدها. في هذه اللحظة نحصل على:( البايت قبل الأخيرة من C 246 وهمية ) ⊕ ( البايت قبل الأخيرة من W ) = عرافة 02
ونستعيد البايت قبل الأخير W بالضبط نفس المستعادة الماضي. نواصل في نفس السياق: نصلح آخر وحدتي بايت من النص العادي، ونكرر هذا الهجوم للبايت الثالث من نهاية البايتة ، وهكذا ، في نهاية المطاف نستعيد بالكامل03 03
W .
ماذا عن بقية النص؟ يرجى ملاحظة أن القيمةW هو في الواقع .
يمكننا وضع أي كتلة أخرى بدلا من ذلك C 247 ، وسيظل الهجوم ناجحًا. في الواقع ، يمكننا أن نطلب من الخادم القيام بهلأية بيانات. في هذه المرحلة ، انتهت اللعبة - يمكننا فك تشفير أي نص مشفر (مرة أخرى نلقي نظرة على مخطط فك تشفير CBC لرؤية ذلك ؛ ولاحظ أن المتجه IV متاح للجمهور).تلعب هذه الطريقة الخاصة دورًا مهمًا في الهجوم على أوراكل ، والتي سنواجهها لاحقًا.هجوم كيلسي
حدد جون كيلسي عن كثب المبادئ التي تكمن وراء العديد من الهجمات المحتملة ، وليس فقط تفاصيل هجوم محدد على تشفير معين. صاحب المقال 2002 - دراسة احتمال وقوع هجمات على ضغط البيانات المشفرة. هل فكرت في القيام بهجوم ، المعلومات وحدها لم تكن كافية ، وأنه تم ضغط البيانات قبل التشفير؟ اتضح بما فيه الكفاية.هذه النتيجة المدهشة ترجع إلى مبدأين. أولاً ، يوجد ارتباط قوي بين طول النص غير الطبيعي وطول النص المشفر ؛ لكثير من الأصفار ، المساواة بالضبط. ثانياً ، عند إجراء الضغط ، يوجد أيضًا ارتباط قوي بين طول الرسالة المضغوطة ودرجة "ضوضاء" النص غير العادي ، أي نسبة الأحرف غير المتكررة (المصطلح الفني هو "إنتروب كبير").للاطلاع على المبدأ أثناء العمل ، فكر في نصين عاديين:نص واضح 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
نص واضح 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ
لنفترض أن كلا النصين مضغوطين ومن ثم مشفرين. تحصل على نصين مشفرين ناتجين وعليك أن تخمن أي نص مشفر يطابق النص الشائع:النص المشفر 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA
النص المشفر 2: DWKJZXYU
الجواب واضح. من بين النصوص الخاطئة ، يمكن ضغط النص غير الشائع 1 فقط على الطول الضئيل للنص المشفر الثاني. لقد اكتشفنا دون معرفة أي شيء عن خوارزمية الضغط أو مفتاح التشفير أو حتى التشفير نفسه. بالمقارنة مع التسلسل الهرمي لهجمات التشفير المحتملة ، هذا نوع من الجنون.يشير Kelsey كذلك إلى أنه في ظل ظروف غير عادية معينة ، يمكن أيضًا استخدام هذا المبدأ للقيام بهجوم أوراكل. على وجه الخصوص ، يصف كيف يمكن للمهاجم استرداد نصًا سريًا إذا كان بإمكانه إجبار الخادم على تشفير بيانات النموذج (نص عادي ، متبوعًا بـX بينما يتحكمX ويمكن التحقق بطريقة ما من طول النتيجة المشفرة). مرة أخرى ، كما في هجمات أوراكل الأخرى ، لدينا النسبة:التشفير ( ضغط ( مسح النص متبوعًا X ) ) = نص مشفر
مرة أخرى ، نحن نسيطر على عضو واحد ( X ) ، نرى تسربًا صغيرًا للمعلومات حول عضو آخر (نص مشفر) ونحاول استعادة الأخير (نص عادي). على الرغم من التشبيه ، هذا وضع غير عادي إلى حد ما مقارنة بهجمات أوراكل الأخرى التي رأيناها.لتوضيح كيفية نجاح مثل هذا الهجوم ، نستخدم نظام الضغط الخيالي الذي توصلنا إليه للتو: TOYZIP. يبحث عن أسطر النص التي ظهرت بالفعل في وقت سابق في النص ، ويستبدلها بثلاث وحدات بايت للعنصر النائب تشير إلى مكان العثور على مثيل سابق للخط وعدد المرات التي يظهر فيها. على سبيل المثال ،يمكن ضغط سلسلةبطول 13 بايت مقارنة بـ 15 بايت الأصلية.لنفترض أن المهاجم يحاول استرداد النص العادي للنموذجhelloworldhello
helloworld[00][00][05]
password=...
حيث كلمة المرور نفسها غير معروفة. وفقًا لنموذج هجوم Kelsey ، قد يطلب المهاجم من الخادم ضغط الرسائل النموذجية ثم تشفيرها (نص عادي ، متبوعًا بـX ) أينX نص حر. عند الانتهاء من الخادم ، يبلغ عن طول النتيجة. يذهب الهجوم على النحو التالي:المفرقع: يرجى ضغط وتشفير النص العادي دون أي ملء.
الخادم: طول النتيجة 14.
المفرقع: يرجى ضغط وتشفير النص غير العادي الذي أضفته password=a
.
الخادم: طول النتيجة 18.
تلاحظ المفرقع: [الأصل 14] + [ثلاث بايتات حلت محل password=
] +a
Cracker: يرجى ضغط وتشفير النص العادي الذي أضفته password=b
.
الخادم: طول النتيجة 18.
المفرقع: يرجى ضغط وتشفير النص غير العادي الذي أضفته password=
.
الخادم: طول النتيجة 17.
تلاحظ وحدة التكسير: [الأصل 14] + [ثلاث بايتات حلت محلها password=c
]. هذا يفترض أن النص الأصلي يحتوي على سلسلة password=c
. أي أن كلمة المرور تبدأ بحرفc
Cracker: يرجى ضغط وتشفير النص العادي الذي أضفته password=a
.
الخادم: طول النتيجة 18.
تلاحظ المفرقع: [الأصل 14] + [ثلاث بايتات حلت محل password=
] +a
Cracker: يرجى ضغط وتشفير النص العادي الذي أضفته password=b
.
الخادم: طول النتيجة 18.
(... بعض الوقت في وقت لاحق ...)Cracker: يرجى ضغط وتشفير النص العادي الذي أضفته password=
.
الخادم: طول النتيجة 17.
تلاحظ وحدة التكسير: [الأصل 14] + [ثلاث بايتات حلت محلها password=co
]. وفقًا لنفس المنطق ، يستنتج جهاز التكسير أن كلمة المرور تبدأ بالأحرفco
وهكذا حتى تتم استعادة كلمة المرور بالكامل.يُغفر القارئ لأنه يعتقد أن هذا تمرين أكاديمي بحت وأن مثل هذا الهجوم لن يحدث أبدًا في العالم الواقعي. للأسف ، كما سنرى قريباً ، من الأفضل عدم الوعد في التشفير.نقاط الضعف العلامة التجارية: الجريمة ، POODLE ، DROWN
أخيرًا ، بعد دراسة مفصلة للنظرية ، يمكننا أن نرى كيف يتم استخدام هذه الأساليب في هجمات التشفير الحقيقية.الجريمة
إذا كان الهجوم يستهدف المتصفح وشبكة الضحية ، فسيكون الأمر أكثر بساطة وأكثر تعقيدًا. على سبيل المثال ، من السهل رؤية حركة مرور الضحية: ما عليك سوى الجلوس معها في نفس المقهى باستخدام WiFi. لهذا السبب ، يُنصح عادةً الضحايا المحتملين (أي الجميع) باستخدام اتصال مشفر. سيكون الأمر أكثر صعوبة ، ولكن لا يزال من الممكن تنفيذ طلبات HTTP نيابة عن الضحية لبعض مواقع الطرف الثالث (على سبيل المثال ، Google). يجب أن يجذب المهاجم الضحية إلى صفحة ويب ضارة باستخدام برنامج نصي يقدم الطلب. سيوفر مستعرض الويب تلقائيًا ملف تعريف ارتباط الجلسة المناسب.هذا يبدو رائعا. إذا قام بوب بتسجيل الدخول evil.com
، فهل يستطيع البرنامج النصي على هذا الموقع فقط مطالبة Google بإرسال بريد إلكتروني إلى كلمة مرور بوبattacker@evil.com
؟ حسنا ، من الناحية النظرية ، نعم ، ولكن في الحقيقة لا. يُطلق على هذا السيناريو اسم " هجوم التزوير عبر المواقع" (CSRF) ، وكان شائعًا في منتصف التسعينيات. اليوم، إذا كنت evil.com
تحاول هذه الخدعة، وجوجل (أو أي موقع تحترم نفسها) وعادة ما يستجيب: "حسنا، ولكن CSRF بك رمزية لهذه الصفقة سيكون ... أم ...
. يرجى تكرار هذا الرقم. " تستخدم المتصفحات الحديثة شيئًا ما يسمى سياسة الأصل نفسه ، والتي بموجبها لا تتمكن النصوص البرمجية الموجودة في الموقع أ من الوصول إلى المعلومات المرسلة بواسطة موقع الويب B. لذلك ، evil.com
لا يمكن للبرنامج النصي إرسال الطلبات إليه google.com
، لكن لا يمكنه قراءة الإجابات أو في الواقع استكمال الصفقة.يجب أن نؤكد أنه إذا كان بوب لا يستخدم اتصالًا مشفرًا ، فإن كل أشكال الحماية هذه لا معنى لها. يستطيع المهاجم ببساطة قراءة حركة مرور بوب واستعادة ملف تعريف ارتباط جلسة جوجل. من خلال ملف تعريف الارتباط هذا ، سيفتح ببساطة علامة تبويب جديدة من Google دون مغادرة متصفحه الخاص ، وانتحال شخصية بوب دون مواجهة سياسات مزعجة من نفس الأصل. ولكن ، لسوء الحظ بالنسبة للتكسير ، أصبح هذا أقل شيوعًا. لقد أعلنت الإنترنت ككل حربًا طويلة على الاتصالات غير المشفرة ، وربما تكون حركة مرور بوب الصادرة مشفرة ، سواء أحبها أم لا. بالإضافة إلى ذلك ، منذ بداية تطبيق البروتوكول ، تم ضغط حركة المرور أيضًا قبل التشفير ؛ كانت ممارسة شائعة للحد من الكمون.هذا هو المكان الذي يأتي دور الجريمة.(أصبحت نسبة الضغط Infoleak سهلة وبسيطة من خلال نسبة الضغط). كشف الضعف في سبتمبر 2012 من قبل الباحثين الأمن جوليانو ريزو وتاي دونغ. لقد فحصنا بالفعل القاعدة النظرية بأكملها ، والتي تسمح لنا بفهم ما فعلوه وكيف. يمكن للمهاجمين إجبار متصفح بوب على إرسال طلبات إلى Google ، ثم الاستماع للاستجابات على الشبكة المحلية في شكل مضغوط ومشفّر. لذلك ، لدينا:حركة مرور الويب = التشفير ( الضغط ( طلب وملف تعريف الارتباط ) )
هنا ، تتحكم وحدة التكسير في الطلب وتتمتع بحق الوصول إلى متشمم حركة المرور ، بما في ذلك حجم الحزمة. سيناريو كيلسي الخيالي أصبح حقيقة.لفهم النظرية ، ابتكر مؤلفو CRIME استغلالًا يمكن أن يسرق ملفات تعريف الارتباط للجلسة لمجموعة واسعة من المواقع ، بما في ذلك Gmail و Twitter و Dropbox و Github. أثرت مشكلة عدم الحصانة على معظم متصفحات الويب الحديثة ، ونتيجة لذلك تم إصدار تصحيحات دفعت بصمت وظيفة الضغط في طبقة المقابس الآمنة بحيث لا يتم استخدامها على الإطلاق. كان Internet Explorer الموقر الوحيد المحمي من مشكلة عدم الحصانة ، والذي لم يستخدم ضغط SSL على الإطلاق.بودل
في أكتوبر 2014 ، أثار فريق أمان Google ضجة في مجتمع الأمان. لقد تمكنوا من استغلال الثغرة الأمنية في بروتوكول SSL ، الذي تم إصلاحه قبل أكثر من عشر سنوات.اتضح أنه على الرغم من أن الخوادم تقوم بتشغيل TLSv1.2 الجديد الرائع ، فقد ترك الكثير منها الدعم لنظام SSLv3 القديم للتوافق مع الإصدارات السابقة مع Internet Explorer 6. لقد تحدثنا بالفعل عن هجمات خفض المستوى ، حتى تتمكن من تخيل ما يحدث. التخريب المنظم جيدًا لبروتوكول المصافحة - والخوادم جاهزة للعودة إلى SSLv3 القديم الجيد ، مما يلغي بشكل أساسي آخر 15 عامًا من الأبحاث الأمنية.للسياق التاريخي ، إليك ملخص موجز لسجل SSL حتى الإصدار 2 من Matthew Green :Transport Layer Security (TLS) — . [..] , , TLS. [..] TLS TLS. Netscape Communications "Secure Sockets Layer" SSL. , SSL , -. , SSL SSL 2 . , [..] 90-, « ». , , . SSLv2 , — , SSLv2 .
بعد هذه الأحداث ، في عام 1996 ، أعادت شركة Netscape المحبطة تصميم SSL من الصفر. وكانت النتيجة هي الإصدار 3 من طبقة المقابس الآمنة (SSL) ، والتي أصلحت عدة مشكلات أمنية معروفة لسابقتها .لحسن الحظ بالنسبة للمفرقعات ، فإن "القليل" لا يعني "كل شيء". بشكل عام ، قدمت SSLv3 جميع لبنات البناء اللازمة لشن هجوم Woden. استخدم البروتوكول تشفير البلوك في وضع CBC ونظام الحشو غير الآمن (تم إصلاح هذا في TLS ؛ وبالتالي ، نشأ هجوم بتخفيض المستوى). إذا كنت تتذكر نموذج التعبئة في وصفنا الأصلي لهجوم Woden ، فإن نمط SSLv3 مشابه جدًا.ولكن ، لسوء الحظ بالنسبة للمفرقعات ، فإن كلمة "مماثلة" لا تعني "متطابقة". مخطط الحشو SSLv3 هو "N بايتات تعسفية متبوعة بالرقم N". في هذه الظروف ، حاول اختيار كتلة وهمية من النص المشفر وتصفح جميع مراحل مخطط Wodene الأصلي: ستجد أن الهجوم يستخرج بنجاح البايت الأخير من الكتلة المقابلة للنص العادي ، ولكنه لا يذهب أبعد من ذلك. يعد فك شفرة كل بايت 16 من النص المشفر بمثابة خدعة ممتازة ، ولكنه ليس نصرًا.في مواجهة الفشل ، لجأ فريق Google إلى الخيار المتطرف: لقد تحولوا إلى نموذج تهديد أكثر قوة - النموذج المستخدم في CRIME. على افتراض أن المهاجم هو برنامج نصي يعمل على علامة تبويب متصفح الضحية ويمكنه استخراج ملفات تعريف الارتباط للجلسة ، يظل الهجوم مثيرًا للإعجاب على أي حال. على الرغم من أن نموذج التهديد الأوسع نطاقًا أقل واقعية ، فقد رأينا بالفعل في القسم السابق أن هذا النموذج المحدد ممكن.بالنظر إلى قدرات التكسير الأكثر قوة ، يمكن أن يستمر الهجوم الآن. يرجى ملاحظة أن المهاجم يعرف مكان عرض ملف تعريف الارتباط للجلسة المشفرة في الرأس ويتحكم في طول طلب HTTP الذي يسبقه. لذلك ، فإنه قادر على معالجة طلب HTTP وذلك لمحاذاة البايت الأخير من ملف تعريف الارتباط وفقًا لنهاية الكتلة. الآن هذه البايت مناسبة لفك التشفير. يمكنك ببساطة إضافة حرف واحد إلى الطلب ، وستبقى البايتة قبل الأخيرة من ملفات تعريف الارتباط في نفس المكان ومناسبة للاختيار بنفس الطريقة. يستمر الهجوم بهذه الطريقة حتى تتم استعادة ملف تعريف الارتباط بالكامل. وهذا ما يسمى POODLE: Padding Oracle on Legacyed Legacy Encryption ، يملأ oracle بتخفيض تشفير قديم.غرق
كما ذكرنا سابقًا ، كان هناك عيوب في SSLv3 ، لكنها كانت مختلفة تمامًا عن سابقتها ، لأن SSLv2 المتسرب كان منتجًا لعصر مختلف. هناك كان من الممكن مقاطعة الرسالة في الوسط:
تحولت إلى
؛ يمكن للعميل والخادم الاجتماع على الإنترنت ، وإنشاء الثقة وتبادل الأسرار أمام أعين المهاجمين ، الذين تظاهروا بعد ذلك بكل سهولة. هناك أيضًا مشكلة في تشفير الصادرات ، والتي ذكرناها عند التفكير في FREAK. هذه كانت تشفير سدوم وعمورة.في مارس 2016 ، اجتمع فريق من الباحثين من مختلف المجالات التقنية وقاموا باكتشاف مذهل: لا يزال SSLv2 يستخدم في أنظمة الأمان. نعم ، لم يعد بإمكان المهاجمين الرجوع إلى جلسات عمل TLS الحديثة إلى SSLv2 ، حيث تم إغلاق هذه الفجوة بعد FREAK و POODLE ، لكن لا يزال بإمكانهم الاتصال بالخوادم وبدء جلسات SSLv2 بمفردهم.أنت تسأل ، ما الذي يهمنا ماذا يفعلون هناك؟ لديهم جلسة ضعيفة ، ولكن هذا لا ينبغي أن يؤثر على جلسات عمل أخرى أو أمان الخادم - أليس كذلك؟ حسنا ، ليس حقا. نعم ، هكذا ينبغي أن يكون نظريا. لكن لا - لأن إنشاء شهادات طبقة المقابس الآمنة يفرض عبئًا معينًا ، ونتيجة لذلك يستخدم العديد من الخوادم الشهادات نفسها ، ونتيجة لذلك ، فإن مفاتيح RSA نفسها لاتصالات TLS و SSLv2. والأسوأ من ذلك ، نظرًا لوجود خطأ في OpenSSL في تطبيق SSL الشائع ، فإن الخيار "Disable SSLv2" لم ينجح فعليًا.هذا جعل من الممكن هجوم عبر بروتوكول على TLS دعا DROWN(فك تشفير RSA باستخدام التشفير الإلكتروني العتيق والضعيف ، فك تشفير RSA باستخدام تشفير قديم وضعيف). أذكر أن هذا ليس هو نفسه هجوم الخريف ؛ لا يحتاج المهاجم إلى التصرف "كشخص في الوسط" ولا يحتاج إلى إشراك عميل للمشاركة في جلسة غير آمنة. يقوم المهاجمون ببساطة ببدء جلسة SSLv2 غير آمنة مع الخادم بأنفسهم ، ويهاجمون بروتوكولًا ضعيفًا ، ويستعيدون مفتاح خادم RSA الخاص. هذا المفتاح صالح أيضًا لاتصالات TLS ، ومن الآن فصاعدًا لن يقوم أمان TLS بحفظه من القرصنة.لكن القرصنة تتطلب هجومًا عمليًا على SSLv2 ، مما يسمح لك باستعادة ليس فقط حركة مرور محددة ، ولكن أيضًا مفتاح خادم RSA السري. على الرغم من أن هذا إنتاج معقد ، إلا أن الباحثين يمكنهم اختيار أي ثغرة أمنية تم إغلاقها تمامًا بعد SSLv2. في النهاية ، وجدوا خيارًا مناسبًا: هجوم Bleichenbacher ، الذي ذكرناه سابقًا والذي سيتم شرحه بالتفصيل في المقال التالي. تتم حماية SSL و TLS من هذا الهجوم ، ولكن بعض وظائف SSL العشوائية ، جنبًا إلى جنب مع مفاتيح قصيرة في تشفير درجة التصدير ، جعلت من الممكن تنفيذ محدد لـ DROWN .في وقت نشر الضعف DROWN ، تأثرت 25 ٪ من أفضل المواقع على شبكة الإنترنت ، ويمكن تنفيذ الهجوم مع موارد متواضعة المتاحة حتى للقراصنة واحدة مؤذية. استغرق الأمر ثماني ساعات من الحوسبة و 440 دولارًا لاسترداد مفتاح خادم RSA ، وغير SSLv2 حالته من "قديم" إلى "مشع".الانتظار ، ماذا عن Heartbleed؟
هذا ليس هجوم تشفير بالمعنى الموضح أعلاه ؛ هذا هو تجاوز سعة المخزن المؤقت.خذ استراحة
لقد بدأنا ببعض الطرق الأساسية: القوة الغاشمة ، والاستيفاء ، والتخفيض ، والبروتوكولات المتقاطعة ، والحساب المسبق. ثم فحصوا إحدى التقنيات المتقدمة ، وربما المكون الرئيسي لهجمات التشفير الحديثة: هذا هو هجوم الأوراكل. لقد اكتشفنا ذلك لفترة طويلة - وفهمنا ليس فقط المبدأ الأساسي ، ولكن أيضًا التفاصيل الفنية للتنفيذين المحددين: هجمات Wodene على وضع تشفير CBC وهجمات Kelsey على بروتوكولات التشفير مع الضغط الأولي.عند مراجعة هجمات خفض التصنيف ومع الحسابات الأولية ، حددنا باختصار هجوم FREAK ، الذي يستخدم كلا الطريقتين ، لأن المواقع المستهدفة تنخفض إلى مفاتيح ضعيفة ثم نعيد استخدام نفس المفاتيح. بالنسبة للمقال التالي ، تركنا هجوم Logjam (مشابه جدًا) يستهدف خوارزميات المفتاح العام.. -, CRIME POODLE: , ,
, , . CRIME SSL, POODLE CBC .
بعد ذلك ، لفتنا انتباهنا إلى الهجوم عبر بروتوكول DROWN ، والذي ينشئ اتصالًا بالخادم باستخدام بروتوكول SSLv2 القديم ، ثم يستعيد مفاتيح الخادم السري باستخدام هجوم Bleichenbacher. في هذه المرحلة ، فقدنا التفاصيل الفنية لهذا الهجوم ؛ مثل Logjam ، سيتعين عليها الانتظار حتى ندرس بدقة أنظمة التشفير بالمفاتيح العامة ونقاط ضعفها.في المقال التالي ، سوف نتحدث عن الهجمات المتقدمة - مثل طريقة الالتقاء في الوسط ، والتحليل التفريقي للشفرات ، وهجوم "عيد الميلاد". سنشن غارة قصيرة على الهجمات من خلال قنوات تابعة لجهات خارجية ، ثم سنواجه أكثر الأشياء اللذيذة - أنظمة التشفير باستخدام مفتاح عمومي.