Você está na página 1de 48

FACULDADE SENAC DE CINCIAS EXATAS E

TECNOLOGIA

Andr Sabino Petean Galvo

Anlise dos aspectos de segurana dos protocolos de


compartilhamento NFS e CIFS

So Paulo
2005

ANDR SABINO PETEAN GALVO

Anlise dos aspectos de segurana dos protocolos de


compartilhamento NFS e CIFS

Trabalho
de
concluso
de
curso
apresentado Faculdade Senac de
Cincias Exatas e Tecnologia, como
exigncia parcial para obteno do grau de
Especialista em Segurana de Redes e
Sistemas.
Orientador: Prof. Dr. Volnys Borges Bernal

So Paulo
2005

Galvo, Andr Sabino Petean


Anlise dos aspectos de segurana dos protocolos de
compartilhamento NFS e CIFS / Andr Sabino Petean Galvo. So
Paulo, 2005.
45 f.
Trabalho de Concluso de Curso Faculdade Senac de Cincias
Exatas e Tecnologia.
Orientador: Prof. Dr. Volnys Borges Bernal.

1. Segurana da Informao 2. Protocolos NFS e CIFS I. Ttulo

Aluno: Andr Sabino Petean Galvo


Ttulo: Anlise dos aspectos de segurana dos protocolos de
compartilhamento NFS e CIFS
A banca examinadora dos Trabalhos de Concluso em
sesso pblica realizada em 09/03/2005, considerou o(a)
candidato(a):
(X) aprovado
( ) reprovado
1) Examinador(a) Prof. Msc. Luis Gustavo Gasparini Kiatake
2) Examinador(a) Prof. Murilo Rivau Fernandes
3) Presidente Prof. Dr. Adilson Eduardo Guelfi

Dedico este trabalho minha


me, cujo gosto pelo estudo me
incentivou a seguir firme em
busca de meu objetivo.

AGRADECIMENTO

minha famlia, minha namorada e


aos meus amigos, a quem tive de
dedicar menos tempo at concluir este
trabalho.
Ao meu orientador Prof. Dr. Volnys
Borges Bernal, cujos ensinamentos
propiciaram a concretizao deste
trabalho.
Ao Programa de Incentivo PsGraduao da Dataprev, do qual me
beneficiei
para
custear
minha
especializao.

Genialidade 1% inspirao e 99%


transpirao.

(Thomas Alva Edison)

RESUMO

Os protocolos NFS e CIFS permitem o compartilhamento via rede de recursos


entre sistemas com arquitetura cliente-servidor, quaisquer que sejam suas
plataformas de hardware e software. A anlise dos aspectos de segurana destes
protocolos aponta em ambos vulnerabilidades do ponto de vista da segurana da
informao, que implicam em diminuio dos nveis de eficincia dos servios de
segurana oferecidos por eles e independem das formas de implementao de
ambos, pois decorrem da estrutura e do modo de funcionamento de seus
mecanismos internos. Os servios de segurana de confidencialidade, autenticao,
integridade, disponibilidade, controle de acesso e auditoria foram considerados para
anlise, e o de irretratabilidade foi excludo porque no se aplica a um sistema de
compartilhamento de arquivos. Constatou-se neste trabalho que o protocolo NFS
no oferece os servios de confidencialidade e auditoria, oferece nveis de
segurana baixos para os servios de autenticao (de parceiros e usurios),
integridade (no acesso simultneo e na transmisso de dados) e controle de acesso,
e oferece nvel de segurana mdio para o servio de disponibilidade. J o protocolo
CIFS tambm no oferece os servios de confidencialidade e auditoria, oferece
nveis de segurana baixos para os servios de autenticao de parceiros,
integridade na transmisso de dados e disponibilidade, e oferece nveis de
segurana mdios para os servios de autenticao de usurios, integridade no
acesso simultneo e controle de acesso. Verses modificadas do NFS e do CIFS,
como por exemplo o CNFS, podem implementar os servios ausentes ou oferecidos
com baixo nvel de segurana pelas verses padro.

Palavras-chave: Segurana da Informao, Protocolos NFS e CIFS,


Compartilhamento de Rede.

ABSTRACT

The NFS and CIFS protocols permit the network sharing of resources among
client-server systems, regardless of the type of hardware or software platforms). The
analysis of these protocols security aspects points out some vulnerabilities in both of
them, in terms of information security, implying in the reduction of the efficiency level
concerning the security services offered by these protocols, regardless of their
implementation forms, as these vulnerabilities are originated by the structure and
functioning forms of the protocols internal mechanisms. The security services
concerning confidentiality, authentication, integrity, availability, access control and
auditing have been considered for analysis; irrevocability was excluded because it
does not apply to a file sharing system. Our studies have indicated that the NFS
protocol does not cover the confidentiality and auditing services, and it presents low
security levels regarding partners and users authentication services, as well as
concerning integrity (in simultaneous access and data transmission) and access
control services. The NFS protocol offers medium security level in terms of
availability service. The CIFS protocol also does not offer the confidentiality and
auditing services; and it presents low security levels regarding services such as
partners authentication, data transmission integrity and availability. CIFS presents
medium security levels concerning services such as users authentication, integrity in
simultaneous access and access control. NFS and CIFS modified versions, for
example, the CNFS, can implement the missing services, as well as those that offer
low security level in the standard versions.

Keywords: Information Security, NFS and CIFS protocols, Network Sharing.

SUMRIO
1 INTRODUO ..............................................................................................12
2 CARACTERSTICAS GERAIS DOS PROTOCOLOS NFS E
CIFS .......................................................................................................................15
2.1 Caractersticas gerais do protocolo NFS ........................................................15
2.1.1 Filosofia de funcionamento ...........................................................................16
2.1.2 Autenticao de usurios e checagem de permisses .................................17
2.1.3 Particularidades de funcionamento...............................................................18
2.2 Caractersticas gerais do protocolo CIFS .......................................................19
2.2.1 Filosofia de funcionamento ...........................................................................20
2.2.2 Autenticao de usurios e checagem de permisses .................................22
2.2.3 Particularidades de funcionamento...............................................................23

3 SERVIOS DE SEGURANA RELEVANTES PARA UM


SISTEMA DE COMPARTILHAMENTO DE ARQUIVOS ..............25
3.1 Confidencialidade (sigilo).................................................................................26
3.2 Autenticao......................................................................................................27
3.3 Integridade .........................................................................................................29
3.4 Disponibilidade..................................................................................................30
3.5 Controle de acesso ...........................................................................................31
3.6 Auditoria.............................................................................................................32

4 VULNERABILIDADES DE SEGURANA DOS


PROTOCOLOS NFS E CIFS .....................................................................33
4.1 Vulnerabilidades de segurana do protocolo NFS.........................................33
4.2 Vulnerabilidades de segurana do protocolo CIFS........................................36

5 COMPARAES ENTRE ASPECTOS DE SEGURANA


DOS PROTOCOLOS NFS E CIFS .........................................................38
5.1 Confidencialidade, irretratabilidade e auditoria .............................................38
5.2 Autenticao......................................................................................................39
5.3 Integridade .........................................................................................................39
5.4 Disponibilidade..................................................................................................40
5.5 Controle de acesso ...........................................................................................41
5.6 Tabela comparativa entre os protocolos NFS e CIFS ....................................41

6 CONCLUSO ................................................................................................44
REFERNCIAS ................................................................................................45
GLOSSRIO ......................................................................................................46

12

1 INTRODUO

Uma das maiores vantagens de se interligar computadores via rede facilitar


a troca de informaes entre eles, permitindo o compartilhamento de recursos como
sistemas

de

arquivos

diretrios,

impressoras,

etc.

Para

propiciar

