Hátsó ajtó (számítástechnika) - Backdoor (computing)

A hátsó ajtó egy tipikusan rejtett módszer arra, hogy megkerülje a normál hitelesítést vagy titkosítást egy számítógépen , terméken, beágyazott eszközön (pl. Otthoni útválasztón ) vagy annak megvalósításán (pl. Egy titkosítási rendszer , algoritmus , lapkakészlet vagy akár "homunculus számítógép" része - egy apró számítógép a számítógépen belül, mint amilyen az Intel AMT technológiájában található ). A hátsó ajtókat leggyakrabban a számítógéphez való távoli hozzáférés biztosítására vagy a nyílt szöveghez való hozzáférésre használják a kriptográfiai rendszerekben . Innen lehet hozzáférni a privilegizált információkhoz, például jelszavakhoz, a merevlemezeken lévő adatok sérüléséhez vagy törléséhez, vagy az automatikus hálózatokon belüli adatok átviteléhez.

A hátsó ajtó lehet egy program rejtett része, egy külön program (pl. A Back Orifice felboríthatja a rendszert egy rootkit -en keresztül ), a hardver firmware -ben található kód vagy egy operációs rendszer, például a Windows . A trójai falovak segítségével biztonsági réseket lehet létrehozni egy eszközön. A trójai faló teljesen jogos programnak tűnhet, de végrehajtásakor olyan tevékenységet indít el, amely telepíthet egy hátsó ajtót. Bár néhány titokban van telepítve, más hátsó ajtók szándékosak és széles körben ismertek. Az ilyen típusú hátsó ajtóknak "törvényes" felhasználási területeik vannak, mint például a gyártó számára a felhasználói jelszavak visszaállításának módja.

Sok rendszer, amely információkat tárol a felhőben, nem hoz létre pontos biztonsági intézkedéseket. Ha sok rendszer csatlakozik a felhőhöz, a hackerek a legsebezhetőbb rendszeren keresztül hozzáférhetnek az összes többi platformhoz.

Az alapértelmezett jelszavak (vagy más alapértelmezett hitelesítő adatok) hátsó ajtóként működhetnek, ha a felhasználó nem változtatja meg őket. Egyes hibakeresési funkciók hátsó ajtóként is működhetnek, ha nem távolítják el őket a kiadási verzióból.

1993 -ban az Egyesült Államok kormánya megpróbált egy titkosítási rendszert, a Clipper chipet telepíteni , kifejezett hátsó kapuval a bűnüldözés és a nemzetbiztonsági hozzáférés érdekében. A chip sikertelen volt.

Áttekintés

A hátsó ajtók fenyegetése felmerült, amikor a többfelhasználós és hálózati operációs rendszereket széles körben elterjesztették. Petersen és Turn az 1967 -es AFIPS konferencia folyóiratában megjelent cikkében tárgyalt a számítógépes felforgatásról. Megjegyezték az aktív beszivárgási támadások egy osztályát, amelyek "csapóajtó" belépési pontokat használnak a rendszerbe, hogy megkerüljék a biztonsági létesítményeket, és lehetővé tegyék az adatokhoz való közvetlen hozzáférést. A csapóajtó szó használata itt egyértelműen egybeesik a hátsó ajtó újabb definícióival. A nyilvános kulcsú kriptográfia megjelenése óta azonban a csapóajtó kifejezés más jelentést kapott (lásd a csapóajtó funkciót ), és így a "hátsó ajtó" kifejezés mostantól előnyben részesül, csak miután a csapóajtó kifejezés megszűnt. Általánosságban elmondható, hogy az ilyen biztonsági jogsértésekről hosszasan beszéltek egy RAND Corporation munkacsoport jelentésében, amelyet JP Anderson és DJ Edwards ARPA támogatása alatt publikált 1970 -ben.

