لماذا لا يخفي التمويه المعلومات الحساسة بشكل سيء

بالتأكيد شاهد الجميع على شاشة التلفزيون وعلى الإنترنت صورًا لأشخاص ، خاصةً الضبابية لإخفاء وجوههم. على سبيل المثال ، بيل غيتس:



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

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



يبدو آمنا لأن أحدا لن يقرأ الأرقام؟ الإجابة الخاطئة. هناك هجوم على هذا المخطط:

الخطوة 1. الحصول على صورة الاختيار نظيفة


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

في الأمثلة لدينا ، بالطبع ، يتم ذلك بسهولة:



الخطوة 2. التكرار


استخدم برنامج نصي للتكرار على جميع أرقام الحسابات الممكنة وإنشاء فحص لكل منها ، ويفصل بين مجموعات الأرقام. على سبيل المثال ، على بطاقات VISA ، يتم تجميع الأرقام حسب 4 ، بحيث يمكنك معالجة كل قسم على حدة. هذا يتطلب فقط 4 × 10،000 = 40،000 صورة ، والتي يتم إنشاؤها بسهولة بواسطة البرنامج النصي.



الخطوة 3. طمس كل صورة مماثلة لالأصلي


حدد الحجم الدقيق وإزاحة البيكسل لبلاط الفسيفساء المستخدم في طمس الصورة الأصلية (سهلة) ، ثم افعل الشيء نفسه مع كل صورة من صورك الضبابية. في هذه الحالة ، نرى أن الصورة الضبابية تتكون من فسيفساء 8 × 8 بكسل ، ويتم تحديد الإزاحة عن طريق العد من الحد العلوي للصورة (غير مبين):



نفرز الآن جميع الصور ونطمسها بنفس الطريقة التي نظهر بها الصورة الأصلية ، ونحصل على شيء مثل هذا:



الخطوة 4. تحديد متجه سطوع الفسيفساء من كل صورة غير واضحة.


ماذا يعني هذا؟ حسنًا ، لنأخذ نسخة الفسيفساء 0000001 (زيادة):



... وحدد مستوى السطوع (0-255) لكل مساحة من الفسيفساء ، مع تسميتها بطريقة متسقة a=[a1،a2...،an]:



في هذه الحالة ، يقوم رقم الحساب 0000001 بإنشاء متجه سطوع الفسيفساء a(0000001)=[213،2011،...]. نجد متجه سطوع الفسيفساء لكل رقم حساب بنفس الطريقة ، باستخدام برنامج نصي لطمس كل صورة وقراءة السطوع. سمح a(x)- وظيفة رقم الحساب x. ثم a(x)iيدل على قيمة المتجه الأول لمتجه سطوع الفسيفساء دولاتم الحصول عليها من رقم الحساب x. أعلى a(0000001)1=213.

الآن نحن نفعل الشيء نفسه بالنسبة للصورة المرجعية الأصلية التي وجدناها على الإنترنت أو في أي مكان ، حيث نحصل على متجه سنتصل به هنا z=[z1،z2،...zn]:



الخطوة 5. ابحث عن الأقرب إلى الصورة الأصلية.


تحديد متجه السطوع من فسيفساء الصورة الأصلية ، دعنا نسميها z=[z1،z2،...zn]ثم قم بحساب المسافة من كل رقم حساب (المشار إليه بواسطة x) إلى متجه السطوع من الفسيفساء (بعد التطبيع):

d(x)= sqrt((a(x)0/N(a(x))z0/N(z))2+(a(x)1/N(a(x))z1/N(z))2+...)


حيث N(a(x)) و N(z) هما ثوابت التطبيع المعطاة

N(a(x))=(a(x)02+a(x)12+...)2


N(z)=(z02+z12+...)2


الآن فقط ابحث عن الأصغر d(x). بالنسبة لبطاقات الائتمان ، يؤكد جزء صغير فقط من الأرقام المحتملة على الأرقام المحتملة افتراضيًا لبطاقات الائتمان ، لذلك لا يوجد شيء معقد هنا أيضًا.

على سبيل المثال ، في حالتنا ، نحسب

N(z)= sqrt(2062+2112+...)=844.78459


N(a(0000001))=907.47837


N(a(0000002))=909.20647


ثم تابع لحساب المسافات:

d(0000001)=1.9363


d(0000002)=1.9373


...