compartilhamento de recursos entre computadores cujas plataformas de hardware e


software so heterogneas, foram desenvolvidos protocolos de compartilhamento
padronizados e documentados de maneira a permitir sua implantao em redes com
diversos tipos de equipamentos e sistemas operacionais.
Atualmente, devido ao uso majoritrio da pilha de protocolos TCP/IP
(Transmission Control Protocol / Internet Protocol) em redes de computadores do
mundo inteiro, e tambm devido ao uso macio dos sistemas operacionais Windows
e Unix em servidores de rede, os protocolos mais populares para compartilhamento
de recursos via rede so o NFS (Network File System), cuja verso mais difundida
a de nmero 3 (IETF, 1995), e o CIFS (Common Internet File System, anteriormente
denominado SMB - Server Message Block), na verso 1.0 (SNIA, 2002). No entanto,
existem protocolos para compartilhamento de recursos cujo uso mais restrito,
como por exemplo o AppleTalk e o AFP (Apple File Protocol), usados em sistemas
operacionais Apple Macintosh, e o NFSP (NetWare File Sharing Protocol), usado em
redes Novell NetWare.
Os protocolos NFS e CIFS diferem substancialmente em suas caractersticas
estruturais e de funcionamento, inclusive no que se refere aos mecanismos
responsveis pela segurana dos recursos compartilhados por meio deles. E apesar
destes dois protocolos serem implementveis em diversos sistemas operacionais, no
que se refere aos servidores usados para compartilhamento de arquivos, o primeiro

13
majoritariamente implementado em sistemas operacionais da famlia Unix, e o
segundo, em sistemas da famlia Windows. As origens distintas do NFS e do CIFS,
detalhadas mais adiante, constituem uma razo plausvel para tal segmentao.
O compartilhamento de recursos precisa ser feito de forma segura, para que
as informaes circulantes na rede sejam protegidas de adulteraes e entidades
no autorizadas no obtenham acesso a elas. No entanto, os protocolos NFS e CIFS
foram projetados duas dcadas atrs, quando no havia a mesma preocupao com
a segurana da informao que h hoje em dia, e mesmo tendo passado por
modificaes importantes ao longo destes vinte anos, tanto o NFS quanto o CIFS
possuem em suas verses mais recentes vulnerabilidades de segurana
conhecidas.
O objetivo deste trabalho analisar os aspectos de segurana dos protocolos
NFS e CIFS, tomando por base suas particularidades de funcionamento e enfocando
o compartilhamento de arquivos em rede para sistemas de arquitetura clienteservidor. O levantamento das vulnerabilidades de segurana e a anlise comparativa
entre os dois protocolos foram elaborados de acordo com o estudo dos padres
normativos definidos e documentados pelas entidades internacionais competentes
pela RFC da IETF (Internet Engineering Task Force), no caso do NFS, e pela
referncia tcnica da SNIA (Storage Networking Industry Association), no caso do
CIFS e de maneira que independam das formas de implementao de ambos os
protocolos.
Segue a organizao dos demais captulos deste trabalho:

Captulo 2 - descreve as caractersticas gerais dos protocolos NFS e CIFS,


enfocando o funcionamento dos mecanismos de compartilhamento de arquivos;

14

Captulo 3 apresenta conceitualmente os servios de segurana da informao,


restringindo-se aos servios de segurana relevantes para um sistema de
compartilhamento de arquivos;

Captulo 4 destaca as principais vulnerabilidades de segurana dos protocolos


NFS e CIFS, constatadas por meio da anlise dos seus mecanismos de
funcionamento;

Captulo 5 traz comparaes entre aspectos de segurana dos protocolos NFS


e CIFS, enumerando para cada servio de segurana os aspectos em que os
dois protocolos se equiparam, como tambm os aspectos nos quais um protocolo
leva vantagem sobre o outro;

Captulo 6 faz a concluso deste trabalho, com as consideraes finais e


sugestes para trabalhos futuros.

15

2 CARACTERSTICAS GERAIS DOS PROTOCOLOS NFS E


CIFS

2.1 Caractersticas gerais do protocolo NFS

Desenvolvido pela empresa fabricante de computadores Sun Microsystems,


que em 1985 o distribuiu pela primeira vez, em conjunto com o sistema operacional
SunOS 2, o protocolo NFS (IETF, 1995) prov acesso remoto transparente a
arquivos

compartilhados

via

rede,

foi

desenvolvido

para

funcionar

independentemente de equipamento, sistema operacional, arquitetura de rede e


protocolo de transporte. Tal independncia obtida por meio do uso da RPC
(Remote Procedure Call - chamada de procedimento remoto), cujos protocolos so
descritos usando a XDR (eXternal Data Representation - representao externa de
dados) (ALMEIDA, 1997).
A RPC uma biblioteca de procedimentos por meio da qual um processo
(processo cliente) pode fazer com que um outro processo (processo servidor)
execute uma chamada a um procedimento como se o fizesse em seu prprio espao
de endereamento. Desta maneira, o processo cliente e o processo servidor no
precisam residir na mesma mquina.
A XDR especifica um padro para formato de dados portvel, e utilizada
pelas chamadas RPC para assegurar que os dados sejam representados da mesma
maneira em computadores, sistemas operacionais e linguagens de programao
distintos. Esta padronizao tambm resolve o problema dos diversos alinhamentos

16
estruturais, ordenao de bytes, e representaes de tipos de dados em mquinas
diferentes que se comunicam.

2.1.1 Filosofia de funcionamento

Os clientes NFS so os responsveis pelo trabalho relativo converso do


acesso a arquivos genrico, provido pelos servidores, em um mtodo de acesso a
arquivos utilizvel por aplicaes e usurios. O protocolo NFS assume uma
implementao stateless de servidor (STERN, 1992), pois o servidor no precisa
manter informao sobre o estado de qualquer um dos seus clientes para funcionar
corretamente. Em caso de pane isto uma vantagem, pois um cliente precisa
apenas de refazer a tentativa de requisio at que o servidor responda, sem tomar
conhecimento da pane ocorrida com o servidor. Porm em muitos casos o servidor
NFS mantm um cache de operaes prvias, no intuito de melhorar seu
desempenho.
Dois nveis de transparncia so proporcionados pela montagem de um
sistema de arquivos, utilizando NFS:

para o cliente, o sistema de arquivos parece residir no disco ligado ao sistema


local, e os arquivos e diretrios, sejam eles locais ou remotos, so vistos da
mesma forma, pois o servidor esconde a localizao do arquivo na rede;

o servidor esconde a estrutura de seu sistema de arquivos, fazendo com que


o sistema de arquivos remoto parea ter a mesma estrutura que a do cliente.

O NFS realiza o primeiro nvel de transparncia definindo um conjunto genrico de


operaes de sistema de arquivos, executados como um sistema virtual (VFS

17
Virtual File System), e o segundo nvel surge na definio de ns virtuais (vnodes
virtual nodes) relacionados s estruturas inode do sistema de arquivos do Unix, mas
que ocultam a real estrutura do sistema fsico de arquivos.
Aes que operam em todo o sistema de arquivos, como verificar a
quantidade de espao restante no sistema de arquivos, so chamadas operaes
VFS. Chamadas que operam em arquivos ou diretrios so operaes vnode. No
lado do servidor, implementar um VFS envolve converter as operaes genricas de
VFS e vnode em aes apropriadas para o sistema de arquivos real subjacente.
Esta converso ocorre de forma invisvel ao processo do cliente, que faz uma
chamada de sistema direta, transformada pelo cliente VFS em uma operao vnode,
convertida pelo servidor em uma operao equivalente, porm adequada ao seu
sistema de arquivos.

2.1.2 Autenticao de usurios e checagem de permisses