A bejelentkezési rendszerben lévő hátsó ajtó lehet egy kódolt felhasználó és jelszó kombináció, amely hozzáférést biztosít a rendszerhez. Az ilyen típusú hátsó kapu példáját ábrázolóeszközként használták a WarGames című 1983 -as filmben , amelyben a " WOPR " számítógépes rendszer építésze beillesztett egy kódolt jelszót, amely hozzáférést biztosított a felhasználóhoz a rendszerhez, és a dokumentum dokumentálatlan részeihez. rendszer (különösen egy videojáték-szerű szimulációs mód és közvetlen interakció a mesterséges intelligenciával ).

Noha a szabadalmazott szoftvereket (olyan szoftvereket, amelyek forráskódja nem nyilvánosan hozzáférhető) használó rendszerek hátsó kapuinak száma nem terjed ki széles körben, ennek ellenére gyakran vannak kitéve. A programozóknak még sikerült titokban nagy mennyiségű jóindulatú kódot is telepíteniük húsvéti tojásként a programokba, bár az ilyen esetek akár hivatalos engedelmességgel is járhatnak, ha nem is tényleges engedéllyel.

Politika és attribúció

A felelősség elosztásakor számos köpenyes és tőrös megfontolás jöhet szóba.

A rejtett hátsó ajtók néha hihetetlen hibák (hibák) formájában álcázzák magukat hihető tagadhatóság miatt . Bizonyos esetekben ezek tényleges hibaként (véletlen hiba) kezdhetik az életet, amelyet felfedezésük után szándékosan rögzítenek és nyilvánosságra nem hoznak, akár egy szélhámos alkalmazott személyes előnyért, akár C-szintű vezetői tudatosság és felügyelet mellett.

Lehetséges az is, hogy egy teljesen feletti vállalat technológiai bázisát külső ügynökök (hackerek) burkoltan és nyomon követhetetlenül megfertőzzék, bár ez a kifinomultsági szint főleg a nemzetállami szereplők szintjén létezik. Például, ha egy fotomaszk- szállítótól beszerzett fotomaszk néhány kapuban eltér a fotómaszk specifikációjától, a chipgyártó nehezen tudja ezt észlelni, ha egyébként funkcionálisan csendes; a fotómaszk -marató berendezésben futó rejtett gyökérkészlet ezt az eltérést a fotomaszk -gyártó számára ismeretlen módon is érvényesítheti, és ilyen módon az egyik hátsó ajtó potenciálisan a másikhoz vezet. (Ez a hipotetikus forgatókönyv lényegében a felismerhetetlen fordítóhátsó szilícium változata, amelyet az alábbiakban tárgyalunk.)

Általánosságban elmondható, hogy a modern, magasan specializált technológiai gazdaság hosszú függőségi lánca és a számtalan emberi elemből álló folyamatellenőrzési pont megnehezíti a felelősség végleges meghatározását, amikor egy rejtett hátsó ajtó lelepleződik.

Még a közvetlen felelősségvállalást is alaposan meg kell vizsgálni, ha a gyóntató fél más erőteljes érdekeket lát.

Példák

Féregek

Sok számítógépes férgek , mint a Sobig és Mydoom , telepítsen egy backdoor az érintett számítógépen (általában egy PC a szélessávú futtató Microsoft Windows és a Microsoft Outlook ). Ilyen backdoor tűnik, hogy kell felszerelni, hogy a spammerek küldhet kéretlen e-mail a fertőzött gépeket. Mások, mint például a Sony/BMG rootkit , amelyeket 2005 végéig titokban milliónyi zenei CD-n helyeztek el, DRM- intézkedéseknek szánták, és ebben az esetben adatgyűjtő ügynökként , mivel mindkét általuk telepített rejtett program rutinszerűen kapcsolatba lépett a központi szerverekkel.

A 2003 novemberében leleplezett kifinomult kísérlet egy hátsó ajtó telepítésére a Linux kernelbe egy apró és finom kódváltozást hozott létre a revízióvezérlő rendszer felforgatásával . Ebben az esetben egy kétsoros változást jelent, hogy ellenőrizze root hozzáférést jogosítványait a hívó fél a sys_wait4funkció, hanem azért, mert használják hozzárendelése =helyett egyenlőség ellenőrzés ==, valójában nyújtott engedélyeket a rendszer. Ez a különbség könnyen figyelmen kívül hagyható, és akár véletlen tipográfiai hibaként is értelmezhető, nem pedig szándékos támadásként.

