BRPI0923742B1 - servidor de porta de ligação com micronúcleo e processo de controle deste servidor - Google Patents
servidor de porta de ligação com micronúcleo e processo de controle deste servidor Download PDFInfo
- Publication number
- BRPI0923742B1 BRPI0923742B1 BRPI0923742-9A BRPI0923742A BRPI0923742B1 BR PI0923742 B1 BRPI0923742 B1 BR PI0923742B1 BR PI0923742 A BRPI0923742 A BR PI0923742A BR PI0923742 B1 BRPI0923742 B1 BR PI0923742B1
- Authority
- BR
- Brazil
- Prior art keywords
- level
- subsystem
- control
- server
- micronucleus
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2043—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
servidor de porta de ligação com micronúcleo. a presente invenção refere-se a um servidor de porta de ligação (27) munido de um primeiro subsistema que compreende um nível mídia (22), um nível (24) de comunicação e um nível (26) de controle, esse servidor (27) compreendendo também um micronúcleo (38) e um controlador de ipc (25) que gere comunicações entre os recursos do servidor atribuídos ao primeiro subsistema (22, 24, 26), caracterizado pelo fato de que ele compreende: um segundo subsistema (32, 34, 36), que compreende um segundo nível mídia (32), um segundo nível (34) de comunicação e um segundo nível (36) de controle tais como o micronúcleo (38) e o controlador de ipc (25) gere também comunicações entre os recursos do servidor atribuídos a esse segundo subsistema (22, 24, 26); e uma memória (29) partilhada em leitura e escrita, estabelecida sob controle do primeiro subsitema (22, 24 ,26) e o nível de controle do segundo subsistema (22, 24, 26).
Description
[0001] A presente invenção refere-se a um servidor de porta de ligação munido de um micronúcleo. Ela se refere também a um pro- cesso de transmissão de dados entre redes via um tal servidor de por- ta de ligação.
[0002] Os sistemas de exploração clássicos, tais como Microsoft Windows ou GNU/Linux, não foram projetados com grandes restrições de segurança. O resultado é uma concepção pouco segura sob a for- ma de um sistema de exploração que utiliza camadas operativas que podem ser representadas de acordo com diversos modelos, tal como o modelo OSI, do inglês "Open Systems Interconnection".
[0003] No âmbito de um servidor de porta de ligação 17 (figura 1), também denominado mandatário ou "proxy" em inglês, essa represen- tação pode ser simplesmente efetuada em três níveis: - um primeiro nível 16 de controle compreende um núcleo que gera as operações efetuadas pelas aplicações do sistema de ex- ploração, notadamente atribuindo para isso recursos a esses aplicati- vos e controlando as comunicações entre esses recursos. O núcleo é tipicamente um núcleo monolítico, mesmo se uma abordagem modular pode ser escolhida para gerir especialmente cada recurso oferecido pelo sistema de exploração.
[0004] Um tal núcleo monolítico inclui softwares de baixo nível, tais como o. planejador, o gestor de processos, o gestor de memória, as- sim como os programas de controle dos periféricos e alguns serviços de alto nível tais como os sistemas de arquivo e dos algoritmos cripto- gráficos ou de filtragem.
[0005] - Um segundo nível 14 de comunicação compreende os aplicativos de software, notadamente que forma as pilhas de protocolo exigidas para emitir ou receber dados via uma rede de telecomunica- ção que utiliza um protocolo de comunicação.
[0006] Em uma pilha de protocolos, cada camada resolve um certo número de problemas relativos à transmissão de dados, e fornece ser- viços bem- definidos às camadas superiores do primeiro nível 16. Es- sas camadas altas estão mais próximas do utilizador e geram dados mais abstratos, utilizando para isso os serviços das camadas baixas que conformam esses dados a fim de que eles possam ser emitidos em um meio físico.
[0007] - Um terceiro nível 12 mídia que efetua a interface do servi- dor 17 com uma rede exterior 10 ou 11. Esse nível 12 é tipicamente conforme ao protocolo Ethernet implementando uma camada física e uma subcamada lógica, a saber a camada Media Access Control (MAC) do modelo OSI.
[0008] Uma tal porta de ligação 17 pode ter uma função de filtra- gem destinada a assegurar a transmissão de dados 13 recebidos, por exemplo, de uma rede não segura 10 tal como a rede Internet com destino a uma rede sensível 11. Nesse caso, esses dados 13 são tra- tados:
[0009] - Pelo nível 12 Ethernet do servidor de porta de ligação 17 a fim de permitir o tratamento dos mesmos no servidor, e depois
[00010] - Pelo nível 14 de comunicação que compreende uma pilha de protocolos TCP/IP, para "Transmission Control Protocol" e "Internet Protocol" em inglês, a fim de gerar dados, transmitidos de acordo com protocolos de transporte, conforme a protocolos aplicativos, e depois finalmente
[00011] - Pelo nível 16 de controle que emprega serviços de filtra- gem de alto nível que permitem, por exemplo, decodificar os dados antes da transmissão dos mesmos à rede sensível 11.
[00012] A presente invenção resulta da constatação que um tal ser- vidor, e o processo exigido para sua utilização, apresentam inconveni- entes. Notadamente, eles apresentam fraquezas próprias à complexi- dade de um núcleo monolítico e à arquitetura de um sistema informáti- co que não permite uma verificação formal da vulnerabilidade de um servidor de porta de ligação.
[00013] Mais precisamente, nenhum mecanismo permite provar que os dados que vêm de 10 passam sucessivamente por todas as etapas da filtragem realizadas pelos níveis 12, 14 e 16. Assim, uma disfunção 15, voluntária ou acidental, pode se produzir em um desses níveis 12 ou 14 e chegar a um contornamento do nível 16 de controle.
[00014] É então possível ter acesso à rede 11 independentemente das regras de transmissão que devem ser aplicadas pelo nível 16 de controle, o que representa uma falha do servidor 17 dificilmente acei- tável.
[00015] Para responder a esse problema, a presente invenção se refere a um servidor de porta de ligação munido de um primeiro sub- sistema que compreende um nível mídia, um nível de comunicação e um nível de controle, esse servidor compreendendo também um mi- cronúcleo e um controlador de IPC que gere comunicações entre os recursos do servidor atribuídos ao primeiro subsistema, caracterizado pelo fato de que ele compreende: - um segundo subsistema, que compreende um segundo nível mídia, um segundo nível de comunicação e um segundo nível de controle tais como o micronúcleo e o controlador de IPC gere também comunicações entre os recursos do servidor atribuídos a esse segun- do subsistema, e - uma memória partilhada em leitura e escrita, estabelecida sob controle do micronúcleo e do controlador de IPC, entre o nível de controle do primeiro subsistema e o nível de controle do segundo sub- sistema.
[00016] Um tal servidor de porta de ligação responde ao problema da ausência das funções de controle de transmissões devidas a dis- funções provocadas ou acidentais, do nível mídia e/ou do nível comu- nicação de um servidor de porta de ligação.
[00017] De fato, uma tal disfunção não pode chegar à transmissão de dados entre redes em um servidor de acordo com a invenção, so- mente o nível de controle podendo transmitir dados entre essas redes via a memória partilhada.
[00018] Um tal servidor apresenta portanto numerosas vantagens. Por um lado, ele permite responder a um defeito de regras de segu- rança claramente estabelecidas na rede sensível visto que essas re- gras podem ser implementadas por seu nível de controle.
[00019] Ele permite também prevenir um ataque que emana de uma rede não sensível e que visa contornar o nível de segurança de um servidor de porta de ligação por contornamento de seu nível de controle.
[00020] Um servidor de acordo com a invenção permite assim pro- teger uma rede sensível de agressões externas, voluntárias ou não. Desse modo ele permite assegurar uma política de segurança entre redes de sensibilidades diferentes, por exemplo, entre uma rede não segura e uma rede sensível.
[00021] Em uma realização, cada subsistema compreende meios para codificar informações, recebidas em uma solicitação de acordo com um protocolo de comunicação rede, em uma estrutura binária de acordo com um protocolo de comunicação entre os níveis de controle do primeiro subsistema e do segundo subsistema.
[00022] Nesse caso, cada subsistema pode compreender meios para codificar as informações em uma estrutura binária depois de tra- tamento dessas últimas no nível de comunicação e depois no nível de controle desse subsistema.
[00023] De acordo com uma realização, o servidor compreende meios para identificar, em função da natureza da solicitação, dados característicos da solicitação que devem ser codificados na estrutura binária.
[00024] Em uma realização, o servidor compreende meios para as- sociar a solicitação recebida a uma solicitação predefinida em uma lis- ta limitada de solicitações autorizadas.
[00025] De acordo com uma realização, o micronúcleo compreende meios para associar cada aplicação executada por um subsistema ao controle de um recurso do servidor.
[00026] Em uma realização, o servidor compreende meios para limi- tar as comunicações de tal modo que nem o nível mídia nem o nível de comunicação de um subsistema possa se comunicar diretamente nem com o nível mídia nem com o nível de comunicação do outro sub- sistema sem o intermediário dos níveis de controle dos subsistemas.
[00027] De acordo com uma realização, o servidor compreende meios para analisar a sintaxe e a validade dos protocolos filtrados por cada camada utilizada no servidor.
[00028] A invenção também se refere a um processo de controle de um servidor de porta de ligação munido de um primeiro subsistema que compreende um nível mídia, um nível de comunicação e um nível de controle, esse servidor compreendendo também um micronúcleo e um controlador de IPC que gere comunicações entre os recursos do servidor atribuídos ao primeiro subsistema, caracterizado pelo fato de que, o servidor sendo também munido de um segundo subsistema, que compreende um segundo nível mídia, um segundo nível de comu- nicação e um segundo nível de controle tais como o micronúcleo e o controlador de IPC gere também comunicações entre os recursos do servidor atribuídos a esse segundo subsistema, é utilizada uma memó- ria partilhada em leitura e em escrita, estabelecida sob controle do mi- cronúcleo, para transmitir solicitações entre o nível de controle do pri- meiro subsistema e o nível de controle do segundo subsistema com o auxílio de um servidor de acordo com uma das realizações preceden- tes.
[00029] Finalmente, a invenção também se refere a um produto programa de computador que compreende instruções de código de programa registradas em um suporte legível por um computador para executar um processo de acordo com a invenção quando o dito pro- grama funciona em um computador.
[00030] A invenção será melhor compreendida com a leitura da descrição que se segue, dada unicamente a título ilustrativo e não limi- tativo, e feita em referência aos desenhos em anexo nos quais: - a figura 1, agora descrita, é uma vista esquemática do funcionamento de um servidor de porta de ligação de acordo com a técnica anterior; - a figura 2 é uma vista esquemática do funcionamento de um servidor de porta de ligação de acordo com a invenção, e - a figura 3 representa o tratamento de uma solicitação HTTP por um servidor de acordo com a invenção.
[00031] Com referência à figura 2, um servidor de porta de ligação 27 de acordo com a invenção compreende dois níveis mídia 22 e 32, dois níveis de comunicação 24 e 34 e dois níveis de controle 26 e 36.
[00032] No entanto, um único micronúcleo 38 é empregado para efetuar algumas funções de base entre as quais a gestão das comuni- cações entre os recursos do servidor, notadamente por transferência de mensagem IPC para "Inter Process Communication" em inglês.
[00033] Além dessa gestão, um micronúcleo de segunda geração compreende um programa de controle de relógio e umplanejador de tal modo que um tal micronúcleo compreende menos de 20 000 linhas de código.
[00034] Comparativamente, um núcleo monolítico compreende mi- lhões de linhas de código com um risco proporcional de ok bugs (er- ros) e de defeitos de segurança. Ele pode dificilmente ser verificado como de acordo com as especificações dos verificadores de códigos e dos sistemas de prova formal atuais.
[00035] Além disso, os núcleos monolíticos têm más propriedades de isolamento. De fato, os processos utilizador podem quebrar o iso- lamento de diferentes modos graças aos tubos, aos arquivos, à memó- ria partilhada, etc. A gestão das comunicações interprocessos não é confiável.
[00036] De fato, como precedentemente indicado, não existe isola- mento, na parte de dentro de um núcleo monolítico, entre subsistemas do núcleo como por exemplo entre os programas de controle e as pi- lhas rede. Assim, um programa de controle de um componente materi- al errado ou corrompido pode colocar em perigo todo o sistema.
[00037] A utilização de micronúcleos ditos de segunda geração re- solve o problema ligado a uma falha dentro do nível de controle. Esses micronúcleos têm um tamanho que permite mantê-los facilmente e ve- rificá-los formalmente a fim, por exemplo, de certificá-los a um nível elevado tal como o nível 7 do padrão internacional EAL para "Evalua- tion Assurance Level" em inglês.
[00038] A título de exemplo, os micronúcleos de segunda geração mais conhecidos, e atualmente utilizados em diferentes variantes, se apoiam em uma aplicação de programação, ou API para "Application Programming Interface" em inglês comum - L4 projetada sob o impul- so de Jochen Liedtke.
[00039] Assim, um servidor de porta de ligação munido de um tal micronúcleo permite responder à complexidade, e vulnerabilidade, dos núcleos monolíticos. Em termos de segurança, um tal sistema se be- neficia da solidez do micronúcleo.
[00040] No entanto, a segurança dos servidores depende também da solidez das comunicações IPC pois essas últimas representam um meio possível de transmissão de dados perigosos. Ora, por razões de eficácia, a gestão da segurança das comunicações é tradicionalmente deixada ao nível dos servidores, o micronúcleo se contentando de transmitir as mensagens.
[00041] É por essa razão que, nessa realização, o micronúcleo 38 compreende um controlador 25 IPC que oferece um mecanismo de direitos de comunicação de tal modo que duas aplicações só podem se comunicar entre si se o controlador 25 reconhece que essas aplica- ções possuem os direitos apropriados.
[00042] De fato, o micronúcleo considera cada aplicação, por exemplo de serviços ou de programas de controle, como o sujeito dos critérios de segurança que lhe são fornecidos previamente.
[00043] A partir desses critérios, o micronúcleo 38 pode atribuir re- cursos do sistema às aplicativos que ele gere de acordo com uma re- gra estabelecida em sua partida enquanto que seu controlador de IPC 25 atribui ou recusa direitos de comunicação entre essas aplicações.
[00044] Em outros termos, o micronúcleo 38 identifica, por um lado, recursos a atribuir - tais como a memória, as entradas e saídas, privi- légios para níveis de gestão de - e por outro lado comunicações em espera de autorização do controlador de IPC 25.
[00045] Assim, quando uma aplicação exige uma comunicação IPC entre diferentes elementos, o controlador de IPC 25 determina a partir dessa lista se a aplicação solicitante tem um direito de comunicação com a aplicação destinatária.
[00046] O controlador de IPC 25 efetua portanto a função de contro- lador IPC para, por exemplo, fornecer direitos de comunicação a apli- cações especiais sob demanda. Do mesmo modo, esse controlador IPC pode detectar tentativas de violação dos critérios de segurança e fornecer uma auditoria sobre o potencial de violação.
[00047] Nessa realização, o micronúcleo 38 tem também como fun- ção manter para cada aplicação as comunicações previamente autori- zadas.
[00048] Uma tal estrutura permite um controle preciso sobre a utili- zação dos recursos enquanto que, simultaneamente, cada aplicação é associada ao controle de um recurso, quer dizer de um componente ou mecanismo hardware, o que reforça o controle para bloquear a propagação de um ataque ou de um bug(erro).
[00049] No servidor 27, o tratamento dos dados utiliza portanto dois subsistemas, a saber: - por um lado um subsistema formado pelo nível 22 mídia, pelo nível 24 de comunicação e pelo nível 26 de controle, ligado à rede 20 não seguram por exemplo a rede Internet, e - por outro lado um subsistema seguro formado pelo nível 32 mídia, pelo nível 34 de comunicação e pelo nível 36 de controle, ligado à rede 21 sensível, por exemplo uma rede aviônica, um intranet de defesa e/ou um nó central de comunicação.
[00050] De fato, cada subsistema gera um fluxo de dados, por exemplo ao nível de sua interface rede ou de sua pilha de protocolos, utilizando para isso seus próprios recursos físicos que são isolados do outro subsistema, exceto entre o nível de controle dos mesmos como descrito ulteriormente.
[00051] Assim, o micronúcleo 38 e seu controlador de IPC 25 só autorizam comunicações do nível 22, respectivamente 32, mídia com o nível 24, respectivamente 34, esse último nível só podendo se comu- nicar como nível de controle 26, respectivamente 36.
[00052] Assim, supondo-se que um ataque ou um bug(erro) prove- niente da rede 20 consiga se infiltrar através de uma falha em uma das camadas do nível 22 mídia e/ou do nível 24 de comunicação, por exemplo na aplicação de um programa de controle e/ou da pilha de protocolos, dados não podem ser transmitidos para ao rede sensível 21 sem seu tratamento pelo nível 26 e 36 de controle.
[00053] Por outro lado, a arquitetura do servidor permite efetuar uma filtragem em profundidade da rede, essa filtragem utilizando uma análise da sintaxe e da validade dos protocolos filtrados por cada ca- mada do servidor, por exemplo: Ethernet, IP, TCP, nível aplicação.
[00054] Devido a isso, uma solicitação recebida pelo subsistema não seguro é transformada, por ocasião de seu tratamento progressivo pelo nível de comunicação 24 e depois pelo nível de controle 26, de uma solicitação em uma simples estrutura binária claramente definida.
[00055] Uma tal transformação é representada na figura 3 que ilus- tra a decomposição de uma solicitação protocolar HTTP em dados bi- nários que codificam as informações transmitidas por essa instrução HTTP.
[00056] Mais precisamente, esses dados compreendem uma instru- ção "Get", um endereço URL, a versão do protocolo HTTP utilizado e os formatos de arquivo levados em consideração por um software de exploração ou software de navegação.
[00057] Esses dados binários, representados sob a forma de uma tabela por preocupação com a clareza, são em seguida transmitidos ao nível 36 de controle do subsistema seguro por intermédio de uma memória partilhada 29 entre os dois subsistemas.
[00058] Para isso, um protocolo limitativamente definido é utilizado. Um tal protocolo defini o conjunto das solicitações que podem ser emi- tidas pelo nível 26 de controle da rede não segura, de tal modo que os campos de dados exigidos para essas solicitações podem, por um la- do, ser predeterminados e, por outro lado, ser preenchidos por dados binários que codificam as informações identificadas na solicitação re- cebida.
[00059] Assim, as solicitações transmitidas pela rede 20 não segura via o servidor de porta de ligação 27 são tratadas pelo subsistema não seguro para extrair dessas últimas dados característicos das solicita- ções, esses dados característicos sendo transmitidos ao subsistema seguro via o nível de controle 26 desse subsistema não seguro.
[00060] Na sequência, o subsistema seguro reescreve a solicitação de acordo com seu nível 34 de comunicação, por exemplo de acordo com um protocolo HTTP, com base nos dados característicos previa- mente extraídos. Na sequência, essa solicitação é transmitida via o nível 32 de comunicação ao servidor destinatário que pode então ser validamente e seguramente forçado.
[00061] Uma tal conformação dos dados é representada na figura 3 a partir dos dados binários precedentemente obtidos a partir de uma solicitação HTTP.
[00062] Em retorno, a resposta do servidor destinatário é recebida pelo nível mídia 32, e depois 34 de comunicação a fim de chegar ao nível 36 de controle.
[00063] Esse nível 36 de controle pode então transmitir os dados binários, obtidos a partir da resposta, através da memória partilhada 29 a fim de que essa última os transmita ao requerente via os níveis 26, 24 e depois 22 do subsistema não seguro.
[00064] É evidente que um servido de porta de ligação de acordo com a invenção não visa bloquear bugs(erros) e/ou ataques mas sim limitar suas consequências sobre a rede sensível visto que o conjunto das solicitações emitidas na rede sensível por esse servidor são solici- tações validadas por sua reescrita, essas solicitações validadas não correspondendo exatamente à solicitação inicial. A segurança da porta de ligação é assim assegurada pela arquitetura do servidor.
[00065] Em resumo, cada subsistema age como uma comporta que só pode se comunicar com o outro subsistema por intermédio de uma memória na qual são registrados dados binários que codificam as in- formações identificadas em uma solicitação recebida na entrada de um dos subsistemas em campos predefinidos.
[00066] Desse modo, os subsistemas só se comunicam por inter- médio de seu nível de controle, especialmente confiável pela presença de um micronúcleo, e com o auxílio de dados dos quais o alcance está limitado ao campo definido.
[00067] A presente invenção é suscetível de numerosas variante. Notadamente, a descrição efetuada abaixo da invenção apresenta um micronúcleo 38 que compreende o controlador IPC 25 mas, em função das variantes e dos critérios utilizados para definir um micronúcleo, esse controlador 25 IPC pode estar localizado fora do micronúcleo 38.
Claims (9)
1. Servidor de porta de ligação (27) caracterizado por com- preender: - um primeiro subsistema que compreende um nível mídia (22), um nível de comunicação (24) e um nível de controle (26), - um segundo subsistema (32, 34, 36), que compreende um segundo nível mídia (32), um segundo nível de comunicação (34) e um segundo nível de controle (36) - um micronúcleo (38) e um controlador de IPC (25) confi- gurados para gerenciar comunicações entre os recursos do servidor atribuídos ao primeiro subsistema (22, 24, 26), por um lado, e também para gerenciar as comunicações entre os recursos do servidor atribuí- dos ao segundo subsistema (32, 34, 36), por outro lado, e - uma memória (29) partilhada em leitura e escrita, estabe- lecida sob controle do micronúcleo (38) e do controlador de IPC (25), entre o nível de controle do primeiro subsistema (22, 24, 26) e o nível de controle do segundo subsistema (32, 34, 36).
2. Servidor de acordo com a reivindicação 1, caracterizado pelo fato de que cada subsistema (22, 24, 26; 32, 34, 36) compreende meios para codificar as informações, recebidas em uma solicitação de acordo com um protocolo de comunicação de rede, em uma estrutura binária de acordo com um protocolo de comunicação entre os níveis de controle do primeiro subsistema (26) e do segundo subsistema (36).
3. Servidor de acordo com a reivindicação 2, caracterizado pelo fato de que cada subsistema (22, 24, 26; 32, 34, 36) compreende meios para codificar as informações em uma estrutura binária depois de tratamento dessas últimas no nível de comunicação (24; 34) e de- pois no nível de controle (26; 36) desse subsistema.
4. Servidor de acordo com a reivindicação 2 ou 3, caracteri- zado pelo fato de que ele compreende meios para identificar, em fun- ção da natureza da solicitação, dados característicos da solicitação que devem ser codificados na estrutura binária.
5. Servidor de acordo com a reivindicação 2, caracterizado pelo fato de que ele compreende meios para associar a solicitação re- cebida a uma solicitação predefinida em uma lista limitada de solicita- ções autorizadas.
6. Servidor de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que o micronúcleo (38) compreende meios para associar cada aplicação executada por um subsistema (22, 24, 26; 32, 34, 36) ao controle de um recurso do servidor.
7. Servidor de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que ele compreende meios para limi- tar as comunicações de tal modo que nem o nível mídia (22) nem o nível de comunicação (24) de um subsistema possa se comunicar dire- tamente nem com o nível mídia (32) nem com o nível de comunicação (34) do outro subsistema sem o intermediário dos níveis de controle (26, 36) dos subsistemas.
8. Servidor de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que ele compreende meios para ana- lisar a sintaxe e a validade dos protocolos filtrados por cada camada utilizada no servidor.
9. Processo de controle de um servidor de porta de ligação caracterizado por compreender um primeiro subsistema que compre- ende um nível mídia (22), um nível de comunicação (24) e um nível de controle (26), assim como um segundo subsistema (32, 34, 36), que compreende um segundo nível mídia (32), um segundo nível de comunicação (34) e um segundo nível de controle (36) , o servidor (27) também compreendendo um micronúcleo (38) e um controlador de IPC (25) gerenciando comunicações entre os recursos do servidor atribuídos ao primeiro subsistema por um lado, e também gerenciando comunicações entre os recursos de servidor atribuídos ao segundo subsistema (32, 34, 36), por outro lado, no qual o processo de memó- ria (29) partilhada em leitura e escrita é usado, estabelecido sob con- trole do micronúcleo e do controlador de IPC, para transmitir solicita- ções entre o nível de controle do primeiro subsistema (22, 24, 26) e o nível de controle do segundo subsistema (32, 34, 36) usando os meios do servidor como definido em qualquer uma das reivindicações 1 a 8.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0859143 | 2008-12-30 | ||
| FR0859143A FR2940695B1 (fr) | 2008-12-30 | 2008-12-30 | Serveur passerelle a micronoyau |
| PCT/FR2009/052687 WO2010076523A1 (fr) | 2008-12-30 | 2009-12-23 | Serveur passerelle a micronoyau |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0923742A2 BRPI0923742A2 (pt) | 2016-01-19 |
| BRPI0923742B1 true BRPI0923742B1 (pt) | 2021-01-05 |
Family
ID=41119843
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0923742-9A BRPI0923742B1 (pt) | 2008-12-30 | 2009-12-23 | servidor de porta de ligação com micronúcleo e processo de controle deste servidor |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US9282079B2 (pt) |
| EP (1) | EP2380328B8 (pt) |
| AU (3) | AU2009334568A1 (pt) |
| BR (1) | BRPI0923742B1 (pt) |
| CA (1) | CA2747375C (pt) |
| ES (1) | ES2744525T3 (pt) |
| FR (1) | FR2940695B1 (pt) |
| WO (1) | WO2010076523A1 (pt) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11294641B2 (en) | 2017-05-30 | 2022-04-05 | Dimitris Lyras | Microprocessor including a model of an enterprise |
| RU2746105C2 (ru) | 2019-02-07 | 2021-04-07 | Акционерное общество "Лаборатория Касперского" | Система и способ конфигурирования шлюза для защиты автоматизированных систем |
| RU2724796C1 (ru) * | 2019-02-07 | 2020-06-25 | Акционерное общество "Лаборатория Касперского" | Система и способ защиты автоматизированных систем при помощи шлюза |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5828893A (en) * | 1992-12-24 | 1998-10-27 | Motorola, Inc. | System and method of communicating between trusted and untrusted computer systems |
| EP0689139A3 (en) * | 1994-06-22 | 1997-09-10 | Ibm | Anonymous response port method and apparatus for microkernel data processing system |
| US5771383A (en) * | 1994-12-27 | 1998-06-23 | International Business Machines Corp. | Shared memory support method and apparatus for a microkernel data processing system |
| US6466962B2 (en) * | 1995-06-07 | 2002-10-15 | International Business Machines Corporation | System and method for supporting real-time computing within general purpose operating systems |
| JPH09307587A (ja) * | 1996-05-09 | 1997-11-28 | Fujitsu Ltd | 交換機 |
| US6424988B2 (en) * | 1997-02-19 | 2002-07-23 | Unisys Corporation | Multicomputer system |
| JP4273535B2 (ja) * | 1998-05-12 | 2009-06-03 | ソニー株式会社 | データ伝送制御方法、データ伝送システム、データ受信装置及びデータ送信装置 |
| US6601146B2 (en) * | 1998-06-16 | 2003-07-29 | International Business Machines Corporation | Technique for efficiently transferring moderate amounts of data across address space boundary |
| US6510464B1 (en) * | 1999-12-14 | 2003-01-21 | Verizon Corporate Services Group Inc. | Secure gateway having routing feature |
| US6836888B1 (en) * | 2000-03-17 | 2004-12-28 | Lucent Technologies Inc. | System for reverse sandboxing |
| FI114265B (fi) * | 2001-03-26 | 2004-09-15 | First Hop Oy | Menetelmiä ja järjestelyjä tehokkaan tiedonsiirron toteuttamiseksi nopeudeltaan rajoitetun tiedonsiirtolinkin yli |
| US7694328B2 (en) * | 2003-10-21 | 2010-04-06 | Google Inc. | Systems and methods for secure client applications |
| US7840763B2 (en) * | 2004-03-12 | 2010-11-23 | Sca Technica, Inc. | Methods and systems for achieving high assurance computing using low assurance operating systems and processes |
| GB2412761C (en) * | 2004-04-02 | 2011-01-05 | Nokia Corp | Improvements in or relating to an operating system for a computing device |
| US7690033B2 (en) * | 2004-09-28 | 2010-03-30 | Exobox Technologies Corp. | Electronic computer system secured from unauthorized access to and manipulation of data |
| US7581229B2 (en) * | 2005-03-11 | 2009-08-25 | Microsoft Corporation | Systems and methods for supporting device access from multiple operating systems |
| US7657537B1 (en) * | 2005-04-29 | 2010-02-02 | Netapp, Inc. | System and method for specifying batch execution ordering of requests in a storage system cluster |
| US7765560B2 (en) * | 2005-10-26 | 2010-07-27 | Oracle America, Inc. | Object oriented communication between isolates |
| US7715432B2 (en) * | 2005-11-14 | 2010-05-11 | Broadcom Corporation | Primary protocol stack having a secondary protocol stack entry point |
| US20080148277A1 (en) * | 2006-12-18 | 2008-06-19 | Nokia Corporation | Optimizing calls from a managed runtime environment to microkernel extended functionality |
| US8752055B2 (en) * | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Method of managing resources within a set of processes |
| US20090158299A1 (en) * | 2007-10-31 | 2009-06-18 | Carter Ernst B | System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed |
| FR2929733B1 (fr) * | 2008-04-08 | 2010-08-27 | Eads Defence And Security Syst | Systeme et procede de securisation d'un ordinateur comportant un micronoyau |
| US20090276654A1 (en) * | 2008-05-02 | 2009-11-05 | International Business Machines Corporation | Systems and methods for implementing fault tolerant data processing services |
| US8745361B2 (en) * | 2008-12-02 | 2014-06-03 | Microsoft Corporation | Sandboxed execution of plug-ins |
-
2008
- 2008-12-30 FR FR0859143A patent/FR2940695B1/fr not_active Expired - Fee Related
-
2009
- 2009-12-23 ES ES09806106T patent/ES2744525T3/es active Active
- 2009-12-23 BR BRPI0923742-9A patent/BRPI0923742B1/pt active IP Right Grant
- 2009-12-23 US US13/141,816 patent/US9282079B2/en active Active
- 2009-12-23 WO PCT/FR2009/052687 patent/WO2010076523A1/fr not_active Ceased
- 2009-12-23 EP EP09806106.2A patent/EP2380328B8/fr active Active
- 2009-12-23 AU AU2009334568A patent/AU2009334568A1/en not_active Abandoned
- 2009-12-23 CA CA2747375A patent/CA2747375C/fr active Active
-
2016
- 2016-06-01 AU AU2016203662A patent/AU2016203662A1/en not_active Abandoned
-
2018
- 2018-07-26 AU AU2018208696A patent/AU2018208696B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| FR2940695B1 (fr) | 2012-04-20 |
| AU2009334568A1 (en) | 2011-07-21 |
| EP2380328A1 (fr) | 2011-10-26 |
| AU2018208696B2 (en) | 2019-11-21 |
| ES2744525T3 (es) | 2020-02-25 |
| AU2016203662A1 (en) | 2016-06-23 |
| FR2940695A1 (fr) | 2010-07-02 |
| EP2380328B8 (fr) | 2019-06-26 |
| WO2010076523A1 (fr) | 2010-07-08 |
| US20110296026A1 (en) | 2011-12-01 |
| CA2747375A1 (fr) | 2010-08-08 |
| EP2380328B1 (fr) | 2019-05-15 |
| CA2747375C (fr) | 2017-07-11 |
| BRPI0923742A2 (pt) | 2016-01-19 |
| AU2018208696A1 (en) | 2018-08-09 |
| US9282079B2 (en) | 2016-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10609029B2 (en) | High assurance segregated gateway interconnecting different domains | |
| CN109716296B (zh) | 通过相关联容器的应用令牌 | |
| KR102364445B1 (ko) | 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| KR102612535B1 (ko) | 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| CA3077203A1 (en) | Methods for internet communication security | |
| KR102349038B1 (ko) | 분산 게이트웨이 환경에 최적화된 터널링 및 게이트웨이 접속 시스템 및 그에 관한 방법 | |
| US20090288104A1 (en) | Extensibility framework of a network element | |
| US10462103B2 (en) | High assurance security gateway interconnecting different domains | |
| WO2007068568A1 (en) | System and method for associating security information with information objects in a data processing system | |
| CN109446833A (zh) | 一种基于教育系统的权限校验方法及电子设备 | |
| CN111328395A (zh) | 用于提供对网络设备的硬件组件接口的受限访问的方法 | |
| US12248575B2 (en) | System and method for monitoring delivery of messages passed between processes from different operating systems | |
| KR102410552B1 (ko) | 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법 | |
| KR102782364B1 (ko) | 프록시 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| AU2018208696B2 (en) | Microkernel gateway server | |
| US12627684B2 (en) | System and method for secure transfer of data between networks | |
| KR102782379B1 (ko) | 프록시 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| KR102782384B1 (ko) | 프록시 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| KR102782363B1 (ko) | 프록시 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| KR102782366B1 (ko) | 프록시 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| JP3851263B2 (ja) | 多重システム停止の再発防止方法 | |
| US12166771B2 (en) | Network gateway and method for transferring data from a first network to a second network | |
| KR102600442B1 (ko) | 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
| EP4145318B1 (en) | System and method for monitoring delivery of messages passed between processes from different operating systems | |
| KR102439880B1 (ko) | 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법 |
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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 05/01/2021, OBSERVADAS AS CONDICOES LEGAIS. |