Cada chamada RPC possui um campo para parmetros de autenticao, e o


contedo deste campo determinado pelo tipo de autenticao usado por
servidores e clientes NFS (IETF, 1995). Um servidor pode suportar, ao mesmo
tempo,

vrias

modalidades

de

autenticao,

identificadas

pelos

seguintes

parmetros:

AUTH_NONE - autenticao nula, no h passagem de informao de


autenticao;

AUTH_UNIX - autenticao Unix, por meio dos IDs de usurio e de grupo


fornecidos pelo cliente;

18

AUTH_DES - autenticao por meio de um esquema de chaves pblicas, com


troca de chaves de sesso encriptadas com o algoritmo DES;

AUTH_KERB - autenticao por meio do esquema Kerberos (chaves


privadas), com troca de chaves de sesso encriptadas com o algoritmo DES.

O servidor NFS verifica permisses ao obter, em cada requisio remota, as


credenciais contidas na informao de autenticao da chamada RPC, sendo que
no modelo de autenticao Unix so usados os IDs de usurio e de grupo, o que
implica no compartilhamento da lista de IDs por parte do cliente e do servidor, ou em
um mapeamento local dos IDs de usurio e grupo, por parte do servidor. Na prtica,
tipicamente o servidor segue um esquema de mapeamento esttico, ou um
mapeamento estabelecido pelo usurio que faz uso do cliente NFS no momento da
montagem.

2.1.3 Particularidades de funcionamento

O comportamento padro da RPC, enquanto protocolo de ligao, conectar


cliente e servidor usando o nmero de verso NFS mais alto que ambos suportarem.
A implementao do NFS Version 3 (NFSv3) usualmente combina um projeto
stateless com a escolha de um protocolo de transporte de rede no confivel o
UDP, normalmente usando a porta 2049 e isto implica na possibilidade de
retransmisso, inclusive com possveis danos, de requisies no-idempotentes.
Quando usado no contexto de um servidor de arquivos, o termo idempotente pode
distinguir entre tipos de operaes; uma requisio idempotente uma requisio
que o servidor pode executar mais de uma vez com resultados equivalentes

19
algumas operaes NFS so obviamente no-idempotentes, pois no podem ser
reprocessadas sem ateno especial simplesmente porque podem falhar se for feita
uma segunda tentativa (ex.: um arquivo s pode ser removido uma nica vez).
Contudo, o protocolo NFS tambm pode ser implementado com o protocolo
de transporte TCP, sendo que para o NFS Version 4 (NFSv4), mais recente e ainda
pouco utilizado, a RFC recomenda o uso de protocolos de transporte com controle
de congestionamento; incluem-se nesta condio os protocolos SCTP e TCP, sendo
que este ltimo permite maior interoperabilidade.

2.2 Caractersticas gerais do protocolo CIFS

O protocolo CIFS (SNIA, 2002) tem por objetivo prover um mecanismo aberto,
e independente de plataforma, para sistemas clientes requisitarem servios de
arquivo de sistemas servidores da rede. O CIFS baseado no padro do protocolo
SMB, originalmente desenvolvido pela Intel e pela Microsoft no incio dos anos 80
para ser executado em redes locais do tipo PC-Network (substitudas posteriormente
pelo padro Ethernet), que faziam uso do protocolo NetBIOS (Network Basic
Input/Output System). Inmeros aplicativos foram escritos para uso com a interface
de programao do NetBIOS, o que motivou vrios fornecedores de software,
mesmo aps o surgimento de novos padres para redes locais, a implement-lo
sobre outros protocolos de rede, dentre eles o TCP/IP.
A partir do lanamento do sistema operacional Windows 2000, passou a ser
suportado o transporte de pacotes SMB sobre TCP/IP sem encapsulamento
NetBIOS, porm para manter a compatibilidade com seus predecessores o Windows

20
2000 inclui suporte a este encapsulamento. Em 1996, por razes meramente
mercadolgicas, a Microsoft renomeou o protocolo SMB e deu a ele o nome de
CIFS. Hoje em dia, esta nova designao mais usada como referncia ao conjunto
de aplicativos que habilitam o compartilhamento de diretrios, arquivos, impressoras
e outros dispositivos conectados em rede, enquanto que o termo SMB usado
tipicamente quando discutido o protocolo de compartilhamento de arquivos em si.

2.2.1 Filosofia de funcionamento

No sentido de realizar acesso a um arquivo em um servidor CIFS (SNIA,


2002), um cliente tem de:

analisar e segmentar o nome completo deste arquivo para determinar o nome


do servidor;

determinar o nome relativo do arquivo dentro deste servidor;

resolver o nome do servidor para um endereo da camada de transporte


(obter o endereo IP, usando DNS Domain Name System ou NetBIOS);

conectar-se ao servidor (se no houver alguma conexo estabelecida


disponvel) e ento trocar mensagens CIFS com ele.

A primeira mensagem deve indicar os dialetos do protocolo CIFS suportados pelo


cliente, os quais sero comparados com a lista de dialetos suportados pelo servidor,
que por sua vez retornar uma mensagem respondendo qual dialeto escolheu.
Uma vez estabelecida a conexo, as regras para seu encerramento confivel
so:

21

se um servidor receber de um cliente - com o qual j est conversando - uma


requisio para estabelecer uma conexo de transporte, ele deve encerrar
todas as outras conexes de transporte com este cliente, no intuito de
propiciar ao cliente recuperar-se de uma situao de reinicializao repentina,
em que no foi possvel terminar de forma limpa suas atividades de
compartilhamento de recursos com o servidor;

um servidor pode derrubar a conexo de transporte com um cliente a


qualquer momento, se este cliente estiver gerando requisies ilgicas ou
malformadas, contudo o servidor deve primeiro retornar ao cliente um cdigo
de erro que indique a causa do fechamento da conexo, sempre que
possvel;

se um servidor obtiver um erro irrecupervel no transporte para um cliente


(ex.: falha de envio) a conexo deve ser abortada;

um servidor pode terminar a conexo de transporte quando um cliente no


tiver recursos abertos nele, no entanto para auxiliar seu desempenho
recomenda-se o trmino da conexo depois de decorrido algum tempo ou se
os recursos do servidor estiverem escassos.
O protocolo CIFS inclui um mecanismo denominado oplocks (opportunistic

locks, ou travas oportunistas), que permite ao cliente bloquear um arquivo de


maneira revogvel pelo servidor em determinadas condies, com o propsito de
propiciar ao cliente fazer um cache seguro de dados de arquivo. H trs tipos de
oplocks:

exclusivo, capaz de garantir a um cliente que ele seja o nico a abrir um


determinado arquivo;

22

batch, que permite a um cliente adiar o fechamento de um arquivo aberto e


reaberto repetidamente por uma aplicao;

nvel II, que pode ser revogado pelo servidor sem que o mesmo espere por
uma resposta do cliente, garantindo somente que esta revogao acontea
antes de um outro cliente escrever no arquivo com sucesso.
Dois outros mecanismos habilitam que um cliente controle como outros

clientes acessam um arquivo, byte range lock e sharing lock (bloqueios de seqncia
de bytes e de compartilhamento, respectivamente), que podem ser mantidos por
quanto tempo o cliente desejar e ficam expostos aplicao, a qual tem controle
explcito sobre a obteno e a liberao destes tipos de bloqueios.

2.2.2 Autenticao de usurios e checagem de permisses

O protocolo CIFS requer autenticao de usurios no servidor para permitir


