Steganography taloha rakitra: manafina angona mivantana amin'ny sehatra

Sasin-teny fohy

Steganography, raha misy tsy mahatadidy, dia manafina vaovao ao anaty fitoeran-javatra sasany. Ohatra, amin'ny sary (voaresaka eto ΠΈ eto). Azonao atao ihany koa ny manafina angon-drakitra ao amin'ny latabatra serivisy amin'ny rafi-drakitra (nosoratana momba ny eto), ary koa amin'ny fonosana serivisy protocol TCP. Indrisy anefa, ireo fomba rehetra ireo dia manana tsy fahampiana iray: mba "hampiditra" fampahalalana tsy misy dikany ao anaty fitoeran-javatra iray, dia mila algorithms fetsy izay mandinika ny mampiavaka ny rafitra anatiny ao amin'ny container. Ary mipoitra ny olana amin'ny fanoherana ny fanodikodinana ny kaontenera: ohatra, raha manova kely ny sary ianao, dia very ny fampahalalana miafina.

Azo atao ve ny manao tsy misy algorithms fetsy sy fanodinkodinana an-kolaka miaraka amin'ny angon-drakitra, ary mbola miantoka ny fiasan'ny kaontenera sy ny haavon'ny fiarovana ny angon-drakitra miafina? Mijery ny ho avy, hoy aho - eny, azonao atao! Hanolotra fitaovana iray ho anao mihitsy aza aho.

Ny antsipiriany momba ny fomba

Ny hevitra fototra dia tsotra toy ny kapoka amin'ny handrina: misy faritra ao amin'ny kapila izay tsy anoratan'ny rafitra fandidiana mihitsy (na manoratra amin'ny tranga tsy fahita firy). Mba hialana amin'ny filΓ na mikaroka ireo faritra ireo amin'ny fampiasana algorithm fetsy, dia hampiasa redundancy isika - izany hoe, handika ny vaovao miafina imbetsaka amin'ny sehatra rehetra amin'ny kapila. Avy eo, eo an-tampon'ny famirapiratana rehetra, azonao atao ny mamorona partitions ilaina, rafitra fichier format, manoratra rakitra ary mametraka OSes - izany rehetra izany, ny ampahany amin'ny angona miafina dia ho voavonjy ary azo alaina, ary ny famerenana miverimberina dia hanampy antsika. atambatra ny fitambaran'ny tany am-boalohany avy amin'ny sombiny.

Ny tombony amin'ity fomba ity dia miharihary: tsy miankina amin'ny endrika rakitra isika, na amin'ny karazana rafi-drakitra ampiasaina.

Ny fatiantoka ihany koa, heveriko, mazava ho azy:

  • Ny angon-drakitra miafina dia tsy azo ovaina afa-tsy amin'ny fanoratana tanteraka ny kapila manontolo, arahin'ny famerenana ny atiny hitan'ny mpampiasa. Na izany aza, tsy afaka mampiasa rindrambaiko izay mamerina ny kapila avy amin'ny sary ianao: hamerina ny angona miafina teo aloha ihany koa izany.
  • Arakaraka ny haben'ny angona miafina no lehibe kokoa ny mety ho very vaovao sasany.
  • Mety haharitra ela ny fakana angona avy amin'ny kapila. Avy amin'ny minitra maromaro ka hatramin'ny andro maromaro (lehibe ny kapila maoderina).

Andeha isika hiroso amin'ny antsipiriany.

Mazava fa raha manosotra fotsiny ny angon-drakitra miafina manerana ny kapila ianao dia hafenina tsy ho hitan'ny maso fotsiny izany. Raha ampitaovanao ny masonao, lazao, tonian-dahatsoratra kapila, dia hiseho amin'ny voninahiny rehetra ny angon-drakitra. Noho izany, hevitra tsara ny hanafenana ny angon-drakitra mba tsy hiseho. Hanao encryption tsotra izahay, fa amin'ny fomba mahafinaritra: mampiasa ny algorithm aes256-cbc. Hanontanianay ny mpampiasa ny fanalahidin'ny encryption ary avelao izy hanome tenimiafina tsara.

Ny fanontaniana manaraka dia ny fomba ahafahantsika manavaka ny angona "tsara" amin'ny angona ratsy. Eto ny checksum dia hanampy antsika, fa tsy tsotra, fa SHA1. Ary inona? Ampy ho an'ny git izy io, ka mety ho antsika koa. Nanapa-kevitra: omentsika checksum ny fampahalalana voatahiry tsirairay, ary raha toa ka mifanandrify izany aorian'ny famadihana dia midika izany fa nahomby ny famadihana.

