BRPI0815605B1 - Método para a comunicação de dados usando um dispositivo de computação; método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação; método para comunicação de dados usando um dispositivo de computação; método para a criação de um certificado usando um dispositivo de computação; e método para usar um certificado utilizando um dispositivo de computação - Google Patents

Método para a comunicação de dados usando um dispositivo de computação; método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação; método para comunicação de dados usando um dispositivo de computação; método para a criação de um certificado usando um dispositivo de computação; e método para usar um certificado utilizando um dispositivo de computação Download PDF

Info

Publication number
BRPI0815605B1
BRPI0815605B1 BRPI0815605-0A BRPI0815605A BRPI0815605B1 BR PI0815605 B1 BRPI0815605 B1 BR PI0815605B1 BR PI0815605 A BRPI0815605 A BR PI0815605A BR PI0815605 B1 BRPI0815605 B1 BR PI0815605B1
Authority
BR
Brazil
Prior art keywords
server
component
user
certificate
communication
Prior art date
Application number
BRPI0815605-0A
Other languages
English (en)
Inventor
Bernard de Monseignat
Stéphane Moreau
Original Assignee
Bernard De Monseignat
Stéphane MOREAU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40341721&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0815605(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Bernard De Monseignat, Stéphane MOREAU filed Critical Bernard De Monseignat
Publication of BRPI0815605A2 publication Critical patent/BRPI0815605A2/pt
Publication of BRPI0815605B1 publication Critical patent/BRPI0815605B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Abstract

método para a comunicação de dados usando um dispositivo de computação; método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação; método para comunicação de dados usando um dispositivo de computação; método para a criação de um certificado usando um dispositivo de computação; e método para usar um certificado utilizando um dispositivo de computação. trata-se de métodos e sistemas para comunicação segura de dados eletrônicos em redes de comunicação públicas. um componente de comunicação segura de dados pode ser utilizado para implementar um protocolo de comunicação . novas versões do componente de comunicação de dados podem ser geradas, com cada versão contendo um diferente protocolo de comunicação. o código-fonte do componente de comunicação de dados pode ser modificado usando um motor polimórfico para criar um componente funcionalmente equivalente com uma diferente estrutura de código. um componente antirroubo de identidade pode interceptar uma ligação em uma comunicação eletrônica ativada por um usuário , analisar a ligação e a comunicação eletrônica , determinar um risco de roubo de identidade ao usuário imposto pela ligação, e direcionar o usuário a um local indicado pela ligação ou redirecionar o usuário a um local válido. um componente de autenticação do servidor pode detectar e impedir atividades de ataques a dns , de injeções e de desfiguração.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
Este pedido reivindica prioridade ao pedido provisório de patente US 60/954.259, intitulado "System and Methods for Online Authentication and Data Transfer Protection" , depositado em 6 de agosto de 2007 e ao pedido provisório de patente US 60/973.590, intitulado "System and Methods for Protection of Online Data Transfer and Anti- phishing Authentication", depositado em 19 de setembro de 2007, cujas divulgações são aqui incorporadas pela referência.
ANTECEDENTES DA INVENÇÃO
Furto de identidade, roubo de informação financeira, roubo de identidade, vírus, software espião online e outras atividades maliciosas relacionadas à comunicação de dados custam às empresas, indivíduos, instituições acadêmicas e governos bilhões de dólares a cada ano. Adicionalmente, tais atividades também são responsáveis por significativa perda de produtividade e perturbação, e pode inibir o uso de comunicação online. Tais atividades assolam não somente usuários de servidores comerciais, mas também são uma grande preocupação para usuários de outras redes e sistemas, incluindo sistemas de computação do governo, sistemas de computação de bancos e plataformas online de bancos, sistemas de computação acadêmicos e plataformas online de vendas a varejo.
Vários métodos e sistemas foram propostos para identificação de usuário, autenticação e prevenção de esquemas de ataques e roubo de identidade no contexto de comunicação de dados em rede. Tipicamente, estas técnicas conhecidas são baseadas em um pequeno número de simples mecanismos que se provaram inadequados contra sofisticadas atividades maliciosas e/ou criminais. Adicionalmente, estas técnicas conhecidas não podem se adaptar aos avanços na tecnologia e às destrezas de entidades maliciosas, que demonstraram uma capacidade de ajustar rapidamente suas técnicas e métodos.
Desta maneira, existe uma necessidade de sistemas e métodos robustos e adaptativos para detectar muitas formas de ameaças relacionadas à comunicação de dados, ao roubo de identidade e à segurança, e para reagir a tal detecção pela desativação das ameaças detectadas e/ou pela correção dos seus efeitos.
SUMÁRIO DA INVENÇÃO
Um aspecto do presente pedido pode fornecer um método para comunicação de dados usando um dispositivo de computação, compreendendo determinar se atualiza-se uma primeira versão de um componente de comunicação de dados, a primeira versão do componente de comunicação de dados contendo uma definição de um primeiro protocolo de comunicação, conectar em um servidor seguro quando for determinado se atualizar a primeira versão do componente de comunicação de dados, desempenhar uma verificação de autenticação, receber um pacote do servidor seguro quando a verificação de autenticação tiver sucesso, o pacote contendo pelo menos uma segunda versão do componente de comunicação de dados que contém uma definição de um segundo protocolo de comunicação, determinar se uma assinatura digital embutida no pacote é válida, instalar a segunda versão do componente de comunicação de dados quando a assinatura digital for válida, executar a segunda versão do componente de comunicação de dados, e desempenhar comunicação de dados utilizando a segunda versão do componente de comunicação de dados e o segundo protocolo de comunicação. No método, determinar se atualiza-se uma primeira versão de um componente de comunicação de dados pode incluir determinar um tempo decorrido do momento de uma execução anterior da primeira versão do componente de comunicação de dados até o momento atual, comparar o tempo decorrido com um valor do tempo de disparo pré-determinado, e conectar no servidor seguro quando o tempo decorrido for um de igual ou maior que o valor do tempo de disparo. A comparação do tempo decorrido pode incluir a determinação do momento atual usando um protocolo de tempo de rede. O método pode incluir gerar um alerta quando a verificação de autenticação não tiver sucesso ou a assinatura digital não for válida e transmitir o alerta para pelo menos um entre um usuário do dispositivo de computação, de um usuário do servidor seguro ou de um servidor de pesquisa. Um endereço do servidor seguro pode ficar localizado em um grupo de endereços de IP diretos, e o grupo de endereços de IP diretos é armazenado na primeira versão do componente de comunicação segura. A verificação de autenticação pode incluir o uso de pelo menos um entre um protocolo de conhecimento zero, um certificado SSL ou uma técnica de criptografia assimétrica. O pacote inclui adicionalmente pelo menos uma dependência da segunda versão do componente de comunicação de dados. A segunda versão do componente de comunicação de dados pode incluir uma modificação do código-fonte da primeira versão do componente de comunicação de dados, e a modificação é produzida por um motor polimórfico no nível do código-fonte. O motor polimórfico no nível do código-fonte desempenha pelo menos um de inserção de ruído usando instruções não funcionais, de embutimento de variáveis, de embutimento de funções matemáticas, de embutimento de valores, de inserção de saltos, de inserção de atrasos de deslocamento de tempo, de reordenamento aleatório do código-fonte, de inserção de referências a empacotamentos da API e de chamadas, de inserção de código de detecção de traçador, de inserção de geradores de sublinha de execução, de inserção de código falso ou de inserção de sistemas de autoproteção.
Um aspecto adicional do presente pedido pode fornecer um método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação, que compreende gerar um grupo de números aleatórios, gerar um grupo de chaves de cifragem, modificar o código-fonte de uma primeira versão de um componente de comunicação de dados usando o grupo de números aleatórios, ligar uma biblioteca de funções equivalentes, compilar o código-fonte modificado, blindar o código-fonte compilado, sinalizar o código-fonte compilado blindado e embutir dependências. A segunda versão do componente de comunicação de dados pode incluir uma modificação de código-fonte da primeira versão do componente de comunicação de dados, e a modificação pode ser produzida por um motor polimórfico no nível do código-fonte. O motor polimórfico no nível do código-fonte pode desempenhar pelo menos um de inserção de ruído usando instruções não funcionais, de embutimento de variáveis, de embutimento de funções matemáticas, de embutimento de valores, de inserção de saltos, de inserção de atrasos de deslocamento de tempo, de reordenamento aleatório do código-fonte, de inserção de referências a empacotamentos da API e de chamadas, de inserção de código de detecção de traçador, de inserção de geradores de sublinha de execução, de inserção de código falso ou de inserção de sistemas de autoproteção. A blindagem pode ser desempenhada por um protetor de código em nível binário, e o protetor de código em nível binário pode incluir um motor polimórfico em nível binário. O motor polimórfico em nível binário pode desempenhar pelo menos um de injeção de funções de proteção de código, injeção de antitraçadores, injeção de anticapturas do depurador, compressão de código binário, cifragem de código binário, regravação de cabeçalhos, regravação de recursos ou regravação de carregadores. a sinalização do código-fonte compilado pode incluir sinalização com uma chave privada do editor. As dependências podem incluir pelo menos um entre uma base de dados antissoftware malicioso, uma correção ou elementos atualizados de outros processos.
Um aspecto adicional do presente pedido pode fornecer um método para comunicação de dados usando um dispositivo de computação, que compreende interceptar a comunicação de dados quando uma ligação embutida em uma comunicação eletrônica for selecionada por um usuário, a ligação contendo pelo menos um identificador de local alvo, determinar um tipo de aplicação usada para exibir a comunicação eletrônica e, quando o tipo de aplicação for um entre uma aplicação leitora de comunicação eletrônica ou de uma aplicação de software navegador da Internet em um domínio de correio da Internet, extrair o objeto da comunicação eletrônica, extrair o conteúdo da comunicação eletrônica, analisar a comunicação eletrônica, analisar o objeto e conteúdo extraídos, analisar a ligação selecionada, analisar um fator humano da comunicação eletrônica, determinar um fator de risco com base na análise da comunicação eletrônica, na análise do objeto e conteúdo extraídos, na análise da ligação selecionada e na análise do fator humano, direcionar o usuário para um do local alvo identificado pela ligação ou para um local válido com base em um valor do fator de risco determinado. A extração de pelo menos um do objeto ou do conteúdo da comunicação eletrônica pode incluir analisar um modelo de objeto do documento. A análise da comunicação pode incluir pelo menos um da determinação se a ligação selecionada está embutida em um documento de correio eletrônico, da detecção de um local e tamanho de pelo menos uma imagem na comunicação eletrônica, da detecção de elementos da comunicação eletrônica visíveis e invisíveis, do cálculo das distâncias entre as cores de primeiro plano e de fundo de um de texto, de área e de zonas da comunicação eletrônica, ou da análise das imagens contidas na comunicação eletrônica usando um algoritmo de reconhecimento de figura embutido. A análise do objeto e do conteúdo pode incluir pelo menos um da análise das palavras contidas na comunicação eletrônica, da determinação de uma quantidade de palavras comumente usadas em comunicações de roubo de identidade, da análise de texto que faz referência às ligações contidas na comunicação eletrônica, ou da análise de um formato da comunicação eletrônica. A análise da ligação selecionada pode incluir pelo menos um de detecção das ligações codificadas, de detecção de redirecionamento de domínios, de detecção de domínios de nível de topo, detecção de ligações clonadas, detecção de subligações redirecionadas, triagem de ligações inapropriadamente formatadas, detecção de clonagem de nome de usuário, detecção de ligações diretas de IP, detecção de alvos protegidos, detecção de ligações erroneamente soletradas, detecção de significados fonéticos em ligações textuais, detecção de ligações de companheiros, detecção de domínios conhecidos, detecção de serviços de hospedagem gratuita, detecção de regiões geográficas perigosas ou verificação redirecionamento escondido por um arquivo hospedeiro local. O método pode incluir analisar o local alvo identificado na ligação. O direcionamento do usuário para o local válido pode incluir obter uma ligação ao local válida padrão de um dicionário de campo de proteção.
Um aspecto adicional do presente pedido pode fornecer um método para criar um certificado usando um dispositivo de computação, que compreende receber uma solicitação de certificação em um servidor, desempenhar uma verificação externa, gerar o certificado, a geração utilizando pelo menos uma opção solicitada, e sinalizar o certificado usando uma chave privada, em que o servidor é identificado por um nome de domínio completamente qualificado do servidor e um endereço TCP/IP do servidor.
Um aspecto adicional do presente pedido pode fornecer um método para usar um certificado utilizando um dispositivo de computação, que compreende consultar um servidor que hospeda pelo menos uma página da Internet, iniciar uma chamada a uma função interna para determinar uma proteção do servidor, transferir o certificado, usar uma chave pública para verificar a autenticidade do certificado, extrair pelo menos um campo do certificado quando o certificado for verificado como autêntico, calcular pelo menos um entre uma assinatura digital ou de um código de dispersão dos dados recebidos do servidor, comparar o pelo menos um campo do certificado com pelo menos um da assinatura digital ou do código de dispersão dos dados recebidos e determinar se a página da Internet é válida com base em um resultado da comparação.
DESCRIÇÃO RESUMIDA DOS DESENHOS
Modalidades da presente invenção são ilustradas a título de exemplo nos desenhos anexos, nos quais números de referência iguais indicam elementos similares, e nos quais: a figura 1 mostra interfaces e componentes de um componente de comunicação segura de acordo com uma modalidade exemplar; a figura 2 é um fluxograma que mostra um processo de um carregador de inicialização do componente de comunicação segura de acordo com uma modalidade exemplar; a figura 3 mostra um cronograma de criação das versões de um componente de comunicação segura de acordo com uma modalidade exemplar; a figura 4 é um fluxograma que mostra um método para criação de uma versão do componente de comunicação segura de acordo com uma modalidade exemplar; a figura 5 mostra uma interface de entrada no sistema de um componente de comunicação segura de acordo com uma modalidade exemplar; a figura 6 é um fluxograma que mostra um fluxo de trabalho geral de um componente antirroubo de identidade de acordo com uma modalidade exemplar; a figura 7 é um fluxograma que mostra um processo de um componente antirroubo de identidade de acordo com uma modalidade exemplar; a figura 8 mostra uma ilustração alternativa da arquitetura de componente de um' componente antirroubo de identidade de acordo com uma modalidade exemplar; a figura 9 mostra um processo de um componente antissoftware malicioso de acordo com uma modalidade exemplar; a figura 10 mostra elementos de um componente antissoftware malicioso de acordo com uma modalidade exemplar; a figura 11 mostra elementos de um esquema de ataque a DNS; a figura 12 mostra um processo do lado do servidor do componente de autorização de uma página da Internet de acordo com uma modalidade exemplar; a figura 13 mostra um processo do lado do usuário do componente de autorização de uma página da Internet de acordo com uma modalidade exemplar; a figura 14 mostra elementos da integração de um navegador do componente de autorização de uma página da internet de acordo com uma modalidade exemplar; a figura 15 mostra um processo para determinação da proteção de uma página da Internet pelo componente de autorização de uma página da Internet de acordo com uma modalidade exemplar; a figura 16 mostra um processo para verificar a proteção de um servidor pelo componente de autorização de uma página da Internet de acordo com uma modalidade exemplar; a figura 17 mostra um processo para verificar um certificado pelo componente de autorização de uma página da Internet de acordo com uma modalidade exemplar.
DESCRIÇÃO DETALHADA DA INVENÇÃO
Furto de identidade, fraude, vírus, software espião online e outros crimes relacionados a computador custam às empresas e indivíduos bilhões de dólares a cada ano em perdas financeiras e de recursos. Os métodos e sistemas do presente pedido pode referir-se à detecção e prevenção de ameaças, modificações ilegais, tentativas de roubo de identidade, acesso não autorizado a dispositivos de computação e tentativas de obter identificação de usuário, financeiras e outras informação sensíveis. Tentativas de roubo de identidade podem ser detectadas usando um método proativo que permite bloquear dinamicamente ataques de 0 dia e eliminar corrompimento de DNS. Outros ataques que podem ser detectados e prevenidos incluem ameaças locais, tais como rerroteamento, clonagem e congêneres; bem como ameaças relacionadas a software malicioso, tais como vírus autorreplicante, vírus, Cavalos de Tróia, registradores de chave, capturadores de tela, conjuntos de códigos usados após ou durante a invasão para ocultar as ações do invasor e outras ameaças do lado do cliente. Adicionalmente, ataques ao servidor, incluindo ataques ao sistema de nome de domínio ("DNS"), injeções, desfiguração e usurpações também pode ser detectados e prevenidos através do uso de um esquema de autenticação e proteção genérica do servidor.
Da forma usada no presente pedido, "roubo de identidade" pode referir-se a um processo de tentativa de adquirir informação sensível de usuários, tais como nomes de usuário, senhas, informação de identificação, informação de cartão de crédito, informação de conta financeira e congêneres, pela simulação como uma entidade confiável em uma comunicação eletrônica. Comunicações que se dizem ser de entidades conhecidas, tais como bancos ou revendedores a varejo, podem ser usadas para atrair usuários inocentes a fornecer tal informação, em consequência do que, ela pode ser usada pelas entidades maliciosas com propósitos ilícitos tais como roubo, fraude e congêneres. Atividades de roubo de identidade podem ser comumente desempenhadas por meio de correio eletrônico, mensagens instantâneas e/ou aplicações de software similares, e podem direcionar usuários a inserir a informação sensível em uma página da Internet e/ou outro local que é desenhado para imitar uma página da Internet ou outro local da entidade confiada, de acordo com o que, a informação inserida pode ser transmitida para a entidade maliciosa para usada em atividades ilícitas.
Por todo o presente pedido, o termo "servidor" será usado para se referir a qualquer dispositivo de computação que pode comunicar com outros dispositivos de computação por meio de uma rede de comunicação de dados e que é operável para transmitir a informação a um usuário, tipicamente, mediante solicitação. Pretende-se que "servidor" abranja tanto um único dispositivo de computação quanto uma coleção de dispositivos de computação individuais em rede ou que de outra forma podem se comunicar um com o outro e que agem em conjunto para fornecer informação aos usuários. Adicionalmente, pretende-se que "servidor" abranja tanto o hardware do dispositivo de computação quanto qualquer software executado ou armazenado pelo dispositivo de computação, incluindo, por exemplo, aplicações de servidor da Internet, aplicações de base de dados, aplicações de venda a varejo, aplicações financeiras e quaisquer outras aplicações de software adequadas em execução no servidor ou obtidas pelo ele. Desta maneira, da forma usada no presente pedido, o pretende-se que o termo "servidor" se aplique tanto a um dispositivo de computação quanto a uma página da Internet em execução no dispositivo de computação e que inclui dados fornecidos por uma aplicação do servidor da Internet em execução no dispositivo de computação. Uma página da Internet como esta pode tomar qualquer forma adequada, tais como uma loja virtual, um portal de banco ou outro portal financeiro, um portal de informação acadêmica, um fórum de rede social, um portal de distribuição de informação e congêneres. Adicionalmente, um servidor pode incluir dispositivos de computação pessoais, dispositivos de computação portáteis, dispositivos de computação de grande porte, dispositivos de computação de mão, dispositivos tipo assistente digital pessoal, dispositivos tipo telefone inteligente e qualquer outro dispositivo de computação adequado que pode executar aplicações de software e se comunicar com outros dispositivos de computação por meio de uma linha de comunicação de dados.
Por exemplo, os presentes sistemas e métodos podem incluir programas de software e/ou rotinas armazenados em dispositivos de computação, e executados por eles, e os programas de software e/ou rotinas podem incluir programas de software e/ou rotinas para desempenhar comunicação com outros sistemas de computação em conjunto com hardware e software de comunicação por computador. A comunicação entre sistemas de computação pode ser desempenhada por meio de uma rede de comunicação pública, por exemplo, a Internet, ou por meio de uma rede de comunicação privada separada e independente de uma rede de comunicação pública. A comunicação pode ser desempenhada pela utilização de métodos e protocolos de comunicação, incluindo TCP/IP, FTP, SSH, WIFI e congêneres. Os termos "sistema de computador" e "rede", da forma aqui usada, podem incluir uma variedade de combinações de hardware, software, periféricos e dispositivos de armazenamento de computador fixo e/ou portátil.
Cada um dos sistemas de computação pode incluir uma pluralidade de componentes individuais que são ligados em rede ou de outra forma ligados para desempenhar colaborativamente, ou pode incluir um componente independente. Cada um dos sistemas de computação pode incluir adicionalmente pelo menos um sistema de processamento, pelo menos um dispositivo de armazenamento interno, pelo menos um dispositivo de armazenamento externo, pelo menos um dispositivo de impressão, um dispositivo de leitura e um dispositivo de entrada / saída. Os dispositivos de armazenamento podem incluir dispositivos para armazenar dados eletronicamente, tais como dispositivos de disco rígido, servidores de armazenamento, redes de área de armazenamento, configurações RAID, unidades de mídia ótica, unidades de mídia holográfica, unidades de mídia em fita, dispositivos de memória flash e congêneres.
Os sistemas de computação também podem incluir componentes de sistema de computador, incluindo um ou mais módulos de memória de acesso aleatório, e dispositivos de entrada / saída, incluindo um ou mais dispositivos periféricos, tais como teclados, mouses e monitores para habilitar entrada e saída de informação nos sistemas de computação. As rotinas e/ou programas de software podem ser embutidas e/ou armazenadas no dispositivo de armazenamento interno ou no dispositivo de armazenamento externo, e podem ser executadas pelos respectivos sistemas de processamento. O sistemas de processamento pode executar aplicações de software, incluindo sistemas operacionais, tais como UNIX, Linux, BSD, OS/2, VMS e aplicações Microsoft, bem como aplicações de base de dados, aplicações de servidor da Internet, aplicações de servidor de arquivo, aplicador de servidor de correio e congêneres.
Adicionalmente, cada um dos sistemas de computação pode ser capaz de comunicação em rede, e a rede pode incluir linhas de comunicação com fios ou sem fios e dispositivos de hardware associados usados na transmissão, recepção e roteamento de dados, tais como roteadores, comutadores, concentradores, interfaces de rede e congêneres.
Os componentes de hardware e software dos sistemas de computação podem incluir e podem ser incluídos nos dispositivos fixos e portáteis, incluindo computador de mesa, computador portátil, servidor, assistente digital pessoal, mesa digitalizadora, telefone inteligente, televisão, rádio e dispositivos de gravação de áudio e vídeo.
As várias funções dos sistemas e métodos do presente pedido podem ser implementadas por meio de um ou mais componentes, e os um ou mais componentes podem ser utilizados em conjunto um com o outro ou independentemente, da forma descrita com detalhes a seguir. Versados na técnica entendem que os vários componentes podem ser montados, instalados e/ou localizados coletivamente, ou podem ser distribuídos entre uma pluralidade de locais e/ou dispositivos independentes.
Os vários componentes dos sistemas e métodos do presente pedido pode incluir, mas sem limitações, um componente da camada de comunicação segura, um componente antirroubo de identidade, um componente de autenticação do servidor que utiliza um ou mais certificados, e um componente antissoftware malicioso. Cada um dos componentes pode operar independentemente ou em conjunto com um ou mais outros componentes. Cada um dos componentes pode ser armazenado, instalado e/ou executado por dispositivos de computação, da forma descrita com detalhes a seguir.
O componente de comunicação segura pode definir um canal de comunicação segura entre um dispositivo de computação e/ou aplicação de usuário final e um dispositivo de computação, tal como um servidor. O servidor pode hospedar e/ou executar, por exemplo, uma página da Internet e aplicações de software relacionadas, e a página da Internet pode fornecer serviços comerciais, financeiros, acadêmicos, governamentais, e outros serviços semelhantes. O componente pode embutir um sistema de autenticação para identificação e autenticação do dispositivo de computação e do usuário, e o sistema de autenticação pode ser baseado em certificados pessoais, autenticação de hardware, um sistema interno de senha virtual, uma API aberta a sinais distinguíveis de hardware, cartões inteligentes, outros fortes sistemas de autenticação e congêneres.
O componente de comunicação segura pode ajustar um protocolo de comunicação entre um dispositivo de computação usuário e um servidor seguro usando um ou mais de um protocolo de rede cifrado, um protocolo de acordo de chave, chaves e/ou sementes aleatórias, e um codificador de sintaxe e gramática do protocolo que pode ser aleatoriamente escolhido entre as gerações. Adicionalmente, o componente de comunicação segura pode utilizar múltiplos mecanismos de proteção, e pode ser reconfigurado e/ou modificado em várias versões ou gerações para inibir engenharia reversa e análise.
O componente de comunicação segura pode incluir um componente carregador da inicialização da máquina. o componente carregador da inicialização da máquina pode ser operável para sincronizar o componente de comunicação segura entre um ou mais servidores seguros e um usuário, por exemplo, pela atualização automática do módulo de comunicação segura e suas dependências quando exigido e/ou em vários intervalos de tempo.
Vários dispositivos de computação servidores podem ser implementados nos sistemas e métodos do presente pedido. O servidor seguro pode incluir um dispositivo de computação que pode expor publicamente componentes e informação necessários para atualizar ser sincronizados, e o servidor seguro pode ser desenhado por um grupo de endereços de IP para desviar resolução de DNS. O servidor de pesquisa pode incluir um dispositivo de computação associado com um grupo de servidores dedicados que pode receber alertas de ataque e informação de um ou mais dos componentes para rastrear, analisar e monitorar ataques em tempo real, bem como novos ataques genéricos, tais como roubo de identidade, ataques a DNS, software malicioso e congêneres. Adicionalmente, o servidor de pesquisa pode ser desenhado por um grupo de endereços de IP para desviar resolução de DNS. Um servidor sensível pode incluir um dispositivo de computação que inclui um sistema de proteção, que oferece segurança e proteção a usuários.
O componente antirroubo de identidade pode ser utilizado, por exemplo, mediante ativação de uma ligação ou outro objeto embutido ou incluído em uma comunicação, tal como uma mensagem de correio eletrônico. Então, o componente antirroubo de identidade pode analisar o conteúdo e o contexto da comunicação, analisar o alvo especificado pela comunicação, ligação ou objeto embutido, determinar se a comunicação, ligação ou objeto embutido são válidos, e rerrotear um usuário a um local válido mediante a determinação de que a comunicação, a ligação ou o objeto embutido não são válidos.
O componente de autenticação do servidor pode detectar, por exemplo, a partir de um lado do cliente, tentativas de clonar um dispositivo de computação, tal como um servidor da Internet, ou de alterar conteúdo fornecido. Adicionalmente, o componente de autenticação do servidor pode detectar falsificação, corrompimento de DNS, injeção ou ataques de desfiguração, bem como ataques a DNS, fazendo uma forma genérica de certificado publicamente disponível no lado do servidor, e permitindo a verificação de todos os caracteres sensíveis pelo uso de forte encriptação. O sistema de autenticação do servidor pode se basear em um forte certificado do modelo de encriptação que liga um endereço de IP válido e um nome de domínio de um servidor. O certificado pode embutir adicionalmente outra funcionalidade operável para permitir verificação estática ou dinâmica do conteúdo de um servidor, suas referências e congêneres. O certificado pode se tornado disponível na fora de um arquivo, um arquivo tipo cookie, uma definição MIME, um fluxo contínuo de dados, uma definição de armazenamento estruturado e/ou em qualquer outra forma adequada. O componente de autenticação do servidor pode ser usado por um ou mais outro componentes, por exemplo, toda vez que a conexão a um servidor sensível for exigida. Mediante a conclusão de uma conexão como esta, a completa verificação da autenticação, conteúdo e/ou perímetro do servidor é desempenhada antes de retornar o controle para o chamador. Nenhuma modificação da arquitetura DNS pode ser exigida, e a proteção pode ser passiva e no lado do cliente. Por exemplo, o componente de autenticação do servidor pode ser na forma de um código executável como um servidor ActiveX, um objeto COM, função genérica, ou uma aplicação padrão que oferece uma interface da linha de comando, que permite a exportação de seus serviços a várias interfaces, aplicações e linguagens de computador.
O componente antissoftware malicioso pode incluir um varredor antivírus que contém uma base de dados de uma seleção de ameaças conhecidas. O componente antissoftware malicioso pode detectar ameaças varrendo itens, tais como um registro, entradas de inicialização, caminhos, pastas, portas abertas, exclusão mútua, arquivos e comportamentos. O componente antissoftware malicioso pode ser operável para detectar e identificar ameaças conhecidas e genéricas e para detectar ataques e para criar um sistema de autodefesa com base em uma base de conhecimento.
O componente de detecção de redirecionamento pode analisar itens, tais como um arquivo hospedeiro local e ajustes de DNS locais, toda vez que uma conexão for tentada com um servidor sensível, desse modo, detectando tentativas de redirecionar a conexão.
Componente de comunicação segura
O componente de comunicação segura pode incluir um motor do protocolo de comunicação, e pode embutir um ou mais conjuntos de elementos de segurança, incluindo protocolos, camadas de cifragem, chaves, ajustes, linguagens, sintaxe, gramática e congêneres. Novas versões ou "gerações" do componente de comunicação segura podem ser criadas, e o componente de comunicação segura pode ser modificado e/ou alterado entre sucessivas versões em vários intervalos de tempo, ou mediante ativação manual, para embutir conjuntos diferentes e imprevisíveis de elementos de segurança. Por todo o presente pedido, o componente de comunicação segura também pode ser referido como o "Componente ESB".
O componente de comunicação segura pode incluir um carregador do componente de comunicação segura. Em relação à figura 1, o carregador do componente de comunicação segura pode ser implementado de uma ou mais maneiras. Por exemplo, em uma modalidade exemplar, em uma conexão acionada por servidor, o carregador do componente de comunicação segura pode incluir um objeto do servidor, tal como um objeto ActiveX do servidor. Por exemplo, o carregador do componente de comunicação segura pode ser chamado a partir de qualquer página da Internet HTML padrão pela inclusão de uma referência a um objeto. Em uma modalidade exemplar, o objeto pode incluir, por exemplo, um "código tipo tag <OBJETO>." Alternativamente, o carregador do componente de comunicação segura pode ser chamado a partir de qualquer linguagem de computador em conformidade com "COM", como uma aplicação padrão a partir de uma linha de comando planejada por uma aplicação de planejamento de um sistema operacional, manualmente por um usuário e/ou um administrador de um dispositivo de computação usuário, por uma linguagem de computador, como uma associação MIME e congêneres. Alternativamente, em uma conexão acionada por usuário, o carregador do componente de comunicação segura pode incluir um objeto auxiliar do navegador, e/ou um servidor COM genérico como uma aplicação padrão. Versados na técnica entendem que outras maneiras de implementação podem ser utilizadas, e o carregador do componente de comunicação segura pode ser implementado em qualquer forma ou mecanismo adequados.
O componente de comunicação segura pode ser implementado através de um procedimento de transferência e instalação para localizar o componente em um dispositivo de computação de um usuário. Por exemplo, a instalação pode incluir a transferência de um objeto transferível por meio de uma ligação localizada em uma página da Internet HTML. Por exemplo, em uma modalidade exemplar uma transferência de uma página html pode ser desempenhada por meio de um código tipo tag HTML padrão, por exemplo, um código tipo tag na forma de "cobjeto src=*.cab>", ou qualquer outro mecanismo adequado para apresentar componentes de software a um usuário por meio de uma página da Internet e/ou local. O componente de comunicação segura pode ser alternativamente fornecido ao usuário por meio da distribuição em mídia física, ou através de uma função de transferência e de armazenamento automatizada de uma outra aplicação de software em execução em um dispositivo de computação usuário, tais como uma aplicação de antivírus, um transferidor, uma aplicação independente padrão, um acionador ou uma extensão ou software de adição de funcionalidade de uma aplicação, tal como uma aplicação de navegador da Internet. Alternativamente, o componente de comunicação segura pode ser transferido, instalado e implementado como uma aplicação de extensão do navegador operável com um ou mais aplicações de software do navegador da Internet.
Um componente ativo localizado no dispositivo de computação usuário pode detectar ameaças localizadas tanto no dispositivo de computação usuário (o "lado do cliente") quanto no servidor com o qual o dispositivo de computação usuário pode comunicar (o "lado do servidor").
O componente de comunicação segura pode detectar tentativas do usuário em se conectar em uma página da Internet fraudulenta em tempo real, por exemplo, uma página da Internet com corrompimento de DNS e/ou roubo de identidade, pelo uso de um detector de heurística que detecta e modifica automaticamente ligações fraudulentas em ligações legítimas, impedimento de visitas indesejadas a páginas da Internet ou locais potencialmente nocivos.
O componente de comunicação segura pode embutir múltiplos módulos, e cada um de tais módulos pode funcionar independentemente ou em conjunto com um com o outro. Adicionalmente, o componente de comunicação segura pode chamar um ou mais outros componentes, e pode ser chamado por eles, da forma descrita com detalhes a seguir.
O componente de comunicação segura pode definir um canal de comunicação segura entre um dispositivo de computação usuário, e/ou aplicação em execução em um dispositivo de computação usuário, e um servidor. O componente de comunicação segura pode incluir um sistema de autenticação para identificação e autenticação do dispositivo de computação e do usuário. O sistema de autenticação embutido pode ser baseado em certificados pessoais, autenticação de hardware, um sistema interno de senha virtual, uma API aberta a sinais distinguíveis de hardware, cartões inteligentes e/ou outros fortes mecanismos de autenticação.
O componente de comunicação segura também pode ajustar um protocolo de comunicação entre um dispositivo de computação usuário e um servidor seguro usando um protocolo de rede cifrado. O protocolo de rede pode ser escolhido a partir de um grupo de diferentes combinações. O componente de comunicação segura pode ajustar adicionalmente um protocolo de acordo de chave, e o protocolo de acordo de chave pode ser escolhido a partir de um grupo diferente. O componente de comunicação segura pode ajustar chaves e sementes aleatórias. Adicionalmente, um codificador de sintaxe e gramática do protocolo pode ser aleatoriamente escolhido para diferentes versões do componente de comunicação segura. Camadas de comunicação podem ser escolhidas a partir de opções padrões, tais como SSL/TLS, usando forte autenticação. Alternativamente, as camadas podem ser escolhidas a partir de uma ou mais opções não padrão.
No lado do servidor, uma nova tentativa de conexão a partir de um dispositivo de computação usuário que utiliza uma versão anterior e/ou obsoleta do componente de comunicação segura pode ser recusada e pode iniciar um processo de atualização para atualizar o dispositivo de computação usuário para uma nova versão do componente de comunicação segura. Uma janela de últimas versões pode ser mantida para permitir que conexões atuais sejam continuadas com versões mais antigas que uma versão mais recente, até um tempo máximo ajustado por uma regra global definida e/ou ajustada, por exemplo, por um administrador de segurança. Em uma modalidade exemplar, pelo menos duas versões recentes podem ser mantidas.
Carregador de Inicialização do Componente de Comunicação Segura
O carregador de inicialização do componente de comunicação segura, ou carregador de inicialização, pode ser utilizado para transferir e instalar uma versão atual e/ou nova do componente de comunicação segura, quando exigido. Em relação à figura 2, depois da inicialização na etapa 202, o carregador do componente de comunicação segura é iniciado, na etapa 202, um tempo decorrido deste uma última execução do componente de comunicação segura pode ser verificado, na etapa 204. A verificação do tempo decorrido pode utilizar um relógio do dispositivo de computação local, um protocolo de tempo de rede ("NTP") para fornecer precisão global e independência de um dispositivo de computação local, e/ou um protocolo de sinal definido por um servidor seguro. O valor do tempo decorrido pode ser comparado com um valor do tempo de disparo ("DeltaT") que pode ser definido no código do componente de comunicação segura. O valor do tempo de disparo pode ser atualizado em qualquer momento adequado, por exemplo, remotamente a partir do servidor seguro.
Quando o valor do tempo decorrido for maior que o valor de disparo, e/ou com base em uma solicitação de verificação de versão ao servidor seguro, é feita uma conexão no servidor seguro definida por um grupo de endereços de IP diretos, na etapa 206.
Uma vez conectado no Servidor Seguro, uma verificação de autenticação é desempenhada para evitar quaisquer clonagem ou interceptação de chamadas do servidor e dados na etapa 208. O processo de autenticação pode se basear em qualquer protocolo de Conhecimento Zero, certificados SSL, criptografia assimétrica ou qualquer protocolo adequado.
Quando a autenticação e/ou conexão não puderem ser validadas, um alerta pode ser transmitido ao usuário, a um administrador do dispositivo de computação ou da rede do usuário, a um servidor de pesquisa ou a uma outra entidade, na etapa 218. Posteriormente, o processo pode ser interrompido na etapa 230.
Quando a autenticação e/ou a conexão forem determinadas como válidas na etapa 208, o processo pode continuar até a etapa 210, onde um pacote que define uma versão atual e/ou nova do componente de comunicação segura e todas as dependências diretas exigidas podem ser transferidos a partir do servidor seguro.
O protocolo de comunicação usado nesta etapa pode definir comandos, instruções ou variáveis e valores dedicados transmitidos do servidor para o computador do usuário final, o carregador de inicialização e/ou um ou mais componentes para implementar ou atualizar ajustes, tais como um atraso DeltaT, identificação e/ou endereços de servidores seguros adicionais ou substitutos e/ou de servidores de pesquisa, de parâmetros de conexão, de bases de dados antissoftware malicioso e congêneres.
Uma vez que o novo pacote é transferido, autenticidade e integridade do pacote transferido podem ser verificadas pela verificação de uma assinatura digital que pode ser embutida no pacote, na etapa 212. Quando a assinatura não puder ser verificada e/ou é determinada como inválida, o processo pode prosseguir até a etapa 218, em que um alerta pode ser transmitido ao usuário, a um administrador do dispositivo de computação ou da rede do usuário, ao servidor de pesquisa ou a uma outra entidade, e o processo termina na etapa 230.
Quando o pacote transferido for determinado como autêntico na etapa 212, a nova versão do componente de comunicação segura pode ser instalada na etapa 214 e posteriormente executada na etapa 216. A instalação pode incluir atualizar localmente alguns ou todos os arquivos do componente de comunicação segura, e os arquivos atualizados podem ficar localizados no pacote transferido.
Adicionalmente, a atualização pode incluir desempenhar um processo de teste, em que o novo componente de comunicação segura atualizado pode ser testado antes de desempenhar alguma comunicação com qualquer dispositivo de computação externo. Quando o processo de teste indicar que o componente de comunicação segura transferido e instalado for não válido e/ou não funcional, o processo de atualização do componente pode ser novamente desempenhado, começando na etapa 202. Adicionalmente, um servidor seguro diferente pode ser utilizado, e/ou um alerta de segurança pode ser gerado e transmitido ao usuário, a um administrador do dispositivo de computação usuário, ao servidor seguro ou a uma outra entidade.
Em relação à figura 3, e de acordo com o processo de atualização do componente de comunicação segura supradescrito, um tempo decorrido entre a execução do componente de comunicação segura pode ser definido de maneira tal que um tempo de utilização de uma versão do componente de comunicação segura em particular possa ser menor que um tempo exigido para engenharia reversa, desmontagem, desconstrução ou outra forma de ataque ao componente de comunicação segura.
Criação de Nova Versão do Componente de Comunicação Segura
Em relação à figura 4, cada versão do component de comunicação segura pode ser reconstruída usando código- fonte completa ou parcialmente diferente. Por exemplo, em uma modalidade exemplar, o código-fonte de uma versão em particular do componente pode incluir uma modificação e/ou reconfiguração do código-fonte de uma versão anterior do componente, ou pode utilizar uma base de código-fonte comum e conteúdo do código-fonte adicional, adicionado na base do código-fonte comum. Alternativamente, o código-fonte da versão recém-gerada pode ser completamente diferente do código-fonte de uma versão anterior. Adicionalmente, o conteúdo adicionado pode ser baseado em uma semente aleatória externa usada para escolher funcionalidades como comportamentos.
Desta maneira, cada versão do componente de comunicação segura pode diferir suficientemente de outras versões do componente de comunicação segura, de forma que a desmontagem, desconstrução, engenharia reversa ou outras atividades desempenhadas em uma versão em particular do componente não possam ser operáveis para atacar uma versão atual. Estas funcionalidades e comportamentos polimórficos podem embutir um modelo de cifragem, e o modelo de cifragem pode ser selecionado a partir de um grupo de biblioteca, bem como de definições externas, tais como vetores do servidor de pesquisa e congêneres.
A criação de uma nova versão do componente de comunicação segura pode ser iniciada em um momento pré- determinado, tal como em uma passagem de um período de atraso pré-determinado, na ocorrência de um tempo e/ou data pré-determinados e congêneres, na etapa 402.
Alternativamente, o processo de criação da versão pode ser iniciado manualmente em qualquer momento adequado. O momento de criação pode ser variável, e pode ser definido, por exemplo, no servidor seguro.
Um grupo de números aleatórios pode ser gerado na etapa 404, e o grupo de números aleatórios pode ser gerado através do uso de qualquer mecanismo adequado, tais como uma aplicação, algoritmo ou dispositivo geradores de número aleatório ou pseudoaleatório. Em uma modalidade exemplar, um gerador pseudoaleatório criptográfico pode ser usado para criar o grupo de números aleatórios. O grupo de números aleatórios pode ser usado, por exemplo, para semear subprocessos e chaves de cifragem, da forma descrita a seguir. O gerador pseudoaleatório pode se basear em um gerador "Mersenne-Twister", um gerador "Blum Blum Shub", gerador "Fortuna", gerador "Yarrow" ou qualquer outro gerador de número pseudoaleatório criptograficamente forte adequado, e pode ser combinado com uma cifra em fluxo para estender seu período.
Adicionalmente, um grupo de chaves de cifragem pode ser gerado na etapa 430. 0 grupo de chaves de cifragem pode ser usado para o protocolo de comunicação, para esconder recursos internos, seleções de funções da biblioteca de funções e congêneres, da forma descrita a seguir. O grupo de chaves de cifragem pode ser gerado usando cifras em fluxo, funções de dispersão e qualquer mecanismo similar adequado.
O código-fonte pode ser modificado na etapa 406. Em uma modalidade exemplar, o código-fonte pode ser modificado por um motor polimórfico no nível da fonte. A mutação no nível do código-fonte pode utilizar o grupo de números aleatórios gerado e pode conduzir a inserção de recursos, sementes, e dados cifrados no código-fonte.
Uma biblioteca de funções equivalentes pode ser ligada na etapa 408. Em uma modalidade exemplar, por exemplo, o processador polimórfico pode ligar uma biblioteca de funções equivalentes para injetar ruído e/ou código e funções aleatórios, reordenar processos, injetar código e operações falsos, cifrar recursos e dados, implementar uma interface de compatibilidade emuladora de API, incorporar atrasos de deslocamento de tempo, incorporar funções de autoproteção e congêneres no código-fonte.
Um motor polimórfico no nível do código-fonte pode utilizar funções equivalentes para desempenhar modificações, incluindo: inserção de ruído usando instruções não funcionais no código-fonte; embutimento e uso de variáveis, funções matemáticas e valores; variação e/ou utilização de bibliotecas de sequências de caracteres dinâmicas, que pode ser dinâmica ou usar cópia verificada em armazenamento temporário para anular sobrefluxos de armazenamento temporário; inserção de saltos para interromper caminhos lógicos, por exemplo, saltos para linhas e/ou segmentos de código e/ou endereços na memória aleatórios; inserção de atrasos de deslocamento de tempo para reagir a ataques passivos e de pane; reordenamento aleatório do código-fonte; inserção e/ou referência a empacotamentos da API e de chamadas para proibir análise e pesquisa global, escondendo ataques a ponto de interrupção entre versões; inserção de código de detecção de traçador e de interrupções solicitadas por código; inserção de geradores de sublinha de execução, traçadores e desvios de depuradores; inserção de código, operações e chamadas falsas; e inserção de sistemas e verificações de autoproteção, funções de detecção e contramedidas de traçadores / monitores / depuradores, e de detecção de máquina virtual, e congêneres. As modificações expostas podem ser produto de uma versão compatível do código-fonte, que pode ser funcionalmente equivalente a uma versão anterior do código-fonte, mas inclui variação e elementos aleatórios significativos.
Então, o código-fonte modificado pode ser compilado para criar uma versão binária executável do componente de comunicação segura na etapa 410. Adicionalmente, valores aleatorizados dos parâmetros do compilador podem ser utilizados durante a compilação para inserir ruído adicional e variações no código objeto gerado. Uma cópia do componente compilado pode ser mantida para uso no lado do servidor como uma rotina de tratamento do serviço, de maneira tal que o componente do servidor possa ser capaz de decifrar e cifrar dados transmitidos a partir do lado do cliente. No lado do servidor, um processo de autoatualização pode ser automaticamente iniciado pelo carregador de inicialização da máquina.
O código-fonte compilado pode ser blindado por um segundo protetor de código em nível binário na etapa 412. O executável binário pode ser blindado por um sistema de proteção binário, como um codificador polimórfico e/ou um compressor protegido. Cada versão do componente de comunicação segura pode ser blindada por um sistema de proteção diferente, e o sistema de proteção pode ser escolhido aleatoriamente ou usar diferentes construções da aplicação de proteção. A seleção pode ser aleatoriamente acionada usando um gerador aleatório com base criptográfica, de maneira tal que duas versões geradas sucessivas do componente não contenham características similares.
Em uma modalidade exemplar, o segundo protetor de código em nível binário pode incluir um motor polimórfico para injetar funções de proteção de código, antitraçadores, e anticapturas do depurador; para comprimir e/ou cifrar o código binário; para reescrever cabeçalhos de código, recursos e carregadores. Alternativamente, pode ser utilizado um sistema de proteção comercial que usa parâmetros e sementes modificados em cada geração, por exemplo, aplicações de software, tais como "ExeProtector", "Armadillo", "SvKp", "Obsidium", "AsProtect", "TheMida", "BeaCryptor", "NtKrnl" ou qualquer outra aplicação adequada.
Então, o código executável e blindado pode ser assinado para autenticação na etapa 414. A sinalização pode utilizar uma chave privada do editor na etapa 416. Adicionalmente, o componente recém-gerado pode ser verificado, por exemplo, pela execução do novo componente em uma máquina virtual sujeita a um robô de controle da qualidade, para detectar regressão ou problemas gerados pelos processos de blindagem e proteção.
Dependências, tais como elementos atualizados de outros processos, bases de dados antissoftware malicioso revisadas, correções e evolução de outras partes do código, podem ser embutidas, e o executável pode ser finalizado na etapa 418. Adicionalmente, em uma modalidade exemplar, o executável pode ser assinado e/ou protegido usando uma integração e/ou assinatura do sistema de verificação de integridade.
Então, o componente de comunicação segura recém- gerado pode se tornar disponível. Por exemplo, em uma modalidade exemplar, o componente recém-gerado pode ser copiado para uma área pública dos servidores de autoatualização, permitindo que carregadores remotos de inicialização da máquina o transfiram e o usem como um componente de comunicação segura atual. Um processo de sincronização pode ser utilizado para garantir que todos os servidores seguros visíveis embutam uma versão correta do componente, ou sejam escondidos da lista de servidores seguros disponíveis quando uma versão correta não for embutida, por exemplo, usando processos de equilíbrio e de verificação de carga, tais como disponibilidade, carga, estado, controle de conteúdo e congêneres.
Regras e/ou protocolos de comunicação podem ser reiniciados e/ou modificados em vários momentos. Toda vez que uma nova versão do componente de comunicação segura for criada, um carregador de inicialização da máquina localizado no lado do cliente pode transferir uma nova versão do componente e validá-la antes de usá-la para comunicar em um canal completamente seguro. Desse modo, toda versão anterior do componente de comunicação segura pode ficar obsoleta e pode ser localmente deletada. Desta maneira, tentativas de analisar, traçar, depurar, fazer engenharia reversa e/ou desmontar o componente de comunicação segura podem ser anuladas pelo encontro de uma versão mais nova do componente, necessitando do reinicio de tais atividades na criação de cada versão do componente de comunicação segura. A frequência de criação de versão pode ser ajustada de maneira tal que a criação de versões ocorra mais rapidamente que um tempo exigido para atacar cada tal versão. Em uma modalidade exemplar, o tempo decorrido entre versões pode ser ajustado em um valor que é aproximadamente metade de todo tempo que seria exigido para atacar com sucesso o componente.
Utilização do Componente de Comunicação Segura Em uma modalidade exemplar, quando um usuário se conecta em um portal, tal como um portal de banco online, um portal comercial e/ou um local similar usando um dispositivo de computação, o usuário pode ser direcionado para entrada no sistema pelo fornecimento de credenciais de identidade, por exemplo, uma informação de nome de usuário e/ou de s enha.
Pode-se exigir que o usuário utilize a versão mais recente do componente de comunicação segura para comunicar com o local. Por exemplo, em uma modalidade exemplar, o protocolo de rede usado para transmitir a informação de entrada no sistema é definido somente pela versão atual do componente de comunicação segura. Desta maneira, o protocolo de rede definido pode ser o único protocolo que o componente correspondente no lado do servidor aceitará para comunicação de dados com usuários.
No lado do servidor, os dados recebidos podem ser realocados de acordo com a definição de sintaxe e/ou da gramática protocolo atual, usando uma rotina de tratamento de bloco estática e cega, tal como um evitador de sobrefluxo no armazenamento temporário. Qualquer erro, por exemplo, o uso de um protocolo incorreto, pode fazer com que a tentativa de conexão seja recusada e/ou que a conexão seja descartada pelo servidor.
Um usuário pode transferir automaticamente o componente em cada conexão inicial no servidor sensível, por exemplo, durante o acesso a uma página de entrada no sistema do servidor sensível. Enquanto a página de entrada no sistema é carregada e um novo componente pode ser transferido a partir do servidor, outros esquemas de segurança adequados podem ser aplicados, tal como a geração de um número aleatório como um valor de salto para a sessão de usuário específica. Já que uma sessão padrão pode ser aberta antes de uma nova versão do componente ser ajustada, sessões abertas legítimas podem ser mantidas por um período de tempo durante o qual uma nova versão está sendo gerada e implementada.
O protocolo de cifragem usado em qualquer protegido servidor pode entender e/ou ser capaz de comunicar com uma versão atual do protocolo, bem como com uma versão anterior em uso pelas versões anteriores remotas do componente nas conexões abertas. Desta maneira, em qualquer momento em particular, um servidor pode ser capaz de responder e/ou de comunicar com dispositivos de computação remotos usando uma versão imediatamente anterior do protocolo, bem como usando um protocolo atual correspondente a uma versão atual do componente de comunicação segura. Desta maneira, pelo menos duas técnicas podem ser usadas para permitir que múltiplos protocolos de comunicação existam concorrentemente em um servidor protegido.
Em uma primeira técnica, pelo menos duas diferentes versões de um protocolo podem ser embutidas no mesmo componente. Uma primeira versão do protocolo pode se referir a uma versão anterior do protocolo e pode ser usada para comunicar com componentes da versão anterior. Uma segunda versão do protocolo pode se referir a uma versão atual do protocolo e pode ser usada para comunicar com componentes da versão atual. Desta maneira, uma geração "completa de estado" do código-fonte do componente para o lado do servidor pode embutir pelo menos dois conjuntos de modelos de segurança, incluindo camadas de cifragem, chaves de cifragem, rotinas de tratamento de protocolo, geradores de sinal distinguível e congêneres.
Em uma segunda técnica, pelo menos duas diferentes versões de componentes de comunicação sucessivos podem operar em um servidor protegido, cada uma das versões monitorando uma versão correspondente dos clientes remotos. O protocolo pode ser globalmente encapsulado, o que pode expor em texto claro um código tipo tag da versão acima de todos os fluxos de cifragem, uma diferente porta de rede dinamicamente comutada entre gerações de um grupo de seleção, um endereço TCP/IP dinâmico dinamicamente comutado entre gerações de um grupo de seleção, e/ou uma declinação de nomenclatura do servidor virtual.
O componente de comunicação segura pode embutir uma API e funções que permitem o emprego de uma conexão segura no servidor sensível. Adicionalmente, o dispositivo de computação usuário pode ser verificado em relação a modificações ilegais de DNS e de redirecionamento, por exemplo, usando uma varredura e análise do componente antissoftware malicioso da forma descrita a seguir.
Acima da API, o componente de comunicação segura pode usar uma identificação de computador local com base em uma área ocupada pelo hardware para gerar um "ComputerUID", relacionado ao dispositivo de computação, e um "UserUID", relacionado ao usuário. A identificação pode ser exportada para um servidor sensível. A informação ComputerUID pode incluir grandes valores inteiros usados para identificar um dispositivo de computação, e pode carecer de dados de identificação humana ou qualquer informação pessoal operável para identificar um usuário. Em uma modalidade exemplar, por exemplo, o ComputerUID pode incluir um código de dispersão de um número de série de uma placa-mãe de um dispositivo de computação usuário ligado com o número de série do processador e combinado com outra informação não volátil similar. O UserUlD pode incluir um código de dispersão de um GUID associado com um usuário em um sistema operacional ligado a um nome de sessão usado para iniciar uma sessão, por exemplo.
Operação do Componente de Comunicação Segura
Em relação à figura 5, o componente de comunicação segura pode exibir uma interface de entrada no sistema ao usuário. A interface de entrada no sistema pode incluir, por exemplo, uma caixa de diálogo gráfica 502, um campo de entrada de texto para um nome de usuário 504, um campo de entrada de texto para uma senha 506, um botão "OK" 508 e um botão "cancela" 510. Quando o componente de comunicação segura for executado e/ou instanciado, a interface de entrada no sistema pode ser exibida em uma página html de uma aplicação de software navegador da Internet, por exemplo, substancialmente na forma de campos e botões de entrada no sistema e senha convencionais.
Internamente, uma versão do componente de comunicação segura pode começar pela iniciação de uma varredura no componente antissoftware malicioso em segundo plano, de uma verificação de ameaças em um dispositivo de computação usuário e/ou de uma verificação de uma pilha de acionadores de teclado para detectar aplicações registradoras de teclado e congêneres. Em uma detecção de qualquer ameaça, o componente de comunicação segura pode transmitir informação considerando a detecção e/ou a identificação da ameaça, juntamente com outra informação, tais como o ComputerUID e/ou UserUID, ao servidor, e pode parar o processo. Adicionalmente, se o componente de comunicação segura estiver em execução em qualquer tipo de máquina virtualizada, tais como "Virtual PC", "VMS", "VMWare", "VirtualBox" e congêneres, ou com uma ferramenta depuradora e de desmontagem na memória, pode ser detectado de uma maneira similar. O usuário pode inserir um nome de entrada no sistema, senha e/ou outra informação de identificação de entrada no sistema.
O componente de comunicação segura pode implementar a detecção e/ou a interceptação de Cavalos de Tróia e registradores de teclado, por exemplo, pelo uso do motor do componente antissoftware malicioso, da forma descrita a seguir.
A entrada da senha pode ser protegida através do uso de teclados virtuais, imagens selecionadas pelo usuário, aplicações, tais como "SiteKeys" e congêneres. Adicionalmente, detecção em baixo nível pode ser desempenhada pela iniciação de um subprocesso para identificar mensagens de baixo nível e/ou interceptação do teclado usando uma baixa injeção de DLL no âmbito do processo do sistema enquanto a interface de entrada no sistema está carregando.
Interceptação em nível muito baixo pode ser desempenhada pela instalação silenciosa de um acionador no sistema operacional do usuário quando a interface de entrada no sistema for mostrada na tela. Este acionador pode ser gerenciado como um serviço e pode interceptar todas as entradas de teclado no nível mais baixo possível, por exemplo, Ringo. O acionador pode cifrar a entrada de teclado antes de transmitir o resultado diretamente ao componente de comunicação segura usando comunicação interprocesso ("IPC"), ou qualquer maneira de comunicação direta, desviando outros acionadores, aplicações e registradores de teclado.
Uma ou mais mecanismos de identificação de usuário alternativos podem ser empregados para garantir que nenhuma identificação sensível ou outra informação seja transmitida ou tornada disponível como dados claros fora do componente de comunicação segura. Por exemplo, em uma modalidade exemplar, informação de nome de usuário e/ou de senha, ou outra informação de identificação de entrada no sistema, pode incluir uma senha de chave única com base em uma ou mais grades de Vernam/Mauborgne. Uma semente aleatória pode ser utilizada para gerar uma grade de números, símbolos, sinais e congêneres, bem como pelo menos um valor delta. Usando uma grade fluxo contínuo de valores aleatórios, por exemplo, proveniente de um gerador de número aleatório criptográfico no servidor seguro, cada semente associada com um usuário pode definir uma posição de início no fluxo contínuo aleatório, desse modo, definindo um primeiro sinal da grade do usuário, por exemplo, como um vetor de inicialização ("IV"). O pelo menos um valor delta pode definir inúmeras posições para saltar, para adquirir um próximo valor de grade. Uma nova grade pode ser gerada com base nestes dois valores, sem regeneração de um fluxo contínuo de dados aleatórios completo. Muitos usuários podem compartilhar o mesmo fluxo contínuo de valores aleatórios ao mesmo tempo. O tamanho do fluxo contínuo pode ser calculado usando o número de usuários e o número de combinações a gerar antes de um reinicio global do fluxo contínuo, pelo menos o número de grades a gerar pela vida útil do fluxo contínuo aleatório. A grade pode ser transmitida ao usuário final, e toda vez que uma entrada no sistema for exigida, uma série de valores aleatórios pode gerar uma lista exclusiva de coordenadas de grade. Então, o usuário pode digitar sinais, números e/ou símbolos visíveis correspondentes na grade do usuário como uma senha, que pode ser verificada no lado do servidor usando a semente usada para construir a grade. Grades podem ser armazenadas ou distribuídas de qualquer forma adequada, por exemplo, pela impressão e distribuição em papel, por meio de correio eletrônico e congêneres. A grade pode ser revogada pela geração de uma nova semente associada do usuário e valores delta no lado do servidor e pela transmissão de uma nova grade ao usuário.
Em uma modalidade exemplar alternativa, senhas biométricas e/ou biometricamente derivadas podem ser implementadas. Uma senha pode ser gerada e reconhecida não somente por caracteres e/ou símbolos digitados em um teclado ou dispositivo de entrada, mas, também, pela captura e leitura de atrasos relativos, tempo decorrido e ritmos entre uma entrada de cada um entre uma pluralidade de caracteres e/ou símbolos alfanuméricos, por exemplo, pela digitação em um teclado. Diferentes usuários usam o teclado diferentemente, e podem diferir em velocidade e ritmo de digitação, e tais diferenças podem ser reconhecidas, armazenadas e analisadas para identificar usuários em particular.
Em uma modalidade exemplar alternativa, entrada em teclado virtual pode ser usada para simular um teclado em uma tela, em que teclas podem ser embaralhadas, e o usuário pode usar um dispositivo de entrada, tal como um mouse, para selecionar e clicar em cada tecla para digitar a informação de identificação, tais como um nome de usuário e/ou senha. Adicionalmente, o teclado virtual pode utilizar resultados de uma ou mais varreduras desempenhadas pelo componente antissoftware malicioso de capturadores de tela conhecido na memória. Adicionalmente, pela aleatorização das coordenadas, tamanho, esquemas de cor de início, e movendo o dispositivo de entrada para dentro e para fora de uma área protegida toda vez que uma tecla for clicada, a captura de tela pode ser desabilitada pelo uso da API DirectDraw em baixo nível. Adicionalmente, falsos cliques e digitações podem ser gerados para produzir "ruído" para confundir e/ou corromper informação coletada por um capturador e/ou gravador de tela.
Mecanismos alternativos adicionais para entrada de informação de identificação de usuário incluem o uso de modelos CodeBook, cadeias de dispersão, códigos Kerckhoffs e congêneres. Adicionalmente, o reuso de senhas conhecidas pode ser limitado.
Além do mais, uma API de autenticação pode ser utilizada para permitir que hardware ou aplicações de software de interface ofereçam autenticação ao componente de comunicação segura, por exemplo, pelo uso de uma interface de programação travada por uma chave fornecida pelo editor aos programadores de software registrados. A API de autenticação pode exportar um conjunto de valores gerado pelos software / hardware existentes para o servidor seguro, permitindo que ele compare definições do usuário. A API de autenticação pode ser orientada posteriormente mediante especificações de outros grupos de trabalho, tal como o "Iniciativa de Autenticação Aberta" e congêneres.
Componente Antirroubo de Identidade
O componente antirroubo de identidade pode ser ativado quando um usuário clica em uma hiperligação e/ou outro elemento embutido em uma comunicação eletrônica, tal como um correio eletrônico. No presente pedido, o componente antirroubo de identidade pode ser referido como o "componente TRAPS".
Em uma modalidade exemplar, o componente antirroubo de identidade pode ser utilizado para mitigar e/ou prevenir efeitos negativos de usuários interagirem com comunicações fraudulentas ou inválidas, tais como mensagens de correio eletrônico. Tais comunicações inválidas podem conter ligações, tais como hiperligações HTTP ou outros objetos embutidos, que podem direcionar o usuário a dispositivos de computação ou páginas da Internet fraudulentos que se apresentam como dispositivos ou páginas da Internet legítimos. Tais portais fraudulentos podem conter solicitações ou convites para que os usuários insiram informação confidencial sensível, tais como nomes de usuário, senhas, informação financeira, detalhes de cartão de crédito, endereços, números da previdência social e congêneres, e, então, a informação inserida pode ser usada por entidades maliciosas com propósitos ilícitos.
O componente antirroubo de identidade pode analisar o contexto da comunicação eletrônica, da ligação e/ou outro objeto embutidos, e um ou mais locais alvos indicados pela ligação e/ou objeto embutidos. O componente antirroubo de identidade pode analisar adicionalmente o conteúdo de uma página da Internet ou outro local indicado como um alvo pela ligação e/ou elemento, e determina se a comunicação, ligação e/ou objeto é fraudulento. Em uma modalidade exemplar, a determinação pode ser desempenhada sem conexão ou referência adicional a uma lista negra ou bases de dados de IP/URL.
Quando determinar-se que a ligação e/ou elemento não é fraudulento, o usuário pode ser direcionado à página da Internet e/ou local indicado como um alvo na ligação e/ou elemento. Quando determinar-se que a ligação e/ou elemento é fraudulento, o usuário pode ser rerroteado a um portal ou local da Internet legítimo e autenticado. Adicionalmente, pode ser indicada análise adicional da página da Internet e/ou local indicados como um alvo. Em uma modalidade exemplar, a determinação se uma ligação e/ou elemento embutido é fraudulento pode ser baseada em um conjunto de regras de conhecimento que implementam várias formas de técnicas de clonagem atualmente conhecidas, e/ou na referência a uma base de dados de teste negativo definida pelo perímetro protegido do usuário, da forma descrita a seguir.
Um dicionário de campo de proteção ("PFD") pode ser utilizado, e o PFD pode incluir um documento que inclui definições e conhecimento sobre uma ou mais entidades a ser protegidas, da forma descrita com detalhes a seguir. Adicionalmente, um perímetro de campo de proteção ("PFP") pode ser criado para cada usuário, e o PFP pode descrever uma lista de PFDs relevante para cada usuário em particular, da forma descrita com detalhes a seguir.
Instalação do Componente Antirroubo de Identidade
O componente antirroubo de identidade pode ser desenhado como uma rotina de tratamento de protocolo HTTP e HTTPS padrão de um sistema operacional do dispositivo de computação e, desse modo, pode ser operável para interceptar chamadas a todos os eventos mediante ativação de tais protocolos. O componente antirroubo de identidade também pode utilizar um objeto auxiliar do navegador para interceptar cliques do URL a partir de uma aplicação de software navegador da Internet. Desta maneira, o componente antirroubo de identidade pode supervisionar e analisar passivamente a ativação dos cliques do URL HTTP no nível do sistema operacional sem exigir interação usuário, interrupção da atividade do usuário e/ou uso de recursos significativos do sistema.
Ativação do Componente Antirroubo de Identidade
Durante uma sessão, o componente antirroubo de identidade pode permanecer em um estado de reserva e/ou adormecido, esperando por um evento para ser ativado. Um evento como este pode incluir, por exemplo, o usuário clicar ou de outra forma selecionar uma ligação do URL HTTP e/ou outro objeto embutido localizado em uma mensagem de correio eletrônico.
Por exemplo, em uma modalidade exemplar, quando um usuário clicar em uma ou mais hiperligações no corpo de uma comunicação de correio eletrônico, o componente antirroubo de identidade pode verificar o contexto do correio eletrônico, o destino de todos os URLs embutidos na mensagem de correio eletrônico e o conteúdo das páginas da Internet visadas pelos um ou mais URLs embutidos. Então, o componente antirroubo de identidade pode seguir algoritmos para assegurar a confiabilidade destas páginas da Internet alvos, da forma descrita a seguir.
O componente antirroubo de identidade pode desempenhar abrangente reconhecimento de perfil de contexto ao redor de uma ou mais páginas da Internet, e constrói um perímetro individual com segurança controlada apropriado para cada tal página da Internet, para facilitar a detecção de qualquer tentativa de usurpação ou violação deste perímetro, da forma descrita a seguir.
Análise da Comunicação
A figura 6 ilustra um fluxo de trabalho geral de um componente antirroubo de identidade de acordo com uma modalidade exemplar. Em relação à figura 7, mediante clique e/ou outra forma de seleção de uma ligação ou outro objeto embutido em uma comunicação eletrônica, o componente antirroubo de identidade pode interceptar o evento na etapa 7 02. Uma interceptação como esta pode impedir que o dispositivo de computação, por exemplo, através uma aplicação de software navegador da Internet ou leitor de correio eletrônico, se comunique com o local alvo especificado pela ligação ou objeto, esperando por análise adicional, da forma descrita a seguir.
Em uma modalidade exemplar, o clique e/ou outra seleção da ligação ou outro objeto pode ser desempenhado pelo usuário que ativa um dispositivo de apontamento, tal como um mouse, para mover um cursor em uma tela do dispositivo de computação. Alternativamente, o usuário pode selecionar a ligação ou outro objeto através do uso das teclas do teclado, de um dispositivo de apontamento, de um sistema de reconhecimento de voz ou de qualquer outro mecanismo adequado para selecionar objetos em comunicações eletrônicas. Posteriormente, o componente antirroubo de identidade pode identificar o dispositivo de computação e o usuário, por exemplo, usando os dados de identificação utilizados pelo componente de comunicação segura supradescrito.
Então, o componente antirroubo de identidade pode determinar se a aplicação que exibe a comunicação eletrônica ao usuário é uma aplicação de software leitora de comunicação eletrônica, tal como um leitor de correio eletrônico, na etapa 704. Se a aplicação que exibe a comunicação eletrônica não for uma aplicação leitora de comunicação eletrônica, então, o componente antirroubo de identidade pode determinar se a aplicação que exibe a comunicação eletrônica é uma aplicação de software navegador da Internet, por exemplo, uma aplicação que pode ser capaz de exibir comunicações eletrônicas com base na Internet aos usuários, na etapa 706. Se a aplicação não for uma aplicação de software navegador da Internet, então, pode-se permitir que o usuário siga o alvo especificado na ligação, e o usuário pode ser redirecionado para visualizar o alvo da ligação e/ou objeto embutido, por exemplo, em uma aplicação de software navegador da Internet, na etapa 740.
Quando determinar-se que a aplicação é uma aplicação de software navegador da Internet, é feita uma determinação se o domínio é um domínio de correio da Internet, na etapa 708.
Quando o resultado das determinações das etapas 704 e/ou 708 for afirmativo, então, o processo prossegue até a etapa 710, em que o assunto da comunicação eletrônica que contém a ligação e/ou o objeto embutido pode ser extraído, e, posteriormente, até a etapa 712, em que o conteúdo da comunicação eletrônica pode ser extraído. A extração do assunto e do conteúdo da comunicação eletrônica pode ser desempenhada, por exemplo, pelo uso, análise e/ou leitura de um modelo de objeto do documento ("DOM") exposto por uma aplicação de software navegador da Internet para obter uma árvore deste documento de comunicação, que inclui texto e dados HTML,
Depois da extração do assunto e do conteúdo da comunicação eletrônica, a comunicação eletrônica pode ser analisada na etapa 714. A análise de etapa 714 pode incluir, por exemplo: • determinar se a ligação e/ou objeto selecionado está embutido em um correio eletrônico ou outro tipo de comunicação eletrônica; • detectar o local e o tamanho de todas as imagens contidas na comunicação; • detectar de partes visíveis e invisíveis da comunicação eletrônica, calcular distâncias entre as cores de primeiro plano e segundo plano de cada bloco de texto, área, e zonas do documento, para detectar se algumas partes são deliberadamente escondidas do usuário e/ou podem clonar filtros; e/ou • analisar as imagens contidas na comunicação eletrônica usando um algoritmo de reconhecimento de figura embutido que pode detectar, reconhecer e identificar logotipos de entidades com perímetros protegidos, bem como logotipos ou imagens reamostrados, redimensionados, deformados e modificados.
Então, o componente antirroubo de identidade pode analisar o contexto da comunicação eletrônica na etapa 716. A análise do contexto pode incluir, por exemplo: • analisar as palavras contidas na comunicação eletrônica, por exemplo, pelo uso de um ou mais dicionários de palavras usadas, no geral, para clonar usuários, tais como palavras considerando problemas de segurança, contas, fechamentos, referência a entidades financeiras, bem como palavras definidas pelo PFD, tais como páginas da Internet ou entidades protegidas, e palavras raramente usadas em tentativas de roubo de identidade; • determinar uma quantidade e/ou percentual de palavras comumente usadas em comunicações de roubo de identidade e/ou de clonagem em relação ao tamanho e conteúdo totais da comunicação; • analisar as ligações contidas na comunicação eletrônica, e analisar o texto usado para referenciar ou explicar as ligações ao usuário, incluindo comparação dos alvos das ligações e descrições das ligações fornecidas ao usuário; e/ou • analisar um formato, esquema e/ou apresentação da comunicação eletrônica em comparação ao conteúdo da comunicação eletrônica, usando regras padrões, tais como aquelas comumente utilizadas nas comunicações eletrônicas das entidades protegidas que são definidas nas regras do perímetro protegido, bem como o número, tamanho, razões de forma de tabelas, e outros ajustes de apresentação que permitem a categorização de uma comunicação eletrônica.
Os itens de análise supradescritos são meramente exemplares, e os itens e critérios identificados e analisados podem ser atualizados e/ou modificados em qualquer momento para se ajustar às mudanças da tecnologia.
Análise da Ligação Selecionada
Depois da análise do contexto da comunicação eletrônica na etapa 716, a ligação e/ou objeto selecionado pelo usuário pode ser analisado, na etapa 718. A análise da etapa 718 pode incluir, por exemplo: • Detectar as ligações codificadas, tais como URLs, Unicode e congêneres. Formas de codificação e regravação do URL podem ser detectadas e decodificadas; • Detectar redirecionamento dos TLDs e domínios. Uma lista de domínios de redirecionamento conhecido, resolvedores de DNS dinâmicos, e serviços de hospedagem gratuita podem ser referenciados; • Detectar TLDs perigosos. Perímetros IT das entidades protegidas podem ser referenciados para determinar locais geográficos e países que não hospedam nenhum servidor das entidades protegidas, indicando que um URL que aponta para estes locais pode ser uma tentativa de roubo de identidade; • Detectar ligações clonadas pelo uso de regras genéricas que descrevem técnicas utilizadas pelas entidades maliciosas; • Detectar subligações redirecionadas; • Triar ligações regulares e/ou inapropriadamente formatadas. Perímetros IT das entidades protegidas podem ser referenciados para determinar quais entidades utilizam regravação de URL, e qual técnica de regravação pode ser usada, e uma comparação entre o formato da ligação e as técnicas de regravação pode ser desempenhada; • Detectar clonagem de nome de usuário para identificar ataques com base em uma sintaxe "Nome de usuário:Senha@" do protocolo HTTP; • Detectar ligações diretas de IP, para determinar se a ligação e/ou o objeto embutidos apontam para um IP direto; • Detectar os alvos protegidos pela análise da árvore do URL e pela comparação da árvore com nomes de domínio válidos e nomes de raiz de entidades protegidas, da forma especificada no PFD; • Detectar ataques à rede de distribuição de conteúdo ("CDN") pela identificação dos URLs não reconhecidos como ligações de roubo de identidade por outros recursos de bloqueio de ligação; • Detectar ligações erroneamente digitadas e/ou erroneamente soletradas pela utilização de vários algoritmos de comparação de distância para identificar nomes e URLs erroneamente digitados e/ou erroneamente soletrados, com base em algoritmos "Levenshtein", "Damerau-Levenshtein" e outros algoritmos adequados; • Detectar digitação errônea tipo "softwares ilegalmente distribuídos" de ligações e/ou objetos usando um algoritmo de comparação padrão difuso para decifrar soletração tipo "softwares ilegalmente distribuídos" e formação da ligação; • Detectar significados fonéticos em ligações textuais, usando um metafone modificado, um metafone duplo e/ou um algoritmo da árvore de Shannon; • Detectar ligações de companheiros pela busca de nomes de raiz conhecidos e derivados dos algoritmos expostos no URL dado para comparar com todas as ligações de companheiros ; • Detectar domínios conhecidos e desconhecidos pela análise de uma hierarquia descrita pela ligação e comparação dos nomes de raiz do PFD para detectar formas fraudulentas de domínios clonados; • Detectar serviços de hospedagem gratuita pela referência a uma ou mais listas de serviços de hospedagem gratuita especificados no PFD; • Detectar países perigosos pelo uso de dados atuais provenientes de grupos de trabalho antirroubo de identidade e outros recursos; • Detectar kits genéricos de roubo de identidade pela análise de formatos URL; e/ou • Verificar redirecionamento escondido pelo arquivo hospedeiro local.
A análise do assunto e do tópico do fator humano também pode ser desempenhada na etapa 720. A análise pode incluir determinar um motivo para a transmissão da comunicação eletrônica e comparar o motivo e/ou o assunto com o conteúdo ou alvo da ligação e/ou do objeto embutido. A análise também pode incluir determinar quem transmitiu a comunicação eletrônica, e a identidade do transmissor pode ser comparada com o conteúdo da ligação e/ou do objeto, bem como o motivo e/ou assunto determinados da comunicação eletrônica.
Calculo de Fator de Risco
Mediante conclusão de uma ou mais das análises supradescritas, o componente antirroubo de identidade pode computar e/ou atualizar um fator de risco usando um algoritmo de heurística, e determinar um fator de risco correspondente ao usuário na etapa 722. Em uma modalidade exemplar, a determinação do risco ao usuário pode ser desempenhada por um módulo do gerenciador de risco. A computação pode incluir a determinação de um nível de perigo correspondente à ligação e/ou ao objeto embutido, e o nível de perigo pode ser expressado como um percentual. 0 perigo pode incluir redirecionamento a um local malicioso, uma tentativa de obter informação sensível do usuário e congêneres.
Em uma modalidade exemplar, o fator de risco pode ser determinado como relativamente alto, relativamente baixo, médio ou desprezível com base no fator de risco expressado como um percentual. Por exemplo, um fator de risco maior que 50 % pode ser determinado como um fator de risco alto que indica um alto nível de perigo ao usuário, enquanto que um fator de risco abaixo de 1 % pode ser considerado como um fator de risco desprezível. Estes valores são meramente exemplares, e podem ser ajustados em qualquer momento, dependendo das mudanças das circunstâncias e/ou dos avanços na tecnologia de segurança.
Quando, com base na determinação do nível de perigo ao usuário, for determinado que a ligação tem um fator de risco desprezível na etapa 724, o usuário pode ser direcionado ao local alvo especificado pela ligação e/ou objeto embutido, na etapa 740, e a ligação e/ou objeto embutido pode ser transmitido, por exemplo, para uma aplicação de software navegador da Internet para navegação pelo usuário, na etapa 740.
Quando, com base na determinação do nível de perigo ao usuário, for determinado que a ligação tem um fator de risco médio na etapa 726, o usuário pode ser direcionado ao alvo especificado pela ligação, e a ligação e/ou objeto embutido pode ser transmitido, por exemplo, para uma aplicação de software navegador da Internet para navegação pelo usuário, na etapa 740. Em uma modalidade exemplar, um módulo analisador pós-navegação pode ser iniciado como um segundo passo do processo para analisar adicionalmente a ligação e/ou objeto embutido na etapa 728.
O analisador pós-navegação pode ser iniciado à medida que a aplicação de software navegador da Internet carrega o portal da Internet alvo. Posteriormente, o analisador pós-navegação pode esperar que a aplicação de navegador da Internet carregue o portal da Internet visado e, então, analisar o conteúdo da página da Internet carregado para determinar se ela é uma página da Internet válida ou um portal falso potencialmente utilizado com propósitos de roubo de identidade. O uso do analisador pós- navegação permite a detecção de redirecionamentos escondidos forjados, recursos clonados e/ou capturados do portal da Internet original, e redirecionamento estático e/ou dinâmico ou hospedagem do portal da Internet. Textos, formas, logotipos e imagens do portal da Internet protegido válido podem ser identificados e detectados como recursos genéricos comumente usados para roubar informação através do uso de campos de entrada, campos de senha, referências a informação ou ordens de entrada no sistema e congêneres. Quando o portal for determinado como um portal falso, o fator de risco pode ser elevado.
A análise do analisador pós-navegação pode ser conduzida antes que toda uma página e/ou local seja carregado, e um sincronizador interno pode ser usado para verificar um ataque por "intervalo de tempo". O armazenamento temporário carregado pode ser comparado em tempo regular para verificar a natureza dos dados já em carregamento. Quando o resultado da análise do analisador pós-navegador indicar uma necessidade de aumentar o fator de risco a um nível mais alto, então, a aplicação de software navegador da Internet pode ser imediatamente redirecionada à ligação protegida válida fornecida pelo PFD antes de permitir-se que o usuário desempenhe qualquer navegação adicional no portal e/ou local suspeito. Um ataque por intervalo de tempo pode ser detectado se os campos e dados forem detectados enquanto uma entropia diferente vier regularmente em blocos. Este recurso pode permitir que o componente "falhe" em uma primeira etapa, permitindo desvios gerados pelo fator de precisão do motor de heurística e, posteriormente, se corrija no caso de uma tentativa de roubo de identidade bem realizada e não detectada.
Quando, com base na determinação do nivel de perigo ao usuário, determinar-se que a ligação selecionada e/ou o objeto embutido têm um alto fator de risco, a ligação e/ou objeto embutido podem ser categorizados como uma tentativa de roubo de identidade, e o usuário pode ser redirecionado a uma ligação protegida conhecida válida, na etapa 73 0, por exemplo, através do uso de uma aplicação de software navegador da Internet, na etapa 740. Uma ligação protegida conhecida válida pode ser determinada, por exemplo, pela comparação da ligação selecionada com alto fator de risco com alvos válidos conhecidos identificados no do usuário PFP.
Um portal válido pode ser determinado, por exemplo, com base na informação do PFD e na análise do corpo do correio eletrônico. Palavras, tais como um nome de entidade ou de empresa, slogans, informação de propaganda, e/ou um indústria ou campo de negócio, podem ser comparadas. Adicionalmente, elementos, tais como reconhecimento de logotipos, marcas registradas, timbre e outro marcas distintivas gráficas, podem ser reconhecidos e comparados para identificar uma entidade válida referida na comunicação eletrônica. Adicionalmente, similaridades entre a ligação ativada ou sua descrição visível a humanos podem ser comparadas com o uso de nomes de domínio de entidade, tais como o uso de companheirismo da entidade, nomes de marca, partes de nomes de domínio, digitação errônea, formas de softwares ilegalmente distribuídos, regravação e congêneres.
Resultados destes reconhecimentos e correspondência podem ser utilizados para indicar uma identidade de pelo menos uma entidade que está sendo clonada ou visada pela comunicação. Depois da identificação, uma ligação padrão definida no PFD da entidade pode ser usada para regravar a ligação ativada na memória. Cada PFD pode conter uma ligação padrão a um portal da Internet legítimo a ser usado no caso de uma tentativa de roubo de identidade, e esta ligação pode apontar para uma página dedicada do portal da Internet legítimo desenhada pela entidade para tratar tentativas de roubo de identidade, ou para qualquer outro adequado local.
Desta maneira, em uma modalidade exemplar, o componente antirroubo de identidade pode ser ativado a partir de um estado adormecido por um clique em uma ligação, e pode interceptar este evento e todos os parâmetros deste evento, incluindo um URL indicado em um nível muito baixo. O URL indicado pode ser reescrito antes de repassá-lo para a aplicação de software navegador Internet padrão para direcionar o usuário a um local legítimo e certificado.
Adicionalmente, mediante identificação da ligação e/ou objeto com um alto fator de risco, um módulo atualizador de segurança pode carregar a ligação em um servidor de pesquisa para futura referência. Uma mensagem que identifica a ligação e/ou objeto de alto risco e as circunstâncias do redirecionamento pode ser transmitida ao usuário e/ou a um administrador do dispositivo de computação usuário.
Adicionalmente, uma entidade associada com a página da Internet ou local válidos pode ser informada sobre a tentativa de roubo de identidade e/ou fornecida com detalhes da análise da ligação e do redirecionamento supradescritos. Quando o usuário for direcionado ao local válido, pode ser embutido um rastreador que permite que a entidade visada seja informada de que o usuário foi redirecionado, por exemplo, pelo uso de um parâmetro do URL, de uma solicitação anterior, de uma ligação dedicada e congêneres. Além do mais, a ligação usada pelo componente antirroubo de identidade para redirecionar o usuário pode ser adicionada no PFD.
Dicionário de Campo de Proteção e Perímetro de Campo de Proteção
Um dicionário de campo de proteção ("PFD") pode incluir um documento que inclui definições e conhecimento sobre uma ou mais entidades a ser protegidas. UM PFD pode ser específico de uma entidade em particular, ou um PFD geral que contém características de um grupo ou coleção de entidades pode ser usado. As uma ou mais entidades podem incluir, por exemplo, instituições financeiras, entidades comerciais, entidades governamentais, entidades acadêmicas e congêneres. Tipicamente, as entidades protegidas podem ser grandes entidades que recebem e transmitem quantidades relativamente grandes de comunicação eletrônica, por exemplo, por meio de uma página da Internet ou outro local acessível em uma rede pública de comunicação de dados.
Entretanto, uma entidade de qualquer tamanho e estrutura também pode ser uma entidade protegida.
A informação no PFD pode incluir: ataques anteriores conhecidos específicos; características genéricas do ataque; palavras-chaves, formas e/ou modelos genéricos usados em correios eletrônicos e portais da Internet corporativos; características de portais da Internet protegidos; atrasos de obsolescência entre autoatualizações e seus ajustes; vetores difusos de logotipos corporativos para uso, por exemplo, em algoritmos de reconhecimento de figura; listas de nomes de domínio legítimos da entidade protegida, países de operação e/ou local do servidor da entidade protegida, e congêneres; e/ou detalhes da chave que descrevem uma área de IT pública para a entidade protegida.
Esta informação pode ser mantida em um servidor de segurança, e pode ficar contida em um arquivo que pode ser compartilhável com um ou mais componentes, por exemplo, por meio de uma rede, tal como a Internet. O PFD pode ser comprimido, cifrado, codificado e digitalmente assinado. Tentativas de deletar, mover, remendar, forjar, adulterar ou regredir o PFD podem ser detectadas, neutralizadas, corrigidas e relatadas ao servidor de segurança, para permitir convenientes, dinâmicas e rápidas atualização e modificação da informação em resposta à mudança de condições tecnológicas e à evolução da estratégia de segurança do dispositivo de computação.
Um perímetro de campo de proteção ("PFP") pode ser criado para cada usuário, e o PFP pode descrever uma lista de PFDs relevantes para cada usuário em particular. Alternativamente, um PFP geral pode ser criado para um grupo e/ou classe de usuário. O PFP pode ser mantido automaticamente e, desse modo, uma lista de PFDs de entidades de interesse para o usuário pode ser montada, permitindo a proteção de todas as entidades, tais como corporações, bancos, revendedores a varejo e congêneres, com as quais o usuário comunica e/ou interage.
Cada entidade pode utilizar um padrão de manutenção e atualização em particular de um PFD associado, dependendo, por exemplo, do tamanho da entidade, bem como do volume de atividade da entidade, dos modelos de negócio da entidade, da indústria da entidade, do local da entidade e congêneres. A modificação e/ou a atualização do PFD podem ser feitas em qualquer frequência adequada, por exemplo, diariamente, mensalmente, anualmente e congêneres. Alternativamente, o PFD pode não exigir ajuste. Todos os PFDs no PFP de um usuário em particular podem ser autoatualizados a partir dos servidores seguros quando PFDs correspondentes forem atualizados.
Um tipo MIME (por exemplo, "PFD de aplicação / interrupções solicitadas por código") pode ser definido no dispositivo de computação usuário, por exemplo, no momento da instalação do componente antirroubo de identidade. Desta maneira, PFDs podem ser automaticamente transferidos e/ou atualizados a partir de uma página da Internet ou outro local de uma entidade protegida. Em uma modalidade exemplar, por exemplo, um usuário que navega em uma página de reconhecimento pagamento de uma página protegida de comerciante da Internet pode transferir o PFD do comerciante, e o PFD do comerciante transferido pode ser adicionado automaticamente no PFP do usuário. Alternativamente, o usuário pode transferir o PFD do comerciante, por exemplo, pela seleção de uma ligação apresentada em uma página da Internet do comerciante.
Desta maneira, em uma modalidade exemplar, um PFD pode ser associado com cada uma de uma pluralidade de entidades. Um gabarito do PFP pode definir um perímetro para um usuário, e pode conter um ou mais dos PFDs, desse modo, identificando entidades legítimas de interesse dos usuários. Desta maneira, o componente antirroubo de identidade pode determinar se o local alvo especificado em uma ligação selecionada é consistente com o PFP e, portanto, com os interesses dos usuários, e pode usar um resultado da determinação para aumentar e/ou diminuir um fator de risco para a ligação.
Componente Antis software Malicioso
O componente antissoftware malicioso pode incluir um ou mais varredores antivírus que contêm uma ou mais bases de dados que contêm ameaças conhecidas. Usando processos considerando a varredura da memória e de objetos, os um ou mais varredores antivírus podem ser capazes de detectar ameaças escondidas por seus traços, por exemplo, varrendo um registro, entradas de inicialização, caminhos, pastas, portas abertas, exclusão mútua e comportamentos. Por todo o presente pedido, o componente antissoftware malicioso pode ser referido como o componente "AME".
Em relação à figura 9, o componente antissoftware malicioso pode ser iniciado em um dispositivo de computação usuário na etapa 902. Uma ou mais bases de dados de software malicioso / ameaças podem ser carregadas na etapa 904. Cada base de dados de software malicioso / ameaças pode incluir um arquivo comprimido e digitalmente assinado que contém informação de identificação relacionada a software malicioso e ameaças conhecidos. A base de dados de software malicioso / ameaças pode ser validada, autenticada e verificada em relação à adulteração, regressão ou modificação, na etapa 906.
Quando a base de dados de software malicioso / ameaças não for autenticada e/ou determinada como válida, um ou mais alertas podem ser criados e transmitidos ao usuário, a um administrador do dispositivo de computação usuário, a um servidor ou a uma outra entidade na etapa 93 0, e, posteriormente, o processo pode terminar na etapa 922. O alerta pode incluir um ou mais de um objeto gráfico, de uma mensagem de texto, de uma entrada em um arquivo de registro, de uma comunicação eletrônica e congêneres. O uso pode ser estimulado e fornecido com instruções considerando como obter uma base de dados de software malicioso / ameaças autenticada e/ou válida.
Quando a base de dados de software malicioso / ameaças for autenticada e determinada como válida, uma lista de todos os processos na memória pode ser criada, e dependências de cada um dos processos podem ser extraídas como uma lista de arquivos correspondentes, na etapa 908. A lista pode ser classificada pelos caminhos de cada processo, e/ou pelo nome de arquivo. Cada objeto pode ser fornecido a um varredor de objeto que pode usar a base de dados de software malicioso / ameaças para varrer ameaças conhecidas. O objeto varredor pode incluir um motor detector acionado por uma base de conhecimento e operável para varrer a memória, registro, exclusão mútua, objetos de inicialização, BHO e extensões, rotinas de tratamento, interceptações de chamada, arquivos, pilhas TCP/IP e congêneres.
Uma pontuação de infecção pode ser determinada e/ou atualizada com base na varredura, e a pontuação de infecção pode ser usada para produzir um ou mais sumário de resultados. O objeto varredor pode identificar ameaças usando técnicas de antivírus, tal como identificação md5 de arquivos, identificação de seções executáveis, desempenho de buscas difusas usando uma ou mais árvores de correspondência padrão binário, detecção de exclusão mútua, varredura de registro, detecção de caminhos e arquivos, detecção de portas TCP/IP abertas e congêneres.
Depois da listagem de processos na etapa 908, pode ser criada uma lista de objetos de inicialização, incluindo uma lista de todos os arquivos carregados durante a inicialização do sistema operacional ou suas dependências diretas, bem como objetos auxiliares do navegador, incluindo extensões das aplicações de software do navegador da Internet e de componentes da área de trabalho do sistema operacional, na etapa 910. Portas de rede abertas, monitorando e conectadas, acionadores e acionadores de pilha TCP/IP, bem como arquivos aberto por processos escondidos e não escondidos podem ser listados na etapa 912. Traços conhecidos, tais como caminhos e pastas criados por ameaças conhecidas, arquivos de registro do registrador de teclado, marcadores de vírus e congêneres, e exclusão mútua conhecida por ser criada por software malicioso, podem ser buscados e listados na etapa 914. Redirecionamentos de hospedeiro locais e compromissos de pilha de IP podem ser buscados e listados na etapa 916.
Todos os objetos listados da forma supradescrita podem ser varridos e/ou analisados, na etapa 918. O arquivo hospedeiro local pode ser analisado para detectar qualquer redirecionamento suspeito, e a pilha de IP pode ser analisada para detectar qualquer compromisso.
Uma determinação se uma ameaça é detectada pode ser feita na etapa 920. Quando uma ameaça for detectada, um ou mais alertas podem ser criados e transmitidos ao usuário, a um administrador do dispositivo de computação usuário, a um servidor ou a uma outra entidade, na etapa 930, e o processo pode terminar na etapa 922. Em uma modalidade exemplar, quando uma ameaça for detectada, o componente antissoftware malicioso pode rerrotear o usuário a uma página ou mensagem informativa, informando ao usuário sobre a ameaça detectada, e oferecendo uma solução ou direcionamento a um recurso para pesquisa adicional.
Adicionalmente, o servidor de pesquisa pode ser notificado e fornecido com ameaças identificadas.
Componente de Autenticação da Página da Internet
Em redes públicas de comunicação de dados convencionais, tal como a Internet, identidades de dispositivos de computação na rede podem ser determinadas por nomes ou endereços TCP/IP numéricos. Os endereços TCP/IP numéricos podem ser mapeados até nomes representados em texto legível por humanos. Tipicamente, acionadores de baixo nível se baseiam em endereços TCP/IP, enquanto que, tipicamente, aplicações de alto nível usam nomes de domínio com propósitos de autenticação, já que listas de endereço são mais difíceis de criar, entender e manter por humanos do que listas de nome de domínio. Desta maneira, a clonagem da identidade de um dispositivo de computação e/ou entidade pode ser realizada pela mudança do mapeamento entre um endereço TCP/IP de baixo nível e seu nome de domínio de alto nível. Depois de tal clonagem, um autenticador não pode ser capaz de distinguir entre uma entidade válida e uma entidade clonada e/ou inválida sem reordenar para camadas e certificados significativamente intensivos em relação à CPU e onerosamente criptográficos, que podem ser difíceis de administrar e manter. Por todo o presente pedido, o componente de autenticação da página da Internet pode ser referido como "o componente WebKeys", e um certificado utilizado por WebKeys pode ser referido como um "certificado WebKeys".
Em relação à figura 10 e à Tabela 1 a seguir, que mostram vários vetores de ataque em DNS, vetores de ataque a DNS podem ser classificados de uma variedade de maneiras:
Figure img0001
Figure img0002
Tabela 1
Ataques a DNS podem ser conduzidos em qualquer etapa da ligação, do dispositivo de computação usuário local até qualquer servidor DNS e cada uma das portas de comunicação usadas. Desta maneira, segurança global pode exigir embutir verificação no lado do usuário.
O componente de autenticação da página da Internet pode detectar, mitigar e impedir, por exemplo, ataques a DNS, ataques de desfiguração, tentativas de corrompimento de DNS, ataques de injeção, ataques de infecção, e/ou sequestro de sessão dos portais da Internet remotos de uma maneira passiva e sem modificação dos servidores DNS e/ou do protocolo DNS. Em relação às figuras 12 e 13, um processo para dar segurança a sistemas DNS pode incluir criar um certificado e usar o certificado criado.
Em relação à figura 12, a criação de um certificado pode começar pelo desempenho de uma solicitação identificada para certificação em um servidor público identificado, na etapa 1202. O servidor público identificado pode ser reconhecido por seu nome de domínio completamente qualificado ("FQDN") e seu endereço TCP/IP público. Em uma autoridade de certificado, uma verificação externa pode ser conduzida para verificar em relação ao originador de registro e de consulta se os valores forem corretos, verificáveis e coerentes na etapa 1204. Se a consulta vem de administrador de página da Internet autorizado pode ser verificado usando informação de senha ou qualquer outro esquema de autenticação adequado.
Um novo certificado pode ser gerado, por exemplo, com base nas opções solicitadas por um administrador de página da Internet ou outro pessoa que pode manter e/ou administrar um servidor e/ou página da Internet, incluindo, por exemplo, a data de expiração ou opções de proteção de conteúdo do portal, na etapa 1206, então, assinado usando a chave privada da autoridade de certificado na etapa 1208. Em uma modalidade exemplar, toda uma hierarquia de autoridades de certificado raiz não é implementada. O certificado gerado pode ser transmitido, por exemplo, para um administrador de página da Internet, na etapa 1210. Esta transmissão pode não exigir um canal protegido, já que o certificado não pode ser usado, a não ser pelo servidor público original.
Em relação à figura 13, um processo para usar um certificado gerado pode começar por um usuário se conectando em um servidor público e consultando o servidor público, para verificar se este servidor é protegido por este tipo de certificado, na etapa 1302. Na etapa 1304, uma chamada a uma função interna do componente de autenticação da página da Internet pode ser iniciada para verificar se a página da Internet deve ser verificada.
Dependendo do número de portais protegidos, a lista de servidores pode ser localmente implementada como uma base de dados da Árvore B ou automaticamente atualizada pelo modelo de autoatualização do componente de comunicação segura. Para listas maiores, três diferente métodos de armazenamento em cache podem ser utilizados para permitir um melhor equilíbrio e gerenciamento de carga no lado do servidor. No caso de listas imensas, pode ser utilizado um desenho que implementa um cache de armazenamento de dados em árvore dinâmico com base em famílias e em processo de otimização de consultas de classificação de acerto.
Em relação a listas maiores, um primeiro nível pode se basear em uma forma de um URL (um endereço de IP direto ou local / restrito, por exemplo, ou um domínio já conhecido), então, um domínio do nível de topo ("TLD") do domínio solicitado, que filtra quais países podem ser protegidos ou não. Um segundo nível, referido, por exemplo, como "FastCache" pode tratar respostas conhecidas recebidas por um período de tempo pré-determinado. Um terceiro nível pode incluir uma área de armazenamento de dados de estruturas que descreve nomes de domínio e seus respectivos estados de proteção, ordenados pelo tipo e/ou características e número de consultas recebidas para otimizar e arranjar respostas naturalmente, com base nos interesses do usuário. Cada consulta ao servidor seguro pode incrementar um número de acertos para este nome ou tipo de domínio, e pode categorizá-los. Os nomes de domínio solicitados e um ou mais outros nomes de domínio do mesmo tipo, categoria ou assunto / interesse, podem ser ordenados pelo número de consultas dos usuários. Desta maneira, quando um usuário navegar na Internet, muitas respostas sucessivas podem ser encontradas em um cache previamente recebido antes de consultar o servidor seguro.
Quando a página da Internet não for protegida, o processo pode parar na etapa 1330. Quando a página da Internet for protegida, uma consulta em segundo plano pode transferir o certificado à medida que o usuário carrega o portal principal, na etapa 1306.
Certificados podem se tornar disponíveis, por exemplo, em uma página da Internet, de uma variedade de maneiras: • Como um arquivo independente que usa um nome estático, por exemplo, usando um nome tal como "web.key", e localizado diretamente sob a raiz do servidor virtual, se baseando em um esquema como arquivos "favicon.ico" ou em cada caminho do servidor; • Embutido em um arquivo tipo cookie, e transmitido diretamente com uma página servida; • Embutido como um objeto em uma página HTML; • Embutido como um novo código tipo tag HTML dedicado. Em uma modalidade exemplar, um código tipo tag específico pode ser implementado, por exemplo, um código tipo tag na forma de " Authenticate type=rsa expires=07/21/2008 signature=2f3a7c...8d9f3a>", que pode ser extraído do documento antes da verificação do seu valor; • Embutido como um tipo MIME registrado, ligado ao componente de autenticação da página da Internet como uma rotina de tratamento para este tipo de dado; • Embutido como um cabeçalho HTTP, permitindo uma implantação em baixo nível; e/ou • Embutido como qualquer outra forma de dados estruturais usados pelo protocolo de rede.
Uma vez que o componente de autenticação da página da Internet obtém o certificado, o componente de autenticação da página da Internet pode usar a chave pública da autoridade de certificação para verificar a autenticidade do certificado, na etapa 1308. A verificação também pode se basear em um esquema de código de autenticação de mensagem com dispersão chaveada ("HMAC" ou "KHMAC"), sem nenhuma chave pública para verificar a autenticidade do certificado.
Quando a verificação da etapa 1308 for positiva, um ou mais campos de certificado podem ser extraídos e comparados com dados recebidos no lado do cliente para detectar diferenças entre os dados recebidos e assinaturas correspondentes do certificado autenticado. Em uma modalidade exemplar, pelo menos um entre uma assinatura digital ou de um código de dispersão dos dados recebidos no lado do cliente pode ser calculado, e a assinatura digital ou o código de dispersão calculados podem ser comparados com valores correspondentes embutidos no certificado; qualquer diferença entre os valores calculados e embutidos pode ser detectada.
Valores verificados podem incluir um endereço de IP usado para se conectar ao servidor, que pode ser extraído da pilha TCP/IP, e o FQDN do servidor conectado, que também pode ser extraído da pilha TCP/IP. Quaisquer outros valores adequados recebidos no lado do cliente podem ser analisados para verificar se os dados recebidos correspondem a valores correspondentes do certificado.
Quando todos os valores forem verificados como autênticos, campos obrigatórios corresponderem aos valores correspondentes, e todos os campos opcionais forem verificados, o portal pode ser determinado como verificado e autenticado, na etapa 1310.
Quando o certificado não for determinado como autêntico, e/ou quando nenhum dos campos extraídos corresponderem a um valor correspondente definido no certificado, um problema ou alerta de ataque é elevado, e a página da Internet pode ser determinada como inválida, modificada e/ou ilegalmente alterado, na etapa 1312. Análise adicional pode ser desempenhada para definir quais fator e/ou fatores estão em falha, e resultados da análise adicional podem ser transmitidos ao servidor de pesquisa. Adicionalmente, um alerta pode ser gerado e/ou transmitido ao usuário, a um administrador do dispositivo de computação usuário, ou a outra entidade adequada. Adicionalmente, quando a análise indicar uma divergência dos endereços de IP, ele pode ser redirecionado ao endereço do IP definido do certificado, assim, desativando os ataque a DNS diretos.
Elementos de uma integração do navegador de um componente de autenticação da página da Internet são mostrados, por exemplo, na figura 14, e a figura 15 mostra um processo exemplar para determinar a proteção de uma página da Internet pelo componente de autenticação da página da Internet.
Estruturas exemplares de um certificado são descritas em relação à Tabela 2, a seguir, que mostra classes de campo de um certificado.
Figure img0003
Figure img0004
Tabela 2
Em uma modalidade exemplar, o certificado pode definir pelo menos três valores: um endereço de IP público da página da Internet protegido, que pode ser comparado com o valor usado pela pilha TCP/IP no dispositivo de computação usuário; um FQDN do portal da Internet protegido, que pode ser comparado com o valor usado pela aplicação, aplicação de software navegador da Internet e/ou pilha TCP/IP usada para se conectar no servidor; e uma assinatura digital do certificado, que pode usar a chave pública embutida no código e/ou atualizada a partir de um servidor seguro, mas não armazenada no certificado. Um esquema padrão de código de autenticação de mensagem ("MAC") pode ser usado, tais como HMAC ou outro esquema de cifragem adequado.
Adicionalmente, o certificado pode definir valores opcionais, incluindo, mas sem limitações: • Data de expiração: a data de expiração pode permitir tratamento de expirações, revogações e ataques de força bruta da chave. A data de expiração pode definir uma limitação de validade a qualquer certificado. • Conteúdo estático: o conteúdo estático pode ser usado quando, por exemplo, a página da Internet protegido for uma página da Internet estática. Por exemplo, o certificado pode armazenar um código de dispersão do conteúdo da página da Internet. Desta maneira, um processo no lado do cliente pode verificar se uma página da Internet transferida corresponde à página da Internet original válida como assinada por um administrador da página da Internet da página da Internet original. Quando a verificação indicar uma diferença, um ataque de desfiguração pode ser indicado, bem como injeções, falsificação, corrompimento de DNS ou um outro ataque com base em conteúdo. Ataques com base em processo, quadros de IP e injeção de memória podem ser detectados, já que a verificação é desempenhada no lado do cliente. O valor de dispersão pode ser calculado pela obtenção do conteúdo do documento do servidor, por exemplo, o conteúdo HTML, normalização consequente do conteúdo obtido, e cálculo de um valor de dispersão do conteúdo normalizado usando uma função de dispersão padrão, tais como md5, shal, sha512, ripemd, ou qualquer outra função adequada. • Domínios dinâmicos: informação de domínio dinâmico pode ser usada, por exemplo, quando o conteúdo for dinamicamente gerado. Em uma modalidade exemplar, todos os domínios referenciados pelos recursos usados podem ser listados para um documento principal a ser protegido e/ou para todo um portal da Internet. Todos os códigos tipo tag HTML que definem uma dependência padrão podem ser listados, os nomes de domínio listados podem ser extraídos, a lista pode ser ordenada, e itens duplicados podem ser eliminados pra obter uma lista de todos os subdomínios exclusivos referenciados pelo documento ou por todo o portal. Códigos tipo tag HTML exemplares que definem uma dependência padrão são mostrados na Tabela 3 a seguir. Um valor de dispersão para esta lista pode ser gerado para permitir o travamento da lista de subdomínios, proibindo a inserção de qualquer nova referência externa sem detecção. • Conteúdo do código: o conteúdo do código pode se referir, por exemplo, a conjuntos de instruções ou outro código embutido nas páginas da Internet. Todos os módulos de definição de conjunto de instruções podem ser extraído dos códigos tipo tag HTMLS. Utilizando um processo de normalização, variações benignas podem ser eliminadas por filtragem, o conteúdo pode ser disperso, e um código de dispersão de verificação do conjunto de instruções pode ser gerado. Desta maneira, o código do lado do cliente pode verificar se o código ativo armazenado em um servidor foi modificado, injetado ou de outra forma manipulado. • Conteúdo dos Recursos: o conteúdo dos recursos pode se referir, por exemplo, a recursos externos usados pelo documento e/ou todo um portal da Internet. Por exemplo, imagens, objetos, Java, animações em flash, sons e outros arquivos multimídia podem ser usados para embutir vetores de software malicioso ou elementos fraudulentos. Cada uma destas dependências pode ser listada e/ou ligada por famílias ou tipo, permitindo a geração de uma impressão digital de suas forma e/ou conteúdo originais. Desta maneira seus fatores legítimos do lado do usuário final podem ser verificados. Uma lista de definições pode ligar cada nome de recurso e/ou uma seleção pela natureza ou família de nomes de recurso com uma impressão digital no corpo do certificado. A lista pode ser usada no lado do cliente pelo cálculo da impressão digital do recurso transferido em relação ao valor do certificado, e diferenças podem indicar uma injeção, clonagem, adulteração ou modificação ilegal do recurso estudado.
A Tabela 3, a seguir, mostra vários códigos tipo tag HTML que podem ser usados para detectar e proteger 5 referências e dependências.
Figure img0005
Figure img0006
Tabela 3
Adicionalmente, e usando um esquema similar a um esquema de RFC 4871 ("DKIM"), a chave pública de qualquer portal da Internet pode ser publicada em um campo "TXT" em 5 seu próprio servidor DNS, e pode ser amplamente disponível e revogável. Todo o certificado pode ser implementado em um código tipo tag HTML dedicado, arquivo tipo cookie, ou página.
A figura 16 mostra um processo exemplar para verificar a proteção de um servidor pelo componente de autenticação da página da Internet.
A figura 17 mostra um processo exemplar para verificar um certificado pelo componente de autenticação da página da Internet. Em relação à figura 17, uma solicitação para carregar o certificado pode ser desempenhada na etapa 1702, e, se o certificado pode ser obtido e/ou transferido, é determinado na etapa 1704. Quando o certificado não puder ser obtido, um alerta pode ser gerado e transmitido ao usuário, a um administrador de uma rede do usuário ou a uma outra entidade, na etapa 172 0, o cache pode ser atualizado na etapa 1722, e o processo pode retornar um resultado e terminar na etapa 1724. Quando o certificado for obtenível, os campos podem ser extraídos do certificado obtido, na etapa 1706, e uma assinatura digital do certificado pode ser verificada na etapa 1708 e determinada como válida ou inválida na etapa 1710. Quando a assinatura for inválida, o processo pode prosseguir até a etapa 1720. Quando a assinatura for determinada como válida, se o FQDN do certificado corresponde com o FQDN solicitado pode ser determinado na etapa 1712. Quando o FQDN não corresponder, o processo pode prosseguir até a etapa 1720. Quando o FQDN corresponder, se o endereço de IP da conexão corresponde com o endereço de IP do certificado pode ser determinado na etapa 1714. Quando o endereço de IP não corresponder, o processo pode prosseguir até a etapa 1720. Quando o endereço de IP corresponder, se uma data de expiração foi alcançada pode ser determinado na etapa 1716. Quando a data de expiração for alcançada, o processo pode prosseguir até a etapa 1720. Quando a data de expiração não for alcançada, tentativas de ludibriar com uma data e/ou hora atuais, pelo ajuste de um relógio do dispositivo de computação local em uma data e/ou hora que ocorrem no futuro, em relação a uma data e/ou hora presentes, são determinadas na etapa 1718. Quando a data e/ou hora de um ou mais sistemas e/ou arquivos locais travados, tais como arquivos de registro, arquivos de inicialização do sistema, arquivo de atividades, arquivos cache e congêneres, forem localizadas no futuro, uma modificação do relógio do sistema pode ser indicada. Quando a data do sistema for uma data futura, o processo pode prosseguir até a etapa 1720. Quando a data do sistema não for maior que uma data atual, o cache pode ser atualizado na etapa 1722, e o processo pode retornar um resultado e terminar na etapa 1724.
Componente de Interface de Certificação Genérica
Um modelo de interface de certificação genérica ("GCI") pode ser utilizado para implementar uma interface de certificação de correio eletrônico. O componente GCI pode utilizar padrões de certificação de correio eletrônico existentes, por exemplo, padrões descritos por "DKIM" ou "DomainKeys". A API GCI pode fornecer detecção de um estado DKIM de um correio eletrônico e/ou outra comunicação eletrônica para aplicações de software de leitura de correio eletrônico, ou para qualquer extensão.
Adicionalmente, implementação de um modelo de certificação como este pode fornecer outras funções. Por exemplo, o modelo de GCI pode fornecer uma estrutura de servidor dedicado como um repositório de chave pública "aberta" quando a rede usada por um usuário não fornecer chaves públicas por meio do servidor DNS, como no mecanismo de DKIM. O componente GCI pode ser implementado como um proxy POP/SMTP/IMAP padrão para interceptar comunicação de software cliente de correio eletrônico padrão.
Um método para permitir que uma rede crie seu próprio conjunto de chaves DKIM pode utilizar um HardwareUID e UserUID do componente GCI, para limitar abuso e para fornecer rastreamento das revogações chave. Desta maneira, entidades podem se beneficiar de um processo de certificação e utilizar uma arquitetura ponto a ponto antes de as chaves poderem ser ligadas aos seus respectivos servidores DNS.
Em um lançamento inicial do componente GCI, a existência de um par de chaves pública-privada pode ser verificada, e um par de chaves pode ser gerado quando um par de chaves for determinado como não definido. Uma vez gerada e/ou definida, a chave privada pode ser mantida segura em um dispositivo de computação local, enquanto que a chave pública pode ser transmitida ao servidor de chaves públicas. A chave pública pode ser ligada ao ComputerUlD e ao UserUID. bem como à informação associada com a rede.
O servidor de chaves públicas pode registrar a chave pública para permitir uma consulta adicional para verificar a existência e o valor da chave pública.
Um correio eletrônico e/ou outra comunicação eletrônica transmitida a partir de um computador local usando o componente GCI pode ser assinado usando o ComputerUID e/ou o UserUID como um seletor de DKIM. Um campo "DomainKey-Signature:" do correio eletrônico pode descrever uma versão e uma infraestrutura do servidor de chaves alternativo. A descrição de uma versão e servidor de chaves alternativo pode ser usada, por exemplo, para evitar a divergência entre o modelo de chave pública do DNS e o modelo do servidor privado do GCI para tratar as chaves públicas.
Mediante recepção de um correio eletrônico ou outra comunicação eletrônica, o componente GCI pode analisar o campo "DomainKey-Signature:" do correio eletrônico. Quando o campo "DomainKey-Signature:" não existir, o correio eletrônico pode ser certificado. Quando o campo "DomainKey- Signature:" existir e definir uma versão DKIM padrão, o modelo padrão que usa servidores DNS para consultar as chaves públicas pode ser usado. Quando o campo "DomainKey- Signature:" definir uma versão do GCI, a infraestrutura do servidor de chaves alternativo para o repositório de chave públicas pode ser usada.
Em uma modalidade exemplar, o componente GCI pode ser implementado como um proxy nos dispositivos de computação locais. Quando o componente GCI for implementado como urn proxy nos dispositivos de computação locais, o componente GCI pode verificar silenciosamente a chegada de correio eletrônico e/ou outras comunicações eletrônicas, ainda se certificando de todas as saídas de correio eletrônico e/ou outras comunicações.
Uma vez instalado, o componente GCI pode oferecer funcionalidade DKIM genérica transparente e automaticamente, e pode se desenvolver para um padrão DKIM se os servidores DNS implementarem uma interface padrão para implementar gerenciamento de chave públicas. Alternativamente, o componente GCI pode permanecer definido como uma infraestrutura do servidor de chaves alternativo.
O componente GCI pode fornecer um modelo de normalização genérico que permite a sinalização de conteúdos de correio eletrônico modificados durante transmissão usando serviços de correio eletrônico gratuitos, portas de comunicação abertas, e antivírus e outros sistemas que modificam conteúdo do correio eletrônico ou adicionam dados ao correio eletrônico. Por exemplo, portas de comunicação de correio eletrônico, inserções de propaganda e/ou notificações de antivírus adicionadas a um correio eletrônico podem adicionar dados extra ao correio eletrônico, modificar a largura da linha do correio eletrônico e congêneres.
O componente GCI pode utilizar um algoritmo de cálculo alternativo para calcular uma assinatura do corpo do conteúdo do correio eletrônico, por exemplo, para impedir o descarte de uma assinatura ou invalidação em função da modificação de conteúdo desempenhada por aplicações, tais como software antivírus, correio eletrônico servidores gratuitos e/ou portas de comunicação.
Os dados de texto do correio eletrônico podem ser extraídos, e código HTML pode ser filtrado, e espaçamento, caracteres especiais e caracteres de controle, tais como retorno de carro, alimentação de linha, tabulações, caracteres especiais e congêneres, podem ser substituídos por caracteres de espaço. Ocorrências redundantes do caractere de espaço podem ser substituídas por um único caractere de espaço. Um comprimento do armazenamento temporário pode ser calculado, por exemplo, em bytes, e outros caracteres podem ser normalizados usando um mecanismo pré-determinado, por exemplo, usando a sintaxe "RFC 3986" que descreve codificação URL.
A normalização pode invalidar qualquer modificação de formato em função das portas de comunicação reformatarem os comprimentos das linhas, enquanto que o armazenamento do comprimento do armazenamento temporário tratado permite a verificação sempre da mesma parte do armazenamento temporário de texto, antes de qualquer adição. Os dados resultantes podem ser comprimidos usando uma função de árvore Huffman, ou qualquer outra função adequada, gerando um armazenamento temporário com entropia mais alta para o passo de dispersão. A compressão pode ser usada em vez da normalização, invalidando toda recodificação de caractere. Um código de dispersão do armazenamento temporário pode ser calculado usando uma função de dispersão padrão, por exemplo "Shal", como o código de dispersão do conteúdo dos dados. O valor do comprimento do armazenamento temporário pode ser armazenado, por exemplo, em um campo opcional da descrição assinatura.
O componente GCI pode permitir a sinalização e a adição da certificação em um arquivo, documento de escritório, arquivos de fonte e de configuração e congêneres, usando a mesma arquitetura de repositório da chave pública.
Uma API genérica pode oferecer diversas funções. Por exemplo, em uma modalidade exemplar, as funções podem incluir sinalizar um documento e verificar um documento.
Em uma função de sinalização de documento, um armazenamento temporário de dados pode ser obtido. O armazenamento temporário pode ser obtido, por exemplo, extraindo o conteúdo de uma janela ativa pela cópia, apontando para um armazenamento temporário de dados, contendo um conteúdo de arquivo e congêneres. A chave privada pode ser usada para sinalizar um armazenamento temporário específico que contém um conjunto de dados. Este conjunto de dados pode definir uma estrutura que descreve, por exemplo, o "ComputerUID" do computador que sinaliza, o "UserUID" do usuário que sinaliza, uma data e hora, um código de dispersão do conteúdo do armazenamento temporário de dados, por exemplo, normalizado e/ou comprimido, e um identificador exclusivo do documento, incluindo um valor especial ("DocUID") gerado para reconhecer documentos idênticos entre as versões, ou como sucessivas versões.
Então, a função de sinalização do documento pode serializar esta estrutura como uma série de valores numéricos em uma base numérica para desempenhar a compressão, antes da recodificação deste em uma sequência de caracteres. Então, a sequência pode ser inserida em um fim do documento, pode ser delimitada por um conjunto de marcadores especiais, e substituir toda ocorrência de uma correspondência precedente destas. Em uma modalidade exemplar, os caracteres especiais podem incluir caracteres, tais como "{"e/ou"}".
A função de verificação de documento pode obter um armazenamento temporário de dados de acordo com um procedimento similar àquele supradescrito, e pode buscar ocorrências dos marcadores especiais. Quando os um ou mais dos caracteres especiais forem encontrados, a sequência de caracteres delimitada entre os marcadores pode ser extraída, decodificada e desserializada para obter a estrutura dos dados. Esta estrutura pode ser analisada para permitir a identificação e/ou o rastreamento de uma entidade e/ou indivíduo que criou o documento, em qual dispositivo de computação, uma data de criação, uma hora de criação e modificações desempenhadas no documento, se existir alguma.
Embutir uma assinatura no corpo principal do documento pode permitir definir implicitamente um "fim" do documento em um momento do processo de sinalização, e um limite do documento para verificar o processo de verificação, para evitar a adição de quaisquer dados adicionais por portas de comunicação, outro software e assinaturas / propagandas. Este esquema pode ser usado como um sistema de formato de assinatura principal para o "DKIM" esquema de sinalização, evitando a necessidade de armazenar o comprimento do documento a verificar.
Um servidor público pode registrar todas as assinaturas recém-criadas, geradas pela função de sinalização de documento, permitindo uma certificação dupla pela invalidação de uma tentativa de falsificação. Durante a verificação de um documento, uma assinatura do documento extraída pode permitir consultar este servidor e verificar se a assinatura foi registrada, por exemplo, pelo uso de uma base de tempo independente em comparação àquela usada por um primeiro dispositivo de computação.
Adicionalmente, o rastreamento da evolução de um documento através de múltiplas versões pode ser desempenhado pela manutenção de um identificador exclusivo DocUID para o documento entre múltiplas e sucessivas assinaturas.
A API pode ser configurada e/ou desenhada como um servidor ActiveX, e pode ser embutida em aplicações essenciais de escritório e outras aplicações de software, bem como aplicações específicas, por exemplo, aplicações de software, tais como "Microsoft Office", "Microsoft Windows" e "Internet Explorer".
O componente GCI pode estender o sistema DomainKeys pela permissão de que usuários implementem esta proteção. O padrão proposto define o servidor DNS como o principal repositório de chave pública, que não pode ser diretamente usado pelo usuário. Adicionalmente, a criação e gerenciamento seguros de um conjunto de chaves públicas privadas são tarefas difíceis para que um usuário convencional desempenhe.
Sistemas operacionais convencionais, por exemplo, sistemas operacionais, tais como Microsoft Windows, implementam conjuntos de chaves de máquina e usuário, que podem ser protegidos e disponíveis através de uma interface dedicada, tais como um objeto "CAPICOM" ou uma camada criptográfica ".Net". O componente GCI pode se basear nestas interfaces criptográficas para usar quaisquer conjuntos existentes de chaves para um usuário, ou para definir chaves novas, ainda permitindo as tarefas de armazenamento e de gerenciamento destas interfaces e componentes protegidos do sistema operacional. O componente GCI pode operar como uma interface independente entre um usuário isolado ou pequena rede e uma infraestrutura DKIM existente.
Desta maneira, arquivos, documentos de escritório, correios eletrônicos e qualquer tipo de dados digitais podem ser assinados. Sinalização de dados de acordo com uma modalidade exemplar pode incluir, por exemplo, embutir uma assinatura digital como um elemento de texto assinado que determina um fim dos dados assinados. Os dados assinados podem ser normalizados para evitar assinaturas violadas em função dos formatos modificados e da adição de dados. Esquemas de assinatura padrões, incluindo DKIM, Chave de Domínio e qualquer outro esquema adequado com repositórios de chave pública para definir um sistema de autenticação de documentos genérico sem uma infraestrutura do lado do usuário, podem ser ligados. Assinaturas digitais podem ser ligadas com o dispositivo de computação que sinaliza e um identificador de usuário anônimo, e/ou assinaturas digitais podem ser ligadas com um identificador exclusivo de documento que permite o rastreamento de múltiplas versões de um documento. Assinaturas digitais podem ser ligadas com uma data de assinatura do documento para permitir as revisões de rastreamento de um documento. Um repositório de assinaturas de documento público pode permitir uma dupla verificação de qualquer assinatura sem considerações de data e/ou hora local, bem como um sistema de rastreamento anônimo global para documentos.
As modalidades supradescritas são exemplos ilustrativos do presente pedido, e não deve-se interpretar que o presente pedido é limitado a estas modalidades em particular. Várias mudanças e modificações podem ser efetuadas pelos versados na técnica sem fugir do espírito ou do escopo do pedido, definidos nas reivindicações anexas. Por exemplo, elementos e/ou recursos de diferentes modalidades ilustrativas podem ser combinados uns com os outros e/ou substituídos uns pelos outros no escopo da presente divulgação e das reivindicações anexas. Além do mais, melhorias e modificações que ficam aparentes aos versados na técnica depois da leitura da presente divulgação, dos desenhos e das reivindicações anexas são consideradas no espírito e no escopo do presente pedido.

Claims (4)

1. Método implementado por computador para correção de ataques a sistema de nome de domínio (DNS), caracterizado pelo fato de que compreende: receber (1306) por um computador cliente um certificado digital de um servidor, em que o certificado digital compreende um nome de domínio do servidor completamente qualificado e um primeiro endereço TCP/IP do servidor associado; receber (1302) pelo computador cliente um segundo endereço TCP/IP do nome de domínio do servidor completamente qualificado de um DNS; comparar (1308) pelo computador cliente o primeiro endereço TCP/IP do certificado digital com o segundo endereço TCP/IP recebido pelo DNS; detectar (1312) um problema no DNS pelo computador cliente quando uma diferença entre o primeiro endereço TCP/IP e o segundo endereço TCP/IP é detectada e após a detecção do problema: prevenir comunicação com uma localização alvo especificada pelo segundo endereço TCP/IP, e redirecionar comunicação para o servidor utilizando o primeiro endereço TCP/IP; e identificar (1310) pelo computador cliente uma conexão correta ao servidor quando nenhuma diferença entre o primeiro endereço TCP/IP e o segundo endereço TCP/IP é detectada.
2. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: receber dados pelo computador cliente; calcular um código de dispersão através dos dados recebidos, em que o certificado digital compreende ainda uma pluralidade de códigos de dispersão de nomes de domínio utilizados como dependências referenciadas pelo servidor, comparar o código de dispersão dos dados recebidos à pluralidade de códigos de dispersão de nomes de domínio utilizados como dependências referenciadas pelo servidor; e detectar uma injeção de conteúdo fraudulento quando o código de dispersão dos dados recebidos não é um da pluralidade de códigos de dispersão de nomes de domínio utilizados como dependências referenciadas pelo servidor.
3. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: criar (1206) o certificado digital pelo computador servidor; e transmitir (1210) pelo servidor o certificado digital ao computador cliente.
4. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o computador servidor é um servidor web e o primeiro endereço TCP/IP do servidor é inserido no certificado digital.
BRPI0815605-0A 2007-08-06 2008-08-06 Método para a comunicação de dados usando um dispositivo de computação; método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação; método para comunicação de dados usando um dispositivo de computação; método para a criação de um certificado usando um dispositivo de computação; e método para usar um certificado utilizando um dispositivo de computação BRPI0815605B1 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US95425907P 2007-08-06 2007-08-06
US60/954,259 2007-08-06
US97359007P 2007-09-19 2007-09-19
US60/973,590 2007-09-19
PCT/US2008/072381 WO2009021070A1 (en) 2007-08-06 2008-08-06 System and method for authentication, data transfer, and protection against phishing
US12/187,224 2008-08-06
US12/187,224 US8578166B2 (en) 2007-08-06 2008-08-06 System and method for authentication, data transfer, and protection against phishing

Publications (2)

Publication Number Publication Date
BRPI0815605A2 BRPI0815605A2 (pt) 2016-02-23
BRPI0815605B1 true BRPI0815605B1 (pt) 2020-09-15

Family

ID=40341721

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0815605-0A BRPI0815605B1 (pt) 2007-08-06 2008-08-06 Método para a comunicação de dados usando um dispositivo de computação; método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação; método para comunicação de dados usando um dispositivo de computação; método para a criação de um certificado usando um dispositivo de computação; e método para usar um certificado utilizando um dispositivo de computação

Country Status (14)

Country Link
US (1) US8578166B2 (pt)
EP (1) EP2179532B1 (pt)
JP (2) JP2011517859A (pt)
KR (1) KR101497742B1 (pt)
CN (1) CN101816148A (pt)
AU (1) AU2008283847B2 (pt)
BR (1) BRPI0815605B1 (pt)
CA (1) CA2697632C (pt)
IL (1) IL203763A (pt)
MX (1) MX2010001549A (pt)
MY (1) MY180093A (pt)
NZ (1) NZ583300A (pt)
SG (1) SG183697A1 (pt)
WO (1) WO2009021070A1 (pt)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210306154A1 (en) * 2020-03-30 2021-09-30 Hand Held Products, Inc. Validating electronic devices in a block chain network
US20230281301A1 (en) * 2022-03-03 2023-09-07 Dell Products, L.P. System and method for detecting and reporting system clock attacks within an indicators of attack platform

Families Citing this family (397)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127101A (zh) * 2006-08-18 2008-02-20 鸿富锦精密工业(深圳)有限公司 商标信息监控系统及方法
WO2008071795A2 (en) 2006-12-15 2008-06-19 Boesgaard Soerensen Hans Marti Digital data authentication
US8161526B2 (en) * 2007-10-22 2012-04-17 International Business Machines Corporation Protecting sensitive information on a publicly accessed data processing system
US8126988B2 (en) * 2007-10-22 2012-02-28 International Business Machines Corporation Public status determination and security configuration of a browser
JP4936549B2 (ja) * 2007-10-30 2012-05-23 キヤノン株式会社 サーバ装置、管理システム、管理方法、記憶媒体、プログラム
US8315951B2 (en) * 2007-11-01 2012-11-20 Alcatel Lucent Identity verification for secure e-commerce transactions
US8756340B2 (en) * 2007-12-20 2014-06-17 Yahoo! Inc. DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
US8341737B1 (en) * 2008-03-31 2012-12-25 Symantec Corporation Detecting fraudulent web sites through an obfuscated reporting mechanism
US9596250B2 (en) 2009-04-22 2017-03-14 Trusted Knight Corporation System and method for protecting against point of sale malware using memory scraping
US8316445B2 (en) * 2008-04-23 2012-11-20 Trusted Knight Corporation System and method for protecting against malware utilizing key loggers
KR100987354B1 (ko) * 2008-05-22 2010-10-12 주식회사 이베이지마켓 웹 사이트 내의 부정 코드를 점검하기 위한 시스템 및 그방법
US8805995B1 (en) * 2008-05-23 2014-08-12 Symantec Corporation Capturing data relating to a threat
US8763125B1 (en) * 2008-09-26 2014-06-24 Trend Micro, Inc. Disabling execution of malware having a self-defense mechanism
US8495735B1 (en) * 2008-12-30 2013-07-23 Uab Research Foundation System and method for conducting a non-exact matching analysis on a phishing website
US8468597B1 (en) * 2008-12-30 2013-06-18 Uab Research Foundation System and method for identifying a phishing website
US20100180121A1 (en) * 2009-01-09 2010-07-15 Alcatel-Lucent Method and apparatus for enhancing security in network-based data communication
US9734125B2 (en) * 2009-02-11 2017-08-15 Sophos Limited Systems and methods for enforcing policies in the discovery of anonymizing proxy communications
US8631080B2 (en) * 2009-03-12 2014-01-14 Microsoft Corporation Email characterization
CN101504673B (zh) * 2009-03-24 2011-09-07 阿里巴巴集团控股有限公司 一种识别疑似仿冒网站的方法与系统
US8676989B2 (en) 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US8589698B2 (en) * 2009-05-15 2013-11-19 International Business Machines Corporation Integrity service using regenerated trust integrity gather program
US8806057B2 (en) * 2009-05-19 2014-08-12 Neutral Space, Inc. Internet-based value-added services system and method
FR2946168B1 (fr) * 2009-05-27 2011-07-01 Commonit Procede de navigation sur le reseau internet, support d'enregistrement, serveur d'acces et poste d'utilisateur pour la mise en oeuvre de ce procede.
US8752142B2 (en) * 2009-07-17 2014-06-10 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for adapting the security measures of a communication network based on feedback
US10157280B2 (en) * 2009-09-23 2018-12-18 F5 Networks, Inc. System and method for identifying security breach attempts of a website
JP5333129B2 (ja) * 2009-09-30 2013-11-06 日本電気株式会社 クライアント装置、アクセス認証制御方法、および、アクセス認証制御プログラム
US20110126018A1 (en) * 2009-11-23 2011-05-26 Anees Narsinh Methods and systems for transaction digital watermarking in content delivery network
US8584208B2 (en) * 2009-11-25 2013-11-12 Nokia Corporation Method and apparatus for providing a context resource description language and framework for supporting the same
US9756076B2 (en) 2009-12-17 2017-09-05 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transactions
US8621636B2 (en) 2009-12-17 2013-12-31 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for collecting and reporting sensor data in a communication network
JP5454135B2 (ja) * 2009-12-25 2014-03-26 富士通株式会社 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
US8650129B2 (en) 2010-01-20 2014-02-11 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transaction data in transit
CN101795276B (zh) * 2010-02-09 2014-11-05 戴宇星 基于数字签名的静态网页防篡改系统及方法
US8566950B1 (en) * 2010-02-15 2013-10-22 Symantec Corporation Method and apparatus for detecting potentially misleading visual representation objects to secure a computer
US8756650B2 (en) * 2010-03-15 2014-06-17 Broadcom Corporation Dynamic authentication of a user
US20110231656A1 (en) * 2010-03-16 2011-09-22 Telcordia Technologies, Inc. System and methods for authenticating a receiver in an on-demand sender-receiver transaction
CN101848218A (zh) * 2010-05-14 2010-09-29 山东泰信电子有限公司 一种互联网电视终端安全访问互联网的方法
US9392005B2 (en) * 2010-05-27 2016-07-12 Samsung Sds Co., Ltd. System and method for matching pattern
US8924296B2 (en) 2010-06-22 2014-12-30 American Express Travel Related Services Company, Inc. Dynamic pairing system for securing a trusted communication channel
US10360625B2 (en) 2010-06-22 2019-07-23 American Express Travel Related Services Company, Inc. Dynamically adaptive policy management for securing mobile financial transactions
US8850539B2 (en) 2010-06-22 2014-09-30 American Express Travel Related Services Company, Inc. Adaptive policies and protections for securing financial transaction data at rest
US8364811B1 (en) 2010-06-30 2013-01-29 Amazon Technologies, Inc. Detecting malware
US8392374B2 (en) * 2010-08-30 2013-03-05 International Business Machines Corporation Displaying hidden rows in a database after an expiration date
US8832283B1 (en) * 2010-09-16 2014-09-09 Google Inc. Content provided DNS resolution validation and use
US9363107B2 (en) 2010-10-05 2016-06-07 Red Hat Israel, Ltd. Accessing and processing monitoring data resulting from customized monitoring of system activities
US9256488B2 (en) * 2010-10-05 2016-02-09 Red Hat Israel, Ltd. Verification of template integrity of monitoring templates used for customized monitoring of system activities
US9355004B2 (en) 2010-10-05 2016-05-31 Red Hat Israel, Ltd. Installing monitoring utilities using universal performance monitor
US9524224B2 (en) 2010-10-05 2016-12-20 Red Hat Israel, Ltd. Customized monitoring of system activities
US8769043B2 (en) * 2010-10-28 2014-07-01 Daniel Ian Flitcroft Computer implemented system and method for enhancing web browsing
US9137236B2 (en) * 2010-11-09 2015-09-15 Zaplox Ab Method and system for reducing the impact of an undesired event using event-based distribution of certificates
CN101986307B (zh) * 2010-11-11 2013-08-14 东莞宇龙通信科技有限公司 一种mime类型插件的生成方法、系统及浏览器
JP5106643B2 (ja) * 2011-01-05 2012-12-26 株式会社東芝 Webページ改竄検知装置及びプログラム
US9065850B1 (en) * 2011-02-07 2015-06-23 Zscaler, Inc. Phishing detection systems and methods
US8726387B2 (en) * 2011-02-11 2014-05-13 F-Secure Corporation Detecting a trojan horse
US9037637B2 (en) 2011-02-15 2015-05-19 J.D. Power And Associates Dual blind method and system for attributing activity to a user
JP5289480B2 (ja) * 2011-02-15 2013-09-11 キヤノン株式会社 情報処理システム、情報処理装置の制御方法、およびそのプログラム。
TW201235878A (en) * 2011-02-18 2012-09-01 Walton Advanced Eng Inc A digital key with encryption and webpage guiding functions
US8949349B2 (en) 2011-03-28 2015-02-03 Blackberry Limited Communications system including trusted server to verify a redirection request and associated methods
US8561185B1 (en) * 2011-05-17 2013-10-15 Google Inc. Personally identifiable information detection
US9117074B2 (en) 2011-05-18 2015-08-25 Microsoft Technology Licensing, Llc Detecting a compromised online user account
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US8555388B1 (en) 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
CN102231666A (zh) * 2011-06-29 2011-11-02 电子科技大学 基于强素数的零知识身份认证方法
US9087324B2 (en) 2011-07-12 2015-07-21 Microsoft Technology Licensing, Llc Message categorization
CN102902917A (zh) * 2011-07-29 2013-01-30 国际商业机器公司 用于预防钓鱼式攻击的方法和系统
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
GB2494105B (en) * 2011-08-20 2013-07-17 Blis Media Ltd Verifying the transfer of a data file
EP2761524A4 (en) * 2011-09-30 2015-05-13 Intel Corp SAFE DISPLAYS FOR SAFE TRANSACTIONS
US8813239B2 (en) * 2012-01-17 2014-08-19 Bitdefender IPR Management Ltd. Online fraud detection dynamic scoring aggregation systems and methods
US9158893B2 (en) 2012-02-17 2015-10-13 Shape Security, Inc. System for finding code in a data flow
US8819227B1 (en) * 2012-03-19 2014-08-26 Narus, Inc. Discerning web content and services based on real-time DNS tagging
US10489119B2 (en) * 2012-05-11 2019-11-26 Microsoft Technology Licensing, Llc Connection between app and web site
US8448260B1 (en) * 2012-05-25 2013-05-21 Robert Hansen Electronic clipboard protection
US9083696B1 (en) * 2012-05-30 2015-07-14 Google Inc. Trusted peer-based information verification system
US8762876B2 (en) * 2012-06-21 2014-06-24 Google Inc. Secure data entry via a virtual keyboard
US8635668B1 (en) * 2012-07-11 2014-01-21 International Business Machines Corporation Link analysis tool for security information handling system
GB201212878D0 (en) 2012-07-20 2012-09-05 Pike Justin Authentication method and system
US9094452B2 (en) * 2012-08-01 2015-07-28 Bank Of America Corporation Method and apparatus for locating phishing kits
CN103685584B (zh) * 2012-09-07 2016-12-21 中国科学院计算机网络信息中心 一种基于隧道技术的反域名劫持方法和系统
US9215239B1 (en) 2012-09-28 2015-12-15 Palo Alto Networks, Inc. Malware detection based on traffic analysis
US9104870B1 (en) 2012-09-28 2015-08-11 Palo Alto Networks, Inc. Detecting malware
US9910659B2 (en) 2012-11-07 2018-03-06 Qualcomm Incorporated Methods for providing anti-rollback protection of a firmware version in a device which has no internal non-volatile memory
US9038159B2 (en) * 2012-12-03 2015-05-19 Verizon Patent And Licensing Inc. Authentication system
CN103902857B (zh) * 2012-12-25 2017-11-14 深圳市腾讯计算机系统有限公司 一种软件程序的保护方法和装置
US9191402B2 (en) 2013-01-25 2015-11-17 Opendns, Inc. Domain classification based on client request behavior
US10182041B2 (en) * 2013-02-27 2019-01-15 CipherTooth, Inc. Method and apparatus for secure data transmissions
US10713356B2 (en) 2013-03-04 2020-07-14 Crowdstrike, Inc. Deception-based responses to security attacks
US9584543B2 (en) * 2013-03-05 2017-02-28 White Ops, Inc. Method and system for web integrity validator
US9344449B2 (en) * 2013-03-11 2016-05-17 Bank Of America Corporation Risk ranking referential links in electronic messages
US9509688B1 (en) 2013-03-13 2016-11-29 EMC IP Holding Company LLC Providing malicious identity profiles from failed authentication attempts involving biometrics
US9602537B2 (en) * 2013-03-15 2017-03-21 Vmware, Inc. Systems and methods for providing secure communication
US9537888B1 (en) 2013-04-08 2017-01-03 Amazon Technologies, Inc. Proxy server-based malware detection
US9305174B2 (en) * 2013-04-09 2016-04-05 Robert Hansen Electronic clipboard protection
US9058504B1 (en) * 2013-05-21 2015-06-16 Malwarebytes Corporation Anti-malware digital-signature verification
US9450840B2 (en) 2013-07-10 2016-09-20 Cisco Technology, Inc. Domain classification using domain co-occurrence information
US9811665B1 (en) 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US10019575B1 (en) 2013-07-30 2018-07-10 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using copy-on-write
US9613210B1 (en) 2013-07-30 2017-04-04 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using dynamic patching
US9690936B1 (en) * 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9202044B2 (en) 2013-11-21 2015-12-01 The Board Of Regents, The University Of Texas System System and method for retrofitting application code
US9407644B1 (en) * 2013-11-26 2016-08-02 Symantec Corporation Systems and methods for detecting malicious use of digital certificates
US9270647B2 (en) 2013-12-06 2016-02-23 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US10432658B2 (en) * 2014-01-17 2019-10-01 Watchguard Technologies, Inc. Systems and methods for identifying and performing an action in response to identified malicious network traffic
US8954583B1 (en) 2014-01-20 2015-02-10 Shape Security, Inc. Intercepting and supervising calls to transformed operations and objects
US8893294B1 (en) 2014-01-21 2014-11-18 Shape Security, Inc. Flexible caching
KR20150096274A (ko) * 2014-02-14 2015-08-24 삼성전자주식회사 웹 브라우저에서 화상형성장치의 주소록을 활용하는 방법 및 이를 수행하기 위한 화상형성장치
US9635014B2 (en) * 2014-02-21 2017-04-25 Samsung Electronics Co., Ltd. Method and apparatus for authenticating client credentials
CN103824021B (zh) * 2014-02-27 2017-05-17 北京奇虎科技有限公司 一种浏览器设置项的设置方法和装置
US9160766B2 (en) * 2014-03-12 2015-10-13 Symantec Corporation Systems and methods for protecting organizations against spear phishing attacks
US10146934B2 (en) * 2014-03-14 2018-12-04 International Business Machines Corporation Security information sharing between applications
CN103916490B (zh) * 2014-04-03 2017-05-24 深信服网络科技(深圳)有限公司 一种域名系统dns防篡改方法及装置
US9912690B2 (en) * 2014-04-08 2018-03-06 Capital One Financial Corporation System and method for malware detection using hashing techniques
US20170054553A1 (en) * 2014-04-28 2017-02-23 Telefonaktiebolaget Lm Ericsson (Publ) Using web entropy to scramble messages
WO2015167544A1 (en) 2014-04-30 2015-11-05 Hewlett-Packard Development Company, Lp Verification request
US9858440B1 (en) 2014-05-23 2018-01-02 Shape Security, Inc. Encoding of sensitive data
US9628502B2 (en) 2014-06-09 2017-04-18 Meadow Hills, LLC Active attack detection system
CN104601604B (zh) * 2014-06-12 2019-03-15 国家电网公司 网络安全态势分析方法
US9075990B1 (en) 2014-07-01 2015-07-07 Shape Security, Inc. Reliable selection of security countermeasures
US9489516B1 (en) 2014-07-14 2016-11-08 Palo Alto Networks, Inc. Detection of malware using an instrumented virtual machine environment
US9003511B1 (en) 2014-07-22 2015-04-07 Shape Security, Inc. Polymorphic security policy action
US9729583B1 (en) 2016-06-10 2017-08-08 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10181051B2 (en) 2016-06-10 2019-01-15 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US10289867B2 (en) 2014-07-27 2019-05-14 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US11234288B2 (en) * 2014-08-25 2022-01-25 Coherent Logix, Incorporated Shared spectrum access for broadcast and bi-directional, packet-switched communications
US9971878B2 (en) * 2014-08-26 2018-05-15 Symantec Corporation Systems and methods for handling fraudulent uses of brands
US9602543B2 (en) 2014-09-09 2017-03-21 Shape Security, Inc. Client/server polymorphism using polymorphic hooks
CN104268465B (zh) * 2014-09-15 2018-04-27 联想(北京)有限公司 一种信息处理方法及电子设备
US10298599B1 (en) 2014-09-19 2019-05-21 Shape Security, Inc. Systems for detecting a headless browser executing on a client computer
US9325734B1 (en) * 2014-09-30 2016-04-26 Shape Security, Inc. Distributed polymorphic transformation of served content
US9112900B1 (en) * 2014-09-30 2015-08-18 Shape Security, Inc. Distributed polymorphic transformation of served content
US10171532B2 (en) * 2014-09-30 2019-01-01 Citrix Systems, Inc. Methods and systems for detection and classification of multimedia content in secured transactions
EP3219065A1 (en) * 2014-11-14 2017-09-20 Nokia Solutions and Networks Oy Ims emergency session handling
US9398047B2 (en) 2014-11-17 2016-07-19 Vade Retro Technology, Inc. Methods and systems for phishing detection
US9473531B2 (en) * 2014-11-17 2016-10-18 International Business Machines Corporation Endpoint traffic profiling for early detection of malware spread
US9542554B1 (en) * 2014-12-18 2017-01-10 Palo Alto Networks, Inc. Deduplicating malware
US9805193B1 (en) 2014-12-18 2017-10-31 Palo Alto Networks, Inc. Collecting algorithmically generated domains
KR102264992B1 (ko) 2014-12-31 2021-06-15 삼성전자 주식회사 무선 통신 시스템에서 서버 할당 방법 및 장치
US11023117B2 (en) * 2015-01-07 2021-06-01 Byron Burpulis System and method for monitoring variations in a target web page
KR101668185B1 (ko) * 2015-02-10 2016-10-21 이병철 정보의 해킹 및 해독 방지를 위한 암호화 방법
US9253208B1 (en) 2015-03-05 2016-02-02 AO Kaspersky Lab System and method for automated phishing detection rule evolution
US10616177B2 (en) 2015-03-31 2020-04-07 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
WO2016160977A1 (en) * 2015-03-31 2016-10-06 Donaldson Willie L Secure dynamic address resolution and communication system, method, and device
US10110552B2 (en) 2015-03-31 2018-10-23 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
CN104850789B (zh) * 2015-04-01 2017-10-27 河海大学 一种基于Web浏览器帮助对象的远程代码注入漏洞检测方法
US9986058B2 (en) 2015-05-21 2018-05-29 Shape Security, Inc. Security systems for mitigating attacks from a headless browser executing on a client computer
US9979748B2 (en) 2015-05-27 2018-05-22 Cisco Technology, Inc. Domain classification and routing using lexical and semantic processing
GB201520741D0 (en) * 2015-05-27 2016-01-06 Mypinpad Ltd And Licentia Group Ltd Authentication methods and systems
US9646158B1 (en) * 2015-06-22 2017-05-09 Symantec Corporation Systems and methods for detecting malicious files
EP3125147B1 (en) * 2015-07-27 2020-06-03 Swisscom AG System and method for identifying a phishing website
US9807113B2 (en) 2015-08-31 2017-10-31 Shape Security, Inc. Polymorphic obfuscation of executable code
WO2017061668A1 (ko) * 2015-10-07 2017-04-13 김윤정 포털 사이트를 이용한 피싱 및 파밍 방지 방법
CN106485148A (zh) * 2015-10-29 2017-03-08 远江盛邦(北京)网络安全科技股份有限公司 基于js‑bom结合的恶意代码行为分析沙箱的实现方法
US9674213B2 (en) 2015-10-29 2017-06-06 Duo Security, Inc. Methods and systems for implementing a phishing assessment
US10990616B2 (en) * 2015-11-17 2021-04-27 Nec Corporation Fast pattern discovery for log analytics
US9954877B2 (en) * 2015-12-21 2018-04-24 Ebay Inc. Automatic detection of hidden link mismatches with spoofed metadata
ITUB20160453A1 (it) * 2016-01-15 2017-07-15 Nuovo Pignone Tecnologie Srl Gestione di sistema di controllo industriale
CN107145376B (zh) * 2016-03-01 2021-04-06 中兴通讯股份有限公司 一种主动防御方法和装置
US10567363B1 (en) 2016-03-03 2020-02-18 Shape Security, Inc. Deterministic reproduction of system state using seeded pseudo-random number generators
US9917850B2 (en) 2016-03-03 2018-03-13 Shape Security, Inc. Deterministic reproduction of client/server computer state or output sent to one or more client computers
US10834101B2 (en) 2016-03-09 2020-11-10 Shape Security, Inc. Applying bytecode obfuscation techniques to programs written in an interpreted language
US10129289B1 (en) 2016-03-11 2018-11-13 Shape Security, Inc. Mitigating attacks on server computers by enforcing platform policies on client computers
US11004125B2 (en) 2016-04-01 2021-05-11 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11244367B2 (en) 2016-04-01 2022-02-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10176502B2 (en) 2016-04-01 2019-01-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10706447B2 (en) 2016-04-01 2020-07-07 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US9898769B2 (en) 2016-04-01 2018-02-20 OneTrust, LLC Data processing systems and methods for operationalizing privacy compliance via integrated mobile applications
US9892443B2 (en) 2016-04-01 2018-02-13 OneTrust, LLC Data processing systems for modifying privacy campaign data via electronic messaging systems
US10423996B2 (en) 2016-04-01 2019-09-24 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US9892444B2 (en) 2016-04-01 2018-02-13 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US10176503B2 (en) 2016-04-01 2019-01-08 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US20220164840A1 (en) 2016-04-01 2022-05-26 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10404723B1 (en) * 2016-06-08 2019-09-03 SlashNext, Inc. Method and system for detecting credential stealing attacks
US11146576B1 (en) * 2016-06-08 2021-10-12 SlashNext, Inc. Method and system for detecting credential stealing attacks
US11025675B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11410106B2 (en) 2016-06-10 2022-08-09 OneTrust, LLC Privacy management systems and methods
US11336697B2 (en) 2016-06-10 2022-05-17 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10565397B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10452864B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US10454973B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking systems and related methods
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10509894B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10430740B2 (en) 2016-06-10 2019-10-01 One Trust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US10496803B2 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10181019B2 (en) 2016-06-10 2019-01-15 OneTrust, LLC Data processing systems and communications systems and methods for integrating privacy compliance systems with software development and agile tools for privacy design
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems and related methods
US10353674B2 (en) 2016-06-10 2019-07-16 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10769301B2 (en) 2016-06-10 2020-09-08 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US10282692B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US10353673B2 (en) 2016-06-10 2019-07-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10204154B2 (en) 2016-06-10 2019-02-12 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10706379B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for automatic preparation for remediation and related methods
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems and related methods
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US10437412B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems and related methods
US10776517B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US10706174B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US10289870B2 (en) 2016-06-10 2019-05-14 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10642870B2 (en) 2016-06-10 2020-05-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10586075B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US10509920B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for processing data subject access requests
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11138242B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10798133B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10440062B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems and related methods
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10496846B1 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US10848523B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10467432B2 (en) 2016-06-10 2019-11-05 OneTrust, LLC Data processing systems for use in automatically generating, populating, and submitting data subject access requests
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10452866B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11228620B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US10102533B2 (en) 2016-06-10 2018-10-16 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US10346637B2 (en) 2016-06-10 2019-07-09 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10706131B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US11038925B2 (en) 2016-06-10 2021-06-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US10346638B2 (en) 2016-06-10 2019-07-09 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US10289866B2 (en) 2016-06-10 2019-05-14 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems and related methods
US11277448B2 (en) 2016-06-10 2022-03-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US10438017B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Data processing systems for processing data subject access requests
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11625502B2 (en) 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US11343284B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10235534B2 (en) 2016-06-10 2019-03-19 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10416966B2 (en) 2016-06-10 2019-09-17 OneTrust, LLC Data processing systems for identity validation of data subject access requests and related methods
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10873606B2 (en) 2016-06-10 2020-12-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10944725B2 (en) 2016-06-10 2021-03-09 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems and related methods
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10614247B2 (en) 2016-06-10 2020-04-07 OneTrust, LLC Data processing systems for automated classification of personal information from documents and related methods
US10275614B2 (en) 2016-06-10 2019-04-30 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10708305B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Automated data processing systems and methods for automatically processing requests for privacy-related information
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
JP6319369B2 (ja) * 2016-06-23 2018-05-09 日本電気株式会社 処理制御装置、処理制御方法、及び、処理制御プログラム
US10116634B2 (en) * 2016-06-28 2018-10-30 A10 Networks, Inc. Intercepting secure session upon receipt of untrusted certificate
US11062019B2 (en) 2016-07-04 2021-07-13 Traffic Guard Dg Ltd. System and method for webpages scripts validation
US10284516B2 (en) * 2016-07-07 2019-05-07 Charter Communications Operating, Llc System and method of determining geographic locations using DNS services
US10193923B2 (en) 2016-07-20 2019-01-29 Duo Security, Inc. Methods for preventing cyber intrusions and phishing activity
US10313352B2 (en) * 2016-10-26 2019-06-04 International Business Machines Corporation Phishing detection with machine learning
US10419477B2 (en) * 2016-11-16 2019-09-17 Zscaler, Inc. Systems and methods for blocking targeted attacks using domain squatting
US10063533B2 (en) * 2016-11-28 2018-08-28 International Business Machines Corporation Protecting a web server against an unauthorized client application
US11349816B2 (en) 2016-12-02 2022-05-31 F5, Inc. Obfuscating source code sent, from a server computer, to a browser on a client computer
US11496438B1 (en) 2017-02-07 2022-11-08 F5, Inc. Methods for improved network security using asymmetric traffic delivery and devices thereof
US10791119B1 (en) 2017-03-14 2020-09-29 F5 Networks, Inc. Methods for temporal password injection and devices thereof
US10552847B2 (en) * 2017-03-23 2020-02-04 International Business Machines Corporation Real-time pattern matching of database transactions and unstructured text
CN106998359A (zh) * 2017-03-24 2017-08-01 百度在线网络技术(北京)有限公司 基于人工智能的语音识别服务的网络接入方法以及装置
US10931662B1 (en) 2017-04-10 2021-02-23 F5 Networks, Inc. Methods for ephemeral authentication screening and devices thereof
US10362047B2 (en) 2017-05-08 2019-07-23 KnowBe4, Inc. Systems and methods for providing user interfaces based on actions associated with untrusted emails
DE102017111933A1 (de) * 2017-05-31 2018-12-06 Krohne Messtechnik Gmbh Verfahren zur sicheren Kommunikation mit einem Feldmessgerät der Prozesstechnik und entsprechendes Feldmessgerät
JP6548172B2 (ja) * 2017-06-12 2019-07-24 パナソニックIpマネジメント株式会社 端末認証システム、サーバ装置、及び端末認証方法
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
CN109218364A (zh) * 2017-07-04 2019-01-15 武汉安天信息技术有限责任公司 加密流量数据的监控方法、代理服务器端、待监控客户端和监控系统
EP3649767A1 (en) * 2017-07-06 2020-05-13 Pixm Phishing detection method and system
CN107784554B (zh) * 2017-09-28 2020-11-27 深圳乐信软件技术有限公司 订单处理的方法、装置、存储介质、服务器及终端设备
US10708308B2 (en) 2017-10-02 2020-07-07 Servicenow, Inc. Automated mitigation of electronic message based security threats
CN107995264B (zh) * 2017-11-20 2021-03-30 北京知道未来信息技术有限公司 一种基于消息队列的cdn服务验证码分发方法和系统
CN108108619B (zh) * 2017-12-29 2021-08-31 安天科技集团股份有限公司 基于模式匹配对应关系的文件检测方法、系统及存储介质
CN111602113A (zh) * 2018-01-16 2020-08-28 7隧道公司 用于修改真随机数池的密码系统和方法
RU2676247C1 (ru) * 2018-01-17 2018-12-26 Общество С Ограниченной Ответственностью "Группа Айби" Способ и компьютерное устройство для кластеризации веб-ресурсов
US10104103B1 (en) * 2018-01-19 2018-10-16 OneTrust, LLC Data processing systems for tracking reputational risk via scanning and registry lookup
US10817607B1 (en) * 2018-01-26 2020-10-27 CA Inc. Securing a network device from malicious executable code embedded in a computer document
RU2681699C1 (ru) 2018-02-13 2019-03-12 Общество с ограниченной ответственностью "Траст" Способ и сервер для поиска связанных сетевых ресурсов
US11658995B1 (en) 2018-03-20 2023-05-23 F5, Inc. Methods for dynamically mitigating network attacks and devices thereof
US10904283B2 (en) * 2018-06-19 2021-01-26 AO Kaspersky Lab System and method of countering an attack on computing devices of users
US11010474B2 (en) 2018-06-29 2021-05-18 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
RU2728506C2 (ru) * 2018-06-29 2020-07-29 Акционерное общество "Лаборатория Касперского" Способ блокировки сетевых соединений
US10956573B2 (en) 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US20220070216A1 (en) * 2018-07-25 2022-03-03 Cyren, Inc. Phishing detection system and method of use
CN110765455A (zh) * 2018-09-04 2020-02-07 哈尔滨安天科技集团股份有限公司 基于属性域异常调用的恶意文档检测方法、装置及系统
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10970372B2 (en) 2018-11-01 2021-04-06 Microsoft Technology Licensing, Llc Revocable biometric print based identification
CN111176978B (zh) * 2018-11-09 2023-09-29 通用电气航空系统有限公司 验证不合格部件的工具验证系统和方法
JP2022511020A (ja) * 2018-12-04 2022-01-28 サイトリックス システムズ,インコーポレイテッド デジタルコンテンツのリアルタイムな隠蔽
FR3091097A1 (fr) * 2018-12-19 2020-06-26 Orange Procédé d’acquisition d’une chaîne de délégation relative à la résolution d’un identifiant de nom de domaine dans un réseau de communication
US11743290B2 (en) * 2018-12-21 2023-08-29 Fireeye Security Holdings Us Llc System and method for detecting cyberattacks impersonating legitimate sources
KR20210122305A (ko) * 2019-02-15 2021-10-08 텔레폰악티에볼라겟엘엠에릭슨(펍) 트래픽 검출을 위한 방법 및 장치
CN111628900B (zh) * 2019-02-28 2023-08-29 西门子股份公司 基于网络协议的模糊测试方法、装置和计算机可读介质
US11281804B1 (en) 2019-03-28 2022-03-22 Amazon Technologies, Inc. Protecting data integrity in a content distribution network
US11303674B2 (en) * 2019-05-14 2022-04-12 International Business Machines Corporation Detection of phishing campaigns based on deep learning network detection of phishing exfiltration communications
CN110266684B (zh) * 2019-06-19 2022-06-24 北京天融信网络安全技术有限公司 一种域名系统安全防护方法及装置
US11095722B2 (en) 2019-08-06 2021-08-17 Bank Of America Corporation Adaptive cross-channel tracking of electronic records signature modifications
US10552299B1 (en) 2019-08-14 2020-02-04 Appvance Inc. Method and apparatus for AI-driven automatic test script generation
US10628630B1 (en) 2019-08-14 2020-04-21 Appvance Inc. Method and apparatus for generating a state machine model of an application using models of GUI objects and scanning modes
US11196765B2 (en) 2019-09-13 2021-12-07 Palo Alto Networks, Inc. Simulating user interactions for malware analysis
US11343275B2 (en) * 2019-09-17 2022-05-24 Fortinet, Inc. Detecting potential domain name system (DNS) hijacking by identifying anomalous changes to DNS records
US11741197B1 (en) 2019-10-15 2023-08-29 Shape Security, Inc. Obfuscating programs using different instruction set architectures
RU2743974C1 (ru) 2019-12-19 2021-03-01 Общество с ограниченной ответственностью "Группа АйБи ТДС" Система и способ сканирования защищенности элементов сетевой архитектуры
CN111163082B (zh) * 2019-12-27 2022-03-25 咪咕文化科技有限公司 一种验证码的生成、验证方法、电子设备及存储介质
US11595377B2 (en) * 2019-12-31 2023-02-28 Intuit Inc. Method and system for monitoring for and blocking fraudulent attempts to log into remote services using list validation attacks
CN111324883B (zh) * 2020-02-20 2020-10-23 成都我行我数科技有限公司 基于互联网的电商平台入侵检测方法及计算机设备
CN111565172B (zh) * 2020-04-13 2022-07-12 北京天融信网络安全技术有限公司 劫持检测方法、装置、电子设备及存储介质
KR20210054580A (ko) * 2020-04-22 2021-05-13 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 네트워크 공격 방어 방법, 장치, 기기, 시스템과 저장매체
CN111770079B (zh) * 2020-06-24 2022-09-02 绿盟科技集团股份有限公司 一种web框架注入漏洞检测方法及装置
WO2022011142A1 (en) 2020-07-08 2022-01-13 OneTrust, LLC Systems and methods for targeted data discovery
US10904012B1 (en) 2020-07-12 2021-01-26 Fraudmarc Inc. Email authentication and data integrity validation
WO2022026564A1 (en) 2020-07-28 2022-02-03 OneTrust, LLC Systems and methods for automatically blocking the use of tracking tools
WO2022032072A1 (en) 2020-08-06 2022-02-10 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
GB2598412A (en) * 2020-08-18 2022-03-02 Clario Tech Ltd A method for detecting a web skimmer on a "payment page"
WO2022060860A1 (en) 2020-09-15 2022-03-24 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
US11526624B2 (en) 2020-09-21 2022-12-13 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
EP4241173A1 (en) 2020-11-06 2023-09-13 OneTrust LLC Systems and methods for identifying data processing activities based on data discovery results
CN112381540A (zh) * 2020-11-13 2021-02-19 从法信息科技有限公司 基于零知识证明验证签署文书的方法、装置和电子设备
US11824878B2 (en) 2021-01-05 2023-11-21 Bank Of America Corporation Malware detection at endpoint devices
US11687528B2 (en) 2021-01-25 2023-06-27 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
WO2022170047A1 (en) 2021-02-04 2022-08-11 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
US11494515B2 (en) 2021-02-08 2022-11-08 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
US20240098109A1 (en) 2021-02-10 2024-03-21 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
US11775348B2 (en) 2021-02-17 2023-10-03 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
WO2022178219A1 (en) 2021-02-18 2022-08-25 OneTrust, LLC Selective redaction of media content
US20220269774A1 (en) * 2021-02-19 2022-08-25 Capital One Services, Llc Methods, media, and systems for screening malicious content from a web browser
US11533315B2 (en) 2021-03-08 2022-12-20 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
FR3122747B1 (fr) * 2021-05-07 2023-03-31 Commissariat Energie Atomique Procede d’execution d’une fonction, securise par desynchronisation temporelle
CN113806740B (zh) * 2021-09-30 2024-04-16 上海易念信息科技有限公司 一种钓鱼仿真测试方法、系统及电子设备
IL290541A (en) * 2022-02-10 2023-09-01 Feldbau Michael A system and method for creating reliable urls
CN114513359A (zh) * 2022-02-16 2022-05-17 北京仁信证科技有限公司 一种端到端保护的网页防篡改系统
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments
CN115391750B (zh) * 2022-10-26 2023-02-14 浙江华东工程数字技术有限公司 一种算法授权方法、装置、电子设备和存储介质

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428349A (en) 1992-10-01 1995-06-27 Baker; Daniel G. Nondisclosing password entry system
NL1000548C2 (nl) 1995-06-13 1996-12-13 Frits Hans Michael Traugott Systeem voor het genereren van een wachtwoord.
US6006328A (en) 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US7631188B2 (en) 1997-05-16 2009-12-08 Tvworks, Llc Hierarchical open security information delegation and acquisition
JP4739465B2 (ja) 1997-06-09 2011-08-03 インタートラスト テクノロジーズ コーポレイション ソフトウェアセキュリティを増強するための混乱化技術
US6421781B1 (en) 1998-04-30 2002-07-16 Openwave Systems Inc. Method and apparatus for maintaining security in a push server
US6246769B1 (en) 2000-02-24 2001-06-12 Michael L. Kohut Authorized user verification by sequential pattern recognition and access code acquisition
ES2302723T3 (es) 2000-03-20 2008-08-01 Comodo Research Lab Limited Procedimientos de acceso y de utilizacion de paginas web.
US7376835B2 (en) * 2000-04-25 2008-05-20 Secure Data In Motion, Inc. Implementing nonrepudiation and audit using authentication assertions and key servers
WO2001086372A2 (en) * 2000-05-12 2001-11-15 Xtreamlok Pty. Ltd. Information security method and system
US20020124172A1 (en) * 2001-03-05 2002-09-05 Brian Manahan Method and apparatus for signing and validating web pages
US7210134B1 (en) 2001-09-06 2007-04-24 Sonic Solutions Deterring reverse-engineering of software systems by randomizing the siting of stack-based data
CA2363795A1 (en) 2001-11-26 2003-05-26 Cloakware Corporation Computer system protection by communication diversity
EP1361527A1 (en) 2002-05-07 2003-11-12 Sony Ericsson Mobile Communications AB Method for loading an application in a device, device and smart card therefor
US7124445B2 (en) 2002-06-21 2006-10-17 Pace Anti-Piracy, Inc. Protecting software from unauthorized use by converting source code modules to byte codes
JP4317359B2 (ja) 2002-12-27 2009-08-19 ファルコンシステムコンサルティング株式会社 認証システム
US7395428B2 (en) * 2003-07-01 2008-07-01 Microsoft Corporation Delegating certificate validation
JP2005078167A (ja) * 2003-08-28 2005-03-24 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体
KR20050053145A (ko) * 2003-12-02 2005-06-08 삼성전자주식회사 무선 패킷 데이터 시스템 및 이 시스템에서의 망간 로밍사용자에 대한 동적 dns 갱신 방법
US20060031174A1 (en) 2004-07-20 2006-02-09 Scribocel, Inc. Method of authentication and indentification for computerized and networked systems
US20060048223A1 (en) 2004-08-31 2006-03-02 Lee Michael C Method and system for providing tamper-resistant software
JP2006116943A (ja) 2004-09-27 2006-05-11 Fuji Photo Film Co Ltd プリント方法及びプリントシステム
US8032594B2 (en) 2004-11-10 2011-10-04 Digital Envoy, Inc. Email anti-phishing inspector
US7634810B2 (en) 2004-12-02 2009-12-15 Microsoft Corporation Phishing detection, prevention, and notification
US7743254B2 (en) * 2005-03-23 2010-06-22 Microsoft Corporation Visualization of trust in an address bar
US7725930B2 (en) * 2005-03-30 2010-05-25 Microsoft Corporation Validating the origin of web content
US7584364B2 (en) 2005-05-09 2009-09-01 Microsoft Corporation Overlapped code obfuscation
US7620987B2 (en) 2005-08-12 2009-11-17 Microsoft Corporation Obfuscating computer code to prevent an attack
US8621604B2 (en) 2005-09-06 2013-12-31 Daniel Chien Evaluating a questionable network communication
US20070250916A1 (en) * 2005-10-17 2007-10-25 Markmonitor Inc. B2C Authentication
US7991159B2 (en) 2005-12-09 2011-08-02 Alcatel-Lucent Usa Inc. Layered mobile application security system
GB2434662A (en) 2006-01-13 2007-08-01 Deepnet Technologies Ltd Authenticating a server to a user by displaying an image
JP3939736B1 (ja) 2006-03-27 2007-07-04 株式会社シー・エス・イー ユーザ認証システム、およびその方法
JP3996939B2 (ja) 2006-03-30 2007-10-24 株式会社シー・エス・イー オフラインユーザ認証システム、その方法、およびそのプログラム
EP2005698B1 (en) * 2006-04-13 2012-01-04 Art of Defence GmbH Method for providing web application security
JP4128610B1 (ja) 2007-10-05 2008-07-30 グローバルサイン株式会社 サーバ証明書発行システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210306154A1 (en) * 2020-03-30 2021-09-30 Hand Held Products, Inc. Validating electronic devices in a block chain network
US20230281301A1 (en) * 2022-03-03 2023-09-07 Dell Products, L.P. System and method for detecting and reporting system clock attacks within an indicators of attack platform

Also Published As

Publication number Publication date
CA2697632C (en) 2015-05-12
SG183697A1 (en) 2012-09-27
BRPI0815605A2 (pt) 2016-02-23
JP5941872B2 (ja) 2016-06-29
EP2179532A1 (en) 2010-04-28
JP2013175238A (ja) 2013-09-05
IL203763A (en) 2015-01-29
CN101816148A (zh) 2010-08-25
AU2008283847B2 (en) 2013-11-14
WO2009021070A1 (en) 2009-02-12
US20090077383A1 (en) 2009-03-19
NZ583300A (en) 2012-09-28
KR101497742B1 (ko) 2015-03-03
US8578166B2 (en) 2013-11-05
KR20100085902A (ko) 2010-07-29
AU2008283847A1 (en) 2009-02-12
EP2179532B1 (en) 2019-07-10
CA2697632A1 (en) 2009-02-12
MX2010001549A (es) 2010-09-07
JP2011517859A (ja) 2011-06-16
EP2179532A4 (en) 2015-03-18
MY180093A (en) 2020-11-21

Similar Documents

Publication Publication Date Title
BRPI0815605B1 (pt) Método para a comunicação de dados usando um dispositivo de computação; método para gerar uma segunda versão de um componente de comunicação de dados usando um dispositivo de computação; método para comunicação de dados usando um dispositivo de computação; método para a criação de um certificado usando um dispositivo de computação; e método para usar um certificado utilizando um dispositivo de computação
US8800042B2 (en) Secure web application development and execution environment
CN102110198B (zh) 一种网页防伪的方法
JP2009521020A (ja) 高リスクアプリケーション用の実用的プラットフォーム
Gittins et al. Malware persistence mechanisms
WO2023053101A1 (en) Systems and methods for malicious code neutralization in execution environments
Gupta et al. Evaluation and monitoring of XSS defensive solutions: a survey, open research issues and future directions
Liu et al. Gummy browsers: targeted browser spoofing against state-of-the-art fingerprinting techniques
Atapour et al. Modeling Advanced Persistent Threats to enhance anomaly detection techniques
Dhivya et al. Evaluation of Web Security Mechanisms Using Vulnerability &Sql Attack Injection
AU2014200698B2 (en) A computer-implemented method for detecting domain injection or evasion
Belous et al. Computer viruses, malicious logic, and spyware
Sharif Web Attacks Analysis and Mitigation Techniques
Msaad et al. Honeysweeper: Towards stealthy honeytoken fingerprinting techniques
Sharp Software Security
US20230129631A1 (en) Detecting and protecting against inconsistent use of cross-site request forgery mitigation features
Robertson Detecting and preventing attacks against web applications
Balasubramanian Web application vulnerabilities and their countermeasures
Sundareswaran et al. Image repurposing for gifar-based attacks
Khan Web session security: formal verification, client-side enforcement and experimental analysis
Shuang Using Context to Verify Human Intent
Cova Taming the Malicious Web: Avoiding and Detecting Web-based Attacks
Thompson et al. Anomaly Detection at Multiple Scales (ADAMS)
Al Shamsi Mapping, Exploration, and Detection Strategies for Malware Universe
Σολέας Detecting malicious code in a web server

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 9/00

Ipc: H04L 9/32 (1990.01), H04L 29/06 (1990.01), H04L 29

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 15/09/2020, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 15A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2734 DE 30-05-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.