acesso aos arquivos, e cada servidor autentica seus prprios usurios. Um servidor
requer do cliente o provimento de um nome de usurio e de alguma prova de
identidade, na maioria das vezes uma derivao criptogrfica de uma senha, para
permitir o acesso aos seus recursos. A granularidade de autorizao fica por conta
do servidor, que pode usar, por exemplo, o nome da conta para conferir listas de
controle de acesso individualmente nos arquivos, ou ter uma lista de controle de
acesso que se aplique a todos os arquivos na rvore de diretrio.
Quando um servidor valida o nome da conta e a senha apresentados pelo
cliente, um identificador que representa esta instncia autenticada do usurio
retornado para o cliente no campo UId da resposta SMB. Este UId deve ser includo

23
em todas as requisies subseqentes feitas em benefcio do usurio daquele
cliente. A autenticao de usurio permite ao servidor verificar se o cliente conhece
a senha de um usurio, e a autenticao de mensagem permite ao servidor e ao
cliente a verificao das mensagens de uma sesso. O servidor determina, por meio
do campo SecurityMode da mensagem CIFS, o estilo de autenticao a ser usado
por seus clientes nas requisies de arquivos compartilhados.
A autenticao de usurio baseada no conhecimento compartilhado da sua
senha, e o estilo desta autenticao pode envolver o envio pelo cliente de senhas
em texto puro para o servidor (desencorajado porque expe a senha do usurio, e
desabilitado por padro), ou ainda envolver um protocolo de desafio/resposta, pelo
qual o servidor envia um desafio ao cliente e recebe dele uma resposta
comprobatria de seu conhecimento da senha de usurio. Esta resposta criada a
partir do desafio pela encriptao do mesmo com uma chave de sesso de 168 bits,
derivada da senha do usurio, e ento retornada ao servidor para que este a valide
por meio do mesmo clculo computacional.
Mensagens entre servidor e cliente podem ser autenticadas ao se computar
um cdigo MAC (Message Authentication Code) anexo a cada mensagem,
construdo com uma chave MD5 de forma anloga a do protocolo IPSec, usando
uma chave MAC computada da chave de sesso e usando tambm a resposta ao
desafio do servidor. O cdigo MAC se situa tanto sobre o texto da mensagem como
sobre um nmero seqencial implcito, para prevenir ataques de repetio.

2.2.3 Particularidades de funcionamento

24
Como mencionado anteriormente, a partir do lanamento do sistema
operacional Windows 2000, a Microsoft introduziu o protocolo SMB executado
diretamente sobre o protocolo TCP e sem necessidade de suporte NetBIOS, e o
renomeou para CIFS (no h, at o momento presente, opo de uso do protocolo
UDP). No somente foi dispensado o NetBIOS, como todos os sistemas de apoio
(como resoluo de nomes, navegao e at autenticao) foram substitudos por
servios padronizados. A resoluo WINS, por exemplo, foi substituda pelo DNS
dinmico, e agora o sistema Kerberos usado para autenticao. No mago destas
alteraes reside o servio Active Directory do Windows 2000, baseado no padro
X.500.

25

3 SERVIOS DE SEGURANA RELEVANTES PARA UM


SISTEMA DE COMPARTILHAMENTO DE ARQUIVOS

Conceitualmente, um servio de segurana uma funcionalidade


relacionada segurana que pode vir a ser oferecida por um componente de
software (STALLINGS, 1998). O suporte do componente de software a este servio
de segurana depende dos seguintes fatores:

da relevncia do servio de segurana em relao finalidade do software;

do nvel de segurana almejado;

do custo envolvido;

da viabilidade tecnolgica.

Desta forma, qualquer concepo de sistema de compartilhamento de arquivos o


qual no deixa de ser um componente de software - deve considerar tais fatores na
definio de quais servios de segurana este sistema ir implementar, e em que
nvel de segurana eles sero oferecidos.
Para simplificar a avaliao dos servios de segurana oferecidos por um
sistema de compartilhamento de arquivos, neste trabalho ser atribudo um nvel de
segurana para cada um destes servios nvel baixo, mdio ou alto - como
acontece no seguinte exemplo: na transferncia de arquivos de um sistema servidor
para um sistema cliente, o servio de segurana de sigilo pode ser oferecido com o
uso de criptografia simtrica, mas se o algoritmo usado for fraco e exigir pouco
esforo computacional para ser decifrado, o nvel de segurana deste servio pode
ser considerado baixo.

26
A seguir sero descritos os servios de segurana sugeridos para
implementao em um modelo conceitual de protocolo de compartilhamento de
arquivos (exclui-se o servio de irretratabilidade, no aplicvel neste contexto).

3.1 Confidencialidade (sigilo)

Com referncia a sistemas de compartilhamento de arquivos, o servio de


confidencialidade precisa abranger no somente arquivos e diretrios como tambm
as informaes de autenticao, como chaves de sesso e IDs de usurios. As
entidades no autorizadas devem ser impedidas de tomar conhecimento do
contedo dos arquivos armazenados no servidor, e das informaes contidas nos
dados que trafegam pelo canal de comunicao entre este servidor e seus clientes,
sendo que para este fim considera-se como entidade um usurio, aplicativo,
processo do sistema, equipamento ou computador.
Qualquer informao armazenada ou transmitida em texto puro est
vulnervel do ponto de vista do sigilo, contudo se for implementado em ambas as
situaes um protocolo de criptografia de dados, dois problemas importantes
apresentam-se:

o desempenho do sistema de compartilhamento de arquivos fica prejudicado,


de forma diretamente proporcional ao poder computacional exigido em cada
operao de encriptao ou decriptao de dados, e quantidade de
repeties destas operaes exigida pela leitura, escrita e execuo dos
arquivos;

27

o sigilo das informaes depender tambm da implementao de um


mecanismo seguro de distribuio de chaves criptogrficas entre clientes e
servidores de arquivos.

3.2 Autenticao

O servio de autenticao subdivide-se em dois tipos, no que se refere aos


protocolos de compartilhamento de arquivos:

a autenticao do parceiro de comunicao nas interaes entre entidades,


comprobatria da identidade dos parceiros e certificadora de que nenhuma
destas entidades impostora;

a autenticao de um usurio no sistema, a qual garante a autenticidade do


usurio que requisita um recurso do servidor, verificando se este usurio no
um impostor.
Tradicionalmente, em uma rede que utilize a pilha de protocolos TCP/IP, o

mecanismo de autenticao das entidades parceiras de comunicao a verificao


de endereo IP. O nvel de segurana deste mecanismo de autenticao muito
baixo, pois um equipamento impostor pode facilmente se fazer passar por uma das
entidades

parceiras caso assumisse o endereo IP dela. Uma maneira

recomendvel de se autenticar os parceiros em uma conexo remota usar


criptografia assimtrica, estabelecendo uma conexo segura e autenticada entre as
duas entidades, na medida em que somente com sua chave privada uma entidade
pode decifrar uma mensagem enviada pela entidade parceira, j que a parceira usa
a chave pblica daquela entidade para criptografar a mensagem. Este mecanismo

28
usado, por exemplo, pelos protocolos SSL (Secure Socket Layer) e SSH (Secure
Shell),

muito empregados

atualmente

para autenticao

de parceiros

de

comunicao, respectivamente em servidores WWW (World Wide Web) e servidores


de acesso remoto.
A ttulo de exemplo, um mecanismo semelhante ao de assinatura
digital seria uma alternativa para autenticar usurios com um bom nvel de
segurana, mesmo que para seu funcionamento seja necessrio implementar um
sistema centralizado de gerenciamento e distribuio de chaves criptogrficas
assimtricas via rede. O mecanismo sugerido funcionaria da seguinte maneira: a
cada requisio do cliente, o servidor de arquivos receberia uma mensagem de
autenticao de usurio, a qual teria anexo um hash de seu contedo, criptografado
com a chave privada do usurio. O servidor, por sua vez, aplicaria na mensagem o
mesmo algoritmo usado pelo cliente para gerar o hash e decifraria o contedo
criptografado com a chave pblica do usurio, comparando o hash decifrado com o
hash que ele mesmo gerou. Caso os hashes sejam realmente idnticos, comprovase a identidade do usurio responsvel pela requisio remetida pelo cliente.

