المعلوماتية > عام

إخفاء المعلومات ضمن الملفّات النّصيّة والصّور والصّوت

استمع على ساوندكلاود 🎧

يعودُ أصلُ كلمةِ Steganography إلى اليونانيّةِ وهي تعني (الكتابة المُغطّاة) و الهدفُ منها إخفاءُ معلوماتٍ ضمن معلوماتٍ أخرى بحيث لا يمكنُ اكتشافُ المعلوماتِ المخفيَّةِ حتّى وإن تمَّت رؤيتها. كيف يتمُّ ذلك؟

لنعد قليلاً في التّاريخِ لمعرفةِ بدايةِ استخدامِ علمِ إخفاءِ المعلومات، حيث كانَ بعضُ الأشخاصِ في اليونانِ يقومونَ بحلاقةِ رأسِ أحدِ العبيدِ وكتابةِ الرّسالةِ عليه، ثمَّ الانتظارِ إلى أنْ ينمو الشَّعرُ من جديدٍ ثمَّ يتمُّ إرسالُ العبدِ إلى الوجهةِ المطلوبةِ، وهكذا يتمُّ إخفاءُ الرّسالةِ المُرسلَةِ. خلال الحربِ الأهليّةِ الأمريكيّةِ كانت تتمُّ خياطةُ الأغطيةِ وفقَ نماذجَ خاصةٍ ليستنتج منها العبيدُ الفارّون أيَّ طريقٍ يجبُ أن يسلكوه وماذا عليهم أن يفعلوا. حتّى أنَّهُ خلال الحربِ العالميةِ الثّانيةِ كانَ يتمُّ تفحُّصَ الكلماتِ المتقاطعةِ وطوابعَ البريدِ بحثاً عن أيّةِ رسائلَ سريّةٍ.

هكذا تمَّ استخدامُ علمِ إخفاءِ المعلوماتِ عبرَ العصورِ، ويتمُّ عادةً في علمِ السّتيغانوغرافي إخفاءُ المعلوماتِ في الصّورِ، لكن يمكنُ أيضاً إخفاؤها في ملفاتِ الصّوتِ والفيديو والنّصوصِ وحتّى البرامجِ القابلةِ للتّنفيذِ.

لكن ما الفرقُ بين علمِ السّتيغانوغرافي وعلمِ التّشفير؟ ألا يقوم الاثنان بالمهمةِ ذاتها وهي إخفاءُ المعلوماتِ؟

في الحقيقةِ يوجدُ تقاربٌ كبيرٌ بين المجالَين، لكنَّ الاختلافَ يكمنُ في أنَّكَ تعلَمُ بوجودِ المعلوماتِ المشَفَّرَةِ، لكنَّكَ لا تعرِفُ كيفيَّةَ قراءتِها، أمّا المعلوماتُ المخفيَّةُ باستخدامِ السّتيغانوغرافي، فإنَّكَ لا تعلمُ بوجودِها أصلاّ!

و يمكنُ استخدامُ كلا المجالينِ معاً للحصولِ على نتائجَ أفضل.

كيف يتمُّ استخدامُ علم السّتيغانوغرافي؟ كيف يتمُّ إخفاءُ المعلوماتِ ضمنَ معلوماتٍ أخرى؟

لنقم بجولةٍ سريعةٍ في أكثرِ الطُّرُقِ المُتَّبَعَةِ شيوعاً.

* إخفاء المعلوماتِ ضِمَنَ نصٍّ كتابيٍّ:

لاحظ النَّصَّ التّالي:

randoM capitalosis is a rarE disEase ofTen

contrAcTed by careless inTernet users. tHis sad

illnEss causes the aFfected peRsON To randomly

capitalize letters in a bOdy oF texT. please

do not confuse this disease witH a blatant attEmpt aT steganogRAPhy

إن قمتَ بقراءةِ الأحرفِ الكبيرةِ فقط سوفَ تحصلُ على الجملة:

MEET AT THE FRONT OF THE TRAP

إذاً يمكنُ إخفاءُ المعلوماتِ ضِمْنَ نصٍّ ما عبرَ تمييزِ الأحرفِ المُرادِ قراءتها، فيمكنُ قراءةُ الحرفِ الأوّلِ من كلِّ كلمةٍ، أوعاشِر كلِّ حرفٍ في الرِّسالةِ، أو استعمالُ دلالةٍ معيَّنةٍ باستخدامِ الفراغاتِ حيث أنَّنا لا نميّزُ وجودَ فراغٍ أو اثنينِ بينَ الكلماتِ، وغيرها من الطّرق.

* إخفاءُ المعلوماتِ ضمنَ صورةٍ :

وهي الطّريقةُ الأكثرُ استخداماً، ولها الكثيرُ من الوسائلِ.

لاحظ الصّورةَ التّاليةَ:

تبدو هذه صورةً لطيفةً لعدَّاءٍ رياضيٍّ، لكنَّها فعليّاً ناتجةٌ عن دمجِ الصُّورتَينِ التّاليتَينِ :

كيفَ يتمُّ هذا؟

