Steganographia per files: latens notitia directe in partibus

Brevi praefatiuncula

Steganographia, si quis non meminit, in quibusdam vasis occultat notitias. Exempli gratia in picturis (disputed hic ΠΈ hic). Notitias celare etiam potes in tabulis muneris tabellae systematis (de hoc scriptum erat hic), et etiam in TCP protocol ministerium facis. Infeliciter omnes hae methodi unum incommodum habent: ut notitias in vas insensibiliter "insertas", callidis algorithmis opus est, quae rationem habeant proprietates structurae internae continentis. Et difficultates oriuntur cum resistentia manipulationi continentis: exempli gratia, si imaginem leviter emendas, informationes occultae amittuntur.

Licetne aliquo modo facere sine callidis algorithmis et subtilibus artificiis cum notitia, et adhuc efficere functionem continentis et acceptam securitatem notitiarum occultarum? Prospiciens, dico β€” potes! Ego etiam utilitatem praebebo.

Singula sanguinea methodi

Praecipua idea tam simplex est quam frontis ictus: exstant in orbe areae quas ratio operativa numquam scribit (vel rarius scribit). Ad vitandam necessitatem has areas quaerendas utentes algorithmos callidos, nugationem adhibebimus - hoc est, notitias occultas multas, pluries per omnes orbis partes duplicemus. Tunc, super omnem hunc splendorem, necessarias partitiones creare potes, systemata fasciculi format, limas scribe et OSes institue - eadem omnia, pars notitiarum secretarum salvabitur et insanabilis, et repetita duplicatio nos adiuvabit. totum originale posuit ex fragmentis.

Utilitas huius methodi manifesta est: non in forma tabella, immo in ratio documenti usus est.

Incommoda quoque, puto, manifesta sunt;

  • Notitia secreta solum mutari potest per totum orbem rescribens, deinde recreando contentum usori visibile. Sed programmate uti non potes quod disci ab imagine recreat: etiam priorem datam secretam recreabit.
  • Quo maior est notitiae secretae voluminis, maior quaedam notitia amittendi verisimilitudo est.
  • Retrieving notitia ex disco diu potest capere. Ex pluribus momentis ad plures dies (disculi hodierni magni sunt).

Nunc ad specialia transeamus.

Patet quod si simpliciter notitias secretas in toto orbe linis, solum ab oculo nudo absconderis. Si conspectum tuum instruas, dic, orbis editor, notitia apparebit in omni gloria sua. Ergo utilem fore ut notitia encrypt non apparet. Simpliciter encrypt, sed eleganter: utens algorithmo aes256-cbc. Usorem encryptionis clavem petemus et ascendat cum tessera bona.

Proxima quaestio est quomodo notitias a malo dato distinguere possumus "bonum". Hic checksum adiuvabit, sed non simplex, sed SHA1. Et quod? Satis est pro git, ita nobis quoque convenit. Placuit: singulas notitias repositas cum checksum praebemus, et si post decryptionem congruit, decryption bene succedit.

Etiam numero fragmento indigebis et tota longitudine notitiae secretae. Numerus fragmentum est ut vestigia persequamur ex quibus fragmentis iam pertractatis et quae supersunt. Tota longitudo nobis utilis erit cum ultimum fragmentum expediendo, ut notitias supervacuas (id est, additamenta non scriberem). Bene, quoniam adhuc habemus caput, nomen tabellarii secreti ibi addemus. Post decryptionem utile erit, ut non divinare quam aperire.

Temptandi modum in usu

Ad reprimendam, sumamus medium frequentissimum - mico coegi. Vetus inveni cum 1 GB facultate, quae experimentis satis apta est. Si tu, sicut me, accessisti notionem cum instrumentis physicis non molesta, sed in lima probas - orbis imaginis, ilicet dicam: opus non erit. Cum tale "orbis" formatur, Linux tabellam iterum creat, et omnes partes insuetae cyphris replebuntur.

Ut machina cum Linux, proh dolor, statione tempestatis uti habui in Raspberry Pi 3 in macello iacentis, ibi non multum memoriae est, sic magnas tabulas non abscondemus. Nos ad magnitudinem maximam 10 megabytarum limitamus. Nulla ratio etiam est in latebris quae nimis parva sunt: ​​utilitas scribens notitias orbis in 4 KB ligaturas. Ideo infra limitemus nos fasciculi 3 kb - aptat in unum talem botrum.

Nos per momenta mico agitata irridebimus, post singulas scenas annotabimus num notitia abscondita legatur;

  1. Fast forma in FAT16 forma cum botri magnitudine 16 KB. Hoc est quod Fenestra 7 offert facere cum mico coegi quod ratio lima non habet.
  2. Coegi mico implens cum omnibus purgamentum per L%.
  3. Coegi mico implens cum omnibus purgamentum per L%.
  4. "Longum" forma in FAT16 forma (overwriting omnia).

