BRPI0616018A2 - sistemas e métodos de segurança para redes de computador - Google Patents
sistemas e métodos de segurança para redes de computador Download PDFInfo
- Publication number
- BRPI0616018A2 BRPI0616018A2 BRPI0616018-2A BRPI0616018A BRPI0616018A2 BR PI0616018 A2 BRPI0616018 A2 BR PI0616018A2 BR PI0616018 A BRPI0616018 A BR PI0616018A BR PI0616018 A2 BRPI0616018 A2 BR PI0616018A2
- Authority
- BR
- Brazil
- Prior art keywords
- file
- server
- host
- hosts
- guidelines
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
SISTEMAS E METODOS DE SEGURANçA PARA REDES DE COMPUTADOR, que consistem em sistemas e métodos de segurança que proporcionam uma defesa contra vírus conhecidos e desconhecidos, programas maliciosos, softwares espião, invasores, e softwares indesejados ou desconhecidos. O sistema pode implementar diretrizes centralizadas que permitem que um administrador aprove, bloqueie, coloque emquarentena, ou registre atividades de arquivos, O sistema mantém meta- informações de arquivos nos hospedeiros e no servidor. Um hospedeiro detecta operações de arquivos que podem provocar mudanças no conteúdo do arquivo ou no nome do arquivo, e atualiza as meta-informações do hospedeiro e/ou do servidor como resultado. As modificações das meta-informações do servidor são disponibilizadas para os hospedeiros.
Description
"SISTEMAS E MÉTODOS DE SEGURANÇA PARA REDES DE COMPUTADOR"
Campo Técnico
Grandes empresas aplicam vultosas verbas emtecnologias de informação (IT) e em sistemas de segurança com camadas IT1 noentanto, compromissos de rede e danos decorrentes de vírus, programasmaliciosos e de softwares espião são normais. As tecnologias de segurança ITatuais são dispendiosas para serem mantidas e não proporcionam proteçãocontra ameaças novas ou desconhecidas, enquanto novas ameaças sãodistribuídas, detectadas e relatadas em taxas crescentes.
Soluções de segurança que estão localizadas nosperímetros das redes, tais como firewalls, têm visibilidade limitada do tráfego derede que passa diretamente por elas. Vetores de entrada, tais como vírus de e-mails, exploradores de falhas de navegadores web, acessos sem fio, VPN's,mensageiros instantâneos e compartilhadores de arquivos geram um perímetroporoso crescente que ignora estas tecnologias. É difícil definir um perímetro emuma rede moderna que proporcione suficiente proteção e visibilidade. Muitosataques geram tráfego na rede somente depois que eles comprometeram umamáquina ou uma rede. Por exemplo, no instante em que um vírus começa aenviar e-mails a partir de uma máquina da rede, esta máquina já estácomprometida. Para parar os ataques antes que eles sejam executados, énormalmente necessário proteger os arquivos, não apenas o tráfego da rede.
Visibilidade e proteção podem ser proporcionadas por umagente hospedeiro, que é um software, algumas vezes utilizado em conjunto comum hardware, que opera em múltiplos computadores individuais, os "hospedeiros"dentro da rede. Agentes hospedeiros geralmente trabalham em paralelo,utilizando alguns dos recursos do hospedeiro para executar funções de segurançaem segundo plano. Por terem potencialmente acesso a todas as funções internase significativas de um hospedeiro, agentes hospedeiros podem teoricamentedetectar e parar ameaças em hospedeiros antes que quaisquer danos sejamperpetrados. Sistemas de segurança de agentes hospedeiros são algumas vezesdenominados Sistemas de Segurança de Ponto Final, por que eles operam nas"extremidades" da rede.
Os sistemas atuais de segurança de ponto final deempresas freqüentemente tentam detectar e bloquear ataques com padrõesconhecidos de bits, tais como varreduras ou escaneamentos antivírus (AV) evarreduras ou escaneamentos anti-software espião (AS). Varreduras com padrõesutilizam listas negras de padrões que são identificados previamente como sendoruins. Similarmente, alguns sistemas de segurança utilizam perfis detectados decomportamentos conhecidos, que podem ser descritos como uma lista negra depadrões de comportamento ruim. Em ambos os casos, as listas negras estãopermanentemente desatualizadas, incapazes de responder aos ataques que sãonovos ou desconhecidos. Listas negras também são ineficazes contra ataques,tais como de novos vírus, que podem se disseminar mais rapidamente do que acapacidade de originar, testar e distribuir atualizações de listas negras. Comodúzias de novos vírus são descobertos a cada semana, listas negras de todos ostipos se tornam cada vez mais ineficazes. Padrões de comportamento sãocomplexos para serem desenvolvidos e testados, e como resultado apresentamalta taxa de alarmes falsos; isto é, eles erroneamente concluem que umcomportamento é ruim quando de fato ele é benigno. Como os novos ataquesevoluem, o comportamento muda, o que leva a erros e a falhas de detecção. Ficaraguardando até que um ataque, como o de um vírus, exiba mau comportamento,faz com que a máquina afetada já esteja comprometida. Em resumo, listas negrastentam rastrear o que já se sabe que está errado, enquanto que o que está erradoestá constantemente mudando.
Outra tecnologia de ponto final de empresas é a detecçãode anomalias. Esta pode ser vista como uma listagem negra comportamental queé determinada estatisticamente através da observação do comportamento pordeterminado tempo. Ao herdar adicionalmente as deficiências das listas negrascomportamentais, a detecção de anomalias adiciona novos modos de erros porserem os comportamentos bons e ruins estimados estatisticamente, portantoerros estimativos certamente existem. Este processo freqüentemente conduz aaltas e inaceitáveis taxas de alarmes falsos e de falhas de detecção.
Outra classe de segurança de ponto final limita aexecução apenas de programas que constem em listas brancas, que são listas depadrões de programas conhecidamente bons. Se um programa não estiverincluído na lista, ele não roda. Um sistema deste tipo não é suficientementeflexível para uma empresa tipicamente moderna, e as listas brancas resultantessão difíceis de serem mantidas. Por exemplo, a maioria das grandes empresasprepara programas personalizados que são desenvolvidos na casa e que mudamfreqüentemente. Além disso, estes programas podem conter propriedadeintelectual sensível e riscos de segurança que não devem ser expostos a umaterceira parte. É improvável que um vendedor de listas brancas tenha acesso parapré-aprovar um software deste tipo em tempo hábil. Outros exemplos sãosistemas operacionais e outras atualizações. Novamente, não existe umainstituição central ou uma autoridade central que possa certificar que certosprogramas ou atualizações são bons para todas as empresas. Os modos de falhade sistemas de listas brancas são severos, bloqueando o acesso a aplicaçõescríticas, mas ainda não aprovadas, e a funções comerciais.
Como resultado, sistemas que classificam o acesso aoconteúdo de arquivos de modo centralizado em apenas dois estados, Aprovado eBanido, terão problemas com condições de disputa (temporização). Uma grandequantidade de softwares não se encaixa com clareza em nenhuma destascategorias, e não existe uma autoridade central que seja acreditadauniversalmente para todos os softwares dentro de uma empresa. Mesmo que istonão seja um fator relevante, pode levar tempo para classificar o softwareintermediário. No caso de um novo vírus, pode-se levar de 6 a 48 horas, ou mais,para classificar um vírus como sendo ruim, e neste tempo gerar uma condição depandemônio. Portanto, mesmo com uma forte conectividade de rede dohospedeiro à autoridade central de aprovação, pode levar mais do que algunsminutos para detectar e analisar um novo software. Para adicionartransparentemente esta autorização baseada em conteúdo a um sistemaoperacional em segundo plano, os retardos devem ser tipicamente menores queum minuto, ou de outra maneira o intervalo de tempo do sistema de arquivos podese esgotar, e erros falsos de bloqueio de acesso podem ocorrer.
Fundamentos da InvençãoSistemas de segurança como os aqui descritos permitemque um administrador detecte, monitore, localize, identifique e controle arquivosinstalados em uma grande rede de computadores. O sistema pode proporcionaruma defesa contra vírus conhecidos e desconhecidos, programas maliciosos,softwares espião, invasores, softwares não aprovados / não desejados (porexemplo, aplicações de software que são contrárias à diretriz comercial corrente)e ataques de engenharia social. Os administradores podem acessar informaçõesdetalhadas e estatísticas de novos executáveis, roteiros, e roteiros embarcados àmedida que eles aparecem e se espalham pelos sistemas em rede. O sistemapode implementar diretrizes centralizadas que permitem que um administradoraprove, bloqueie, coloque em quarentena e registre atividades de arquivos. Osistema também pode coletar informações detalhadas indicadas para diagnosticare localizar arquivos problemáticos ou ataques. O sistema oferece visibilidade,controle e proteção para instalações de computadores de grande porte.
A arquitetura do sistema preferencialmente incluisoftwares agente que rodam em cada hospedeiro protegido, e um servidor,referenciado como sendo um "servidor", que proporciona diretrizes centralizadasde gerenciamento, monitoramento de eventos, coordenação de agentes evarredura de vírus. O servidor pode ser implementado como sendo um utensílio (oque geralmente sugere um dispositivo de funcionalidade mais limitada). Um únicoutensílio pode suportar muitos hospedeiros, por exemplo, 10.000 hospedeiros.
Um servidor adicional ou utensílio, algumas vezes denominado "super servidor",pode monitorar múltiplos utensílios.
O software agente rodando em cada computadorhospedeiro protegido, analisa a atividade do sistema de arquivos e toma açõesbaseadas nas diretrizes configuradas nos servidores. Em uma implementação,quando um hospedeiro tenta abrir ou escrever um arquivo, o software agentecalcula uma tabela de espalhamento (hash) do conteúdo do arquivo paraidentificar o arquivo com exclusividade para o sistema. O software agente utilizaesta tabela de espalhamento para verificar o estado e as diretrizes para o arquivo.
Baseado nesta informação, o software agente pode bloquear uma operação,registrar um evento, colocar um arquivo em quarentena, ou tomar outras açõesespecíficas.
O sistema também incorpora muitos outros recursos quepodem ser úteis de modo combinado ou individualmente, incluindo a habilidadede extrair arquivos de outros arquivos, a habilidade de extrair macros de arquivos,o rastreamento centralizado e a análise de conteúdo, e uma função de "encontrararquivos" descrita neste documento.
Os sistemas aqui descritos podem utilizar pelo menosdois estados adicionais: Pendente, que representa um nível de ameaçaintermediário e menos definido, e Localmente Aprovado, que é Aprovado para umhospedeiro mas não necessariamente Aprovado para a autoridade central (econseqüentemente para todos os outros hospedeiros). O último permite quehospedeiros divirjam levemente da linha que serve de base. O estado Pendentepermite que hospedeiros bloqueiem ou permitam acesso a novos conteúdos,baseados em vários níveis de ameaças e em diretrizes empresariais de utilização.Apesar de utilizarem a terminologia binária comum de aprovação, Aprovado ouBanido, a divisão da aprovação em 3 - 4 estados resulta em capacidadesdiferentes e melhoradas para cada estado individual. De um modo geral, umsoftware que é novo e que ainda não foi classificado está Pendente. Estadostradicionais de acessos binários para softwares (banido / aprovado) não sãosuficientemente flexíveis, e sistemas de classificação deste tipo também não sãoescaláveis.
A designação de um software como novo / Pendente éconveniente. A maioria das empresas utiliza alguma forma de diretriz "nãoexecutar o novo", tal como "funcionários não estão autorizados a baixar e a rodarsoftwares não aprovados da Internet". Mesmo assim, as empresas não têm comodetectar softwares novos enquanto eles se propagam, até que seja tarde demais,não sabem quando suas diretrizes estão sendo violadas, e não têm meios deefetivamente reforçar suas diretrizes. Através do rastreamento de novosprogramas Pendentes enquanto eles estão sendo modificados / escritos em umsistema de arquivos, um agente hospedeiro pode detectar e relatar um novoconteúdo, em tempo real, quando ele entra na rede através de qualquer meio,seja por e-mail, mensageiro instantâneo, download, memória USB, Iaptop móvel,etc. Com a identificação de programas como Pendentes, algumas diretrizesescaláveis, simples e efetivas são possíveis, tais como: "Permita, mas alertequando o hospedeiro rodar novos executáveis" ou "Nenhum programa novo nãoaprovado pode ser instalado ou rodar neste grupo de hospedeiros" ou "Alertequando o mesmo programa novo não autorizado aparecer em mais de Nhospedeiros em 24 horas". Desta maneira, programas novos podem serlocalizados com segurança, rastreados e analisados enquanto estão bloqueados.Outros softwares comerciais aprovados continuam rodando. Softwares novos eaprovados podem ser instalados e rodar, tais como atualizações AV eatualizações de segurança. Este enfoque é uma resposta proativa, protegendocontra softwares desconhecidos e possivelmente maliciosos, permitindoprodutividade e ganhando tempo de análise por não requerer atualizações críticasem tempo de listas negras ou listas brancas.
Os sistemas existentes de arquivos de listas brancas oulistas negras tendem a ser de natureza global, visto que é muito difícil manter umgrande número de listas separadas centralmente, uma para cada hospedeiro.Como descrito aqui, os hospedeiros podem manter as suas próprias listas, quepodem divergir da lista central. Particularmente, este pode ser o caso com osestados Local Aprovado e Pendente, e é freqüentemente verdadeiro com estadosbaseados em nomes, tais como NomeBanir e NomeAprovar. Como "nome" égeralmente uma propriedade local, estes estados podem divergir dos estadoscontrolados centralmente. Por exemplo, se um arquivo "foo" tiver umadeterminada tabela de espalhamento=x (hash=x) e um estado Pendente de umservidor central, em um hospedeiro o arquivo poderia ser Local Aprovado ouNome-Banido ou Nome-Aprovado, os últimos dois dependendo do nome local doarquivo no hospedeiro. Os sistemas aqui descritos possibilitam o gerenciamentoeficiente e a implementação de diretrizes de milhares de propriedades de nomes,aplicadas simultaneamente a cada arquivo de cada hospedeiro. O estadoNomeAprovar permite capacidades flexíveis de aprovação local e de aprovaçãocentral, baseadas nos locais onde arquivos são criados no hospedeiro. Emconjunto com grupos de hospedeiros, isto permite especificações exatas, flexíveise eficientes de onde e em qual hospedeiro o novo conteúdo é aprovado.Mesmo com este sistema novo e flexível de diretrizes, asempresas normalmente necessitam reforçar diferentes diretrizes para diferentesregras e situações. Por exemplo, administradores IT e desenvolvedores internosde software podem precisar rodar cuidadosamente novos softwares, enquantoque outros funcionários requerem apenas um pequeno conjunto padronizado deaplicações relativamente estáticas. Esta situação pode mudar rapidamente sobcondições de ataque. Por exemplo, se um vírus for detectado em mais do que Nhospedeiros, pode fazer sentido expandir o escopo da diretriz "não executar onovo". Esta flexibilidade e a resposta incrementai é uma vantagem do sistema de"Controle Paramétrico de Conteúdo", aqui descrito, comparado com sistemasrígidos que não conseguem se adaptar a diretrizes variáveis dentro de umaempresa e sob diferentes condições. O "Controle Paramétrico de Conteúdo"permite um modo flexível de travamento que pode ser gerenciado centralmente eser rapidamente variado, baseado nas condições da rede e do hospedeiro. E istopermite restrições e aprovações incrementais de conteúdo de arquivos e/ou dearquivos baseados em nomes.
Ao contrário de outras tecnologias de segurança de pontofinal que processam credenciais de usuários de hospedeiros, identificadores deprocessos, fontes de dados (URL), estruturas de diretórios e descritores desegurança de sistemas operacionais, o sistema aqui descrito não necessitautilizar estes fatores como parte das diretrizes do hospedeiro. Em um hospedeiro,estes fatores podem ser inseguros e podem ser vulneráveis a concessões, epodem impedir a escalabilidade. Estes fatores resultam em diretrizes menosescaláveis, pois diretrizes afinadas podem interagir através de uma variedade dehospedeiros em modos complexos. Mesmo que um sistema operacional estejacomprometido e um ataque ganhe privilégios administrativos com todos osdescritores associados de segurança, uma diretriz "não executar o novo" como adescrita aqui irá proporcionar substancial proteção.
O sistema de "Rastreamento de Conteúdo" utiliza estadosadicionais, tais como Pendente, para monitorar e analisar novos conteúdos àmedida que eles se movem através da rede. As tecnologias atuais não permitemvisibilidade global central e o rastreamento de cada arquivo executável novo,através de um grande número de hospedeiros, em tempo real. Sistemas de PontoFinal baseados em varredura de arquivos de sistema, tais como varredores AV eaplicativos de inventário de hospedeiros tais como o Tripwire, rastejamlentamente e periodicamente através de grandes sistemas de arquivosprocurando por softwares novos ou que tenham sido modificados. Esta é umaoperação tipicamente disruptiva para o hospedeiro, pode levar horas deexecução, e normalmente é programada para ser executada ao menos uma vezpor dia. Ao focalizar aquilo que é novo e armazenar esta informação na memória,o sistema de Rastreamento de Conteúdo é mais escalável e responsivo. Como éraro que novos softwares apareçam e que nunca tenham sido visualizados por umhospedeiro em um grande número N, e como é raro que muitos hospedeiros Mtenham visualizado este novo software em um curto período de tempo, relatórios,respostas e análises são facilitados por essa distinção.
Uma vez que um novo software é detectado, pode ser útillocalizá-lo e identificá-lo em um tempo relativamente curto. Se um novo softwarefor um ataque e estiver se espalhando, é desejável responder muito rapidamente.Novamente, as tecnologias correntes conseguem localizar arquivos novos únicosem hospedeiros únicos em uma rede, em uma escala de tempo de vários minutosa horas. Mesmo em um hospedeiro único, encontrar um arquivo muito novo pelonome ou pelo conteúdo pode levar 15-60 minutos, o que terá impacto negativono desempenho do disco do hospedeiro enquanto a consulta é processada. Nosúltimos 20 anos, os discos rígidos se tornaram muito maiores em termos decapacidade de armazenamento de bytes, porém não aumentaramproporcionalmente em termos de velocidade. O recurso "Consulta de Meta-Informação Distribuída" acelera a localização e a identificação de atributos chavede arquivos em segundos, através de um grande número de hospedeiros(milhares), com consultas centralmente especificadas e resultados centralmentereportados, e com pequeno ou nenhum impacto nos discos dos hospedeiros. Aocontrário das tecnologias tradicionais de rastreamento que fazem o rastreamentoem todos os arquivos, incluindo aqueles que não foram modificados, estainvenção rastreia modificações de arquivos na memória enquanto os arquivosestão sendo modificados, e isto proporciona um meio eficiente para consultarhospedeiros por meta-informações de arquivos da memória. Processar estainformação centralmente proporciona, pela primeira vez, visualizaçõesresponsivas globais do movimento de arquivos individuais através de coleções desistemas hospedeiros de arquivos. Finalmente, sendo um serviço de segurança, éimportante que o hospedeiro conecte ao, poste no, e faça consultas ao servidorcentral. Esta é uma parte importante da invenção, pois ela permite quehospedeiros sejam separados de servidores por um ou mais firewalls oudispositivos NAT, e o difícil problema de proteger o soquete de uma rede adicionalde hospedeiros nos modos aceite / escute é evitado.
Sistemas atuais de agentes hospedeiros de ponto finalque utilizam análise de conteúdo têm problemas com a atualização de agenteshospedeiros. Por exemplo, para que sistemas de varredura AV sejam maiseficientes, eles devem ser atualizados dentro de horas ou minutos após umaatualização ter sido colocada à disposição. Quaisquer hospedeiros com sistemasAV atrasados encontram-se em risco, e muitos sistemas AV estãoinadequadamente configurados, resultando em atrasos de atualização. Em razãodeles não rastrearem eficientemente modificações em arquivos, sistemas devarredura AV geralmente levam um tempo relativamente longo para responder anovos conteúdos escritos em um sistema de arquivos. Além disso, as tecnologiasatuais de análise de conteúdo de hospedeiros reanalisam desnecessariamentearquivos sem levar em conta fatores de segurança. Por exemplo, é maisimportante analisar novos conteúdos mais freqüentemente, quanto mais novoseles forem. Se um arquivo permaneceu completamente inalterado em uma redepor 2 anos, é muito provável que ele não necessite ser escaneado a cada dezminutos. Entretanto, se um novo arquivo está se espalhando através de umarede, com início há dez minutos atrás, o escaneamento freqüente do arquivo nosprimeiros dois dias faz sentido. Com o passar do tempo existem geralmentemenos e menos novas informações sobre novos arquivos maliciosos executáveis.O recurso "Análise Centralizada em Tempo Determinado" trata destas questões.Apenas um agente de análises necessita ser atualizado, o agente central, e todosos hospedeiros se beneficiam disto imediatamente. Existe uma menorpossibilidade de uma configuração de hospedeiro interferir com as atualizaçõesde análises de conteúdo. Através do rastreamento de apenas arquivos novos eatravés da programação de análises baseadas na idade (tempo) exposta à rede,novos conteúdos ruins podem ser localizados e identificados eficientemente emais rapidamente. Finalmente, muitas tecnologias de análise de conteúdo deponto final, tais como tecnologias AV1 são fortemente integradas com o sistemaoperacional. Como resultado, pode ser dificultoso colocar diversos agentes deinspeção de conteúdo de diferentes vendedores em um hospedeiro. Adiversificação das tecnologias de análise melhora a exatidão de detecção eclassificação. Novamente, a invenção soluciona este problema com a utilizaçãode um servidor central para despachar análises a diferentes servidores, senecessário.
Conteúdos executáveis (arquivos exe) e macrosembarcadas (macros embarcadas dentro de documentos Microsoft Office) tendema se propagar em conjuntos ou grupos. Um documento de processamento detextos pode conter 10 macros, e ter tamanho superior a 30 MB, no entanto asmacros apenas ocupam uma fração deste espaço. Um grande pacote deinstalação pode ter centenas de MB de tamanho, e ainda assim as porçõesexecutáveis de sua arquitetura interna ocupam tipicamente apenas uma pequenaparte do tamanho total. Vírus viajam freqüentemente através de e-mails emarquivos anexos, tais como arquivos zip, para evitar a detecção. Dentro destesarquivos, a carga útil do vírus pode ser pequena. Em todos estes casos, arquivos"contêineres" maiores podem obscurecer a propagação de novos códigos nãodesejados. O recurso "Extrator de Conteúdo" atende a uma variedade daslimitações correntes através da preservação das relações (aninhadas) decontêineres, e simultaneamente facilita: o rastreamento do conteúdo, orastreamento de contêineres similares, o rastreamento de associações deprodutos, a minimização de reanálises desnecessárias, a minimização da largurade banda na transferência de arquivos, preservando a compatibilidade com outrastecnologias de análise e reempacotando o conteúdo de acordo com outros tiposde arquivos conhecidos. O armazenamento central, o rastreamento de conteúdo ea programação central de análises relacionadas ao tempo da primeira aparição doconteúdo, proporcionam vantagens poderosas em termos de segurança,visibilidade global, integração de sistemas de gerenciamento de empresas, efuturas expansões.
Enquanto que os sistemas aqui descritos foramdiferenciados de outros sistemas, tais diferenciações não significam renúncia àcobertura de reivindicações a estes sistemas. Os sistemas e recursos aquidescritos podem ser fornecidos como um grupo ou separadamente, e em muitoscasos, podem ser integrados em sistemas existentes e conhecidos, incluindo osidentificados acima.
Outros recursos e vantagens se tornarão aparentes apartir dos desenhos seguintes, descrições detalhadas e reivindicações.
Breve Descrição dos Desenhos
A Figura 1 é um diagrama em blocos mostrando umavisão geral de um sistema de segurança como o aqui descrito.
A Figura 2 é um diagrama em blocos muito maisdetalhado mostrando componentes do sistema da Figura 1.
A Figura 3 é um fluxograma ilustrando um processo paraexecutar uma análise.
As Figuras 4-5 são esquemas de processos realizadospelo sistema.
A Figura 6 é um gráfico mostrando um exemplo de umaanálise em tempo.
A Figura 7 é um fluxograma de passos executadosdurante uma análise em tempo.
A Figura 8 é um esquema de um processo de extração deconteúdo.
Descrição Detalhada da Invenção
Com referência à Figura 1, um sistema, tambémreferenciado como um sistema digital anticorpo (DAS) 10, permite que umadministrador monitore, entenda e controle arquivos instalados em uma granderede de computadores, e proporciona uma defesa contra vírus conhecidos edesconhecidos, programas maliciosos, softwares espião, invasores e ataques deengenharia social, bem como contra softwares não aprovados (por exemplo,compartilhadores de arquivos de uso não comercial). O sistema inclui um ou maisservidores, um dos quais é mostrado aqui como servidor 14 (utensílio). Esteservidor fornece diretrizes centralizadas de gerenciamento, monitoramento deeventos, coordenação de agentes e análise de conteúdos (por exemplo, varredurade vírus e softwares espião). Um servidor pode suportar inúmeros hospedeiros12, por exemplo, centenas ou milhares de hospedeiros. O servidor tambémmantém uma base de dados de metadados relacionados a análises, tais comohistóricos de varreduras e estados de aprovação, com respeito a arquivos eprogramas. Estes metadados são referenciados como um "anticorpo" para cadaum dos arquivos e programas.
Cada hospedeiro protegido 12 tem um agente hospedeiro16, preferencialmente implementado por software. Ele analisa a atividade desistemas de arquivos e toma ações baseadas em diretrizes configuradas em umservidor. Estas diretrizes, descritas com mais detalhes abaixo, identificam sedevem bloquear, registrar, permitir ou colocar em quarentena, ações tais comoacessos a arquivos e a execução de executáveis. Cada agente hospedeiro 16 temum armazenamento local "anticorpo" 16, que é um cache ou memória rápida demeta-informações relacionadas a arquivos, e um motor de diretrizes paramétricas20 para a implementação das diretrizes do servidor 14.
O servidor 14 tem um determinado número de funções einterfaces. As interfaces incluem a interface de comunicação do hospedeiro 22para a comunicação com os hospedeiros, uma interface gráfica de usuário (GUI)baseada na web para a comunicação com consoles administrativas 26 através deum programa navegador, uma interface de relatórios 26 para servir de interfacecom sistemas de gerenciamento de empresas 28, e uma interface de análiseremota 30 para a comunicação com serviços de análise de conteúdo 32 (porexemplo, varredores de vírus e softwares espião). O servidor 14 também inclui umbloco de análises 34 e um armazenamento mestre anticorpo 36, que se comunicacom serviços de análise anticorpo 38 e que armazena uma lista mestre deanticorpos para o hospedeiro associado. Os serviços 38 podem incluir umaautoridade de certificação externa com informações adicionais associadas aosanticorpos, como por exemplo, a classificação de um anticorpo como sendo ummembro de um determinado pacote de produtos, tal como o Microsoft Office.
A Figura 2 mostra uma vista expandida do sistema e deseus componentes, incluindo o servidor 14, o hospedeiro 12 com porções deusuário e de núcleo, uma outra rede e serviços web 40. Como ilustrado aqui, oservidor incorpora um bloco de processamento e armazenamento de novosarquivos 42, que inclui cópias de arquivos recentes que apareceram na rede, ummotor de análises programadas 44 para a identificação de arquivos eespalhamentos que devem ser analisados, um assinador de conteúdo 46 paracriar espalhamentos criptografados de conteúdos utilizando algoritmos tais comoo MD5 e o SHA-1, um armazenamento mestre anticorpo 36, um gerenciador deconfigurações 50 e serviços de registros e relatórios 52. O servidor interage comos serviços de rede e web 40 incluindo a execução de análises 54, varredura AV(ou de outro conteúdo) 56, e serviços de gerenciamento 57.
A porção usuário 60 do hospedeiro 12 conta com umamemória cache anticorpo 64 para manter as atualizações da base de dados 34por ambos o nome e a data, com o processamento de arquivos e eventos 66, comum motor de análises 68, com um extrator de conteúdo 70 para a extração deconteúdo de interesse e para a associação de grupos de conteúdo individual emum pacote, com um assinador de conteúdo 72 para a criação de espalhamentoscriptográficos dos conteúdos, com um resolvedor de estados 74 de meta-informações (Ml) do servidor, para verificar a memória cache anticorpo 64 para oanticorpo e para verificar o servidor para o anticorpo, e com um resolvedor deestados de arquivos 76, para verificar o progresso do carregamento de conteúdopara o servidor e para a verificar a certificação do servidor no carregamento.
A porção núcleo 80 do servidor 12 tem uma memóriacache 82 para o salvamento de anticorpos organizados por nome de arquivo, euma memória cache 84 de operações recentes com arquivos e informações dearquivos. O núcleo também tem uma função de interceptação / bloqueio 86 querecebe e intercepta requisições de operação de arquivos, e que fornece estasrequisições a um filtro de estado 88 que primeiramente verifica a memória cachede operações recentes de arquivos 84. Se não existir coincidência, ele verifica osdisparadores e o bloco de ações 90 que mantém as diretrizes de segurança. Estebloco 90 é acoplado a um bloco "defcon" 92, que tem um valor que indica umnível de segurança para o sistema, e a um motor de diretrizes 94 que governa osblocos 82, 90 e 92, para controlar várias operações com arquivos incluindoexecuções, leitura de arquivos, escrita de arquivos e outras ações. Osdisparadores e o bloco de ações 90 se comunicam com a memória cacheanticorpo, que verifica por meta-informações em arquivos baseadas em seusnomes. O motor de diretrizes 94 também controla ações, tais como bloqueios,relatórios, ou a permissão de execução de arquivos e a geração de relatórios parao usuário.
O sistema incorpora numerosos métodos e aspectos paraa utilização deste sistema de segurança, muitos dos quais podem ser utilizadosindividualmente ou combinados com outros. Estes métodos e aspectos serãodescritos com mais detalhes abaixo.
Um aspecto é a utilização da varredura centralizada paraa verificação de documentos e executáveis, e para manter um espalhamento queindica se os dados foram previamente verificados. Os valores de espalhamentopodem ser armazenados em um banco de dados e também verificados em umhospedeiro local.
Outro aspecto é a utilização de um parâmetro definidocentralmente, algumas vezes designado como "D" ou "Defcon", que controla asdiretrizes dos hospedeiros. Esta diretriz e o parâmetro central podem seraplicados a todos os hospedeiros, ou a um grupo selecionado de hospedeiros. Oparâmetro pode ser definido manualmente por um operador ou pode ser ajustadopelo sistema sem intervenção humana, tipicamente em resposta a algum evento.
As diretrizes podem incluir bloqueios ou permitir determinadas ações, ou podemfazer uma ação pendente, que a faz autorizada, sujeita ainda a operações demonitoramento tais como registro. Um estado pendente apresenta múltiplosbenefícios, incluindo o ato de levar em conta latências do sistema, bem como aimplementação de diretrizes que não se enquadram nos modelos bináriostradicionais de aprovar / banir. Estas latências incluem o tempo antes que códigosperigosos sejam identificados, durante defeitos no sistema, ou o tempo em queum hospedeiro está desconectado da rede.Ainda em outro aspecto, um servidor central podeespecificar uma consulta de meta-informações e distribuir esta consulta a todosou a um grupo selecionado de hospedeiros. Estes hospedeiros realizam aconsulta a partir de um armazenamento local de meta-informações e enviam osresultados de volta ao servidor, o que pode fazer com que o servidor ajuste oparâmetro.
Em outro aspecto posterior, o sistema inclui um métodode proteção contra a disseminação de vírus de macros que podem estarembarcados dentro de outros documentos. Esta funcionalidade pode ser utilizadacom macros Visual Basic, mas os métodos também podem ser aplicados aqualquer outra linguagem de macros que o Visual Basic.
Em um outro aspecto, todas as cópias de novos arquivossão mantidas em um diretório especial em um servidor 42. Análises adicionaispodem ser executadas baseadas em temporizadores, e podem ser executadasdias após o arquivo ter sido visualizado pela primeira vez. Após um período detempo da primeira aparição de um arquivo, tal como 30 dias, o arquivo pode serreescaneado contra vírus, softwares espião ou outros problemas, e o sistemapode tomar ações dependendo dos resultados. Por exemplo, uma análise queindica que um vírus está contido em um arquivo faz com que a entradacorrespondente do Banco de Dados Anticorpo 36 seja incluída em um estadoBanido. Esta mudança, em conjunto com outras mudanças no Banco de DadosAnticorpo, será propagada para os Hospedeiros.
Parâmetro Definido Centralmente e Diretriz de Conteúdo Paramétrico
A segurança do sistema é baseada em diretrizes que sãodefinidas em cada servidor e propagadas a todos os hospedeiros associados ougrupos de hospedeiros, através de técnicas empurra e/ou puxa. Estas diretrizesse relacionam com o que pode ser feito com executáveis e arquivos, tal comoleitura, execução e escrita, com o que fazer quando eles são alterados porhospedeiros, como escaneamentos são rodados, como os registros são feitos, emuitas outras funções, e para cada diretriz (por exemplo, quais operações podemser feitas com um executável recentemente visualizado) pode existir um númerode opções de diretrizes (tais como banir, permitir, ou permitir e registrar). Asdiretrizes podem ser baseadas no conteúdo (dados) de um arquivo, ou no nomedo arquivo, ou em uma combinação. O conteúdo pode ser definido por umaassinatura, tal como um ou mais espalhamentos criptográficos. Uma listagem nãoexclusiva de amostras de diretrizes inclui:
1. Bloquear / registrar a execução de novos executáveis eroteiros destacados (por exemplo, *.exe ou *.bat)
2. Bloquear / registrar a leitura / execução de novoconteúdo embarcado (por exemplo, macros em *.doc)
3. Bloquear / registrar a instalação / modificação deconteúdo Web (alteração de conteúdo em arquivos *.html ou *.cgi)
4. Permitir atualizações para diretrizes tais como (3)acima
5. Autoaprovação de arquivos que tenham passado porduas varreduras de vírus (por exemplo, definir o estado correspondente doarquivo para Aprovado)
6. Bloquear / registrar a instalação / execução de arquivosespecificamente banidos pelo administrador
7. Colocar em quarentena / apagar / registrar arquivosinfectados pelos dados
8. Colocar em quarentena / registrar arquivos infectadospelo nome
9. Bloquear / registrar a execução de novos arquivos emuma "classe" administrativamente definida; por exemplo, um administradorpoderia querer bloquear protetores de tela *.scr, mas não a classe inteira deexecutáveis *.exe, *.dll, *.sys, etc...
10. Registrar quando arquivos específicos são copiadospara mídias removíveis
11. Bloquear / registrar a execução de novos executáveis,roteiros e conteúdos embarcados, exceto em um determinado diretório, isto é,permitir que um usuário crie novos roteiros ou executáveis em um diretórioespecial mas protegendo o restante do sistema de arquivos
12. Diferentes diretrizes para hospedeiros desconectados,conectados remotamente ou conectados localmente
13. Listar hospedeiros / caminhos que contém um arquivoespecífico por dados ou por nome
14. Listar hospedeiros com executáveis bloqueados,roteiros, e roteiros embarcados
15. Listar hospedeiros / caminhos com arquivosinfectados ou banidos
16. Auto-aprovar arquivos de serviços definidos deatualização, por exemplo, se forem de fontes confiáveis
17. Bloquear / registrar a execução de arquivosespecificamente banidos pelo administrador para grupos específicos dehospedeiros (isto é, existe mais de um grupo)
18. Desativar completamente o sistema hospedeiro porrazões de desempenho e testes.
19. Auto-aprovar um arquivo após um período de tempo(configurável pelo usuário)
20. Permitir que um novo arquivo seja instalado /executado até χ vezes (configurável pelo usuário). Bloquear qualquer outrainstalação e/ou execução até a aprovação.
21. Aprovar localmente novos arquivos à medida que elessão escritos
22. Aprovar centralmente novos arquivos à medida que eles são escritos
O servidor pode manter uma ou mais diretrizes para cadagrupo de hospedeiros, e cada diretriz é variavelmente reforçada de acordo comum parâmetro que é centralmente definido e que indica as opções para asdiretrizes. Estas diretrizes e opções podem ser logicamente organizadas em umarranjo bidimensional, no qual o parâmetro de fato se move ao longo de umadimensão para selecionar as opções de diretrizes das variadas diretrizes. Esteparâmetro é referenciado aqui como um valor D. Todos os hospedeiros podem terum valor para D, ou subgrupos lógicos de hospedeiros podem ter seus própriosvalores D, por exemplo, hospedeiros do departamento de vendas podem seratribuídos com D=1 e hospedeiros do departamento de marketing podemsimultaneamente ser atribuídos com D=2. Em uma implementação, hospedeirosverificam (sondam) o servidor para determinar se o valor D mudou. Assim quecada um dos hospedeiros descobre que o valor de D mudou, cada um delescomeça a se "mover" para o novo valor de D. Este movimento pode ser feito emetapas. Estas sondagens podem ser providenciadas como mensagens de rede dohospedeiro para o servidor. O valor D controla as ações das diretrizes. Para umadada diretriz (por exemplo "Nenhuns Novos Executáveis" ou "Nenhuns NovosRoteiros"), D=2 bloqueia ações de violação de diretrizes (neste caso, a execuçãode um "novo executável"), D=4 alerta (alarme silencioso para o servidor) maspermite, e D=6 permite e não alerta de forma alguma. Indiferentemente se D=2, 4ou 6, o hospedeiro continua preferencialmente a notificar e a gravar novosexecutáveis à medida que eles são escritos. Enquanto que os exemplos aquidescritos utilizam um valor numérico para D, D pode ter um "valor" expresso emletras, palavras, ou qualquer combinação de letras e numerais.
O valor D também controla a ativação das diretrizes. Parauma dada diretriz (por exemplo "Nenhuns Novos Executáveis" ou "NenhunsNovos Roteiros"), D=1 habilita a diretriz "proteção contra escrita", e assim novosexecutáveis não podem ser escritos de forma alguma, D=8 desabilitacompletamente todas as diretrizes e os casos D=2, 4 e 6 podem ser definidoscomo explicitado acima. Neste caso, D=8 pode inclusive desabilitar a notificaçãoda diretriz quando novos executáveis são escritos.
Enquanto que o valor de D pode ser definido centralmenteem um servidor, ele é implementado localmente em um hospedeiro. Ele pode serdefinido por um administrador através de uma interface gráfica de usuário (GUI)em uma console administrativa com a utilização de um navegador conectado aum servidor, ou através do Protocolo de Gerenciamento de Redes Simples(SNMP). Os valores D são considerados valores "alvo"; os hospedeiros tentam seaproximar o máximo possível desse valor, o que pode demandar segundos ouminutos. Em alguns casos, um hospedeiro pode divergir localmente de um valoralvo de acordo com a definição do servidor. Um programa com linha de comandopode ser invocado no hospedeiro, ou o usuário pode ser questionado por certosvalores de D1 e o valor alvo de D pode ser sobrescrito. Este recurso pode ser útil,por exemplo, nos casos nos quais uma máquina individual requer que a suasegurança seja desabilitada (D=8) e quando não existe conectividade de redecom o servidor. Determinadas ações podem mudar automaticamente o valor de Dno hospedeiro, tal como a detecção de uma atualização de um programaautorizado (por exemplo, uma atualização antivírus).
As diretrizes refletem um compromisso entre a segurançae a usabilidade. Nos exemplos acima D=8 é maximamente utilizado, eminimamente seguro - nenhuma restrição é ativada, e os agentes hospedeirossão efetivamente desabilitados de bloqueios e rastreamentos. À medida que D semove em direção à máxima segurança (D=1), mais e mais diretrizes restritivassão ativadas, e as ações executadas quando as diretrizes são violadas se tornammais e mais severas. Estados solicitados são desejáveis porque eles são maisfáceis de visualizar e testar (geralmente, alguém pode testar os pontos finais quedevem ser testados, tais como D=1 e D=8). Com estados solicitados o número dearquivos e usuários se torna sucessivamente mais acessível ou mais restritivoquando o valor é aumentado ou diminuído. Estes estados solicitadosnaturalmente refletem compromissos entre a segurança e a usabilidade.
À medida que D é modificado em um sistema vivo,condições de disputa podem ocorrer. O problema básico é que uma instalação demúltiplos arquivos pode se tornar "meio-bloqueada" ou "meio-instalada" se o valorde D for mudado de 8 1 durante a instalação de um programa. Como resultado,certas transições D podem disparar estados de reanálise de arquivos anticorpo etransformações de estados de massa de arquivos anticorpo.
Modificações locais D podem ser, algumas vezes,causadas por disparos locais de diretrizes. Normalmente, D é definidocentralmente no servidor. Mas, algumas vezes, uma diretriz de um hospedeirolocal é disparada, o que então faz com que o valor D do hospedeiro local mude.Isto é útil, por exemplo, para completar uma instalação em um sistema bloqueado(D=2). Continuando com este exemplo, a instalação de drivers de impressora emD=2 pode de outra forma resultar em problemas, porque alguns dos novosarquivos de instalação desempacotados necessitam ser executados paracompletar a instalação. Além disso, diferentes máquinas hospedeiro podem sernecessárias para desempacotar e executar diferentes programas para completara instalação (por exemplo, Windows 2000 e Windows XP). Neste caso, aexecução de um determinado tipo de arquivo anticorpo, um programa"printer_setup.exe", irá mover o local D deste hospedeiro de 23, o que é umestado levemente mais fraco e que automaticamente aprova localmente apenasestes novos arquivos de instalação e suas descendências.
O valor de D pode ser modificado dependendo do tipo deconectividade, seja ela local (em uma LAN cabeada), remota tal como através deum modem de telefone ou rede virtual privada (VPN), ou completamentedesconectada. O agente hospedeiro armazena, portanto, um conjunto de valoresespecificados de D para estes tipos de conectividade e então automaticamente osseleciona do conjunto em resposta a uma mudança, por exemplo, quando umusuário desconecta o hospedeiro da LAN. Também, diferentes valores de Dpodem resultar em diminuições de relatórios, registros e rastreamento dedetalhes.
Diretrizes também podem ser definidas a partir de umservidor central, algumas vezes referenciado como sendo um "super servidor",que pode controlar muitos servidores / servidores. Assumindo-se que cadaservidor controla 2.000 hospedeiros, e que existem 1.000 super servidores, éimprovável que um comando do super servidor definido como D=1 sejaapropriado para todos os 2.000.000 de hospedeiros. Ao invés disso, o superservidor pode comandar todos os servidores e hospedeiros para ter um D fortecomo localmente permitido. Desta forma alguns servidores, e seus hospedeirosconectados, irão aos seus limites, por exemplo, D=2. Outros servidores poderiamir para D=I1 mas então talvez alguns de seus grupos de hospedeiros seriamlimitados a D=4, assim estes hospedeiros iriam ser tão fortes, mas não mais fortesque D=4. A mesma limitação é verdadeira para a outra extremidade do espectro.Se o super servidor comandar D=8, alguns servidores e hospedeiros poderiam irsomente para D=6. Como D é um estado selecionado, estas restrições sãosimples faixas de inteiros (máximos e mínimos).
O valor de D pode mudar baseado na detecção de algumevento, tal como a propagação de arquivos. Se um número excessivo de cópiasde um novo arquivo estiver se propagando entre os hospedeiros de um servidor, oservidor pode opcionalmente aumentar o valor de D para parar a propagação (porexemplo, ir para D=2). Este evento pode ser especificado como demais com umdeterminado nome (por exemplo, uma lista dos 10 por nome) ou por demais comconteúdo único (por exemplo, uma lista dos 10 por um espalhamento de dados).
Este valor também pode ser modificado por umarequisição do servidor em resposta a um novo evento percebido pelo servidor, talcomo um novo arquivo entrante ou um potencial ataque de vírus. Na maioria doscasos, é o administrador (uma pessoa) que inicia a mudança de D, seguindo umaoperação planejada de usuário, ou uma observação de eventos de determinadosarquivos. D pode ser automaticamente modificado, por exemplo, durante oprocesso de uma operação, e neste caso, o hospedeiro / servidor irá retornar ovalor de D de volta ao seu nível original assim que a operação tiver terminado.
Disparadores externos podem modificar o valor de D tais como SNMP.
Uma outra resposta é adequada para que o servidoraprove automaticamente o conteúdo que está em um número menor do que umcerto número limiar de hospedeiros, ainda que automaticamente impeça o acessoa este conteúdo quando o número de hospedeiros é excedido. Uma diretriz destetipo pode ser utilizada para limitar o número de cópias de qualquer conteúdo ouarquivo na rede. Uma diretriz deste tipo também pode ser utilizada para somenterelatar o conteúdo que exceder um certo número de hospedeiros.
Servidores podem manter um conjunto de diretrizesseparadamente para cada grupo lógico de hospedeiros, tais como hospedeiros devendas, hospedeiros de marketing, e hospedeiros de engenharia. Conjuntos dediretrizes podem ter números únicos de identificação que são similares a númerosde versões anticorpo. A diferença é que, uma vez organizado, um conjunto dediretrizes se torna "somente leitura" para reconciliar problemas posteriores comum conjunto de diretrizes e para desfazer um problema de organização. Istotambém pode ser feito para diferenciar configurações e outras atualizações,utilizando tecnologia similar aos utilitários Unix "diff" e "patch". Hospedeirospodem questionar o servidor pelo numero ID do atual conjunto de diretrizes para oseu grupo, e, se houver um desacordo, eles podem enviar ao servidor umarequisição "Receber Conjunto de Diretrizes".
Um conjunto de diretrizes pode incluir múltiplas diretrizes,tais como uma diretriz "Novos Executáveis" e uma diretriz "Novo Roteiro". Cadadiretriz pode estar em modo ativo (ligado), inativo (desligado), ou em modo deteste (quando bloqueios são permitidos mas uma mensagem "foram bloqueados"é enviada ao servidor). Cada diretriz pode conter múltiplas regras, cada regra comum modelo básico "disparo e ação". Disparos são padrões que são testados. Seos padrões coincidirem, as ações resultantes são executadas. Por exemplo,"bloquear a execução de novos executáveis em D=2" pode ser especificado comosegue:
Disparo=(D=2 & ArquivoOp=Executar & Estado=Pendente& ClasseExtensãoArquivo=ClasseExecutável) onde ClasseExecutável = (*.exe |*.sys | *.dll | ...)
Ação=(Bloquear & Reportar & Notificar(P)) onde
"Bloquear" pára a operação, "Reportar" envia uma notificação para o servidor, e"Notificar" alerta o usuário com o conjunto de parâmetros P.
Com esta estrutura, o núcleo pode reforçar todas asdiretrizes sem interação com o espaço do usuário, exceto no caso de atualizaçõesda memória cache anticorpo do núcleo, atualizações D, e atualizações doconjunto de diretrizes. Conjuntos de diretrizes necessitam ser armazenadas emapenas um lugar, e elas necessitam apenas ser interpretadas dentro do núcleonesta implementação. Conjuntos de diretrizes podem ser autenticados earmazenados em um contexto seguro (o núcleo), resultando em maior segurançacontra violações.
Diretrizes e ações são parametrizadas por D pois Dpermite diferentes regras para combinar diferentes disparadores. Arquivos comdeterminados estados podem ter certas operações bloqueadas. Estes estadospodem ser uma combinação de propriedades de nomes e dados. Estes estadossão determinados no espaço do usuário, espelhados no espaço do núcleo, efinalmente, os estados são determinados pelo servidor. Uma diretriz útil ébloquear arquivos banidos, e em alguns valores D, bloquear a execução dearquivos de arquivos (novos) pendentes.
As diretrizes podem ser providenciadas como um conjuntode listas de diretrizes, sobre uma faixa de compromissos de acessibilidade esegurança. O servidor pode então fornecer informações que fazem com que oshospedeiros selecionem uma das listas. Estando as listas presentes noshospedeiros e permitindo que os hospedeiros atualizem diretrizes utilizando oenfoque "puxar", os hospedeiros podem convenientemente atualizar diretrizes desegurança sob controle do servidor.
A tabela seguinte mostra um exemplo de como o valor Dpode afetar várias diretrizes em um conjunto mestre de diretrizes, onde as linhasrepresentam diretrizes no conjunto mestre, as colunas representam ações, e ascélulas tem faixas numéricas de D para indicar as ações. As ações especificadasna tabela e outros detalhes são resumidos abaixo:
<table>table see original document page 24</column></row><table>
(1) Permitir: Permite a operação, caso contrário silêncio
(2) Bloquear: Bloqueia a operação, caso contrário silêncio
(3) Rastrear: Rastreia a operação e o conteúdo resultante(se o conteúdo é Pendente ou Banido), do contrário silêncio. Conteúdo Aprovadogeralmente não é rastreado.
(4) Reportar: Envia uma notificação para o servidor
(5) Notificar: Indica para o usuário do ponto final dohospedeiro por que a operação foi bloqueada / interrompida
(6) Auto Aprovação Local: Novos arquivos de hospedeiroe/ou novos conteúdos com o estado local do hospedeiro=Pendente, são definidoslocalmente para o estado do hospedeiro=Aprovado ou para oestado=LocalmenteAprovado somente no hospedeiro local, enquanto os arquivos/ conteúdos são criados / modificados.
(7) Auto Aprovação Global: Novos arquivos dehospedeiros e/ou novos conteúdos com o estado IocaI=Pendente são definidosglobalmente para o estado servidor=Aprovado no servidor enquanto os arquivos /conteúdos são criados / modificados.
Introdução Anticorpo, Arquivo Meta-lnformação
Com referência particular à Figura 2, para ações que sãopermitidas, o servidor do sistema inclui uma base de dados anticorpo 36 que éutilizada primariamente para manter o rastreamento dos históricos de varredurasde arquivos e dos estados de aprovação para cada um destes arquivos. Umanticorpo é um bloco de dados de um arquivo (isto é, metadados ou meta-informações) que podem incluir alguns ou todos os seguintes campos:
• Tempo Primeiramente Visto. Quando o arquivo ou espalhamento foi vistopela primeira vez pelo hospedeiro e reportado ao servidor.
• ID de Arquivo. Um identificador único pára o arquivo, incluindo um ou maisespalhamentos de conteúdo tais como MD5, SHA-1, e OMAC.
• Tipo de Arquivo. A classe do arquivo (por exemplo, executável, roteiro,documento de escritório, arquivo, etc.). Esta é derivada do nome doarquivo quando ele foi visto pela primeira vez (veja abaixo) e também daanálise do conteúdo do arquivo.
• Condição / Estado. O estado corrente do arquivo, incluindo Aprovado,Pendente, ou Banido.
• Método. A maneira pela qual o servidor aprendeu sobre o arquivo(automaticamente, manualmente, etc.).
Nome do Arquivo. O nome do arquivo, como foi visto pela primeira vez ereportado ao servidor. Este pode não ser o nome corrente do arquivo, masé apenas o nome da primeira instância vista na rede.Caminho do Arquivo. O caminho do arquivo, como foi visto pela primeiravez e reportado ao servidor.
Nome do arquivo do hospedeiro / caminho / extensão quando foi visto /reportado pela primeira vez.
Nome do arquivo do hospedeiro / caminho / extensão quando foi visto /reportado pela última vez.
Endereço IP do arquivo do hospedeiro quando foi visto / reportado pelaprimeira vez.
Primeiro Hospedeiro Visto. O nome do hospedeiro no qual o arquivo ouespalhamento foi visto e reportado pela primeira vez.
Resultados de Análises. O resultado das últimas varreduras ou outrasanálises.
Primeira Análise. O tempo da primeira varredura / análise do arquivo.Última Análise. O tempo em que o arquivo foi escaneado / analisado pelaúltima vez.
Última Atualização. O tempo em que o estado do arquivo foi modificadopela última vez.
Contêineres Pai. Links para outros arquivos que foram associados com oarquivo.
Atributos dos Contêineres Pai. Nome do arquivo, tempo em que foi vistopela primeira vez, primeiro hospedeiro visto, caminho do arquivo,classificação de produtos, e estado de um arquivo contêiner associado.Contêineres Raiz. Links para outros arquivos que foram associados com oarquivo. Um contêiner raiz é um contêiner que não está contido em outrocontêiner.
Atributos dos Contêineres Raiz. Nome do arquivo, tempo em que foi vistopela primeira vez, primeiro hospedeiro visto, caminho do arquivo,classificação de produtos, e estado de um arquivo de contêiner raizassociado.
• Contêineres Pai Referência, se conhecidos. Estes são utilizados paramanter associações contidas tais como: "o arquivo deste espalhamento=yfoi observado dentro de um arquivo do espalhamento=x".
• Tipo de conteúdo de arquivo (determinado por análise de conteúdo) taiscomo executáveis, arquivos roteiro, macros embarcadas.
O servidor tem um conjunto completo de anticorpos desistema para o sistema. Enquanto que cada hospedeiro pode conter umsubconjunto local de anticorpos na memória cache de usuário 64 e na memóriacache de núcleo 82, o servidor é a autoridade que define e modifica determinadosestados. Por exemplo, o servidor é a autoridade que centralmente inicia epropaga modificações (para Hospedeiros) incluindo transições de estado dePendente para Aprovado ou Banido (estes três estados preferencialmenteassociados com espalhamentos de conteúdo), enquanto que os hospedeiros sãoas únicas autoridades que podem definir um estado para localmente aprovado.Cada entrada da base de dados 36 é persistente e preferencialmente é facilmenteacessível com um índice de espalhamento de dados de arquivos. A base dedados pode ser opcionalmente indexada por outras chaves, tais como nomes dearquivos, datas da primeira visualização, estados, resultados de análises, ID dehospedeiros, ou contagens de hospedeiros, de tal forma que um administradorpossa facilmente navegar pela base de dados anticorpo.
Enquanto que a base de dados com anticorpos é descritacomo sendo localizada dentro ou no servidor, deve ser entendido que istosignifica que a base de dados está associada com o servidor. Ela pode residirfisicamente no mesmo gabinete com as funcionalidades de processamento doservidor, ou ela pode residir em um gabinete diferente ou mesmo em umalocalização remota. Se for em uma localização remota, devem existir conexõesadequadas com ou sem fio para a obtenção dos dados.
Introdução ao Rastreamento de Anticorpos (AB)
À medida que novos arquivos são criados ou arquivosexistentes são modificados, diretrizes de rastreamento podem ser disparadas,com isto definindo uma cadeia de eventos de análises de arquivos e anticorpos.Primeiro, o hospedeiro executa uma série de etapas para determinar se houveuma significativa modificação de conteúdo que corresponda com o conteúdo quejá foi analisado e para o qual um anticorpo já foi armazenado na memória cachedo hospedeiro. Se o conteúdo anticorpo não estiver na memória cache dohospedeiro, o servidor é questionado para determinar se o servidor já fez aanálise do conteúdo. Se o servidor não tiver um anticorpo correspondente, oconteúdo pode ser carregado para o servidor para análises adicionais. Até que oservidor possa determinar o estado definitivamente, o estado associado aoconteúdo é definido como sendo pendente ou ainda não determinado. Osubseqüente acesso ao conteúdo pendente pode ser limitado. O servidor executaanálises no conteúdo baseado em um tempo desde que o conteúdo foi visto pelaprimeira vez no servidor. Baseado nas análises ou em outras determinaçõesexternas o servidor pode definitivamente determinar mudanças no estado. Estasmudanças podem ser indicadas pelos hospedeiros para posterior recuperação, detal forma que os hospedeiros possam atualizar suas memórias cache anticorpocom os estados modificados.
Rastreamento de Anticorpos do Hospedeiro
Com referência à Figura 3, o hospedeiro interceptaoperações de arquivos (501), incluindo executar, ler, renomear, ou escrever, eprovidencia a operação para um filtro de operação de arquivos (502). Se o nomedo arquivo não estiver na memória cache do núcleo e existir uma ausência dememória cache no núcleo (510) e se existir uma possível modificação do arquivoou conteúdo (511), o estado é invalidado. O arquivo então vai a um extrator deconteúdo, que, como descrito com mais detalhes abaixo, extrai o conteúdo ativode interesse (503) para produzir um arquivo reduzido, e fornece o arquivoreduzido a um assinador de conteúdo (504). O assinador de conteúdo aplica umespalhamento criptográfico, tal como MD5, ao arquivo reduzido. Esteespalhamento é associado com o arquivo e com o nome do arquivo. Umaoperação de arquivo pode ser atrasada / travada enquanto o espalhamento eoutras análises (falha de resolução da memória cache) são completadas.
O hospedeiro também faz uma verificação local baseadano conteúdo do espalhamento para tentar receber um estado (505). Se oconteúdo e o estado não forem encontrados o estado é definido como pendente.Isto pode significar que a operação de arquivo está autorizada a proceder, apesarde que monitoramentos adicionais, tais como registros, também podem ocorrer.
Se o conteúdo for encontrado, o nome, o conteúdo, o contêiner (arquivo quecontinha o conteúdo ativo) e o estado são todos associados em conjunto (507).Se o conteúdo não for encontrado, o hospedeiro solicita que o servidor verifiquepelo conteúdo em sua própria memória (506). Se ele for ali encontrado, o nome,conteúdo, contêiner (arquivo contendo o conteúdo ativo) e o estado são todosassociados em conjunto (507). Se o conteúdo e o estado não forem encontrados,o estado é definido como pendente, e o conteúdo é carregado para o servidor(508), que confirma o carregamento (509). O servidor também pode procurar porum "super servidor" associado com um número dos servidores. Relacionamentosde contêineres são armazenados e associados com arquivos e outroscontêineres. A informação de contêiner é também enviada a servidores ehospedeiros, bem como enviada para análises. Um "Contêiner Raiz" é umcontêiner que não está contido em outro contêiner. Contêineres são identificadospor seus arquivos associados bem como por espalhamentos criptográficos.
Geralmente, estados anticorpo são atribuídos a umespalhamento ou assinatura das partes "ativas" do conteúdo de um arquivo ou doconteúdo inteiro do arquivo. Assim geralmente, ESPALHAMENTO (Arquivo Dados/ Conteúdos) Estado. Isto mapeia Dados -> Estado. O Estado (S) pode contermuitas partes de informações, tais como "aprovado" (lista branca) ou "banido"(lista negra) ou "pendente" (uma "lista cinza" tal como um arquivo recentementevisto e que ainda não foi completamente analisado).
Uma vantagem deste sistema é a combinação de nomesde estados com estados de conteúdos. Por exemplo, o servidor pode especificare armazenar múltiplos nomes banidos, tais como *msblast.exe. O servidorarmazena diretrizes de nomes de estado como listas de expressões regulares emeta-informações associadas. Qualquer drive / caminho / nome / extensão dearquivo que coincidir com a expressão regular irá então herdar o nome meta-informação. Esta informação é atualizada toda vez que nomes de arquivos sãomodificados ou as especificações do nome meta-informação mudar. Estados denomes e diretrizes são propagadas do servidor para os hospedeiros. Porexemplo, adicionando *msblast.exe NomeBanir1 o servidor irá sentir a novadiretriz / estado, e irá propagar esta especificação para os hospedeiros. Oshospedeiros irão então procurar em suas memórias cache de nomes de meta-informações, por coincidências com *msblast.exe, e aqueles arquivos quecoincidirem herdarão o estado NomeBanir. O estado dos arquivos de umhospedeiro é uma superposição de estados de nome e data: por exemplo, setemp_msblast.exe tiver estado de conteúdo=Pendente, seu estado combinado éBanido pois NomeBanir tem precedência sobre Pendente. Estados de aprovaçãode nomes são tratados de uma maneira similar.
Anticorpos são armazenados nas bases de dadoshierarquicamente. Existem 4 localizações principais de armazenamento paraanticorpos como mencionado acima. Em um agente hospedeiro uma memóriacache de núcleo anticorpo 82 mapeia arquivos NOME ESTADO anticorpo. Porexemplo, NOME=c:\windows\bar.exe ESTADO=aprovado. Resumidamente,este mapeamento é N S. O núcleo pode e de fato reforça diretrizes baseadasno estado sem necessitar acesso ao conteúdo do arquivo. Isto é útil porque oarquivo pode ser encriptado no núcleo mas visível de forma não encriptada emnível maior. O núcleo tem acesso direto ao nome, mas não ao espalhamento. Amemória cache do núcleo pode ser levemente consistente com outras memóriascache, e finalmente com o servidor, pelo fato de poderem existir longas latências(segundos, minutos, horas, dias).
O agente hospedeiro tem uma memória cache de usuáriode nomes anticorpo (UN) e uma memória cache de usuário de dados anticorpo(UD) 60. O UN mapeia o nome do arquivo para um espalhamento dos conteúdosdo arquivo (Dados), isto é, UN mapeia N -» Dados. E, similarmente, o UD mapeiadados para o estado Dados S. Geralmente, o mapeamento de N Dados émuitos-para-um, e UN espelha a estrutura do sistema de arquivos local. Omapeamento de Dados -» S é geralmente um-para-um, pois colisões deespalhamentos são raras com os espalhamentos fortes que sãopreferencialmente utilizados, tais como MD5. As memórias cache UN e UD sãotambém fracamente consistentes com o servidor, mas ambas UN e UD sãofortemente consistentes com o sistema local de arquivos do hospedeiro, como é amemória cache do núcleo. UN e UD podem ser combinadas como segue: N -»Dados -> S = N S.
Um servidor tem uma base de dados anticorpo 34 decada espalhamento único que foi reportado de modo geral por qualquer um deseus hospedeiros, e um super servidor (se um existir) tem uma base de dadosanticorpo de cada espalhamento único que foi visualizado de modo geral emqualquer um de seus servidores. A limitação a espalhamentos únicos limita oarmazenamento e o processamento, apesar de que mais espalhamentos podemser armazenados com conseqüentes melhorias no armazenamento e noprocessamento. Também, a limitação a espalhamentos únicos resulta emanálises mais eficientes e menor tráfego de rede.
Geralmente, novos arquivos se propagam do hospedeiropara o servidor e para o super servidor em resposta a eventos "Novo Arquivo" e"Arquivo Sujo", e estados anticorpo recentemente computados se propagam emsentido reverso, do super servidor para o servidor, para o usuário do hospedeiro,para o núcleo do hospedeiro, na forma de atualizações anticorpo. Deste modo,anticorpos são centralmente controlados, gerenciados, e verificados. Osservidores "possuem" e certificam os anticorpos, e os servidores fornecem aautenticação de que os anticorpos não foram alterados ou forjados. Oshospedeiros mantêm seus próprios anticorpos que geralmente, mas nãonecessariamente, correspondem com aqueles do servidor. Assim um hospedeirocompromissado ou em mau funcionamento não consegue degradar uma coleçãoanticorpo de um servidor ou super servidor, nem pode um hospedeirocompromissado degradar os anticorpos de outros hospedeiros.
No hospedeiro, o estado anticorpo é preferencialmentearmazenado de tal forma que ele não seja associado com espalhamentos / dados,mas sim pelo nome. O núcleo processa, interpreta, e reforça diretrizes, e o estadode um arquivo é verificado pelo seu nome. Deve ser entendido que aimplementação preferida reforça diretrizes no núcleo, mas outras implementaçõespodem reforçar diretrizes no espaço do usuário. Ao verificar o estado, tanto noespaço do usuário como no núcleo, o que determina o estado resultante é de fatouma mistura. Por exemplo, se os dados anticorpo para foo.exe estão pendentes,mas o nome anticorpo foi banido baseado em seu nome, então oRecebeABEstado(foo.exe) retorna um resultado de "banido pelo nome". Existeuma diretriz em separado para bloquear execuções de arquivos com o estadoanticorpo = NomeBanir. As ações para esta diretriz são parametrizadas pelo valorde D como mencionado acima. Uma diferença é que as diretrizes que bloqueiam"Banido pelo Nome" estão ativas em níveis mais baixos de segurança D. Porexemplo, em D=4, arquivos "pendentes" serão executados (com alarmesilencioso) mas arquivos banidos não serão executados.
Eliminadores de nomes são representados como umalista de expressões regulares e podem incluir um curinga (*), por exemplo,"*oo.exe" ou "*msblast.exe", no servidor. Estas listas têm números de versões. À medida que os hospedeiros fazem sondagens, eles verificam seus números deversões. Quando um hospedeiro detecta um desacordo, ele envia uma requisiçãoRecebeNomeBanir para o servidor (isto é, o hospedeiro puxa os novos dadosbanir do servidor). Estas expressões regulares são então reavaliadas contra osanticorpos nome. O nome Banir é um atributo de estado, e somente deve serrecomputado quando a listagem de nomes banir mudar ou quando o nome doarquivo mudar. A lista de curingas não necessita ser comparada a cada operaçãode arquivo. Assim a natureza dupla dos dados anticorpo e dos nomes anticorpo éútil. Além disso, centenas ou milhares de expressões regulares de nomes podemestar simultaneamente ativas sem requerer milhares de expressões regulares decoincidências computacionais no núcleo para cada operação de arquivo, o quepoderia ser extremamente caro.
Rastreamento de Conteúdos de Arquivos
Com referência à Figura 2, uma função interceptar /bloquear 86 pode interceptar e ler requisições de acesso a arquivos. Ela podesuspender requisições enquanto obtém informações de diretrizes, requisições debloqueio baseadas em diretrizes internas de núcleo, e retornar códigos de errosapropriados para requisições bloqueadas. A função 86 lê das requisições deacesso a arquivos o nome do processo requisitado, horário local do sistema darequisição, o arquivo requisitado (incluindo o caminho completo), e a açãorequisitada (por exemplo, ler, escrever, ou executar). Em outra modalidadepreferida de execução, a função 86 encaminha todas as requisições de acessos aarquivos ao "filtro de estado" 88 e todas as operações são bloqueadas até que ofiltro 88 retorne um sinal indicando que a operação foi bloqueada ou permitida.
O filtro 88 intercepta as requisições de acesso a arquivosda função 86 e retorna uma ação de "bloquear" ou "permitir" para a maioria dasrequisições de acesso a arquivos. Qualquer requisição de acesso a arquivos quenão possa ser associada com requisições de acesso a arquivos já aprovados éencaminhada aos disparadores do núcleo e módulos de ação 90, que retornamuma ação "bloquear" ou "permitir". Esta ação é armazenada pelo filtro 88, e épreferencialmente retornada para a função 86 para qualquer requisição de acessoa arquivos associada e similar.
O filtro 88 mantém uma memória cache 84 dos arquivos jáabertos (indexados por um identificador único de núcleo; por exemplo, ummanipulador de arquivos de núcleo no Windows NT). Cada entrada da memóriacache contém um identificador de arquivo (manipulador de arquivos de núcleo) ebloqueia ou permite permissões para uma leitura, escrita ou execução.
Se múltiplos processos acessarem o mesmo arquivo,cada um deles terá a sua própria entrada de memória cache. Se um dadoprocesso tentar um acesso a um novo arquivo, o filtro experimentará uma falta dememória cache para este arquivo, o que fará com que a requisição de acesso aoarquivo seja submetida aos disparadores e módulos de ação. A identificação paraa operação requisitada (leitura, escrita, ou execução) deve ser definida em"permitir" se o módulo 90 o permitir. De outro modo, ele deve ser definido em"bloquear". Se um processo que obteve apenas um tipo de permissão (porexemplo, leitura) então tentar outro tipo de acesso (por exemplo, escrita), omódulo 90 será novamente contatado.
As entradas da memória cache cuja idade excedem umdeterminado valor (por exemplo, 60 segundos) podem ser apagadas. Isto permitea seleção de entradas que por alguma razão não foram removidas. Isto tambémpermite reavaliações periódicas de um arquivo pelo módulo 90.
Neste exemplo, uma operação de escrita de arquivo écapturada no núcleo em uma camada de bloqueio 86 pelo programa de núcleo dohospedeiro agente (HK) para um arquivo "foo.exe". Em um valor de D=4, aoperação de arquivo, aqui uma operação de escrita de arquivo, é capturada poruma diretriz ativada de "rastreamento sujo", e isto define um evento "sujo" doprograma núcleo do hospedeiro para o programa do espaço do usuário do agentehospedeiro (HU). Este evento especifica o nome do arquivo e a operação suja. Amemória cache de núcleo 82 não é consultada para esta operação, e a diretriz derastreamento sujo tem este campo anulado.
HU então executa uma variedade de operações deanálises locais em arquivos e processamento de eventos 66, e analisa o motor 68no foo.exe. Primeiro, foo.exe é verificado para confirmar que se ele existe, se elepode ser lido, e se em realidade é um executável. Outras operações podem serexecutadas, tais como a extração de "dados de interesse" no filtro 88; porexemplo, comentários de roteiros podem ser removidos se o arquivo for foo.bat.Os dados extraídos de foo.exe são então criptograficamente espalhados, e esteespalhamento é utilizado para tentar uma verificação na memória cache anticorpoHU 60. Se o nome e os dados já existirem, nada mais é feito. Se o nome é novomas os dados forem conhecidos, então um novo nome anticorpo é criado namemória cache UN. Este processo todo faz parte do que é chamado de "fila deanálises do Estágio 1". Muitos arquivos podem ser colocados à espera em filapara serem espalhados na fila do Estágio 1 do hospedeiro. A fila do Estágio 1 temapenas nomes anticorpo e meta-informações, pois os dados ainda não sãoconhecidos nem foram analisados.
Se o hospedeiro tiver visto estes dados de arquivo eespalhamentos, então a correspondente e conhecida meta-informação desteespalhamento é associada com a meta-informação do arquivo do hospedeiro paraeste arquivo, recuperada da memória local UD ou de memórias locais de discos,nesta ordem. Se o hospedeiro não viu estes dados, a memória cache UD "falhou".O espalhamento é colocado em uma fila de análises do Estágio 2. Na realidade,existem dados anticorpo, isto é, estados com dados lógicos de rastreamento, taiscomo "Aprovado", "Banido", ou "Pendente", e também existem anticorpos Nome,por exemplo "Banido por Nome". Por exemplo, se o servidor banir "*oo.exe",então o anticorpo nome para foo.exe indicará "NomeBanido" e diretrizes debanimento de nomes podem ser bloqueadas baseadas nisso. Desta forma,mesmo que as memórias cache possam saber que foo.exe já foi banido (pornome), a resolução de rastreamento sujo continua. Esta distinção dos anticorposnome e dados é de escopo local para os hospedeiros individuais, mas se tornaimportante para a função AchaArquivo (descrita abaixo) e para o reforço dasdiretrizes. O anticorpo dados é colocado portanto na fila do Estágio 2.
As análises do Estágio 2 tentarão primeiro resolverinformações de estados locais de memórias cache, depois de armazenadores dedados locais baseados em discos e finalmente do servidor. Se o servidor estiverconectado, a fila do Estágio 2 será esvaziada à medida que as meta-informaçõessão resolvidas. Quando foo.exe é removido desta lista, o servidor é perguntado seele viu este espalhamento de dados, se este espalhamento não for encontradolocalmente. Se a resposta for não, foo.exe, o seu espalhamento e outras meta-informações são colocadas na fila do Estágio 3 para carregamento no servidor.Adicionalmente, o servidor envia um estado anticorpo padronizado para ohospedeiro, que está em situação "pendente", caso o servidor não tenha visto oespalhamento ou a análise do servidor não tiver sido completada suficientementepara determinar outros estados. Se o servidor já tiver computado um anticorpo eum estado válido, ele retorna esta meta-informação de anticorpo. Se o servidornunca tiver visto estes dados para foo.exe, é novo no sentido de que todas asmáquinas, na experiência do servidor, nunca viram este arquivo.
Quando foo.exe é removido da fila do Estágio 3, ele éenviado ao servidor utilizando transferência encriptada de uma via. Isto é,utilizando FTPS (protocolo de transferência segura de arquivos) e um diretórioapenas de escrita no servidor, onde arquivos podem ser transferidos para oservidor mas não dele descarregados. Quando a transferência tiver sidocompletada com sucesso, o hospedeiro informa ao servidor que foo.exe foitransferido. Esta transferência é referenciada como espalhamento, de tal forma aminimizar o vazamento de informações e para proporcionar segurança adicional.Quando o servidor entender que foo.exe foi transferido,ele inicia a análise do arquivo através de diversos estágios, da mesma maneiracomo o hospedeiro faz. Neste caso um novo anticorpo é criado, e o servidorutiliza seu relógio verificado e sincronizado para datar sua primeira aparição. Alémdisso, são executados a extração e o espalhamento, e seus resultados sãosobrepostos aos do hospedeiro.
As análises do servidor seguem uma programação que éespecificada e armazenada no servidor. Esta programação se relaciona com otempo da primeira aparição do arquivo ou de seu espalhamento no servidor. Porexemplo, se um arquivo chegar ao meio dia e a programação for "verificarespalhamento em +o e varredura AV em +0 e varredura AV em +2 horas", entãoao meio dia, o espalhamento do arquivo será computado e verificado utilizandoum serviço externo de verificação de espalhamento. Então, uma varredura AV éexecutada. Duas horas após as 14 horas, outra varredura AV deste arquivo éexecutada. Outra maneira de descrever a programação, é que ela é relativa à"idade do arquivo no servidor".
Quando um anticorpo muda de estado no servidor, umvalor de um contador incrementai é escrito para o anticorpo. Este contador éutilizado para selecionar apenas a faixa de anticorpos que mudou desde quequalquer hospedeiro particular ou super servidor fez a verificação. Por exemplo,se uma modificação prévia de anticorpo foi glorp.bat mudando de Pendente ->
Aprovado e a versão do contador global anticorpo foi 277, o anticorpo do servidorcorrespondendo com o espalhamento de glorp.bat receberá o número de versão277 e o contador será 278. Assim sendo, o número da versão correspondendo aoanticorpo foo.exe é 278 e o do contador é 279.
Quando os hospedeiros periodicamente sondam, elesfornecem seu último número de versão anticorpo, e o servidor envia todos osanticorpos que sofreram modificações desde a última sondagem.
Preferencialmente, o servidor envia o número corrente, e quando o hospedeirodetecta a desconformidade, ele solicita ao servidor uma atualização anticorpo, e alista de dados de anticorpos é retornada. Estes são então juntados aos anticorposdo hospedeiro, e modificações também são enviadas para dentro do núcleo.Apesar do hospedeiro poder receber e armazenar alguns anticorpos para dadosque ele nunca viu, geralmente apenas aqueles anticorpos que correspondem comarquivos existentes no hospedeiro são juntados. Os outros são geralmentedescartados. O servidor coloca na memória cache os últimos poucos minutos deatualizações, para minimizar o efeito da adaptação customizada de todas asatualizações para cada hospedeiro. Novamente, uma vez que hospedeirosgeralmente recebem mais anticorpos do que eles necessitam, e porque novosanticorpos são raros, este tráfego é limitado. Atualizações anticorpo sãopequenas, pois são geralmente de outras mensagens.
Anticorpos podem permanecer sincronizados com umsuper servidor de um modo similar. Aqui, o super servidor pode sondar servidorese receber listas de atualização de anticorpos. O super servidor pode juntá-las, eenviar atualizações personalizadas para cada servidor. Estas atualizações sãotodas fracamente consistentes, pois elas podem estar atrasadas em minutos oudias, mas devem existir intertravamentos e salvaguardas para evitar "buracos"nas atualizações.
Existem outros aspectos e recursos relacionados àcombinação de anticorpos. Por exemplo, alguns servidores podem não aceitardeterminadas atualizações de anticorpos do super servidor. Também,hospedeiros podem não permitir determinadas mudanças nos estados locais deacordo com determinados estados especificados pelos servidores.
Um problema está relacionado com os estados iniciais damemória cache e com as diretrizes iniciais. A memória cache do servidor pode serpré-carregada com espalhamentos de anticorpos conhecidamente bons e ruins,ou ela pode estar vazia, e tudo está bem. Entretanto, hospedeiros devemocasionalmente "Carregar Devagar". Por exemplo, quando um hospedeiroprimeiro conecta a um determinado servidor, este fato é detectado, e ohospedeiro irá executar um carregamento devagar no qual cada arquivo único deinteresse do sistema de arquivos do hospedeiro é inserido dentro da fila doEstágio 1. Um valor especial de D é envolvido durante este processo paraassegurar que a memória cache indeterminada não irá causar problemas. Todosos anticorpos geralmente iniciam com o estado "pendente", e eles lentamentesincronizam com o servidor. Também, todos os anticorpos dos hospedeiros,informações de filas e aspectos globais relacionados são persistidosperiodicamente sobre as reinicializações.
Consistência da Memória Cache do Núcleo
Durante o boot ou outra inicialização do agentehospedeiro, o núcleo é carregado com todos os anticorpos válidos e conhecidosdo espaço do usuário, para cada arquivo do hospedeiro conhecido e existenteque tiver meta-informações válidas. Algumas atualizações anticorpo são enviadaspara dentro do núcleo assim que elas são recebidas do servidor ou de listas deanálises do espaço do usuário. No entanto, algumas atualizações são resultadode ausências de memória cache no núcleo. Se uma diretriz foi determinada paraestar ativa, e o estado anticorpo é necessário, e se este estado não estiverdisponível, o núcleo irá geralmente travar a operação por algum tempo e enviarum evento de falha de núcleo para o espaço do usuário. Alguns eventos podemser travados mesmo que o anticorpo não seja necessário. Este é o caso quandouma diretriz permitir que o usuário do hospedeiro sobreponha um estado restritivo(Pendente) através da interação com uma interface de usuário üanela demensagem popup), por exemplo, clicando sim para sobrepor uma operaçãoPendente bloqueada e para causar operações subseqüentes restritas, paraprosseguir sem bloqueio por algum tempo.
Em um exemplo, um programa de instalaçãodesempacota um novo programa chamado inst.exe e então o renomeia e executa.O núcleo evita as inconsistências temporárias atrasando o renomear e atrasandoa execução enquanto a análise está em curso. O anticorpo resultante é enviadopara baixo assincronicamente, do espaço do usuário, e então as operaçõespendentes são desbloqueadas e a diretriz é avaliada com a necessáriainformação de estado, tão logo a atualização assíncrona tenha sido completada.
A memória cache do núcleo contém anticorpos parapraticamente todos os arquivos do sistema de arquivos na inicialização.Operações que podem deixar buracos na memória cache do núcleo ou outrasinconsistências, mesmo por curto espaço de tempo, são atrasadas e intertravadasde tal forma que a consistência é mantida. As memórias cache do espaço dousuário são otimizadas para resolver falhas de núcleo com latências muito baixas.Enquanto que o núcleo e as memórias cache do espaço do usuário sãorelativamente insensíveis a latências do lado do servidor, a memória cache donúcleo é sensível a intertravamentos e a persistências adequadas.
AchaArquivo
Em função das memórias cache UN e UD serempreferencialmente otimizadas para verificações de baixa Iatencia1 estas memóriascache podem ser utilizadas como parte de uma lista distribuída de anticorpos doservidor, referenciada aqui como sendo a função "AchaArquivo", para produziruma visualização de quais arquivos estão em quais hospedeiros. Uma requisiçãoAchaArquivo pode ser especificada por um administrador submetendo umformulário de navegador web através de uma interface web em um servidor ousuper servidor. Por exemplo, os seguintes qualificadores podem serconjuntamente especificados:
(1) uma especificação regular de um padrão de expressãopara o nome do arquivo,
(2) uma especificação regular de um padrão de expressãopara o caminho do arquivo,
(3) um espalhamento de conteúdos de interesse de umarquivo,
(4) um espalhamento ou outro ID de um contêiner queestá associado com um arquivo,
(5) um espaço de tempo no qual um arquivo ou oespalhamento do arquivo foi visto pela primeira vez pelo hospedeiro,
(6) nome do hospedeiro,
(7) endereço IP do hospedeiro,
(8) tipo do arquivo
(9) um ou mais estados de arquivo associados com oarquivo a partir de um conjunto de pelo menos 3 estados: aprovado, banido,análise pendente. Por exemplo, um conjunto TodosBanidos=(NomeBanir,
BanirPorEspaIhamento).
(10) se determinadas operações de arquivo foramexecutadas pelo hospedeiro no arquivo, e
(11) um grupo de hospedeiros.
Com referência à Figura 4, uma requisição AchaArquivocompletada é análoga a um e-mail no qual o servidor postou uma requisição derecuperação posterior a hospedeiros determinados. À medida que os hospedeirosse identificam, eles são informados se existirem mensagens AchaArquivo doservidor esperando por eles. Quando o hospedeiro é informado que ele tem umarequisição AchaArquivo pendente, ele recupera a requisição utilizandoReceberRequisiçãoAchaArquivo, como mostrado em linhas (1) na Figura 4. Emoutras palavras, a requisição é preferencialmente executada como uma "puxada"do servidor. Isto permite uma implementação mais segura sem a necessidade desoquetes de escuta de hospedeiros.
Cada um dos hospedeiros conectados processa suarequisição AchaArquivo através do acesso de dados aplicáveis de sua memóriacache anticorpo, e posta as listas de resultados em uma base de dados deresultados mostrados como PosteResultadosAchaArquivo (linhas (2) na Figura 4),incluindo algumas ou todas das seguintes informações para cada arquivoretornado:
(1) um nome de arquivo,
(2) um caminho de arquivo,
(3) um espalhamento de conteúdos de interesse de um arquivo,
(4) um tempo quando um arquivo ou o espalhamento doarquivo foi visto pela primeira vez pelo hospedeiro,
(5) o nome do hospedeiro,
(6) o endereço IP do hospedeiro,
(7) o tipo do arquivo,
(8) a informação contêiner para o arquivo,
(9) um ou mais estados de arquivos de hospedeiroassociados com o arquivo de um conjunto de pelo menos 3 estados: aprovado,banido, análise pendente,
(10) se determinadas operações de arquivo foramexecutadas pelo hospedeiro no arquivo, e
(11) um grupo de hospedeiros.
Em uma implementação, todas as comunicaçõeshospedeiro - servidor (não apenas AchaArquivo) são executadas pelo hospedeiroprimeiramente se conectando ao servidor e enviando uma ou mais mensagens derede, e recebendo respostas do servidor para as mensagens do hospedeiro,antes de desconectar. Novamente este processo tem a vantagem de ser maisseguro porque nenhum soquete de escuta de hospedeiro é necessário. Existeuma vantagem adicional que reside no fato de que apenas o endereçamento e asrotas do servidor necessitam ser mantidas, ao invés de manter o endereçamentodo hospedeiro, as rotas, e de reduzir a necessidade da descoberta de taisinformações de hospedeiros.
O servidor junta e constrói uma lista mestre dosresultados das listas AchaArquivo dos hospedeiros. A união destas listas é aresposta completa para a requisição AchaArquivo, e é construída durante umtempo, geralmente se completando em menos de um minuto. Uma vez que oprocessamento local do hospedeiro somente acessa as memórias cacheanticorpo, e não o sistema de arquivos do hospedeiro, estas consultas podem serrápidas. O nome duplo, o sistema de associação de dados anticorpo e asmemórias cache permitem isto. O servidor então exporta os resultados para oadministrador, por exemplo, através de uma interface web. Também,determinados resultados AchaArquivo podem afetar e disparar o SNMP, osregistros de atividades de sistema, os alarmes, e outros sistemas de notificação.
O super servidor também pode postar requisições paraserem acessadas por servidores de um modo similar, ou um super servidor podesubmeter requisições AchaArquivo diretamente para os servidores. Os servidores,então, podem retornar os resultados juntados para o super servidor, que podeentão juntar estes em um resultado mestre ainda maior. Isto é similar aorelacionamento entre servidores e hospedeiros durante o processamento de umarequisição AchaArquivo.
Análises Centrais Disparadas por Tempo
Com referência à Figura 5, um servidor pode executaranálises baseadas em eventos, por exemplo, uma análise a cada vez que ohospedeiro enviar um conteúdo, ou o sistema pode executar estas análisesbaseadas no tempo. Como mencionado acima, o novo conteúdo pode ser enviadopara o servidor, e análises são executadas com agentes de análises externose/ou internos para criar metadados ou meta-informações que são armazenadasem uma base de dados. O sistema pode então verificar por análises programadasadicionais, por exemplo, depois de determinados intervalos de tempo relativos auma primeira observação de um arquivo quando o novo conteúdo é transferido.
Os servidores e super servidores podem executar muitos tipos de análisesadicionais baseadas em tempo.
Com referência à Figura 6, à medida que um arquivo évisto pela primeira vez e seu anticorpo é adicionado a uma base de dados doservidor, o efeito é o mesmo como se um temporizador fosse iniciado para cadaarquivo. Assim, por exemplo, os intervalos de tempo podem ser (t=0=imediato,t=12 horas depois, t=2 dias depois, e t=30 dias depois da primeira visualização ourelatório para o servidor), e podem ser baseados no relógio do servidor. Açõesperiódicas, além de ações únicas de tempo em tempo, podem ser especificadas.
Como mostrado aqui, varreduras antivírus (AV) e anti-software espião (AS)podem ser executadas em diferentes tempos, e outras análises podem serexecutadas. Para intervalos de tempo posteriores, isto pode ser uma comparaçãocom outros servidores que possam ter verificado os mesmos arquivos.
Tipicamente, as análises posteriores podem ser baseadas em todos os arquivosprimeiramente vistos dentro de um determinado período de tempo. Por exemplo,todos os arquivos primeiramente vistos dentro do tempo de 1 hora, receberão aanálise das 12 horas, a 12 horas do último arquivo no período de tempo.
Com referência à Figura 7 o sistema seleciona arquivospara análise e envia os arquivos para executar as análises especificadas. Paracada intervalo de tempo podem ser especificadas diferentes operações. Uma vezque os arquivos são mantidos por um período de tempo nos servidores, estasanálises ativadas em tempo podem proceder independentemente do Hospedeirooriginal continuar conectado ou não. Exemplos de análises de servidores comtempo central que podem ser executados, incluem:(1) Computar espalhamentos alternativos (por exemplo,utilizando algoritmos MD5 ou SHA1), verificar os espalhamentos reportados, earmazenar todos os espalhamentos.
(2) Autenticar e assinar conteúdos com as credenciais doservidor ou com outras credenciais de terceiros.
(3) Verificar espalhamentos contra bases de dados ruinsconhecidas (lista negra) ou localmente ou via consulta a outro servidor.
(4) Verificar espalhamentos contra bases de dados boasconhecidas (lista branca) ou localmente ou via consulta a outro servidor.
(5) Verificar espalhamentos contra bases de dadosconhecidas de classificação de produtos para identificar o produto (e outrasinformações) que correspondam com o espalhamento do arquivo.
(6) Enviar arquivos para varredura de vírus (por exemplo,por FTP ou SMTP como anexos MIME) ou executar localmente.
(7) Enviar arquivos para varredura de software espiãocomo em (4) ou executar localmente.
(8) Enviar arquivos para análises personalizadas em sitesespecíficos como em (4) ou executar localmente.
(9) Exportar arquivos para um subdiretório especial comacesso-restrito-à-rede em um servidor de arquivos de rede (por exemplo, Sambaautenticado ou FTPS).
(10) Enviar sinalizações SNMP informando que novosarquivos necessitam análise, e especificar suas localizações.
(11) Enviar registros de atividade de sistema oumensagens de e-mail informando que novos arquivos necessitam análise, eespecificar suas localizações.
(12) Controlar determinados diretórios para verificar se umoutro sistema aprovou ou desaprovou o arquivo.
(13) Executar análises personalizadas no servidor.
(14) Executar automaticamente uma segunda análisecondicionada aos resultados de uma primeira análise.
(15) Receber mensagens de rede autenticadas contendoresultados de análises de sistemas de análises externos.
Os resultados das análises acima são resumidos noservidor, que atualiza o estado no armazenador de meta-informações (124),particularmente o estado para a difusão para os hospedeiros. O servidor fazrecomendações quanto a um arquivo ser aprovado ou banido. A informação éresumida para que administradores possam aprovar o banir grupos de arquivoscom uma ação de um navegador web. Opcionalmente os resultados das análisesacima podem ser utilizados para aprovar ou banir automaticamente arquivos comdeterminados anticorpos. O servidor pode providenciar relatórios, alarmes, ououtras informações, e pode alterar o valor paramétrico de D para todos ou um oumais grupos de hospedeiros. O servidor sinaliza as mudanças de estado paraposterior distribuição através de atualizações (130), preferencialmente de umamaneira que os hospedeiros puxem a atualização do servidor.
Análise Anticorpo / Serviços de Aprovação
Uma vez que o sistema se concentra em novos arquivos,serviços terceirizados de análises de arquivos podem se tornar práticos e úteis.Estes serviços podem ser automatizados (por exemplo, com chamadas deserviços SOAP/Web) ou manuais (seguir links autenticados para os servidores deum provedor de serviços). Estes serviços, que podem ser executados localmenteou em locais externos utilizando servidores remotos, podem incluir:
(1) Entrar um espalhamento manualmente ou seguir umlink web pré-computado para receber resultados de consultas de verificações debases de dados conhecidas como boas e ruins.
(2) Encontrar anticorpos relacionados a um anticorpoparticular (por exemplo, grupos de arquivos associados com a mesma aplicaçãoou aplicações similares).
(3) Identificar o vendedor e a aplicação associada com oespalhamento.
(4) Descobrir quantas companhias e computadores têmeste arquivo e por quanto tempo. Estas companhias não são identificadas pornome, apenas contadas. O provedor de serviços recebe esta informaçãoconfidencialmente como parte do serviço. O provedor de serviços cria uma basede dados duplamente cega dos resultados e do serviço.
(5) Descobrir quantas companhias baniram ou aprovaram
o arquivo, e quais arquivos eles aprovaram junto com ele. Novamente, todos elessão cegos e feitos por espalhamento, da perspectiva do usuário final. O provedorde serviços não necessita receber ou armazenar nomes de arquivos ou dados dearquivos, apenas a meta-informação na forma de anticorpos. De fato, nomes dearquivos, e certamente os próprios arquivos devem ser considerados comoinformação proprietária.
no resultado das consultas acima, bem como baseadas também nas análises doservidor.
conteúdo. Exemplos disto incluem programas executáveis e vírus dentro dearquivos .zip ou macros dentro de documentos Microsoft Office (por exemplo,Word, Excel e arquivos Power Point), ou arquivos dentro de pacotes de instalaçãotais como arquivos Microsoft .msi. Com referência à Figura 8, um arquivo érecebido e o extrator de conteúdo verifica tipos embarcados de conteúdo, porexemplo, macros dentro de um documento Office. Preferencialmente apenasestes tipos "ativos" de conteúdos são extraídos.
ou de estado desconhecido, o extrator de conteúdo toma as porções extraídas eas converte em um tipo de arquivo de conteúdo válido, por exemplo, um arquivoWord (.doe) sem textos ou figuras, para reempacotá-los. Este processo é ilustrado
nas etapas 600-605. O arquivo reempacotado resultante é geralmente muitomenor que o arquivo original (o "contêiner") que é referenciado como sendo uma"redução". Um espalhamento da redução é computado (603) e os espalhamentosda redução são associados com o espalhamento do contêiner (604). Contêinerespodem ser aninhados e suas associações são também rastreadas.
Posteriormente, se o conteúdo necessita ser transferido, apenas as reduções sãotransferidas. Opcionalmente, o arquivo contêiner e suas meta-informações podemser transferidos baseado no resultado da análise da extração. Contêineres raiz e
(6) Aprovação automática pelo lado do servidor baseada
Extrator de Conteúdo (CE)O conteúdo geralmente forma grupos ou pacotes de
Após detectar uma possível modificação de arquivo (600)suas meta-informações podem ser transferidos baseado no resultado da análiseda extração. Por exemplo, um arquivo set up.exe contém um arquivo main.cab,que por sua vez contém um arquivo install.exe. Em relação ao install.exe oarquivo main.cab é o contêiner pai para o arquivo install.exe, e o arquivosetup.exe é o contêiner raiz para o arquivo install.exe bem como o contêiner paipara o arquivo main.cab. Todas estas associações são armazenadas epreferencialmente salvas como relacionamentos entre os espalhamentos dosarquivos individuais.
Este processo, reduz o tráfego de rede e as áreas decobertura dos estágios de análises, e ele permite apenas o rastreamento doconteúdo embarcado e não de macros associadas com outros arquivos (porexemplo, modelos de documentos herdados). Isto não é verdade em métodos queinterceptam macros durante o seu carregamento. O extrator permite a detecção eo rastreamento de macros embarcadas, independentemente da localização.
O reempacotamento de reduções como outros tipos dearquivos válidos tem a vantagem que as reduções são compatíveis com sistemasde análises de terceiros, por exemplo, macros reempacotadas como pequenosdocumentos Word podem ser enviadas como anexos de e-mail para uma porta devarredura de vírus de e-mails. Outro exemplo é um arquivo zip, temp.zip,contendo 5 arquivos, apenas um dos quais é ativo, foo.exe. A redução detemp.zip pode ser um arquivo zip chamado foo.zip com apenas foo.exe dentrodele, ou a redução pode ser o próprio arquivo foo.exe. A assinatura de foo.zip oua assinatura de foo.exe é preferencialmente associada como a assinaturacorrespondendo ao temp.zip. A redução pode novamente ser enviada por e-mailpara uma porta AS de varredura de e-mails. Alguns contêineres são isentos deconteúdo ativo, e como tais podem não ser rastreados. Existem vantagens deeficiência no rastreamento de reduções, mas também existem vantagens emdetectar e analisar somente o novo conteúdo. Deste modo, estatísticas maisexatas, alarmes, e análises podem ser produzidas. A detecção automática eespecificamente antecipada de conteúdo não classificado, tais como arquivos deestado Pendente, permite diretrizes poderosas e gerenciamentos de conteúdo.
Interface de Usuário do ServidorA interface de usuário do servidor proporciona um númerode "painéis", cada um dos quais permite a configuração e o gerenciamento de umaspecto diferente do sistema. Nesta seção o termo "usuário" é utilizado paraindicar um administrador que tem acesso à interface de usuário do servidor. Ainterface de usuário pode ser acessível através de um navegador webpadronizado, através de uma conexão SSL criptografada. A autenticação e ocontrole de acesso são providenciados para manter a integridade do servidor epara determinar o nível de privilégio de um usuário em particular.
Quando o primeiro usuário acessa o sistema, o usuário éautenticado e a ele é atribuído um nível de privilégio baseado nesta autenticação.
Este nível de privilégio determina se o usuário tem permissão de acesso ilimitadoou acesso apenas de leitura; menor granularidade de acesso também pode serproporcionada. Ações de usuários são rastreadas pelo nome do usuário e pelotempo. Certificados instalados no servidor podem ser utilizados para controlar eencriptar tanto o acesso à interface do usuário e também para providenciarassinaturas para e possíveis encriptações de informações retornadas aosservidores. Estes certificados podem ser instalados e atualizados em um painelde manutenção. Toda a entrada para a interface deve ser apropriadamentevalidada para assegurar que o servidor está fornecendo informações corretaspara os hospedeiros em suas configurações.
Uma interface de estado de rede proporciona uma visãogeral do sistema em execução, incluindo: eventos recentes e informaçõesassociadas, incluindo identificadores únicos de arquivos, datação de eventos,tipos de eventos, prioridade de eventos , tipos de arquivos e nomes, e sistemashospedeiros identificados por ambos os nomes e os identificadores únicos. Ainterface também fornece um resumo de informações do estado do sistemadurante certos períodos de tempo (por exemplo, última hora, último dia).
Informações mais detalhadas encontram-se disponíveis em um painel deestatísticas. As informações mostradas aqui incluem os números de novosexecutáveis detectados, novos roteiros detectados, arquivos com novo conteúdoembarcado, arquivos não aprovados, e arquivos infectados.
Um painel de estatísticas mostra as estatísticas maisdetalhadas coletadas pelo sistema. Esta informação inclui o número dosseguintes eventos em vários períodos de tempo (por exemplo, última hora,últimas 24 horas, última semana). Ela pode incluir, por exemplo, o número denovos executáveis vistos na rede, novos roteiros, arquivos como novo conteúdoembarcado, novos arquivos web (HTML, ASP, etc.), arquivos que necessitam deaprovação, manualmente ou por varredura, arquivos aprovados pelo processo devarredura, arquivos aprovados manualmente ou através de auto-aprovação,arquivos que não estão passando por uma varredura, arquivos que sãoconhecidamente infectados e que foram bloqueados, executáveis que sãobanidos e foram bloqueados, total de eventos processados pelo servidor desdeque ele foi instalado, e eventos desde a última reinicialização.
Junto com as estatísticas de cada categoria, o usuáriopode visualizar "listas top dez" de um item realçando as instâncias maisfreqüentemente vistas de cada um, através de todos os hospedeiros gerenciadospelo servidor. Exemplos de listas TopIO incluem arquivos top dez recentementedescobertos, classificados pela contagem de quantos hospedeiros têm pelomenos uma cópia do arquivo, com variantes desta lista incluindo contagem-por-espalhamento-único, contagem-por-nome-único-de-arquivo, contagem-Banido-por-espalhamento, contagem-Banido-por-nome, contagem-recentemente-banido,contagem-recentemente-atualizado/modificado, contagem-por-grupo/contêiner/contêiner-raiz/produto-único. Listas TopIO são atualizadas eexportadas via SNMP. Um painel de configuração pode ser utilizado paraconfigurar alarmes e respostas automáticas baseadas em contagens TopIO eoutras variáveis atualizadas. Alarmes incluem registros de atividades, armadilhasSNMP, mensagens de registro de sistemas, notificações de e-mail e outrasmensagens de rede. Respostas incluem banir arquivos, aprovar arquivos, mudaro parâmetro D para um ou mais grupos de hospedeiros, mudar a diretriz para umou mais grupos de hospedeiros, mudar a atribuição do grupo de hospedeiros paraum ou mais hospedeiros, e analisar arquivos.
O painel de estatísticas também mostra informaçõesgeneralizadas sobre o sistema, incluindo: o número total de hospedeiros servidospor este servidor, divididos em ativos e inativos (um hospedeiro inativo é um quenão contatou o servidor recentemente); o número total de anticorpos na base dedados do servidor; e o tempo ativo, isto é, quanto tempo o sistema tem estado
ativo desde a última reinicialização.
A informação estatística exibida neste painel também estádisponível através de consulta via SNMP (Protocolo Simples de Gerenciamentode Rede) ao servidor, permitindo a integração com sistemas de gerenciamento deredes.
Um painel de plotagem permite que o usuário plote eimprima gráficos e tabelas de atividades recentes. Este painel pode sercombinado com o painel de estatísticas. A informação de plotagem também podeestar disponível em formato XML para exibição em aplicações externas.Exemplos de gráficos que podem ser plotados incluem a atividade durante umdeterminado período de tempo (uma hora por minuto, uma semana por hora,etc.), ou exibições gráficas da "lista top dez".
Podem existir algumas limitações na variedade deplotagens disponíveis, em função das restrições nas informações estatísticasretidas pelo servidor. Onde um administrador estiver utilizando um sistema degerenciamento SNMP, também pode ser possível providenciar plotagens deestatísticas em um formato que já está em uso dentro da organização.
O painel da base de dados anticorpo permite que ousuário interaja diretamente com a base de dados anticorpo armazenada noservidor. O conteúdo da base de dados é exibido e o usuário pode escolher aclassificação da exibição por diferentes critérios, ou limitar a exibição através daescolha de padrões de filtros. O usuário também pode interagir com os própriosanticorpos; estas operações serão detalhadas abaixo.
O servidor pode utilizar uma base de dados informacionalauxiliar, que inclui campos que não são requeridos na base de dados anticorpoprincipal. Um exemplo de campos desta base de dados pode ser o primeiro nomede arquivo visto ou a classe inicial do arquivo.
Para cada arquivo, a seguinte informação é exibida nestepainel:
• Tempo Primeiramente Visto. Quando o arquivo ou espalhamento foi vistopela primeira vez pelos hospedeiros e reportado ao servidor.
ID de Arquivo. Um identificador único para o arquivo, incluindo um ou maisespalhamentos de conteúdo tais como MD5, SHA-1, e OMAC.Tipo de Arquivo. A classe do arquivo (por exemplo, executável, roteiro,documento Office, arquivo, etc.). Esta é derivada do nome do arquivo comofoi primeiramente visto (veja abaixo) e também da análise do conteúdo doarquivo.
Estado/Estado. O estado corrente do arquivo incluindo Aprovado,Pendente, Banido.
Método. O método pelo qual o servidor aprendeu sobre o arquivo(automaticamente, manualmente, etc.).
Nome do Arquivo. O nome do arquivo, como primeiramente visto ereportado para o servidor. Este pode não ser o nome corrente do arquivo,mas apenas o nome da primeira instância visualizada na rede.Caminho do Arquivo. O caminho do arquivo como primeiramente visto ereportado para o servidor.
Primeiro Hospedeiro Visto. O nome do hospedeiro no qual o arquivo ouespalhamento foi visto pela primeira vez e reportado.
Resultados de Análises. O resultado dos últimos escaneamentos ou outrasanálises.
Primeira Análise. O tempo da primeira varredura / análise do arquivo.Última Análise. O tempo que o arquivo foi escaneado / analisado pelaúltima vez.
Última Atualização. O tempo que o estado do arquivo foi modificado pelaúltima vez.
Contêineres Pai. Links para outros arquivos que foram associados com oarquivo.
Atributos do Contêiner Pai. Nome do arquivo, tempo primeiramente visto,primeiro hospedeiro visto, caminho do arquivo, classificações do produto, eestado de um arquivo contêiner associado.
Contêineres Raiz. Links para outros arquivos que foram associados com oarquivo. Um contêiner raiz é um contêiner que não está contido em outrocontêiner.
• Atributos do Contêiner Raiz. Nome do arquivo, tempo primeiramente visto,primeiro hospedeiro visto, caminho do arquivo, classificações do produto, eestado de um arquivo contêiner pai associado.
As seguintes operações podem ser executadas em umarquivo selecionado da lista:
• Detalhe de Arquivo. Proporciona informação adicional do arquivo a partirda base de dados anticorpo, incluindo o usuário da interface que aprovouou baniu o arquivo, onde o arquivo foi visto pela primeira vez e quaisquercomentários adicionados por usuários.
• Aprovar. Explicitamente aprova os arquivos correntemente selecionados.Esta opção deve providenciar alertas adequados para o usuário, pois elaaprova os arquivos em todos os hospedeiros.
• Desaprovar. Explicitamente desaprova arquivos que já estão aprovados,preferencialmente transitando o estado para Pendente.
• Banir. Bane explicitamente um arquivo. Isto faz com que o arquivo sejabanido em todos os hospedeiros.
• Análise / Escaneamento de Vírus. Força a programação de uma análise /escaneamento para os arquivos selecionados.
• Apagar. Remove informações neste arquivo. Isto faz com que o servidortrate o arquivo como novo da próxima vez que ele for visto.
• Acha Arquivos em Hospedeiros. Esta operação conecta o Iocalizador dearquivos, fornecendo os nomes selecionados de arquivos como entradas.
• Acha Contêineres. Verifica possíveis contêineres para o arquivo einformações para estes contêineres.
• Acha Contêineres Raiz. Verifica possíveis contêineres raiz para o arquivo einformações para estes contêineres.
• Acha Informações Serviços Web. Requisita que vários outros servidores derede encontrem informações adicionais sobre o arquivo e/ou seuscontêineres / produtos.
Um painel Acha Arquivos permite que o usuário inicie umprocesso com os melhores esforços para encontrar as localizações de um arquivoem particular em todos os hospedeiros gerenciados. Como este processo podeconsumir tempo, o usuário será notificado antes de iniciar uma nova procura. OIocalizador de arquivos pode não ser implementado em todas as versões doproduto. O progresso do AchaArquivo pode ser exibido durante uma consultaparcialmente completada.
Este processo também pode ser iniciado a partir do painelda base de dados anticorpo (veja seção 0) com a seleção de um arquivoparticular ou arquivos, o que então leva o usuário para o painel Acha Arquivoscom a informação apropriada preenchida automaticamente.
Este processo requer que todos os hospedeiros que estãoem comunicação com o servidor retornem estados assincronicamente, assim opainel irá abrir uma nova visualização para exibir dinamicamente os resultados àmedida que eles são recebidos. Se o usuário iniciar uma outra procura, a procuracorrente será encerrada. Múltiplas procuras de arquivos podem serimplementadas em futuras versões.
Um painel grupo de hospedeiros permite que oshospedeiros conhecidos pelo servidor sejam associados com um grupo lógicoparticular. A funcionalidade completa de grupos pode não estar disponível emversões iniciais da interface, e neste caso esta tela irá exibir informações sobre ogrupo único suportado por este servidor.
O painel suporta a manipulação de grupos, incluindo:
• Adição de novos grupos.
• Remoção de grupos existentes. Quando um grupo é removido, oshospedeiros não são removidos da base de dados do servidor, mas sãoreatribuídos a um grupo padrão.
• Mover hospedeiros de um grupo ao outro.
A seguinte informação é exibida neste painel sobre cadahospedeiro:
Hospedeiro. O nome DNS dos hospedeiros.
• ID Único. O identificador único dos hospedeiros.
• Endereço IP. O último endereço IP conhecido deste hospedeiro.• Estado. O estado online do hospedeiro.
• Ultimamente Visto. A última vez que o hospedeiro se registrou com oservidor.
• Sistema Operacional. O sistema operacional do hospedeiro.
Versão. A versão do sistema operacional do hospedeiro.
Um painel de classe de arquivo permite a visualização e aedição das extensões do arquivo que estão mapeadas para cada classe. Algumasclasses, como abaixo, são definidas por extensões. Outras classes sãodeterminadas por análises de conteúdo. Algumas classes são determinadas porambos, a extensão e a análise. Estas extensões são apenas de leitura.
Algumas extensões predefinidas são:
• Executáveis. Extensões incluindo exe, com, dll, pif, ser, drv, e ocx.
• Roteiros. Extensões incluindo vbs, bat e cmd.
• Conteúdo Embarcado em Macros. Extensões incluindo doe, dot, xis, xla,xlt, xlw, ppt, pps e pot.
• Conteúdo Web. Extensões incluindo htm, html, asp e cgi.
Um painel de diretrizes é o núcleo da configuração doservidor. O usuário pode exibir e editar as diretrizes reforçadas em todos oshospedeiros gerenciados, agrupados por grupos de hospedeiros. Este paineltambém pode exibir a programação global corrente D para o grupo correntementeselecionado.
Esta seção permite que o usuário defina o nível global Dpara o grupo correntemente selecionado. Quando um novo nível D é escolhido, amodificação não é imediatamente aplicada, mas deve ser selecionadaexplicitamente. Escolher um novo nível D proposto modifica a exibição dasinformações das diretrizes e ações para mostrá-las para este novo nível. Navegarpara longe do painel não aplica as mudanças.
A lista de diretrizes exibe as várias ações e efeitos deníveis particulares D em classes de arquivos particulares (por exemplo,executáveis, roteiros, etc.). Diretrizes podem ser habilitadas ou desabilitadas, masnão editadas. As seguintes diretrizes estão incluídas na lista:
• Novos Executáveis• Novos Roteiros Autônomos
• Novos Roteiros Embarcados
• Novo Conteúdo Web
• Arquivos não Aprovados
• Ignorar Agente de Atualização (aprova automaticamente novo conteúdo dedeterminadas fontes / processos / localizações de atualização)
• Arquivos Infestados por Vírus / Software Espião
Toda vez que uma diretriz é desabilitada o rastreamentode arquivos desta classe continua, mas nenhuma ação é tomada pelos sistemasdos hospedeiros afetados.
Para cada diretriz, uma grade de ações é exibida. A gradeindica qual programação de diretriz se aplica ao nível D correntementeselecionado.
• Ação
• Bloquear Execução. A execução desta classe de arquivo será bloqueada?
• Bloquear Escrita. A escrita em arquivos desta classe de arquivos serábloqueada? Esta programação é utilizada somente para conteúdo web earquivos não aprovados. Ela é utilizada apenas para sistemas fortementecontrolados e não para a operação normal.
• Quarentena. Arquivos desta classe serão colocados em quarentena?Arquivos podem ser colocados em quarentena através de bloqueio deleitura, ao invés de serem enviados a um diretório separado. No caso dearquivos infectados por vírus, eles podem ser escritos, mas posteriormenteapagados, mas esta funcionalidade pode também não estar implementadainicialmente.
• Registro. O acesso a arquivos desta classe será registrado?
• Aprovação
• Aprovação Implícita. Os arquivos serão aprovados implicitamente nestenível D? Uma aprovação implícita muda o estado aprovado do arquivoapós varreduras apropriadas e tempos de espera.
• Aprovação Explícita. Os arquivos serão aprovados explicitamente nestenível D?
Uma grade de ações similar à ilustrada acima, mostra aousuário uma representação dos efeitos de níveis particulares de D emcombinação com diretrizes pré-fabricadas. As tabelas abaixo mostram umexemplo da combinação de ações e diretrizes pré-fabricadas nos vários níveis D(zero a sete).
Parâmetros Notificadores
Quando o acesso ao conteúdo é bloqueado, o usuário dohospedeiro é notificado. Para cada diretriz da lista, e para cada grupo dehospedeiros, as seguintes programações estão disponíveis:
• Mensagem exibida. O texto exibido no diálogo interativo do usuário.Mensagens múltiplas são listadas em uma caixa de listagem.
• Texto de botão. O texto exibido em um único botão no diálogo interativo dousuário.
Intervalo. Quanto tempo o diálogo será exibido para o usuário. Um intervalozero indica aceito pelo usuário, e o diálogo permanece exibidoindefinidamente.
• Opcionalmente, para certos valores de D, existe um botão para sobreporrestrições de conteúdo por um período de tempo.
Link URL com mais informações sobre a diretriz.
Os parâmetros de notificação também incluem umaprogramação global que define a imagem exibida no hospedeiro em conjunto coma mensagem de notificação. Estas programações são configuráveis para uma dasdiretrizes pré-fabricadas individualmente. Parâmetros de notificação são editadosna interface administrativa do servidor. Estes parâmetros são associados comdiretrizes, que por sua vez são atribuídas a grupos de hospedeiros, e propagadasa hospedeiros quando as diretrizes mudam.
Parâmetros de Idade de Escaneamentos
Esta seção permite que o usuário configure o período detempo quando um arquivo foi visto pela primeira vez e quando foi aprovado(escaneamento de auto-aprovação), o tempo que o segundo escaneamento(aprovação) foi conduzido e o tempo que um terceiro escaneamento (repetição)ocorreu. Mais escaneamentos e tempos podem ser especificados como na Figura 7.
Manutenção
A seção de Manutenção permite que o usuário configureprogramações globais para o próprio servidor.
• Configuração de Sistema. Configurações relacionadas com ainteração do servidor com a rede local e com os sistemas dehospedeiros.
• Endereço IP e máscaras de sub-rede. Máscaras de sub-redepermitem a classificação de hospedeiros nos tipos Remoto e Local.Hospedeiros remotos têm comunicações mais restritas paraconservar largura de banda. Grupos de hospedeiros podem terdiferentes diretrizes e parâmetros de programação D, que sãoespecificados para cada tipo de conexão, Remoto, Local, ouDesconectado. Hospedeiros remotos geram menor tráfego de rede,por exemplo, menos relatórios de servidor. Hospedeiros remotostambém reportam preferencialmente espalhamentos de novosconteúdos para o servidor, mas não transferem o conteúdo.
• Informação de roteamento IP.
• Senhas. Define ou reseta senhas de acesso à interface do servidor.
• Certificados. Instala certificados de mídias removíveis (eopcionalmente da rede). Estes são utilizados pelos hospedeirospara verificar a identidade do servidor e também para a interfaceSSL do servidor.
• SNMP. Define uma lista de servidores SNMP que recebemarmadilhas e que têm permissão para consultar a configuração dosservidores.
• Seleção de armadilha SNMP. Seleciona que tipo de evento, quaisarmadilhas e para qual serviço SNMP a armadilha será enviada (etambém define a prioridade critica, alta, média, baixa, informacional,etc...).
• Registrador de atividades de sistema. Define uma lista de servidoresque recebem informações de registro via o registrador de atividadesde sistema, para vários tipos de eventos e prioridades.
• Servidor de sincronização de tempo NTP. Define uma lista deservidores para sincronização de tempo. O tempo no servidor éretirado do seu relógio interno durante a inicialização e entãosincronizado com sua fonte de tempo externa NTP. Desvios detempo do hospedeiro do tempo do servidor serão rastreados peloservidor.
Estado de Sistema (servidor)
• Tempo Ativo. Exibe o tempo desde a última reinicialização dosistema.
• Versão do Software. Exibe a informação de versão do software doservidor.
• Espaço de disco. Exibe estatísticas de discos locais e dearmazenamento do servidor.
Atualizações de Assinaturas de Vírus / Software Espião
• Atualização da Última Assinatura. O tempo da atualização da últimaassinatura.
• Configuração de serviços de atualização. Configura o serviço deatualização para o software antivírus instalado, incluindolocalizações de downloads e cronogramas.
• Atualização Scanner. Atualiza o software de escaneamento de vírus.
• Atualização Assinaturas. Força uma atualização das assinaturas devírus.
Atualização do Software do Servidor
• Versão Corrente. Exibe a versão corrente do software do servidor.
• Reinicialização. Reinicializa o servidor utilizando a imagemcorrentemente instalada.
• Carregar nova imagem. Carrega uma nova imagem do software parao servidor a partir de mídia removível ou rede (por exemplo, viaFTP).• Reverter para a versão anterior. Reverte para a imagem do softwarepreviamente utilizada.
• Configuração de Serviços Externos.
• Endereço de rede, tipo de serviço, e autoridade de aprovação parasistemas de escaneamento de conteúdo.
• Endereço de rede, tipo de serviço, e autoridade de aprovação paraserviços de compartilhamento de meta-informações.
• Endereços de servidores de arquivos externos, protocolos, registros,e diretórios para a transferência de conteúdo externo e análisesdefinidas pelo usuário.
• Configurações SNMP de serviços externos de notificação deconteúdo, atividades de sistema, e-mail e notificação SOAP de novoconteúdo.
• Backup. Faz backup e restaura a configuração para mídias removíveis (etambém para a rede).
• Salvar configuração e base de dados. Salva a configuração e a basede dados anticorpo (por exemplo, via XML).
• Carregar configuração e base de dados. Carrega a configuração e abase de dados anticorpo (por exemplo, via XML).
O servidor incorpora capacidades de processamento taiscomo um microprocessador programado, processador digital de sinais (DSP), ouprocessamento e memória específicos de aplicações. Hospedeiros podem incluircomputadores pessoais ou computadores similares, ou outros dispositivos deprocessamento, incluindo computadores de mão, PDAs, ou outros dispositivos emuma rede.
Tendo descrito aqui as modalidades preferidas deexecução da invenção, deve ficar aparente que modificações podem ser feitassem divergir do escopo da invenção conforme reivindicado.
Claims (15)
1. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, caracterizado pelo fato de ser utilizado em um sistema decomputador composto por uma pluralidade de computadores hospedeiros(hospedeiros) e um servidor associado aos hospedeiros, que compreende:- o servidor, que propaga para os hospedeiros umconjunto mestre de diretrizes relacionadas às operações de arquivos, e opções dediretrizes indicando pelo menos se e com quais condições tais operações sãopermitidas ou banidas;- o servidor, que propaga um valor para os hospedeiros;- o valor armazenado no hospedeiro, que indica qualsubconjunto de diretrizes e opções de diretrizes deve ser implementado nohospedeiro a partir do conjunto mestre de diretrizes e opções de diretrizes;- o hospedeiro, que implementa as diretrizes da operaçãode arquivo indicadas pelo valor.
2. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato decada diretriz ter um único parâmetro de configuração que indica uma das opçõesda diretriz, sendo que o valor é propagado por meio da seleção da opção dadiretriz para cada uma das diversas diretrizes.
3. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com a reivindicação 2, caracterizado pelo fato de oconjunto mestre incluir listas de diretrizes e opções, sendo que o valor épropagado por meio da seleção de uma destas listas
4. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com a reivindicação 1, 2 ou 3, caracterizado pelo fatode o hospedeiro modificar o valor automaticamente em resposta a um relatório dediretriz no mesmo hospedeiro, ou em resposta a um evento detectado nohospedeiro, ou em resposta a um comando executado no hospedeiro.
5. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com a reivindicação 1, 2, 3 ou 4, caracterizado pelofato de as opções de diretrizes incluírem automaticamente operações deexecução de permissão ou bloqueio e/ou leitura de arquivos, com um estado demeta-informações indicando quais operações estão aprovadas.
6. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com a reivindicação 1, 2, 3, 4 ou 5, caracterizado pelofato de as opções de diretrizes incluírem operações de execução de permissão oubloqueio e/ou leitura de arquivos com um estado de meta-informações pendente eassociado, indicando quais ações ainda não foram determinadas para serempermitidas ou banidas.
7. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com qualquer uma das reivindicações precedentes,caracterizado pelo fato de o hospedeiro manter meta-informações para cada umdos arquivos no hospedeiro, sendo que as meta-informações incluem um estadono qual há pelo menos três valores possíveis: Aprovado, Banido e Pendente.
8. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com qualquer uma das reivindicações precedentes,caracterizado pelo fato de pelo menos algumas das diretrizes e opções dediretrizes indicarem uma ação baseada no nome e/ou no conteúdo de um arquivo.
9. MÉTODO DE SEGURANÇA PARA REDES DECOMPUTADOR, de acordo com qualquer uma das reivindicações precedentes,caracterizado pelo fato de o servidor modificar o valor, por meio do registro de umnovo valor de uma maneira acessível para os hospedeiros, sendo que oshospedeiros acessam o novo valor, comparam o novo valor com o valor que oshospedeiros têm e modificam seu valor para o novo valor.
10. SISTEMA DE COMPUTADOR caracterizado pelo fatode compreender:- uma pluralidade de computadores hospedeiros(hospedeiros);- um servidor para propagar, para os hospedeiros, umconjunto mestre de diretrizes relacionadas às operações de arquivos, e opções dediretrizes indicando pelo menos se e com que condições estas operações sãopermitidas ou banidas;- servidor para também propagar um valor para oshospedeiros, para o armazenamento nos hospedeiros;- um valor armazenado nos hospedeiros indicando qual osubconjunto de diretrizes e opções de diretrizes deve ser implementado noshospedeiros a partir do conjunto mestre de diretrizes e opções de diretrizes;- um hospedeiro para a implementação das diretrizes deoperações de arquivos indicadas pelo valor.
11. SISTEMA DE COMPUTADOR, de acordo com areivindicação 10, caracterizado pelo fato de a informação propagada pelo servidorincluir um valor que indica um conjunto de opções de diretrizes para cada umadas diversas e diferentes diretrizes.
12. SISTEMA DE COMPUTADOR, de acordo com areivindicação 10 ou 11, caracterizado pelo fato de os hospedeiros seremorganizados em múltiplos grupos de hospedeiros, sendo que o servidor propagaas modificações do valor para um ou mais, mas não para todos os grupos dehospedeiros.
13. SISTEMA DE COMPUTADOR, de acordo comqualquer uma das reivindicações precedentes, caracterizado pelo fato de asoperações de arquivos incluírem acessos de escrita aos arquivos e execução dearquivos, sendo que as opções incluem uma pluralidade de opções em umconjunto ordenado de restrições que gradativamente aumentam ou reduzem acapacidade dos hospedeiros de executar as operações de arquivos.
14. SISTEMA DE COMPUTADOR, de acordo comqualquer uma das reivindicações precedentes, caracterizado pelo fato de oconjunto mestre incluir listas de diretrizes e opções de diretrizes, sendo que oservidor fornece informações, incluindo um valor que indica uma das listas.
15. SISTEMA DE COMPUTADOR, de acordo comqualquer uma das reivindicações precedentes, caracterizado pelo fato de oservidor postar as informações em um local acessível aos hospedeiros e oshospedeiros acessarem as ditas informações e atualizarem seus valores.
Applications Claiming Priority (11)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/193,292 US7895651B2 (en) | 2005-07-29 | 2005-07-29 | Content tracking in a network security system |
| US11/193,295 US8272058B2 (en) | 2005-07-29 | 2005-07-29 | Centralized timed analysis in a network security system |
| US11/193,291 US20070028302A1 (en) | 2005-07-29 | 2005-07-29 | Distributed meta-information query in a network |
| US11/193,291 | 2005-07-29 | ||
| US11/194,078 | 2005-07-29 | ||
| US11/194,075 | 2005-07-29 | ||
| US11/194,075 US20070028291A1 (en) | 2005-07-29 | 2005-07-29 | Parametric content control in a network security system |
| US11/193,295 | 2005-07-29 | ||
| US11/193,292 | 2005-07-29 | ||
| US11/194,078 US8984636B2 (en) | 2005-07-29 | 2005-07-29 | Content extractor and analysis system |
| PCT/US2006/029714 WO2007016478A2 (en) | 2005-07-29 | 2006-07-27 | Network security systems and methods |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0616018A2 true BRPI0616018A2 (pt) | 2011-06-07 |
Family
ID=37709277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0616018-2A BRPI0616018A2 (pt) | 2005-07-29 | 2006-07-27 | sistemas e métodos de segurança para redes de computador |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1920338B1 (pt) |
| JP (2) | JP2009507271A (pt) |
| CN (1) | CN103984891A (pt) |
| BR (1) | BRPI0616018A2 (pt) |
| CA (1) | CA2617204C (pt) |
| WO (1) | WO2007016478A2 (pt) |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006101549A2 (en) * | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
| US7757269B1 (en) | 2006-02-02 | 2010-07-13 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
| US7895573B1 (en) | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
| US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
| US9424154B2 (en) | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
| JP5126495B2 (ja) * | 2007-11-01 | 2013-01-23 | 日本電気株式会社 | 安全度評価と連動するセキュリティの方針設定装置、そのプログラムおよびその方法 |
| US8549625B2 (en) * | 2008-12-12 | 2013-10-01 | International Business Machines Corporation | Classification of unwanted or malicious software through the identification of encrypted data communication |
| US8161556B2 (en) * | 2008-12-17 | 2012-04-17 | Symantec Corporation | Context-aware real-time computer-protection systems and methods |
| EP2479700A4 (en) * | 2009-09-14 | 2013-05-01 | Mori Kiyoshi | SECURE AUDIT SYSTEM AND SECURE AUDIT PROCEDURE |
| US8572740B2 (en) | 2009-10-01 | 2013-10-29 | Kaspersky Lab, Zao | Method and system for detection of previously unknown malware |
| WO2011089864A1 (ja) * | 2010-01-21 | 2011-07-28 | 日本電気株式会社 | ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム |
| US8925101B2 (en) | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
| US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
| JP5610524B2 (ja) | 2010-09-22 | 2014-10-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 文書の優先度を決定する方法、プログラム及び装置 |
| JP5779334B2 (ja) | 2010-11-09 | 2015-09-16 | デジタルア−ツ株式会社 | 出力制御装置、出力制御プログラム、出力制御方法および出力制御システム |
| US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
| US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
| US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
| US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
| US9661016B2 (en) | 2011-12-06 | 2017-05-23 | Avocent Huntsville Corp. | Data center infrastructure management system incorporating security for managed infrastructure devices |
| WO2013141517A1 (ko) * | 2012-03-18 | 2013-09-26 | 엘지전자 주식회사 | 제어 장치 및 그의 동작 방법, 서버 및 그의 동작 방법 |
| US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
| US8973146B2 (en) * | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
| EP3061030A4 (en) | 2013-10-24 | 2017-04-19 | McAfee, Inc. | Agent assisted malicious application blocking in a network environment |
| CN104239797B (zh) * | 2014-10-13 | 2017-07-07 | 北京奇虎科技有限公司 | 主动防御方法及装置 |
| US10719608B2 (en) * | 2015-02-06 | 2020-07-21 | Honeywell International Inc. | Patch monitoring and analysis |
| CN105320883B (zh) * | 2015-11-11 | 2018-05-15 | 北京奇虎科技有限公司 | 文件安全加载实现方法及装置 |
| CN107277037A (zh) * | 2017-07-14 | 2017-10-20 | 北京安数云信息技术有限公司 | 基于插件的任意文件操作检测方法和装置 |
| CN109472139B (zh) * | 2017-12-25 | 2022-04-19 | 北京安天网络安全技术有限公司 | 一种防御勒索病毒对主机文档二次加密的方法及系统 |
| CN108874416B (zh) * | 2018-05-04 | 2022-10-28 | 天津猎鹰网络技术有限公司 | 策略处理方法、装置、存储介质、处理器 |
| US10496842B1 (en) * | 2018-07-16 | 2019-12-03 | Didi Research America, Llc | Multi-pronged file anomaly detection based on violation counts |
| CN109672526B (zh) * | 2018-12-17 | 2021-11-09 | 福建联迪商用设备有限公司 | 一种管控可执行程序的方法及系统 |
| CN110096877B (zh) * | 2019-04-24 | 2021-06-04 | 厦门网宿有限公司 | 一种文件处理方法及装置 |
| WO2021011114A1 (en) | 2019-07-15 | 2021-01-21 | Bonczar David Thomas | Methods and systems for automatically securing endpoint device data communications |
| TWI734183B (zh) * | 2019-08-30 | 2021-07-21 | 台中商業銀行股份有限公司 | 黑名單資料庫檢索系統及檢索方法 |
| WO2022249448A1 (ja) * | 2021-05-28 | 2022-12-01 | 日本電信電話株式会社 | 検出装置、検出方法および検出プログラム |
| CN113973019B (zh) * | 2021-12-27 | 2022-04-01 | 北京安博通科技股份有限公司 | 一种网络病毒检测方法及网络设备 |
| CN117708179B (zh) * | 2024-02-02 | 2024-05-03 | 成都深瑞同华科技有限公司 | 电力综合监控系统测点数据缓存方法、装置、设备及介质 |
| KR102705846B1 (ko) * | 2024-02-05 | 2024-09-12 | (주) 시큐에버 | 블록체인 기반 인공지능을 이용한 데이터 변경 추적 시스템 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2000046963A1 (en) * | 1999-02-04 | 2000-08-10 | Apion Telecoms Limited | A telecommunications gateway |
| AU2002252287A1 (en) * | 2001-03-12 | 2002-09-24 | Smart Mediary Systems, Llc | Many-to-many mediated commercial electronic publishing |
| US6920558B2 (en) * | 2001-03-20 | 2005-07-19 | Networks Associates Technology, Inc. | Method and apparatus for securely and dynamically modifying security policy configurations in a distributed system |
| US7203966B2 (en) * | 2001-06-27 | 2007-04-10 | Microsoft Corporation | Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices |
| US8495227B2 (en) * | 2003-12-11 | 2013-07-23 | International Business Machines Corporation | Method and system to distribute policies |
-
2006
- 2006-07-27 BR BRPI0616018-2A patent/BRPI0616018A2/pt not_active Application Discontinuation
- 2006-07-27 CN CN201410112822.9A patent/CN103984891A/zh active Pending
- 2006-07-27 EP EP06788969.1A patent/EP1920338B1/en not_active Not-in-force
- 2006-07-27 JP JP2008524253A patent/JP2009507271A/ja not_active Ceased
- 2006-07-27 CA CA2617204A patent/CA2617204C/en active Active
- 2006-07-27 WO PCT/US2006/029714 patent/WO2007016478A2/en not_active Ceased
-
2012
- 2012-03-02 JP JP2012046805A patent/JP5809084B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CN103984891A (zh) | 2014-08-13 |
| JP5809084B2 (ja) | 2015-11-10 |
| EP1920338A2 (en) | 2008-05-14 |
| EP1920338A4 (en) | 2009-11-25 |
| WO2007016478A3 (en) | 2009-04-16 |
| CA2617204C (en) | 2016-07-05 |
| JP2012146317A (ja) | 2012-08-02 |
| EP1920338B1 (en) | 2013-05-15 |
| CA2617204A1 (en) | 2007-02-08 |
| WO2007016478A2 (en) | 2007-02-08 |
| JP2009507271A (ja) | 2009-02-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7895651B2 (en) | Content tracking in a network security system | |
| BRPI0616018A2 (pt) | sistemas e métodos de segurança para redes de computador | |
| US8984636B2 (en) | Content extractor and analysis system | |
| US8782800B2 (en) | Parametric content control in a network security system | |
| US8272058B2 (en) | Centralized timed analysis in a network security system | |
| US20070028302A1 (en) | Distributed meta-information query in a network | |
| US20240080329A1 (en) | Cloud Resource Risk Scenario Assessment and Remediation | |
| Sailer et al. | Attestation-based policy enforcement for remote access | |
| US20090271863A1 (en) | Identifying unauthorized privilege escalations | |
| US7437766B2 (en) | Method and apparatus providing deception and/or altered operation in an information system operating system | |
| US20110087899A1 (en) | Firewall plus storage apparatus, method and system | |
| US12591674B2 (en) | Ransomware detection and mitigation | |
| US12401669B1 (en) | Container vulnerability management by a data platform | |
| WO2024044053A1 (en) | Cloud resource risk scenario assessment and remediation | |
| US12464003B1 (en) | Capturing and using application-level data to monitor a compute environment | |
| US12489770B1 (en) | Agent-based monitoring of a registry space of a compute asset within a compute environment | |
| WO2023038957A1 (en) | Monitoring a software development pipeline | |
| Demissie et al. | Assessing the effectiveness of the shared responsibility model for cloud databases: The case of Google’s firebase | |
| US12470578B1 (en) | Containerized agent for monitoring container activity in a compute environment | |
| US12470577B1 (en) | Kernel-based monitoring of container activity in a compute environment | |
| US20070079364A1 (en) | Directory-secured packages for authentication of software installation | |
| US20250298905A1 (en) | Vulnerability remediation recommendation mechanism | |
| US12368746B1 (en) | Modular agentless scanning of cloud workloads | |
| WO2023081098A1 (en) | Agentless workload assessment by a data platform | |
| US12587553B1 (en) | Notification-based file integrity monitoring of a compute environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
| B15K | Others concerning applications: alteration of classification |
Ipc: G06F 12/14 (2006.01), G06F 21/52 (2013.01), G06F 1 |
|
| B09B | Patent application refused [chapter 9.2 patent gazette] | ||
| B09B | Patent application refused [chapter 9.2 patent gazette] |
Free format text: MANTIDO O INDEFERIMENTO UMA VEZ QUE NAO FOI APRESENTADO RECURSO DENTRO DO PRAZO LEGAL |