{"id":31080,"date":"2019-10-31T21:39:19","date_gmt":"2019-10-31T18:39:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/steganografiya-v-fajlovoj-sisteme\/"},"modified":"2019-10-31T21:39:19","modified_gmt":"2019-10-31T18:39:19","slug":"steganografiya-v-fajlovoj-sisteme","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/steganografiya-v-fajlovoj-sisteme","title":{"rendered":"Steganografia v s\u00faborovom syst\u00e9me","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ahoj, Habr. <\/p>\n<p><\/p>\n<p>Chcem v\u00e1m predstavi\u0165 mal\u00fd projekt o <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D1%82%D0%B5%D0%B3%D0%B0%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F\">steganografii<\/a><\/noindex>, ktor\u00fd bol vytvoren\u00fd vo vo\u013enom \u010dase od \u0161t\u00fadia. <\/p>\n<p><\/p>\n<p>Vytvoril som projekt na skryt\u00e9 uchov\u00e1vanie inform\u00e1ci\u00ed v s\u00faborovom syst\u00e9me (\u010falej len <strong>FS<\/strong>).<br \/>\n). Toto sa d\u00e1 vyu\u017ei\u0165 na kr\u00e1de\u017e citliv\u00fdch inform\u00e1ci\u00ed na vzdel\u00e1vacie \u00fa\u010dely.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Steganografia v s\u00faborovom syst\u00e9me\" src=\"\/wp-content\/uploads\/2019\/04\/d6639b37e1b1fe57b80288e671176fe3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ako experiment\u00e1lny vzor bola vybran\u00e1 ve\u013emi star\u00e1 linuxov\u00e1 FS <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Ext2\">ext2<\/a><\/noindex>. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"realizaciya\">Implement\u00e1cia<\/h3>\n<p><\/p>\n<h4 id=\"soobrazheniya-o-realizacii\">\u00davahy o realiz\u00e1cii<\/h4>\n<p><\/p>\n<p>Ak, ak sa dobre &#171;rozdrakoni&#187; \u0161tandard ext2, d\u00e1 sa poveda\u0165, \u017ee v FS existuje takzvan\u00fd <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nongnu.org\/ext2-doc\/ext2.html#SUPERBLOCK\"><strong>Superbloki<\/strong><\/a><\/noindex>, kde s\u00fa uveden\u00e9 z\u00e1kladn\u00e9 inform\u00e1cie o syst\u00e9me. Po\u010das v\u00fdskumu som na\u0161iel <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nongnu.org\/ext2-doc\/ext2.html#BLOCK-BITMAP\"><strong>Block Bitmap<\/strong><\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nongnu.org\/ext2-doc\/ext2.html#INODE-TABLE\"><strong>Inode Table<\/strong><\/a><\/noindex>. Takmer ihne\u010f sa zrodila my\u0161lienka zapisova\u0165 inform\u00e1cie do moment\u00e1lne pr\u00e1zdnych blokov FS. Teraz bolo potrebn\u00e9 premyslie\u0165 ochranu pred program\u00e1torom vybaven\u00fdm <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80\">hex-editorom<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Ak sa bude skryt\u00e1 inform\u00e1cia uchov\u00e1va\u0165 bez \u0161ifrovania, aj ke\u010f je rozpt\u00fdlen\u00e1 po FS, aj tak bude pr\u00edli\u0161 n\u00e1padn\u00e1, najm\u00e4 ak program\u00e1tor bude vedie\u0165, \u010do h\u013eada\u0165. Preto bolo rozhodnut\u00e9 \u0161ifrova\u0165 v\u0161etky bloky p\u00f4vodn\u00e9ho s\u00faboru. Vybral som blokov\u00fd \u0161ifrovac\u00ed algoritmus <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Advanced_Encryption_Standard\">AES<\/a><\/noindex>, ale ako ch\u00e1pete, nie je to z\u00e1sadn\u00e9.<\/p>\n<p><\/p>\n<p>Na oddelenie potrebn\u00fdch blokov od ostatn\u00fdch pri \u010d\u00edtan\u00ed bolo rozhodnut\u00e9 prida\u0165 do ka\u017ed\u00e9ho bloku \u0161peci\u00e1lny marker na za\u010diatok bloku. Tento marker bol \u0161ifrovan\u00fd v z\u00e1vislosti od \u010d\u00edsla bloku v p\u00f4vodnom s\u00fabore. Tak\u00fdto trik okam\u017eite umo\u017enil nielen n\u00e1js\u0165 potrebn\u00e9 bloky, ale aj zisti\u0165 ich spr\u00e1vny poriadok.<\/p>\n<p><\/p>\n<p>Celkov\u00fd princ\u00edp fungovania syst\u00e9mu.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Steganografia v s\u00faborovom syst\u00e9me\" src=\"\/wp-content\/uploads\/2019\/04\/cb6e712aeffafe87b1ad10e4ed5b0a39.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h4 id=\"algoritm-zapisi\">Algoritmus z\u00e1pisu<\/h4>\n<p><\/p>\n<p>Po jednotliv\u00fdch krokoch:<\/p>\n<p><\/p>\n<ul>\n<li>Najprv zap\u00edsa\u0165 do p\u00f4vodn\u00e9ho s\u00faborov\u00e9ho syst\u00e9mu nejak\u00e9 inform\u00e1cie;<\/li>\n<li>Odstr\u00e1ni\u0165 tieto inform\u00e1cie (nie je nutn\u00e9 v\u0161etky); <\/li>\n<li>S\u00fabor na skrytie roztrhn\u00fa\u0165 na bloky rovnakej d\u013a\u017eky, prid\u00e1vaj\u00fac marker;<\/li>\n<li>Tento blok za\u0161ifrova\u0165;<\/li>\n<li>Za\u0161ifrovan\u00e9 bloky umiestni\u0165 do pr\u00e1zdnych blokov FS.<\/li>\n<\/ul>\n<p>\n<b class=\"spoiler_title\">Pre milovn\u00edkov blokov\u00fdch sch\u00e9m<\/b><\/p>\n<p>Ni\u017e\u0161ie je uveden\u00e1 blokov\u00e1 sch\u00e9ma algoritmu z\u00e1pisu. Na vstupe dost\u00e1va algoritmus \u0161tyri s\u00fabory:<br \/>\n-Obraz menite\u013en\u00e9ho s\u00faborov\u00e9ho syst\u00e9mu;<br \/>\n-S\u00fabor ur\u010den\u00fd na steganografiu;<br \/>\n-S\u00fabor s k\u013e\u00fa\u010dom na \u0161ifrovanie pre AES;<br \/>\n-S\u00fabor s markerom.<br \/>\n<img decoding=\"async\" alt=\"Steganografia v s\u00faborovom syst\u00e9me\" src=\"\/wp-content\/uploads\/2019\/04\/3089bf0d55cbdca1a98e4ee992089665.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hne\u010f treba poznamena\u0165, \u017ee tento algoritmus m\u00e1 jednu nev\u00fdhodu: po z\u00e1pise s\u00faboru do FS <strong>nie je mo\u017en\u00e9<\/strong> nen\u00ed mo\u017en\u00e9 do FS zap\u00edsa\u0165 nie\u010do nov\u00e9, preto\u017ee ak\u00e1ko\u013evek nov\u00e1 inform\u00e1cia sa m\u00f4\u017ee dosta\u0165 do t\u00fdch blokov, ktor\u00e9 sme pridelili n\u00e1\u0161mu skryt\u00e9mu s\u00faboru, av\u0161ak to otv\u00e1ra mo\u017enos\u0165 'r\u00fdchlej likvid\u00e1cie st\u00f4p'. <\/p>\n<p><\/p>\n<p>Je zrejm\u00e9, ako to mo\u017eno opravi\u0165: je potrebn\u00e9 prep\u00edsa\u0165 algoritmus z\u00e1pisu blokov do FS. Je to zrozumite\u013en\u00e1, ale neuverite\u013ene pracn\u00e1 \u00faloha.<br \/>\nPre Proof Of Concept som to neimplementoval.<\/p>\n<p><\/p>\n<p>V\u00fdsledkom bud\u00fa nasleduj\u00face zmeny vo FS, takto vyzer\u00e1 FS pred steganografiou (predt\u00fdm bol zaznamenan\u00fd audio s\u00fabor).<br \/>\n<img decoding=\"async\" alt=\"Steganografia v s\u00faborovom syst\u00e9me\" src=\"\/wp-content\/uploads\/2019\/04\/a779de50121de2bafacab9d891b5f5df.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA takto vyzer\u00e1 FS s u\u017e steganografick\u00fdmi inform\u00e1ciami.<br \/>\n<img decoding=\"async\" alt=\"Steganografia v s\u00faborovom syst\u00e9me\" src=\"\/wp-content\/uploads\/2019\/04\/5722200a90d720f96c0aad5b4a5a11ae.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h4 id=\"algoritm-chteniya\">Algoritmus \u010d\u00edtania<\/h4>\n<p><\/p>\n<p>Po jednotliv\u00fdch krokoch:<\/p>\n<p><\/p>\n<ul>\n<li>So znalos\u0165ou k\u013e\u00fa\u010da a sp\u00f4sobu v\u00fdstavby markerov zostavi\u0165 prv\u00e9 N markerov, s garanciou, \u017ee N, vyn\u00e1soben\u00e9 d\u013a\u017ekou bloku s\u00faborov\u00e9ho syst\u00e9mu, je v\u00e4\u010d\u0161ie ako d\u013a\u017eka steganografick\u00e9ho s\u00faboru;<\/li>\n<li>Vykona\u0165 vyh\u013ead\u00e1vanie blokov v FS, za\u010d\u00ednaj\u00facich s markerami; <\/li>\n<li>De\u0161ifrova\u0165 z\u00edskan\u00e9 bloky a oddeli\u0165 markery;<\/li>\n<li>Zostavi\u0165 z\u00edskan\u00e9 bloky v spr\u00e1vnom porad\u00ed a z\u00edska\u0165 p\u00f4vodn\u00fd s\u00fabor.<\/li>\n<\/ul>\n<p>\n<b class=\"spoiler_title\">Pre milovn\u00edkov blokov\u00fdch sch\u00e9m<\/b><\/p>\n<p>Ni\u017e\u0161ie je uveden\u00e1 blokov\u00e1 sch\u00e9ma algoritmu z\u00e1pisu. Na vstupe algoritmus dost\u00e1va tri s\u00fabory:<br \/>\n-Obraz s\u00faborov\u00e9ho syst\u00e9mu;<br \/>\n-S\u00fabor s k\u013e\u00fa\u010dom na \u0161ifrovanie pre AES;<br \/>\n-S\u00fabor s markerom.<br \/>\n<img decoding=\"async\" alt=\"Steganografia v s\u00faborovom syst\u00e9me\" src=\"\/wp-content\/uploads\/2019\/04\/9dcfe680121a30c1b17b5a4cdbd76dc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Po pr\u00e1ci programu sa objav\u00ed s\u00fabor Read, ktor\u00fd bude vytiahnut\u00fd zo steganografick\u00e9ho FS, ak bol k\u013e\u00fa\u010d alebo marker zadan\u00fd nespr\u00e1vne, s\u00fabor Read bude pr\u00e1zdny.<br \/>\n(pre milovn\u00edkov kr\u00e1sy sa m\u00f4\u017eu vklada\u0165 nielen s\u00fabory, ale aj &#171;hlavi\u010dka&#187;, ktor\u00e1 obsahuje meta inform\u00e1cie: n\u00e1zov s\u00faboru, pr\u00e1va, \u010das poslednej \u00fapravy at\u010f.)<\/p>\n<p><\/p>\n<h4 id=\"avtomatizaciya-zapuska\">Automatiz\u00e1cia spustenia<\/h4>\n<p><\/p>\n<p>Pre pohodlie boli nap\u00edsan\u00e9 bash skripty, ktor\u00e9 automatizuj\u00fa spustenie na Linuxe (testovan\u00e9 na Ubuntu 16.04.3 LTS).<br \/>\nPrejdime si spustenie po krokoch.<br \/>\nZ\u00e1pis:<\/p>\n<p><\/p>\n<ol>\n<li>sudo Copy_Flash.sh \"DEVICE\" \u2014 z\u00edskavame obraz FS z DEVICE (flash);<\/li>\n<li>.\\\/Write.sh \"FILE\" \"KEY\" \"MARKER\" \u2013 vytvor\u00edme virtu\u00e1lne prostredie, stiahneme potrebn\u00e9 kni\u017enice a spust\u00edme skript na z\u00e1pis;<\/li>\n<li>sudo .\\\/Write_Flash.sh \"DEVICE\" \u2013 zapisujeme upraven\u00fd FS sp\u00e4\u0165 na DEVICE.<\/li>\n<\/ol>\n<p><\/p>\n<p>\u010c\u00edtanie:<\/p>\n<p><\/p>\n<ol>\n<li>sudo Copy_Flash.sh \"DEVICE\" \u2014 z\u00edskavame obraz FS z DEVICE (flash);<\/li>\n<li>.\\\/Read.sh \"KEY\" 'MARKER' \u2014 vytvor\u00edme virtu\u00e1lne prostredie, stiahneme potrebn\u00e9 kni\u017enice a spust\u00edme skript na \u010d\u00edtanie;<\/li>\n<li>V aktu\u00e1lnom adres\u00e1ri otvor\u00edme s\u00fabor Read \u2013 to je steganografick\u00e1 inform\u00e1cia.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"zaklyuchenie\">Z\u00e1ver<\/h3>\n<p><\/p>\n<p>Tento sp\u00f4sob steganografie pravdepodobne potrebuje vylep\u0161i\u0165, dodato\u010dn\u00e9 testovanie a roz\u0161\u00edri\u0165 na popul\u00e1rnej\u0161ie s\u00faborov\u00e9 syst\u00e9my, ako s\u00fa <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/FAT32\">Fat32<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/NTFS\">NTFS<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Ext4\">ext4<\/a><\/noindex>.<br \/>\nAle cie\u013eom tejto pr\u00e1ce bolo uk\u00e1za\u0165 princ\u00edp, prostredn\u00edctvom ktor\u00e9ho je mo\u017en\u00e9 uskuto\u010dni\u0165 skryt\u00e9 uchov\u00e1vanie inform\u00e1ci\u00ed v s\u00faborovom syst\u00e9me.<br \/>\nS pomocou tak\u00fdchto algoritmov je mo\u017en\u00e9 bez ob\u00e1v uchov\u00e1va\u0165 inform\u00e1cie, a ak je pri poznan\u00ed k\u013e\u00fa\u010da tak\u00fdto syst\u00e9m mo\u017en\u00e9 prelomi\u0165 nie \u00fapln\u00fdm preh\u013ead\u00e1van\u00edm (ale ve\u013emi dlh\u00fdm algoritmom), tak bez poznania k\u013e\u00fa\u010da sa tento syst\u00e9m jav\u00ed ako absol\u00fatne odoln\u00fd, hoci to m\u00f4\u017ee by\u0165 d\u00f4vodom na samostatn\u00fd \u010dl\u00e1nok.<\/p>\n<p><\/p>\n<p>Cel\u00fd k\u00f3d je implementovan\u00fd v jazyku Python verzie 3.5.2. <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/FEAE3_xDKkA\">Pr\u00edklad fungovania<\/a><\/noindex> je predstaven\u00fd na mojom youtube kan\u00e1li. Kompletn\u00fd k\u00f3d projektu je zverejnen\u00fd na <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/MalahovMV\/Ext2Stego\">github<\/a><\/noindex>.<br \/>\n(\u00c1no, viem, \u017ee pre produk\u010dn\u00fa verziu je potrebn\u00e9 p\u00edsa\u0165 v nie\u010dom &#171;r\u00fdchlom&#187;, napr\u00edklad v C \ud83d\ude09 )<br \/>\nV tejto implement\u00e1cii by ve\u013ekos\u0165 vstupn\u00e9ho s\u00faboru pre steganografiu nemala presiahnu\u0165 1000 kB.<\/p>\n<p><\/p>\n<p>Chcem vyjadri\u0165 v\u010faku pou\u017e\u00edvate\u013eovi <noindex><a rel=\"nofollow\" href=\"https:\/\/habrahabr.ru\/users\/pavelmstu\/\" class=\"user_link\">PavelMSTU<\/a><\/noindex> za cenn\u00e9 rady pri pl\u00e1novan\u00ed v\u00fdskumu a odpor\u00fa\u010dania na \u00fapravu \u010dl\u00e1nku.<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/347604\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440. \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u0441\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043e\u0442 \u0443\u0447\u0435\u0431\u044b \u0432\u0440\u0435\u043c\u044f. \u042f \u0441\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u0441\u043a\u0440\u044b\u0442\u043e\u043c\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 (\u0434\u0430\u043b\u0435\u0435 \u0424\u0421). \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u043a\u0440\u0430\u0436\u0438 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0446\u0435\u043b\u044f\u0445. \u0412 \u0432\u0438\u0434\u0435 \u043e\u043f\u044b\u0442\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0446\u0430 \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0432\u0435\u0441\u044c\u043c\u0430 \u0441\u0442\u0430\u0440\u0435\u043d\u044c\u043a\u0430\u044f \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432\u0430\u044f \u0424\u0421 ext2. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0421\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0415\u0441\u043b\u0438 \u0445\u043e\u0440\u043e\u0448\u043e &#171;\u0440\u0430\u0437\u0434\u0440\u0430\u043a\u043e\u043d\u0438\u0442\u044c&#187; [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23051,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31080","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/steganografiya-v-fajlovoj-sisteme\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/steganografiya-v-fajlovoj-sisteme\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:39:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:39:19+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Steganografia v s\u00faborovom syst\u00e9me | ProHoster","description":"Ahoj, Habr.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/steganografiya-v-fajlovoj-sisteme","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/steganografiya-v-fajlovoj-sisteme","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:39:19+00:00","article:modified_time":"2019-10-31T18:39:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31080","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 04:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:22:35","updated":"2026-01-21 04:26:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=31080"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31080\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/23051"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=31080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=31080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=31080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}