Steganography sa sistema sa file

Uy Habr.

Gusto ko nga ipresentar kanimo ang usa ka gamay nga proyekto sa steganography, gihimo sa akong libreng oras gikan sa pagtuon.

Naghimo ako usa ka proyekto sa tinago nga pagtipig sa kasayuran sa file system (dugang FS).
Mahimo kining gamiton sa pagpangawat sa kompidensyal nga impormasyon alang sa mga katuyoan sa edukasyon.

Steganography sa sistema sa file

Usa ka karaan kaayo nga Linux FS ang gipili isip prototype ext2.

Pagpatuman

Mga Konsiderasyon sa Implementasyon

Kung maayo nga "i-unravel" ang ext2 standard, mahimo nimong ilisan kana sa FS adunay gitawag nga Mga superblock, nga naghatag ug batakang impormasyon bahin sa sistema. Pagkahuman nako nakit-an I-block ang Bitmap ΠΈ Inode Table. Hapit diha-diha dayon, ang ideya sa pagrekord sa impormasyon ngadto sa walay sulod nga mga bloke sa FS natawo. Karon angay nga hunahunaon ang bahin sa pagpanalipod gikan sa usa ka programmer nga armado hex nga editor.

Kung gitipigan nimo ang tinago nga kasayuran nga wala’y pag-encrypt, nan, bisan pa sa pagkaburot niini sa FS, makita gihapon kini, labi na kung nahibal-an sa programmer kung unsa ang pangitaon. Busa, nakahukom nga i-encrypt ang tanang bloke sa source file. Gipili nako ang block cipher AES, apan sumala sa imong nasabtan, kini dili importante.

Aron mabulag ang gikinahanglan nga mga bloke gikan sa tanan nga uban pa kung magbasa, nakahukom nga magdugang usa ka espesyal nga marka sa matag bloke sa sinugdanan sa bloke. Kini nga token gi-encrypt depende sa block number sa source file. Kini nga limbong diha-diha dayon nagpaposible dili lamang sa pagpangita sa gikinahanglan nga mga bloke, apan usab sa pag-ila sa ilang husto nga han-ay.

Kinatibuk-ang prinsipyo sa operasyon sa sistema.

Steganography sa sistema sa file

Algoritmo sa pagrekord

Ang mga punto:

  • Isulat una ang pipila ka impormasyon sa source file system;
  • Kuhaa kini nga kasayuran (dili kinahanglan tanan);
  • Ang file nga itago gibahin sa mga bloke nga managsama ang gitas-on, nagdugang usa ka marka;
  • I-encrypt kini nga mga bloke;
  • Ibutang ang naka-encrypt nga mga bloke sa walay sulod nga mga bloke sa FS.

Para sa mga mahilig sa block diagram

Sa ubos usa ka block diagram sa recording algorithm. Ang algorithm nakadawat upat ka mga file ingon input:
-Larawan sa usa ka mabag-o nga sistema sa file;
-File subject sa steganography;
-File nga adunay encryption key para sa AES;
- File nga adunay marker.
Steganography sa sistema sa file

Angay nga matikdan dayon nga kini nga algorithm adunay usa ka disbentaha: pagkahuman sa pagsulat sa file sa FS, dili mahimo isulat ang bisan unsang bag-o sa FS, tungod kay ang bisan unsang bag-ong impormasyon mahimong mapunta sa mga bloke nga among gigahin sa among gi-zip nga file, bisan kung kini nagbukas usab sa posibilidad nga "dali nga pagtabon sa among mga track."

Apan klaro kaayo kung giunsa kini pag-ayo: kinahanglan nga isulat pag-usab ang algorithm sa pagsulat sa mga bloke sa FS. Kini usa ka masabtan, apan dili katuohan nga makahurot sa panahon nga buluhaton.
For Proof Of Consept wala nako ni implementar.

Ingon usa ka sangputanan, ang mga musunod nga pagbag-o himuon sa FS; kini ang hitsura sa FS sa wala pa ang steganography (usa ka audio file ang narekord kaniadto).
Steganography sa sistema sa file
Ug kini ang hitsura sa FS nga adunay kasayuran nga naka-zip na.
Steganography sa sistema sa file

Algoritmo sa pagbasa