Sárgával megjelölve: a hátsó ajtó adminisztrátori jelszava rejtve a kódban

2014 januárjában egy hátsó ajtót fedeztek fel bizonyos Samsung Android -termékekben, például a Galaxy eszközökben. A Samsung szabadalmaztatott Android verziói hátsó ajtóval vannak felszerelve, amely távoli hozzáférést biztosít az eszközön tárolt adatokhoz. Különösen a Samsung Android szoftver, amely felelős a modemmel folytatott kommunikáció kezeléséért, a Samsung IPC protokoll használatával, végrehajtja a távoli fájlszerver (RFS) parancsokként ismert kérések egy osztályát, amely lehetővé teszi a hátsó ajtó kezelőjének, hogy a modem távvezérlőjén keresztül végezzen I/O műveletek az eszköz merevlemezén vagy más tárolóhelyen. Mivel a modemen a Samsung szabadalmaztatott Android szoftvere fut, valószínűsíthető, hogy felajánlja a levegőn keresztüli távirányítót, amely azután használható az RFS parancsok kiadására, és ezáltal az eszköz fájlrendszerének elérésére.

Hátsó kapuk objektumkódja

A hátsó ajtók nehezebben észlelhetők a forráskód helyett az objektumkód módosításával-az objektumkód sokkal nehezebben ellenőrizhető, mivel géppel olvasható, nem pedig ember által olvasható. Ezeket a hátsó ajtókat vagy közvetlenül be lehet illeszteni a lemezes objektumkódba, vagy be lehet illeszteni a fordítás, összeszerelés összekapcsolása vagy betöltése során-ez utóbbi esetben a hátsó ajtó soha nem jelenik meg a lemezen, csak a memóriában. Az objektumkód -hátsó ajtókat nehéz felismerni az objektumkód ellenőrzésével, de könnyen észlelhetők, ha egyszerűen megvizsgálják a változásokat (különbségeket), különösen a hosszban vagy az ellenőrző összegben, és bizonyos esetekben az objektumkód szétszerelésével észlelhetők vagy elemezhetők. Ezenkívül az objektumkód -hátsó ajtók eltávolíthatók (feltéve, hogy a forráskód rendelkezésre áll), ha egyszerűen újrafordítják a forrásból egy megbízható rendszeren.

Így ahhoz, hogy az ilyen hátsó ajtók elkerüljék az észlelést, a bináris fájl összes meglévő példányát fel kell fordítani, és az érvényesítési ellenőrző összegeket is veszélyeztetni kell, és a forrásnak elérhetetlennek kell lennie az újrafordítás megakadályozása érdekében. Alternatív megoldásként ezek az egyéb eszközök (hosszúságellenőrzések, diff, ellenőrző összegzés, szétszerelők) maguk is veszélybe kerülhetnek, hogy elrejtsék a hátsó ajtót, például észlelve, hogy a felforgatott bináris bináris ellenőrző összeg van, és visszaadja a várt értéket, nem pedig a tényleges értéket. Ezen további felforgatások elrejtéséhez az eszközöknek magukban is el kell rejteniük a változásokat - például egy felforgatott ellenőrzőösszegnek azt is észlelnie kell, hogy ellenőrzőösszeg -e (vagy más felforgatott eszközöknek), és hamis értékeket kell visszaadnia. Ez ahhoz vezet, hogy a rendszerben és az eszközökben jelentős változtatásokra van szükség ahhoz, hogy egyetlen változást elrejtsenek.

