Netscape Plugin API

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 13. prosince 2014; kontroly vyžadují 28 úprav .

Netscape Plugin Application Programming Interface ( NPAPI ) je vývojová architektura plug -in pro různé platformy podporovaná  mnoha prohlížeči .

Rozhraní bylo navrženo pro rodinu prohlížečů Netscape Navigator počínaje Netscape Navigator 2.0 a od té doby jej implementovalo mnoho dalších prohlížečů. Internet Explorer však toto rozhraní nepodporuje od verze 5.5 [1] [2] [3] .

Převaha rozhraní může souviset s jeho jednoduchostí. Plugin deklaruje práci s určitými datovými typy (například „audio/mp3“) pomocí informací v souboru. Když prohlížeč narazí na tento typ dat, načte s ním spojený modul plug-in, přidělí prostor na vykreslené stránce a odešle jí proud dat . Plugin je plně zodpovědný za zobrazovaná data, včetně videa, zvuku a dalších. Plugin tedy funguje v rámci stránky, na rozdíl od starších prohlížečů, které musely pro zobrazení neznámého datového typu spustit externí aplikaci .

Rozhraní API vyžaduje, aby každý prohlížeč implementoval malý počet funkcí. K inicializaci, vytvoření, zničení a lokalizaci pluginu je potřeba asi 15 funkcí. NPAPI podporuje skriptování, tisk, celoobrazovkové pluginy, pluginy bez oken a datové toky.

Historie

Myšlenka plug-inů nepochází od samotného Netscape Communications , ale od Adobe Systems . John Warnock , CEO , a Alan Paget , jeden z hlavních vývojářů Acrobat Readeru , doufali, že mladý formát PDF bude možné použít i mimo desktop . Netscape tedy brzy vydal první verzi Navigatoru. Paget a jeho kolega vývojář Eshwar Priyadarshan se snažili najít způsob, jak učinit PDF nedílnou součástí World Wide Web . Výsledkem bylo živé demo ukázané Warnockovi a Jamesi Clarkovi , generálním ředitelům Netscape. Před touto demonstrací byl nativní formát pro World Wide Web pouze HTML a obrázky vložené do webových stránek , které jej používaly. Odkazy na jakýkoli jiný typ souboru by způsobily, že tento soubor bude stažen a otevřen v příslušné aplikaci . Tato ukázka ukázala, jak kliknutí na odkaz na soubor PDF otevřelo okno prohlížeče, které hladce propojilo zobrazení PDF a HTML. Clarke se zeptal, kdo implementoval podporu v samotném Netscape, a byl překvapen, když zjistil, že integrace byla provedena bez zapojení Netscape, pouze s trochou zpětného inženýrství prohlížeče Netscape.

Následující týden uvedly společnosti technologii na trh jako Allan's Hack. Zatímco se Netscape připravoval na úzkou integraci s PDF, na kterou by se Adobe těšilo, Paget přišel s jiným přístupem, architekturou zásuvných modulů. Vývojáři Adobe Gordon Dow a Nabeel Al-Shamma nedávno přidali architekturu zásuvných modulů do aplikace Acrobat Reader s využitím zkušeností s vývojem mimo tým Acrobat Reader. Paget byl jedním z externích vývojářů a doufal, že pokud budou mít na výběr jiné společnosti, rozhodnou se rozšířit web, jak to udělal tým Adobe. Clarke a tým o tom byli přesvědčeni, a tak se pustili do návrhu API, které by novou architekturu podporovalo.

Podpora skriptovacích jazyků

Funkce podpory skriptovacího jazyka vám umožňuje používat kód JavaScript na webové stránce pro interakci s pluginem. Různé verze Netscape a Mozilla podporovaly tuto funkci pomocí různých technologií: LiveConnect , XPConnect a npruntime .

Podporované prohlížeče

Následující prohlížeče podporují pluginy NPAPI:

Internet Explorer nějakou dobu poskytoval zásuvné moduly vytvořené pro Netscape. Bylo to způsobeno malým počtem funkcí ActiveX implementovaných pomocí souboru „plugin.ocx“, který fungoval jako vrstva mezi pluginy ActiveX a NPAPI. IE načte ActiveX a použije pluginy definované pro stránku. Microsoft učinil prohlášení, že použití NPAPI není bezpečné (nebo API implementované v IE není bezpečné) a ukončil podporu počínaje verzí 5.5SP2 [1] [2] [3] .

