{"id":17357,"date":"2018-07-26T16:24:34","date_gmt":"2018-07-26T14:24:34","guid":{"rendered":"https:\/\/www.kaspersky.de\/blog\/?p=17357"},"modified":"2018-07-30T08:01:13","modified_gmt":"2018-07-30T06:01:13","slug":"prague-1998","status":"publish","type":"post","link":"https:\/\/www.kaspersky.de\/blog\/prague-1998\/17357\/","title":{"rendered":"1998 in Prag: Die Geschichte einer bahnbrechenden Technologie"},"content":{"rendered":"<h3><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17358\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/96\/2018\/07\/27162309\/prague-1998-featured-1024x672.jpg\" alt=\"\" width=\"1024\" height=\"672\"><\/h3>\n<h3><strong>Was ist das Erfolgsgeheimnis des Unternehmens?<\/strong><\/h3>\n<p>Diese Frage wird mir tats\u00e4chlich des \u00d6fteren gestellt. Selbstverst\u00e4ndlich kann es auf diese Frage keine einfache Antwort geben. Die richtige Formel zu finden, so viel wie m\u00f6glich und all das auch richtig zu machen, ist nicht gerade einfach. Unser Erfolg ist auf zahlreiche Faktoren, vor allem aber auf Faktoren technologischer Natur, zur\u00fcckzuf\u00fchren. Deshalb m\u00f6chte ich Ihnen in diesem Beitrag von einem unserer Schl\u00fcssel zum Erfolg erz\u00e4hlen: eine fundamentale Technologie, die uns seit vielen Jahren dabei hilft, bahnbrechende Produkte aller Kategorien zu entwickeln und gleichzeitig maximalen Schutz gegen alle m\u00f6glichen Malware-Bedrohungen zu gew\u00e4hrleisten.<\/p>\n<p>Die Technologie nennt sich \u201ePrag\u201c.<\/p>\n<p>Warum? Ganz einfach deshalb, weil sie in Prag erfunden wurde.<\/p>\n<p>Im Fr\u00fchling 1998 versammelten wir uns in einer kleinen Gruppe, um gemeinsam <span style=\"text-decoration: line-through\">Bier zu trinken und tschechische Leckereien zu probieren<\/span> \u00fcber einen m\u00f6glichen Kandidaten f\u00fcr die Architektur unserer zuk\u00fcnftigen Produkte nachzudenken. Ich muss zugeben, dass unser kleines Treffen in Prag extrem erfolgreich war: Wir entwickelten eine neue Technologie \u2013 die Unified Component Architecture (UCA) \u2013 die zahlreiche Produkte auf allen m\u00f6glichen Plattformen (Betriebssystemen) miteinander verkn\u00fcpfen konnte. Die UCA befindet sich auch heute noch konstant in der Entwicklungsphase und bildet das Grundger\u00fcst f\u00fcr fast alle unsere Produkte.<\/p>\n<p>Auch andere Unternehmen, die auf das Problem der \u201emultilingualen\u201c Projekte und Entwicklungen gesto\u00dfen sind \u2013 was besonders bei komplexen Projekten, bei denen viele Teams involviert sind, oder bei Unternehmenszusammenschl\u00fcssen relativ h\u00e4ufig vorkommt \u2013 haben bereits ein Auge auf die UCA geworfen.<\/p>\n<p>Unser \u201eZusammentreffen in Prag\u201c feiert dieses Jahr bereits 20-j\u00e4hriges Jubil\u00e4um. Das wurde mir allerdings erst bewusst, als ich dabei war einige alte Archive durchzusehen und dabei \u00fcber eine Datei namens \u201eTechnologiedokumentation Prag\u201c vom 22. Juni 1998 gestolpert bin. Damals waren wir damit besch\u00e4ftigt, einige wirklich \u201einnovative\u201c Viren zu bek\u00e4mpfen und rein technische Probleme mit der AV-Engine zu l\u00f6sen. Die L\u00f6sung, die wir fanden, war um einiges umfangreicher, leistungsf\u00e4higer und n\u00fctzlicher als wir erwartet h\u00e4tten. Man kann sagen, dass Prag in vielerlei Hinsicht die Kerntechnologie unserer Produkte beeinflusst hat.<\/p>\n<blockquote class=\"twitter-pullquote\"><p>Wie eine der Schl\u00fcsseltechnologien hinter der AV-Engine von #Kaspersky Lab zustande kam.<\/p><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fkas.pr%2Ff4kr&amp;text=Wie+eine+der+Schl%C3%BCsseltechnologien+hinter+der+AV-Engine+von+%23Kaspersky+Lab+zustande+kam.\" class=\"btn btn-twhite\" data-lang=\"en\" data-count=\"0\" target=\"_blank\" rel=\"noopener nofollow\">Tweet<\/a><\/blockquote>\n<h3>Wie alles begann<\/h3>\n<p>Damals, als sich unser Unternehmen noch irgendwo in der Garagenphase \u2013 in unserem Fall im zweiten Stock eines Kindergartens im Moskauer Stadtteil Strogino \u2013 und der <a href=\"https:\/\/www.kaspersky.de\/blog\/unser-neues-zuhause\/1602\/\" target=\"_blank\" rel=\"noopener\">Glasb\u00fcro<\/a>-Phase befand. Wir lizenzierten unsere Engine an verschiedene ausl\u00e4ndische Partner. Zu dieser Zeit hatten wir bereits eine extrem erfolgreiche Version namens <em>Antiviral Toolkit Pro 3.<\/em>0 auf dem Markt. Trotzdem gab es auch Zeiten, in denen es f\u00fcr unsere technologische Zukunft nicht immer so rosig aussah.<\/p>\n<p>Denn zwei gro\u00dfe Herausforderungen blieben bestehen: Dinge, auf die wir auf gar keinen Fall verzichten konnten, aber deren Umsetzung nicht ganz einfach waren. Zum einen die F\u00e4higkeit, verd\u00e4chtige Objekte unabh\u00e4ngig von der Art und Weise, wie sie gespeichert wurden, zu verarbeiten (ein typisches Beispiel ist eine \u201eMatroschka\u201c eingebetteter Objekte. Das hei\u00dft, eine ausf\u00fchrbare Malware-Datei befindet sich in einem Archiv, das sich wiederum in einem anderen Archiv befindet). Und zum anderen eine AV-Engine zu erstellen, die so schnell wie m\u00f6glich aktualisiert werden konnte und minimale (idealerweise gar keine) \u00c4nderungen f\u00fcr das Portieren zwischen zwei Plattformen erforderte.<\/p>\n<p>F\u00fcr diejenigen, die sich eventuell nicht mehr daran erinnern k\u00f6nnen: Die Virenentwickler der 90er waren sehr erfinderisch, und einige v\u00f6llig neue Viren erforderten nicht nur die Aktualisierung der Datenbanken, sondern auch der <em>Engine selbst<\/em>. Benutzer hatten entweder \u00fcberhaupt keine oder extrem langsame Internetverbindungen, sodass ein Update mit einer Gr\u00f6\u00dfe von einigen Megabytes ein ernsthaftes Problem darstellte. Angesichts der Tatsache, dass Windows 98 gerade seinen Vormarsch auf der ganzen Welt begonnen, DOS aber noch nicht vollst\u00e4ndig ersetzt hatte, mussten alle Erkennungsinnovationen unverz\u00fcglich auf \u00a0<em>beiden<\/em> Betriebssystemen funktionieren.<\/p>\n<p>Allgemein gab es so einiges, wor\u00fcber wir nachdenken mussten, als wir, Alexey De-Monderik, Andrey Kryukov, Andrey Nikishin, Vadim Bogdanov, Larisa Gruzdeva und meine Wenigkeit zum Brainstorming f\u00fcr eine Woche in Prag landeten. Wir mieteten den Konferenzraum eines Hotels, und jeden Tag von 9:00 bis 17:00 Uhr malten und diskutierten wir \u00fcber unsere Ideen und verzogen uns dann ins Restaurant und Billardzimmer, um bei tschechischem Bier abzuschalten und unsere Einf\u00e4lle sacken zu lassen.<\/p>\n<p>Die Arbeit war sehr produktiv, und als wir zur\u00fcck nach Moskau kamen, hatten wir bereits ein ausgekl\u00fcgeltes Konzept in der Tasche. De-Monderik schrieb unsere Ideen nieder; und genau das war das Dokument, das mir die Idee zu diesem Blog-Artikel gegeben hat. Sehen Sie selbst:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.kasperskycontenthub.com\/wp-content\/uploads\/sites\/20\/2018\/07\/18141950\/doc.gif\"><\/p>\n<p>Kryukov und Nikishin debattierten zwar weiterhin \u00fcber \u201ePrag\u201c, aber erst als Andrey Doukhvalov 1999 unserem Team beitrat, wurde unsere Theorie auch tats\u00e4chlich in die Praxis umgesetzt. Seine Erfahrung in der Systementwicklung machte unser Prag-Konzept zu mehr als einem blo\u00dfen Plugin-System f\u00fcr die AV-Engine.<\/p>\n<p>Tats\u00e4chlich entpuppte sich Prag als eigenst\u00e4ndig entwickeltes, objektorientiertes und modulares System, in dem Objekte nach der Anwendungsausf\u00fchrung erstellt und verwaltet wurden, die Objekthierarchie beobachtet wurde und der Kernel Funktionen wie beispielsweise die Speicherverwaltung und das Messaging aktivierte. All das kommunizierte mit dem Betriebssystem und der Benutzeroberfl\u00e4che \u00fcber eine ziemlich d\u00fcnne Schicht, sodass der gesamte Kernel des AVs in Form von \u201ePrag-Plugins\u201c geschrieben werden konnte.<\/p>\n<p>Doukhvalov entwickelte daraufhin die erste gebrauchsfertige Version f\u00fcr AVP 4.0. Zwar waren wir noch nicht an unserem Ziel angekommen, aber die St\u00e4rken der Architektur waren bereits offensichtlich:<\/p>\n<ul>\n<li>Das Problem, komplexe verschachtelte Objekte zu verarbeiten wurde vollst\u00e4ndig gel\u00f6st. Das AV-Programm der Prag-Engine war das Erste auf dem Markt, das infizierte Dateien in Archiven problemlos heilte oder Viren innerhalb eines Multivolumen-Archivs entdeckte. Dabei war es den Erkennungs- und Behandlungsmodulen egal, wo sich das infizierte Objekt urspr\u00fcnglich befand; in welchem Archiv, Dateisystem, usw.<\/li>\n<li>Die AV-Engine konnte problemlos mit den Datenbanken aktualisiert werden und musste nach der Aktualisierung nicht neu gestartet werden.<\/li>\n<li>Die Module waren winzig und konnten leicht an verschiedene Plattformen angepasst werden. So konnte KAV 6 beispielsweise problemlos auf <a href=\"https:\/\/www.kaspersky.de\/mac-security\" target=\"_blank\" rel=\"noopener\">Mac<\/a>-Rechner portiert werden.<\/li>\n<li>Der ben\u00f6tigte Speicher war minimal und Prag verbrauchte viel weniger Ressourcen als jedes existierende Objekt-Framework zu der Zeit.<\/li>\n<\/ul>\n<p>Dank der Nutzung von Prag befanden wir uns auf dem allerneuesten Stand der IT-Branche. Zu dieser Zeit war der modulare Ansatz zur Softwareentwicklung noch nicht so weit fortgeschritten. Sp\u00e4ter erhielten wir sogar vier US-Patente f\u00fcr Prag: <a href=\"https:\/\/patents.google.com\/patent\/US7386885\" target=\"_blank\" rel=\"noopener nofollow\">7386885<\/a>, <a href=\"https:\/\/patents.google.com\/patent\/US7730535\" target=\"_blank\" rel=\"noopener nofollow\">7730535<\/a>, <a href=\"https:\/\/patents.google.com\/patent\/US7418710\" target=\"_blank\" rel=\"noopener nofollow\">7418710<\/a>, <a href=\"https:\/\/patents.google.com\/patent\/US8234656\" target=\"_blank\" rel=\"noopener nofollow\">8234656<\/a>.<\/p>\n<p>Dar\u00fcber hinaus war Prag unheimlich leicht zu integrieren, weshalb die Technologie anfangs zur Probleml\u00f6sung in Version 4.0 eingebaut wurde. Sie bew\u00e4hrte sich so gut, dass Doukhvalov, als bei der Entwicklung der Version 5.0 gr\u00f6\u00dfere Probleme auftraten, auf die Idee kam, eine neue Version vollst\u00e4ndig auf Prag basierend ins Leben zu rufen \u2013 <a href=\"https:\/\/www.kaspersky.de\/blog\/die-regel-der-sechs\/2789\/\" target=\"_blank\" rel=\"noopener\">das f\u00fchrte zur revolution\u00e4ren Kaspersky Anti-Virus Version 6<\/a>, die bereits detailliert beschrieben wurde.<\/p>\n<p>Um ein \u201eAntivirus-Plugin\u201c in ein Framework zur Erstellung eines ganzen Produkts einzubauen, mussten einige Ans\u00e4tze verallgemeinert und neu konzipiert werden. Die Hauptdenker hierbei waren Andrey Doukhvalov und Pavel Mezhuev \u2013 h\u00e4tten wir sie nicht gehabt, w\u00e4re Prag f\u00fcr solch komplexe Aufgaben nicht geeignet gewesen.<\/p>\n<p>Nat\u00fcrlich ist auch in der Entwicklungswelt nicht alles perfekt, und Prag hatte zwei gro\u00dfe Nachteile.<\/p>\n<p>Zum einen war das Debuggen nicht ganz einfach. Und zum anderen hatten Entwickler Schwierigkeiten, die neue Technologie anzunehmen. Egal, von welcher Seite man das Ganze betrachtet: es handelte sich um ein neu entwickeltes Objektsystem, das ziemlich hohe Anforderungen an das Code-Design stellte. Dar\u00fcber hinaus mussten die Module zun\u00e4chst in reinem C geschrieben werden. Es war schwierig, Mitarbeiter schnell genug zu schulen, und mit der Zeit ben\u00f6tigten wir immer mehr Entwickler, da unser Unternehmen wuchs und die Produkte immer komplexer wurden.<\/p>\n<p>Somit wurde f\u00fcr uns die Entwicklungsgeschwindigkeit zur Priorit\u00e4t. Uns blieb deshalb nichts anderes \u00fcbrig als nach und nach auf bekanntere und konventionellere Objekt-Frameworks umzusteigen. Fragmente, die auf Prag basieren, haben wir aber immer noch erfolgreich in unseren Produkten implementiert.<\/p>\n<p>Nat\u00fcrlich h\u00e4tten diese \u201eNachteile\u201c damals behandelt werden k\u00f6nnen und sollen, weil die Vorteile der Umsetzung von Prag die aufgewandten Ressourcen voll und ganz gerechtfertigt h\u00e4tten. Prag hat eines der schwierigsten (und teuersten) Probleme gel\u00f6st, das besonders in den letzten zehn Jahren relevant wurde \u2013 die Portabilit\u00e4t von Technologie (darunter auch die bin\u00e4re Portabilit\u00e4t) auf verschiedene Plattformen.<\/p>\n<p>Anstatt f\u00fcr jedes Betriebssystem und jeden Prozessor ein neues Produkt von Grund auf neu zu erstellen, haben wir eine vorgefertigte Debug-Engine verwendet. Diese langfristigen Investitionen haben sich nicht nur ausgezahlt, sondern haben bis heute f\u00fcr unsere technologische F\u00fchrerschaft gesorgt \u2013 die Unified Component Architecture, die Nachfolgerin von Prag, wird effektiv ausgenutzt, und bislang sehen wir noch immer keine Probleme, die UCA nicht l\u00f6sen kann. Ein weiterer Beweis daf\u00fcr, dass gute Architektur Jahrzehnte \u00fcberdauert.<\/p>\n<p>Wie Alexei De-Monderik gerne sagt, hat Prag in unserem Unternehmen eine sehr wichtige Rolle gespielt, und das nicht nur im technologischen Sinne. Denn im Grunde genommen hat diese Technologie das Team der <a href=\"https:\/\/www.kaspersky.de\/blog\/die-regel-der-sechs\/2789\/\" target=\"_blank\" rel=\"noopener\">ber\u00fchmten \u201eSechs\u201c<\/a> zusammengebracht. Also ein Hoch auf das Team!<\/p>\n<p>Und selbstverst\u00e4ndlich ein Hoch auf dieses unerwartete Jubil\u00e4um unserer wichtigsten und wegweisenden Technologie!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie eine der Schl\u00fcsseltechnologien hinter der AV-Engine von Kaspersky Lab zustande kam.<\/p>\n","protected":false},"author":13,"featured_media":17358,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[8,2712],"tags":[640,3046,108,968,286,3045,1652,1544],"class_list":{"0":"post-17357","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-products","8":"category-special-projects","9":"tag-antivirus","10":"tag-engine","11":"tag-eugene-kaspersky","12":"tag-geschichte","13":"tag-kaspersky-lab","14":"tag-prag","15":"tag-products","16":"tag-technologien"},"hreflang":[{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/prague-1998\/17357\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/prague-1998\/13725\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/prague-1998\/11502\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/prague-1998\/15801\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/prague-1998\/14069\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/prague-1998\/13210\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/prague-1998\/16587\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/prague-1998\/16022\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/prague-1998\/20924\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/prague-1998\/23287\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/prague-1998\/10592\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/prague-1998\/9520\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/prague-1998\/20950\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/prague-1998\/17002\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/prague-1998\/20664\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/prague-1998\/20662\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.de\/blog\/tag\/kaspersky-lab\/","name":"Kaspersky Lab"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/17357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/comments?post=17357"}],"version-history":[{"count":6,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/17357\/revisions"}],"predecessor-version":[{"id":17366,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/17357\/revisions\/17366"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/media\/17358"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/media?parent=17357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/categories?post=17357"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/tags?post=17357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}