Mivel az objektumkód újragenerálható az eredeti forráskód újrafordításával (újratelepítésével, újbóli összekapcsolásával), a tartós objektumkód hátsó kapu elkészítéséhez (a forráskód módosítása nélkül) magának a fordítónak a felforgatása szükséges , hogy amikor észleli, hogy a támadott programot fordítja, beteszi a hátsó ajtót - vagy az összeszerelőt, összekötőt vagy rakodót. Mivel ehhez szükség van a fordító felforgatására, ez a fordító újrafordításával, a hátsó ajtó beillesztési kódjának eltávolításával javítható. Ez a védelem viszont felforgatható, ha egy forrás meta-hátsó ajtót helyez a fordítóba, így amikor észleli, hogy önmagát fordítja, beilleszti ezt a meta-hátsó ajtó generátort, valamint az eredeti program eredeti hátsó ajtógenerátorát a támadás alá. Miután ez megtörtént, a forrás meta-hátsó ajtó eltávolítható, és a fordító újrafordította az eredeti forrásból a veszélyeztetett fordítófuttatható fájlt: a hátsó ajtót rendszerindítással rögzítették. Ez a támadás Karger & Schell -hez (1974) vezethető vissza , és Thompson 1984 -es cikkében, "Reflections on Trusting Trust" címmel népszerűsítette; ezért köznyelven "Trusting Trust" támadásnak nevezik. A részletekért lásd a fordító hátsó kapuit . Analóg támadások célozhat alacsonyabb a rendszer, mint például az operációs rendszer, és lehet beilleszteni során a rendszer indítás folyamata; ezeket Karger & Schell (1974) is említi , és ma már boot szektor vírusok formájában léteznek .

Aszimmetrikus hátsó ajtók

A hagyományos hátsó ajtó szimmetrikus hátsó ajtó: bárki, aki megtalálja a hátsó ajtót, használhatja azt. Az aszimmetrikus hátsó ajtó fogalmát Adam Young és Moti Yung vezették be a Proceedings of Advances in Cryptology: Crypto '96 című könyvben . Aszimmetrikus backdoor csak akkor használható a támadó, aki a növények, még ha a teljes körű végrehajtása a hátsóajtó nyilvánossá válik (pl via kiadói, felderítése, és nyilvánosságra hozza a reverse engineering , stb.) Ezenkívül számításilag bonyolult az aszimmetrikus hátsó ajtó jelenlétének észlelése a fekete dobozos lekérdezések alatt. A támadások ezen osztályát kleptográfiának nevezték ; végrehajthatók szoftverekben, hardverekben (például intelligens kártyák ) vagy a kettő kombinációjában. Az aszimmetrikus hátsó ajtók elmélete egy nagyobb terület része, amelyet ma kriptovirológiának neveznek . Nevezetesen, az NSA kleptográfiai hátsó ajtót illesztett be a Dual EC DRBG szabványba.

Létezik egy kísérleti aszimmetrikus hátsó ajtó az RSA kulcsgenerációban. Ez az OpenSSL RSA hátsó ajtó, amelyet Young és Yung tervezett, sodrott elliptikus görbéket használ, és elérhetővé vált.

Fordító hátsó ajtók

A fekete doboz hátsó ajtajának kifinomult formája a fordító hátsó ajtója , ahol nemcsak a fordítót kell felforgatni (egy hátsó ajtó beszúrására más programba, például egy bejelentkezési programba), hanem tovább módosítják annak észlelésére, hogy mikor fordítja össze magát, majd beszúrja a hátsó ajtó beillesztési kódját (a másik programot célozva) és a kódmódosító önösszeállítást, mint például azt a mechanizmust, amellyel a retrovírusok megfertőzik a gazdájukat. Ezt a forráskód módosításával lehet megtenni, és az így létrejövő feltört fordító (objektumkód) lefordíthatja az eredeti (módosítatlan) forráskódot, és beillesztheti magát: a exploit rendszerindító volt.

Ezt a támadást eredetileg a Karger & Schell (1974 , 52. o., 3.4.5. Szakasz: "Trap Door Insertion") mutatta be , amely az Egyesült Államok légierőjének biztonsági elemzése volt a multiknál , ahol leírtak egy ilyen támadást egy PL/ azt fordító, és ez egy „fordító csapóajtó”; megemlítenek egy olyan változatot is, ahol a rendszer inicializáló kódját úgy módosítják, hogy a rendszerindítás során egy hátsó ajtót illesszen be , mivel ez bonyolult és rosszul érthető, és "inicializáló csapóajtónak" nevezik; ezt ma rendszerindító szektor vírusnak nevezik .