Fluxograma 1 Assinatura Digital

29
Fonte: Trinta; Macedo, 1998

3.3 Integridade

Em um sistema de compartilhamento de arquivos, imprescindvel que o


protocolo utilizado garanta um alto nvel de segurana para o servio de integridade,
tanto no transporte quanto no armazenamento dos dados compartilhados entre
clientes e servidores. Alm de impedir que entidades no autorizadas modifiquem o
contedo de quaisquer arquivos compartilhados na rede, o servio de integridade do
protocolo de compartilhamento precisa controlar tambm os acessos simultneos a
estes arquivos, no intuito de evitar a corrupo acidental do contedo dos mesmos.
Quanto manuteno da integridade das informaes trocadas entre clientes
e servidores que compartilham arquivos, durante a transmisso das mesmas, faz-se
necessria a preveno contra ataques capazes de explorar vulnerabilidades do
servio de integridade existentes nesta transmisso. Um destes ataques o Man In
The Middle, por meio dos quais entidades no autorizadas obtm acesso aos dados
que trafegam via rede, ao se interporem no caminho entre os parceiros de uma
comunicao em andamento, e podem alterar esses dados sem que nenhuma das
entidades parceiras detecte suas intervenes. O emprego de criptografia
(algoritmos de hash e verificadores criptogrficos) na transmisso de informaes
pela rede eficiente contra este tipo de ataque, porm o nvel de segurana fica
comprometido se clientes e servidores de arquivos trocarem chaves simtricas por
meio da rede, pois elas podem ser capturadas por terceiros e usadas para violar a
comunicao entre os parceiros.

30
Para evitar adulterao ou perda de informaes, mesmo que acidentais,
necessrio manter um nvel satisfatrio de segurana nas operaes em que dois ou
mais clientes requisitam acesso simultneo a arquivos compartilhados por um
servidor. Conforme foi descrito no Captulo 2, as implementaes atuais do protocolo
CIFS j utilizam os mecanismos denominados oplocks, byte range lock e sharing
lock, com a finalidade de gerenciar o compartilhamento simultneo de arquivos, e
tais mecanismos garantem um bom nvel de segurana ao servio de integridade.
3.4 Disponibilidade

Indubitavelmente, quando um recurso relacionado a um sistema de


informao implementado em uma corporao, instituio de ensino ou mesmo em
um laboratrio, espera-se que sua taxa de disponibilidade seja prxima de 100%, ou
seja, o sistema deve estar pronto para atender a uma requisio de uso a qualquer
momento. com o objetivo de garantir que os dados compartilhados em uma rede
estejam sempre disponveis para os usurios autorizados, que se implementam nos
servidores de arquivos mecanismos capazes de manter em nveis aceitveis o
servio de segurana de disponibilidade. Entende-se por disponibilidade, neste caso,
no somente o funcionamento ininterrupto do sistema de compartilhamento de
arquivos, mas tambm um desempenho prximo do ideal, compatvel com os
recursos fsicos e lgicos empregados nele.
Um bom modelo de protocolo de compartilhamento de arquivos aproveitaria
as caractersticas dos protocolos NFS e CIFS que propiciam um bom nvel de
segurana para o servio de disponibilidade, como a recuperao rpida em caso de
pane (NFS) e o controle eficiente das conexes entre cliente e servidor (CIFS), e

31
eliminaria as vulnerabilidades relativas disponibilidade, como a incapacidade de
diferenciar um servidor lento de um servidor inoperante (NFS) e o funcionamento
dependente de um servio de resoluo de nomes (CIFS) as quais sero
detalhadas mais adiante.
H tambm solues de compartilhamento de arquivos cujo armazenamento
de dados no feito por um servidor centralizado, o que permite redundncia no
fornecimento de acesso a arquivos e diretrios, e garante o servio de
disponibilidade em caso de falha de servidor. Um exemplo interessante deste tipo de
soluo o GFS (Global File System) (SOLTIS; RUWART; OKEEFE, 1996),
sistema em que vrios dispositivos de disco, distribudos em ns independentes e
interligados via rede, so logicamente agrupados em um espao de armazenamento
unificado denominado NSP (Network Storage Pool). O NSP faz com que o sistema
de arquivos aparente ser local para cada n, enquanto o GFS sincroniza o acesso a
arquivos em todo o bloco de dispositivos. O GFS totalmente simtrico (todos os
ns de armazenamento so iguais e no h um servidor centralizado que poderia
representar um gargalo ou ponto individual de falha), usa cache para leitura e
gravao e mantm plenamente a semntica do sistema de arquivos Unix.

3.5 Controle de acesso

O nvel de segurana do servio de controle de acesso implementado por um


protocolo de compartilhamento de arquivos est fortemente vinculado ao nvel de
segurana do servio de autenticao, pois um servidor precisa identificar
inequivocamente os usurios responsveis pelas requisies de acesso recebidas
por ele, para garantir que somente as entidades autorizadas consigam acesso aos

32
seus arquivos, como tambm que as autorizaes de acesso sejam concedidas
apenas pelos responsveis e que no sejam alteradas indevidamente. Assim sendo,
para implementar o servio de controle de acesso com um bom nvel de segurana,
um servidor de compartilhamento de arquivos deve gerenciar de forma segura as
permisses de acesso concedidas aos seus clientes em decorrncia da autenticao
dos mesmos.
O gerenciamento do servio de controle de acesso pode ser feito pelo
protocolo de compartilhamento de arquivos em conjunto com o sistema operacional,
usando listas de controle de acesso (ACLs) e um sistema centralizado de
gerenciamento de IDs de usurios, nos moldes do que atualmente se implementa
com o protocolo CIFS em redes com o sistema operacional Windows 2000 instalado
no controlador de domnio. Desta maneira alcana-se um bom nvel de segurana.

3.6 Auditoria

Armazenar informaes sobre as requisies recebidas de seus clientes seria


a nica maneira de um servidor de arquivos propiciar a auditoria da utilizao dos
arquivos compartilhados. Neste caso, o nvel de segurana oferecido pelo servio de
auditoria diretamente proporcional ao detalhamento das informaes coletadas
pelo servidor, e das informaes constantes em cada pacote de dados gerado pelo
cliente, conforme o padro do protocolo de compartilhamento.
Contudo, deve-se evitar a coleta excessiva de informaes sobre a utilizao
dos arquivos compartilhados, porque o armazenamento das mesmas no servidor e a
sobrecarga nos pacotes que trafegam pela rede a cada requisio dos clientes
podem ocasionar lentido no funcionamento do sistema como um todo.

33

4 VULNERABILIDADES DE SEGURANA DOS


PROTOCOLOS NFS E CIFS

As vulnerabilidades de segurana dos protocolos NFS (IETF, 1995) e CIFS


(SNIA, 2002) descritas a seguir advm das particularidades estruturais e de
funcionamento destes protocolos, e independem das formas de implementao dos
mesmos. Consideram-se nesta anlise as vulnerabilidades referentes ao provimento
dos servios de segurana da informao descritos no Captulo 3.
De incio, ressalta-se que nenhum dos dois protocolos se prope, em sua
concepo, a prover o servio de confidencialidade. Para garantir este servio de
segurana seria necessrio aplicar mtodos criptogrficos no armazenamento de
dados no servidor e no transporte de dados entre ele e seus clientes, mas tais
mtodos no so suportados pelo NFS e pelo CIFS em suas formas nativas,
exigindo uso de aplicativos adicionais. Outrossim, no faz parte da proposta do NFS
e do CIFS o servio de auditoria, pois clientes e servidores de ambos os protocolos
no guardam registros que propiciem a identificao inequvoca das entidades que
realizaram operaes de compartilhamento de arquivos, a cronologia destas
operaes e a quantificao das mesmas.

