Steganography le faidhlichean: a’ falach dàta gu dìreach ann an roinnean

Ro-ràdh goirid

Tha steganography, mura h-eil cuimhne aig duine, a’ falach fiosrachadh ann an cuid de shoithichean. Mar eisimpleir, ann an dealbhan (air a dheasbad an seo и an seo). Faodaidh tu cuideachd dàta fhalach ann an clàran seirbheis an t-siostam faidhle (chaidh seo a sgrìobhadh mu dheidhinn an seo), agus eadhon ann am pasganan seirbheis protocol TCP. Gu mì-fhortanach, tha aon eas-bhuannachd aig na dòighean sin uile: gus fiosrachadh “a chuir a-steach” gu do-chreidsinneach ann an soitheach, feumaidh tu algorithms seòlta a bheir aire do cho sònraichte sa tha structar a-staigh an t-soithich. Agus bidh duilgheadasan ag èirigh le strì an aghaidh an t-soithich an aghaidh làimhseachadh: mar eisimpleir, ma dheasaicheas tu an dealbh beagan, bidh fiosrachadh falaichte air chall.

A bheil e comasach dòigh air choireigin a dhèanamh às aonais algorithms seòlta agus làimhseachadh seòlta le dàta, agus fhathast dèanamh cinnteach à gnìomhachd an t-soithich agus ìre iomchaidh de thèarainteachd dàta falaichte? A’ coimhead air adhart, canaidh mi - tha, faodaidh tu! Bidh mi eadhon a’ tabhann goireas.

Mion-fhiosrachadh fuilteach mun dòigh-obrach

Tha am beachd bunaiteach cho sìmplidh ri buille don mhaoil: tha raointean air an diosg nach bi an siostam obrachaidh a 'sgrìobhadh gu bràth (no a' sgrìobhadh ann an cùisean ainneamh). Gus nach fheum sinn na raointean sin a lorg le bhith a’ cleachdadh algoirmean seòlta, cleachdaidh sinn call obrach - is e sin, dùblaich sinn ar fiosrachadh falaichte iomadh uair, iomadh uair thar gach roinn den diosc. An uairsin, dìreach a bharrachd air an greadhnachas seo, faodaidh tu na h-earrannan riatanach a chruthachadh, cruth a chuir air siostaman faidhle, faidhlichean a sgrìobhadh agus OSes a chuir a-steach - mar an ceudna, thèid pàirt den dàta dìomhair a shàbhaladh agus faodar a thoirt air ais, agus cuidichidh dùblachadh a-rithist sinn cuir an t-iomlan tùsail còmhla bho na pìosan.

Tha buannachd an dòigh seo follaiseach: chan eil sinn an urra ris an fhòrmat faidhle, no eadhon air an t-seòrsa siostam faidhle a thathar a’ cleachdadh.

Tha na h-eas-bhuannachdan cuideachd, tha mi a’ smaoineachadh, follaiseach:

  • Chan urrainnear dàta dìomhair atharrachadh ach le bhith ag ath-sgrìobhadh an diosc gu lèir gu tur, agus an uairsin ag ath-chruthachadh an t-susbaint a chì an neach-cleachdaidh. Ach, chan urrainn dhut bathar-bog a chleachdadh a dh’ ath-chruthaicheas an diosc bho ìomhaigh: bidh e cuideachd ag ath-chruthachadh an dàta dìomhair a bh’ ann roimhe.
  • Mar as motha an àireamh de dhàta dìomhair, is ann as motha a tha e coltach gun tèid cuid de dh’ fhiosrachadh a chall.
  • Faodaidh e ùine mhòr a bhith a’ faighinn dàta air ais bhon diosc. Bho grunn mhionaidean gu grunn làithean (tha diosgan an latha an-diugh mòr).

A-nis gluaisidh sinn air adhart gu mion-fhiosrachadh.

Tha e soilleir ma tha thu dìreach a’ smeuradh dàta dìomhair air feadh an diosc, cha bhith e falaichte ach bhon t-sùil rùisgte. Ma dh’uidheamaicheas tu do shealladh le, can, deasaiche diosc, nochdaidh an dàta na ghlòir gu lèir. Mar sin, bhiodh e na dheagh bheachd an dàta a chrioptachadh gus nach nochd e. Crioptaichidh sinn gu sìmplidh, ach le blas: a’ cleachdadh an algairim aes256-cbc. Iarraidh sinn air an neach-cleachdaidh an iuchair crioptachaidh agus leigidh sinn leis facal-faire math a chruthachadh.

Is e an ath cheist ciamar as urrainn dhuinn dàta “math” a dhealachadh bho dhroch dhàta. An seo cuidichidh checkum sinn, ach chan e fear sìmplidh, ach SHA1. Agus dè? Tha e math gu leòr airson git, mar sin bidh e iomchaidh dhuinne cuideachd. Co-dhùnadh: bidh sinn a’ toirt seicichean do gach pìos fiosrachaidh a tha air a stòradh, agus ma tha e a’ maidseadh às deidh dì-chrioptachadh, tha e a’ ciallachadh gun robh an dì-chrioptachadh soirbheachail.

