BR112013030584B1 - Sistema e método para preservar referências em caixas de areia, e mídia de armazenamento não transitório legível por computador - Google Patents

Sistema e método para preservar referências em caixas de areia, e mídia de armazenamento não transitório legível por computador Download PDF

Info

Publication number
BR112013030584B1
BR112013030584B1 BR112013030584-3A BR112013030584A BR112013030584B1 BR 112013030584 B1 BR112013030584 B1 BR 112013030584B1 BR 112013030584 A BR112013030584 A BR 112013030584A BR 112013030584 B1 BR112013030584 B1 BR 112013030584B1
Authority
BR
Brazil
Prior art keywords
references
list
document
sandbox
resources
Prior art date
Application number
BR112013030584-3A
Other languages
English (en)
Other versions
BR112013030584A2 (pt
Inventor
Ivan Krstic
Pierre-Olivier J. Marte
Original Assignee
Apple Inc.
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
Application filed by Apple Inc. filed Critical Apple Inc.
Publication of BR112013030584A2 publication Critical patent/BR112013030584A2/pt
Publication of BR112013030584B1 publication Critical patent/BR112013030584B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

sistema e método para preservar referências em sandboxes. a presente invenção refere-se a sistemas, a métodos e a mídias de armazenamento não transitório legíveis por computador para preservar referências em sandboxes. um sistema implementando o método recebe um documento para uso em um ambiente de sandbox e passa o documento para um analisador, por meio de um coordenador. o analisador descobre referências no documento para outros recursos e produz uma lista de referências. o sistema passa a lista de referências para um verificador que verifica cada referência e produz uma lista de referências verificadas. o sistema passa a lista de referências verificadas para a aplicação dentro de sandbox que estende a sandbox para incluir os recursos na lista de referências verificadas. em uma modalidade, o sistema preserva referências em sandboxes sem o uso de um coordenador.

Description

REFERÊNCIA CRUZADA AO(S) PEDIDO(S) RELACIONADO(S)
[0001] Este pedido reivindica prioridade para o pedido de Patente U.S. No. Serial 13/153.274, intitulado, "SYSTEM AND METHOD FOR PRESERVING REFERENCES IN SANDBOXES", depositado em 3 de junho de 2011, o qual está incorporado a este documento pela referência na sua totalidade.
Antecedentes 1. Campo Técnico
[0002] A presente invenção refere-se à segurança de computador e mais especificamente a preservar referências em documentos para uso em um ambiente de caixa de areia.
2. Introdução
[0003] Segurança de computador é um aspecto crítico do mundo da computação. Muitas indústrias diferentes, incluindo as indústrias de comunicação, entretenimento, transporte, financeiras e médicas, contam com computadores. Segurança de computador envolve proteger estes sistemas de computação vitais ao impedir e detectar ataques a computador. Agressores causam danos aos sistemas de computação em modos diferentes tais como roubar senhas, emitir negação de ataques a serviços e distribuir software mal intencionado tal como vírus e worms.
[0004] Proteger sistemas de computação contra agressores é uma tarefa desafiadora e que muda sempre. Existe um conjunto de métodos de proteger sistemas de computação, de exigir que usuários mudem senhas frequentemente a empregar algoritmos criptográficos complexos em um sistema de computação. Um método para proteger um sistema de computação é a caixa de areia , um programa de computador para proteger um sistema de computação contra um programa potencialmente mal intencionado. Uma caixa de areia é um mecanismo utilizado para separar um programa de computador executando de outros programas e/ou recursos de computação. Alguns sistemas de computação seguros executam programas não confiáveis, ou programas distribuídos por partes não confiáveis, em caixas de areia. Restrições de caixa de areia limitam os recursos que um programa de computador pode acessar. Um exemplo de um ambiente de caixa de areia é um miniaplicativo que executa em uma máquina virtual ou interpretador, tal como o Adobe® Flash® ou o Microsoft® Silverlight®.
[0005] Documentos armazenados em formatos de troca tais como o Formato de Documento Portátil (PDF) ou Apple® Quicktime® podem conter referências embutidas para outros arquivos. Quando um sistema de computação não confia em um arquivo como este, ele pode colocar em caixa de areia a aplicação que acessa o arquivo não confiável. Quando estes documentos são abertos com uma aplicação dentro de caixa de areia, a aplicação é incapaz de seguir as referências para outros arquivos por causa das restrições colocadas na aplicação dentro de caixa de areia pelo sistema de computação. A inacessibilidade de referências para outros documentos em uma aplicação dentro de caixa de areia pode ser frustrante para usuários. Usuários inexperientes podem simplesmente desistir e ter uma impressão ruim da plataforma de computação, enquanto que usuários mais experimentados ou propensos tecnicamente podem tentar contornar a caixa de areia, causando assim inadvertidamente uma vulnerabilidade de segurança potencialmente séria. Usuários que desejam informação adicional de referências incluídas em um documento não têm nenhum modo para acessar estas referências em uma aplicação dentro de caixa de areia.
SUMÁRIO
[0006] Recursos e vantagens adicionais da revelação serão expostos na descrição que se segue, e em parte estarão óbvios a partir da descrição, ou poderão ser aprendidos pela prática dos princípios revelados neste documento. Os recursos e vantagens da revelação podem ser concretizados e obtidos por meio dos instrumentos e combinações salientados particularmente nas concretizações anexas. Estes e outros recursos da revelação se tornarão mais inteiramente aparentes a partir da descrição a seguir e das concretizações anexas, ou podem ser aprendidos pela prática dos princípios expostos neste documento.
[0007] São revelados sistemas, métodos e mídias legíveis de armazenamento não transitório por computador para preservar referências em caixas de areia. Um sistema praticando o método recebe um documento, tal como um PDF, para uso em um ambiente de caixa de areia. O sistema passa o documento para um coordenador que então passa o documento para um analisador. O analisador identifica referências no documento para outros recursos e retorna uma lista de referências para o coordenador. O coordenador passa então a lista de referências para um verificador e opcionalmente passa outros parâmetros indicando o tipo de documento original, uma segurança desejada e/ou nível de confiança para manusear a lista de referências, uma conta de usuário e assim por diante. O verificador verifica cada recurso associado com cada referência e retorna a lista de referências verificadas para o coordenador. O verificador pode verificar referências quando o formato de arquivo de referência é de um tipo esperado e/ou o sistema de computação se comporta tal como esperado quando o arquivo é aberto. O verificador pode verificar outros atributos de recursos ligados pela lista de referências. Por exemplo, o verificador pode confirmar se os recursos foram assinalados de forma apropriada, uma soma de verificação do recurso, atributo de arquivos do recurso e/ou outras características que possam indicar que o recurso é confiável, esperado e/ou autêntico. O verificador passa a lista de referências verificadas de volta para o coordenador que então passa a lista de referências verificadas para a aplicação. A aplicação pode então modificar o ambiente de caixa de areia com base na lista de referências verificadas para produzir um ambiente de caixa de areia modificada que inclui as referências verificadas além do documento original, ou que fornece acesso aos recursos indicados pelas referências verificadas.
[0008] Em uma modalidade, o sistema passa o documento diretamente para o analisador, sem utilizar um coordenador. O analisador descobre referências no documento para outros recursos e produz uma lista de referências. O sistema passa a lista de referências diretamente para o verificador, sem utilizar um coordenador. O verificador verifica cada recurso associado com cada referência e produz uma lista de referências verificadas. O verificador passa a lista de referências verificadas diretamente para a aplicação, a qual estende então o ambiente de caixa de areia para incluir as referências verificadas além do documento original. Nesta modalidade, um coordenador não é utilizado; em vez disto a aplicação se comunica diretamente com o analisador e com o verificador. Embora potencialmente menos segura, esta abordagem modificada para preservar referências em caixas de areia é mais simples que a abordagem original, ela pode ser vantajosa para propósitos de implementação.
BREVE DESCRIÇÃO DOS DESENHOS
[0009] A fim de descrever o modo no qual os relatados anteriormente e outras vantagens e recursos da revelação podem ser obtidos, uma descrição mais particular dos princípios descritos anteriormente de forma resumida será apresentada com referência às modalidades específicas dos mesmos que estão ilustradas nos desenhos anexos. Entendendo que estes desenhos representam somente modalidades exemplares da revelação e, portanto, que não são para serem considerados como sendo limitantes de seu escopo, os princípios neste documento são descritos e explicados com especificidade e detalhes adicionais por meio do uso dos desenhos anexos, nos quais: a FIG. 1 ilustra uma modalidade de sistema de exemplo; a FIG. 2 ilustra uma primeira modalidade de sistema de serviços confiáveis de exemplo incluindo um coordenador; a FIG. 3 ilustra um ambiente de caixa de areia não modificado de exemplo para visualizar um documento com referências embutidas; a FIG. 4 ilustra um ambiente de caixa de areia modificada de exemplo para visualizar um documento com referências embutidas; a FIG. 5 ilustra uma modalidade de método de preservação de referências; a FIG. 6 ilustra uma arquitetura de sistema de exemplo para analisar e verificar referências em um documento para uso em um ambiente de caixa de areia; a FIG. 7 ilustra um ambiente de caixa de areia de exemplo; a FIG. 8 ilustra um ambiente de caixa de areia modificada de exemplo mostrando referências verificadas e não verificadas; e a FIG. 9 ilustra uma segundo modalidade de sistema de serviços confiáveis de exemplo sem um coordenador.
DESCRIÇÃO DETALHADA
[00010] Várias modalidades da revelação são discutidas detalhadamente a seguir. Embora implementações específicas sejam discutidas, deve ser entendido que isto é feito somente para propósitos de ilustração. Os versados na técnica reconhecerão que outros componentes e outras configurações podem ser usados sem divergir do espírito e escopo da revelação.
[00011] A presente revelação aborda a necessidade na técnica para preservar referências em caixas de areia. Um sistema, método e mídias legíveis por computador não transitórias são revelados que preservam referências em documentos para uso em um ambiente de caixa de areia. Uma descrição introdutória resumida de um sistema ou dispositivo de computação de uso geral básico na FIG. 1 que pode ser empregado para praticar os conceitos é revelada neste documento. Uma descrição mais detalhada de preservar referências em caixas de areia será dada então em seguida. A revelação retorna agora para a FIG. 1.
[00012] Com referência à FIG. 1, um sistema exemplar 100 inclui um dispositivo de computação de uso geral 100, incluindo uma unidade de processamento (CPU ou processador) 120 e um sistema de barramento 110 que acopla vários componentes de sistema incluindo a memória de sistema 130, tal como memória somente de leitura (ROM) 140 e a memória de acesso aleatório (RAM) 150, ao processador 120. O sistema 100 pode incluir um cache 122 de memória de alta velocidade conectado diretamente, em proximidade imediata ou integrado como parte do processador 120. O sistema 100 copia dados da memória 130 e/ou do dispositivo de armazenamento 160 para o cache 122 para acesso rápido pelo processador 120. Deste modo, o cache fornece uma intensificação de desempenho que evita que o processador 120 atrase enquanto esperando por dados. Estes e outros módulos podem controlar ou ser configurados para controlar o processador 120 para executar várias ações. A outra memória de sistema 130 também pode ficar disponível para uso. A memória 130 pode incluir múltiplos tipos diferentes de memórias com diferentes características de desempenho. Pode ser percebido que a revelação pode operar em um dispositivo de computação 100 com mais de um processador 120 ou em um grupo ou agrupamento de dispositivos de computação em rede conjuntamente para fornecer maior capacidade de processamento. O processador 120 pode incluir qualquer processador de uso geral e um módulo de hardware ou módulo de software, tal como o módulo 1 162, o módulo 2 164 e o módulo 3 166 armazenados no dispositivo de armazenamento 160, configurados para controlar o processador 120 assim como um processador de uso especial onde instruções de software estão incorporadas ao projeto processador real. O processador 120 essencialmente pode ser um sistema de computação completamente autocontido, contendo múltiplos núcleos ou processadores, um barramento, controlador de memória, cache, etc. Um processador de múltiplos núcleos pode ser simétrico ou assimétrico.
[00013] O sistema de barramento 110 pode ser qualquer um de diversos tipos de estruturas de barramento incluindo um barramento de memória ou controlador de memória, um barramento periférico e um barramento local usando qualquer uma de uma variedade de arquiteturas de barramento. Um sistema de entrada/saída básico (BIOS) armazenado na ROM 140 ou coisa parecida pode fornecer a rotina básica que ajuda a transferir informação entre elementos dentro do dispositivo de computação 100, tal como durante partida. O dispositivo de computação 100 inclui adicionalmente os dispositivos de armazenamento 160 tais como uma unidade de disco rígido, uma unidade de disco magnético, uma unidade de disco ótico, unidade de fita ou coisa parecida. O dispositivo de armazenamento 160 pode incluir os módulos de software 162, 164, 166 para controlar o processador 120. Outro hardware ou módulos de software são considerados. O dispositivo de armazenamento 160 é conectado ao sistema de barramento 110 por meio de uma interface de unidade. As unidades e as mídias de armazenamento legíveis por computador associadas fornecem armazenamento não volátil de instruções legíveis por computador, estruturas de dados, módulos de programa e outros dados para o dispositivo de computação 100. Em um aspecto, um módulo de hardware que executa uma função particular inclui o componente de software armazenado em uma mídia legível por computador não transitória em conexão com os componentes de hardware necessários, tais como o processador 120, o barramento 110, o mostrador 170 e assim por diante, para executar a função. Os componentes básicos são conhecidos para os versados na técnica e variações apropriadas são consideradas dependendo do tipo de dispositivo, tal como se o dispositivo 100 é um dispositivo de computação portátil pequeno, um computador de mesa ou um computador servidor.
[00014] Embora a modalidade exemplar descrita neste documento empregue o disco rígido 160, deve ser percebido pelos versados na técnica que outros tipos de mídias legíveis por computador que possam armazenar dados que sejam acessíveis por um computador, tais como cassetes magnéticos, cartões de memória flash, discos versáteis digitais, cartuchos, as memórias de acesso aleatório (RAMs) 150, a memória somente de leitura (ROM) 140, um sinal de cabo ou sem fio contendo um fluxo de bits e outros mais, também podem ser usados no ambiente de operação exemplar. Mídias de armazenamento não transitório legíveis por computador excluem expressamente mídias tais como energia, sinais de portadora, ondas eletromagnéticas e sinais por si mesmos.
[00015] Para capacitar a interação de usuário com o dispositivo de computação 100, um dispositivo de entrada 190 representa qualquer número de mecanismos de entrada, tais como um microfone para fala, uma tela sensível ao toque para entrada por gestos ou gráfica, teclado, mouse, entrada por movimento, fala e assim por diante. Um dispositivo de saída 170 também pode ser um ou mais de diversos mecanismos de saída conhecidos para os versados na técnica. Em algumas instâncias, sistemas multimodais capacitam um usuário para fornecer múltiplos tipos de entradas para se comunicar com o dispositivo de computação 100. A interface de comunicações 180 de uma maneira geral governa e gerencia a entrada de usuário e saída de sistema. Não existe restrição para operar em qualquer disposição de hardware particular e, portanto, aqui as características básicas podem ser facilmente substituídas por arranjos de hardware ou de firmware aperfeiçoados à medida que eles sejam desenvolvidos.
[00016] Para clareza de explicação, a modalidade de sistema ilustrativa é apresentada como incluindo blocos funcionais individuais incluindo blocos funcionais rotulados tais como um "processador" ou o processador 120. As funções que estes blocos representam podem ser fornecidas por meio do uso de hardware compartilhado ou dedicado, incluindo, mas não limitado a isto, hardware capaz de executar software e hardware, tal como um processador 120, que é construído com propósito para operar como um equivalente a software executando em um processador de uso geral. Por exemplo, as funções de um ou mais processadores apresentados na FIG. 1 podem ser fornecidas por um único processador compartilhado ou por múltiplos processadores (uso do termo "processador" não deve ser interpretado para se referir exclusivamente a hardware capaz de executar software). Modalidades ilustrativas podem incluir microprocessador e/ou hardware de processador de sinal digital (DSP), a memória somente de leitura (ROM) 140 para armazenar software executando as operações discutidas a seguir, e a memória de acesso aleatório (RAM) 150 para armazenar resultados. Modalidades de hardware de integração de escala muito grande (VLSI), assim como conjunto de circuitos VLSI personalizado em combinação com um circuito DSP de uso geral, também podem ser fornecidas.
[00017] As operações lógicas das várias modalidades são implementadas como: (1) uma sequência de etapas, operações ou procedimentos implementados por computador executando em um circuito programável dentro de um computador de uso geral, (2) uma sequência de etapas, operações ou procedimentos implementados por computador executando em um circuito programável de uso específico; e/ou (3) módulos de máquina ou mecanismos de programa interligados dentro dos circuitos programáveis. O sistema 100 mostrado na FIG. 1 pode praticar todos ou parte dos métodos relatados, pode ser uma parte dos sistemas relatados e/ou pode operar de acordo com instruções nas mídias de armazenamento não transitório legíveis por computador relatadas. Tais operações lógicas podem ser implementadas como módulos configurados para controlar o processador 120 para executar funções particulares de acordo com a programação do módulo. Por exemplo, a FIG. 1 ilustra os três módulos 1, 2 e 3, 162, 164 e 166 respectivamente, que são módulos configurados para controlar o processador 120. Estes módulos podem ser armazenados no dispositivo de armazenamento 160 e carregados na RAM 150 ou na memória 130 no tempo de execução ou podem ser armazenados em outras localizações de memórias legíveis por computador tal como é conhecido na técnica.
[00018] Tendo revelado alguns componentes de um sistema de computação, a revelação retorna agora para uma discussão de manusear referências em um documento em um ambiente de caixa de areia. A FIG. 2 ilustra um trio de serviços confiáveis para preservar referências em uma caixa de areia. O trio de serviços confiáveis são um coordenador 202 que coordena o processo de preservação de referências, um analisador 204 que analisa um documento contendo referências embutidas para outros recursos e um verificador 206 que verifica cada referência embutida para outros recursos. O coordenador, analisador e verificador são considerados confiáveis e cada um opera dentro de sua própria caixa de areia individual, a qual restringe os recursos que cada serviço pode acessar. Documentos armazenados em formatos de troca tais como PDF ou formato de filme Quicktime podem conter referências embutidas para outros recursos, em que referências são caminhos de arquivo. Quando documentos tais como estes são abertos em uma aplicação dentro de caixa de areia, o sistema não pode seguir as referências por causa de a caixa de areia não permitir acesso ao recurso referenciado que está fora do ambiente de caixa de areia. Quando referências embutidas estão internas ao documento, a aplicação dentro de caixa de areia tem acesso ao recurso, porque a referência é interna. Recursos internos não exigem uma extensão de caixa de areia, assim o analisador pode ignorá-los exatamente e/ou o verificador pode saltá-los. Entretanto, no caso improvável em que um documento contém um vínculo apontando para si mesmo, o sistema opcionalmente pode estender a caixa de areia para esse vínculo igualmente. O processo de preservação de referências descrito neste documento permite que uma aplicação dentro de caixa de areia tenha acesso às referências verificadas.
[00019] A FIG. 3 ilustra um documento armazenando referências que está aberto em uma aplicação restringida para um ambiente de caixa de areia inicial e a FIG. 4 ilustra o documento aberto em uma aplicação restringida para um ambiente de caixa de areia modificada. A aplicação 302 não pode acessar os recursos 304 que estão externos ao ambiente de caixa de areia, por causa de o sistema de computação ter colocado restrições para a aplicação na caixa de areia. Entretanto, as referências internas 310 são tratadas diferentemente, porque elas não exigem acesso a um recurso externo não verificado. Após os serviços confiáveis executarem o processo de preservar referências no documento, a aplicação modifica ou estende o ambiente de caixa de areia de tal maneira que a caixa de areia inclui os recursos verificados pelos serviços confiáveis. Um usuário acessando um documento 406 em um ambiente de caixa de areia modificada tem acesso ao arquivo 1, arquivo 2 e arquivo 3 das referências verificadas 408. O sistema pode executar o processo de preservação de referências com referências para recursos localmente ou por meio de uma conexão de rede, tais como referências para recursos na Internet.
[00020] A FIG. 5 ilustra uma modalidade de método exemplar. Para efeito de clareza, o método é discutido em termos de um sistema exemplar 100 tal como mostrado na FIG. 1 configurado para praticar o método. As etapas delineadas neste documento são exemplares e podem ser implementadas em qualquer combinação das mesmas, incluindo combinações que excluem, adicionam ou modificam certas etapas. Um sistema 100 praticando o método recebe um documento para uso em um ambiente de caixa de areia 502, passa o documento para um analisador que descobre referências no documento para produzir uma lista de referências 504, e passa a lista de referências para um verificador que verifica as referências para produzir uma lista de referências verificadas 506. Então o sistema 100 pode modificar o ambiente de caixa de areia com base na lista de referências verificadas 508. Um documento pode ser qualquer arquivo ou múltiplos arquivos de computador que contenham referências para outros recursos, tais como documentos PDF e Quicktime, mas não limitados a estes formatos específicos. Um documento exigindo um ambiente de caixa de areia pode ser um documento proveniente de uma fonte não confiável ou um documento que possivelmente tenha sido violado, ou um sistema pode exigir que todos os documentos sejam submetidos ao processo de preservação de referências. O sistema pode colocar todos os documentos de um tipo específico em um ambiente de caixa de areia. Aplicação específica ou configurações de sistema de operação podem influenciar a decisão de usar uma caixa de areia ao acessar um arquivo. O arquivo propriamente dito pode incluir uma sinalização ou etiqueta indicando se esse arquivo deve ser usado em uma caixa de areia ou não. Referências para outros recursos em um documento podem ser referências para outros arquivos de computador, ou referências para outros arquivos ou recursos dentro do documento. Os recursos podem estar no mesmo formato do documento original, ou em um formato diferente. Por exemplo, um documento original no formato PDF pode conter referências para outros arquivos PDF, ou qualquer outro formato de arquivo especificado por um usuário, aplicação, coordenador ou verificador tal como Excel ou Word. O sistema 100 pode exigir que documentos armazenando o formato de arquivo Quicktime, por exemplo, somente possam acessar outros formatos de vídeo tais como AVI.
[00021] A FIG. 6 ilustra preservar referências em uma caixa de areia. Uma aplicação 602 envia o documento para um coordenador 604, o qual coordena a verificação de referências para recursos. O coordenador 604 passa o documento para um analisador 606 que descobre referências no documento para outros recursos para produzir uma lista de referências 504. O analisador 606 pode operar dentro de sua própria caixa de areia para propósitos de segurança, de maneira que o analisador não tem acesso a quaisquer outros recursos a não ser o documento ou à parte do documento que passou pelo coordenador. O analisador 606 analisa o documento para descobrir referências para outros arquivos e produz uma lista de referências descobertas no documento. Por exemplo, o analisador 606 pode analisar HTML para vínculos para documentos ou imagens, pode analisar XML para etiquetas ou dados específicos, ou pode analisar Formato de Documento Portátil (PDF) para referências para outros recursos. O analisador 606 envia a lista de referências de volta para o coordenador 604 que então envia a lista de referências para o verificador 608 para verificação das referências listadas enviadas pelo analisador 506.
[00022] O verificador também pode operar na sua própria caixa de areia, de maneira que abrir um arquivo de computador potencialmente mal intencionado ou prejudicial não prejudica o sistema de computação. Executar o analisador e/ou o verificador nos seus próprios ambientes de caixa de areia pode proteger o resto do sistema de computação se um recurso contiver uma ameaça ou for inseguro de outro modo. Em um ambiente de caixa de areia, um vírus pode circular entre áreas livremente, mas o sistema não permite qualquer ação fora da caixa de areia, protegendo assim o resto do sistema.
[00023] O verificador 608 abre cada recurso, ou arquivo, na lista de referências e compara comportamento de sistema real com comportamento de sistema esperado. O verificador também pode verificar se um arquivo é um tipo de arquivo esperado. Por exemplo, o sistema 100 pode exigir que todas as referências na lista de referências para um documento particular sejam arquivos PDF. O verificador pode verificar se todas as referências na lista são arquivos PDF ao verificar a extensão de nome de arquivo e/ou abrir o arquivo. O verificador pode receber parâmetros e/ou instruções do coordenador 604 com relação a quais aspectos das referências devem ser verificados, como verificar as referências e quais tolerâncias (se alguma) deve aplicar ao verificar as referências. Por exemplo, o verificador pode observar o comportamento de sistema quando cada recurso é aberto, e pode comparar esse comportamento com comportamento de sistema esperado. O verificador não verificará uma referência que não executar tal como esperado, tal como travar um programa. Em uma variação, o verificador simplesmente verifica se um arquivo existe em um caminho particular indicado pela referência. Uma vez que o verificador complete a verificação da lista de referências, ele envia uma lista de referências verificadas de volta para o coordenador 604, o qual envia então a lista de referências verificadas de volta para a aplicação 602. A aplicação estende a caixa de areia original para o documento com base na lista de referências verificadas 508, criando um ambiente de caixa de areia modificada. O ambiente de caixa de areia modificada inclui e/ou fornece acesso aos recursos associados com a lista de referências verificadas pelo verificador.
[00024] A FIG. 7 ilustra um arquivo exemplar aberto com uma aplicação dentro de caixa de areia. O sistema abre o arquivo condições_meteorológicas.pdf com uma aplicação dentro da caixa de areia 702. O arquivo de condições meteorológicas contém referências embutidas para tornados.pdf 704, temporal.docx 706, tsunami_advertência.pdf 708 e temperatura.xlsx 710. O ambiente de caixa de areia não permite que a aplicação acesse as referências embutidas, o que pode criar frustração para o usuário tentando acessar as referências embutidas. Permitir acesso às referências em uma aplicação dentro de caixa de areia pode ser benéfico para usuários que desejam informação adicional além daquela que o documento fornece.
[00025] A FIG. 8 ilustra um sistema após extrair, analisar e verificar referências no documento e estender o ambiente de caixa de areia. A aplicação envia o arquivo condições_meteorológicas.pdf para o coordenador, o qual envia então o arquivo para o analisador. O analisador abre o arquivo em um ambiente de caixa de areia e descobre as referências embutidas para recursos, neste exemplo os arquivos tornados.pdf 704, temporal.docx 706, tsunami_advertência.pdf 708 e temperatura.xlsx 710. O analisador gera uma lista das referências embutidas para estes arquivos e envia a lista de referências para o coordenador. O coordenador envia a lista de referências para o verificador 608 que opera em seu próprio ambiente de caixa de areia. O verificador pode verificar se o formato de arquivo de cada arquivo é do formato esperado e/ou pode executar medidas de verificação adicionais. Por exemplo, se o sistema exigir que o verificador verifique somente arquivos PDF para um documento particular, ele verifica se cada arquivo está no formato PDF. O verificador pode receber instruções para verificar somente arquivos PDF, ou para verificar arquivos PDF e Microsoft Word, por exemplo. Neste exemplo, o sistema exige que o verificador verifique somente arquivos PDF. O verificador também pode abrir cada arquivo na lista de referências e observar comportamento de sistema. Se o sistema se comportar tal como esperado e o formato de arquivo for do tipo esperado, o verificador pode verificar o arquivo. O verificador envia uma lista de referências verificadas para o coordenador, neste caso a lista de referências verificadas são os arquivos tornados.pdf 804 e tsunami_advertência.pdf 808. Os arquivos temporal.docx 806 e temperatura.xlsx 810 não estão incluídos na lista de referências verificadas porque eles não são do tipo de arquivo esperado, neste exemplo, PDF. O coordenador envia a lista de referências verificadas para a aplicação. A aplicação estende a caixa de areia 712 para criar uma caixa de areia modificada 812 que inclui as referências verificadas tornados.pdf 804 e tsunami_advertência.pdf 808. Os arquivos temporal.docx 806 e temperatura.xlsx 810 não estão permitidos dentro da caixa de areia modificada porque eles não foram incluídos na lista de referências verificadas enviada para o coordenador pelo verificador. A aplicação 802 dentro da caixa de areia modificada 812 agora tem acesso às referências verificadas tornados.pdf 804 e tsunami_advertência.pdf 808.
[00026] A partir de uma perspectiva do usuário, clicar em um vínculo em condições_meteorológicas.pdf para tornados.pdf 804 ou para tsunami_advertência.pdf 808 seria transparente. O usuário pode clicar em vínculos para esses arquivos e o sistema pode abri-los porque esses recursos estão dentro da caixa de areia modificada 812. Entretanto, se o usuário clicar em um vínculo para temporal.docx 806 ou para temperatura.xlsx 810, o sistema pode negar a solicitação para abrir esse recurso. Por exemplo, o sistema pode simplesmente ignorar solicitações para acessar recursos fora da caixa de areia. Alternativamente, o sistema pode apresentar uma mensagem de erro para o usuário indicando que os recursos desejados estão inacessíveis. O sistema pode apresentar uma mensagem para o usuário indicando a causa de o recurso desejado estar inacessível, possivelmente com base em um código ou mensagem retornada pelo verificador. Adicionalmente, o sistema pode apresentar esta e/ou outra informação para o usuário e orientar o usuário se deve ou não estender o ambiente de caixa de areia modificada para fornecer acesso ao recurso inacessível.
[00027] Em um aspecto, como parte de estender ou modificar o ambiente de caixa de areia para incluir outros recursos referenciados no documento, o sistema pode salvar uma cópia de segurança temporária dos outros recursos que não estejam acessíveis na caixa de areia modificada. Deste modo, mesmo se código mal intencionado executar de algum modo no ambiente de caixa de areia modificada e mudar os recursos, o sistema pode reverter para a cópia de segurança temporária.
[00028] Em uma outra modalidade, o sistema 100 preserva referências em caixas de areia sem o uso de um coordenador, tal como mostrado na FIG. 9. A aplicação 902 em um ambiente de caixa de areia envia todo ou parte de um documento tendo referências embutidas para o analisador 904. O analisador 904 descobre referências no documento e produz uma lista de referências. O analisador 904 envia a lista de referências diretamente para o verificador 906. O verificador 906 verifica pelo menos uma referência na lista de referências e gera uma lista de referências verificadas. A lista de referências verificadas pode incluir zero, uma ou mais referências. O verificador 906 envia a lista de referências verificadas para a aplicação 902, a qual estende então a caixa de areia para criar um ambiente de caixa de areia modificada se pelo menos uma referência verificada estiver incluída na lista. O ambiente de caixa de areia é estendido para incluir as referências verificadas. Com o custo de segurança, esta abordagem modificada para preservar referências em caixas de areia é um esquema mais simples e potencialmente mais fácil de implementar que não exige o uso de um coordenador. O coordenador é o único processo que realmente não toca nos recursos. O coordenador não analisa o documento, nem tenta inspecionar os recursos externos. Portanto, o coordenador é um processo que é improvável de ser o alvo de explorações. Assim, o coordenador pode executar algumas verificações extras que podem ou não estar relacionadas com segurança com um risco diminuído de explorações ou de outros ataques.
[00029] Em um aspecto relacionado com a experiência de usuário e/ou desempenho percebido, ao processar um documento para uso em uma caixa de areia, o sistema pode inicialmente carregar o documento em uma caixa de areia não modificada antes de analisar ou verificar referências de maneira que o usuário possa carregar rapidamente o documento para visualização. Então, enquanto o usuário está visualizando o documento, o sistema pode analisar e verificar referências no documento no plano de fundo e expandir o ambiente de caixa de areia com base nas referências analisadas e verificadas. Isto dá ao usuário percepção de que o documento é carregado rapidamente, embora fornecendo acesso atrasado aos recursos indicados pelas referências. O sistema pode analisar e verificar referências no plano de fundo em um modo por lote ou em uma referência de cada vez. Por exemplo, em um modo por lote, o sistema analisa todas as referências do documento, verifica todas as referências e estende então o ambiente de caixa de areia desta maneira. Alternativamente, assim que o sistema analisa uma referência, o verificador pode então verificar essa referência, e o sistema pode estender o ambiente de caixa de areia para essa única referência, enquanto o analisador continua a pesquisar para outras referências. Em ambos os casos, o ambiente de caixa de areia é carregado para visualizar o documento primeiro, então o ambiente de caixa de areia é expandido ou modificado de outro modo no plano de fundo após carregar o documento e enquanto o usuário é capaz de navegar, visualizar ou acessar de outro modo o documento.
[00030] Modalidades dentro do escopo da presente revelação também podem incluir mídias de armazenamento legíveis por computador tangíveis e/ou não transitórias para carregar ou ter instruções ou estruturas de dados executáveis por computador armazenadas nas mesmas. Tais mídias de armazenamento não transitório legíveis por computador podem ser quaisquer mídias disponíveis que possam ser acessadas por um computador de uso geral ou de uso especial, incluindo o projeto funcional de qualquer processador de uso especial tal como discutido anteriormente. A título de exemplo, e não de limitação, tais mídias legíveis por computador não transitórias podem incluir RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco ótico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outra mídia que possa ser usada para carregar ou armazenar recursos de códigos de programa desejados na forma de instruções executáveis por computador, estruturas de dados ou projeto de chip de processador. Quando informação é transferida ou fornecida por meio de uma rede ou de uma outra conexão de comunicações (conectada fisicamente, sem fio ou combinação das mesmas) para um computador, o computador visualiza de forma apropriada a conexão como uma mídia legível por computador. Assim, qualquer tal conexão é denominada de forma apropriada como mídia legível por computador. Combinações das indicadas acima também devem ser incluídas no escopo das mídias legíveis por computador.
[00031] Instruções executáveis por computador incluem, por exemplo, instruções e dados que fazem com que um computador de uso geral, computador de uso especial ou dispositivo de processamento de uso especial execute uma certa função ou grupo de funções. Instruções executáveis por computador também incluem módulos de programa que são executados por computadores em ambientes autônomos ou de rede. De uma maneira geral, módulos de programa incluem rotinas, programas, componentes, estruturas de dados, objetos e as funções inerentes ao projeto de processadores de uso especial, etc. que executam tarefas particulares ou implementam tipos de dados abstratos particulares. Instruções executáveis por computador, estruturas de dados associadas e módulos de programa representam exemplos dos recursos de códigos de programa para executar etapas dos métodos revelados neste documento. A sequência particular de tais instruções executáveis ou de estruturas de dados associadas representa exemplos de procedimentos correspondentes para implementar as funções descritas em tais etapas.
[00032] Os versados na técnica compreenderão que outras modalidades da revelação podem ser praticadas em ambientes de computação de rede com muitos tipos de configurações de sistema de computador, incluindo computadores pessoais, dispositivos de mão, sistemas de múltiplos processadores, aparelhos eletrônicos de consumidor baseados em microprocessador ou programáveis, PCs de rede, minicomputadores, computadores de grande porte e outros mais. Modalidades também podem ser praticadas em ambientes de computação distribuída onde tarefas são executadas por dispositivos de processamento locais e remotos que são ligados (por vínculos conectados fisicamente, enlaces sem fio ou por uma combinação dos mesmos) por meio de uma rede de comunicações. Em um ambiente de computação distribuída, módulos de programa podem ser localizados em dispositivos de armazenamento de memória tanto locais quanto remotos.
[00033] As várias modalidades descritas anteriormente são fornecidas somente a título de ilustração e não devem ser interpretadas para limitar o escopo da revelação. Por exemplo, os princípios neste documento podem se aplicar a qualquer aplicação que utilize o método de caixa de areia para proteger um sistema de computação. Os versados na técnica perceberão prontamente várias modificações e mudanças que podem ser feitas para os princípios descritos neste documento sem seguir as modalidades de exemplo e aplicações ilustradas e descritas neste documento, e sem divergir do espírito e escopo da revelação.

Claims (15)

1. Método, caracterizado pelo fato de que compreende as etapas de: receber, por meio de um processador (120) de um dispositivo de computação (100), um documento (302) interno a um ambiente de caixa de areia (300) para uso por uma aplicação (301) executando no ambiente de caixa de areia (300); passar o documento (302) para um analisador (204, 606) que descobre referências no documento (302) para recursos (304) externos ao ambiente de caixa de areia (300) para produzir uma lista de referências; passar a lista das referências para um verificador (206, 608) que verifica quais recursos (304) associados com as referências na lista das referências satisfazem critérios de caixa de areia predeterminados para produzir uma lista de referências verificadas; e estender o ambiente de caixa de areia (300) para a aplicação (301) para incluir os recursos (408) associados com lista de referências verificadas como recursos internos ao ambiente de caixa de areia (300) para produzir um ambiente de caixa de areia estendida (400) para a aplicação (301).
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreendendo a etapa de carregar o documento (302) no ambiente de caixa de areia estendida (400) com base na lista de referências verificadas.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o ambiente de caixa de areia estendida (400) fornece para a aplicação (301) acesso aos recursos (408) associados com a lista de referências verificadas.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que o ambiente de caixa de areia (300) fornece para a aplicação (301) acesso para operar dentro de um conjunto restringido predefinido de recursos de computação.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o conjunto restringido predefinido de recursos de computação compreende a lista de referências.
6. Sistema, caracterizado pelo fato de que compreende: um processador (120); uma mídia de armazenamento não transitório legível por computador (130) armazenando instruções para controlar o processador (120) para executar etapas compreendendo: receber (502), de um coordenador (202), uma lista de referências para recursos (304) externos ao ambiente de caixa de areia (300), em que a lista de referências foi extraída de um documento (302) interno ao ambiente de caixa de areia (300) para uso por uma aplicação (301) no ambiente de caixa de areia (300); verificar (504) quais recursos (304) indicados pelas referências na lista de referências satisfazem critérios de caixa de areia predeterminados para produzir uma lista de referências verificadas; e estender (508) o ambiente de caixa de areia (300) para a aplicação (301) para incluir os recursos (408) indicados pela lista de referências verificadas como recursos internos ao ambiente de caixa de areia estendida (400).
7. Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que verificar (504) os recursos (304) compreende comparar um formato de recurso real com formato de recurso esperado especificado pelos critérios de caixa de areia predeterminados.
8. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de que o formato de recurso esperado combina com um formato do documento (302).
9. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de que o formato de recurso esperado é diferente de um formato do documento (302).
10. Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que verificar (504) o respectivo recurso (304) compreende abrir o respectivo recurso (304) e comparar comportamento de sistema real com comportamento de sistema esperado.
11. Mídia de armazenamento não transitório legível por computador caracterizado pelo fato de que armazena instruções que, quando executadas por um dispositivo de computação (100), fazem com que o dispositivo de computação (100) preserve referências em um ambiente de caixa de areia (300), as instruções compreendendo: passar (502) um documento (302) contendo referências para uso por uma aplicação (301) executada no ambiente de caixa de areia (300) para um coordenador (202), o documento (302) interno ao ambiente de caixa de areia (300); passar (504) o documento (302) para um analisador, por meio do coordenador (202), em que o analisador descobre referências no documento (302) para recursos (304) externos ao ambiente de caixa de areia (300) para produzir uma lista de referências; passar (506) a lista de referências para um verificador (206), por meio do coordenador (202), em que o verificador (206) verifica quais recursos (304) apontados pelas referências na lista de referências satisfazem critérios de caixa de areia predeterminados para produzir uma lista de referências verificadas; e estender o ambiente de caixa de areia (300) para a aplicação (301) para incluir os recursos (304) apontados pela lista de referências verificadas como recursos (408) internos ao ambiente de caixa de areia estendida (400).
12. Mídia de armazenamento não transitório legível por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que o analisador opera em um ambiente de caixa de areia (300) individual.
13. Mídia de armazenamento não transitório legível por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que o ambiente de caixa de areia (300) individual permite que o analisador acesse somente o documento (302).
14. Mídia de armazenamento não transitório legível por computador, de acordo com qualquer uma das reivindicações 11 a 13, caracterizado pelo fato de que o verificador (206) opera em um ambiente de caixa de areia (300) individual.
15. Mídia de armazenamento não transitório legível por computador, de acordo com a reivindicação 14, caracterizado pelo fato de que o ambiente de caixa de areia (300) individual permite que o verificador (206) acesse somente a lista de referências.
BR112013030584-3A 2011-06-03 2012-05-10 Sistema e método para preservar referências em caixas de areia, e mídia de armazenamento não transitório legível por computador BR112013030584B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/153,274 US8601579B2 (en) 2011-06-03 2011-06-03 System and method for preserving references in sandboxes
US13/153,274 2011-06-03
PCT/US2012/037400 WO2012166316A1 (en) 2011-06-03 2012-05-10 System and method for preserving references in sandboxes

Publications (2)

Publication Number Publication Date
BR112013030584A2 BR112013030584A2 (pt) 2016-09-27
BR112013030584B1 true BR112013030584B1 (pt) 2021-04-27

Family

ID=46177527

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013030584-3A BR112013030584B1 (pt) 2011-06-03 2012-05-10 Sistema e método para preservar referências em caixas de areia, e mídia de armazenamento não transitório legível por computador

Country Status (9)

Country Link
US (1) US8601579B2 (pt)
EP (1) EP2715589B1 (pt)
JP (1) JP5748905B2 (pt)
KR (1) KR101565230B1 (pt)
CN (1) CN103582888B (pt)
AU (1) AU2012262867B2 (pt)
BR (1) BR112013030584B1 (pt)
MX (1) MX2013013970A (pt)
WO (1) WO2012166316A1 (pt)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
ES2813367T3 (es) * 2013-12-09 2021-03-23 Sangamo Therapeutics Inc Métodos y composiciones para ingeniería genómica
KR102149679B1 (ko) 2014-02-13 2020-08-31 삼성전자주식회사 데이터 저장 장치, 그 동작 방법, 및 이를 포함하는 데이터 처리 시스템
US9766981B2 (en) 2014-06-10 2017-09-19 Institute For Information Industry Synchronization apparatus, method, and non-transitory computer readable storage medium
US20160071040A1 (en) 2014-09-05 2016-03-10 Openpeak Inc. Method and system for enabling data usage accounting through a relay
US9100390B1 (en) 2014-09-05 2015-08-04 Openpeak Inc. Method and system for enrolling and authenticating computing devices for data usage accounting
US8938547B1 (en) 2014-09-05 2015-01-20 Openpeak Inc. Method and system for data usage accounting in a computing device
US9350818B2 (en) 2014-09-05 2016-05-24 Openpeak Inc. Method and system for enabling data usage accounting for unreliable transport communication
US9232013B1 (en) 2014-09-05 2016-01-05 Openpeak Inc. Method and system for enabling data usage accounting
US9633200B2 (en) * 2014-09-26 2017-04-25 Oracle International Corporation Multidimensional sandboxing for financial planning
CN104967615B (zh) * 2015-06-03 2018-02-23 浪潮集团有限公司 一种安全sdn控制器及基于该控制器的网络安全方法
US20170060112A1 (en) * 2015-08-24 2017-03-02 Katrina Danielle PIRNER Control program for accessing browser data and for controlling appliance
CN105844151B (zh) * 2016-03-18 2020-01-21 山东华软金盾软件股份有限公司 一种文件存储保护实现方法和系统
US10162653B2 (en) 2016-03-31 2018-12-25 Vmware, Inc. Capturing components of an application using a sandboxed environment
CN107358095B (zh) 2016-05-10 2019-10-25 华为技术有限公司 一种威胁检测方法、装置及网络系统
US10700894B2 (en) 2016-06-01 2020-06-30 At&T Intellectual Property I, L.P. Network caching of outbound content from endpoint device to prevent unauthorized extraction
US11366789B2 (en) * 2017-06-29 2022-06-21 Microsoft Technology Licensing, Llc Content access
US11914700B2 (en) * 2017-08-22 2024-02-27 Google Llc Reducing remote procedure calls for multimedia content delivery
JP2022530466A (ja) * 2019-04-24 2022-06-29 シアトル チルドレンズ ホスピタル ディー/ビー/エー シアトル チルドレンズ リサーチ インスティテュート ウィスコット・アルドリッチ症候群遺伝子ホーミングエンドヌクレアーゼバリアント、組成物、および使用方法
US10788957B1 (en) * 2019-08-22 2020-09-29 Intel Corporation Web page designing with sandboxed custom editors
KR20230015956A (ko) * 2020-06-21 2023-01-31 애플 인크. 애플리케이션 특정 네트워크 데이터 필터링

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
US7444678B2 (en) * 2003-10-28 2008-10-28 Aol Llc Securing resources from untrusted scripts behind firewalls
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US7702692B2 (en) 2006-02-16 2010-04-20 Oracle International Corporation Method and apparatus for preventing unauthorized access to computer system resources
US20080016339A1 (en) 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
JP2009031952A (ja) * 2007-07-25 2009-02-12 Tokai Television Broadcasting Co Ltd 情報提供システムおよび情報提供方法
US8200522B2 (en) * 2007-10-26 2012-06-12 International Business Machines Corporation Repeatable and standardized approach for deployment of a portable SOA infrastructure within a client environment
US8326872B2 (en) 2008-02-22 2012-12-04 Microsoft Corporation Database sandbox
JP5225003B2 (ja) * 2008-10-01 2013-07-03 キヤノン株式会社 メモリ保護方法、情報処理装置、メモリ保護プログラム及びメモリ保護プログラムを記録した記録媒体
US8341738B2 (en) 2009-09-29 2012-12-25 Oracle America, Inc. API signature verification for high-security platforms
US9098719B2 (en) * 2011-02-03 2015-08-04 Apple Inc. Securing unrusted content for collaborative documents

Also Published As

Publication number Publication date
CN103582888B (zh) 2017-02-15
JP2014519120A (ja) 2014-08-07
US8601579B2 (en) 2013-12-03
BR112013030584A2 (pt) 2016-09-27
KR101565230B1 (ko) 2015-11-02
JP5748905B2 (ja) 2015-07-15
CN103582888A (zh) 2014-02-12
EP2715589A1 (en) 2014-04-09
KR20140016380A (ko) 2014-02-07
MX2013013970A (es) 2014-02-27
WO2012166316A1 (en) 2012-12-06
US20120311702A1 (en) 2012-12-06
EP2715589B1 (en) 2018-05-09
AU2012262867B2 (en) 2015-12-17

Similar Documents

Publication Publication Date Title
BR112013030584B1 (pt) Sistema e método para preservar referências em caixas de areia, e mídia de armazenamento não transitório legível por computador
US11244056B1 (en) Verification of trusted threat-aware visualization layer
AU2012262867A1 (en) System and method for preserving references in sandboxes
US10831886B2 (en) Virtual machine manager facilitated selective code integrity enforcement
JP6248153B2 (ja) 信頼レベルのアクティブ化
US10353831B2 (en) Trusted launch of secure enclaves in virtualized environments
US9680862B2 (en) Trusted threat-aware microvisor
US20170090929A1 (en) Hardware-assisted software verification and secure execution
US9111089B1 (en) Systems and methods for safely executing programs
US8271995B1 (en) System services for native code modules
Gadyatskaya et al. Security in the Firefox OS and Tizen mobile platforms
KR20220090537A (ko) 정책 적용을 위한 가상 환경 유형 검증
LeMay et al. Network-on-chip firewall: Countering defective and malicious system-on-chip hardware
Chang et al. Towards a multilayered permission‐based access control for extending Android security
US20220129542A1 (en) Deterministic trusted execution container through managed runtime language metadata
Cetola A Method for Comparative Analysis of Trusted Execution Environments
Xiangying et al. A dynamic trustworthiness attestation method based on dual kernel architecture
US20220100906A1 (en) Software library integrity verification mechanism
US20240007499A1 (en) Systems and methods for preventing malicious script attacks
Feng et al. Survey of research on confidential computing
Hiet Security at the Hardware/Software Interface
Zhang et al. DRSA: Debug Register-Based Self-relocating Attack Against Software-Based Remote Authentication
Kong et al. Design of Embedded Trust Root Based on Dual-Kernel Architecture
Zhang et al. Bypassing software-based remote attestation using debug registers
CN115858448A (zh) 一种多处理器计算设备及其可信链构建方法

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]
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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/05/2012, OBSERVADAS AS CONDICOES LEGAIS.