يمكنُ القيامُ بذلكَ عبرَ التّلاعُبِ بمحتوياتِ وحداتِِ تخزينِ هذهِ الصّورِ في الحاسوبِ. يتمُّ تخزينُ هذه الصّورِ الملوَّنَةِ بحيثُ يتمُّ تمثيلُ كلِّ عنصرٍ من الصُّورةِ بثلاثِ وحداتٍ Bytes يتألَّفُ كلٍّ منها من ثماني وحداتٍ أصغرَ تدعى Bits.

فإذاً هناكَ ثمانيةُ Bits لتخزينِ قيمةِ اللّونِ الأحمر، هذا يعني وجودَ 28ظلاً ودرجةً له، ومثل ذلك لكلٍّ منَ اللّونِ الأزرقِ واللّونِ الأخضرِ و بالمحصلةِ يوجدُ 16،777،216 لونٍ يمكنُ تمثيلُه، و الكثيرُ من هذه الألوانُ قليلةُ الاختلافِ عن بعضِها ويمكنُ التَّلاعبُ بها.

كمثالٍ على ذلكَ: لو كانَ اللّونُ الأحمرُ المطلوبُ يمكن ترميزه كما يلي: 100000110

لكن قمنا بوضعِ واحدٍ إضافيٍّ فأصبحَ الرَّمز كما يلي: 100000111

لاحظ أنّ اللّونَ لم يتغير بشكلٍ ملفتٍ للنّظرِ:

على هذا المنوال يمكنُ إخفاءُ المزيدِ منَ المعلوماتِ في الصّور. تُدعى هذهِ الطّريقةُ بالـ Least Significant Bit أي البِتُّ الأقلُّ أهميَّةً وذلكَ لأنَّنا أضفنا الواحدَ إلى مرتبةٍ قليلةِ الأهميّةِ، أمّا لو قمنا بوضعِ الواحد في مرتبةٍ إلى اليسار، فأصبح الرّمز 11000110، لاحظ الفرقَ عندها:

إخفاءُ المعلوماتِ ضمنَ ملفِ صوتٍ أو فيديو :

تتميّزُ هذه الطّريقةُ بالقدرةِ على إخفاءِ كميّةٍ كبيرةٍ من المعلوماتِ بسبب تدفُّقِ المعلوماتِ المستمرِ، فمثلاً الفيديو عبارةٌ عن عددٍ كبيرٍ منَ الصّورِ المتلاحِقَةِ. و يتمُّ ذلك بالاعتمادِ على الإخفاءِ ضمنَ كلِّ صورةٍ في حالةِ الفيديو، أمّا في حالةِ ملفِ الصّوتِ فتكْمُنُ الحيلةُ بالاستفادةِ من فكرةِ الـ Bits الأقلِّ أهميّةً الّتي تحدَّثنا عنها في فقرةِ إخفاءِ المعلوماتِ ضمنَ صورةٍ، أي أنَّنا نقومُ باستبدالِ الـ Bits الأقلِّ أهميّةً بالرّمزِ الثُّنائيِّ للحرفِ الّذي نريدُ إخفاءَهُ.

لنفرض أنَّنا نريدُ إخفاءَ الحرفِ A والّذي يمثَّلُ بالصّيغةِ الثُّنائيّةِ كالتّالي: 01100101

عندَ تخزينِ الصّوت وتحويلِه إلى الشّكلِ الرّقميِّ سوف يتمُّ تخزينُ كلِّ عيّنةٍ منَ الصّوتِ بـ 16 bits، يمكن عندها تخزين الBits الثّمانية الممثِّلة للحرف A في الـ bits الثّمانية الأقلِّ أهميّةً من الـ bits السّتةَ عشر وهكذا لن يتغيرَ حجمُ الملَّفِ الصّوتيِّ بعد تخزينِ المعلوماتِ السِّريَّةِ فيه.

إنَّ مجالَ التّردداتِ الصّوتيّةِ الّتي يسمعها الإنسانُ يتراوحُ بينَ 20-20000 هرتز، وعند تخزينِ الصّوتِ ونقلِهِ يتمُّ تحويله إلى الشّكلِ الرّقميّ وتخزينه بشكلِ بتّاتٍ تحملِ القيمةَ صفرٍ أو واحدٍ، وهذا التّحويلُ يكونُ تقريبيّاً بحيث يتمُّ تقريبُ بعض التّردداتِ. إنّ هذا الفرقَ لا يمكن التقاطه أو تمييزُهُ عبر الأذن البشريّةِ ومن هنا نعودُ لطريقةِ إخفاءِ المعلوماتِ في البتِّ الأقلِّ أهميّةً. هناك العديدُ من الطُّرُقِ الأخرى مثلُ إخفاءِ المعلوماتِ في صدى الصّوتِ وغيرها.

يبدو علم السّتيغانوغرافي مفيداً للغايةِ لكن يمكن دوماً استخدامُه لغاياتٍ مؤذيةٍ كإخفاءِ ملفّاتٍ ضارَّةٍ بداخلِ الملفّاتِ المرسلَةِ والّتي تبدأ أذيَّتُها عند فتحِ الملَّفِ. لا بدَّ من أخذ الحذرِ والاستفادةِ من هذا العِلمِ بالشَّكلِ الأمثلِ.

المصادر:

هنا

www.cse.yorku.ca/course_archive/2010-11/F/4482/.../Steganography.ppt

www.cs.utsa.edu/~jortiz/CS4953/.../L01-Introduction%20to%20Steganography.ppt

هنا

هنا

هنا