BRPI0720666A2 - Detecção automática de vulnerabilidade e resposta - Google Patents
Detecção automática de vulnerabilidade e resposta Download PDFInfo
- Publication number
- BRPI0720666A2 BRPI0720666A2 BRPI0720666-6A BRPI0720666A BRPI0720666A2 BR PI0720666 A2 BRPI0720666 A2 BR PI0720666A2 BR PI0720666 A BRPI0720666 A BR PI0720666A BR PI0720666 A2 BRPI0720666 A2 BR PI0720666A2
- Authority
- BR
- Brazil
- Prior art keywords
- malfunction
- interface
- function
- user
- program
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0748—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Radar Systems Or Details Thereof (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Description
“DETECÇÃO AUTOMÁTICA DE VULNERABILIDADE E RESPOSTA” Antecedentes
Vários métodos para abrandar as vulnerabilidades de software são reativos e muito demorados. Ou seja, uma vez que uma vulnerabilidade seja descoberta, as companhias de software tipicamente liberam uma correção algum tempo depois direcionada para impedir os atacantes de explorarem a vulnerabilidade. Ao mesmo tempo em que esta estratégia funcio- nou bem para proteger os usuários no passado, sua eficácia parcialmente requer (1) desco- bridores de vulnerabilidade para encontrar as vulnerabilidades antes dos hackers, (2) des- cobridores de vulnerabilidade para relatar os problemas para as companhias de software antes que eles sejam revelados publicamente, e (3) alta velocidade de adoção da correção, de modo que se uma exploração de falha for desenvolvida, os usuários que adotam a corre- ção fiquem protegidos da exploração de falha.
Infelizmente, as tendências recentes não dão uma boa previsão para estes reque- rimentos. Especificamente, a velocidade de exploração de falha de O dia (isto é, explorações de falha que foram liberadas para vulnerabilidade não reveladas com segurança não fixada) tem aumentado, e as velocidades de adoção de correção continuam a ser lentas. De modo a impedir o cenário da segurança de piorar de forma considerável, os fabricantes de softwa- re devem encontrar um meio para tanto descobrir como abrandar as vulnerabilidades de forma mais rápida.
Sumário
Várias concretizações detectam vulnerabilidades e de forma responsiva, podem modificar um programa afetado de modo que mesmo se uma exploração de falha acontecer, a integridade do programa pode ser mantida.
Em pelo menos algumas concretizações, um componente local de detecção auto- mática de vulnerabilidade e resposta (AVD/R) funciona em uma máquina local de um usuá- rio para detectar e abrandar vulnerabilidades potenciais através do uso de uma proteção; e um componente remoto de detecção automática de vulnerabilidade e resposta (AVD/R) fun- ciona para relatar as vulnerabilidades percebidas de modo que uma ou mais proteções pos- sam ser distribuídas e aplicadas localmente para abrandar as vulnerabilidades percebidas.
Breve Descrição dos Desenhos
A Fig. 1 ilustra um sistema de acordo com uma concretização.
A Fig. 2 é um fluxograma que descreve as etapas em um método de acordo com uma concretização.
A Fig. 3 ilustra um sistema de acordo com uma concretização.
A Fig. 4 é um fluxograma que descreve as etapas em um método de acordo com uma concretização.
A Fig. 5 ilustra um sistema de acordo com uma concretização. A Fig. 6 é um fluxograma que descreve as etapas em um método de acordo com uma concretização.
Descrição Detalhada
Vista Geral
Várias concretizações detectam vulnerabilidades de segurança e, de forma respon- siva, podem modificar um programa afetado de modo que mesmo se uma exploração de falha aconteça, a integridade do programa pode ser mantida.
Em pelo menos algumas concretizações, um componente local de detecção auto- mática de vulnerabilidade e resposta (AVD/R) funciona em uma máquina local de um usuá- rio para detectar e abrandar vulnerabilidades potenciais através do uso de uma proteção; e, um componente remoto de detecção automática de vulnerabilidade e resposta (AVD/R) fun- ciona para reportar as vulnerabilidades percebidas de modo que uma ou mais proteções possam ser distribuídas e aplicadas de forma local para abrandar as vulnerabilidades perce- bidas.
Na discussão a seguir, uma seção denominada “Vulnerabilidades de Segurança Em Geral” é proporcionada e descreve, muito geralmente, a noção de uma vulnerabilidade de segurança e como ela pode surgir. Depois disso, uma seção denominada “AVD/R Local” é proporcionada e discute soluções locais para a detecção de vulnerabilidade e resposta. De- pois disso, uma seção denominada “AVD/R Remota” é proporcionada e discute várias solu- ções remotas para a detecção de vulnerabilidade. Finalmente, uma seção denominada “Uti- lizando tanto AVD/R Local como Remota” é proporcionada e descreve como tanto a aborda- gem local como a remota podem ser aplicadas para proporcionar uma seqüência contínua de proteção.
Vulnerabilidades de Segurança em Geral
Várias vulnerabilidades de segurança emanam de erros de programação. Existem vários diferentes tipos de erros de programação que podem levar a uma vulnerabilidade. Por exemplo, um erro comum de programação é um que permite o transbordo de memória tem- porária. Em situações como esta, um programador pode ter alocado uma certa quantidade de espaço para manter dados. Um explorador pode descobrir que se você proporcionar para o programa mais dados do que ele espera, e se o programador não implantou as verifica- ções corretas para abrandar ou eliminar as possibilidades de um transbordo de memória temporária, então estes dados em excesso podem causar o transbordo. Utilizando a condi- ção de transbordo, o explorador pode anexar dados ou código no fim dos dados recebidos na memória temporária e causar um transbordo. Se os dados ou código que são anexados forem executados, isto pode alterar o programa ou modificar sua funcionalidade de algum modo. Por conseqüência, em virtude de um erro de programação, uma vulnerabilidade de segurança pode ser explorada. Entretanto, freqüentemente, as explorações de uma vulnerabilidade de segurança podem levar a funcionamentos errôneos do programa. No exemplo acima, a exploração de falha pode fazer o programa olhar para alguma parte aleatória da memória e começar a e- xecutar código que causa uma operação inválida e por conseqüência, causa que o progra- ma funcione incorretamente.
Por conseqüência, a partir de um erro de funcionamento de programa, pode-se de- duzir que existe um problema com o programa. Este problema pode ser associado com uma vulnerabilidade de segurança. Ou seja, as execuções errôneas do programa freqüentemente são um sinal de uma vulnerabilidade por que: (1) vários dos mesmos erros de programação que causam erros de funcionamento do programa são exploráveis; (2) o desenvolvimento da exploração de falha envolve uma boa quantidade de tentativa e erro - por conseqüência, durante estágios anteriores do desenvolvimento da exploração de falha, tentativas falhas irão causar que o programa funcione erroneamente; e (3) as explorações de falha freqüen- temente trabalham somente em relação a versões especificas de um programa, e algumas vezes irão causar o funcionamento errado de outra versões.
AVD/R Local
A Fig. 1 ilustra um sistema de acordo com uma concretização, geralmente designa- do por 100. O sistema 100 inclui um dispositivo de computação 102 possuindo um ou mais processadores 104, um ou mais meios legíveis por computador 106 e uma ou mais aplica- ções 108 que residem no meio legível por computador e que são executáveis pelos proces- sadores. Em adição, o dispositivo de computação 102 inclui um componente local de AVD/R 110 que, neste exemplo, é implementado em software.
Apesar do dispositivo de computação 102 ser ilustrado na forma de um computador de mesa, é para ser apreciado e entendido que outros dispositivos de computação podem ser utilizados sem se afastar do espírito e do escopo do assunto reivindicado. Por exemplo, outros dispositivos de computação podem incluir, a título de exemplo e não de limitação, computadores portáteis, computadores de mão, tal como assistentes pessoais digitais (PDAs), telefones celulares e assim por diante.
Neste exemplo, o componente AVD/R local 110 inclui um inspetor de registro de ocorrência 112, um componente de interface com o usuário 114 e um construtor de proteção 116. Em operação, quando um programa no dispositivo de computação local funciona de maneira incorreta, a informação associada com o funcionamento incorreto é informada para um registro de ocorrência de funcionamento incorreto, como será apreciado pelos versados na técnica. Tipicamente, o registro de ocorrência de funcionamento incorreto contém infor- mações que descrevem os parâmetros associados com um funcionamento incorreto particu- lar. Por exemplo, o registro de funcionamento incorreto pode conter informações que des- crevem o programa que funcionou incorretamente, as quais fazem interface ou funcionam dentro do programa que funcionou incorretamente, e / ou quaisquer parâmetros associados com a função ou com a interface que causou o funcionamento incorreto. O inspetor de regis- tro de ocorrência 112 do componente AVD/R local 110 pode monitorar funcionamentos in- corretos e, quando ocorre um funcionamento incorreto, pode automaticamente inspecionar o funcionamento incorreto em relação às informações associadas com o funcionamento incor- reto. Isto pode incluir verificar qual função ou interface está associada com o funcionamento incorreto. Uma vez que o inspetor de registro de ocorrência tenha verificado a causa do fun- cionamento incorreto, ele pode empregar o construtor de proteção 116 para construir uma proteção que efetivamente proporciona uma solução automática em tempo de execução que desativa a função ou a interface. Este fato pode então ser reportado para o usuário via a interface com o usuário 114.
Como um exemplo, considere o seguinte. Assuma que o usuário está utilizando sua aplicação de navegador e uma função Alert() funciona de forma incorreta. Em resposta ao funcionamento incorreto, o registro de funcionamento incorreto é atualizado com as informa- ções que pertencem ao funcionamento incorreto, tal como o nome da função que funcionou incorretamente e onde ela funcionou incorretamente. Utilizando estas informações, o inspe- tor de registro de ocorrência 112 pode empregar o construtor de proteção 116 para construir uma proteção que automaticamente desativa a função Alert (). Em uma ou mais concretiza- ções, o construtor de proteção pode manter uma tabela de vulnerabilidade / abrandamento, tal como a apresentada na figura. Aqui, a tabela de vulnerabilidade / abrandamento inclui uma coluna que lista os descritores de vulnerabilidade e uma coluna que lista as funções de abrandamento. Os descritores de vulnerabilidade descrevem a função ou a interface particu- lar que é o sujeito da função de abrandamento. As funções de abrandamento descrevem as funções de abrandamento particulares que estão sendo empregadas. No exemplo acima, quando ocorre um funcionamento incorreto, o construtor de proteção coloca uma entrada na tabela de vulnerabilidade / abrandamento e adiciona “Alert ()” na coluna de descritor de vul- nerabilidade. Em adição, o construtor de vulnerabilidade adiciona “Desativar” na fileira cor- respondente na coluna de função de abrandamento. Isto diz para a aplicação - neste caso, o navegador do usuário - que a função Alert() foi desativada.
Em adição, em pelo menos algumas concretizações, este fato é reportado para o usuário via o componente de interface com o usuário 114. Utilizando a interface com o usuá- rio correspondente, o usuário pode efetivamente selecionar ativar novamente esta função. Por conseqüência, nesta concretização, a presença potencial de uma vulnerabilidade é de- tectada e a função ou interface correspondente é seletivamente desativada, assim impedin- do futuras explorações de falha.
A Fig. 2 é um fluxograma que descreve as etapas em um método de acordo com uma concretização. O método pode ser implementado em conexão com qualquer hardware, software, firmware ou combinação adequada dos mesmos. Em uma ou mais concretizações, o método pode ser implementado em conexão com um sistema, tal como o sistema apre- sentado e descrito na Fog. 1. Outros sistemas podem ser utilizados sem se afastar do espíri- to e do escopo do assunto reivindicado.
A etapa 200 detecta um funcionamento incorreto local do programa. Exemplos de como pode ser feito isto, são dados abaixo. A etapa 202 inspeciona um registro de ocorrên- cia de funcionamento incorreto para verificar as circunstâncias envolvendo o funcionamento incorreto. A etapa 204 desativa uma função ou interface que foi o sujeito do funcionamento incorreto. Exemplos de como pode ser feito são proporcionados acima. A etapa 206 notifica um usuário sobre a função ou interface desativada.
AVD/R Remoto
Em uma ou mais concretizações, as informações associadas com um funcionamen- to incorreto do programa podem ser utilizadas remotamente. Especificamente, quando ocor- re um funcionamento incorreto, estas informações podem ser remotamente reportadas para análise adicional. Tal análise pode incluir, a título de exemplo e não de limitação, analisar a fonte do funcionamento incorreto e vários parâmetros associados, bem como avaliar tais funcionamentos incorretos através de vários usuários para verificar se existe um padrão as- sociado com o funcionamento incorreto. Se for detectada uma vulnerabilidade, uma prote- ção correspondente pode ser construído e proporcionado para os usuário para proteção contra explorações de falha que buscam explorar a vulnerabilidade.
Como um exemplo, considere a Fig. 3. Lá, é ilustrado um sistema de acordo com uma concretização, geralmente designado por 300. O sistema 300 inclui um dispositivo de computação 302 possuindo um ou mais processadores 304, um ou mais meios legíveis por computador 306 e uma ou mais aplicações 308 que residem no meio legível por computador e que são executáveis pelos processadores. Em adição, o dispositivo de computação 302 inclui um componente AVD/R remoto 310 que, neste exemplo, é implementado em software.
Apesar do dispositivo de computação 302 ser ilustrado na forma de um computa- dor de mesa, é para ser apreciado e entendido que outros dispositivos de computação po- dem ser utilizados sem se afastar do espírito e do escopo do assunto reivindicado. Por e- xemplo, outros dispositivos de computação podem incluir, a título de exemplo e não de limi- tação, computadores portáteis, computadores de mão tal como assistentes pessoais digitais (PDAs)1 telefones celulares e assim por diante.
Neste exemplo, o componente AVD/R remoto 310 inclui um inspetor de registro de ocorrência 312, um componente de interface com o usuário 314 e um componente de repor- tagem de funcionamento incorreto 316. Em operação, quando um programa no dispositivo de computação local funciona incorretamente, as informações associadas com o funciona- mento incorreto são informadas para o registro de ocorrência de funcionamento incorreto, como descrito acima. O inspetor de registro de ocorrência 312 do componente AVD/R remo- to 310 pode monitorar funcionamentos incorretos e, quando ocorre um funcionamento incor- reto, pode automaticamente inspecionar o registro de funcionamento incorreto em relação às informações associadas com o funcionamento incorreto. Isto pode incluir verificar qual função ou interface está associada com o funcionamento incorreto. Uma vez que o inspetor de registro de ocorrência tenha verificado a causa do funcionamento incorreto, o componen- te AVD/R remoto pode, via a interface com o usuário 314, perguntar ao usuário se o usuário deseja reportar o funcionamento incorreto para um servidor remoto para análise adicional. Se o usuário escolher reportar a informação de funcionamento incorreto, a informação é agregada e analisada pelo servidor. Em pelo menos algumas concretizações, a análise da informação de funcionamento incorreto pode incluir empregar peritos humanos para analisar e verificar se quaisquer explorações de falha foram empregadas.
Em um caso onde a análise do registro(s) de funcionamento incorreto indicar que uma vulnerabilidade foi explorada, uma ou mais proteções, tal como estas descritas acima, podem ser desenvolvidas e empregadas, como por serem transferidas e aplicadas local- mente. Em uma ou mais concretizações, a interface com o usuário 314 pode proporcionar ao usuário uma opção para reativar a função ou interface que foi ou é desativada.
A Fig. 4 é um fluxograma que descreve as etapas em um método de acordo com uma concretização. O método pode ser implementado em conexão com qualquer hardware, software, firmware ou combinação adequada dos mesmos. Em uma ou mais concretizações, o método pode ser implementado em conexão com um sistema, tal como o sistema apre- sentado e descrito na Fig. 3. Outros sistemas podem ser utilizados sem se afastar do espíri- to e do escopo do assunto reivindicado.
A etapa 400 detecta um funcionamento incorreto do programa local. Exemplos de como pode ser feito isto são dados abaixo. A etapa 402 inspeciona um registro de funcio- namento incorreto para verificar as circunstâncias envolvendo o funcionamento incorreto. A etapa 404 consulta um usuário para verificar se o funcionamento incorreto pode ser relata- do. A etapa 406 reporta o funcionamento incorreto para um servidor remoto no caso de o usuário ter dado autorização. A etapa 408 recebe e implementa uma proteção que efetiva- mente desativa uma função ou interface que foi o sujeito do funcionamento incorreto. A pro- teção pode ser recebida pela transferência da mesma através de uma rede, tal como a In- ternet. Como parte desta etapa, a interface com o usuário pode ser utilizada para fornecer ao usuário uma opção de desativar a função ou a interface, ou para reativar a função ou interface. Exemplos de como pode ser feito isto são proporcionados acima.
Utilizando tanto AVD/R Local como Remoto
Em uma ou mais concretizações, as informações associadas com um funcionamen- to incorreto de programa podem ser utilizadas localmente ou de forma remota. Especifica- mente, quando ocorre um funcionamento incorreto, esta informação pode ser utilizada de forma local para desativar a função ou interface afetada pela aplicação de uma proteção. Em adição, esta informação pode ser utilizada de forma remota para conduzir a análise co- mo descrita acima. Tal análise pode incluir, a título de exemplo e não de limitação, analisar a 5 fonte do funcionamento incorreto e vários parâmetros associados, bem como avaliar tais funcionamentos incorretos através de vários usuários para verificar se existe um padrão as- sociado com o funcionamento incorreto. Se uma vulnerabilidade for detectada, uma prote- ção correspondente pode ser construída e proporcionada para os usuários para proteção contra quaisquer explorações de falha que buscam explorar a vulnerabilidade.
Como um exemplo, considere a Fig. 5. Lá, é ilustrado um sistema de acordo com
uma concretização, geralmente designado por 500. O sistema 500 inclui um dispositivo de computação 502 possuindo um ou mais processadores 504, um ou mais meios legíveis por computador 506 e uma ou mais aplicações 508 que residem no meio legível por computador e que são executáveis pelos processadores. Em adição, o dispositivo de computação 502 15 inclui um componente AVD/R local / remoto 510 que, neste exemplo, é implementado em software.
Apesar do dispositivo de computação 502 ser ilustrado na forma de um computador de mesa, é para ser apreciado e entendido que outros dispositivos de computação podem ser utilizados sem se afastar do espírito e do escopo do assunto reivindicado. Por exemplo, 20 outros dispositivos de computação podem incluir, a título de exemplo e não de limitação, computadores portáteis, computadores de mão tal como assistentes pessoais digitais (PDAs), telefones celulares e assim por diante.
Neste exemplo, o componente AVD/R local / remoto 510 inclui um inspetor de regis- tro de ocorrência 512, um componente de interface com o usuário 514, um componente rela- tor 516 e um construtor de proteção 518. Em operação, quando um programa no dispositivo de computação local funciona incorretamente, as informações associadas com o funciona- mento incorreto são informadas para um registro de funcionamento incorreto, como descrito acima. O inspetor de registro de ocorrência 512 do componente AVD/R local / remoto 510 pode monitorar funcionamentos incorretos e, quando ocorre um funcionamento incorreto, pode automaticamente inspecionar o registro de ocorrência de funcionamento incorreto em relação à informação associada com o funcionamento incorreto. Isto pode incluir verificar qual função ou interface está associada com o funcionamento incorreto. Uma vez que o ins- petor de registro de ocorrência tenha verificado a causa do funcionamento incorreto, o com- ponente AVD/R local / remoto pode aplicar uma proteção de forma local, como descrito aci- ma, para desativar a função ou interface que está associada com o funcionamento incorreto. Isto também pode ser reportado para o usuário via o componente de interface com o usuário 514 que também pode permitir ao usuário reativar a função ou interface que foi desativada. Em adição, em uma ou mais concretizações, o componente AVD/R local / remoto pode, através da interface com o usuário 514, perguntar ao usuário se o usuário deseja re- portar o funcionamento incorreto para um servidor remoto para análise adicional. Se o usuá- rio escolher reportar a informação de funcionamento incorreto, a informação é agregada e analisada pelo servidor. Em pelo menos algumas concretizações, a análise da informação de funcionamento incorreto pode incluir empregar peritos humanos para analisar e verificar se quaisquer explorações de falha foram empregadas.
Em um caso no qual a análise do registro(s) de ocorrência de funcionamento incor- reto indicar que uma vulnerabilidade foi explorada, uma ou mais proteções, tal como estas descritas acima, podem ser desenvolvidas e empregadas, como por serem transferidas e aplicadas em uma máquina local. Em uma ou mais concretizações, a interface com o usuá- rio 514 pode proporcionar para o usuário uma opção de reativar a função ou a interface que foi ou está desativada.
A Fig. 6 é um fluxograma que descreve as etapas em um método de acordo com uma concretização. O método pode ser implementado em conexão com qualquer hardware, software, firmware ou combinação adequada dos mesmos. Em uma ou mais concretizações, o método pode ser implementado em conexão com um sistema, tal como o sistema apre- sentado e descrito na Fig. 6. Outros sistemas podem ser utilizados sem se afastar do espíri- to e do escopo do assunto reivindicado.
A etapa 600 detecta um funcionamento incorreto do programa local e a etapa 602 pergunta ao usuário se aprova o relato do funcionamento incorreto para um servidor remoto. Se a aprovação do usuário for concedida, na etapa 604, então a etapa 606 verifica a causa do funcionamento incorreto, reporta o funcionamento incorreto para o servidor remoto e veri- fica quaisquer soluções que possam estar disponíveis para o funcionamento incorreto. Por reportar o funcionamento incorreto para o servidor remoto, a análise do funcionamento in- correto e em relação a quaisquer padrões associados através de vários usuário, pode ser conduzida. A análise pode incluir tanto a análise automática, a análise por máquina e a aná- lise humana. A etapa 608 então transfere e aplica quaisquer proteções relevantes localmen- te e a etapa 610 notifica o usuário.
Se, por outro lado, a aprovação não for concedida na etapa 604, a etapa 612 identi- fica a função ou a interface funcionando incorretamente e a etapa 614 determina a elegibili- dade da proteção. Se a etapa 616 determinar que existe uma proteção local elegível para endereçar o problema, a etapa 618 aplica a proteção como descrito acima e a etapa 620 notifica o usuário. Se, por outro lado, não existir proteção elegível, a etapa 620 notifica o usuário.
As concretizações descritas acima podem ser implementadas em conexão com qualquer aplicação adequada, e podem compreender parte da aplicação, ou um componen- te separado que é utilizado pela aplicação. Por exemplo, em uma ou mais concretizações, a funcionalidade descrita acima pode ser implementada como parte de um navegador da rede, como uma aplicação de troca instantânea de mensagens ou como qualquer outra aplicação adequada ou componente de software ou sistema. Por exemplo, a funcionalidade pode ser implementada como parte de um sistema operacional.
Em uma ou mais concretizações, um ou mais assim chamados, serviços de reputa- ção, podem ser empregados para adicionalmente acentuar a segurança. Especificamente, um serviço de reputação ou serviço de terceira parte pode amplamente monitorar as explo- rações de falha de segurança e reportar qualquer vulnerabilidades percebidas ou reais para 10 as autoridades apropriadas. Por exemplo, um serviço de reputação pode detectar que existe uma vulnerabilidade de segurança associada com uma função particular associada com uma página da Rede particular. Uma vez detectada, o serviço de reputação pode então re- portar a vulnerabilidade para a companhia apropriada, tal como a Microsoft, e / ou causar que proteções sejam seletivamente transferidas ou de outro modo feitas disponíveis para 15 vários usuário para endereçar a vulnerabilidade percebida.
Conclusão
Várias concretizações detectam vulnerabilidades de segurança e em resposta, po- dem modificar um programa afetado de modo que mesmo se uma exploração de falha for executada, a integridade do programa pode ser mantida. Em pelo menos algumas concreti- 20 zações, um componente de detecção automática local de vulnerabilidade e de resposta (AVD/R) funciona na máquina local de um usuário para detectar e abrandar vulnerabilidades potenciais através do uso de uma proteção; e, um componente de detecção automática de vulnerabilidade e de resposta (AVD/R) executa para executar as vulnerabilidades percebi- das de modo que uma ou mais proteções possam ser distribuídas e aplicadas de forma local 25 para abrandar as vulnerabilidades percebidas.
Apesar de a invenção ter sido descrita em linguagem específica para os aspectos estruturais e / ou para as etapas metodológicas, é para ser entendido que a invenção defini- da nas reivindicações anexas não está necessariamente limitada aos aspectos específicos ou às etapas descritas. Ao invés disso, os aspectos específicos e as etapas são revelados como formas preferidas de implementar a invenção reivindicada.
Claims (20)
1. Método implementado por computador, CARACTERIZADO por compreender: Detectar uma funcionamento incorreto de um programa local; e Em resposta à dita detecção, desativar uma função ou interface que foi um sujeito do funcionamento incorreto do programa.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmen- te compreender após a dita detecção e antes da dita desativação, inspecionar um registro de ocorrência de funcionamento incorreto para verificar a função ou interface associada com o funcionamento incorreto do programa.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmen- te compreender notificar um usuário que uma função ou interface foi desativada.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o ato de desativação é executado pela construção e pela aplicação de uma proteção.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a proteção proporciona uma solução automática em tempo de execução.
6. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que os atos de construção e de aplicação são executados pela utilização de uma tabela de vul- nerabilidade / abrandamento que associa as vulnerabilidades e as funções de abrandamen- to.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que os ditos atos de detecção e de desativação são executados por um navegador da Rede.
8. Um ou mais meios legíveis por computador, CARACTERIZADOS por possuírem instruções legíveis por computador que, quando executadas, implementam o método de acordo com a reivindicação 1.
9. Sistema de computador, CARACTERIZADO por incorporar o um ou mais meios legíveis por computador, de acordo com a reivindicação 8.
10. Método implementado por comutador, CARACTERIZADO por compreender: detectar um funcionamento incorreto de um programa local; em resposta à dita detecção, consultar um usuário para verificar se o funcionamen- to incorreto do programa pode ser reportado; reportar o funcionamento incorreto do programa local; e em reposta ao dito relato, receber e aplicar uma proteção efetiva para desativar uma função ou interface que foi o sujeito do funcionamento incorreto do programa.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO por adicional- mente compreender notificar a um usuário que uma função ou interface foi desativada.
12. Método, de acordo com a reivindicação 10, CARACTERIZADO por adicional- mente compreender proporcionar para o usuário, via uma interface com o usuário, uma op- ção de reativar a função ou a interface que foi desativada.
13. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o ato de aplicação é executado pela utilização de uma tabela de vulnerabilidade / abranda- mento que associa as vulnerabilidade e as funções de abrandamento.
14. Método, de acordo com a reivindicação 10, CARACTERIZADO por adicional- mente compreender, em resposta à dita detecção, inspecionar um registro de ocorrência de funcionamento incorreto para verificar a função ou a interface associada com o funciona- mento incorreto do programa.
15. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que os ditos atos de detecção, dé consulta, de reportagem, de recebimento e de aplicação são executados por um navegador da Rede.
16. Um ou mais meios legíveis por computador, CARACTERIZADOS por possuí- rem instruções legíveis por computador nos mesmos, as quais, quando executadas, imple- mentam o método de acordo com a reivindicação 10.
17. Sistema de computação, CARACTERIZADO por incorporar o um ou mais mei- os legíveis por computador de acordo com a reivindicação 16.
18. Método implementado por computador, CARACTERIZADO por compreender: detectar um funcionamento incorreto de programa local; solicitar a um usuário aprovação para relato do funcionamento incorreto para um servidor remoto; se a aprovação do usuário for concedida: reportar o funcionamento incorreto para o servidor remoto; em resposta ao dito relato, transferir uma ou mais proteções configuradas para desativar uma função ou interface associada com o funcionamento incorreto; aplicar a uma ou mais proteções para desativar a função ou interface; se a aprovação do usuário não for concedida, desativar uma função ou interface que foi um sujeito do funcionamento incorreto do programa.
19. Método, de acordo com a reivindicação 18, CARACTERIZADO por adicional- mente compreender proporcionar para o usuário, via uma interface com o usuário, uma op- ção de reativar a função ou interface que foi desativada.
20. Método, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que os atos de detectar e solicitar são executados por um navegador da rede.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/618,470 US8453245B2 (en) | 2006-12-29 | 2006-12-29 | Automatic vulnerability detection and response |
US11/618.470 | 2006-12-29 | ||
PCT/US2007/089221 WO2008083382A1 (en) | 2006-12-29 | 2007-12-31 | Automatic vulnerability detection and response |
Publications (1)
Publication Number | Publication Date |
---|---|
BRPI0720666A2 true BRPI0720666A2 (pt) | 2014-01-14 |
Family
ID=39586025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0720666-6A BRPI0720666A2 (pt) | 2006-12-29 | 2007-12-31 | Detecção automática de vulnerabilidade e resposta |
Country Status (10)
Country | Link |
---|---|
US (1) | US8453245B2 (pt) |
EP (1) | EP2118802A4 (pt) |
JP (1) | JP2010515177A (pt) |
KR (1) | KR20090117705A (pt) |
CN (1) | CN101573712A (pt) |
AU (1) | AU2007341952B2 (pt) |
BR (1) | BRPI0720666A2 (pt) |
MX (1) | MX2009007064A (pt) |
RU (1) | RU2462754C2 (pt) |
WO (1) | WO2008083382A1 (pt) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8453245B2 (en) | 2006-12-29 | 2013-05-28 | Microsoft Corporation | Automatic vulnerability detection and response |
US8627475B2 (en) * | 2010-04-08 | 2014-01-07 | Microsoft Corporation | Early detection of potential malware |
US20120311715A1 (en) * | 2011-05-30 | 2012-12-06 | Yaron Tal | System and method for protecting a website from hacking attacks |
CN103595708B (zh) * | 2013-10-22 | 2017-08-25 | 北京奇虎科技有限公司 | 浏览器异常关闭的处理方法、系统、浏览器和服务器 |
CN106453509B (zh) * | 2013-10-22 | 2019-06-04 | 北京奇虎科技有限公司 | 浏览器异常关闭的处理方法、系统、浏览器和服务器 |
US10445505B2 (en) | 2014-09-22 | 2019-10-15 | Mcafee, Llc | Process vulnerability assessment |
US10089473B2 (en) | 2014-12-24 | 2018-10-02 | Sap Se | Software nomenclature system for security vulnerability management |
KR101619691B1 (ko) | 2015-01-22 | 2016-05-10 | 주식회사 엔씨소프트 | 프로그램 오류 분석 방법 및 시스템 |
US10176329B2 (en) * | 2015-08-11 | 2019-01-08 | Symantec Corporation | Systems and methods for detecting unknown vulnerabilities in computing processes |
EP3588423B1 (en) * | 2017-02-24 | 2023-12-13 | Fuji Corporation | Failure information sharing system |
CN110096873A (zh) | 2018-01-31 | 2019-08-06 | 开利公司 | 通过补丁变换的自动诱饵推导 |
US11886390B2 (en) | 2019-04-30 | 2024-01-30 | JFrog Ltd. | Data file partition and replication |
US11386233B2 (en) | 2019-04-30 | 2022-07-12 | JFrog, Ltd. | Data bundle generation and deployment |
US11340894B2 (en) | 2019-04-30 | 2022-05-24 | JFrog, Ltd. | Data file partition and replication |
WO2021014326A2 (en) | 2019-07-19 | 2021-01-28 | JFrog Ltd. | Software release verification |
US11307920B2 (en) | 2019-11-26 | 2022-04-19 | Disney Enterprises, Inc. | Automated crash recovery |
RU2739831C1 (ru) * | 2019-11-27 | 2020-12-28 | Акционерное общество "Лаборатория Касперского" | Способ устранения неполадки, возникшей при работе приложения |
RU2739867C1 (ru) * | 2019-11-27 | 2020-12-29 | Акционерное общество "Лаборатория Касперского" | Способ определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения |
US11860680B2 (en) | 2020-11-24 | 2024-01-02 | JFrog Ltd. | Software pipeline and release validation |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2693019B2 (ja) | 1990-05-30 | 1997-12-17 | 株式会社東芝 | プログラマブル・コントローラのプログラム監視装置 |
US6874084B1 (en) | 2000-05-02 | 2005-03-29 | International Business Machines Corporation | Method and apparatus for establishing a secure communication connection between a java application and secure server |
US6629267B1 (en) * | 2000-05-15 | 2003-09-30 | Microsoft Corporation | Method and system for reporting a program failure |
US6675295B1 (en) * | 2000-06-19 | 2004-01-06 | Microsoft Corporation | Method and computer system for detecting and correcting a failure in a computer application program during startup |
US6708333B1 (en) | 2000-06-23 | 2004-03-16 | Microsoft Corporation | Method and system for reporting failures of a program module in a corporate environment |
US20020124172A1 (en) | 2001-03-05 | 2002-09-05 | Brian Manahan | Method and apparatus for signing and validating web pages |
JP2002264455A (ja) * | 2001-03-07 | 2002-09-18 | Canon Inc | 画像形成装置および画像形成装置管理装置および画像形成装置の制御方法および画像形成装置管理装置の制御方法および記憶媒体 |
US7313822B2 (en) | 2001-03-16 | 2007-12-25 | Protegrity Corporation | Application-layer security method and system |
US7096362B2 (en) | 2001-06-01 | 2006-08-22 | International Business Machines Corporation | Internet authentication with multiple independent certificate authorities |
US7231659B2 (en) | 2001-07-31 | 2007-06-12 | Verisign, Inc. | Entity authentication in a shared hosting computer network environment |
US7562222B2 (en) | 2002-05-10 | 2009-07-14 | Rsa Security Inc. | System and method for authenticating entities to users |
KR100777938B1 (ko) | 2003-09-04 | 2007-11-21 | 싸이언스 파크 가부시키가이샤 | 부정 코드 실행의 방지 방법, 및 부정 코드 실행의 방지용 프로그램의 기록매체 |
US7437764B1 (en) * | 2003-11-14 | 2008-10-14 | Symantec Corporation | Vulnerability assessment of disk images |
RU2261470C1 (ru) * | 2004-03-01 | 2005-09-27 | Федеральное государственное унитарное предприятие "Научно-производственное предприятие "Полет" | Устройство программного управления |
US7413085B2 (en) | 2004-09-07 | 2008-08-19 | Iconix, Inc. | Techniques for displaying emails listed in an email inbox |
JP2006094046A (ja) * | 2004-09-22 | 2006-04-06 | Fuji Xerox Co Ltd | 複合機および複合機の管理システム |
JP4688472B2 (ja) | 2004-11-01 | 2011-05-25 | 株式会社エヌ・ティ・ティ・ドコモ | 端末制御装置及び端末制御方法 |
US7979889B2 (en) | 2005-01-07 | 2011-07-12 | Cisco Technology, Inc. | Methods and apparatus providing security to computer systems and networks |
US20060185018A1 (en) | 2005-02-17 | 2006-08-17 | Microsoft Corporation | Systems and methods for shielding an identified vulnerability |
US7743254B2 (en) | 2005-03-23 | 2010-06-22 | Microsoft Corporation | Visualization of trust in an address bar |
US7735136B2 (en) * | 2005-04-18 | 2010-06-08 | Vmware, Inc. | 0-touch and 1-touch techniques for improving the availability of computer programs under protection without compromising security |
US8453245B2 (en) | 2006-12-29 | 2013-05-28 | Microsoft Corporation | Automatic vulnerability detection and response |
-
2006
- 2006-12-29 US US11/618,470 patent/US8453245B2/en not_active Expired - Fee Related
-
2007
- 2007-12-31 EP EP07870139A patent/EP2118802A4/en not_active Ceased
- 2007-12-31 AU AU2007341952A patent/AU2007341952B2/en not_active Ceased
- 2007-12-31 CN CNA2007800486253A patent/CN101573712A/zh active Pending
- 2007-12-31 WO PCT/US2007/089221 patent/WO2008083382A1/en active Application Filing
- 2007-12-31 BR BRPI0720666-6A patent/BRPI0720666A2/pt not_active IP Right Cessation
- 2007-12-31 KR KR1020097015518A patent/KR20090117705A/ko not_active IP Right Cessation
- 2007-12-31 MX MX2009007064A patent/MX2009007064A/es not_active Application Discontinuation
- 2007-12-31 RU RU2009129132/08A patent/RU2462754C2/ru not_active IP Right Cessation
- 2007-12-31 JP JP2009544323A patent/JP2010515177A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2008083382A1 (en) | 2008-07-10 |
EP2118802A1 (en) | 2009-11-18 |
KR20090117705A (ko) | 2009-11-12 |
US20080163374A1 (en) | 2008-07-03 |
RU2462754C2 (ru) | 2012-09-27 |
JP2010515177A (ja) | 2010-05-06 |
AU2007341952A1 (en) | 2008-07-10 |
US8453245B2 (en) | 2013-05-28 |
AU2007341952B2 (en) | 2011-10-13 |
RU2009129132A (ru) | 2011-02-10 |
MX2009007064A (es) | 2009-07-09 |
CN101573712A (zh) | 2009-11-04 |
EP2118802A4 (en) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0720666A2 (pt) | Detecção automática de vulnerabilidade e resposta | |
US8701187B2 (en) | Runtime integrity chain verification | |
US9218254B2 (en) | Systems, methods, and media for recovering an application from a fault or attack | |
US8566944B2 (en) | Malware investigation by analyzing computer memory | |
US9063836B2 (en) | Methods and apparatus to protect segments of memory | |
Chen et al. | Safestack: Automatically patching stack-based buffer overflow vulnerabilities | |
US9146833B2 (en) | System and method for correct execution of software based on a variance between baseline and real time information | |
US8146150B2 (en) | Security management in multi-node, multi-processor platforms | |
Lin et al. | AutoPaG: towards automated software patch generation with source code root cause identification and repair | |
JP5965076B2 (ja) | 訂正不能メモリエラー処理方法及びその可読媒体 | |
JP6370098B2 (ja) | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 | |
US20070266435A1 (en) | System and method for intrusion detection in a computer system | |
WO2017133442A1 (zh) | 一种实时度量方法及装置 | |
US20170344746A1 (en) | Utilizing likely invariants for runtime protection of web services | |
US20090144828A1 (en) | Rapid signatures for protecting vulnerable browser configurations | |
JPH09171460A (ja) | 計算機の診断システム | |
US9003236B2 (en) | System and method for correct execution of software based on baseline and real time information | |
Rimsa et al. | Efficient static checker for tainted variable attacks | |
EP3765965B1 (en) | Static software analysis tool approach to determining breachable common weakness enumerations violations | |
US20230118160A1 (en) | Apparatus, Device, Method, and Computer Program for Monitoring a Processing Device from a Trusted Domain | |
Bogdanas | Dperm: Assisting the migration of android apps to runtime permissions | |
Tröger et al. | WAP: What activates a bug? A refinement of the Laprie terminology model | |
Sultan et al. | Nonintrusive remote healing using backdoors | |
Rigger et al. | Context-aware failure-oblivious computing as a means of preventing buffer overflows | |
Dharsee et al. | A software solution for hardware vulnerabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 7A ANUIDADE. |
|
B08K | Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette] |
Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2286 DE 29/10/2014. |