d(1124587)=0.12566


d(1124588)=0.00000


...


ربما رقم الحساب يتوافق مع الفسيفساء 1124588؟

"لكنك استخدمت صورتك الخاصة ، والتي يسهل فكها!"


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

لتحقيق ذلك في الصور الحقيقية ، ينبغي تحسين خوارزمية المسافة. على سبيل المثال ، يمكنك إعادة كتابة صيغة المسافة المذكورة أعلاه لتطبيع الانحرافات المعيارية بالإضافة إلى المتوسط. يمكنك أيضًا معالجة قيم RGB أو HSV بشكل مستقل لكل منطقة من الفسيفساء ، وكذلك استخدام البرامج النصية لتشويه النص بعدة بكسل في كل اتجاه ومقارنتها (والتي لا تزال تترك لك عددًا محدودًا جدًا من المقارنات على جهاز كمبيوتر سريع). يمكنك استخدام خوارزميات مشابهة لخوارزميات الجوار الموجودة حاليًا لزيادة موثوقية العمل في الصور الحقيقية.

نعم ، لقد استخدمت صورتي وعدلتها لهذه الحالة. ولكن يمكن بالتأكيد تحسين الخوارزمية للاستخدام في العالم الحقيقي. لكن ليس لدي الوقت ولا الرغبة في تحسين أي شيء ، لأنني لا أبحث عن معلوماتك. لكن هناك شيء واحد مؤكد: هذا وضع بسيط للغاية. لا تستخدم الفسيفساء البسيطة لطمس الصورة. كل ما تفعله هو تقليل كمية المعلومات في الصورة التي تحتوي على كل شيء log(10N)/log(2)بت فعالة من بيانات الحساب. عندما تقوم بتوزيع مثل هذه الصور ، فأنت تريد إزالة المعلومات الشخصية بدلاً من عرقلة الوصول إليها عن طريق تقليل كمية المعلومات المرئية.

تقديم صورة بيانية 100 × 100. لنفترض أنني قمت فقط بتوسيط وحدات البكسل واستبدلت كل واحدة منها بقيمة متوسطة (أي قمت بتحويل الصورة إلى "فسيفساء" أحادية البكسل). لقد قمت للتو بإنشاء وظيفة ، من 256 متغير (10000) ، قام بتجزئة ما يصل إلى 256 متغير. من الواضح ، مع 8 بتات المستلمة ، لن تتمكن من استعادة الصورة الأصلية. لكن إذا كنت تعلم أن هناك 10 خيارات للصورة الأصلية ، يمكنك استخدام الخيارات الثمانية التالية بسهولة تحديد الخيار الذي تم استخدامه.

تشبيه هجوم القاموس


يعرف معظم مسؤولي نظام UNIX / Linux أن كلمات المرور الموجودة في / etc / passwd أو / etc / shadow مشفرة بوظيفة أحادية الاتجاه ، مثل Salt أو MD5. هذا آمن تمامًا ، حيث لا يمكن لأحد فك تشفير كلمة المرور من خلال النظر في نصه المشفر. تحدث المصادقة عن طريق إجراء تشفير أحادي الاتجاه لكلمة المرور التي أدخلها المستخدم عند الدخول إلى النظام ، ومقارنة هذه النتيجة مع التجزئة المحفوظ. إذا كانت مطابقة ، فقد اجتاز المستخدم الاختبار بنجاح.

من المعروف جيدًا أن مخطط التشفير أحادي الاتجاه ينهار بسهولة عندما يختار المستخدم كلمة قاموس ككلمة مرور. كل ما يتعين على المهاجم القيام به هو تشفير قاموس اللغة الإنجليزية بأكمله ، ومقارنة النص المشفر لكل كلمة بالنص المشفر المخزن في / etc / passwd ، واختر الكلمة الصحيحة ككلمة المرور. لذلك ، يُنصح المستخدمون عادةً باختيار كلمات مرور أكثر تعقيدًا وليست كلمات. يمكن توضيح هجوم القاموس على النحو التالي:



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

قرار


الحل بسيط: لا تطمس الصور! بدلاً من ذلك ، قم ببساطة بالطلاء عليها:



تذكر أنك تريد إزالة المعلومات تمامًا ، وليس تقليل مقدارها ، كما في الصورة الضبابية.

Source: https://habr.com/ru/post/ar449608/


All Articles