Kérdés:
Hogyan lehet megtudni, hogy egy fájlt visszafejtettek-e vagy sem
juan michelle
2016-04-08 19:45:07 UTC
view on stackexchange narkive permalink

Az iskolához el kell végeznem egy olyan gyakorlatot, amelyben durva erőszakos támadással kell dekódolnom a fájlokat.

Nagyon sok különböző fájl van különböző fájlformátumokban. A fájlokat XOR vagy a caesar algoritmus segítségével titkosították.

Tudom, hogyan próbálhatok meg minden lehetséges kulcsot a fájlok visszafejtésére, de honnan tudhatom, hogy a fájlt a megfelelő kulccsal dekódolják-e?

http://stackoverflow.com/questions/1135186/whats-wrong-with-xor-encryption ||http://stackoverflow.com/questions/1984984/how-to-check-whether-decrypting-was-successful ||http://crypto.stackexchange.com/questions/15896/how-do-decryption-algorithms-determine-whether-your-attempted-passphrase-is-corr ||http://crypto.stackexchange.com/questions/5921/how-and-why-can-a-decryption-program-tell-me-that-a-key-is-incorrect ||http://crypto.stackexchange.com/questions/1468/how-does-gpg-verify-succesful-decryption
Általában nem teheti meg, és éppen ezért biztonságosak az egyszeri betétek.
Nézze meg az adatok megoszlását - szükség esetén készítsen hisztogramot.A legtöbb titkosítást szándékosan úgy tervezték, hogy meglehetősen egységes adatelosztást hozzon létre, amely nem különbözik a véletlenszerű adatoktól - de nem egy jpeg vagy más fájlformátumoktól, amelyek valamiféle homályos, mégis láthatóan ferde adatelosztással rendelkeznek;azaz egy minta.Természetesen, ha egybájtos XORingot vagy egyszerű helyettesítő titkosítást végez, futtasson egy brute force szkriptet.Valószínű, hogy ez egy bájtos XOR kulcs (csak 255 lehetséges kimenet) vagy rögzített shift gomb (csak [az ábécé betűinek száma] lehetséges kimenet)
Ez nagyon klassz gyakorlatnak tűnik.Milyen egyetem / tanfolyam ez?A professzor online elküldi az előadásokat?
Ez egy kis része az Epitech (franciaország) terheléselosztásáról szóló tanfolyamnak.Készítenünk kell egy felhasználói felületet, amelybe a felhasználó titkosított fájlokat tesz, vagy sem, és el kell osztanunk a feladatokat, hogy néhány adatot (e-mail, telefonszám, ip) megtalálhassak benne számos folyamaton és gépen, hálózaton keresztül.A téma nem érhető el online, de ha akarod, elküldhetem neked.
Hét válaszokat:
Dan Ambrogio
2016-04-08 19:56:01 UTC
view on stackexchange narkive permalink

Tényleg nem teheti meg, ha csak szöveget titkosít / visszafejt.

Ha tudja, hogy a titkosított karakterlánc "kdo", a titkosítási módszer pedig Caesar-váltás, akkor a sima szöveg csak ugyanolyan könnyen lehet „IBM”, mint „HAL”. Van némi ötlete arról, hogy a sima szöveg "hogyan néz ki". Például, ha tudja, hogy a sima szöveg egy Stanley Kubrick karakter neve, akkor megfelelő elképzelése van arról, hogy melyiknek kell lennie.

Ha hosszabb húr van, sokkal könnyebb leszűkíteni a dolgok le. Egy nagy szöveges fájlnak sokkal kevesebb érthető eredménye van, mint a fenti három karakteres példának. De akkor is meg kell határoznia, hogy Ön maga dekódolta-e.

Másrészt, ha egy teljes fájlt valamilyen meghatározott formátumban (.docx stb.) Dekódol, akkor ésszerűen biztos lehet benne, hogy a fájl visszafejtésre kerül, ha az elemző program (Word stb.) el tudja olvasni.

Mivel ez egy iskolai feladat, ésszerű elvárni a tiszta szöveg észlelésének egyszerű módját - valószínűleg az órán megbeszélik, és valószínűleg hisztogramja közel áll az angolhoz (vagy bármelyik nyelvhez, amelyen az osztályt tanítják)
Csak sidenote, de valójában vannak lehetőségek annak felderítésére, hogy egy fájlt a megfelelő kulccsal visszafejtettek-e.Ezek meglehetősen összetettek, és valószínűleg nem relevánsak az OP-k kérdésében, de a nyelvészleléssel meghatározhatja, hogy a fájl megfelelően dekódolt-e.A fejlécű fájlok elemezhetők annak ellenőrzésével, hogy a fejlécet megfelelően visszafejtették-e, ami megegyezik a nyelvellenőrzéssel.Valójában a docx-fájlok számára javasolt teszt pontosan ennek a megközelítésnek a megvalósítása - nem éppen elegáns.
cremefraiche
2016-04-10 15:58:55 UTC
view on stackexchange narkive permalink