Bidh feum agad cuideachd air an àireamh chriomag agus fad iomlan an dàta dìomhair. Tha an àireamh chriomag airson cunntas a chumail air na pìosan a tha sinn air a mhìneachadh mar-thà agus a tha air fhàgail. Bidh an fhaid iomlan feumail dhuinn nuair a bhios sinn a’ giullachd a’ chriomag mu dheireadh, gus nach sgrìobh sinn dàta neo-riatanach (is e sin, pleadhag). Uill, leis gu bheil bann-cinn againn fhathast, cuiridh sinn ainm an fhaidhle dhìomhair an sin. Bidh e feumail an dèidh dì-chrioptachadh, gus nach dèan thu tomhas air mar a dh'fhosglas e e.

A 'dèanamh deuchainn air an dòigh-obrach ann an cleachdadh

Gus sgrùdadh a dhèanamh, gabhamaid am meadhan as cumanta - draibhear flash. Lorg mi seann fhear le comas 1 GB, a tha gu math freagarrach airson deuchainnean. Ma thàinig thusa, mar mise, suas leis a’ bheachd gun a bhith a’ cur dragh air na meadhanan fiosaigeach, ach a’ dèanamh deuchainn air faidhle - ìomhaigh diosc, canaidh mi sa bhad: chan obraich e. Nuair a bhios tu a’ cruth leithid de “diosg,” cruthaichidh Linux am faidhle a-rithist, agus bidh a h-uile roinn nach deach a chleachdadh air a lìonadh le neamhan.

Mar inneal le Linux, gu mì-fhortanach, bha agam ri stèisean sìde a chleachdadh air an Raspberry Pi 3 na laighe air an balcony. Chan eil mòran cuimhne ann, agus mar sin cha chuir sinn am falach faidhlichean mòra. Bidh sinn gar cuingealachadh fhèin gu meud as motha de 10 megabytes. Chan eil feum sam bith ann a bhith a’ falach faidhlichean a tha ro bheag: bidh an goireas a’ sgrìobhadh dàta gu diosc ann an cruinneachaidhean 4 KB. Mar sin, gu h-ìosal bidh sinn gar cuingealachadh fhèin gu faidhle 3 kb - bidh e a’ freagairt air aon bhuidheann den leithid.

Nì sinn magadh air an dreach flash ann an ìrean, a’ dèanamh cinnteach às deidh gach ìre a bheil am fiosrachadh falaichte ri leughadh:

  1. Cruth luath ann an cruth FAT16 le meud brabhsair de 16 KB. Is e seo a tha Windows 7 a’ tabhann a dhèanamh le draibhear flash aig nach eil siostam faidhle.
  2. A ’lìonadh an draibhear flash le gach seòrsa sgudal le 50%.
  3. A ’lìonadh an draibhear flash le gach seòrsa sgudal le 100%.
  4. Cruth “fada” ann an cruth FAT16 (ath-sgrìobhadh a h-uile càil).

Thàinig a’ chiad dà dheuchainn, mar a bhiodh dùil, gu crìch le buaidh iomlan: bha e comasach don ghoireas 10 megabytes de dhàta dìomhair a thoirt a-mach às an draibhear flash. Ach às deidh don draibhear flash a bhith air a lìonadh gu comas le faidhlichean, thachair fàilligeadh:

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

Mar a chì thu, cha deach ach 158 cruinneachaidhean a dhì-chrioptachadh gu soirbheachail (632 kilobytes de dhàta amh, a tha a’ toirt seachad 636424 bytes de uallach pàighidh). Tha e soilleir nach eil dòigh ann air 10 megabytes fhaighinn an seo, agus a dh’ aindeoin sin am measg nan cruinneachaidhean sin tha e soilleir gu bheil dùblaidhean ann. Chan urrainn dhut eadhon 1 megabyte fhaighinn air ais san dòigh seo. Ach faodaidh sinn gealltainn gum faigh sinn air ais 3 kilobytes de dhàta dìomhair bho dhràibhear flash eadhon às deidh dha a bhith air a chruth agus air a sgrìobhadh gu làn chomas. Ach, tha deuchainnean a 'sealltainn gu bheil e comasach gu leòr faidhle 120 kilobytes a dh' fhaid a tharraing bho dhràibhear mar sin.

Sheall an deuchainn mu dheireadh, gu mì-fhortanach, gun deach an dreach flash gu lèir ath-sgrìobhadh:

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

Chan eil aon bhuidheann air a bhith beò... Duilich, ach chan eil e duilich! Mus cuir sinn cruth air dòigh, feuchaidh sinn ri sgaradh a chruthachadh air an draibhear flash, agus siostam faidhle ann mu thràth. Co-dhiù, thàinig e bhon fhactaraidh leis an fhìor chruth seo, agus mar sin chan eil sinn a’ dèanamh dad amharasach.
Tha dùil gu bheil an rùm a tha ri fhaighinn air an dreach flash air a dhol sìos beagan.

