Tsarin fayil steganography

Hai Habr.

Ina so in gabatar muku da karamin aiki akan steganography, sanya a cikin free lokaci daga karatu.

Na yi aiki akan ɓoye bayanan da ke cikin tsarin fayil (ƙari FS).
Ana iya amfani da wannan don satar bayanan sirri don dalilai na ilimi.

Tsarin fayil steganography

An zaɓi tsohuwar Linux FS azaman samfuri ext2.

Aiwatarwa

Abubuwan Aiwatarwa

Idan yana da kyau don "buɗe" ma'aunin ext2, to, zaku iya maye gurbin wannan a cikin FS akwai abin da ake kira. Superblocks, wanda ke ba da mahimman bayanai game da tsarin. Bayan an same ni Toshe Bitmap и Inode Table. Kusan nan da nan, an haifi ra'ayin yin rikodin bayanai cikin FS tubalan a halin yanzu. Yanzu yana da daraja tunani game da kariya daga mai shirye-shirye dauke da makamai hex edita.

Idan kun adana bayanan da aka ɓoye ba tare da ɓoyewa ba, to, duk da ɓacin ransa a cikin FS, har yanzu zai zama sananne sosai, musamman idan mai shirye-shiryen ya san abin da zai nema. Don haka, an yanke shawarar ɓoye duk tubalan fayil ɗin tushen. Na zabi toshe sifa AES, amma kamar yadda kuka fahimta, wannan ba shi da mahimmanci.

Don raba tubalan da ake buƙata daga duk sauran lokacin karantawa, an yanke shawarar ƙara alama ta musamman ga kowane toshe a farkon toshe. An rufaffen wannan alamar ya danganta da lambar toshe a cikin fayil ɗin tushe. Wannan dabara nan da nan ya ba da damar ba kawai don nemo tubalan da ake buƙata ba, har ma don gane ainihin tsari na su.

Babban tsarin aiki na tsarin.

Tsarin fayil steganography

Rikodin algorithm

Abubuwan:

  • Da farko rubuta wasu bayanai zuwa tsarin fayil ɗin tushen;
  • Share wannan bayanin (ba lallai ba ne duka);
  • Fayil ɗin da za a ɓoye an raba shi zuwa tubalan daidai tsayi, ƙara alama;
  • Rufe waɗannan tubalan;
  • Sanya rufaffiyar tubalan a cikin bulogin FS mara komai.

Domin toshe zanen masoya

A ƙasa akwai zanen toshe na algorithm rikodi. Algorithm yana karɓar fayiloli guda huɗu azaman shigarwa:
- Hoton tsarin fayil ɗin da za a iya canzawa;
- Fayil ɗin batun steganography;
- Fayil tare da maɓallin ɓoye don AES;
- Fayil tare da alamar alama.
Tsarin fayil steganography

Yana da kyau a lura nan da nan cewa wannan algorithm yana da matsala guda ɗaya: bayan rubuta fayil ɗin zuwa FS, ba zai iya ba rubuta wani sabon abu a cikin FS, tun da kowane sabon bayani zai iya ƙarewa a cikin tubalan da muka keɓe zuwa fayil ɗin da aka ziyarta, kodayake wannan kuma yana buɗe yuwuwar "da sauri rufe waƙoƙinmu."

Amma a bayyane yake yadda za a iya gyara wannan: wajibi ne a sake rubuta algorithm don rubuta tubalan a cikin FS. Wannan abu ne mai fahimta, amma aiki mai ɗaukar lokaci mai ban mamaki.
Don Hujjar Dalili Ban aiwatar da wannan ba.

A sakamakon haka, za a yi canje-canje masu zuwa ga FS; wannan shine abin da FS yayi kama da steganography (an yi rikodin fayil mai jiwuwa a baya).
Tsarin fayil steganography
Kuma wannan shine abin da FS yayi kama tare da bayanan da aka riga aka zub da su.
Tsarin fayil steganography

Algorithm karatu

