Zpětné inženýrství - Reverse engineering

Reverzní inženýrství (také známé jako zpětné inženýrství nebo zpětné inženýrství ) je proces nebo metoda, jejíž aplikací se člověk snaží pomocí deduktivního uvažování pochopit, jak zařízení, proces, systém nebo kus softwaru splní úkol s velmi malým počtem (pokud vůbec nějakým) ) přehled o tom, jak to přesně dělá.

Reverzní inženýrství je použitelné v oblastech počítačového inženýrství , strojírenství , designu , elektronického inženýrství , softwarového inženýrství , chemického inženýrství a systémové biologie .

Přehled

Existuje mnoho důvodů pro provádění reverzního inženýrství v různých oblastech. Reverzní inženýrství má svůj původ v analýze hardwaru pro komerční nebo vojenské výhody. Proces reverzního inženýrství jako takový se však netýká vytváření kopie nebo nějakým způsobem mění artefakt. Jedná se pouze o analýzu k odvodit designových prvků, z výrobků s malou nebo žádnou další znalosti o postupech se podílejí na jejich původní produkci.

V některých případech může být cílem procesu zpětného inženýrství jednoduše opětovná dokumentace starších systémů . I když je produktem s reverzním inženýrstvím produkt konkurence, nemusí být cílem jej zkopírovat, ale provést analýzu konkurence . Reverzní inženýrství lze také použít k vytváření interoperabilních produktů a navzdory některým úzce přizpůsobeným právním předpisům Spojených států a Evropské unie je legalita používání specifických technik reverzního inženýrství k tomuto účelu u soudů po celém světě velmi sporná již více než dvě desetiletí.

Softwarové reverzní inženýrství může pomoci zlepšit porozumění základnímu zdrojovému kódu pro údržbu a zlepšování softwaru, relevantní informace lze extrahovat při rozhodování o vývoji softwaru a grafické znázornění kódu může poskytovat alternativní pohledy na zdrojový kód, což může pomoci odhalit a opravit softwarovou chybu nebo chybu zabezpečení. Jak se některý software vyvíjí, často se časem ztratí informace o jeho designu a vylepšení, ale tyto ztracené informace lze obvykle obnovit pomocí reverzního inženýrství. Tento proces může také pomoci zkrátit čas potřebný k pochopení zdrojového kódu, a tím snížit celkové náklady na vývoj softwaru. Reverzní inženýrství může také pomoci detekovat a eliminovat škodlivý kód zapsaný do softwaru pomocí lepších detektorů kódu. Obrácení zdrojového kódu lze použít k nalezení alternativního použití zdrojového kódu, jako je detekce neoprávněné replikace zdrojového kódu tam, kde nebylo zamýšleno jeho použití, nebo odhalení toho, jak byl vytvořen produkt konkurence. Tento proces se běžně používá k „prolomení“ softwaru a médií k odstranění jejich ochrany proti kopírování nebo k vytvoření případně vylepšené kopie nebo dokonce knockoutu , což je obvykle cílem konkurenta nebo hackera.

Vývojáři malwaru často používají techniky reverzního inženýrství k nalezení zranitelností v operačním systému k vytvoření počítačového viru, který dokáže zneužít chyby systému. Reverzní inženýrství se také používá v kryptanalýze k nalezení zranitelností v substituční šifře , algoritmu symetrických klíčů nebo kryptografii veřejného klíče .

Pro reverzní inženýrství existují další použití:

  • Rozhraní . Reverzní inženýrství lze použít v případě, že je po systému požadováno propojení s jiným systémem a má být stanoveno, jak budou oba systémy vyjednávat. Takové požadavky obvykle existují pro interoperabilitu .
  • Vojenská nebo obchodní špionáž . Dozvědět se o nejnovějším výzkumu nepřítele nebo konkurenta krádeží nebo zajetím prototypu a jeho rozebráním může vést k vývoji podobného produktu nebo lepšího protiopatření proti němu.
  • Zastaralost . Integrované obvody jsou často navrženy na proprietárních systémech a postaveny na výrobních linkách, které zastarají během několika málo let. Když systémy využívající tyto části již nelze udržovat, protože součásti se již nevyrábějí, je jediným způsobem, jak začlenit funkčnost do nové technologie, provést zpětnou analýzu stávajícího čipu a poté jej přepracovat pomocí novějších nástrojů s využitím porozumění získaného jako průvodce. Dalším problémem způsobeným zastaráváním, který lze vyřešit reverzním inženýrstvím, je potřeba podpory (údržba a zásobování pro nepřetržitý provoz) stávajících starších zařízení, která již jejich původní výrobce zařízení nepodporuje . Problém je zvláště kritický ve vojenských operacích.
  • Analýza bezpečnosti produktu . To zkoumá, jak produkt funguje stanovením specifikací jeho součástí a odhadem nákladů a identifikuje potenciální porušení patentu . Součástí analýzy bezpečnosti produktu je také získávání citlivých dat rozebráním a analýzou návrhu součásti systému. Dalším záměrem může být odstranění ochrany proti kopírování nebo obcházení omezení přístupu.
  • Konkurenční technická inteligence . To znamená porozumět tomu, co vlastně dělá jeho konkurent, než tomu, co říká, že to dělá.
  • Úspora peněz . Zjištění, co kus elektroniky dokáže, může uživatele ušetřit od nákupu samostatného produktu.
  • Opětovné použití . Zastaralé objekty jsou poté znovu použity jiným, ale užitečným způsobem.
  • Design . Výrobní a konstrukční společnosti aplikovaly reverzní inženýrství na praktický výrobní proces založený na řemeslech. Společnosti mohou pracovat na „historických“ výrobních kolekcích prostřednictvím 3D skenování, 3D re-modelování a re-designu. V roce 2013 italští výrobci Baldi a Savio Firmino společně s Florentskou univerzitou optimalizovali své inovační, designové a výrobní procesy.

Běžné situace

Stroje

Jak se počítačem podporovaný design (CAD) stal populárnějším, reverzní inženýrství se stalo životaschopnou metodou k vytvoření 3D virtuálního modelu stávající fyzické části pro použití v 3D CAD, CAM , CAE nebo jiném softwaru. Proces reverzního inženýrství zahrnuje měření objektu a jeho rekonstrukci jako 3D model. Fyzický objekt lze měřit pomocí 3D skenovacích technologií, jako jsou CMM , laserové skenery , digitalizátory strukturovaného světla nebo průmyslové CT skenování (počítačová tomografie). Samotná naměřená data, obvykle reprezentovaná jako mračno bodů , postrádají topologické informace a záměr návrhu. První z nich lze obnovit převedením mračna bodů na síť trojúhelníkového tvaru. Reverzní inženýrství si klade za cíl jít nad rámec výroby takové sítě a obnovit záměr návrhu, pokud jde o jednoduché analytické povrchy, kde je to vhodné (roviny, válce, atd.), Jakož i případně povrchy NURBS k vytvoření modelu CAD s hraničním zobrazením. Obnovení takového modelu umožňuje úpravu návrhu tak, aby splňoval nové požadavky, generování výrobního plánu atd.

Hybridní modelování je běžně používaný termín, když jsou NURBS a parametrické modelování implementovány společně. Použití kombinace geometrických a volných ploch může poskytnout účinnou metodu 3D modelování. Oblasti dat volného tvaru lze kombinovat s přesnými geometrickými povrchy a vytvořit hybridní model. Typickým příkladem by bylo reverzní inženýrství hlavy válců, které zahrnuje vlastnosti litého odlitku, jako jsou vodní pláště a obráběné oblasti s vysokou tolerancí.

Reverzní inženýrství podniky také používají k přenesení stávající fyzické geometrie do prostředí vývoje digitálních produktů, k pořizování digitálních 3D záznamů vlastních produktů nebo k hodnocení produktů konkurence. Používá se k analýze toho, jak produkt funguje, co dělá, jaké má součásti; odhad nákladů; identifikovat potenciální porušení patentu ; atd.

Hodnotové inženýrství , související činnost, kterou využívají také podniky, zahrnuje dekonstrukci a analýzu produktů. Cílem je však najít příležitosti pro snížení nákladů.

Software

V roce 1990 Institut elektrotechnických a elektronických inženýrů (IEEE) definoval (softwarové) reverzní inženýrství (SRE) jako „proces analýzy předmětného systému za účelem identifikace součástí systému a jejich vzájemných vztahů a vytvoření reprezentací systému v jiné formě nebo na vyšší úrovni abstrakce “, ve které je„ předmětový systém “konečným produktem vývoje softwaru. Zpětné inženýrství je pouze proces zkoumání a uvažovaný softwarový systém se nemění, což by jinak bylo přepracování nebo restrukturalizace. Reverzní inženýrství lze provádět z jakékoli fáze produktového cyklu, ne nutně z funkčního konečného produktu.

V reverzním inženýrství existují dvě složky: redocumentace a obnova návrhu. Redocumentation je vytvoření nové reprezentace počítačového kódu, aby bylo snáze pochopitelné. Mezitím obnova návrhu je použití dedukce nebo zdůvodnění na základě obecných znalostí nebo osobních zkušeností s produktem k úplnému porozumění funkčnosti produktu. Lze jej také vnímat jako „návrat zpět vývojovým cyklem“. V tomto modelu je výstup implementační fáze (ve formě zdrojového kódu) zpětně zpracován zpět do fáze analýzy, v inverzi tradičního modelu vodopádu . Dalším pojmem pro tuto techniku ​​je porozumění programu . Pracovní konference o reverzním inženýrství (WCRE) se koná každoročně s cílem prozkoumat a rozšířit techniky reverzního inženýrství. Počítačové softwarové inženýrství (CASE) a automatizované generování kódu významně přispěly v oblasti reverzního inženýrství.

Softwarová technologie zabraňující neoprávněnému zásahu, jako je zmatení, se používá k zabránění jak zpětnému inženýrství, tak přepracování proprietárního softwaru a systémů poháněných softwarem. V praxi se objevují dva hlavní typy reverzního inženýrství. V prvním případě je pro software již k dispozici zdrojový kód, ale objevují se aspekty programu na vyšší úrovni, které jsou možná špatně zdokumentovány nebo zdokumentovány, ale již nejsou platné. V druhém případě není pro software k dispozici žádný zdrojový kód a veškeré snahy o nalezení jednoho možného zdrojového kódu pro software jsou považovány za reverzní inženýrství. Druhé použití termínu je většině lidí známější. Reverzní inženýrství softwaru může využívat techniku návrhu čistého prostoru, aby se zabránilo porušování autorských práv.

Na druhou stranu, testování černé skříňky v softwarovém inženýrství má mnoho společného s reverzním inženýrstvím. Tester má obvykle API, ale má za cíl najít chyby a nezdokumentované funkce tím, že nainstaluje produkt zvenčí.

Mezi další účely reverzního inženýrství patří bezpečnostní audit, odstranění ochrany proti kopírování („ praskání “), obcházení přístupových omezení, která se často vyskytují ve spotřební elektronice , přizpůsobení vestavěných systémů (například systémů pro správu motorů), vlastní opravy nebo dovybavení umožňující další funkce na levném „zmrzačeném“ hardwaru (například u některých čipových sad grafických karet), nebo dokonce pouhé uspokojení zvědavosti.

Binární software

Binární reverzní inženýrství se provádí, pokud není k dispozici zdrojový kód pro software. Tento proces se někdy označuje jako reverzní kódové inženýrství nebo RCE. Dekompilaci binárních souborů pro platformu Java lze například provést pomocí Jad. Jedním slavným případem reverzního inženýrství byla první implementace systému BIOS pro PC od jiného výrobce než IBM , která spustila historický průmysl kompatibilní s IBM PC , který byl po mnoho let drtivou většinou dominantní platformou počítačového hardwaru . Reverzní inženýrství softwaru je v USA chráněno výjimkou fair use z autorského zákona . Software Samba , který umožňuje systémy, které nejsou spuštěny Microsoft Windows systémy ke sdílení souborů se systémy, které ji provozují, je klasickým příkladem softwarového reverzního inženýrství od Samba projekt měl ke zpětné analýze nepublikované informace o tom, jak Windows sdílení souborů pracovalo, takže počítače jiné než Windows by jej mohly emulovat. Projekt Wine dělá totéž pro Windows API a OpenOffice.org je jedna strana, která to dělá pro formáty souborů Microsoft Office . Projekt ReactOS je ve svých cílech ještě ambicióznější tím, že usiluje o zajištění binární kompatibility (ABI a API) se současnými operačními systémy Windows větve NT, což umožňuje softwaru a ovladačům napsaným pro Windows běžet na reverzním inženýrství v čisté místnosti protějšek svobodného softwaru ( GPL ). WindowsSCOPE umožňuje zpětné inženýrství celého obsahu živé paměti systému Windows, včetně binárního grafického zpětného inženýrství všech běžících procesů.

Další klasický, ne-li dobře známý příklad, je ten, že v roce 1987 Bell Laboratories reverzně zkonstruoval Mac OS System 4.1, původně běžící na Apple Macintosh SE , aby jej mohl provozovat na vlastních počítačích RISC.

Binární softwarové techniky

Reverzní inženýrství softwaru lze dosáhnout různými metodami. Tři hlavní skupiny softwarového reverzního inženýrství jsou

  1. Analýza prostřednictvím pozorování výměny informací, nejrozšířenější v reverzním inženýrství protokolu, která zahrnuje použití analyzátorů sběrnic a čichačů paketů , například pro přístup k počítačové sběrnici nebo připojení k počítačové síti a odhalení dat o provozu na nich. Chování sběrnice nebo sítě lze poté analyzovat a vytvořit samostatnou implementaci, která toto chování napodobuje. To je zvláště užitečné pro ovladače zařízení pro reverzní inženýrství . Někdy reverznímu inženýrství na vestavěných systémech výrazně pomáhají nástroje záměrně zavedené výrobcem, například porty JTAG nebo jiné ladicí prostředky. V systému Microsoft Windows jsou oblíbené debuggery nízké úrovně, jako je SoftICE .
  2. Demontáž pomocí disassembleru , což znamená, že surový strojový jazyk programu je přečten a pochopen jeho vlastními pojmy, pouze pomocí mnemotechniky strojového jazyka . Funguje na libovolném počítačovém programu, ale může to nějakou dobu trvat, zvláště těm, kteří nejsou zvyklí na strojový kód. Interactive Disassembler je zvláště populární nástroj.
  3. Dekompilace pomocí dekompilace , což je proces, který se s různými výsledky pokouší znovu vytvořit zdrojový kód v některém jazyce na vysoké úrovni pro program dostupný pouze ve strojovém kódu nebo bytecode .

Softwarová klasifikace

Softwarová klasifikace je proces identifikace podobností mezi různými binárkami softwaru (například dvěma různými verzemi stejného binárního souboru), který se používá ke zjišťování relací kódu mezi vzorky softwaru. Úkol byl tradičně prováděn ručně z několika důvodů (jako je například opravná analýza pro detekci zranitelnosti a porušení autorských práv ), ale nyní jej lze provést poněkud automaticky pro velký počet vzorků.

Tato metoda se používá hlavně pro dlouhé a důkladné úlohy reverzního inženýrství (kompletní analýza složitého algoritmu nebo velkého kusu softwaru). Statistická klasifikace je obecně považována za obtížný problém, což platí i pro softwarovou klasifikaci, a tak málo řešení/nástrojů, které tento úkol zvládají dobře.

Zdrojový kód

Řada nástrojů UML označuje proces importu a analýzy zdrojového kódu za účelem generování diagramů UML jako „reverzní inženýrství“. Viz Seznam nástrojů UML .

Ačkoli je UML jedním z přístupů při poskytování „reverzního inženýrství“, novější pokroky v aktivitách mezinárodních standardů vedly k vývoji Metamodel (KDM) Knowledge Discovery . Standard přináší ontologii pro zprostředkovanou (nebo abstrahovanou) reprezentaci konstruktů programovacího jazyka a jejich vzájemných vztahů. Object Management Group standard (na jeho cestě k stávat standardem ISO stejně), KDM začala vzít držení v průmyslu s vývojem nástrojů a prostředí, analýzy, které mohou přinést extrakci a analýzu zdroje, binární, a byte kódu. Pro analýzu zdrojových kódů umožňuje architektura granulárních standardů KDM extrakci toků softwarového systému (data, řízení a mapy volání), architektur a znalostí obchodní vrstvy (pravidla, termíny a proces). Standard umožňuje použití společného datového formátu (XMI), který umožňuje korelaci různých vrstev systémových znalostí pro podrobnou analýzu (jako je hlavní příčina, dopad) nebo odvozenou analýzu (jako je extrakce obchodních procesů). Ačkoli úsilí o reprezentaci jazykových konstrukcí může být nekonečné kvůli množství jazyků, neustálému vývoji softwarových jazyků a vývoji nových jazyků, standard umožňuje použití rozšíření na podporu široké jazykové sady i vývoj. KDM je kompatibilní s standardy UML, BPMN, RDF a dalšími standardy, které umožňují migraci do jiných prostředí, a tak využívají znalosti systému pro úsilí, jako je transformace softwarového systému a analýza podnikové vrstvy.

Protokoly

Protokoly jsou sady pravidel, která popisují formáty zpráv a způsob výměny zpráv: stroj stavu protokolu . V souladu s tím lze problém reverzního inženýrství protokolu rozdělit na dva dílčí problémy: formát zprávy a reverzní inženýrství stavového stroje.

Formáty zpráv byly tradičně reverzně konstruovány únavným manuálním procesem, který zahrnoval analýzu toho, jak implementace protokolu zpracovává zprávy, ale nedávný výzkum navrhl řadu automatických řešení. Skupina automatických přístupů obvykle pozoruje zprávy do klastrů pomocí různých klastrových analýz nebo emuluje implementaci protokolu sledující zpracování zpráv.

Méně práce bylo na reverzním inženýrství stavových strojů protokolů. Obecně lze stavové stroje protokolu naučit buď procesem offline učení , které pasivně sleduje komunikaci a pokouší se vytvořit nejobecnější stavový stroj přijímající všechny pozorované sekvence zpráv, a online učení , které umožňuje interaktivní generování sondování posloupnosti zpráv a poslech odpovědí na ty sondovací sekvence. Obecně je známo, že offline učení malých stavových strojů je NP-úplné , ale online učení lze provádět v polynomiálním čase. Automatický offline přístup předvedli Comparetti et al. a online přístup Cho et al.

Ostatní součásti typických protokolů, jako jsou šifrovací a hašovací funkce, lze také automaticky zpětně analyzovat. Automatické přístupy obvykle sledují provádění implementací protokolů a pokoušejí se detekovat vyrovnávací paměti v paměti obsahující nešifrované pakety.

Integrované obvody/čipové karty

Reverzní inženýrství je invazivní a destruktivní forma analýzy čipové karty . Útočník pomocí chemikálií leptá vrstvu za vrstvou čipové karty a pořizuje snímky pomocí rastrovacího elektronového mikroskopu (SEM). Tato technika může odhalit kompletní hardwarovou a softwarovou část čipové karty. Hlavním problémem útočníka je uvést vše do správného pořadí, aby zjistil, jak vše funguje. Tvůrci karty se pokoušejí skrýt klíče a operace zamícháním paměťových pozic, jako je například míchání autobusů.

V některých případech je dokonce možné připojit sondu pro měření napětí, když je čipová karta stále v provozu. Tvůrci karty používají senzory k detekci a zabránění útoku. Tento útok není příliš běžný, protože vyžaduje jak velké investice do úsilí, tak speciální vybavení, které je obecně dostupné pouze velkým výrobcům čipů. Kromě toho je výnos z tohoto útoku nízký, protože se často používají jiné bezpečnostní techniky, jako jsou stínové účty. Stále není jisté, zda by útoky proti čipovým a PIN kartám za účelem replikace šifrovacích dat a poté prolomení PINů poskytly nákladově efektivní útok na vícefaktorovou autentizaci.

Plné reverzní inženýrství probíhá v několika hlavních krocích.

Prvním krokem po pořízení snímků pomocí SEM je spojení snímků dohromady, což je nezbytné, protože každou vrstvu nelze zachytit jediným záběrem. SEM potřebuje proletět oblast obvodu a pořídit několik stovek snímků, aby pokryl celou vrstvu. Spojování obrázků vyžaduje jako vstup několik stovek obrázků a vydá jeden správně překrývající se obrázek celé vrstvy.

Dále je třeba sešité vrstvy zarovnat, protože vzorek po leptání nelze pokaždé umístit do přesně stejné polohy vzhledem k SEM. Sešité verze se proto nebudou překrývat správným způsobem, jako na skutečném okruhu. Obvykle se vyberou tři odpovídající body a na základě toho se použije transformace.

Chcete -li extrahovat strukturu obvodu, je třeba zarovnané sešité obrázky segmentovat, což zvýrazní důležité obvody a oddělí je od nezajímavého pozadí a izolačních materiálů.

Nakonec lze dráty vysledovat z jedné vrstvy do druhé a rekonstruovat netlist obvodu, který obsahuje všechny informace o obvodu.

Vojenské aplikace

Reverzní inženýrství lidé často používají ke kopírování technologií, zařízení nebo informací jiných národů, které byly získány pravidelnými jednotkami v polích nebo zpravodajskými operacemi. To bylo často používáno během druhé světové války a studené války . Zde jsou známé příklady z druhé světové války a později:

  • Jerry může : Britské a americké síly ve 2. světové válce si všimly, že Němci měli benzínové plechovky s vynikajícím designem. Převrátili kopie těchto plechovek, které byly populárně známé jako „plechovky Jerry“.
  • Panzerschreck : Němci během druhé světové války zajali americkou bazuku a pomocí reverzního inženýrství vytvořili větší Panzerschreck.
  • Tupolev Tu-4 : V roce 1944 byly tři americké bombardéry B-29 na misích nad Japonskem donuceny přistát v Sovětském svazu . Sověti, kteří neměli podobný strategický bombardér, se rozhodli zkopírovat B-29. Během tří let vyvinuli Tu-4, téměř dokonalou kopii.
  • Radar SCR-584 : kopírovaný Sovětským svazem po druhé světové válce, je známý několika úpravami-СЦР-584, Бинокль-Д.
  • Raketa V-2 : Technické dokumenty pro V-2 a související technologie byly zajaty západními spojenci na konci války. Američané zaměřili své reverzní inženýrské úsilí prostřednictvím operace Paperclip , která vedla k vývoji rakety PGM-11 Redstone . Sověti pomocí zajatých německých inženýrů reprodukovali technické dokumenty a plány a ze zajatého hardwaru pracovali na vytvoření svého klonu rakety R-1 . Tak začal poválečný sovětský raketový program, který vedl k R-7 a začátku vesmírného závodu .
  • Střela K-13/R-3S ( zpravodajský název NATO AA-2 Atoll), sovětská zpětně upravená kopie AIM-9 Sidewinder , byla umožněna poté, co v září tchajwanský AIM-9B zasáhl čínský MiG-17 bez exploze 1958. Střela byla uvězněna v draku letadla a pilot se vrátil na základnu s tím, co sovětští vědci popsali jako univerzitní kurz vývoje raket.
  • Raketa BGM-71 TOW : V květnu 1975 jednání mezi Íránem a Hughes Missile Systems o koprodukci raket TOW a Maverick zablokovala kvůli neshodám v cenové struktuře, následná revoluce z roku 1979 ukončila všechny plány na takovou koprodukci. Írán byl později úspěšný při reverzním inženýrství rakety a nyní vyrábí vlastní kopii Toophan .
  • Čína obrátila inženýrství mnoha příkladů západního a ruského hardwaru, od stíhacích letadel po rakety a automobily HMMWV , jako například MiG-15 (který se stal J-7) a Su-33 (který se stal J-15). Novější analýzy čínského vojenského růstu poukázaly na inherentní omezení reverzního inženýrství pro pokročilé zbraňové systémy.
  • Během druhé světové války polští a britští kryptografové studovali zachycené německé šifrovací stroje " " Enigma "pro slabiny. Jejich provoz byl poté simulován na elektromechanických zařízeních," bombách " , které vyzkoušely všechna možná nastavení scramblerů strojů" Enigma ", která pomohla lámání kódovaných zpráv, které byly zaslány Němci.
  • Také během druhé světové války britští vědci analyzovali a porazili sérii stále sofistikovanějších radionavigačních systémů používaných Luftwaffe k provádění řízených bombardovacích misí v noci. Britská protiopatření systému byla tak účinná, že v některých případech byla německá letadla vedena signály k přistání na základnách RAF, protože věřili, že se vrátili na německé území.

Genové sítě

Reverzní inženýrské koncepce byly aplikovány také na biologii , konkrétně na úkol porozumět struktuře a funkci genových regulačních sítí . Regulují téměř každý aspekt biologického chování a umožňují buňkám provádět fyziologické procesy a reakce na poruchy. Pochopení struktury a dynamického chování genových sítí je proto jednou z nejdůležitějších výzev systémové biologie s okamžitými praktickými dopady v několika aplikacích, které přesahují základní výzkum. Existuje několik metod pro regulační sítě genů pro reverzní inženýrství pomocí metod molekulární biologie a datové vědy. Obvykle byly rozděleny do šesti tříd:

Šest tříd metod odvozování genové sítě podle
  • Koexpresní metody jsou založeny na představě, že pokud dva geny vykazují podobný expresní profil, mohou být příbuzné, i když z koexprese nelze jednoduše odvodit žádnou příčinnou souvislost.
  • Metody sekvenčních motivů analyzují genové promotory za účelem nalezení domén vázajících specifické transkripční faktory. Pokud se předpokládá, že transkripční faktor váže promotor specifického genu, lze předpokládat regulační spojení.
  • Metody Chromatin ImmunoPrecipitation (ChIP) zkoumají profil celého genomu vazby DNA vybraných transkripčních faktorů k odvození jejich downstream genových sítí.
  • Ortologické metody přenášejí znalosti genové sítě z jednoho druhu do druhého.
  • Metody literatury implementují těžbu textu a manuální výzkum k identifikaci domnělých nebo experimentálně ověřených spojení genové sítě.
  • Metody transkripčních komplexů využívají informace o interakcích protein-protein mezi transkripčními faktory, čímž rozšiřují koncept genových sítí o transkripční regulační komplexy.

Spolehlivost genové sítě je často testována experimenty s genetickou poruchou a následným dynamickým modelováním na základě principu, že odstranění jednoho síťového uzlu má předvídatelné účinky na fungování zbývajících uzlů sítě. Aplikace reverzního inženýrství genových sítí sahají od pochopení mechanismů fyziologie rostlin po zvýraznění nových cílů pro protirakovinnou terapii.

Překrývají se s patentovým právem

Reverzní inženýrství se vztahuje především na porozumění procesu nebo artefaktu, ve kterém jeho tvůrce nevysvětlil způsob jeho konstrukce, použití nebo interních procesů.

Patentované předměty samy o sobě musejí být reverzní inženýrství, které mají být studovány, protože podstatou patentu je, že vynálezci umožňují podrobně zveřejňování informací sami, a na oplátku obdrží právní ochrany tohoto vynálezu , který je zapojen. Položka vyrobená podle jednoho nebo více patentů by však mohla zahrnovat i jinou technologii, která není patentovaná a není zveřejněna. Jednou z běžných motivací reverzního inženýrství je určit, zda výrobek konkurence obsahuje porušení patentu nebo porušení autorských práv .

Zákonnost

Spojené státy

Ve Spojených státech, i když je artefakt nebo proces chráněn obchodním tajemstvím , je reverzní inženýrství artefaktu nebo procesu často zákonné, pokud bylo získáno legitimně.

Reverzní inženýrství počítačového softwaru často spadá jak pod smluvní právo, jako porušení smlouvy, tak i do jiných příslušných zákonů. Důvodem je, že většina licenčních smluv s koncovými uživateli to výslovně zakazuje a soudy v USA rozhodly, že pokud takové podmínky existují, mají přednost před autorským zákonem, který to výslovně povoluje (viz Bowers v. Baystate Technologies ). Podle § 103 (f) zákona Digital Millenium Copyright Act ( 17 USC § 1201 (f) ) může osoba, která má legální držení programu, provést zpětnou analýzu a obejít jeho ochranu, pokud je to nutné k dosažení „interoperability“. termín, který široce pokrývá jiná zařízení a programy, které s ním mohou interagovat, využívat jej a používat a přenášet data do něj a z něj užitečným způsobem. Existuje omezená výjimka, která umožňuje sdílení takto získaných znalostí a jejich využití pro účely interoperability.

Evropská unie

Směrnice EU 2009/24 o právní ochraně počítačových programů, která nahradila dřívější směrnici (1991), upravuje reverzní inženýrství v Evropské unii .

Viz také

Reference

Prameny