Zabezpečení

Oblíbená mylná představa o technologii NPAPI je, že je bezpečnější než ActiveX. Obě technologie však provozují nativní kód a mají oprávnění nadřazeného procesu. Pokud mají nadřazené procesy stejná oprávnění, může škodlivý plugin NPAPI a ActiveX způsobit podobné škody. Stojí za zmínku, že pluginy NPAPI lze zvýšit zabezpečením jednoduše změnou uživatelského účtu . Obecně je možné instalovat a spouštět pluginy s uživatelskými právy, přičemž použití ActiveX vyžaduje administrátorská oprávnění. S omezenými právy nebude moct plugin moc ublížit .

Dalším důležitým rozdílem mezi NPAPI a ActiveX je to, že NPAPI se používají pouze jako internetové pluginy, zatímco ActiveX se používá pro širokou škálu úloh, včetně použití v aplikacích Windows . Průměrný uživatel Windows má obrovské množství nainstalovaných ovládacích prvků ActiveX, z nichž některé jsou označeny jako „bezpečné pro skriptování“, ale ve skutečnosti bezpečné nejsou. Kterýkoli z nich lze použít k útoku na počítač uživatele [5] .

Dalším rozdílem pro NPAPI je to, že jeho implementace (před Mozilla Firefox, viz níže) automaticky nestahovaly ani neinstalovaly chybějící pluginy. Místo takového pluginu se zobrazil útržek. Pokud na něj uživatel klikl, byl přesměrován na web Netscape, kde si našel, stáhl a nainstaloval příslušný plugin. Takové schéma je samozřejmě pro uživatele nepohodlné, ale eliminuje jeden z útočných vektorů používaných malwarem .

Internet Explorer čte z HTML informace o umístění nainstalovaného ActiveX. Pokud ovládací prvek ActiveX není nainstalován, IE automaticky stáhne chybějící prvek ze zadaného zdroje, poté vás požádá o přijetí digitálního podpisu a klikněte na tlačítko nainstalovat. Toto schéma funguje v důvěryhodné infrastruktuře, ale použití metod sociálního inženýrství může uživatele přesvědčit, aby ignoroval varování, a vést k negativním důsledkům. Tento vektor útoku využívá velké množství spywaru, adwaru a škodlivých stránek . Aby Microsoft zmírnil rizika, musel zvýšit výchozí úroveň zabezpečení pro ovládací prvky ActiveX a udržovat seznam škodlivých ovládacích prvků ActiveX.

Mozilla Firefox se snaží nabídnout střední cestu. Pokud plugin není znám, uživatel bude upozorněn a přesměrován na mozilla.org se zabezpečeným připojením . Uživatel může povolit Firefoxu stáhnout a nainstalovat příslušný plugin. Tento model neříká prohlížeči, kam se má plugin načíst: pluginy se načítají z centrálního umístění. To umožňuje Firefoxu poskytnout bezproblémový instalační mechanismus pro důvěryhodné a důvěryhodné pluginy. Tento model implicitně důvěřuje vyhledávací službě pro „dobré“ pluginy, což vyžaduje zvýšenou bezpečnost tohoto webu.

Poznámky

  1. 1 2 Zásuvné moduly Netscape po aktualizaci Internet Exploreru nefungují . Získáno 22. května 2011. Archivováno z originálu 24. května 2011.
  2. 1 2 Giannandrea, J. (4. září 2001) Microsoft přerušuje webové pluginy ve Windows XP .
  3. 1 2 Popis podpory Internet Explorer pro zásuvné moduly ve stylu Netscape . Získáno 22. května 2011. Archivováno z originálu 24. května 2011.
  4. Firefox 43 – Mozilla – Novinky . Datum přístupu: 17. prosince 2015. Archivováno z originálu 17. prosince 2015.
  5. CWE-623: Nezabezpečené ovládací prvky ActiveX označené jako bezpečné pro skriptování Archivováno 23. července 2011 na Wayback Machine 

Odkazy