Ang mga punto:

  • Uban ang kahibalo sa yawe ug ang pamaagi sa pagtukod og mga marker, paghimo sa unang N marker, uban ang garantiya nga ang N nga gipadaghan sa gitas-on sa block sa file system mas dako kay sa gitas-on sa gi-zip nga file;
  • Pangitaa ang mga bloke sa FS sugod sa mga marker;
  • I-decipher ang nadawat nga mga bloke ug ibulag ang mga marker;
  • Kolektaha ang resulta nga mga bloke sa husto nga pagkasunod-sunod ug kuhaa ang gigikanan nga file.

Para sa mga mahilig sa block diagram

Sa ubos usa ka block diagram sa recording algorithm. Ang algorithm nakadawat tulo ka mga file ingon input:
- Imahe sa sistema sa file;
-File nga adunay encryption key para sa AES;
- File nga adunay marker.
Steganography sa sistema sa file

Human modagan ang programa, makita ang Read file, nga mao ang file nga makuha gikan sa steganographed file system; kung ang yawe o marker sayop nga gipiho, nan ang Read file mahimong walay sulod.
(alang sa mga mahigugmaon sa katahum, mahimo nimong i-insert dili lamang ang file, apan usa ka "header" nga adunay sulud nga meta-impormasyon: ngalan sa file, mga katungod, katapusan nga giusab nga oras, ug uban pa)

Pagsugod sa automation

Alang sa kasayon, gisulat ang mga bash script aron ma-automate ang paglansad sa Linux (gisulayan sa Ubuntu 16.04.3 LTS).
Atong tan-awon ang paglansad sa lakang sa lakang.
Pagrekord:

  1. sudo Copy_Flash.sh "DEVICE" - kuhaa ang FS nga imahe gikan sa DEVICE (flash);
  2. ./Write.sh β€œFILE” β€œKEY” β€œMARKER” – paghimo og virtual nga palibot, pag-download sa gikinahanglang mga library ug pagdagan ang write script;
  3. sudo ./Write_Flash.sh β€œDEVICE” – isulat pag-usab ang giusab nga FS ngadto sa DEVICE.

Pagbasa:

  1. sudo Copy_Flash.sh "DEVICE" - kuhaa ang FS nga imahe gikan sa DEVICE (flash);
  2. ./Read.sh "KEY" 'MARKER" - paghimo og usa ka virtual nga palibot, pag-download sa gikinahanglan nga mga librarya ug pagdagan ang skipt para sa pagbasa;
  3. Sa kasamtangan nga direktoryo, ablihi ang Read file - kini ang naka-zip nga impormasyon.

konklusyon

Kini nga pamaagi sa steganography tingali nanginahanglan pagpino, dugang nga pagsulay ug extension sa mas popular nga mga sistema sa file, sama sa Fat32, NTFS ΠΈ ext4.
Apan ang katuyoan niini nga buhat mao ang pagpakita sa prinsipyo diin posible nga himuon ang tinago nga pagtipig sa kasayuran sa file system.
Uban sa tabang sa ingon nga mga algorithm, mahimo ka nga walay kahadlok nga magtipig sa kasayuran, ug kung, kung nahibal-an nimo ang yawe, posible nga ma-hack ang ingon nga sistema dili pinaagi sa kusog nga kusog (apan pinaagi sa usa ka taas nga algorithm), nan kung wala nahibal-an ang yawe, kini Ang sistema sa akong tan-aw hingpit nga lig-on, bisan pa, mahimo kini nga hinungdan sa usa ka lahi nga artikulo.

Ang tanan nga code gipatuman sa Python nga bersyon 3.5.2. Pananglitan sa trabaho gipresentar sa akong youtube channel. Ang bug-os nga code sa proyekto gibutang sa github.
(Oo, oo, nahibal-an ko nga alang sa bersyon sa produksiyon kinahanglan nimo nga isulat sa usa ka butang nga "paspas", pananglitan C πŸ˜‰)
Sa kini nga pagpatuman, ang gidak-on sa input file alang sa steganography kinahanglan dili molapas sa 1000 kB.

Gusto nakong ipahayag ang akong pasalamat sa tiggamit PavelMSTU alang sa bililhong tambag sa pagplano sa pagtuon ug mga rekomendasyon sa disenyo sa artikulo.

Source: www.habr.com

Idugang sa usa ka comment