4.1 Vulnerabilidades de segurana do protocolo NFS

34
As chamadas RPC, usadas para a comunicao entre o cliente e o servidor
NFS, incluem parmetros de segurana usados especificamente para autenticar o
sistema cliente junto ao servidor, pois a autenticao do usurio solicitante do
acesso via NFS feita apenas no momento em que este usurio realiza o login no
sistema cliente. Adicionalmente, o servidor pode controlar o acesso ao servio
portmapper servio do Unix que administra o NFS - por meio da configurao de
uma lista de sistemas clientes permitidos (identificados pelo endereo IP).
Dentre os tipos de autenticao usados pelo servidor NFS para autenticar as
transmisses de dados compartilhados com seus clientes, dois no oferecem
segurana alguma: o nulo, no qual nenhuma informao de autenticao
transferida; e o de credenciais de sistema, em que so informados os identificadores
de usurio e grupo do Unix, os quais podem ser facilmente obtidos por quaisquer
usurios do sistema operacional, permitindo a qualquer um se fazer passar pelo
verdadeiro usurio. Outros dois tipos de autenticao oferecem alguma segurana
com o uso de chaves de sesso cifradas, contudo isto feito por meio de algoritmos
fracos para os padres atuais: um dos tipos com esquema de chaves pblicas DiffieHellman e o outro com chaves privadas Kerberos verso 4 - ambos os tipos usando
criptografia pelo algoritmo DES.
O servidor NFS (STERN, 1992) deixa transparente a localizao dos arquivos
na rede, fazendo com que, para seus clientes, o sistema de arquivos remoto parea
residir no disco ligado ao sistema local; tanto arquivos quanto diretrios so vistos da
mesma forma, sejam eles locais ou remotos (embora a localizao efetiva de
arquivos ou diretrios possa ser facilmente verificada com o uso de comandos NFS).
Esta transparncia pode facilmente acarretar em alteraes ou remoes acidentais

35
de arquivos e diretrios por parte do cliente, causando danos integridade dos
dados compartilhados pelo servidor NFS.
No h mecanismo de recuperao para operaes incompletas caso o
servidor NFS eventualmente fique indisponvel, as requisies RPC podem ser
repetidas e os clientes NFS so notificados por meio de um acknowledgement
(pacote que informa o reconhecimento dos dados) a cada requisio completada;
cada pedido NFS contm informao suficiente para seu atendimento, sem qualquer
referncia de estado no cliente ou no servidor.
Desta forma, o tempo de recuperao necessrio para que um servidor NFS
volte a funcionar aps uma parada minimizado, porm os clientes NFS no
conseguem diferenciar um servidor que parou de funcionar de um servidor muito
lento, e aps um tempo de espera (timeout) seguem retransmitindo pedidos at que
os mesmos sejam completados, seja por meio de um acknowledgement do servidor
ou devido a um erro de chamada RPC. Este comportamento gera sobrecarga
desnecessria no trfego de pacotes entre o servidor NFS e seus clientes, que pode
acarretar em diminuio da disponibilidade dos recursos de rede para outros
servios oferecidos pelo servidor.
Uma rede de compartilhamento de arquivos pelo protocolo NFS pra de
funcionar se o servidor for restaurado e os clientes no forem reinicializados, pois
quando feita a reconstruo dos sistemas de arquivo do servidor todos os nmeros
de inode (identificador do arquivo no disco para um sistema Unix) anteriormente
gerados so reconfigurados, fazendo com que todos os file handles (manipuladores
de arquivos) dos clientes tornem-se invlidos, em virtude do processo randmico de
renumerao dos inodes que ocorre na restaurao dos sistemas de arquivo do
servidor.

36
A semntica do sistema de arquivos Unix no totalmente atendida pelo
servio NFS. Neste sistema operacional possvel travar um arquivo aberto (lock),
de forma que outros processos no obtenham acesso a ele, e quando este arquivo
fechado o lock liberado; tal operao garante a integridade do arquivo que est
sendo usado por algum processo do sistema local. Em um servidor stateless como o
NFS, no se pode associar um lock a um arquivo aberto, porque o servidor no sabe
quais arquivos esto abertos. No entanto, o cliente NFS pode emular o travamento
de um arquivo, como feito, por exemplo, quando uma operao de remoo
dirigida a um arquivo aberto: o cliente envia um pedido RPC NFS para renomear o
arquivo, acrescentando ao seu nome os caracteres .nfs e um sufixo que torna este
nome nico para o sistema; quando eventualmente o arquivo fechado, o cliente
ento efetua a operao de remoo do arquivo previamente desvinculado.

4.2 Vulnerabilidades de segurana do protocolo CIFS

Um cliente CIFS (SNIA, 2002) obrigatoriamente deve ter meios de resolver o


nome de um servidor CIFS para um endereo de rede, seja por meio dos protocolos
NetBIOS ou DNS, e este servidor tambm obrigatoriamente deve registrar seu nome
em um servio de resoluo de nomes conhecido de seus clientes. Esta imposio
implica em uma dependncia do servio CIFS em relao ao servio de resoluo
de nomes disponvel na rede local, a qual compromete a disponibilidade do servidor,
pois no caso de indisponibilidade do mesmo o servio CIFS no ir funcionar. De
maneira anloga, pelo fato do protocolo CIFS ser dependente do DNS ou do
NetBIOS (este ltimo ainda implementado por razes de compatibilidade), caso seja

37
explorada uma vulnerabilidade de segurana de um destes dois protocolos e o
servio de resoluo de nomes seja usado de forma maliciosa por uma entidade
atacante, o servidor CIFS sofrer indiretamente as conseqncias deste ataque.
Recomenda-se por padro que no se habilite a autenticao dos usurios
com envio de senhas em texto puro para um servidor CIFS, pois isto expe a senha
do usurio a qualquer aplicao que tenha acesso rede. Esta vulnerabilidade
evitada se os sistemas clientes usarem o protocolo de desafio/resposta no envio das
credenciais de autenticao do usurio (conforme descrito no Captulo 2), as quais
sero checadas no servidor perante o diretrio de usurios local e as listas de
controle de acesso (ACLs).
O servidor CIFS efetua a autenticao dos usurios de seus sistemas clientes
usando os recursos do prprio sistema operacional, e os mtodos de gerao de
credenciais de usurio atualmente encontrados nas diversas verses do Windows,
como o LAN Manager, o NTLMv2 e o Kerberos, no oferecem muita segurana
porque geram credenciais que no demandam grande esforo computacional para
serem decifradas.

38

5 COMPARAES ENTRE ASPECTOS DE SEGURANA


DOS PROTOCOLOS NFS E CIFS

Considerando-se as vulnerabilidades de segurana dos protocolos NFS e


CIFS, podem ser feitas comparaes entre eles, no intuito de verificar em quais
aspectos os dois protocolos so equivalentes e em quais aspectos um protocolo
mais seguro que o outro. Tais comparaes, da mesma forma que o levantamento
de vulnerabilidades do captulo anterior, so feitas considerando-se apenas as
caractersticas estruturais e de funcionamento do NFS e do CIFS, e independem das
formas de implementao dos mesmos.
As comparaes entre aspectos de segurana dos protocolos NFS e CIFS
que se seguem esto divididas por servio de segurana.

5.1 Confidencialidade, irretratabilidade e auditoria