Abubuwan:

  • Tare da sanin maɓalli da hanyar gina alamomi, shirya alamun N na farko, tare da tabbacin cewa N ninka ta tsawon tsarin tsarin fayil ɗin ya fi tsayin fayil ɗin steganographed;
  • Nemo tubalan a cikin FS farawa tare da alamomi;
  • Ƙirƙirar tubalan da aka karɓa kuma raba alamomi;
  • Tattara sakamakon tubalan a cikin tsari daidai kuma sami fayil ɗin tushen.

Domin toshe zanen masoya

A ƙasa akwai zanen toshe na algorithm rikodi. Algorithm yana karɓar fayiloli guda uku azaman shigarwa:
- Hoton tsarin fayil;
- Fayil tare da maɓallin ɓoye don AES;
- Fayil tare da alamar alama.
Tsarin fayil steganography

Bayan shirin ya gudana, fayil ɗin karantawa ya bayyana, wanda zai zama fayil ɗin da aka ciro daga tsarin fayil ɗin steganographed; idan an ƙayyade maɓalli ko alamar ba daidai ba, to fayil ɗin Karanta zai zama fanko.
(ga masu son kyakkyawa, zaku iya saka ba kawai fayil ɗin ba, amma “header” mai ɗauke da bayanan meta: sunan fayil, haƙƙoƙi, lokacin gyara na ƙarshe, da sauransu.)

Farawa ta atomatik

Don dacewa, an rubuta rubutun bash don sarrafa ƙaddamarwa akan Linux (an gwada akan Ubuntu 16.04.3 LTS).
Bari mu kalli ƙaddamarwa mataki-mataki.
Rikodi:

  1. sudo Copy_Flash.sh “DEVICE” - sami hoton FS daga na'ura (flash);
  2. ./Write.sh "FILE" "KEY" "MARKER" - ƙirƙirar yanayi mai kama-da-wane, zazzage dakunan karatu da ake buƙata kuma gudanar da rubutun rubutu;
  3. sudo ./Write_Flash.sh "KASHE" - sake rubuta FS da aka canza zuwa na'ura.

Karatu:

  1. sudo Copy_Flash.sh “DEVICE” - sami hoton FS daga na'ura (flash);
  2. ./Read.sh “KEY” ‘MARKER’ - ƙirƙirar yanayi mai kama-da-wane, zazzage dakunan karatu da ake buƙata kuma gudanar da tsallakewar karatu;
  3. A cikin kundin adireshi na yanzu, buɗe fayil ɗin Karanta - wannan shine bayanin zipped.

ƙarshe

Wannan hanyar steganography mai yiwuwa yana buƙatar haɓakawa, ƙarin gwaji da haɓaka zuwa mafi shaharar tsarin fayil, kamar Fat32, NTFS и ext4.
Amma manufar wannan aikin shine don nuna ƙa'idar da za a iya aiwatar da bayanan ɓoye a cikin tsarin fayil.
Tare da taimakon irin waɗannan algorithms, zaku iya adana bayanai ba tare da tsoro ba, kuma idan, idan kun san maɓallin, yana yiwuwa a hack irin wannan tsarin ba da ƙarfi ba (amma ta hanyar dogon algorithm), to, ba tare da sanin maɓallin ba, wannan. tsarin yana gani a gare ni ya zama cikakkiyar kwanciyar hankali, duk da haka, wannan na iya zama dalili na wani labarin dabam.

Ana aiwatar da duk lambar a cikin nau'in Python 3.5.2. Misalin aiki wanda aka gabatar a tashar ta youtube. An buga cikakken lambar aikin github.
(Ee, eh, na san cewa don sigar samarwa kuna buƙatar rubuta a cikin wani abu "sauri", misali C 😉)
A cikin wannan aiwatarwa, girman fayil ɗin shigarwa don steganography bai kamata ya wuce 1000 kB ba.

Ina so in nuna godiyata ga mai amfani PavelMSTU don shawarwari masu mahimmanci a cikin tsara nazarin da shawarwari game da zane na labarin.

source: www.habr.com

Add a comment