{"id":10592,"date":"2018-08-06T16:24:39","date_gmt":"2018-08-06T19:24:39","guid":{"rendered":"https:\/\/www.kaspersky.com.br\/blog\/?p=10592"},"modified":"2019-11-22T07:17:34","modified_gmt":"2019-11-22T10:17:34","slug":"prague-1998","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.br\/blog\/prague-1998\/10592\/","title":{"rendered":"Praga, 1998: a hist\u00f3ria de uma tecnologia revolucion\u00e1ria"},"content":{"rendered":"<h3><strong>Qual o segredo do sucesso da empresa?<\/strong><\/h3>\n<p>Essa \u00e9 uma das perguntas que mais ou\u00e7o. \u00c9 claro, n\u00e3o h\u00e1 uma resposta curta. A f\u00f3rmula para \u201ccomo fazer o m\u00e1ximo poss\u00edvel e acertar tudo\u201d n\u00e3o \u00e9 simples. Bem, exceto provavelmente para ganhar na loteria ou repentinamente herdar um milh\u00e3o. Mas n\u00e3o foi assim que aconteceu comigo. Nosso sucesso pode ser atribu\u00eddo a diversas causas, principalmente tecnol\u00f3gicas. Hoje, vou falar sobre uma das principais: uma tecnologia fundamental que, por muitos anos, tem nos ajudado a desenvolver produtos revolucion\u00e1rios em todos os tipos de categorias ao mesmo tempo em que garantimos prote\u00e7\u00e3o m\u00e1xima contra todas as poss\u00edveis ciberamea\u00e7as de malwares.<\/p>\n<p>Essa tecnologia se chama \u201cPraga\u201d.<\/p>\n<p>Por qu\u00ea? Muito simples: foi inventada em Praga.<\/p>\n<p>Na primavera de 1998, reunimos um pequeno grupo para <span style=\"text-decoration: line-through\">beber cerveja e comer guloseimas tchecas<\/span>\u00a0desenvolver a arquitetura de nossos futuros produtos. O encontro de Praga foi extremamente bem-sucedido: produzimos uma nova tecnologia \u2013 a <em>Unified Component Architecture<\/em> (em portugu\u00eas, Arquitetura de Componentes Unificados) \u2013, que conecta uma ampla variedade de produtos em todas as plataformas poss\u00edveis (sistemas operacionais). A UCA continua em evolu\u00e7\u00e3o e \u00e9 o esqueleto de praticamente todas as nossas solu\u00e7\u00f5es.<\/p>\n<p>Al\u00e9m disso, a UCA est\u00e1 na mira de outras organiza\u00e7\u00f5es que encaram o desafio de projetos e desenvolvimentos \u201cmultil\u00edngues\u201d, o que \u00e9 bem comum, especialmente em empreitadas complexas que envolvem v\u00e1rias equipes ou fus\u00e3o de empresas.<\/p>\n<p>Este ano, nosso \u201cencontro de Praga\u201d completa 20 anos. Percebi isso quando mexi em alguns arquivos e tropecei na \u201cDocumenta\u00e7\u00e3o da Tecnologia Praga\u201d), de 22 de junho de 1998. Naquela \u00e9poca, est\u00e1vamos preocupados em combater alguns v\u00edrus \u201cinovadores\u201d e resolver alguns problemas puramente t\u00e9cnicos com o mecanismo antiv\u00edrus. A solu\u00e7\u00e3o que encontramos era muito mais ampla, poderosa e \u00fatil. Assim, de muitas formas, a Praga determinou a ess\u00eancia tecnol\u00f3gica dos nossos produtos por uma boa d\u00e9cada a seguir.<\/p>\n<h3><strong>Como tudo come\u00e7ou?<\/strong><\/h3>\n<p>L\u00e1 atr\u00e1s, quando a empresa estava em algum lugar entre a fase de garagem \u2013 no nosso caso, o segundo andar de um jardim de inf\u00e2ncia em Strogino, distrito de Moscou \u2013 e hoje, no <a href=\"https:\/\/www.kaspersky.com\/blog\/hq-office-infographic\/2621\/\" target=\"_blank\" rel=\"noopener nofollow\">escrit\u00f3rio envidra\u00e7ado<\/a>. Licenciamos nosso mecanismo para alguns parceiros estrangeiros. J\u00e1 t\u00ednhamos uma vers\u00e3o extremamente bem-sucedida chamada <em>Antiviral Toolkit Pro 3.0\u00a0<\/em>no mercado. No entanto, nem tudo eram flores no futuro tecnol\u00f3gico.<\/p>\n<p><a href=\"https:\/\/www.instagram.com\/p\/Bl_J_y7nJGW\/?taken-by=kasperskybr\" target=\"_blank\" rel=\"noopener nofollow\">https:\/\/www.instagram.com\/p\/Bl_J_y7nJGW\/?taken-by=kasperskybr<\/a><\/p>\n<p>Pois grandes desafios estavam em nosso caminho: coisas que eram claramente necess\u00e1rias e prometiam ser muito dif\u00edceis de implementar. A primeira era a habilidade de processar objetos suspeitos independentemente de como estavam armazenados (um exemplo t\u00edpico \u00e9 a <em>matrioska<\/em> (boneca russa) de objetos embutidos, ou seja, um malware execut\u00e1vel dentro de um arquivo empacotado em outro arquivo). O segundo desafio era criar um mecanismo de antiv\u00edrus que pudesse ser atualizado o mais r\u00e1pido poss\u00edvel e exigisse altera\u00e7\u00f5es m\u00ednimas (idealmente nenhuma) para se deslocar entre plataformas.<\/p>\n<p>Caso algu\u00e9m tenha esquecido, os criadores de v\u00edrus eram muito criativos no final dos anos 90, e algumas das cria\u00e7\u00f5es totalmente novas exigiam atualiza\u00e7\u00f5es n\u00e3o apenas das bases de dados, mas tamb\u00e9m do <em>mecanismo em si.<\/em> Usu\u00e1rios n\u00e3o tinham conex\u00e3o com a Internet ou eram extremamente lentas, de forma que entregar uma atualiza\u00e7\u00e3o de apenas alguns megabytes era um problema s\u00e9rio. Tendo em conta que o Windows 98 tinha apenas come\u00e7ado a se expandir e ainda n\u00e3o tinha substitu\u00eddo completamente o DOS, qualquer inova\u00e7\u00e3o em detec\u00e7\u00e3o precisava trabalhar instantaneamente em <em>ambos<\/em>\u00a0os sistemas operacionais.<\/p>\n<p>De maneira geral, havia muito o que pensar quando Alexey De-Monderik, Andrey Kryukov, Andrey Nikishin, Vadim Bogdanov, Larisa Gruzdeva e eu pousamos em Praga por uma semana para um brainstorm. Alugamos uma sala de confer\u00eancias em um hotel e todos os dias, das 9h \u00e0s 17h, desenhamos e discutimos \u2013 e ent\u00e3o \u00edamos para o restaurante e a sala de sinuca para degustar cerveja tcheca e deixar as ideias marinarem.<\/p>\n<p>Trabalhamos produtivamente e voltamos para Moscou com um conceito. De-Monderik anotou nossas ideias, e esse foi o documento que inspirou esta publica\u00e7\u00e3o. Aqui est\u00e1:<br>\n<img decoding=\"async\" class=\"aligncenter size-full wp-image-10600\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2018\/08\/06173100\/praga.gif\" alt=\"\" width=\"600\" height=\"872\">Kryukov e Nikishin continuaram \u00e0 discuss\u00e3o sobre a Praga, mas a cria\u00e7\u00e3o em si foi em 1999, quando Andrey Doukhvalov se uniu ao time. Sua experi\u00eancia em desenvolvimento de sistemas ajudou a transformar o conceito da tecnologia em algo mais do que um sistema de plugins para o mecanismo de antiv\u00edrus.<\/p>\n<p>Na verdade, Praga acabou sendo um sistema modular e orientado para objetos, independentemente desenvolvido, no qual os objetos foram criados e geridos depois que o programa foi lan\u00e7ado, a hierarquia dos objetos observada, e o kernel habilitou fun\u00e7\u00f5es como gerenciamento de mem\u00f3ria e mensagens. Tudo isso se comunicava com o sistema operacional e a interface do usu\u00e1rio por meio de uma camada bastante fina, ent\u00e3o era poss\u00edvel escrever quase todo o kernel do antiv\u00edrus na forma de \u201cplugins Praga\u201d.<\/p>\n<p>Doukhvalov desenvolveu a primeira vers\u00e3o pronta para usar no produto para o AVP 4.0. Ainda n\u00e3o era totalmente reescrita com a Praga, mas as for\u00e7as da arquitetura j\u00e1 eram aparentes:<\/p>\n<ul>\n<li>Resolveu completamente o problema do processamento de objetos embutidos. O antiv\u00edrus do mecanismo Praga foi o primeiro do mercado a recuperar facilmente arquivos comprometidos, por exemplo, ou detectar v\u00edrus no limite de volumes de um arquivo multivolumes. N\u00e3o importava para os m\u00f3dulos de detec\u00e7\u00e3o e de tratamento onde o objeto infectado originalmente estava \u2013 em qual arquivo, em qual sistema de arquivos, e assim por diante.<\/li>\n<li>A l\u00f3gica do mecanismo antiv\u00edrus era facilmente atualizada com as bases de dados, e n\u00e3o era preciso reiniciar para aceitar a nova l\u00f3gica.<\/li>\n<li>Os m\u00f3dulos eram pequenos e facilmente adapt\u00e1veis a v\u00e1rias plataformas. Como resultado, a vers\u00e3o 6 do KAV, por exemplo, era facilmente transportada para o <a href=\"https:\/\/www.kaspersky.com.br\/internet-security\" target=\"_blank\" rel=\"noopener\">Mac<\/a>.<\/li>\n<li>Tudo funcionava muito r\u00e1pido e precisava de uma quantidade m\u00ednima de mem\u00f3ria; a Praga consumia muito menos recursos do que qualquer outro framework de objetos existente.<\/li>\n<\/ul>\n<p>Gra\u00e7as ao uso da Praga, est\u00e1vamos na vanguarda da ind\u00fastria de TI \u2013 a abordagem modular para o desenvolvimento de programas n\u00e3o era t\u00e3o avan\u00e7ada na \u00e9poca. Depois, at\u00e9 mesmo conseguimos quatro patentes nos EUA: <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>A Praga tamb\u00e9m era facilmente integr\u00e1vel a c\u00f3digos escritos em diferentes princ\u00edpios. Por isso foi inicialmente constru\u00edda em vers\u00e3o 4.0, mas apenas para resolver uma pequena gama de problemas. Foi t\u00e3o eficaz que quando outros desafios maiores apareceram durante o desenvolvimento da vers\u00e3o 5.0, Doukhvalov surgiu com a ideia de fazer uma nova solu\u00e7\u00e3o completamente baseada na tecnologia \u2013 e isso levou ao\u00a0revolucion\u00e1rio Kaspersky Anti-Virus vers\u00e3o 6, que j\u00e1 foi <a href=\"https:\/\/www.kaspersky.com.br\/blog\/a-regra-de-seis-parte-iii\/2679\/\" target=\"_blank\" rel=\"noopener\">detalhadamente apresentado<\/a>.<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"QBjwPHc8Z0\"><p><a href=\"https:\/\/www.kaspersky.com.br\/blog\/a-regra-de-seis-parte-iii\/2679\/\" target=\"_blank\" rel=\"noopener\">A regra de \u201cSeis\u201d \u2013 Parte III<\/a><\/p><\/blockquote>\n<p><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u201cA regra de \u201cSeis\u201d \u2013 Parte III\u201d \u2014 Daily - Portuguese - Brasil - www.kaspersky.com.br\/blog\" src=\"https:\/\/www.kaspersky.com.br\/blog\/a-regra-de-seis-parte-iii\/2679\/embed\/#?secret=kdXXqdvm32#?secret=QBjwPHc8Z0\" data-secret=\"QBjwPHc8Z0\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>Para transformar um \u201cplugin antiv\u00edrus\u201d em um framework para a cria\u00e7\u00e3o de um produto inteiro, algumas abordagens precisaram ser generalizadas e repensadas. As principais for\u00e7as propulsoras aqui eram Andrey Doukhvalov e Pavel Mezhuev \u2014 se n\u00e3o fosse por eles, a Praga n\u00e3o teria sido adequada a tarefas t\u00e3o complexas.<\/p>\n<p>Naturalmente, nada \u00e9 perfeito no mundo do desenvolvimento, e havia duas grandes desvantagens.<\/p>\n<p>Em primeiro lugar, resolver os bugs era dif\u00edcil. Depois, era complicado para os desenvolvedores adotarem. N\u00e3o importa o ponto-de-vista, era um sistema de objetos rec\u00e9m desenvolvido, que impunha exig\u00eancias bastante restritas ao desenho do c\u00f3digo. Al\u00e9m disso, os m\u00f3dulos inicialmente precisavam ser escritos em C puro. N\u00e3o era f\u00e1cil treinar pessoas rapidamente, e precis\u00e1vamos de mais e mais desenvolvedores conforme a empresa crescia e os projetos se tornavam mais complexos.<\/p>\n<p>Ent\u00e3o, como em qualquer outra parte da ind\u00fastria de TI, a velocidade de desenvolvimento se tornou uma prioridade, e gradativamente tivemos que mudar para frameworks de objetos mais reconhecidos e convencionais. Contudo, os fragmentos baseados na Praga ainda funcionam com sucesso em nossos produtos.<\/p>\n<p>\u00c9 claro, naquela \u00e9poca, esses obst\u00e1culos relacionavam-se puramente a recursos de processos. Podiam e deviam ser resolvidos, j\u00e1 que as vantagens de implementar a Praga superavam consideravelmente e justificavam completamente os recursos gastos. A tecnologia resolveu um dos mais dif\u00edceis (e mais caros) problemas que se tornou especialmente relevante nos \u00faltimos dez anos \u2013 a portabilidade da tecnologia (incluindo a bin\u00e1ria) para v\u00e1rias plataformas.<\/p>\n<p>Ao inv\u00e9s de criar um novo produto do zero para cada sistema operacional e processador, usamos um mecanismo para a corre\u00e7\u00e3o de bugs j\u00e1 pronto. Esse investimento em P&amp;D de longo prazo n\u00e3o penas se pagou completamente, como mant\u00e9m nossa lideran\u00e7a tecnol\u00f3gica at\u00e9 hoje \u2013 a UCA, sucessora da Praga, est\u00e1 sendo usada ao m\u00e1ximo, e ainda n\u00e3o encontramos nenhum problema insol\u00favel. Essa \u00e9 mais uma prova de que uma boa arquitetura pode resistir por d\u00e9cadas.<\/p>\n<p>Como Alexey De-Monderik gosta de dizer, a Praga desempenhou um papel muito importante na nossa empresa, e n\u00e3o apenas no sentido tecnol\u00f3gico. Um grupo de pessoas comprometidas se formou naturalmente ao redor do projeto, e mais tarde viriam a ser a equipe dos <a href=\"https:\/\/www.kaspersky.com.br\/blog\/a-regra-de-seis-parte-iii\/2679\/\" target=\"_blank\" rel=\"noopener\">famosos \u201cSeis\u201d<\/a>. Ent\u00e3o aplausos para o time!<\/p>\n<p>E parab\u00e9ns por esse inesperado pequeno anivers\u00e1rio da nossa tecnologia principal e extremamente revolucion\u00e1ria!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como nasceu uma das principais tecnologias do nosso antiv\u00edrus.<\/p>\n","protected":false},"author":13,"featured_media":10593,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[15,45],"tags":[94,178,120,391,1600,1599,255,690],"class_list":{"0":"post-10592","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-eugene-kaspersky","11":"tag-historia","12":"tag-kaspersky-lab","13":"tag-mecanismo","14":"tag-praga","15":"tag-produtos","16":"tag-tecnologias"},"hreflang":[{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/prague-1998\/10592\/"},{"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":"pl","url":"https:\/\/plblog.kaspersky.com\/prague-1998\/9520\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/prague-1998\/17357\/"},{"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.com.br\/blog\/tag\/historia\/","name":"historia"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/10592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/comments?post=10592"}],"version-history":[{"count":6,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/10592\/revisions"}],"predecessor-version":[{"id":12897,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/10592\/revisions\/12897"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media\/10593"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media?parent=10592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/categories?post=10592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/tags?post=10592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}