Ezt a támadást Ken Thompson valósította meg és népszerűsítette 1983 -ban, a Turing -díj elfogadó beszédében (megjelent 1984 -ben), "Reflections on Trusting Trust", amely rámutat arra, hogy a bizalom relatív, és az egyetlen olyan szoftver, amelyben igazán bízni lehet, a kód ahol a bootstrapping minden lépését megvizsgálták. Ez a hátsó ajtómechanizmus azon a tényen alapul, hogy az emberek csak a forráskódot (az ember által írt) vizsgálják felül, és nem a lefordított gépi kódot ( objektumkód ). Egy fordítónak nevezett program segítségével készítik el a másodikat az elsőből, és a fordító rendszerint megbízható, hogy becsületes munkát végezzen.

Thompson tanulmánya a Unix C fordító módosított változatát írja le , amely:

  • Tegyen egy láthatatlan hátsó ajtót a Unix bejelentkezési parancsba, amikor észrevette, hogy a bejelentkezési program fordítás alatt áll, és csavarásként
  • Ezt a funkciót észrevétlenül adja hozzá a későbbi fordítói verziókhoz is azok összeállításakor.

Mivel a fordító maga egy fordított program volt, a felhasználók rendkívül valószínűtlenek, hogy észrevegyék azokat a gépi kód utasításokat, amelyek ezeket a feladatokat végrehajtották. (A második feladat miatt a fordító forráskódja „tiszta” -nak tűnik.) Ami még rosszabb, a Thompson -féle koncepció -megvalósítási bizonyítékban a felforgatott fordító az elemző programot (a szétszedőt ) is felforgatta , így bárki, aki megvizsgálta a a szokásos módon valójában nem a futó valódi kódot látná, hanem valami mást.

Az eredeti kihasználás frissített elemzése a Karger & Schell című könyvben található (2002 , 3.2.4. Szakasz: Fordítócsapda -ajtók), a szakirodalom történelmi áttekintése és áttekintése pedig a Wheeler -ben (2009 , 2. szakasz: Háttér és kapcsolódó munka ). .

Előfordulások

Thompson verzióját hivatalosan soha nem engedték szabadon. Úgy gondolják azonban, hogy a BBN -nek egy verziót terjesztettek, és rögzítették a hátsó ajtó legalább egy használatát. A következő években szórványos anekdotikus jelentések vannak az ilyen hátsó kapukról.

2009 augusztusában egy ilyen támadást fedeztek fel a Sophos laboratóriumai. A W32/Induc-A vírus megfertőzte a Delphi programfordítóját , egy Windows programozási nyelvet. A vírus saját kódját vezette be az új Delphi programok összeállításához, lehetővé téve, hogy a szoftverprogramozó tudta nélkül megfertőzze és számos rendszerre terjedjen. Különösen nehéz lehet felfedezni egy támadást, amely saját trójai faló építésével terjed . Úgy gondolják, hogy az Induc-A vírus legalább egy évig terjedt, mielőtt felfedezték.

Ellenintézkedések

Ha egy rendszer veszélybe került egy hátsó ajtóval vagy trójai faloval, például a Trusting Trust fordítóval, a "jogos" felhasználónak nagyon nehéz visszanyerni a rendszer irányítását - általában egy tiszta rendszert kell újjáépíteni és adatokat továbbítani (de nem végrehajtható fájlok) vége. A Trusting Trust rendszerben azonban számos gyakorlati gyengeséget javasoltak. Például egy kellően motivált felhasználó alaposan áttekintheti a nem megbízható fordítógép kódját, mielőtt azt használná. Amint fentebb említettük, vannak módok a trójai ló elrejtésére, például felforgatják a szétszedőt; de ennek a védekezésnek is vannak módjai, például a saját szétszerelőjének írása a semmiből.