Os protocolos NFS e CIFS no oferecem o servio de confidencialidade para


os sistemas de compartilhamento de arquivos que os utilizam (nenhum deles oferece
criptografia nativa). O emprego de qualquer um destes protocolos no impede que
entidades no autorizadas obtenham acesso aos arquivos armazenados pelos
servidores, na medida em que os dados permanecem disponveis em sua forma
pura. Tambm ficam vulnerveis ao acesso por parte de entidades no autorizadas
as informaes contidas nas requisies de clientes, pois elas trafegam de forma
aberta pelos canais de comunicao entre clientes e servidores.

39
O servio de irretratabilidade no se aplica a um sistema de compartilhamento
de arquivos e desta forma no oferecido pelo NFS e pelo CIFS, como tambm no
oferecido o servio de auditoria, inviabilizado pela ausncia de registros em log
das operaes efetuadas por clientes e servidores.

5.2 Autenticao

O mecanismo de autenticao de usurios do protocolo CIFS possui um nvel


de segurana consideravelmente superior ao do protocolo NFS. O servidor CIFS
recebe do cliente uma prova da identidade do usurio (normalmente uma derivao
criptogrfica da senha) e a verifica, enquanto no caso do NFS o cliente quem
verifica os nmeros de ID do usurio e do grupo do usurio no Unix, propiciando que
uma entidade impostora possa facilmente se fazer passar pelo usurio autntico
apenas informando estes nmeros de ID.
Os protocolos NFS e CIFS oferecem nvel baixo de segurana para a
autenticao de parceiros. Os servidores NFS usam uma lista de clientes,
designados pelo endereo IP ou pelo nome no DNS, para identificar aqueles para os
quais devem liberar o acesso aos arquivos compartilhados, enquanto os servidores
CIFS somente identificam seus clientes por meio do servio de resoluo de nomes
disponvel na rede (NetBIOS ou DNS); ambos os mecanismos so muito vulnerveis
a ataques de entidades impostoras.

5.3 Integridade

40
Os protocolos CIFS e NFS no garantem a integridade dos dados
compartilhados entre clientes e servidores nos canais de comunicao, porque no
possuem mecanismos de verificao de contedo de arquivos, capazes de garantir
aos parceiros de comunicao que durante o trfego das informaes no houve
dano ou adulterao do contedo dos arquivos por parte de entidades no
autorizadas (como, por exemplo, em caso de ataques Man In The Middle).
Os servidores NFS no mantm controle de estado sobre as conexes com
seus clientes, e isto faz com que seu mecanismo de gerenciamento de acessos
simultneos a arquivos compartilhados seja bem menos eficiente que o mecanismo
empregado pelos servidores CIFS, que realizam este tipo de controle. O controle de
estado, feito por meio de seqncias de mensagens trocadas entre clientes e
servidores

CIFS,

permite

que

se

estabeleam

conexes

confiveis

implementao do mecanismo de oplocks. Tal mecanismo propicia ao cliente a


realizao de um cache seguro de dados, com bloqueio de arquivo passvel de
revogao pelo servidor, liberando acesso simultneo para outro cliente sem
comprometer a integridade do arquivo em questo.

5.4 Disponibilidade

O protocolo NFS oferece um nvel de segurana maior do que o do protocolo


CIFS para o servio de disponibilidade. O NFS no recupera operaes incompletas,
minimizando o tempo de recuperao caso uma eventual falha torne inoperante o
servidor. O CIFS, por sua vez, tem seu funcionamento dependente de um servio de
resoluo de nomes disponvel na rede (NetBIOS ou DNS), e este vnculo
compromete sua prpria disponibilidade.

41
Contudo, nenhum dos dois protocolos oferece redundncia para os servios
de compartilhamento de arquivos oferecidos pelo servidor aos seus clientes.

5.5 Controle de acesso

A concesso de permisses de acesso a arquivos remotos oferece maior


nvel de segurana quando usado o protocolo CIFS, porque com o uso do protocolo
NFS quem controla o acesso aos arquivos compartilhados pelo servidor apenas o
cliente, que aps conceder a permisso de acesso ao usurio envia a sua requisio
ao servio NFS residente no servidor. O servio NFS tem acesso irrestrito aos
arquivos armazenados no servidor e atende prontamente as requisies de seus
clientes, e como os clientes NFS usam os nmeros de identificao de usurio e de
grupo do Unix para controle de acesso, nmeros idnticos podem se referir a
usurios diferentes no servidor e no cliente, havendo a possibilidade de se permitir
acesso equivocadamente a entidades no autorizadas.
O servidor CIFS realiza controle de acesso local para os arquivos
compartilhados, inclusive com o auxlio de mecanismos do prprio sistema
operacional Windows (de acordo com a verso instalada no servidor), como por
exemplo as listas de controle de acesso (ACLs).

5.6 Tabela comparativa entre os protocolos NFS e CIFS

No intuito de consolidar os resultados deste trabalho, a seguir a Tabela 1


resume a anlise comparativa entre os protocolos NFS e CIFS, no que se refere aos

42
servios de segurana da informao (com a atribuio de nveis de segurana para
os servios oferecidos, como descrito no Captulo 3):

Tabela 1 Protocolos NFS e CIFS, comparados quanto aos servios de segurana.


PROTOCOLO

SERVIO
NFS

CIFS

Servio no oferecido: as informaes trafegam


CONFIDENCIALIDADE
pelo canal de comunicao e so armazenadas
no servidor em sua forma pura.
Nvel baixo: lista de
Nvel baixo: clientes se
clientes autorizados,
DE
identificam pelo nome
identificados pelo
PARCEIROS
no DNS ou no NetBIOS.
endereo IP ou pelo
nome no DNS.
AUTENTICAO
Nvel baixo: usurios
Nvel mdio: usurios
identificados no cliente,
identificados no
DE
por meio dos IDs de
servidor, por meio de
USURIOS
usurio e de grupo do
derivao criptogrfica
Unix.
da senha.

NO ACESSO
SIMULTNEO
A ARQUIVOS

Nvel baixo: servidor


no controla o estado
das conexes com seus
clientes.

Nvel mdio: servidor


controla o estado das
conexes com seus
clientes, propiciando o
uso do mecanismo de
oplocks.

INTEGRIDADE
NA
TRANSMISSO
DE DADOS
ENTRE
CLIENTE E
SERVIDOR

DISPONIBILIDADE

Nvel baixo: no h checagem do contedo dos


dados aps sua transmisso do servidor para o
cliente.

Nvel baixo:
Nvel mdio: servidor
funcionamento do
servidor depende
minimiza o tempo de
restabelecimento de
diretamente da
seus servios aps uma disponibilidade de um
falha, no recuperando servio de resoluo de
operaes incompletas. nomes na rede (DNS ou
NetBIOS).

43
Tabela 1 (cont.).
PROTOCOLO

SERVIO
NFS

CONTROLE DE ACESSO

AUDITORIA

CIFS

Nvel baixo: controle de


acesso feito apenas no Nvel mdio: controle de
cliente, cuja requisio acesso feito no servidor,
com auxlio de
atendida no servidor
mecanismos do sistema
por um servio cujo
operacional Windows.
acesso a recursos
irrestrito.
Servio no oferecido: servidor no registra
informaes sobre as requisies atendidas.

44

6 CONCLUSO

Aps

anlise

dos

aspectos

de

segurana

dos

protocolos

de

compartilhamento NFS e CIFS, confirmou-se a premissa de que haveria em ambos


