فائل سسٹم سٹیگنوگرافی

ارے حبر۔

میں آپ کو ایک چھوٹا سا پروجیکٹ پیش کرنا چاہتا ہوں۔ سٹیگنگرافی، مطالعہ سے اپنے فارغ وقت میں بنایا۔

میں نے فائل سسٹم میں معلومات کے پوشیدہ اسٹوریج پر ایک پروجیکٹ بنایا (مزید ФС).
اس کا استعمال تعلیمی مقاصد کے لیے خفیہ معلومات چرانے کے لیے کیا جا سکتا ہے۔

فائل سسٹم سٹیگنوگرافی

ایک بہت پرانی لینکس ایف ایس کو بطور پروٹو ٹائپ منتخب کیا گیا تھا۔ ext2.

Реализация

نفاذ کے تحفظات

اگر ext2 معیار کو "کھولنا" اچھا ہے، تو آپ اسے بدل سکتے ہیں FS میں ایک نام نہاد سپر بلاکس، جو سسٹم کے بارے میں بنیادی معلومات فراہم کرتا ہے۔ میرے ملنے کے بعد بٹ میپ کو بلاک کریں۔ и انوڈ ٹیبل. تقریباً فوراً ہی، فی الحال خالی ایف ایس بلاکس میں معلومات کو ریکارڈ کرنے کا خیال پیدا ہوا۔ اب یہ مسلح پروگرامر سے تحفظ کے بارے میں سوچنے کے قابل تھا۔ ہیکس ایڈیٹر.

اگر آپ خفیہ معلومات کو بغیر خفیہ کاری کے ذخیرہ کرتے ہیں، تو، FS میں اس کے دھندلے پن کے باوجود، یہ اب بھی بہت نمایاں ہو گی، خاص طور پر اگر پروگرامر جانتا ہے کہ کیا تلاش کرنا ہے۔ لہذا، سورس فائل کے تمام بلاکس کو انکرپٹ کرنے کا فیصلہ کیا گیا۔ میں نے بلاک سائفر کا انتخاب کیا۔ یئایسلیکن جیسا کہ آپ سمجھتے ہیں، یہ اہم نہیں ہے۔

پڑھتے وقت ضروری بلاکس کو باقی تمام بلاکس سے الگ کرنے کے لیے، بلاک کے شروع میں ہر بلاک میں ایک خاص مارکر شامل کرنے کا فیصلہ کیا گیا۔ اس ٹوکن کو سورس فائل میں بلاک نمبر کی بنیاد پر انکرپٹ کیا گیا تھا۔ اس چال نے فوری طور پر نہ صرف ضروری بلاکس کو تلاش کرنا بلکہ ان کی صحیح ترتیب کو پہچاننا بھی ممکن بنایا۔

نظام کے عمومی آپریٹنگ اصول۔

فائل سسٹم سٹیگنوگرافی

ریکارڈنگ الگورتھم

نکات پر:

  • پہلے سورس فائل سسٹم پر کچھ معلومات لکھیں۔
  • اس معلومات کو حذف کریں (ضروری نہیں کہ تمام)؛
  • چھپائی جانی والی فائل کو مساوی لمبائی کے بلاکس میں تقسیم کیا جاتا ہے، ایک مارکر شامل کرتے ہوئے؛
  • ان بلاکس کو خفیہ کریں؛
  • انکرپٹڈ بلاکس کو خالی FS بلاکس میں رکھیں۔

بلاک ڈایاگرام سے محبت کرنے والوں کے لیے

ذیل میں ریکارڈنگ الگورتھم کا بلاک ڈایاگرام ہے۔ الگورتھم چار فائلیں بطور ان پٹ وصول کرتا ہے:
- قابل ترمیم فائل سسٹم کی تصویر؛
- فائل سٹیگنوگرافی کے تابع؛
- AES کے لیے خفیہ کاری کی کلید کے ساتھ فائل؛
مارکر کے ساتھ فائل۔
فائل سسٹم سٹیگنوگرافی

ابھی یہ بات قابل غور ہے کہ اس الگورتھم میں ایک خرابی ہے: FS کو فائل لکھنے کے بعد، نہیں کرنا چاہئے FS میں کچھ بھی نیا لکھیں، کیونکہ کوئی بھی نئی معلومات ان بلاکس میں ختم ہو سکتی ہے جو ہم نے اپنی زپ فائل میں مختص کیے ہیں، حالانکہ اس سے "ہماری پٹریوں کو جلدی سے ڈھانپنے" کا امکان بھی کھل جاتا ہے۔

لیکن یہ بالکل واضح ہے کہ اسے کیسے ٹھیک کیا جا سکتا ہے: FS میں بلاکس لکھنے کے لیے الگورتھم کو دوبارہ لکھنا ضروری ہے۔ یہ ایک قابل فہم، لیکن ناقابل یقین حد تک وقت طلب کام ہے۔
Consept کے ثبوت کے لیے میں نے اسے نافذ نہیں کیا۔

نتیجے کے طور پر، FS میں درج ذیل تبدیلیاں کی جائیں گی؛ سٹیگنوگرافی سے پہلے FS ایسا ہی لگتا ہے (ایک آڈیو فائل پہلے ریکارڈ کی گئی تھی)۔
فائل سسٹم سٹیگنوگرافی
اور یہ وہی ہے جو پہلے سے زپ شدہ معلومات کے ساتھ FS کی طرح لگتا ہے۔
فائل سسٹم سٹیگنوگرافی