Ilainao koa ny laharan'ny sombiny sy ny halavan'ny angon-drakitra miafina. Sombiny isa - mba hanaraha-maso izay sombintsombiny efa novakianay ary iza no tavela. Ny halavany manontolo dia hahasoa antsika amin'ny fanodinana ny ampahany farany, mba tsy hanoratra angona tsy ilaina (izany hoe padding). Eny, satria mbola manana lohapejy isika, dia hanampy ny anaran'ny rakitra miafina ao. Ho ilaina aorian'ny decryption, mba tsy haminavina ny fomba hanokafana azy.

Fitsapana ny fomba fanao

Mba hanamarinana, andeha horaisintsika ny fitaovana mahazatra indrindra - flash drive. Nahita tranainy iray manana tanjaka 1 GB aho, izay mety amin'ny fanandramana. Raha toa ianao, toa ahy, dia tonga tamin'ny hevitra hoe tsy hanelingelina ny haino aman-jery ara-batana, fa hizaha toetra azy amin'ny rakitra - sary kapila, dia holazaiko avy hatrany hoe: tsy mety izany. Rehefa manamboatra "disk" toy izany ny Linux dia mamorona indray ny rakitra, ary ny sehatra tsy ampiasaina rehetra dia ho feno aotra.

Amin'ny maha milina Linux ahy, indrisy fa tsy maintsy nampiasa tobim-pamokarana toetr'andro aho teo amin'ny Raspberry Pi 3 nipetraka teo amin'ny lavarangana. Tsy dia misy fahatsiarovana be ao, ka tsy hanafina rakitra lehibe izahay. Mametra ny tenantsika amin'ny haben'ny 10 megabytes ambony indrindra izahay. Tsy misy dikany koa ny manafina rakitra izay kely loatra: manoratra angona amin'ny kapila amin'ny cluster 4 KB ny utility. Noho izany, eto ambany dia hametra ny tenantsika amin'ny rakitra 3 kb isika - mifanaraka amin'ny cluster iray toy izany.

Haneso ny kapila tselatra tsikelikely isika, hanamarina aorian'ny dingana tsirairay raha azo vakiana ny fampahalalana miafina:

  1. Fandrafetana haingana amin'ny endrika FAT16 miaraka amin'ny haben'ny cluster 16 KB. Izany no atolotry ny Windows 7 atao amin'ny kapila tselatra tsy misy rafitra fichier.
  2. Famenoana 50% ny kapila tselatra amin'ny karazana fako rehetra.
  3. Famenoana 100% ny kapila tselatra amin'ny karazana fako rehetra.
  4. Fandrafetana "Long" amin'ny endrika FAT16 (misolo ny zava-drehetra).

Ny fitsapana roa voalohany, araka ny efa nampoizina, dia niafara tamin'ny fandresena tanteraka: ny fitaovana dia afaka nanala ny angona miafina 10 megabytes avy amin'ny flash drive. Saingy taorian'ny namenoana ny kapila tselatra tamin'ny rakitra, dia nisy tsy fahombiazana:

Total clusters read: 250752, decrypted: 158
ERROR: cannot write incomplete secretFile

Araka ny hitanao, cluster 158 ihany no nahomby (632 kilobytes ny angona manta, izay manome 636424 bytes ny entana). Mazava fa tsy misy fomba hahazoana 10 megabytes eto, nefa amin'ireo cluster ireo dia misy dika mitovy. Tsy afaka mamerina 1 megabyte akory ianao amin'ity fomba ity. Saingy afaka manome antoka izahay fa hamerina ny angona miafina 3 kilobytes avy amin'ny kapila tselatra na dia aorian'ny fandrafetana azy sy nosoratana ho an'ny fahaiza-manaony aza. Na izany aza, ny fanandramana dia mampiseho fa azo atao ny maka rakitra 120 kilobytes lava avy amin'ny flash drive toy izany.

Ny fitsapana farany, indrisy, dia mampiseho fa ny flash drive manontolo dia nosoloina:

$ sudo ./steganodisk -p password /dev/sda
Device size: 250752 clusters
250700 99%
Total clusters read: 250752, decrypted: 0
ERROR: cannot write incomplete secretFile

Tsy nisy na iray aza tavela... Mampalahelo fa tsy loza! Alohan'ny fandrafetana, andeha isika hanandrana hamorona partition amin'ny flash drive, ary efa ao anatiny ny rafitra fichier. Raha ny tokony ho izy, dia avy amin'ny orinasa manana io fandrafetana io tokoa izy io, ka tsy manao zavatra mampiahiahy izahay.
Heverina fa nihena kely ny habaka misy amin'ny flash drive.

Heverina ihany koa fa tsy azo afenina amin'ny kapila feno tanteraka ny 10 megabytes. Saingy izao ny isan'ireo clusters voavaha soa aman-tsara dia nitombo avo roa heny!

Total clusters read: 250752, decrypted: 405