Primae duae probationes, sicut expectati, in plena victoria finita sunt: ​​utilitas 10 megabytarum secretarum notitiarum e mico pellere poterat utiliter extrahere. Sed postquam fasciculi ictui capacitati sunt impleta, defectio facta est;

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

Ut videre potes, tantum 158 racemi feliciter decryptae sunt (632 chiliocteti notitiae rudis, quae 636424 bytes payload dat). Patet nullo modo hic megabytos 10 consequi, et tamen inter has racemos plane duplicatae sunt. Hoc modo 1 megabyte ne recuperare quidem potes. Sed praestare possumus nos 3 chiliobytes secretorum notitiarum e mico agitatione recuperaturos, etiam postquam ad capacitatem formata est et scripta. Tamen experimenta ostendunt satis posse extrahere fasciculum 120 chiliobytarum ex tali mico mina.

Ultimus probatus, proh dolor, ostendit totam mico coegi esse overscriptum;

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

Non botrus unus superfuit... Tristis, sed non tragic! Priusquam formare conemur partitionem in ictu mico creare et systematis fasciculi iam in eo. Viam officinas cum hac forma factum est, ut suspectum non facimus.
Omnino exspectandum est spatium praesto in ictu coegi leviter decrevit.

Satis etiam exspectandum est 10 megabytes in toto orbe perfecto occultari non posse. Nunc autem numerus uvarum bene decryptedarum plusquam duplicatus est!

Total clusters read: 250752, decrypted: 405

Dolendum est, megabytum ex frustis convenire non potest, sed facilia sunt ducenta kilobyta.

Bene, nuntius de ultimo, 4 reprehendo, hoc tempus gaudet: omnino formating talis mico coegi non ad perniciem omnium informationum! 120 kilobytes notitiae secretae in locum insuetum perfecte convenit.

Test summarium tabulae:

Steganographia per files: latens notitia directe in partibus

Parum speculatio: de spatio vacuo et insueta sectorum

Si quando tuum durum coegi in partitiones divisisti, animadvertere potes non semper liberum spatium in orbis collocare posse. Pars prima semper incipit cum aliqua incisatione (solent 1 megabyte vel 2048 sectoribus). Post sectionem ultimam, etiam accidit ut parva "cauda" pars insueta remaneat. Aliquando autem sunt hiatus inter sectiones, raro tamen.

Aliis verbis, partes in orbe sunt quae in opere normali cum orbe accedere non possunt, sed notitia ad has partes scribi potest! Idque modo legendos quoqne. Adaequatum pro eo quod est etiam partitio tabulae et codici praecursoris, quae in area vacua initio orbis sita sunt.

Intermissum e sectionibus aliquantisper capiamus, et ex visu oculi avi inspiciamus orbem, ut ita dicam. Hic habemus partitionem vacuam in orbe. Systema fasciculi in ea faciamus. Possumus dicere aliquas in orbe partes exsertas manere?

e- e- e - orum volumen! Responsum fere semper erit! Re quidem vera, in pluribus, ratio lima creandi descendit ad scribendas tantum paucas caudices servitutis informationes in disco, et alioquin contenta partitionis non mutantur.

Atque etiam - pure empirice - assumere possumus systema fasciculi non semper occupare totum spatium quod est ei usque ad ultimam partem. Exempli gratia, systema fasciculi FAT16 cum magnitudine botri 64 kilobytarum manifesto non potest plene partitionem occupare cum magnitudine non multiplex 64 chiliobytarum. In fine huius sectionis debebit "cauda" plurium provinciarum esse, inaccessibilis ad reponendas usoris notitias. Sed haec assumptio experimento confirmari non potuit.

Ita, ut spatii steganogram praesto maximizes, ratio fasciculi maiore cum magnitudine uvae uti debes. Etiam partitionem facere potes, etsi hoc non est necessarium (exempli gratia in ictu mico). Nihil opus est sectiones inanes creare vel loca non locata relinquere - haec animos civium quorum interest alliciet.

Utilitas ad experimenta

Potes tangere fontem codicem utilitatis hic

Condere, Qt version 5.0 vel altius et OpenSSL opus erit. Si res non laborat, steganodisk.pro lima emendare potes.

Botrum magnitudinem mutare potes ex 4 KB ad, dicas 512 bytes (in secretfile.h). Eodem tempore, sumptus muneris notitia augebit: caput et checksum certum occupant 68 bytes.

Utilitatem currere debes, scilicet, radicibus utentis iuribus et caute. Nullae interrogationes quaesitae erunt antequam overscribo lima machinasque certa!

Fruere.

Source: www.habr.com