RAFAEL RODRIGUES
OBELHEIRO
MQDELOS
DE
SEGURANÇA
BASEADOS
EM
PAPÉIS
PARA
SISTEMAS
DE
LARGA
EScALAz"
~ A ~A
PROPQSTA RBAC-JACQWEB
r AFLORIANÓPOLIS
2001
CURSO
DE Pós-GRADUAÇÃO
EM
ENGENHARIA
ELETRICA
MODELOS
DE SEGURANÇA
BASEADOS
EM
PAPEIS
PARA
SISTEMAS
DE
LARGA
ESCALA:
A_
A
PROPOSTA RBAC-JACOWEB
Dissertação
submetida
àUniversidade
Federalde Santa
Catarinacomo
partedos
requisitospara
aobtenção
do
grau
de'Mestre
em
Engenharia
Elétrica.RAFAEL RODRIGUES
OBELHEIRO
MODELOS
DE
SEGURANÇA
BASEADOS
EM
PAPÉIS
PARA
SISTEMAS
DE
LARGA
ESCALA:
A
PROPOSTA
RBAC-JACOWEB
Rafael
Rodrigues Obelheiro
“Esta Dissertação foi julgada
adequada
para aobtenção
do
títulode Mestre
em
Engenharia
Elétrica,
Área
de Concentraçao
em
Controle,Automaçao
e Informática Industrial, eaprovada
em
sua
forma
final
peloPrograma
de
Pós-Graduação
em
Engenharia
Elétricada
Universidade
Federalde
Santa
4_tarina.°V
Í
.- = ,''J
_f-
. 1.' ' z- ni daiva
rag(
O
` ntador O \ \\Prof.
Edso
bertoDe
`eri, Dr.Coordenador do Programa
deP
s-Graduaçãoem
Engenharia ElétricaBanca
Examinadora:
/I
¿...._
'Í .
Pr . oni da Silva Fra
Presidente
Õ
fr; ó==z~czzz~,_=, Prof. ean-Marie Farirés, Dr.
Prof.
Rômulo
silva de o1ivei:,\1:r/.E/6%CCU\,Êc‹ /Vl/\@`LÊ/ali
Carla Merkle Westphall, Dra.
AGRADECIMENTOS
Ao
meu
orientador, Joni Fraga, pela orientação, pelo conhecimento, pelos constantes questionamen- tos, pelas críticas (muitas merecidas e outrasnem
tanto) e, especialmente, pela amizade econfiança
depositada.Aos
demais professoresdo
LCMI,
especialmente a Jean-Marie Farines,Rômulo
Oliveira eEdson
de Pieri, queme
receberambem
e estabeleceramum
vínculo que ultrapassa amera
cordialidade.Aos
amigos da equipedo
projeto JAC
OWEB,
que contribuíram significativamente para a evoluçãodo
trabalho: Carla Westphall, que
fomeceu
boa parte das referências bibliográficas e participou ativa-mente
da elaboração da propostaRBAC-JACOWEB,
discutindo idéias, apresentando críticas e pro-pondo
melhorias; MichelleWangham,
que foi fundamental nacompreensão do
CORBAsec
e deaspectos da implementação; Ricardo Padilha, Luciana Souza,
Lau
Lung
e Juliano Tonon, que tam-bém
auxiliaram na implementaçãodo
protótipo.Aos
demaismembros
do
grupo de segurança, AltairSantin e
Eduardo
Machado
da Silva, pelas profícuas discussões sobre os mais diversos aspectos dasegurança.
A
Rafael Chaves, que, talvez atémesmo
sem
saber, deuuma
contribuição importanteno
direcionamento
do
trabalho.Aos
inúmeros amigos que transformaram oLCMI em
uma
segunda família: Eder Gonçalves,Augusto
Loureiro (Baiano), Luciano Rottava, Fabiano
Bachmann,
Hélio Loureiro, Carlos Brandão, AlexandreMoraes
(Sobral), Cristian Koliver, Isabel Tonin, Karina Barbosa, Cris Paim, Jerusa Marchi, CarlosOgawa,
Renato_Oliveira, Terezinha Faria, Fred Paes, Gilberto Wolff, César Motejunas, César Torrico,Karen
Farfán,Femando
Passold, Hallthmann dos Reis, Felipe Beck, Frank Siqueira, Antonio Carrilhoe Ricardo Martins.
Se alguém
foi esquecido, fica registrado omea
culpa.Ao
Vinícius, pelo ano de agradável convivência. _A
minha
família, pelo carinho e apoio financeiro e sobretudo afetivo.À
Tati, pela paciência, dedicação, carinho e compreensão.A
Deus, que colocou estas pessoas nomeu
caminho.obtenção
do
grau
de
Mestre
em
Engenharia
Elétrica.MODELOS
DE
SEGURANÇA
BASEADOS
EM
PAPÉIS
PARA
SISTEMAS
DE
LARGA
ESCALA
A
PROPOSTA
RBAC-JACOWEB
Rafael
Rodrigues
Obelheiro
Fevereiro/
2001
Orientador: Prof. Joni
da
Silva Fraga, Dr.Área
de Concentração:
Controle,Automação
e Informática IndustrialPalavras-chave:
Segurança computacional,
modelos
de
segurança,RBAC
Número
de
Páginas: xiii+89
Com
amagnitude
e acomplexidade de
aplicações distribuídas interconectadas atravésda
Internet e/ou'
de
grandes redes corporativas,o
projetode
esquemas
de
controlede
acessoeficazes
para estes sistemastoma-se
um
grande
desafio.A
políticade segurança
utilizadana
maioria dos
sistemasde informação
atuais,baseada
em um
modelo
discricionáriode
se-gurança
revela-se frágil diante dasameaças
que
surgem
em
ambientes
distribuídosde
largaescala.
Nesta
dissertação, é feitoum
estudode
diversosmodelos
não
discricionáriosde
segu-rança,
com
ênfasena
sua aplicabilidadeem
sistemasde
larga escala.É
desenvolvido, então,um
esquema
de
autorizaçãobaseado
em
papéisque
utiliza osmodelos
de segurança
COR-
BA,
Java
eWeb.
Nós
introduzimos
uma
nova
abordagem
que
permite a ativaçãoautomática
de
papéis peloscomponentes
de segurança
do
middleware,
trazendoo
controlede
acessobaseado
em
papéis para aplicaçõesnão
cientesda
segurança.V
Abstract
of
Dissertation presented toUFSC
as a partial fulfillmentof
therequirements
for thedegree
ofMaster
in Electrical Engineering.ROLE-BASED SECURITY
MODELS
FOR
LARGE-SCALE
SYSTEMS:
THE
RBAC-JACOWEB
PROPOSAL
Rafael
Rodrigues Obelheiro
February/2001
Advisor: Prof. Joni
da
Silva Fraga, Dr.Area
of Concentration: Control,Automation and
IndustrialComputing
Key
words:
Computer
security, securitymodels,
RBAC
Number
of
Pages: xiii+
89
With
themagnitude and
complexity
of distributed applications interconnectedby
the Inter-net and/or large enterprise networks, designing efficient access control
schemes
for thesesystems
becomes
amajor
challenge.The
most
used
security policy for current information systems,Which
isbased
on
a discretionary securitymodel,
is too fragile to contain the threatsthat exist in large-scale distributed environments. In this dissertation,
we
survey severalnon-
discretionary security
models
focusingon
their applicability in large-scale systems.We
thendevelop
a role~based authorizationscheme
using theCORBA,
Java
and
Web
securitymodels.
We
introduce a novelapproach
that allowsautomatic
role activationby
the securitycompo~
nents
ofthe middleware,
bringing role~based access control to security-unaware applications.Sumário
1
Introdução
11.1 Motivação e Objetivos . . . . 1
1.2 Estrutura da Dissertação . . . . 2
2
Modelos
Clássicosde Segurança Computacional
4 2.1 Conceitos Básicos . . . _ .4
2.1.1 Segurança Computacional . . . _ .4
2.1.2Ameaças,
Vulnerabilidades e Ataques . . . . 52.1.3 Políticas,
Modelos
eMecanismos
de Segurança . . . . 52.1.4 Controle de Acesso . . . . 6
2.1.5 Rótulos de Segurança . . . . 7
2.2
O
Modelo
de Matriz deAcesso
. . . 102.2.1 Estratégias de Implementação . . . 11
2.3
0
Modelo
Bell-LaPadula . . . _ ' . . . _ .-. 12 2.3.1 Regrasdo
Modelo
Be11~LaPadu1a . . . _ . 13 2.3.2Dinâmica do
Modelo
Bell-LaPadula . . . 152.3.3 Limitações do
Modelo
Bell-LaPadula . . . _ 16 2.4O
Modelo
de Integridade Biba . . . _ . 19 2.4.1O
Modelo
Obrigatório de lntegridade . . . 192.4.2 2.4.3 2.4.4
O
Modelo
deMarca d'Água
Baixa de Sujeitos . . .20
O
Modelo
deMarca d'Água
Baixa de Objetos . . .20
Limitações
do
Modelo
Biba . . . 212.5
OMode1o
Clark-Wilson . . .22
2.5.1 2.5.2 2.5.3 Conceitos 'Básicos . . .
22
Regras
do
Modelo
Clark-Wilson . . . 23Limitações
do
Modelo
Clark-Wilson . . .26
2.6
Modelos
Baseadosem
Papéis . . .26
2.7
Comparação
entre osModelos
. . . 272.8 Conclusões
do
Capítulo . . . .. 29Controle
de Acesso
Baseado
em
Papéis30
3.1 Introdução . . .30
3.2
O
Modelo
Unificado
RBAC-NIST
. . . 313.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 Estrutura
do
Modelo
. . . 32RBAC
Básico . . . 33RBAC
Hierárquico . . .34
RBAC
com
Restrições . . . 37RBAC
Simétrico . . . 39Configurações
doModelo
RBAC-NIST
. . . 39Limitações do
modelo
RBAC~NIST
. . .40
3.3 Outros
Modelos
RBAC
. . . .. 413.3.1 3.3.2 3.3.3
O
Modelo
doNIST
. . . 42A
FamíliaRBAC96
. . .42
O
Modelo do
Grafo de Papéis . . . _ . 42 3.4 Experiências de Implementaçao deRBAC
. . . *433.5 Conclusões do Capítulo . . . 43
L#__‹_____í__íí_ _;_. i.___.-_l | \ Ê r r 4.1
A
ArquiteturaOMA
. . .45
4.2A
ArquiteturaCORBA
. . .47
4.3 AO
Serviço de SegurançaCORBA
. . .49
4.4
O
Modelo
CORBA
de Segurança . . . 514.4.1 Autenticação de Principais . . . _ . . . _
52
4.4.2Domínios
e Políticas -de Segurança ._ . . . 534.4.3 Estabelecimento
do
Contexto de Segurança . . . . . . . 534.4.4 Controle de Acesso . . .
54
4.5 Limitações
do
CORBAsec
. . .56
4.6 Conclusões
do
Capítulo . . .56
RBAC
para
0Modelo
CORBA
de Segurança
58
5.1O
ProjetoJACOWEB
. . . 585.2
O
Serviço de Políticas PoIiCap . . . 595.3
A
PropostaRBAC-JACOWEB
. . .59
5.3.1 Integrando
Modelos
RBAC
aoCORBAsec
. . . 595.3.2
Dinâmica do
Controle de Acesso usando Papéis . . . _ . 61 5.3.3Exemplo
. . . .. 635.4 Trabalhos Relacionados . . . 68
5.5 Conclusões
do
Capítulo . . .69
Aspectos de
Implementação
e Resultados70
6.1 Protótipo de Implementação . . . 3706.1.1 Alterações no Protótipo Discricionário . . . _ 72 6.l_.2 Protótipo
RBAC-JACOWEB
. . . 736.1.3 Resultados Obtidos . . . 73
6.2 Considerações sobre a Implementação . . . _ _
74
6.3 Conclusõesdo
Capítulo . . . 75Conclusoes e Perspectivas
Futuras
76
Definição
IDL
do
Po1iCap78
A.l
Definição
IDL
. . . 78A.2
Descrição das Operações . . . _ .. 81A.2.1 Interface AocessPolicyAdmin . . . 81
A.2.2 Interface RequiredRightsAdmin . . . 81
A.2.3 1nte›ƒace
RoIeAdmin
. . . ._ 81Lista
de
Figuras
2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 4.1 4.2 4.3 4.4 4.5 5.1 5.2 5.3Exemplo
de matriz de acesso . . . . .Exemplo
de listas de controle de acesso . . . . .Exemplo
de listas de capabilíties . . . . .RBAC
Básico . . . . .RBAC
Hierárquico . . . . .Exemplos
de hierarquias de papéis . . . . .Exemplo
de herança limitada . . . . .RBAC
com
Restrições-separação estática de tarefasRBAC
com
Restrições-separação dinâmica de tarefasRBAC
com
Restrições-«exemplo deST
. . . . .Componentes
da arquiteturaOMA
. . . ..Componentes
da arquiteturaCORBA
. . . . _Modelo
CORBA
de segurança . . . . .Exemplo
de AccessPoIicy . . . . .Exemplo
de RequiredRights . . . . .Interação entre o AccessDec¡s¡on e o Po|iCap . . . .
Inzeøjface
IDL
da operaçãorole_access
do PoIiCapControle de acessp:
tempo
de ligação (binding) . . .`
Controle de acesso:
tempo
de decisão de acesso . . . .Configuração
RBAC
gerenciada pelo PoliCap . . . . _Cenário de funcionamento para o principal
Ana
. . . .Primeiro cenário de -funcionamento para o principal
Bia
Segundo
cenário de funcionamento para o principalBia
Cenário de funcionamento para o principal
Cris
. . _ . Estrutura da aplicaçao bancária . __
. . . . .
Arquitetura
do
protótipo implementado . . . . .Interface gráfica de administração do PoliCap . . . _ .
Lista
de
Tabelas
2.1
Comparação
entre osmodelos
de segurança . . . . .3.1 Configurações
do
modelo
RBAC-NIST:
ordenação total dos modelos3.2
Configurações do modelo
RBAC-NIST:
modelos não-ordenados . .Capítulo
1
í
Introduçao
1.1
Motivação
e
Objetivos
iv»
Hoje
em
dia, as organizaçõesdependem
cada vez mais de seus sistemas de informação.A
disse-minação
de redes de larga escalacomo
a Intemet e as grandes redes corporativas permitem que estessistemas sejam construídos segundo arquiteturas distribuídas, cuja magnitude e complexidade
tomam
a
manutenção
de sua segurançaum
grande desafio.A
maior acessibilidade da infonnação proporcionada pelos sistemas distribuídos de lafga escalatraz consigo grandes benefícios
do
ponto de vista operacional, aomesmo
tempo
em
queaumenta
asoportunidades de violação da segurança destas informações.
Um
aspecto muito importante e que freqüentemente é negligenciado na construção de sistemasde informação é a política de controle de acesso
ou
autorização, que determina quais os acessos às informaçãoes que são autorizadosem um
sistema.A
definição de políticas de segurança é normal-mente
orientada por modelos de segurança, quefomecem
um
conjunto de regras emecanismos
para o funcionamento seguro deuma
representação abstrata de sistemas.O
modelo
de segurança utilizadoem
boa parte dos sistemas atuais é ochamado
controle de acessodiscricionário, que delega aos usuários a tarefa de proteger as informações
do
sistema. Neste modelo, cada usuário équem
determina quais os direitos de acesso que outros usuários e/ou aplicaçõesdo
sis- temapossuem
sobre as informações que são de sua responsabilidade. Essa dependência dos usuáriosé
um
fator que reduz bastante a confiança que se pode depositarem um
sistema que utilizauma
polí- tica de segurança discricionária.Modelos
discricionários são considerados inadequados para diversas aplicações,uma
vez que são relativamente fracos edemasiadamente
fiexíveis: bastaum
equívoco porparte de
um
usuário inocente (ouum
ato deliberado deum
usuário mal-intencionado) e informaçõesPor outro lado, modelos altemativos de segurança mais rígidos e seguros
do
que o discricionáriovêm
sendo propostos desde o início da zdécada de 70,quando
sistemas on-line multiusuárioscome-
çaram
a setomar
populares. Estes modelos baseiam-se nasmais
diferentes premissas epossuem
osmais diversos objetivos. '
.
Esta dissertação
pode
ser divididaem
duas grandes partes.A
primeira parte éum
estudo sobrediversos
modelos de
segurança computacional visando deterrninar a sua aplicabilidadeem
sistemasdistribuídos de larga escala.
A
segunda parte utiliza os dados obtidos neste estudo para escolherum
modelo
específico (baseadoem
papéis) que é usadocomo
modelo
de referênciaem
uma
implemen-
tação. Esta implementação
tem
como
objetivo comprovar na prática a aplicabilidade demodelos
baseados
em
papéis.A
nossa proposta, a propostaRBAC-JACOWEB,
introduz o conceito de ativaçao automática depapéis pelo subsistema de segurança,
uma
inovaçãoem
relação à literatura conhecida sobre controlede acesso baseado
em
papéis. Essa ativaçao automática permiteque
o esquema
de autorizaçao sejautilizado por aplicações previamente desenvolvidas e que não
possuem
nenhuma
ciência da segurançado
sistema. Outra característica importante da propostaRBAC-JACOWEB
é a utilizaçãode
padrões:tanto o
modelo
de segurança quanto a tecnologiaempregada
(CORBA1)
são padronizados, oque
representa mais
um
diferencialem
relação a outras experiências relatadas na literatura.Este trabalho foi desenvolvido
no
contextodo
projetoJACOWEB,
desenvolvido no Laboratório deControle e Microinformática da Universidade Federal de Santa Catarina
(LCMI-DAS).
Este projetotem
como
objetivo desenvolver e implementar esquemas de autorização para aplicações distribuídas de larga escalacombinando
os modelos de segurança Java,CORBA
eWeb
[66, 67].1.2
Estrutura
da
Dissertação
Esta dissertação está estruturada
em
sete capítulos eum
apêndice. Este capítulo inicial descreveuo contexto
onde
o trabalho está inserido, sua motivaçao e objetivos eum
resumo
de seus principaisresultados.
O
capítulo 2contém
os fundamentos sobre segurança computacional necessários ao entendimentodeste trabalho.
A
seguir, é apresentado oestudo realizado sobre modelos de segurança computacional,discutindo suas premissas, objetivos, virtudes e limitaçoes.
O
capítulo encerracom uma
comparaçao
entre os diferentes modelos de segurança.
'Common Object Request Broker Arc/iírecmre, um padrão para a construção de sistemas distribuídos abertos recente- mente adotado pela [SO (International Organization for Standnrdízatíonl, que é uma organização internacional que tem por objetivo a elaboração de padrões adotados mundialmente.
1. Introdução 3
O
capítulo 3 discuteem
detalhes omodelo
de controle de acesso baseadoem
papéis utilizadocomo
referência.O
capítulotambém
-contémuma
revisão dosmodelos
de papéis mais importantes naliteratura e
uma
descrição de algumas experiências de implementação.O
capítulo4
apresenta a arquiteturaCORBA
e o seu serviço de segurança,o
CORBAsec.
A
discussão concentra-se nos pontos de maior relevância para este trabalho, como' o
modelo
CORBA
de segurança e seus aspectos de controle de acesso e autorização.
O
capítulo 5 apresentauma
discussão detalhada sobre a propostaRBAC-JACOWEB,
mostrandocomo
modelos
baseadosem
papéispodem
ser implementadosem
um
contextoCORBAsec.
O
capí-tulo
contém
aindaum
exemplo
detalhadodo
funcionamentodo
esquema
de autorizaçao proposto euma
comparação
com
outros trabalhos similares discutidos na literatura.O
capítulo 6 discute alguns aspectos relacionados à implementaçãodo
esquema
de autorizaçãoproposto
no
capítulo 5, mostrando a estruturado
protótipo implementado, analisando os resultadosobtidos e discutindo as melhorias que
podem
ser incorporadasao
protótipo.O
capítulo 7 apresenta as nossas conclusões e algumas perspectivas futuras para a continuaçãodeste trabalho. .
O
Finalmente,
o
apêndiceA
descreve a interface do serviço que encapsula0
controle de acessoModelos
Clássicos
de
Segurança
Computacional
A
pesquisa na área demodelos
de segurança computacionalcomeçou
no
início da década de70.
Ao
longo desses anos, inúmeros modelos foram propostos,com
as mais variadas premissas e osmais diversos objetivos. Este capítulo discute
em
detalhes quatro modelos de segurança consideradosclássicos: matriz de acesso, Bell-LaPadula, Biba e Clark-Wilson.
Além
disso, as características gerais de modelos baseadosem
papéis são introduzidas, permitindouma
comparação
destescom
osmodelos
clássicos. Primeiramente, porém, faz-se necessário apresentar alguns conceitos fundamentais sobre segurança computacional.
2.1
Conceitos Básicos
2.1.1
Segurança Computacional
Diferentes pessoas
possuem
diferentes conceitosdo
que seja segurança computacional.No
con-..z
~`¡
texto deste trabalho, a preocupaçao e
com
achamada segurança de dados
(data security) , que se refere àmanutenção
de três propriedades fundamentais [3, 501:0 Confidencialidade: garante
que
os usuários do sistema sópodem
ler informações para osquais estejam autorizados;
uma
violação da confidencialidade échamada
de revelação não- autorizada ouvazamento de
informação.2. Modelos Clássicos
de Segurança
Computacional 5o Integridade: garante que
o
sistema nãocorrompa
informaçõesnem
permita que elas sejammodificadas
de forma não-autorizada, independentementedo
caráter maliciosoou
acidentaldas modificaçoes. , '
ø Disponibilidade: garante
que
os recursos do sistema estejam disponíveis para os seus usuárioslegítimos; a violação da disponibilidade é
chamada
denegação de
serviço.2.1.2
Ameaças,
Vulnerabilidades
eAtaques
Uma
ameaça
aum
sistema computacional consisteem
uma
ação possível que,uma
vez concre-tizada, produziria efeitos indesejáveis sobre os dados
ou
recursosdo
sistema.Uma
vulnerabilidade,por sua vez, é
uma
falha ou característica indevida quepode
ser explorada para concretizaruma
ame-
aça; pode-se perceber que asameaças
aum
sistemapodem
ser minimizadas através da identificação eremoção
de vulnerabilidades existentes no sistema. Porfim,
um
ataque
aum
sistema éuma
açãotomada
porum
intruso malicioso (ou,em
alguns casos,um
erro de operação por parteum
usuárioinocente)
que
envolve a exploração de determinadas vulnerabilidades demodo
a concretizaruma
ou
mais ameaças.
Uma
maneira de ilustrar a inter-relação entre ameaças, vulnerabilidades e ataques é tecendouma
analogia
com uma
casa.Uma
ameaça
associada auma
casa é o roubo de móveis, dinheiro e eletro-domésticos. Vulnerabilidades
podem
seruma
janela abertaou
uma
porta que não esteja trancada.O
ataque consiste na invasão propriamente dita
com
o conseqüente roubo de bens.2.1.3 Políticas,
Modelos
eMecanismos
de Segurança
Políticas,
modelos
emecanismos
de segurança são conceitos que são freqüentemente confundidos entre si,mesmo
porque não usados de maneira absolutamente uniforme na literatura..Assim
sendo,faz-se necessário conceituá-los de
modo
a eliminar possíveis dúvidas quanto ao seu significado dentrodo
contexto deste trabalho.A
políticade segurança
~deum
sistema computacional corresponde ao conjunto de regras queestabelecem os limites de operação dos usuários
no
sistema;uma
políticasempre
se aplica aum
sistema específico, e não a
uma
classe geral de sistemas. Por sua vez,um
modelo
de segurança
é
uma
representação restrita deuma
classe de sistemas que abstrai detalhes demodo
a realçaruma
propriedade específica ou
um
conjunto de comportamentos.Modelos
de segurança são úteiscomo
guias na definição de políticas especificas de segurança.
Finalmente,
mecanismos
de segurança
são elementos responsáveis pela implantação deuma
determinada política de segurança. Por exemplo,
uma
política de segurança pode exigir que todospara implantar esta política incluem o uso de senhas, de cartões magnéticos e de dispositivos de reconhecimento de impressões digitais.
2.1.4
Controle
de Acesso
Para a
compreensão
do
que seja controle de acesso, os conceitos de sujeitos e objetosdevem
serconhecidos.
Um
sujeito éuma
entidade ativaem
um
sistema computacional que inicia requisiçõespor recursos; corresponde, via de regra, a
um
usuárioou
aum
processo executandoem
nome
deum
usuário.Um
objeto éuma
entidade passivaque armazena
informaçõesno
sistema,como
arquivos, diretórios e segmentosde
memória.Virtualmente todos os sistemas computacionais
podem
ser descritosem
termos de sujeitos aces-sando objetos [3].
O
controlede
acesso é, portanto, amediaçao
das requisiçoes de acesso a objetos iniciadas pelos sujeitos.Um
monitor de
referência éum
modelo
conceitualdo
subsistema respon-sável pelo controle de acesso; é a entidade que recebe todas as requisições de acesso dos sujeitos e
autoriza
ou
nega o acesso de acordocom
a política de segurança implantadazExistem diversas classes de
modelos
de controle de acesso, dentre as quais [59, 601:o Controle
de
Acesso Discricionário (Discretionarzy AccessControl-DAC):
baseia-se na idéia de que o proprietário da informação deve determinarquem
tem
acesso a ela.Um
controlediscricionário permite que os dados sejam livremente copiados de objeto para objeto, de
modo
que,
mesmo
que o acesso aos dados originais seja negado, pode~se obter acesso auma
cópia.0 Controle
de
Acesso Obrigatório (Mandatory AccessControl-MAC):
baseia-seem uma
ad-ministração centralizada de segurança, a qual dita regras incontomáveis de acesso à informação.
A
forma mais usual de controle de acesso obrigatório é o controle de acesso baseadoem
reticu-lados (lattice-based access control), que
confina
a transferência de informação auma
direçãoem
um
reticulado de rótulos de segurança (vide seçao 2.1.5).i
0 Controle
de
AcessoBaseado
em
Papéis (Role-Based AccessControl-RBAC):
requer que direitos de acesso sejam atribuídos a papéis e não a usuários,como
no
DAC;
os usuáriosobtêm
estes direitos
em
virtude de terem papéis a si atribuídos.Modelos
correspondentes às diferentes classes de controle de acesso serão discutidos nas se-ções 2.2 a 2.6.
ZÉ importante ter em mente que a politica de segurança efetivamente implantada pode não ser a mesma politica de segurança oficial do sistema. Isto pode acontecer por razões variadas, tais como erros de quem implantou a politica, falhas
.q -
'.›
2. Modelos Clássicos de
Segurança
Computacional 72.1.5
Rótulos
de Segurança
As
pesquisas que levaram aos modelos pioneiros de segurança computacional, no início da déca-da de 70, foram financiadas pelo Departamento de Defesa
(DoD)
dos Estados Unidos. Desta forma,estes
modelos
iniciais foram baseadosem
práticas de segurança utilizadasem
áreas ligadas à segu-rança nacional.
Em
que pese esta origem, os modelos e seus conceitos subjacentes são perfeitamenteaplicáveis a ambientes não-militares.
Um
destes conceitos é o de níveisde
segurança.Como
há custos associados à proteção da infor-mação
enem
todas as informações são igualmente importantes (ou sensíveis),definem-se
diferentesníveis de segurança, ordenados segundo
uma
hierarquia.Os
níveis mais usuais são,em
ordem
cres- CCIIÊG (16 S6l'lSÍbilÍd3d6,NÃO-CLASSIFICADO, CONFIDENCIAL,
SECRETO
CULTRA-SECRETO.
D6
ma-
neira similar,iuma universidade poderia adotar os níveis
ALUNO, FUNCIONÁRIO
ePROFESSOR-os
níveisdevem
refletir a necessidade de proteção da infomiação (dificilmenteum
ambiente acadêmico classificaria as informaçoes damesma
maneira queum
ambiente militar).Entretanto, a simples associação de níveis de segurança à informação e aos indivíduos que
têm
acesso a ela não atende a
um
princípio clássico de segurança conhecidocomo
need-to-knlow. Esteprincípio diz que o controle da disseminação da informação está diretamente ligado à quantidade de
pessoas que
têm
acesso a essa informação; desta forma, quantomenos
pessoasconhecerem
um
se-gredo, mais fácil será garantir que o segredo não será revelado. Para que isso seja viabilizado, são
definidas categorias
de
segurança, ou compartimentos de segurança, que correspondem a diferen- tes projetosou
setores.Os
indivíduostêm
acesso a diferentes categorias namedida
em
que as suasincumbências
demandem
este acesso. Assim, por exemplo, professoresdo
Departamento de Físicaprovavelmente não
devem
ter acesso a informações classificadascom
o nívelPROFESSOR
pertencen-tes ao Departamento de Geografia.
Transpondo estes conceitos para o contexto computacional,
um
rótulode segurança
éum
atri-buto que denota a sensibilidade de entidades ativas e passivas
em
um
sistema. Ele écomposto
porum
nível de segurança eum
conjunto (possivelmente vazio) de categorias de segurança.Em
sistemasque
fazem
uso destemecanismo,
todas as entidadesrecebem
um
rótulo de segurança; o rótulo deum
objeto échamado
de classificação do objeto, e o rótulo deum
sujeito échamado
de habilitação(clearance)
do
sujeito.2.1.5.1
Representaçao Matemática
e Reticuladosde
Segurança
A
representação matemática destes conceitos possibilita que eles sejam utilizados na construçãode modelos formais de segurança,
uma
vez que tal representação permite que estes modelos sejamDado
o conjunto de níveis de segurança representado por 9\[ e o conjunto de categorias represen-tado por C, 0 conjunto íR_ de rótulos de segurança de
um
sistema é então definidocomo:
r9i=9\[×2C,
onde 25
éo
conjunto potência deC
.3Exemplo
2.1 9\[=
{coNFrDENc1AL,tsEcRETo}
C
=
{E,M}
26
=
{ø,{E}›{M}›{E›M}}
:IL=
{(coN1=IDENcIAL,ø),(CONFIDENCIAL,{E}),
(CONFIDENCIAL,{M}),(coNF1DENc1AL,{E,M}),
(sEcRETo,ø),(sEcRETo,{E}),
(sEcRETo,{M}),(sEcRETo,{E,M})}
É
possível definiruma
relação deordem
parcia14em
LR, Esta relação,que
é bastante usada nestetrabalho, é a relação de dominância, que especifica
quando
um
rótulo de segurançadomina
outro.Definição
2.1 (Nívelde
um
rótulo)Define-se
nível : LK -›N
como
a funçãoque
retomao
nível desegurança de
um
dado
rótulo de segurança.Definição
2.2 (Categoriasde
um
rótulo)Define-se
categ :K
-›25
como
a função que retoma oconjunto de categorias de segurança de
um
dado rótulo de segurança. VDefinição
2.3(Dominância)
Para todo R1,R2E K,
R1 2;R2
(lê-se Rjdomina
R2) se, e somente se,nível(R1)
2
nível(R2) e categ(R¡)Q
categ(R2).4Definição 2.4
(Dominância
estrita) Para todo R¡,R26
L7{,R¡>
R2
(lê-se R1domina
estritamente R2) se, e somente se, R15
R2
e R; 75 R2.Exemplo
2.2Exemplos
da relação de dominância no conjunto de rótulos de segurança LKdo exem-
plo 2.1:
i.
(ULTRA-SECRETO,
{E})5
(ULTRA-sEcRETo, ø)
30 conjunto potência de
um
conjunto il, denotado por 22, é o conjunto de todos os subconjuntos de Ã.4Uma
relação de ordem parcial R é uma relação reflexiva (aka), transitiva (se aRb e bRc, então aRr:) e anti-simétrica (se ‹1Rb e bRa, então a=
/J).2. Modelos Clássicoside
Segurança
Computacional 9ii.
(secaero,
{E,M})
5
(Mo
cLAssiFlcADo,
{E}) iii.(CONFIDENCIAL,
{E,M})
5
(CONFIDENCIAL,
{E,M})
iv.
(sEcRETo,
{E})Í
(ULTRA-SECRETO,
{E})v.
(ULTRA-sEcRETo,
{E})z
(NAO
cLAss1FIcADo,
{E,M})
É
importante notar que,em
um
conjunto ordenado parcialmente, existem elementosa
e b taisque
aÍ
b e bÍ
a; estes elementos são ditos não-comparáveis. Por exemplo,no
conjuntoK
do
exemplo
2.1,(coNF1DENc1AL,ø)
e(NÃo-cLAssn=icADo, {E})
são não-comparáveis.Definição 2.5 (Limite inferior) Seja £B
um
subconjunto deum
conjunto parcialmente ordenadoÃ.
Um
elementom
em
Ã
échamado
de limite inferior de 13 se, para qualquerx
E
28,m
5
x, isto é, sem
preceder (for
dominado
por) cada elementoem
Qi.Definição
2.6(Ínfimo)
Seja8
um
subconjunto deum
conjunto parcialmente ordenado Ã.Se
existeum
limite inferiorm
de$
talque
m
domina
cadaum
dos outros limites inferiores de ÍB,m
échamado
de limite maior inferior (lmi) ou
ínfimo
de 9, sendo denotado porm
=
inf(B).Em
geral, 1%pode
terum,
muitosou
nenhum
limite inferior,porém
existequando
muitoum
inf($).Definição 2.7 (Limite superior) Seja
8
um
subconjunto deum
conjunto parcialmente ordenadoÃ.
Um
elementoM
em
54 échamado
de limite superior de Qi se, para qualquerx
G
fl-3,M
É
x, isto é, seM
dominar
cada elementoem
273.Definição
2.8(Supremo)
Seja$
um
subconjunto deum
conjunto parcialmente ordenado Ã.Se
existe
um
limite superiorM
de í'B tal queM
preceda cadaum
dos outros limites superiores de $,M
é
chamado
de limitemenor
superior (lms) ousupremo
de B, sendo denotado porM
=
sup(¶).Pode
haver no
máximo
um
sup(!B). .Definição
2.9 (Reticulado) Seja o conjuntoÃ
parcialmente ordenado. Se, para quaisquer elementosa,b
6
2
existem inf{a,b} e sup{a,b}, então o conjunto 52! échamado
um
reticulado.i
No
conjuntoK
de rótulos de segurança, oínfimo
é representado pelo elementocomposto
pelonível mais baixo de segurança (que é o limite inferior do conjunto
N)
e porum
conjunto vazio de ca- tegorias de segurança.O
supremo
deK
écomposto
pelo nível mais alto de segurança (limite inferior de 9\[) e por todas as categorias de segurança (o próprio conjunto C). Por exemplo, considerando oconjunto
K
doexemplo
2.1, tem-se inf(¶{_)=
(CONFlDENClAL,ø)
e sup(¶{)=
(SECRETO, {E,M}).
Verifica-se que o conjunto de rótulos de segurança
sempre
'possuium
ínfimo
eum
supremo;forma
um
reticulado de rótulos de segurança [30]. Esta conclusão é muito importante, pois é o princípio fundamental de diversos modelos de segurança,como
osmodelos
Bell-LaPadula eBiba
(discutidos, respectivamente, nas seções 2.3 e 2.4) e o
modelo
defluxo
seguro de informaçãode
Denning
[13].2.2
O
Modelo
de Matriz de Acesso
O
modelo
de matrizde
acesso [28] é omodelo
conceitual subjacente ao controle de acessodiscricionário. Neste modelo, o estado de proteção
do
sistema é representado atravésde
uma
matriz, onde as linhas correspondem aos sujeitos e as colunas correspondem aos objetosdo
sistema.Uma
célula M¡¡ representa os direitos de acesso do sujeito i sobre o objeto j.É
importante ressaltar quesujeitos
podem
sertambém
objetos. Por exemplo,um
dos acessos representados na matrizpode
sero envio de
um
sinal aum
processo; neste caso, os sujeitos correspondentes a processos deveriamser incluídos
também
nas colunas da matriz.A
figura 2.1 mostraum
exemplo
de matriz de acesso.Neste exemplo, há seis objetos, sendo três arquivos (arq 1-3), duas contas (conta 1-2) e
um
programa
(SCont).
Há
também
quatro sujeitos, sendo três usuárias (Ana, Bia e Cris) maiso programa
SCont.Os
direitos sobre arquivos são os usuais dono, r (leitura) ew
(escrita).Os
direitos sobre as contas sãoconsulta, crédito e débito.
A
programas se aplicam os direitos re w,além
de × (execução).arq 1 arq 2 arq 3
g conta
1 conta 2
SCont
dono
consulta consultaAna
r r crédito débito xW
dono
consulta consultaBia r r crédito crédito x
w
débito débitodono
ir
Cris r r consulta consulta
w
w
xr
SCont
w
rw
Figura 2.1:
Exemplo
de matriz de acessoNo
controle de acesso discricionário, a concessão e a revogação dos direitos de acesso aum
objetosão feitas pelo usuário que é
dono
desse objeto (à sua discrição). Issofomece
ao usuáriouma
grandeflexibilidade na proteção de seus objetos, o que é
uma
vantagem destemodelo
de controle de acesso.Entretanto, o controle de acesso discricionário não permite controlar a disseminação da informação.
Por exemplo, considerando a matriz de acesso da figura 2.1, Bia permite que Cris leia o seu arquivo
arq 2,
mas
proibe que estas informações sejam lidas por Ana. Entretanto, não há nada que ela possa2.
Modelos
Clássicosde Segurança
Computacional l lque possibilitaria que
Ana
lesse tais informaçõesmesmo
contra a vontade da usuária que as detém. Crispode
copiar estas informações diretamenteou
agir de maneira mais sutil, instalandoum
cavalode Tróia5
no
sistema de contabilidadeSCont
que faria sub-repticiamente a cópia das informaçõesquando
fosse executado por Bia.O
modelo
de matriz de acesso proposto porLampson
[28] éum
modelo
relativamente informal.Foram
propostos diversosmodelos
formais de segurança baseadosno
modelo
de matriz de acesso,como
oHRU
[23] e o Take-Grant [62].2.2.1
Estratégias
de
Implementação
Em
um
sistema de grande porte a matriz de acesso será bastante grande, e a maioria de suascélulas estará, provavelmente, vazia.
Sendo
assim, dificilmente a matriz de acesso é implementadacomo
uma
matriz propriamente dita. Existem duas abordagens tradicionais para a implementaçãode
matrizes de acesso: as listas de controle de acesso e as capabilities.
'
2.2.1.1 Listas
de
Controlede Acesso
Uma
das formasde
se implementaruma
matriz de acesso são as listasde
controlede
acesso(ACLs-access
control lists).Cada
objeto é associado auma
ACL,
que
indica, para cada sujeitono
sistema, os direitos que o sujeito
tem
sobre o objeto. Estaabordagem
corresponde a armazenar amatriz pelas suas colunas.
A
figura 2.2 mostra listas de controle de acesso correspondentes à matrizde acesso da figura 2.1.
arq 1: (Ana, {dono,r,w}), (Bia, {r}), (SCont, {r,w}) arq 2: (Bia, {dono,r,w}), (Cris, {r}), (SCont, {r})
arq 3: (Ana, {r}), (Cris, {dono,r,w}), (SCont, {w})
conta 1: (Ana, {consulta,crédito}), (Bia, (consulta,crédito,débito}), (Cris, {consuIta})
conta 2: (Ana, {consulta,débito}), (Bia, {consulta,crédito,débito}), (Cris, (consulta-})
SCont: (Ana, {x}), (Bia, {x}), (Cris, {r,w,×})
Figura 2.2:
Exemplo
de listas de controle de acesso jA
ACL
deum
objeto permiteuma
fácil revisão dos acessos autorizados aum
objeto. Outraoperação bastante simples
com
o uso deACLs
é a revogação de todos os acessos aum
objeto (basta substituir aACL
corrente por outra vazia). Por outro lado, a determinação dos acessos aos quaisum
sujeito está autorizado é problemática; é necessário percorrer todas as
ACLS
do
sistema para fazer este tipo de revisão de acesso.A
revogação de todos os acessos deum
sujeitotambém
requer que todas asACLS
sejam inspecionadas e, eventualmente, modificadas.5Um
cavalo de Tróia éum
fragmento de código escondido dentro deum
programa e que realiza alguma função indese- jável à revelia do usuário que executa 0 programa [50].2.2.1.2 Capabílities
As
capabilities sãouma
abordagem
dual às listas de controle de acesso.Cada
sujeito é associadoa
uma
lista (a listade
capabilities) que indica, para cada objeto no sistema, os acessos aos quais osujeito está autorizado. Isto corresponde a armazenar a matriz de acesso por linhas.
A¬figura
2.3 mostra as listas de capabilities correspondentes à matriz de acesso da figura 2.1.Ana: (arq 1, {dono,r,w}), (arq 3, {r}), (conta 1, {consulta,crédlto}), (conta 2, {consulta,déblto}),
(SCont, {×}) -
Bia: (arq 1, {r}), (arq 2, {dono,r,w}), (conta 1, {consuIta,crédito,déb¡to}), (conta 2, {consulta,crédito,débito}), (SCont, {×})
Cris : (arq 2, {r}), (arq 3, {dono,r,w}), (conta 1, {consulta}), (conta 2, {consulta}), (SCont, {r,w,×})
SCont: (arq 1, {r,w}), (arq 2, {r}), (arq 3, {w})
Figura 2.3:
Exemplo
de listas de capabilitiesAs
capabilitiespermitem
fácil verificação e revogação dos acessos autorizados paraum
determi-nado
sujeito.Em
contrapartida, a determinação de quais sujeitospodem
acessarum
objeto requera inspeção de todas as listas de capabilities
do
sistema.As
vantagens e desvantagens deACLs
ecapabilities são,
como
as próprias estratégias, ortogonais entre si.Capabilitíes são vantajosas
em
sistemas distribuídos.A
posse deuma
capability é suficientepara que
um
sujeito obtenha o acesso autorizado por esta capabilizy.Em
um
sistema distribuído,isso possibilita
que
um
sujeito se autentiqueuma
vez, obtenha a sua lista de capabilities e apresenteestas capabilities para obter os acessos aos quais ele está autorizado; os servidores precisam apenas
verificar a validade da capability para liberar o acesso [59].
2.3
O
Modelo
Bell-LaPadula
No
inícioda
década de 70, ogovemo
dos Estados Unidos financiou diversas pesquisas sobremodelos
de segurança e prevenção de violações de confidencialidade. Dois cientistas daMITRE
Corporation,
David
Bell e Leonard LaPadula, desenvolveramum
modelo
baseado nos procedimen-tos usuais de manipulação de informação
em
áreas ligadas ã segurança nacional americana. Essemodelo ficou
conhecidocomo
modelo
Bell-LaPadula, oumodelo
BLP
[5]. Existem diversas ou- tras descriçõesdo modelo
Bell-LaPadula disponíveis na literatura,como
[3, 30, 521, algumas delasapresentando pequenas variações
em
relação aomodelo
original.Na
apresentaçao originaldo modelo
[5],um
sistema é descrito através deuma
máquina
de esta-dos finitos.
As
transições de estados no sistemaobedecem
a determinadas regras. Bell e LaPadulademonstram
indutivamente que a segurança do sistema é mantida se ele parte deum
estado seguro e2. Modelos Clássicos
de Segurança
Computacional g 13A
apresentação desta seção abstrai-se da representação através demáquina
de estados, concentrando-se
em
vez disso nas regras de controle de acesso que garantem a confidencialidade da informaçãosegundo o
modelo BLP.
i2.3.1
Regras
do
Modelo
Bell-LaPadula
O
modelo
Bell-LaPadula considera os seguintes tipos de direitos de acesso sobre os objetos:o e: acesso
sem
observaçao esem
modificaçao;o r: observação
sem
modificação;o a:
modificação
sem
observação;o w: observação e modificação.
Os
direitos e, r, a ew
podem
ser geralmente associados às operações execute, read,append
ewrite, respectivamente.
É
importante ressaltar, porém, que esta associaçãopode
não ser semanti-camente significativa. Por exemplo, muitas plataformas não
têm
como
diferenciar entre acessos de leitura e execução,uma
vez que os resultados da execução refietem o conteúdo (e, portanto, constitu-em
uma
observação) doprograma
executado [5]. Outro ponto a considerar é queum
acessodo
tipow
pode
ser encaradocomo
uma
combinação
dos acessos r e a.A
presente descriçaodo
modelo
BLP
simplifica os direitos de acessodo modelo
originalda
se-guinte forma:
0
O
direito de acesso e será considerado equivalente ao direito de acesso r;6o
Uma
leitura corresponde aum
acesso de observação (r);o
Uma
escrita corresponde aum
acesso demodificação
(a);o
O
direito de acessow
corresponde a acessos simultâneos de leitura e escrita. zEstas simplificações
reduzem
a complexidade das regras eaproximam
omodelo
BLP
dos ambientescomputacionais de uso corrente, sem, no entanto, enfraquecê-lo
em
aspecto algum.O
sistema é descritoem
termos de sujeitos que acessam objetos (vide seção 2.1.5), onde cadasujeito possui
uma
habilitação e cada objeto possuiuma
classificação.A
cada sujeito está associado°Em
I'5],um
direito dc acesso e está sujeito apenas aum
controle de acesso discricionário, que não será considerado aqui por ser essencialmente dissociado do caráter obrigatório do modelo BLP.também
um
rótulo correntede
segurança, que representa a classificação mais alta dentre as informa-ções já consultadas pelo sujeito no sistema, sendo, portanto,
uma
classificação flutuante (dinâmica).A
habilitação deum
sujeito sempredomina
o seu rótulo corrente de segurança.A
propriedade de segurança
simples,também
conhecidacomo
propriedade-ssou
regrano
read up7(NRU),
dizque
um
sujeito sópode
observar informações para as quais esteja habilitado;em
outras palavras, rótulo(S) deve dominar ro'tulo(O). Por exemplo,uma
informação classificadacomo
SECRETO
sópode
ser lida por sujeitoscom
habilitaçãoSECRETO
ou
ULTRA-SECRETO.*
Definição
2.10 (Propriedade-ss)Uma
leitura deum
sujeitoS
sobreum
objeto0
é autorizada se, esomente
se, ro'tulo(S) 2; ro'tulo(0).A
propriedade-ss não é suficiente para garantir a segurança desejadado
sistema: ela não evitaque
um
sujeito malicioso coloque informações privilegiadasem
um
recipientecom
classificação inferiorà dasinformações-o
que constitui claramenteum
fluxo
não-autorizado de informação. Assim, toma-se necessário adicionar outra propriedade a ser satisfeita pelo sistema.
A
propriedade-* (lê-se propriedade estrela),também
chamada
de regrano
writedowng
(NWD),
é satisfeita se,
quando
um
sujeito tem simultaneamenteum
acesso de observação sobreum
objeto O¡e
um
acesso de modificação-sobreum
objeto O2, então rótulo(O¡) édominado
por rórulo(Oz). Porexemplo, se
um
sujeito está lendo (observando)um
objetoSECRETO,
ele sópode
escrever (modificar)um
objetoSECRETO
ou
ULTRA-SECRETO.
A
propriedade-*pode
ser refinadaem
termosdo
nívelcorrente de segurança de
um
sujeito,conforme
mostra a definição 2.11.Definição
2.11 (Propriedade-*)Um
acesso deum
sujeitoS
sobreum
objetoO
é autorizado se0 rótulo(0)
z
rótulo-corrente(S)quando o
acesso for de escrita;0 rótulo(0)
j
rótulo-corrente (S)quando
o acesso for de leitura.Há
duas observações importantes a se fazer respeito da propriedade-*. Primeiro, ela não se aplica a sujeitos de confiança:um
sujeito deconfiança
é aqueleem
quem
seconfia
a não transferir informação demodo
a quebrar a segurança,mesmo
que esta transferência seja possível.” Segundo, é importantelembrar que a propriedade-ss e a propriedade-*
devem
serambas
satisfeitas;nenhuma
delas garante,por si só, a segurança desejada.
7/Vo read up vem do fato de
um
sujeito não poder ler objetos localizados acima dele no reticulado de rótulos de segurança.SOS exemplos apresentados no texto mencionam apenas o nível de segurança
em
um
rótulo de segurança. desconside- rando as categorias (convenciona-se que todos os rótulos possuemum
conjunto vazio de categorias); evidentemente, uma implementação do modelo fará uso das categorias se elas forem pertinentes ao domínio de aplicação.“Assim chamada porque impede que um sujeito escreva
em
objetos localizados abaixo dele no rericulado de rótulos desegurança.
2¿ Modelos Clássicos de
Segurança
Computacional 152.3.2
Dinâmica do
Modelo
Bell-LaPadula
A
discussãodo modelo
Bell-LaPadula na seção anterior conceitua o rótulo corrente de segurançade
um
sujeitocomo uma
classificação fiutuante edefine
a propriedade-*em
termosdo
rótulo correntede segurança de
um
sujeito,sem
no
entanto explicitarcomo
este rótulo efetivamente flutua dentrodo
sistema. Esta seção
tem
o propósito de analisar ocomportamento
dinâmicodo
modelo BLP,
isto é,como
o
rótulo corrente de segurança deum
sujeito evolui durante a operaçãodo
sistema.”Quando
um
usuário entrano
sistema, ele recebeum
rótulo corrente de segurança que sejadomi-
nado
pela sua habilitação. Este rótulopode
ser escolhido pelo usuárioou
atribuído automaticamentepelo sistema; a
abordagem
adotada não interfere nocomportamento
dinâmico.Os
sujeitos criadosem
nome
deum
usuárioherdam
tanto a habilitaçãocomo
0 rótulo corrente de segurançado
usuário.Os
acessos destes sujeitos aos objetosdo
sistemadevem
observar a propriedade-ss e a propriedade-*.Bell e LaPadula [5]
fomecem
um
conjunto de regras para a operação deum
sistema seguro.”Uma
destas regras dita que o rótulo corrente de segurança deum
sujeito só émodificado
medianteuma
requisição explícita deste sujeito; isto significa que o rótulo corrente de segurança não flutua demaneira automática no sistema, e,
também,
que esta flutuação ocorre por iniciativado
próprio sujeito.A
regra especificatambém
que
a alteraçãodo
rótulo corrente de segurança só é autorizada se ela nãoviolar a propriedade-*. Por exemplo, seja a seguinte situação:
um
sujeito S,com
rótulo correnteNÃO-
cLAssr1='rcADo e habilitação (estática)
sEcRETo,
deseja lerum
objeto 01, que é coNi=rDEN'c1AL.A
propriedade-ss pemiite queS
leia 0¡, pois ro'tulo(S)É
ro'tulo(O1). Entretanto, essa operação nãosatisfaz a propriedade-*, pois ro'tulo(01)
í
rótulo-corrente(S). Logo,S
precisa solicitar a atualização de seu rótulo corrente de segurança para (pelo menos)CONFIDENCIAL.
Entretanto, se S, ao solicitara atualização de seu rótulo corrente para
CON
FIDENCIAL
possuirum
acesso de escrita para 02,onde
Oz
é igualmenteNÃO-CLASSIFICADO,
ele deve ter esta solicitação negada pelo sistema,uma
vezque
a sua aceitação violaria a propriedade-*.
A
regra quegovema
a atualizaçãodo
rótulo corrente de segurança nãoimpõe
qualquer restriçãoalém da
satisfaçãoda
propriedade-* e da condição de que o rótulo corrente sejadominado
pela habi- litaçãodo
sujeito. Portanto, o rótulo corrente pode tanto subircomo
descerno
reticulado de rótulosde segurança, respeitadas as condiçoes acima. Entretanto, algumas complicaçoes de natureza prática
podem
surgirem
implementaçõesdo modelo
Bell-LaPadula. Seja 0 seguinte trechoem
pseudocódi-go
[35]:“O
princípio da tranqüilidade estabelece que nenhuma operação pode alterar a classificação de objetos ativos no sistema l30]. Entretanto, implementações baseadas no modelo BLP tipicamente lançam mão de sujeitos de confiança para a reclassilicação de objetos. Vlzlšvidentemente, a noção de sistema seguro, no contexto do modelo BLP, corresponde a
um
sistema a salvo de ameaças de revelação nã<>-t\utt›i'i'/.ada.passa(Al: arquivo,
A2: arquivo)abre
Alpara leitura
lê I de Al
fecha
Alabre
A2para
escrita
escreve
Iem
A2fecha
A2Se
uma
implementação considerar que os objetosno
sistema são representados por arquivos,o
códigoacima
pode
servir de base parauma
revelação não-autorizada. SejaAl
um
objetoSECRETO
eA2
um
objeto
CON
FIDENCIAL.
Entre as linhas 2 e 4,passa tem
que ter rótulo correnteSECRETO,
paraque
possa ter acesso de leitura a Al. Entretanto, nada (a princípio)
impede que
entre as linhas4
e 5ele rebaixe seu rótulo corrente para
CONFIDENCIAL,
o que lhe pennite escrever a infonnação Ino
arquivo
A2
(linhas 5-7). Isto representaum
fiuxo
não-autorizado de informação,mas
uma
seqüênciade operações
como
esta não estáem
conformidadecom
omodelo
BLP
(uma
vez que acaba por violara propriedade-*).
Se
o controle de acesso for aplicado somente aos arquivosdo
sistema (ou seja, osarquivos
correspondem
aos objetos) não é possível permitir queum
sujeito rebaixe seu rótulo correntede segurança, sob
pena
de ocorrerem violações da propriedade-*.Embora
esta restrição seja bastanterígida, ela não deve ser percebido
como uma
limitaçãodo
modelo
Bell-LaPadula, mas, sim,como
uma
restrição imposta pelas condições de implementaçãodo
modelo.2.3.3
Limitações
do
Modelo
Bell-LaPadula
Quando
foi proposto,o
modelo
Bell-LaPadula representouum
avanço significativo ao definir for-malmente
conceitos de segurança sobre informações queseguem
classificações militares de maneira aplicável a sistemas computacionais. Ele serviu de base para diversos esforços de projeto eimplemen-
tação.
Em
parte devido a estes esforços,alguma
limitaçõesdo modelo
foram descobertas e discutidas na literatura. Discussões mais completas sobre problemasdo
modelo
BLP
podem
ser encontradasem
[3, 30, 35, 391. ,'
2.3.3.1 Escritas
Cegas
A
adoçaodomodelo
BLP
conforme apresentado na seçao 2.3.l pode acarretar problemas se osistema tiver que lidar
também com
potenciais ameaças de integridade.Quando
um
sujeito escreveem
um
objetocom uma
classificação superior à sua habilitação (o que satisfaz a propriedade-*), elenao
pode
observar os efeitos desta operaçao de escrita (o que violaria a propriedade ss); por esse2.
Modelos
Clássicosde Segurança
Computacional 17O
cenário de escritas cegas torna-seuma
preocupação namedida
em
que omesmo
sujeito con-siderado inadequado para ver o conteúdo de
um
objeto possui permissão para fazermodificações
arbitrárias neste
mesmo
objeto. Istopode
causar problemas de integridade que sópodem
ser resol-vidos através de alterações nas regras
do
modelo
BLP.
Por exemplo, escritasem
objetoscom
níveismais altos de segurança
podem
ser proibidas;um
sujeito só poderia escreverem um
objeto que tivesse omesmo
nível de segurança. Entretanto, talmodificação
restringe, de certa forma, omodelo
BLP
emuda
o
seu enfoque, que deixa de ser exclusivamente aameaça
de revelação não-autorizada e passaa ser
uma
combinação
de revelação e integridade. Por outro lado, a adoção da propriedade-* revisadaé bastante
comum em
implementações de sistemas computacionais queseguem o modelo BLP.
2.3.3.2 Sujeitos
de
Confiança
Conforme mencionado
na seção 2.3.1, Bell e LaPadula incluemno
seumodelo
a noção de sujeitosde
confiança
(trusted subjects) [5, 301.Um
sujeito deconfiança
é aqueleem
quem
seconfia
a nãoquebrar a segurança
mesmo
que alguns dos seus acessos atuais violem a propriedade-*. Neste caso,a propriedade-* _só se aplica aos demais sujeitos dosistema.
Por exemplo, o conceito de sujeitos de
confiança pode
ser usado para qualificar os processosrelacionados
com
amanutenção do
sistema, pois se o administradordo
sistema tiver que obedecer es-tritamente às regras
do modelo
BLP
ele dificilmente conseguirá realizar qualquer tarefa significativade administração. Outra classe de processos que faz uso da noção de sujeitos de
confiança compre-
ende os subsistemas mais críticos
do
sistema operacional,como
gerência dememória
e drivers de dispositivos [3]. -Tarefas
como
reclassificação e sanitizaçãon, por sua vez,também
sópodem
ser efetuadas usandoo conceito de sujeitos de confiança, e o
modelo
BLP em
si fornecepouca
orientação para detenninarquais os processos que
podem
ser considerados deconfiança
[30]. Bell eLaPadula
sustentamque
qualquer processo
no
qual se pretende confiar deve ser provado seguro [5],o
que, na grande maioriados casos, é
uma
tarefa extremamente difícil.2.3.3.3 Superclassificação
da
Informação
'Um
dos principais problemas domodelo
Bell-LaPadula reside no aspecto extremamente restri- tivo da propriedade-*.¡4 Por exemplo, seum
sujeitocom
rótulo corrente de segurançaSECRETO
UA
saniti'/.ação deum
documento corresponde it remoção das informações com classificação superior ãi do documen-to sanitizado. Por exemplo,
um
documento secreto pode passar porum
processo de sanitização onde são removidas as inl'‹›rmações secretas e classificadas, sendo o documentoresultante não-classificado.“Segundo Landwehr [30], a provisão de sujeitos de confiança é
um
reconhecimento de que a propriedade-* impõerestrições de acesso mais rigorosas do que aquelas usadas extracomputacionalmente em ambientes de segurança militar,