A megbízható bizalmi támadások elleni általános módszert Diverzális kettős fordításnak (DDC) nevezik. A módszerhez más fordítóra és a tesztelés alatt álló fordító forráskódjára van szükség. Ez a forrás, amelyet mindkét fordítóval összeállítottak, két különböző, első fázisú fordítót eredményez, amelyeknek azonban ugyanazt kell viselniük. Így ugyanazon forrásnak, amelyet mindkét 1. fordító fordítójával összeállítottak, két azonos 2. szakaszú fordítót kell eredményeznie. Formális bizonyíték van arra, hogy az utóbbi összehasonlítás garantálja, hogy bizonyos feltételezések mellett a feltételezett forráskód és a tesztelő fordítóprogram végrehajtható fájlja megfelel. Szerzője ezt a módszert alkalmazta annak ellenőrzésére, hogy a GCC csomag C fordítója (3.0.4. Verzió ) nem tartalmaz -e trójai programot, az icc -t (11.0. V.) Használva különböző fordítóként.

A gyakorlatban a végfelhasználók nem végeznek ilyen ellenőrzéseket, kivéve a behatolás észlelésének és elemzésének extrém körülményeit, az ilyen kifinomult támadások ritkasága miatt, és mivel a programokat általában bináris formában terjesztik. A hátsó ajtók eltávolítása (beleértve a fordító hátsó ajtókat is) általában egy tiszta rendszer újjáépítésével történik. A kifinomult ellenőrzések azonban érdekesek az operációs rendszer gyártói számára annak biztosítása érdekében, hogy ne terjesszenek veszélyeztetett rendszert, és a magas biztonsági beállításokban, ahol az ilyen támadások reális aggodalomra adnak okot.

Az ismert hátsó kapuk listája

  • A Back Orifice -t 1998 -ban a Cult of the Dead Cow csoport hackerei hozták létre távoli adminisztrációs eszközként. Lehetővé tette a Windows számítógépek távoli vezérlését hálózaton keresztül, és parodizálta a Microsoft BackOffice nevét .
  • A Dual EC DRBG kriptográfiailag biztonságos véletlenszám -generátorról 2013 -ban derült ki, hogy valószínűleg egy kleptográfiai hátsó ajtót szándékosan tett be az NSA, aki a hátsó ajtó privát kulcsát is birtokolta .
  • 2014 márciusában számos hátsó ajtót fedeztek fel a WordPress beépülő modulok engedély nélküli példányaiban . Ezeket zavaros JavaScript- kódként illesztették be, és csendben létrehoztak például egy adminisztrátori fiókot a webhely adatbázisában. Hasonló séma később a Joomla bővítményben is látható volt.
  • A Borland Interbase 4.0-tól 6.0-ig terjedő verziója kemény kódolású hátsó ajtóval rendelkezett, amelyet a fejlesztők helyeztek el. A szerver kód tartalmaz egy összeállított hátsó ajtófiókot (felhasználónév: politikailag , jelszó: helyes ), amely hálózati kapcsolaton keresztül érhető el; ezzel a hátsóajtó -fiókkal bejelentkező felhasználó teljes mértékben átveheti az összes Interbase adatbázis felett az irányítást. A hátsó ajtót 2001 -ben észlelték és javítást adtak ki.
  • A Juniper Networks hátsó ajtót 2008 -ban illesztették be a ScreenOS firmware 6.2.0r15 - 6.2.0r18 és 6.3.0r12 - 6.3.0r20 változataiba, amelyek minden adminisztrátori hozzáférést biztosítanak egy speciális mesterjelszó használatakor.
  • Számos hátsó ajtót fedeztek fel a C-DATA Optical Line Termination (OLT) eszközökben. A kutatók a C-DATA értesítése nélkül tették közzé az eredményeket, mert úgy vélik, hogy a hátsó ajtókat szándékosan helyezte el az eladó.

Lásd még

Hivatkozások

További irodalom

Külső linkek