Hogyan védi a szoftvert a hackerek
Úgy döntöttem, hogy írok egy cikket arról, hogyan védjék szoftverek elleni hacker. Azt mondják egyszerre, ez gyakorlatilag lehetetlen, hogy egy ilyen védelem, amely ellenáll egy tapasztalt cracker. De akkor megpróbál létrehozni egy ilyen védelem, ami túl kemény a mintegy 90% -a betörők. Minden gondolatomat védelmére alapuló személyes megfigyelések, és nem tudják, hogy igaz legyen, de hasznos lehet szemben a legtöbb kezdő és haladó hackerek. Most megmondom, milyen eszközöket használ az átlag cracker:
Először is, a leginkább nélkülözhetetlen eszköz a debugger, hogy van egy program, amely lehetővé teszi, hogy nyomon követni a furcsa kódot a program él. E lista programok változnak egyszerű fejlett debug'a Soft-Ice'a.
Röviden, a mi feladatunk az, hogy bolond ezeket az eszközöket, és ami a legfontosabb, hogy megzavarja a támadó. És így teszünk, azt megy végig a listán, és elmagyarázza, hogyan kell megvédeni magukat ezek az alapok, és a betörés. Kezdjük a debugger. Tény, hogy sok a betörők nem szeretik VB, mert működik révén a könyvtárak, és természetesen a támadó lesz egy nagyon hosszú idő, hogy kitaláljuk, ahol a programkód, amely felhívja a könyvtári funkciók (ellenőriztük kísérlet). De ez történik, ha a program fordított P-kód, azaz a pszeudo-kódot. Ezért az első védelmi gyűrű legyen összeállításában pszeudokódokra. Ha úgy gondolja, hogy ez volt a vége, valami mélyen rossz. A világ egy hibakereső úgynevezett P-kód Loader, és ez lehetővé teszi, hogy kiszűrje a függvényhívásokról és mutassa közvetlenül a programkódot. Természetesen nem az egészet, de ha van, akkor nem érdemes túl sok a remény, hogy a támadó nem hajlandó megtörni. Ezért a P-kódot nem lehet a fő programozó arány. Természetesen az ál van, hogy készítsen egy csomó könyvtárak, de, ahogy mi mondjuk, az egészség drágább.
Néha programok különböző technikákat ellen hibakereső alapján ingatlan parancsok végrehajtására, mielőtt azok tényleges végrehajtását. Ez elméletileg lehetséges, hogy egy csapat, amely elküldi a debugger a pokolba, míg a processzor figyelmen kívül hagyja ezt a parancsot miatt átmenetek előrejelző rendszer. Nem tudom, hogyan kell csinálni, miért említem ezt csak azért, mert egyszer találkozott ezzel a technikával.
Részletezném API referencia, találtam egy csodálatos IsDebuggerPresent függvény, amely visszaadja igaz A, ha a rendszer egy olyan rendszer hibakereső típusú SofIce'a.
A funkció működik, kezdve NT és Win98:
Továbbá, bontói. A betörő szerszámok bontó büszke a helyére. Ritkán támadó tanulmányi program nélkül disassembler. Disassembler nemcsak tájékoztatást nyújt a program kódot, de azt is mutatja, a nevét a funkciók és karakterlánc-kifejezés, hogy használják a programot, és könnyű navigáció a funkció hívásokat és ugrik. Disassembler lehet csalni több szempontból is. Mivel az elején, hogy mit jelent, hogy megcsal? Megtéveszteni nem jelenti megmutatni az igazi disassembler kódot. Ez úgy érhető el a következő módon, a program csomag néhány csomagoló típusú aspack, UPX stb
Ebben az esetben a bontó tudja mutatni, kivéve, ha a borítás kódot, és semmi több. De vannak kicsomagolás, így mindig van a valószínűsége, hogy a támadó fogja találni a megfelelő elszívó, és ő lesz Könnyen kódot a program. Ennek megelőzésére nincs mód. Kivéve, hogy használjon több csomagolók, vagy egy egyéni, egy kevéssé ismert tömörítő. Ez komolyan akadályozza a támadók, de különösen makacs, hogy nem lesz képes megállítani (mert ez elméletileg lehetséges, hogy megtalálják azt a helyet, ahol a tömörítő továbbítja a program irányítási és töltsön egy kis manipuláció a kódot).
Állítsa egy időzítőt, amely ellenőrzi minden 10 percben jogot, hogy a felhasználó munkáját. És ha egy tiszta csekket (nincs szemét), akkor a támadó megfigyelni azt, és használja azt. Ezért ellenőrizze a felhasználó tartózkodási helyét a szemetet, hogy az ellenőrzés nem feltűnő. Mellesleg az azonos időzítő (vagy más kisebb időközönként) megmondja-e vagy sem a programot nyom, vagy sem.
A tény az, hogy közben a nyomkövetés program Windows megáll az idő (a rendszer időzítő le van tiltva), ami azt jelenti, hogy vegye figyelembe az időt, és ha ez nem mozdult 20 másodperc után, az azt jelenti, hogy vagy az alaplap repült, vagy a programot hack. By the way, akkor van értelme az adatok tárolására titkosított jegyzék vagy a fájl, hogy a támadó nem azonnal rájött, hol tartja őket. És persze nagyon hülye, hogy írják le valahol vonaltípusa regisztrált = 0, úgy gondolom, hogy még egy gyerek meg fogja érteni, hogy mit kell tennie. De lehetséges, hogy használni, mint egy fedél, azaz, ha a regisztrált = 1, meg tudjuk mutatni az üzenet típusát és formatnut a számítógépet (csak viccelek). De, sőt, az ötlet nem rossz.
Általában minden, mit fogok puff agy, számítják, hogy megzavarja a támadó.
De azok a virágok, most a bogyók.
Mint tudja, a jelszó ellenőrzése a legfontosabb a védelem, hiszen ő is, hogy ellenálljon a sokkok nehéztüzérség, és ezért meg kell védeni, mint a bank boltozat.
Először is, azt fogja magyarázni, hogyan kell egy támadó elkezdi hacker. Általában két lehetőség van, hogy elejétől indul, vagy a végén. Ez azt jelenti, hogy elkezdi felfedezni a programot a jelszót belépés vagy kezdődik a pillanatot, amikor a program megjelenít egy üzenetet az hibás jelszót. Mindkét módszernek vannak előnyei és hátrányai. Ha megy az elején, lehetőség van arra, hogy megtudja, mely tárolja a beírt nevet és jelszót, és mit csinálnak vele. De másfelől meg kell szűrni a sok szemetet találni valamit érdemes. Ha megy a végén, akkor van esélye, hogy a kódot a szülő oldal üzenetet vagy ha ez egy külön eljárás, hogy menjen a vizsgálati helyszín. De vannak olyan nehézségek, néha a program nem használja ki az üzenetet kijelző funkció, így nem lehet kifogni, vagy azt követően a show műsor nem kerül vissza az üzenetet, ahol hozta, és így is, nem tudom, hogy mi történt ott. A mi feladatunk az, hogy annak érdekében, hogy a támadó nem érti, ahol minden ellenőrzést és nem kémkedik neki. Mivel a legtöbb esetben a betörőket megy át az első, aztán megyünk át őket. Nem látok olyan módon, hogy olvassa el a felhasználónév és jelszó nélkül hív hmemcpy, ez alapfunkció a Windows, hogy hívják mindenhol engedélyünk nélkül, ezért itt van az az előnye, hogy a támadók. De ki mondta, hogy mindig ellenőrizze a jelszót azonnal a helyszínen. Azt mondhatjuk nyugodtan és írni az adatokat bárhol, majd a fenti időzítő, és ha megtekintjük, akkor hagyja a felesleges üzeneteket. Ha van bárhol 20 kattintással jelölje csendben békésen mi csúszott.
Kívánatos kód és a név és a jelszó néhány erős algoritmus, és ellenőrizze az eredményt. Sőt, azt kell ellenőrizni a levélben, váltakozó szemét, és a program típusa SmartCheck rekord, és ha nem elrejteni, akkor hiszem, ha ez megy. By the way, ha az eredmény nem megfelelő, akkor nem szabad káromkodni, nyugodtan folytathatja a munkát, mert a támadó lehet fogni ezt az üzenetet a program. És mint mondtam, használja a különböző funkciók egész.
Néha programok használata a CRC, azaz a szám egyedi minden program, amely meghatározza annak integritását. Ez bárhol tárolhatja és számolás újra minden alkalommal, és ha a számok nem egyeznek, vagy egy számítógépes vírus vagy hacker ásott a programkódot. Ha ásni érdemesebb kijutni. És még jobb, ha megy anélkül, hogy üzeneteket. Azt javaslom, hogy minden tartózkodjanak minden üzenetet a védelmét. És mindez azért, mert nem tud adni a támadó a legkisebb esélye, hogy elkapjon egy program valami mást. Funkciók üzenetek megjelenítéséhez nem olyan sok, és azok elég jól ismert, de a funkció, hogy használják, hogy kilépjen a program nem nagyon jól ismert, és van esély arra, hogy a támadó nem fogja megérteni, mit kell tennie.
Olvastam, mi van írva, és rájött, hogy nem magyarázza, hogy majd fogást a programot. Hadd magyarázzam meg. Programok nagyok, és a védelem nem is kicsi. Ezért, hogy ne forgassa a hegyek felett hiába, betörők használja töréspont. Azaz, a VB például megjelenít egy üzenetet a rtcMsgBox MsgBox függvény, a támadó meg tudja mondani a debugger (ha tudod), állítsa le a programot, ha ez okoz rtcMsgBox. És ha a program problémás, mert a hibás jelszót, akkor a támadó tudja indítani a kutatás sokkal közelebb áll a fontos helyet a védelem, mint amennyi szükséges. Ezért úgy vélem, hogy a legjobb, hogy nem ad egy támadó túl sok esélye bejutni a programba.
Gyakran betörők nem csak banális kell változtatni a kódot, és fedezze fel a létrehozását a jelszó algoritmust és írja be a sorozatszámot generátorok. Ezért szükséges, hogy megvédje a jól algoritmus. Célszerű használni néhány kriptográfiai erős RSA vagy MD5 típusú algoritmust. Az interneten megtalálható módon dolgozni velük. Továbbá, hogy megnehezítse, hogy létrehoz egy cracker, kívánatos, hogy megtörjék a jelszót több lépcsőben, osztható funkció szerint (lehetőleg dolgozik, hogy egyre okozott nemcsak amiatt, hogy a jelszót), és a szünetekben a hívások között ezeket a funkciókat, hogy ellenőrizze az kutatási programban. És azt is megjegyezni, hogy amikor a program keretében a debugger, akkor nem fut párhuzamosan számos dolog, hogy van, ha ellenőrzi a jelenlétét debugger, a támadó is észre lehet ki- és bekapcsolni. Ne hagyja, hogy bárki ezt a lehetőséget, kezelésére minden felhasználót potenciális támadó. Nos, ez minden, amit el akartam mondani
Írtam ezt a cikket több okból is:
- Meg akartam osztani az emberekkel tudásukat.
- Nem volt semmi köze.
- Belefáradtam néz ki, mint bárki, aki úgy érzi, terrorizálják a gyenge védelmet programozók, akik a védelmi rendszer 20 évvel ezelőtt, és én úgy döntöttünk mértékben jogkörét, hogy orvosolja a helyzetet.
- Azt vettem észre, hogy ha magyarázni valaki, valamit, akkor kezdjük megérteni magát jobban.
Nos, majd megtámadta a férfit. Ez nem egy verseny a legjobb tudás a téma. Ez nem egy Vanity Fair, hanem egy hely, ahol az ismeretek megosztása azokkal, akik számára ezek hasznosak. Ha tudja, hogy több - javítsa és kérdezzen.
Nem értek egyet - helyes. De miért sértés egymást. Te vagy minden ugyanaz, és nem programari traktor mindig versenyezni, aki hidegebb! És, hogy írjon megjegyzéseket a stílusa „Minden, amit a kecskék, én vagyok az egyik, mint az összes összerakni tudom” egy nagy elme nem szükséges. Sokkal nehezebb, hogy üljön le, és írjon!
Mielőtt cikkeket írt védekezni prog mi hol.
Idézem:
„Részletezném API referencia, találtam egy csodálatos IsDebuggerPresent függvény, amely visszaadja igaz A, ha a rendszer egy olyan rendszer hibakereső típusú SofIce'a” - .. Baromság, hogy ezen a szar ettől makroharda propatchina lehet néhány másodperccel a keret, és a több (.) ez a apishka nem tudja meghatározni a aktivitását Aisa.
ZY Azt tanácsolom, hogy komolyabban meg az ügyet, mielőtt mások tanítása.