Feltétlenül meg tudja mondani különböző fokú biztonsággal, ha egy fájlt vagy akár karakterláncot sikeresen visszafejtettek. A rejtjeleknél a legtöbb kihívás ettől függ. Elkezdtem olyan eszközt készíteni a titkosított szöveges erőszak és elemzés számára, amely ezt a feladatot automatizálja. itt megtalálhatja, ha meg akarja nézni.
(sok tisztítást igényel, ne ítélj meg)

Eredetileg ebben a projektben az volt a célom, hogy egyszerű nyers erővel javítsam a CTF kriptográfiai kihívásaimat, de sokkal több elemzés megvalósításán kezdek dolgozni. Jelenlegi állapotában minden császárt, egybájtos XOR-ot, atbash-t és néhány kódolást képes kipróbálni, az XOR ismétlőgombos fejlesztésével, de még nem integrálva.

A jelenlegi működése erős>

  • beveszi a rejtjeles karakterláncot vagy az új vonallal elválasztott rejtjeles szöveges karakterláncokat
  • megkísérli a visszafejtést a támogatott rejtjelek teljes kulcsterületével
  • minden visszafejtés után kísérlet, futtat egy észlelési függvényt tiszta szövegen annak megállapítására, hogy a visszafejtett szöveg angol nyelvű-e
  • a legvalószínűbb találgatásokat jeleníti meg

A folyamatot finoman az teszi, hogy a küszöbértékek az angol nyelv észlelését a ciphetext hosszától függően kell beállítani. Alapértelmezés szerint a tiszta szöveg 60% -át szavaknak, a cleartext 75% -át pedig betűknek kell előírni a mérkőzés regisztrálásához. Ez a beállítás ritkán ad hamis pozitívumokat, és még ritkábban hamis negatívumokat a közepes és hosszú hosszúságú áttetsző szövegekben (bármi, ami néhány húr felett van). Rövid hosszúságú rejtjeleken használva azonban felbukkan néhány hamis pozitív, és sok hamis negatív el fog jutni. A tesztelés során 30% -kal vagy annál nagyobb mértékben kellett csökkentenem a küszöbértékeket, hogy néhány rövid húron találhassak egyezést, és közben sokkal több hamis pozitív eredményt generáljak, amelyeket át kell szitálnom, hogy megtaláljam az igazi egyezést.

Nyomatékosan ajánlom a kezdetektől fogva a kriptopáli kihívások átdolgozását, ha érdekel többet megtudni az orákulum készítéséről és a kriptográfia megtöréséről. Könnyen indul, és valóságos támadásokká fejlődik, például egy Bleichenbacher Oracle készítésével, amely része a DROWN támadás működésének.

tl; dr

készítenie kell egy modult, amely felismeri az angolt, és alkalmaznia kell minden visszafejtési kísérlet eredményére. vagy csak villabányát és javítson rajta.
Azokban az esetekben, amikor a tiszta szöveg nem angol vagy más nyelvű lesz, valamilyen fejlettebb elemzés szükséges.

Mit vár tehát a tanár tőled?Ez valószínűleg egy olyan feladat, amelyet évek óta végeznek, tudni fogják, mit próbálnak ki a hallgatók.Tehát feltettek egy vagy két francia vagy kínai dokumentumot, vagy egy összeállított programot, sok szöveg nélkül.Hogyan lehet ezt felismerni?
@SPRBRN Ha feladata a fájlok durva erőszakos támadással történő visszafejtése, akkor a tanár pontosan ezt várná tőle.Van más módod?Nagyon kétlem, hogy a tanár elvárja, hogy a diákok minden egyes visszafejtési kísérletet kézzel nézzenek meg az egyes kulcsok minden klasszikus rejtjelének billentyűterében.Ha valóban fel kell fedeznie a franciát vagy a kínait, akkor ugyanazt a stratégiát az adott országok szótáraival is megvalósíthatja.Amit nem értek, miért gondolja, hogy a tanáruk ezt tenné.Mintha a tanár szándékosan megpróbálná megakadályozni az embereket az angol elemzésben?
Steve Sether
2016-04-08 23:26:42 UTC
view on stackexchange narkive permalink