الگورتھم پڑھنا

نکات پر:

  • کلید کے علم اور مارکروں کی تعمیر کے طریقہ کار کے ساتھ، پہلے N مارکر کمپوز کریں، اس گارنٹی کے ساتھ کہ N کو فائل سسٹم بلاک کی لمبائی سے ضرب دیا جائے تو زپ فائل کی لمبائی سے زیادہ ہے۔
  • مارکروں سے شروع ہونے والے FS میں بلاکس تلاش کریں۔
  • موصول شدہ بلاکس کو سمجھیں اور مارکر کو الگ کریں۔
  • نتیجے میں آنے والے بلاکس کو صحیح ترتیب میں جمع کریں اور سورس فائل حاصل کریں۔

بلاک ڈایاگرام سے محبت کرنے والوں کے لیے

ذیل میں ریکارڈنگ الگورتھم کا بلاک ڈایاگرام ہے۔ الگورتھم ان پٹ کے طور پر تین فائلیں وصول کرتا ہے:
- فائل سسٹم کی تصویر؛
- AES کے لیے خفیہ کاری کی کلید کے ساتھ فائل؛
مارکر کے ساتھ فائل۔
فائل سسٹم سٹیگنوگرافی

پروگرام کے چلنے کے بعد، Read فائل ظاہر ہوتی ہے، جو کہ سٹیگنوگرافڈ فائل سسٹم سے نکالی گئی فائل ہو گی؛ اگر کلید یا مارکر کو غلط طریقے سے بیان کیا گیا تھا، تو پڑھنے والی فائل خالی ہو جائے گی۔
(خوبصورتی سے محبت کرنے والوں کے لیے، آپ نہ صرف فائل بلکہ ایک "ہیڈر" بھی داخل کر سکتے ہیں جس میں میٹا معلومات ہوں: فائل کا نام، حقوق، آخری ترمیم شدہ وقت، وغیرہ)

اسٹارٹ اپ آٹومیشن

سہولت کے لیے، لینکس پر لانچ کو خودکار بنانے کے لیے bash اسکرپٹ لکھے گئے تھے (اوبنٹو 16.04.3 LTS پر تجربہ کیا گیا)۔
آئیے قدم بہ قدم لانچ کو دیکھتے ہیں۔
ریکارڈ:

  1. sudo Copy_Flash.sh "DEVICE" - DEVICE (flash) سے FS امیج حاصل کریں۔
  2. ./Write.sh “FILE” “KEY” “MARKER” – ایک ورچوئل ماحول بنائیں، ضروری لائبریریاں ڈاؤن لوڈ کریں اور رائٹ اسکرپٹ چلائیں۔
  3. sudo ./Write_Flash.sh "DEVICE" - تبدیل شدہ FS کو دوبارہ DEVICE میں لکھیں۔

پڑھنا:

  1. sudo Copy_Flash.sh "DEVICE" - DEVICE (flash) سے FS امیج حاصل کریں۔
  2. ./Read.sh "KEY" 'MARKER' - ایک ورچوئل ماحول بنائیں، ضروری لائبریریاں ڈاؤن لوڈ کریں اور پڑھنے کے لیے skipt چلائیں۔
  3. موجودہ ڈائرکٹری میں، Read فائل کو کھولیں - یہ زپ شدہ معلومات ہے۔

حاصل يہ ہوا

اس سٹیگنوگرافی کے طریقہ کار میں شاید بہتری، اضافی جانچ اور زیادہ مقبول فائل سسٹمز میں توسیع کی ضرورت ہے، جیسے فیٹ ایکس این ایم ایکس۔, NTFS и ext4.
لیکن اس کام کا مقصد اس اصول کو ظاہر کرنا تھا جس کے ذریعے فائل سسٹم میں معلومات کو پوشیدہ ذخیرہ کرنا ممکن ہے۔
اس طرح کے الگورتھم کی مدد سے، آپ بے خوف ہو کر معلومات کو محفوظ کر سکتے ہیں، اور اگر، اگر آپ کو کلید کا علم ہو، تو ایسے سسٹم کو بریٹ فورس (بلکہ ایک بہت طویل الگورتھم) سے ہیک کرنا ممکن ہے، پھر کلید کو جانے بغیر، یہ نظام مجھے بالکل مستحکم معلوم ہوتا ہے، تاہم، یہ ایک الگ مضمون کی وجہ بن سکتا ہے۔

تمام کوڈ Python ورژن 3.5.2 میں لاگو کیا گیا ہے۔ کام کی مثال میرے یوٹیوب چینل پر پیش کیا گیا۔ پراجیکٹ کا مکمل کوڈ پوسٹ کیا گیا ہے۔ گاٹہوب.
(ہاں، ہاں، میں جانتا ہوں کہ پروڈکشن ورژن کے لیے آپ کو کچھ "تیز" میں لکھنا ہوگا، مثال کے طور پر C 😉)
اس عمل میں، سٹیگنوگرافی کے لیے ان پٹ فائل کا سائز 1000 kB سے زیادہ نہیں ہونا چاہیے۔

میں صارف کا شکریہ ادا کرنا چاہتا ہوں۔ PavelMSTU مطالعہ کی منصوبہ بندی میں قیمتی مشورے اور مضمون کے ڈیزائن پر سفارشات کے لیے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں