Co je knihovna dynamických odkazů?
Knihovna dynamických odkazů je systém používaný společností Microsoft k umožnění přístupu několika aplikací ke stejné části kódu ve Windows® současně. To je jeden z klíčů k efektivní práci s více úkoly. V roce 2010 vědci v oblasti bezpečnosti zjistili, že hackerům mohou být zneužity mezery ve způsobu, jakým fungoval systém dynamických knihoven odkazů. To vedlo k dilematu, jak jej opravit, aniž by to ovlivnilo použitelnost aplikací.
Abychom pochopili, jak funguje dynamická knihovna odkazů, je důležité porozumět rozdílu mezi Windows® a softwarovými aplikacemi. Windows® je operační systém, který existuje z velké části za účelem koordinace způsobu, jakým jednotlivé aplikace, známé také jako programy, přistupují k procesním schopnostem počítače. Samotný Windows® je v konečném důsledku soubor počítačových kódů, které účinně fungují jako seznam pravidel nebo návod, jak aplikace interagují navzájem as hardwarem.
Knihovna dynamických odkazů je systém, pomocí kterého mohou aplikace přistupovat a spouštět jednotlivé sekce kódu Windows®. Jedním příkladem by mohla být část systému Windows® odpovědná za tisk dokumentů. Většina aplikací potřebuje přístup k této funkci v určitém okamžiku, ale pokud každá aplikace načte příslušný kód do paměti počítače, jakmile se aplikace začne běžet, bylo by to neefektivní využití zdrojů a mohlo by to způsobit konflikty.
K vyřešení tohoto problému je kód Windows® pro konkrétní funkci, v tomto případě tisk, uložen jako malý program známý jako knihovna dynamických odkazů nebo soubor DLL. Pokud uživatel spustí aplikaci, jako je textový procesor, tento soubor se automaticky neotevře. Místo toho textový procesor otevře a aktivuje soubor pouze v případě potřeby, v tomto případě, když uživatel chce vytisknout dokument.
Historicky mnoho vývojářů aplikací jednoduše psalo kód, který říkal, jak se volalo jméno příslušné knihovny dynamických odkazů, než aby přesně určil, kde by měl být umístěn v počítači. Chcete-li to obejít, Windows® má nastavený systém pro vyhledávání chybějících souborů DLL hledáním seznamu sad umístění v definovaném pořadí. I když by to mohlo být teoreticky využito, pokud by škodlivý soubor maskovaný jako soubor DLL byl umístěn na správné místo a takto nalezen a otevřen před legitimním souborem, nepovažovalo se to za hlavní bezpečnostní riziko, protože hackeři potřebují fyzický přístup k počítači, aby získali škodlivý soubor na svém místě.
V roce 2010 bylo objeveno, že hackeři by mohli takové soubory teoreticky získat pomocí vzdáleného připojení: tj. Přes internet. To znamenalo, že desítky aplikací Windows® byly zranitelné vůči útokům používajícím tuto metodu. Komunita zabezpečení byla rozdělena, pokud jde o to, zda je lepší přepsat jednotlivé aplikace, aby určily umístění legitimního souboru DLL, který spoléhal na každou akci vývojáře, nebo aby společnost Microsoft změnila způsob, jakým Windows® nakládá s takovými soubory, které může potenciálně způsobit, že aplikace přestanou správně fungovat.