Tha dùil cuideachd nach gabhadh 10 megabytes am falach air diosc gu tur làn. Ach a-nis tha an àireamh de chlàran a chaidh a dhì-chrioptachadh gu soirbheachail air barrachd air dùblachadh!

Total clusters read: 250752, decrypted: 405

Gu mì-fhortanach, tha e do-dhèanta megabyte a chruinneachadh bho phìosan, ach tha dà cheud kilobytes furasta.

Uill, tha na naidheachdan mun 4mh sgrùdadh mu dheireadh, an turas seo toilichte: cha do dh’ adhbhraich a bhith a’ cruth leithid de dhràibhear flash gu tur sgrios air a h-uile fiosrachadh! Bidh 120 kilobytes de dhàta dìomhair a’ freagairt gu foirfe ann an àite nach deach a chleachdadh.

Clàr geàrr-chunntas deuchainn:

Steganography le faidhlichean: a’ falach dàta gu dìreach ann an roinnean

Beagan teòiridheach: mu àite an-asgaidh agus roinnean gun chleachdadh

Ma tha thu a-riamh air do chlàr cruaidh a roinn ann am pàirtean, is dòcha gu bheil thu air mothachadh nach eil e an-còmhnaidh comasach a h-uile àite an-asgaidh air an diosc a riarachadh. Bidh a’ chiad earrann an-còmhnaidh a’ tòiseachadh le beagan indentation (mar as trice 1 megabyte, no 2048 roinnean). Air cùl na h-earrainn mu dheireadh, tha e cuideachd a’ tachairt gu bheil “earball” beag fhathast ann de roinnean gun chleachdadh. Agus uaireannan tha beàrnan eadar earrannan, ged is ann ainneamh a tha iad.

Ann am faclan eile, tha roinnean air an diosc nach fhaighear a-steach rè obair àbhaisteach leis an diosc, ach faodar dàta a sgrìobhadh gu na roinnean sin! Agus tha sin a’ ciallachadh a leughadh cuideachd. Air atharrachadh leis gu bheil clàr sgaradh agus còd bootloader ann cuideachd, a tha suidhichte anns an àite falamh aig toiseach an diosc.

Gabhamaid fois bho na h-earrannan airson greiseag agus coimhead air an diosg bho shealladh eun, mar sin a bhruidhinn. An seo tha sgaradh falamh againn air an diosc. Nach cruthaich sinn siostam faidhle ann. An urrainn dhuinn a ràdh gu bheil cuid de roinnean air an diosc fhathast gun fhuasgladh?

E-e-e - rolla druma! Bidh am freagairt cha mhòr an-còmhnaidh tha! Gu dearbh, anns a 'mhòr-chuid de chùisean, tha cruthachadh siostam faidhle a' tighinn sìos gu bhith a 'sgrìobhadh dìreach beagan bhlocaichean de dh'fhiosrachadh seirbheis air an diosg, agus air dhòigh eile chan eil susbaint an sgaradh ag atharrachadh.

Agus cuideachd - dìreach gu empirigeach - faodaidh sinn gabhail ris nach urrainn don t-siostam faidhle an-còmhnaidh a bhith a’ gabhail a h-uile àite a chaidh a thoirt dha suas chun roinn mu dheireadh. Mar eisimpleir, tha e soilleir nach urrainn do shiostam faidhle FAT16 le meud brabhsair de 64 kilobytes a bhith a’ gabhail thairis gu tur ann an sgaradh le meud nach eil iomadaidh de 64 kilobytes. Aig deireadh earrann mar seo feumaidh “earball” de ghrunn roinnean a bhith ann, do-ruigsinneach airson dàta luchd-cleachdaidh a stòradh. Ach, cha b 'urrainnear am beachd seo a dhearbhadh gu deuchainneach.

Mar sin, gus an àite as motha a tha ri fhaighinn airson an steganogram a mheudachadh, feumaidh tu siostam faidhle a chleachdadh le meud brabhsair nas motha. Faodaidh tu cuideachd sgaradh a chruthachadh, eadhon mura h-eil seo riatanach (air flash drive, mar eisimpleir). Chan eil feum air earrannan falamh a chruthachadh no raointean neo-riaraichte fhàgail - tarraingidh seo aire shaoranaich le ùidh.

Goireasan airson deuchainnean

Faodaidh tu suathadh ri còd stòr a’ ghoireas an seo

Gus togail, feumaidh tu Qt dreach 5.0 no nas àirde agus OpenSSL. Mura obraich rudeigin, is dòcha gum feum thu am faidhle steganodisk.pro a dheasachadh.

Faodaidh tu meud na buidhne atharrachadh bho 4 KB gu, can, 512 bytes (ann an secretfile.h). Aig an aon àm, àrdaichidh cosgais fiosrachadh seirbheis: bidh an bann-cinn agus an t-seic ann an 68 bytes stèidhichte.

Feumaidh tu an goireas a ruith, gu dearbh, le còraichean cleachdaiche freumha, agus le rabhadh. Cha tèid ceistean sam bith fhaighneachd mus tèid thu thairis air an fhaidhle no an inneal ainmichte!

Gabh tlachd.

Source: www.habr.com

Cuir beachd ann