Mampalahelo fa tsy azo atao ny manangona megabyte avy amin'ny ampahany, fa mora ny roanjato kilobytes.

Eny ary, ny vaovao momba ny fisavana faha-4 farany, tamin'ity indray mitoraka ity dia faly: ny famolavolana tanteraka ny kapila tselatra toy izany dia tsy nitarika ny fandringanana ny fampahalalana rehetra! Ny angon-drakitra miafina 120 kilobytes dia mifanaraka tsara amin'ny habaka tsy ampiasaina.

Tabilao famintinana fitsapana:

Steganography taloha rakitra: manafina angona mivantana amin'ny sehatra

Fitsipika kely: momba ny habaka malalaka sy ny sehatra tsy ampiasaina

Raha efa nizara ny kapila mafy ho fisarahana ianao, dia mety ho hitanao fa tsy azo atao foana ny mizara ny habaka malalaka rehetra amin'ny kapila. Ny fizarana voalohany dia manomboka amin'ny indentation (matetika 1 megabyte, na sehatra 2048). Ao ambadiky ny fizarana farany dia mitranga ihany koa fa mbola misy "rambo" kely amin'ny sehatra tsy ampiasaina. Ary indraindray misy banga eo amin'ny fizarana, na dia mahalana aza.

Raha lazaina amin'ny teny hafa, misy sehatra ao amin'ny kapila izay tsy azo idirana mandritra ny asa mahazatra miaraka amin'ny kapila, fa azo soratana amin'ireo sehatra ireo ny data! Ary midika izany fa mamaky azy io koa. Namboarina noho ny fisian'ny latabatra fisarahana sy bootloader code, izay hita ao amin'ny faritra tsy misy na inona na inona eo am-piandohan'ny kapila.

Andeha isika haka aina kely amin'ny fizarana ary hijery ny disk avy amin'ny mason'ny vorona, raha lazaina. Eto isika dia manana fizarazarana tsy misy na inona na inona amin'ny kapila. Andao hamorona rafitra fichier ao anatiny. Afaka milaza ve isika fa mbola tsy voafafa ny sehatra sasany ao amin'ny kapila?

E-e-e - amponga! Saika ho eny foana ny valiny! Raha ny marina, amin'ny ankamaroan'ny toe-javatra, ny famoronana rafitra fichier dia midina amin'ny fanoratana afa-tsy sakana vitsivitsy amin'ny fampahalalana momba ny serivisy amin'ny kapila, ary raha tsy izany dia tsy miova ny votoatin'ny fisarahana.

Ary koa - amin'ny fomba ara-tsiansa - azontsika atao ny mihevitra fa ny rafi-drakitra dia tsy afaka mibodo ny habaka rehetra nomena azy hatramin'ny sehatra farany. Ohatra, ny rafitra rakitra FAT16 miaraka amin'ny haben'ny cluster 64 kilobytes dia mazava ho azy fa tsy afaka mibodo tanteraka ny fizarazarana misy habe tsy mihoatra ny 64 kilobytes. Any amin'ny faran'ny fizarana toy izany dia tsy maintsy misy "rambo" amin'ny sehatra maromaro, tsy azo idirana amin'ny fitehirizana angon-drakitra mpampiasa. Na izany aza, tsy azo nohamafisina tamin'ny alalan'ny fanandramana io vinavina io.

Noho izany, mba hampitomboana ny habaka azo ampiasaina amin'ny steganogram, dia mila mampiasa rafitra rakitra miaraka amin'ny haben'ny cluster lehibe kokoa ianao. Azonao atao koa ny mamorona partition, na dia tsy ilaina aza izany (amin'ny flash drive, ohatra). Tsy ilaina ny mamorona fizarana foana na miala amin'ny faritra tsy voatanisa - hisarika ny sain'ny olom-pirenena liana izany.

Utility ho an'ny fanandramana

Azonao atao ny mikitika ny code source an'ny utility eto

Mba hanorina dia mila Qt version 5.0 na ambony ianao ary OpenSSL. Raha misy zavatra tsy mandeha dia mety mila manova ny rakitra steganodisk.pro ianao.

Azonao atao ny manova ny haben'ny cluster avy amin'ny 4 KB ho, ohatra, 512 bytes (ao amin'ny secretfile.h). Mandritra izany fotoana izany, ny vidin'ny fampahalalana momba ny serivisy dia hitombo: ny lohapejy sy ny checksum dia manana 68 bytes raikitra.

Mila mihazakazaka ny utility ianao, mazava ho azy, miaraka amin'ny zon'ny mpampiasa root, ary amin'ny fitandremana. Tsy hisy fanontaniana hapetraka alohan'ny hanoratana ny rakitra na fitaovana voatondro!

Ankafizo.

Source: www.habr.com

Add a comment