320 likes | 399 Views
a fin a l, o q u e é u m S D ?. •. A p ó s a b o r d a r mo s a pri m ei r a p a r t e so b r e a S e g u r a n ç a. e m. S i s t e m as. D i s t ribuíd os , c o n t in u a r e m o s. di s c u t ind o. q u a i s. o s. pr i n c ip a i s f at o r e s. qu e. de m a nd am. a t en ç ão.
E N D
afinal,oqueéumSD? • ApósabordarmosaprimeirapartesobreaSegurança em Sistemas Distribuídos,continuaremos discutindo quais os principaisfatores que demandam atenção quandoformulam-seestratégiasdecontenção; Naprimeirapartevimosalgunsdosprincipaismétodosdeautenticaçãoutilizandochavescriptográficas.Esses • mecanismos tentam prezar pela integridade e confidencialidadedemensagens; Noprimeirocaso,aintegridadedamensagemquasesemprevaialémdatransferênciapropriamenteditapormeiodeumcanalseguro.Éprecisoinserir“garantir”queamensagemoriginalsejaaautêntica,nãopodendosermodificadapelosdemaisusuários; •
afinal,oqueéumSD? • A associação exclusiva entre uma mensagem e seu conteúdo,formuladaoficialmente porumemissorou receptor para que seja mantida a versão original é denominadadeassinaturadigital; Suascaracterísticassãosimilaresàpapel”queutilizamosnodiaadia, • assinatura“feitaem mascomadiferença de conter sistemas criptométricos de codificação e decodificação; Háváriosmodosdecolocarassinaturasdigitais: • • Umdesseséocriptossistemadechavepúblicacomo oRSA(pesquisar)–trocademensagens; Umsegundo,maisbarato,éométododeresumos; •
afinal,oque éumSD? umresumodemensageméuma • Comoexplicamos, sequencia calculada de bits de base comprimento fixo “h” que foi de com em uma mensagem comprimentoarbitrário“m”pormeiodeumafunção criptográficadehashH; Paraassinardigitalmenteumamensagem,emprimeirolugar,oemissorpodecalcularumresumodamensageme,nasequencia,criptografaroresumocomsuachaveprivada.Oresumocriptografadoéenviadoaoreceptorcomomensagem; • • Quando recebe a mensagem, e seu resumo criptografado,oreceptorsóprecisadecifraroresumo comachavepúblicadoemissor,eemseparado...
afinal,oqueéumSD? • Calcularoresumodemensagem.Seoresumocalculado de acordo com a mensagem recebida e o resumo decifrado “combinarem”, o receptor identifica que a mensagemfoiassinadadigitalmentepeloemissor; • Atéaqui,focalizamos oestabelecimentodeumcanalde comunicação seguro vezes entre duas partes. Contudo, em SDS, muitas é necessário implementar uma comunicação seguraentremaisdoqueduaspartes; • Quandose estabelece essetipo de dialeto, falamos sobreacomunicaçãoseguraentregrupos.Osgrupos sãodenominadosumoumaisemissoresoureceptores que enviam e recebem mensagens com ferramentas criptográficas;
afinal,oqueéumSD? • A base de produzir políticas de gruposéreplicar a comunicaçãoegerenciaraconexãoseguradeemissores ereceptorespormeiodocompartilhamentosecretode dados; • Quando vários usuários (ou processos)compartilham umsegredo,nenhumdelesconhecetodooconteúdo mensagem.Oupartedoscomponentestemacesso da ao se texto, ouumsó pode saber, se todos os demais reunirem; Geralmenteéimplementadoessetipoderecursoemsistemasdistribuídosdegrandeporte,comfortetráfegodedados-requisiçõeserespostas; UmbomexemploéoKerberos[Steineret.al.,1998]; • •
afinal, o que é um SD? • • • • Conexãoao servidordeautenticação Solicitaçãodetíquetes Acessoaoservidor–recursos; Basededados–assinaturasúnicas;
afinal,oqueéumSD? • Nomodelocliente-servidorquefalamosatéaqui,uma vezqueumclienteeumservidortenhamestabelecido umcanalseguro,oclientepodeemitirrequisiçõesque devam ser executadas pelo servidor. Requisições de clientesgeralmente remotos; invocam métodoseobjetos • Talrequisiçãopodeserexecutadasomenteseocliente tiver“direitosdeacesso”suficientesparatalinvocação. Averificaçãodessesdireitoséconhecidaformalmente como controle de acesso, ao passo que autorização tratadeconcederdireitosdeacesso; Osdoistermosestãorelacionadosumcomooutroecostumamserutilizadosdemodointercambiável.Hámuitosmodosdeobteroacesso; •
afinal,oqueéumSD? • Controlar o acesso a um objeto significa proteger o objeto contra invocações porsujeitos que não têm permissãodeexecutarmétodosespecíficos.Aproteção costuma ser impostapor um programadenominado monitordereferência; • Um monitorde referênciaregistra qual sujeito pode fazeroqueedecideseumsujeitotempermissãopara solicitaraexecuçãodeumaoperaçãoespecífica; • Esse monitor é chamado cada vez que um objeto é invocado justifique nãopode paraservircomo“pontodereferência”que aimposiçãodadefesadeumatacanteque sercapazdeinterferircontraele;
afinal,oqueéumSD? • Umaabordagemcomumparamodelarosdireitosde acessodesujeitosemrelaçãoaobjetoséconstruiruma matriz de controlede acesso.Cada indivíduo é é representado por uma linha e cada objeto representadoporumacoluna; SeamatrizforM,entãoumaentradaM[s,o]apresentaumalistacomexatamentequaisoperaçõesosujeito“s”poderequisitarquesejamexecutadassobreoobjeto“o”; • • Semprequeum sujeitorequisitarainvocaçãodeum método “m”do objeto “o”,o monitor de referência deveverificarse “m”aparecenalistaM[s,o].Casonão apareça,ainvocaçãofalha;
afinal,oqueéumSD? • O acesso e a implementação de referências para as ACLS são determinadas através das capacidades que cadausuáriodeveconter; Acapacidadecorrespondeaumaentradanamatrizdecontroledeacessodeacordocomosparâmetrosquesãopassadosduranteaidentificação–tickets; • • ACLS ecapacidades ajudam a implementar com eficiênciaumamatrizdecontroledeacessoignorando todasasentradasvazias.Aindaassim,umaACLouuma lista de capacidadespodecrescer sema devida administraçãocorreta; Umartifícioquebuscareduziresseproblemaéousode domíniosdeproteção; •
afinal,oqueéumSD? • Formalmente,umdomíniodeproteçãoéumconjunto de pares (objeto, direitos deacesso) que especifica exatamente executadas; quais operações têm permissão de ser • Umaabordageméconstruirgruposdeusuáriospara “separar” deacordo Imagine permissõeserestriçõesdeacessoaosdados comrequisitosparatodos; • grupos administradores, gerentes e funcionárioscomunsdeumaempresa,ondecadaperfil temumalimitaçãodeacessoounão; Emvezdedeixarqueomonitordereferênciafaçatodootrabalho,umaalternativaépermitirquecadasujeitotransporteumcertificado; •
afinal,oqueéumSD? • Ocertificadocontémumalistadosgruposaosquais cadaperfilestá“encaixado”paraimporrequisitosde acessoe“liberar”recursos; Paragarantirqueocertificadoégenuíno,eledeveserprotegidoporumaassinaturadigitalemcertasocasiõesemqueoacessopossaserdealtoriscoouemqueo • usuários ambiente; (sujeito)não estejaautorizado para tal • Comrelaçãoatergruposcomodomíniosde proteção, descritos também é possível implementar domínios como funções específicastraçadas deacordo com regras,oschamadospapéis; Asfunçõesdeusuárioserecursos“dizem”ospapéis; •
afinal,oque éum EmpresaY SD? Funcionário Estranho FuncionárioT.I. FuncionárioRH • Funçõesrestritasporproteção porgrupos
afinal,oqueéumSD? Atéaquimostramoscomoaproteçãopodeser estabelecidausandotécnicascriptográficascombinadas comaimplementaçãodealgumamatrizdecontrolede acesso.Asabordagensfuncionamcontantoquetodasas partescomunicantesajamcomasmesmasregras; Paraprotegerrecursossobreessascircunstânciasé • • precisoadotar uma abordagem bem diferente. Na prática,oqueaconteceéqueoacessoaqualquerparte dosistemaécontroladoporumaespéciedemonitordeobservaçãodenominadodefirewall; Emessência,umfirewalléummododecontroledeacessoquedesconectaqualquerpessoaoupartedeumcomponentedeumSDdo“mundoexterior”; •
afinal,oque Repassadordefiltragemdepacotes éum Gatewaydeaplicação SD? Repassadordefiltragemdepacotes Concoext redes Conexões exões comredes externas com internas LANinterna LANexterna
afinal,oqueéumSD? • Há dois tipos básicos de firewall que costumamser combinados: • O primeiro costuma ser o gateway de filtragem de pacotesque funciona comoumrepassadore toma decisõessobretransmitirounãoumpacotederede combasenoendereçodefonteededestinocontidono cabeçalhodopacote; Porexemplo,paraprotegerumservidorWebinterno • contra requisições de hospedeiros que não estão na redeinterna,umgatewaydefiltragemdepacotesque chegameestãoendereçadosaoservidorWeb; RedesSMDS,acessoVPNdeLANS,etc.; •
afinal,oqueéumSD? • Osegundotipodefirewalléumgatewaydenívelde aplicação. somenteo inspeciona Ao contráriodo primeiro,queinspeciona cabeçalhodepacotes,essetipodefirewall o conteúdodeuma mensagem que está chegandoousaindo; • Um exemplo típico é um gateway de correio que que descarta a correspondência que chega ou sai ultrapassedeterminadotamanho; Umtipoespecialdegatewaydenívelde • aplicaçãoéo defirewall conhecido proxy gateway. Esse tipo funcionacomo um “terminal” frontal para um tipo especial de aplicação e garante que somente sejam passadasinformaçõessegundocertoscritérios;
afinal,oqueéumSD? • Um exemplo rotineiro de nosso cotidiano é,por exemplo, referência um navegador Web que “insere” uma “proxy” em suas configurações, masna verdadeoacessonãovemdoserviçoHTTP; Osdadossãofiltrados,pacoteapacotepeloproxynas • requisiçõesdasURLSdeacordocom asregras[firewall] estabelecido pelo servidor. Antes de acessar uma página, acesso; o “navegador” “pede” ao proxy o referido • Asregrassãoformuladasatravésde scripts,listas,etc. quefiltramtodootráfegodedadosdeacordocoma análiseinspecionada; ISAServer,Squid,Bluecoat,Polipo,dentreoutros.; •
afinal,oqueéumSD? • Comoofirewalltemcomobaseasconexõesderede paraexercersuaspolíticasde segurança,asaplicações em si ainda podemcorrer certo risco quanto às ameaçaseasegurança; • Como já viemosdiscutindo a certotempo, uma importantefonte de desenvolvimentopara sistemas distribuídosmodernoséacapacidadede“transferir” códigosentrehospedeirosemvezdemigrarapenasos dadospassivos; TodaviaarealizaçãodessecompartilhamentoexigeagarantiadequeosistemapossuaDoSeQoSvistoqueaslinhasdecódigoprecisarãoformarumúnicomotordeexecuçãoparaasatividadesdistribuídas; •
afinal,oqueéumSD? • Destaformaumaimplementação comumqueocorre rotineiramentenosSDSequeexigemtotalcontrole de o acesso de administradores e programadores é chamadocódigomóvelseguro; Ocódigomóvelseguroemsinãoespecificaumtipo • de controledeacesso,massimanecessidadedeimpor segurançacomosestadosdeleituraeescritaqueos agentepossamconceberaosregistrosdeproteção; • Assim, uma maneira que utiliza o “carregamento” e “descarregamento”delinhasdeexecuçãodistribuídas, equeconfigura,nestecasoocontroledeacessocoma mobilidadedeprogramaçãoéumrecursodenominado decaixadeareia;
afinal,oqueéumSD? • Uma caixa de areia éuma técnica pela qualum programa“descarregado”éexecutadodemodotalque cada umade suas instruções pode ser totalmente controlada; Seforfeiraumatentativadeexecutarumainstrução • que foi proibida pelo hospedeiro, a execução do programaseráinterrompida; • Essatécnicaé difícildeserdesenvolvidadependendo da linguagem adotada. Em casos que a codificação possui meios comuns de ser de interpretada,a análise regras torna-semais objetiva acordocom as definidaspelatécnica; UmprogramaemJava,porrelatarumbomexemplo; •
afinal,oqueéumSD? • Em uma caixa de se areia em Java, aproteção começa garantindo que podeconfiarno componenteque manipula a transferência de um programa para uma máquinacliente; • Então o conjunto de carregadoresde classe se encarrega carregador do de descarregamento em Java. Cada classe é responsávelpor “averiguar” diferençasdentreoscódigosoriginalealteradoatravés daJVM; • Um segundocomponente devital importância é o verificadordecódigodebyte.Estaestruturadacaixa analisaaintegridadedasregrasnoscomponentesde armazenamentocomopilhasememória;
afinal, o que é um SD? • Infraestruturabásicadeuma sandbox;
afinal,oqueéumSD? • Falamossobreoscanaissegurosdeacessoesobreduas ferramentas base de controle de acesso [firewall e sandbox],masparaqueessas“práticas”sejamutilizada éprecisopriorizarogerenciamento; • O Gerenciamento da Segurança envolve os papéis essenciaisqueprecisamserviabilizadosporempresas que adota políticas,canais e controle de acesso em avessoaproteçãodesuasinformações; • Envolve três questões diferentes,que estudaremos superficialmente: • • • Gerenciamento Gerenciamento Gerenciamento da dade criptografia; segurançadegrupos; capacidadeseatributos;
afinal,oqueéumSD? • O primeiro, Gerenciamento da criptografia, abordaa administração e estabelecimento de chaves e certificadosdesegurança; Nocasodaschaves,oestabelecimentosedácomos • protocolosde compartilhamentode chaves. O mais em comum é o Diffie-Hellman matemáticas que consiste combinações para criptossistemas simétricoseassimétricos; • O protocolo incita os requisitos que devem ser adotados durante a síntese da criptografiae passos básicosparaarotina dedistribuição.Porém“como”a codificaçãoedecodificaçãoérealizadaficaacargodo tipodecriptografia;
afinal,oqueéumSD? • Quandotratam-sedechavespúblicas,entramemcena oscertificadosdechavepública.Talcertificadoconsiste dachavepúblicajuntocomumasequenciadebitsque identificaaentidadeàqualessachaveestáassociada; • Aentidade hospedeiro públicaeo poderiaserumusuário,mastambémum ou algum dispositivo especial. A chave identificador,juntos,foramassinadospor uma autoridade de certificaçãoe essa assinatura tambémfoicolocadanocertificado; Umamaneirapara“revogar”talassinatura,casonãomaissejaválidaachavee/oucertificadoéalistaderevogaçãodecertificados–CRL; •
afinal, o que é um SD? • Exemplode remoçãodecertificados parachaves–CRL;
afinal,oqueéumSD? • NoGerenciamentodegrupos,comoonomejásugere, são mensuradas medidas de segurança para dois ou maisusuáriosqueprecisemoudeleguem informaçõescomtotalintegridade; ler/escrever • Este tipo de gerenciamento utiliza a central de distribuição[KDC] que já falamoscom o conceito denominadodereplicaçãoseguradeservidores; • A replicação se dá com a formação de grupos de éa usuários[clienteseservidores]que“sabem”qual chave,masnãopodemalterá-lasemapermissão; • A continuidade da segurança é provida através de dos processosqueemitem“respostas”paraasações participantesemsituaçõesadversas;
afinal,oqueéumSD? • Sempre que um processo “P” quiser adentrar a um ao grupo“G”, ele envia arequisição deassociação grupo“JR”queidentifica“G”e“P”; • A respostaéemitida utilizando todo o processo de criptografia e os “participantes” avaliam apossível submissãodonovocomponenteparaogrupo; • Com averacidade comprovada de o que não postula ameaça o novo componente, próximo passo é “gerenciar” a autenticação dos demaisperantea ele para que todossaibam que um novo cliente possa atenderpelasuaidentificaçãoqueéatribuída; • A necessidade de centralização é imprescindível – controle;
afinal,oqueéumSD? • O último tipo de gerenciamento de capacidade e atributospodeserconsideradoomaissimplesdostrês. Comojáexplicamos,umacapacidadeéumaestrutura de dadosà prova de falsificação paraum recurso específico,quecitaexatamenteosdireitosdeacessodo portadordacapacidade; Ofuncionamentodessegerenciamentoébasicamenteomesmodosobjetosremotos.AcriaçãodepermissõesparacadarecursoeentidadedoSDéidentificadapelosservidoreseclientedemaneiraque,osadministradores • possam incitar“poronde”eo “quanto”de dados o acessopodeserrealizado; Paraosservidores,porexemplo,ogerenciamento... •
afinal,oqueéumSD? doservidor • É realizado pelas portas paraevitar que dados sigilosos transcorramem clientes errados. O processo exemplo, de “identificação” dos com usuários é, por dos o mesmo do RMI, a verificação direitosdorequisitante; Cadaservidorpodecriar • umacapacidadesingular para um cliente justamente para garantir segurança no acessoevalidaçãodocontato; Umageneralizaçãodecapacidadesqueàsvezeséusadaemmodernossistemasdistribuídoséoconhecidacomo • certificados certificados de que atributos. discutimos, Diferentemente dos já esses temapenas a função de organizar a “lista de acesso” de cada requisitante;
afinal,oqueéumSD? • Porisso,ainstituiçãode“senhas”emodosdeacesso paraessetipodegerenciamentoutilizaadelegaçãode responsabilidades; Defato,asegurançaemumcontextogeral,nessestrês • tiposquevimosprezasemprepela confidencialidadee integridade dos dados para as entidades, sejam usuárioscomunsou empresas; • Uma perspectiva que que sempre será visada sistemas por de “indesejados” já não existem informação100%seguroscomprovados empresasnacionaisemultinacionais; pelasgrandes • O importante é adotar as políticas de segurança corretaseproverseudevidogerenciamento;