vulnerabilidades significativas do ponto de vista da segurana da informao.
possvel afirmar que tanto o NFS quanto o CIFS no permitem que clientes e
servidores compartilhem arquivos com total segurana em um ambiente de rede, se
levarmos em considerao que existem servios de segurana no oferecidos por
ambos os protocolos, e que a maioria dos servios oferecidos apresenta nveis
baixos de segurana.
Ressalta-se, no entanto, que os servios de segurana oferecidos de forma
ineficiente ou mesmo no oferecidos pelos protocolos NFS e CIFS podem ser
implementados em verses modificadas dos mesmos, como por exemplo o CNFS
(HARRINGTON; JENSEN, 2003), cujo prottipo habilita o controle de acesso
criptogrfico em um servidor de arquivos NFS. Desta maneira possvel aumentar o
nvel de segurana de um servio de compartilhamento de arquivos, mantendo a
compatibilidade entre os sistemas que fazem uso do mesmo protocolo.

45

REFERNCIAS

IETF - THE INTERNET ENGINEERING TASK FORCE. RFC 1813: NFS Version 3
Protocol Specification. Jun. 1995. Disponvel em:
<http://www.ietf.org/rfc/rfc1813.txt>. Acesso em: 10 jan. 2005.
SNIA STORAGE NETWORKING INDUSTRY ASSOCIATION. Common Internet
File System (CIFS) Technical Reference: SNIA Technical Proposal. Reviso 1.0,
Mar. 2002. Disponvel em:
<http://www.snia.org/tech_activities/CIFS/CIFS-TR-p00_FINAL.pdf>. Acesso em: 10
jan. 2005.
ALMEIDA, Rubens Q. Arquitetura TCP/IP. Unicamp, 1997. Disponvel em:
<http://www.redes.unb.br/download/tcpip.pdf> Acesso em: 23 mar. 2005
STERN, Hal. Managing NFS and NIS. OReilly, 1992.
STALLINGS, William. Network and Internetwork Security: principles and practice.
2nd Edition, Prentice Hall, 1998.
TRINTA, Fernando A. M., MACDO, Rodrigo C. Um estudo sobre criptografia e
assinatura digital. Universidade Federal de Pernambuco, 1998. Disponvel em:
<http://www.di.ufpe.br/~flash/ais98/cripto/criptografia.htm> Acesso em: 20 jan. 2005.
SOLTIS, Steven R., RUWART, Thomas M., OKEEFE, Matthew T. The Global File
System: technical report. Laboratory for Computational Science and Engineering,
University of Minnesota, 1996.
HARRINGTON, Anthony, JENSEN, Christian. Cryptographic access control in a
distributed file system. SACMAT '03: Proceedings of the eighth ACM symposium
on Access control models and technologies, Como, Italy, p. 158-165, ACM Press,
2003.

46

GLOSSRIO

Active Directory: componente do sistema operacional Windows 2000 que atua como
autoridade central de segurana de rede.
Algoritmo: seqncia finita e no ambgua de instrues computveis para
solucionar um problema.
Arquitetura cliente-servidor: toda arquitetura de rede onde estaes
(microcomputadores) executam aplicaes clientes que utilizam programas
servidores para transferncia de dados do prprio servidor ou para comunicao
com outras estaes e suas aplicaes clientes.
Cache: local de armazenamento de dados que o computador precisar usar em
curto tempo ou usa com mais freqncia.
Criptografia: conjunto de tcnicas que permitem ocultar informaes, tornando-as
ininteligveis para aqueles que no tem acesso s convenes combinadas.
DES (Data Encryption Standard): algoritmo de encriptao com tamanho de chaves
de 56 bits, criado em 1977 nos Estados Unidos.
Diffie-Hellman: mtodo de troca de chaves criptogrficas que permite a definio de
uma chave de sesso para a comunicao segura entre duas entidades, mesmo em
um meio de comunicao inseguro.
DNS (Domain Name System): base de dados hierrquica e distribuda, usada para a
resoluo de nomes de domnios em endereos IP e vice-versa.
Ethernet: tecnologia de interconexo para redes locais, padronizada como IEEE
802.3, e que define cabeamento e sinais eltricos para a camada fsica e formato de
pacotes e protocolos para a camada de controle de acesso ao meio (Media Access
Control - MAC) do modelo OSI.
Granularidade: nvel de detalhamento.
Hash: mtodo que utiliza algoritmos para transformar dados de tal forma que o
resultado seja exclusivo e no possa ser retornado ao formato original. A funo do
hash verificar qualquer modificao em um dado.
Idempotentes: termos de resultados equivalentes.
Inode: identificador nico que um arquivo recebe no sistema operacional Unix.
IPSec: sistema de padres abertos que empregam criptografia para auxiliar na
comunicao segura em redes IP.

47
Kerberos: protocolo de autenticao entre aplicaes cliente-servidor, que usa
criptografia de chave simtrica.
LAN Manager: protocolo de autenticao de rede nativo do sistema operacional
Windows NT 4.0, que trabalha com senhas de no mximo 14 caracteres, convertidas
para letras maisculas e divididas em dois blocos de sete letras.
MD5: algoritmo capaz de gerar um hash de 128 bits a partir de uma mensagem de
um tamanho qualquer, usado como mecanismo de verificao de integridade.
NetBIOS (Network Basic Input/Output System): controlador de dispositivos de
hardware do tipo PC-Network, cuja interface para programao de aplicao ainda
implementada em redes Ethernet com o protocolo TCP/IP.
NTLMv2: segunda verso do protocolo NTLM (originado pela evoluo do protocolo
LAN Manager), permite um espao de chaves de 128 bits para as chaves derivadas
de senhas e usa o algoritmo HMAC-MD5 para checagem de integridade de
mensagens.
RFC (Request For Comments): documento tcnico ou informativo cujo assunto varia
desde especificaes, padres e normas tcnicas at questes histricas acerca da
Internet.
RPC (Remote Procedure Call): protocolo para execuo remota de procedimentos
em computadores ligados em rede, que pode ser implementado sobre diferentes
protocolos de transporte.
SMB (Server Message Block): protocolo de compartilhamento originalmente
desenvolvido para ser executado em redes locais do tipo PC-Network com a
interface do NetBIOS, e que recebeu em 1996 o nome de CIFS, aps o lanamento
do sistema operacional Windows 2000, que por sua vez foi a primeira verso do
Windows a suportar o transporte de pacotes SMB sobre TCP/IP sem
encapsulamento NetBIOS.
SSH (Secure Shell): protocolo de conexo remota que usa criptografia assimtrica
para autenticao de parceiros e sigilo da comunicao.
SSL (Secure Socket Layer): protocolo usado para transferncia segura de
informaes pela Internet, muito utilizado para autenticao de servidores Web
(por meio de certificados digitais) e, opcionalmente, dos clientes tambm.
TCP/IP (Transmission Control Protocol / Internet Protocol): conjunto de protocolos de
comunicao utilizado para troca de dados entre computadores em ambientes de
redes locais ou remotas, como a Internet.
UDP (User Datagram Protocol): protocolo da camada de transporte do modelo OSI
orientado a datagrama, realiza transmisso rpida e no confivel de informaes,
na medida em que no controla o fluxo das mesmas.

48
Unix: sistema operacional multiusurio e multitarefa, composto basicamente pelo
sistema de arquivos, ncleo (kernel) e interpretador de comandos (shell). Possui
vrias verses (ou distribuies), de diferentes fabricantes.
Windows: denominao comum aos sistemas operacionais desenvolvidos pela
Microsoft Corporation.
WINS (Windows Internet Name Services): servio de resoluo de nomes
compatvel com NetBIOS, oferecido por servidores com sistema operacional
Windows.
WWW (World Wide Web): rede de documentos hipertexto veiculados na Internet.
X.500: protocolo que especifica um modelo para a conexo de servios de diretrios
locais, a fim de formar um diretrio global distribudo.

Você também pode gostar