Ha van ötlete, mi az a tiszta szöveg, használhatja ezt a tudás-tippet, amikor feltörhette a titkosítást.

Ha úgy gondolja, hogy például a tiszta szöveg angol, akkor kezdjen el keresni angol szavakhoz a visszafejtési kísérlet során.

Ha úgy gondolja, hogy a cleartext egy zip fájl, akkor a zip fájlok aláírással rendelkeznek a fájl elején. Keresse meg ezt az aláírást.

Ha úgy gondolja, hogy a tiszta szöveg e-mail, keressen árulkodó e-mail fejléceket.

Általában megpróbálhatja megkeresni a visszafejtési kísérlet. Az egyszerű szövegnek általában alacsonyabb az információtartalma, mint a rejtjeles szövegnél, bár ez nem igaz egy egyszerű cézár-rejtjelre.

De el kell kezdenie néhány tintával, amit a tiszta szöveg tartalmazhat, még akkor is, ha (mint fent) ez csupán "alacsonyabb információs tartalmi pontszám, mint a rejtjelszöveg".

Kevin
2016-04-09 04:00:38 UTC
view on stackexchange narkive permalink

A többi válasz kiváló az általános esetre. Osztályfeladathoz gyanítom, hogy a professzorok nagyon könnyen meg akarják mondani, ha a fájlt visszafejtik.

Például azok a fájlok, amelyeket visszafejtenek, szöveges fájlok, amelyek üzenetet jelenítenek meg, amikor helyesen dekódoltad? Ha igen, akkor vehet szótárat az Ön nyelvén, és ellenőrizheti, hogy az üzenetben szereplő szavak nagy része szerepel-e a szótárban. Ha angolul használod, azt gondolnám, hogy az angol szótárban lévő szavak 50% -ának megfelelő küszöbértéket jó számként használni - a helytelenül visszafejtett fájl szinte teljesen zagyvaságot fog okozni, de nem akarod figyelmen kívül hagyni a helyes sima szöveget ha van néhány olyan szó, mint a tulajdonnevek vagy a szakzsargon, ezek nem véletlenül szerepelnek a szótárban.

Cricco95
2016-04-08 19:55:13 UTC
view on stackexchange narkive permalink

Ha a titkosított fájl szöveg, akkor ellenőriznie kell, hogy van-e értelme a fájl belsejében lévő mondatoknak, vagy sem, de ha fel kell fedeznie valamit, amely nem szó vagy kifejezés (pl. jelszó vagy véletlenszerű betűk), akkor meg kell próbálnia az összes különböző lehetőséget. Például van egy bejelentkezési jelszavam (véletlenszerű betűk), amelyeket Caesar titkosítással titkosítottam. Meg kell próbálnom a legrosszabb esetben mind a 26 lehetőséget (feltételezve, hogy kisbetűs nemzetközi ábécét használunk) annak ellenőrzésére, hogy a jelszó helyes-e.

Filip Haglund
2016-04-11 13:19:43 UTC
view on stackexchange narkive permalink

Számos fájlformátum egy mágikus számmal (bájtsorozattal) kezdődik, amelyet kereshet. A Wikipédiának van listája.

Felipe Pereira
2016-04-08 23:32:00 UTC
view on stackexchange narkive permalink

Más válaszok a legtöbb szempontra kiterjedtek, de egy másik szempont az, hogy ha hozzáfér a titkosított fájlokat létrehozó API-hoz, akkor titkosíthatja a saját ismeretes fájlját és nyersen kényszerítheti (itt van valami, amit összehasonlítani).

Amint megszerezte a kulcsot, használja a többi fájlnál

Nem vagyok a leszavazó, de a tervében hiányosságok vannak.A szöveget titkosító API vagy függvény a sima szöveg mellett valami shift értéket (császár titkosítás esetén) vagy jelszót vesz be bemenetként.A terv nagyszerű módja lenne a kód tesztelésének, de nem garantálja és nem bizonyítja, hogy valós adatokon futtatva a kimenet a visszafejtett szöveg.
@Freiheit köszönöm a visszajelzését, úgy gondolom, hogy igaza van abban az esetben, ha a váltási érték vagy a jelszó egyedi az egyes fájlokban, de ha megosztják, akkor a megközelítésem működhetne, hogy gyorsabban megtalálhassam a jelölt váltási értékeket (ebben az esetben a legegyszerűbb lehetőséget választom, egymegosztott váltás / jelszó)


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...