ver/abrir - Repositório do Departamento de Ciência da Computação
Transcrição
ver/abrir - Repositório do Departamento de Ciência da Computação
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Análise de Riscos em Relações Contratuais Cliente/Fornecedor de TICs: Uma Abordagem em Teoria dos Jogos Rodrigo Peres Ferreira Monografia apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação Orientador Prof. Ms. Pedro A. D. Rezende Brasília 2010 Universidade de Brasília – UnB Instituto de Ciências Exatas Departamento de Ciência da Computação Curso de Bacharelado em Ciência da Computação Coordenador: Prof. Dr. Marcus Vinícius Lamar Banca examinadora composta por: Prof. Ms. Pedro A. D. Rezende (Orientador) – CIC/UnB Prof. Dr. Jorge H. C. Fernandes – CIC/UnB Prof. Ms. João J. C. Gondim – CIC/UnB CIP – Catalogação Internacional na Publicação . Análise de Riscos em Relações Contratuais Cliente/Fornecedor de TICs: Uma Abordagem em Teoria dos Jogos/ . Brasília : UnB, 2010. 74 p. : il. ; 29,5 cm. Monografia (Graduação) – Universidade de Brasília, Brasília, 2010. 1. Segurança na Informática, 2. Conflitos de Interesse, 3. Modelos Proprietário x F/OSS, 4. Teoria Clássica dos Jogos. CDU 004 Endereço: Universidade de Brasília Campus Universitário Darcy Ribeiro – Asa Norte CEP 70910–900 Brasília – DF – Brasil Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Análise de Riscos em Relações Contratuais Cliente/Fornecedor de TICs: Uma Abordagem em Teoria dos Jogos Rodrigo Peres Ferreira Monografia apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação Prof. Ms. Pedro A. D. Rezende (Orientador) CIC/UnB Prof. Dr. Jorge H. C. Fernandes CIC/UnB Prof. Ms. João J. C. Gondim CIC/UnB Prof. Dr. Marcus Vinícius Lamar Coordenador do Bacharelado em Ciência da Computação Brasília, 2 de setembro de 2010 Dedicatória Dedico este trabalho a Deus, aos meus pais, Maurélio e Bianca, aos meus irmãos, Renato e Helena, à minha namorada, Taynara, à toda minha família e aos meus amigos e colegas do CIC/UnB. Agradecimentos Agradeço a todos que, de alguma forma, ajudaram na elaboração deste trabalho, em especial ao meu orientador, Prof. Pedro Rezende, principal incentivador do mesmo. Resumo O presente trabalho apresenta formas de análise de riscos em segurança na informática para organizações baseada na formalização de conflitos de interesse entre clientes e fornecedores. Para a criação desses modelos formais, utiliza-se, como ferramental matemático importante, a Teoria Clássica dos Jogos de estratégia. Palavras-chave: Segurança na Informática, Conflitos de Interesse, Modelos Proprietário x F/OSS, Teoria Clássica dos Jogos. Abstract This work presents forms for risk assessment in information security for organizations based on the formalization of interest conflicts between clients and vendors. To develop these formal models, we use, as an important mathematical tool, the Classic Theory of Games of Strategy. Keywords: Information Security, Interest Conflicts, Proprietary x F/OSS models, Classic Game Theory. Sumário Lista de Figuras Capítulo 1 Introdução 1.1 Motivações . . . . . . . . . . . . . . . . . . . . 1.1.1 Segurança: Realidade e Sentimento . 1.1.2 O Teatro da Segurança . . . . . . . . . 1.2 Problemas Atuais e Hipóteses . . . . . . . . . 1.2.1 O Processo de Comunicação . . . . . . 1.2.2 Interesse: A Componente que Faltava 1.3 Justificativa Metodológica e Objetivos Gerais 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 11 12 12 14 17 19 Capítulo 2 Conceitos Básicos 2.1 A Metodologia Tradicional para Análise de Riscos . . . . . . . 2.1.1 Análise de Riscos: Conceito . . . . . . . . . . . . . . . . 2.1.2 Política de Segurança Informacional (PSI) e Missão da Organização . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Críticas à Análise de Riscos Tradicional . . . . . . . . . 2.2 A Teoria dos Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 O Conceito de Jogo . . . . . . . . . . . . . . . . . . . . . 2.2.2 O Dilema do Prisioneiro . . . . . . . . . . . . . . . . . . 2.2.3 Soluções Básicas de Equilíbrio . . . . . . . . . . . . . . 21 21 22 Capítulo 3 A Segurança na Informática como um jogo 3.1 O Modelo de Jogo em Segurança na Informática . . . . . . . . 3.1.1 Descrição do Modelo . . . . . . . . . . . . . . . . . . . . 3.1.2 Análise das soluções de Equilíbrio do Modelo . . . . . . 3.2 Uma Comparação entre Modelos de Negócios de Fornecedores 3.2.1 Análise das soluções de Equilíbrio do Jogo com F/OSS . 36 36 37 41 46 51 Capítulo 4 Possibilidades Futuras e Conclusão 4.1 Atribuindo valores às variáveis do jogo . . . . . . . . . . . . . . 4.2 Ampliação do Jogo para um maior número de Agentes e Estratégias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Análise das Soluções de Equilíbrio do Jogo com 3 Agentes 4.3 Jogos executados em várias rodadas . . . . . . . . . . . . . . . 58 58 24 25 26 26 29 30 63 67 70 Lista de Figuras 1.1 Produção de Significado (Semiose) (1). . . . . . . . . . . . . . . 15 2.1 Matriz de custos do jogo “O Dilema do Prisioneiro”. . . . . . . 29 2.2 Estratégia de equilíbrio estritamente dominante do “Dilema do Prisioneiro”. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3 Um jogo de combinação de moedas (Matching Pennies). . . . . 34 3.1 3.2 3.3 3.4 3.5 3.6 Jogo 1 - Sem considerar a migração do cliente. . . . . . . . . . Jogo 2 - Considerando a migração do cliente. . . . . . . . . . . Situação de Vendor Lock-in. . . . . . . . . . . . . . . . . . . . . Matriz com valores fictícios (teatro da segurança). . . . . . . . Matriz do jogo 2 quando e0 = 0. . . . . . . . . . . . . . . . . . . Custos de desenvolvimento para licenças Proprietária, BSD e GPL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Uma comparação entre as matrizes de jogo do modelo Proprietário x modelo F/OSS . . . . . . . . . . . . . . . . . . . . . . . 3.8 Melhor estratégia para o fornecedor do modelo F/OSS quando c > e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Jogo no modelo F/OSS com manipulação de custos reais. . . . 39 41 43 45 45 48 50 52 53 4.1 Matriz do jogo 2 considerando benefícios e custos intermediários. 59 4.2 Substituindo a matriz do jogo anterior por valores numéricos. 60 4.3 Equilíbrio do jogo anterior da forma como é enxergado pelo jogador cliente (custos alterados ou fictícios) . . . . . . . . . . . 61 4.4 Equilíbrio do jogo anterior da forma como é enxergado pelo jogador fornecedor (custos reais). . . . . . . . . . . . . . . . . . 62 4.5 Matriz de ganhos e custos 3x2. . . . . . . . . . . . . . . . . . . 63 4.6 Panorama completo, de (1), envolvendo clientes (A e B), fornecedores (X e Y) e atacantes do canal (D). A área pintada representa o escopo deste trabalho. . . . . . . . . . . . . . . . . . . . 64 4.7 Um jogo envolvendo três agentes e dois pólos de interesse (dois jogadores). . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.8 Equilíbrio de estratégia dominante do jogo com três agentes caso (b + rtb ) > (g + ib + m) e (b + rb ) > (g + ib + m). . . . . . . . 69 Capítulo 1 Introdução 1.1 Motivações As bases de uma civilização são a sua cultura e os seus valores. Para que esses valores sejam mantidos, regras de comportamento costumam ser estabelecidas. A evolução das sociedades depende intimamente da compreensão e engajamento de todos nessas regras, e nos métodos utilizados para inibir transgressões às mesmas. Na medida em que as Tecnologias da Informação e Comunicação (TICs) se inserem neste contexto, um desafio é feito à ciência da computação, em especial à área de segurança em informática: é possível replicar esses valores no mundo dos bits, mantendo a confiabilidade dos mesmos a um nível equivalente ao que possuem no mundo dos átomos? Nos primórdios da computação, essa confiabilidade era automática, derivada do fascínio que as pessoas tinham sobre as novas tecnologias. Os tempos são outros. Com a rapidez da evolução das novas tecnologias, a dependência da civilização contemporânea a esta imersão tecnológica aumenta cada vez mais. Na teoria tridimensional do direito, o jurista Miguel Reale1 afirma que o direito não se limita apenas ao aspecto normativo. Ele deve ser considerado algo bem mais dinâmico, um fenômeno que envolve três aspectos: fato, valor e norma. É fato porque existe como realidade histórica, social e cultural, que possui causas e efeitos. É valor porque é sempre o reflexo dos valores adotados pela sociedade, e é norma porque é um conjunto de regras, uma ordenação. A complexidade crescente das novas tecnologias confundem a relação entre as causas e seus efeitos, além das relações dos efeitos com o fato, complicando assim toda a estrutura do direito. Nunca foi tão difícil, por exemplo, provar a autoria de crimes virtuais. Conforme esses efeitos da tecnologia se espalham, essa “confiabilidade automática” na informática vai sendo questionada, testada e alterada pelos que nela investem. A confiabilidade nas TIC passa então a depender, sem1 Teoria Tridimensional do Direito, (6). 10 pre mais, de como ocorrem os processos de desenvolvimento, fornecimento, intermediação e utilização de seus artefatos e inovações. A reprodução dos laços do mundo físico para o mundo dos bits progride assim por um caminho mais delicado ao que chamamos de cibercultura, onde o virtual, segundo o filósofo Giles Deleuze, não é mais sinônimo de irreal e sim da indistinguibilidade entre o real e o irreal. 1.1.1 Segurança: Realidade e Sentimento Mesmo com a mudança dos tempos, porém, ainda é comum encontrar usuários que vêem os mecanismos de segurança em informática com um fascínio exagerado, ignorando os riscos reais existentes. Segundo o criptógrafo Bruce Schneier, segurança é tanto uma realidade como um sentimento2 . O processo real da segurança é matemático, baseado na probabilidade dos diferentes riscos se materializarem em incidentes e na efetividade dos mecanismos de segurança utilizados para nos proteger deles. Mas a segurança também é um sentimento, baseado nas reações psicológicas individuais aos riscos e aos mecanismos de segurança. Processo e sentimento constituem, respectivamente, os planos externo (objetivo) e interno (subjetivo) da segurança. As duas coisas são diferentes: uma pessoa pode se sentir segura mesmo que esteja correndo grandes riscos, enquanto outra pode se sentir insegura mesmo que os riscos envolvidos estejam controlados. Os riscos de segurança podem ser estudados, portanto, não apenas de uma perspectiva matemática, mas também de uma perspectiva psicológica3 . Essa diferença é de fato perceptível em muitas situações. Um exemplo clássico é a comparação entre os meios de transporte aéreo e terrestre. É fato estatisticamente comprovado que o meio aéreo é mais seguro que o terrestre em termos de probabilidades de acidentes. O número de mortes no trânsito todo ano supera muito o número de vítimas em acidentes aéreos no mesmo período de tempo. Entretanto, o medo de acidente aéreo, de fato mais agudo que o acidente terrestre (basta lembrarmos os mais recentes acidentes aéreos envolvendo brasileiros, como o caso do avião da Gol no Mato Grosso, o da TAM em São Paulo e, mais recentemente, o da Air France, que caiu em pleno oceano Atlântico), leva as pessoas a se sentirem menos seguras com esse tipo de transporte, mesmo que isso seja quase injustificável. O envolvimento do sentimento no processo da segurança leva também a um conceito fundamental para este trabalho, definido por Schneier como o Teatro da Segurança. O teatro da segurança pode ser entendido como todo 2 3 Schneier, B., Teatro da Segurança: (2). Algo sobre Psicologia da Segurança pode ser encontrado em (3). 11 tipo de ação especialmente intencionado a fazer com que as pessoas se sintam seguras. 1.1.2 O Teatro da Segurança O teatro da segurança pode trazer ou não um benefício real para a segurança dependendo da maneira como é utilizado. Ele não substitui o processo real, porém, se utilizado corretamente, pode servir para nos aproximar dela. Um exemplo citado por Schneier é a segurança feita nos Estados Unidos após os atentados de 11 de setembro. No período logo após os ataques, a presença de tropas da guarda nacional norte-americana teve pouco efeito prático como uma medida de segurança real. Os guardas não tinham balas em seus revólveres, nem o treinamento adequado para prover segurança em aeroportos. Porém, apenas a presença da guarda nesses locais já foi suficiente para criar um efeito psicológico, fazendo com que os passageiros se sentissem mais seguros para tomar seus vôos. Além disso, apenas o medo exacerbado de acidentes aéreos já basta para influenciar o interesse coletivo, e este, por sua vez, influencia as práticas normativas, de forma a manter, em uso evolutivo, protocolos e métodos de proteção no processo real da segurança de vôo, muito superiores ao processo real de segurança no transporte terrestre. O problema ocorre quando o sentimento de segurança gerado por esse teatro se torna maior que o justificável pelo processo real correspondente. Muitos agentes podem usar o teatro da segurança para fazer com que as pessoas se sintam mais seguras sem que haja de fato um esforço para se melhorar o processo real de segurança ou sua compreensão. Esse é o uso prejudicial e, infelizmente, muito comum do teatro da segurança. A motivação principal deste trabalho é, portanto, através de um modelo de análise de riscos em segurança na informática que considere o uso do teatro da segurança como um elemento fundamental, tornar futuramente as organizações dependentes das TIC mais conscientes dos riscos reais envolvidos no seu uso, procurando assim diminuir sua dependência a fornecedores específicos que atuam problematicamente no teatro da segurança (19). 1.2 Problemas Atuais e Hipóteses O trabalho pretende dar luz a alguns aparentes paradoxos atuais na área de segurança na informática. O primeiro foi levantado por uma palestra do Dr. Phillip Hallam-Baker, cientista principal da VeriSign, na qual se 12 afirma o seguinte4 : “A informação que temos sobre atividades oponentes é altamente insatisfatória. Quando um novo padrão de prática criminosa na Internet chega a ser confiavelmente quantificado, esta prática já está obsoleta. E embora não haja nenhuma escassez de medidas tecnológicas à disposição para enfrentá-las, só temos alcançado sucesso produtivo com medidas que proporcionam benefício tático de curto prazo a quem as adota, mas não medidas estratégicas que possam vencer essas atividades ou ao menos erguer barreiras significativas contra elas.” Portanto, quando um método tradicional de análise de riscos finalmente estima o risco, ele já se encontra desatualizado frente aos novos riscos existentes na situação analisada. O segundo diz respeito a por que, em média sobre dados gerais pesquisados, quanto mais se gasta em segurança em informática, mais danos se contabilizam com incidentes de segurança, acima do aumento no uso5 . Esses enigmas nos fazem indagar se o conhecimento tecnológico em informática estaria de alguma forma evoluindo mais rapidamente para quem o utiliza de má fé. A realidade, entretanto, nos mostra que a maioria das ações mal intencionadas não são causados por especialistas em computadores, e sim por pessoas comuns, normalmente internas às organizações6 . A ideia de que os hackers seriam a maior ameaça à segurança dos sistemas e seus valores, caiu por terra em pesquisas recentes. Se não podemos supor que as tecnologias estão evoluindo de forma mais rápida para quem faz mal uso delas, o que explicaria os problemas em questão? Sem dúvida, o uso e a complexidade crescente das novas tecnologias dificultam o trabalho de quem deseja proteção. Além disso, não devemos desconsiderar o fato de que existe uma assimetria fundamental na guerra virtual: enquanto quem ataca precisa encontrar apenas uma brecha, quem defende precisa proteger todas. Ainda que bastante relevantes, esses fatos ainda não bastariam para explicar todas as questões por completo, e não são o foco deste trabalho. Afinal, se os sistemas estão cada vez mais complexos, dispomos também de contra-medidas técnicas cada vez mais sofisticadas (como a criptografia de chave pública, por exemplo). E, como foi dito, o aumento dos danos com incidentes é contabilizado acima do simples aumento no uso. E, ainda, o que explicaria a alta defasagem na quantificação de riscos, exposta por HallamBaker? Os métodos tradicionais de análise de riscos parecem ter deixado 4 Traduzido de (4) em (1). Esses dados podem ser verificados em (9) e (10). 6 Uma pesquisa de 2008, disponível em (11), mostrou que as ameaças internas são as maiores preocupações dos diretores de TI. 5 13 para trás uma componente fundamental, cuja falta agora está sendo sentida. Para que entendamos essa componente, a pricipal hipótese deste trabalho, é necessário primeiro analisarmos a relação existente entre segurança em informática e o processo de comunicação. 1.2.1 O Processo de Comunicação A área de segurança em informática trata de tentar prover garantias de origem, disponibilidade, integridade e/ou sigilo à entrada, armazenamento, processamento e saída de valores, representados por dados, em um sistema de informação. Sabemos que a entrada e saída de dados entre um sistema computacional e seu usuário são, obviamente, ações comunicativas entre o usuário e o sistema, ou entre usuários do sistema. O armazenamento de dados também pode ser visto como uma ação comunicativa no tempo, ou seja, uma comunicação do usuário de hoje com o mesmo usuário no futuro, pois o objetivo final do armazenamento de dados é dar a seu usuário o poder de recuperá-los em um tempo futuro. Por último, temos o processamento, uma transformação dos dados obtidos na entrada para dados prontos para a saída, que é, em última instância, uma comunicação da máquina com ela mesma, o que configura também um ato comunicativo. Assim, percebemos que, ao tratarmos de segurança em informática, tratamos também, inevitavelmente, de atos comunicativos, e a segurança na informática pode ser analisada através de sucessões deles. Com o advento da Internet, o estudo dos atos comunicativos ganha ainda mais importância, juntamente com o conceito de “confiança” envolvida em uma comunicação. Portanto, para se construir um bom modelo de análise de riscos em segurança na informática, precisamos entender bem a complexa natureza dos atos comunicativos. O diagrama 1.1 a seguir ilustra o processo de produção de significado, conhecido como Semiose, no qual um sinal físico, após várias filtragens, pode se transformar em valor e sentido para o receptor de uma mensagem. 14 Figura 1.1: Produção de Significado (Semiose) (1). A primeira (e mais óbvia) interpretação que podemos fazer desse diagrama é a seguinte: Nem todo sinal físico codifica dado, nem todo dado representa informação, nem toda informação tem valor. Para que haja um sinal físico, é necessário, primeiramente, um canal de comunicação, que podem ser cabos de rede, fibra ótica, ar, canal visual, auditivo, olfativo, etc. Para que um sinal físico codifique um dado, é necessário a existência de símbolos (ex: letras do alfabeto, números, hieróglifos ou qualquer outro tipo de grafia) que, em conjunto, formam um código. Não faz sentido algum oferecer proteção a um dado, que pode ou não representar alguma informação. Dados são apenas sequências de símbolos. “E símbolos, em si alheios ao que possam representar, não se quebram nem morrem, não se desintegram nem se deterioram, não vão para a cadeia nem à falência”7 . Neste trabalho, o conceito de informação que utilizamos é derivado da Teoria da Informação de Shannon. Para Shannon, a informação é o que pode ser transferido de uma fonte para um destino através de um canal de comunicação, medido pela incerteza (probabilidade) do que não é antecipável pelo receptor. Informação é, portanto, aquilo que o receptor não pode saber de antemão antes da comunicação, ou seja, é algo que altera seu estado de conhecimento. Mas se algo é ou não antecipável, só pode sê-lo em relação a algo que pode ser esperado ou entendido. Para que o receptor receba informação, é, portanto, essencial que ele saiba algo a respeito do emissor antes da comunicação, que o ajude a formar as expectativas corretas em relação ao que vai receber e a entender o conteúdo da mensagem no mesmo sentido que o emissor pretendeu dar. 7 Extraído de (1), pág. 6. 15 A esse “algo” que o receptor precisa saber previamente a respeito do emissor para que receba alguma informação, damos o nome de premissas de confiança. É nesse contexto, e nesse sentido, que Gerck (5) constrói seu conceito abstrato de confiança, que assim completa ou contextualiza a definição de informação de Shannon: “Confiança é aquilo que é essencial para um canal de comunicação mas não pode ser transferido da fonte para o destino através desse canal.” Uma das premissas de confiança para que um dado represente informação é a presença de uma linguagem comum entre emissor e receptor. Por linguagem comum, entende-se não apenas as dimensões sintáticas (elaboração e entendimento de sentenças bem formadas em uma linguagem) e semânticas (entendimento comum de sentidos e referentes), mas também a dimensão pragmática (contexto social, cultural, religioso e econômico da comunicação, como, por exemplo, o motivo pretendido e percebido para um ato comunicativo), que interfere nas outras duas dimensões. Mas é importante observar que também não faz sentido falarmos em proteção da informação, uma vez que nem toda informação possui valor. O que caracteriza informação é uma modificação do estado de conhecimento do receptor, e essa modificação pode interessá-lo ou não. Portanto, para que a informação possua um valor, é necessário a presença de um interesse do receptor sobre a informação recebida. Esse interesse na informação recebida pode ser de várias naturezas e está sempre presente em diversas situações (econômicas, sociais, culturais, religiosas, etc). É o interesse, em uma dada situação, que atribui um certo valor a uma determinada informação, e é esse valor que os mecanismos de segurança, no final das contas, tentam proteger. Um determinado valor pode ainda elicitar um sentido, que nesse diagrama não deve ser interpretado como um significado apenas, mas como uma cadeia de significados construída pelo receptor que o faz pensar e agir (ou não) em uma determinada direção, propiciando, por exemplo, o diálogo. No diagrama, a palavra “sentido", portanto, adota uma interpretação geométrica (de “seta"), indicando para o próximo pensamento e/ou ação do receptor com base no valor recebido. O diagrama nos leva a uma análise bastante complexa, que lida com aspectos matemáticos, linguísticos e sociológicos. Mesmo assim, ele é apenas uma simplificação. O processo de comunicação no mundo real é ainda mais complexo. E, se a natureza da comunicação já é complexa por si própria, complica-se ainda mais com a intermediação de múltiplas camadas de hardware e software. 16 1.2.2 Interesse: A Componente que Faltava Agora que já aprofundamos um pouco na natureza dos atos comunicativos, para entendermos a hipótese deste trabalho, que é a componente que falta nos atuais métodos de análise de riscos, vamos recorrer a Jürgen Habermas, um dos maiores filósofos contemporâneos. No livro “Conhecimento e Interesse” (7), Habermas defende que existe uma relação inevitável entre os métodos e os interesses que guiam o conhecimento. Desta forma, o conhecimento – e, portanto, a ciência – só pode ser criticado como uma teoria da sociedade. E a presença do interesse, como vimos na seção anterior, é a componente fundamental para transformar informação em valor, que é o que de fato se procura proteger. Rezende classifica os interesses8 , como motivadores ou comunicáveis. O interesse motivador é o propósito que move intimamente uma entidade a ofertar comunicação. Esse interesse determina o contexto e as premissas de confiança sobre os demais interlocutores e o sistema de comunicação utilizado (se a comunicação ocorrerá em um sistema fechado, em um rede fechada ou em uma rede aberta). Já o interesse comunicável é o propósito que a entidade em foco comunica (explícita ou tacitamente) ao buscar se expressar de determinada forma sobre determinado assunto. O interesse comunicável pode ser inferido da comunicação, enquanto o interesse motivador é implícito. No discurso de uma entidade, é importante observar como esses dois tipos de interesse estão relacionados. O interesse comunicável é a “persona” do interesse motivador. Se a comunicação for franca, esses interesses podem estar alinhados, ou mesmo serem o mesmo. Porém, em muitos casos, pode ser vantajoso a uma entidade fazer seus interesses motivadores e comunicáveis parecerem o mesmo, quando, na realidade, estão desalinhados (como ilustram, por exemplo, os usos problemáticos do teatro da segurança). Neste caso, segundo Habermas, a entidade age estrategicamente, levando em conta, na sua comunicação, as possíveis decisões de seu interlocutor e, consequentemente, as possíveis direções da interação comunicativa entre ambos. Esse tipo de agir vai além do teatro da segurança e é muito comum em diversas áreas, como na diplomacia, no marketing e no discurso político, por exemplo. Desta forma, ao analisarmos os riscos em segurança na informática, devemos considerar os interesses dos agentes de comunicação e dos fornecedores de tecnologia nos próprios valores que almejam proteger. Os métodos tradicionais de análise de riscos, conscientemente ou não, não contabilizam esses interesses. 8 Em (1), pág. 21. 17 E, quando o fazem, fazem-no inadequadamente, ou seguindo uma abordagem implicitamente bipolar, subestimando o efeito da oposição de interesses entre clientes e fornecedores de tecnologia, ou utilizando conceitos ou modelos de confiança que são, via de regra, baseados em reputação9 , que estimam confiança através do mesmo canal de comunicação entre os agentes, contrariando o próprio conceito de confiança, que, de acordo com Gerck, corresponde a um conhecimento prévio externo ao que seja transmissível pelo canal de comunicação. Por utilizarem inadequadamente o conceito de confiança, as abordagens baseadas em reputação falham em detectar, em tempo adequado, o agir estratégico em seus agentes, como o caso de empresas que trabalham conforme o esperado até o ponto em que conseguem boa reputação e dominam mercados sensíveis aos efeitos econômicos de rede (como os de TIC), e, a partir daí, mudam seu modo de se relacionar com os clientes. Os métodos tradicionais de análise de riscos focam no uso das tecnologias e nos dados, esquecendo as situações nas quais essas tecnologias são aplicadas, onde se encontram as pessoas, seus mais diversos interesses e os reais riscos a serem analisados à luz de conflitos entre estes. Segundo Rezende, “devemos reconhecer que embora as TIC possam ser consideradas neutras, suas aplicações não o são. Pois o uso de uma tecnologia afeta perfis de riscos a que estão sujeitos os envolvidos em suas aplicações. E sobre segurança em informática, devemos aceitar que os objetos primários de análise são perfis de riscos aos quais se expõem pessoas, sujeitos numa determinada situação que envolve aplicação tecnológica. As TIC envolvidas são elementos contingentes, por alterarem esses perfis, não devendo portanto ser aí tratadas isolada ou primariamente.”10 Em geral, se os interesses entre fornecedores e clientes não estão alinhados, ou ainda, se a parte que protege um sistema não é também a parte que sofre com os resultados dos incidentes de segurança, então problemas devem ser esperados. Anderson descreve uma situação típica de desalinhamento de interesses em (25), em que comparou a segurança do sistema bancário norte-americano com os de alguns países da Europa. Nos EUA, em casos de fraude bancária, cabia ao banco o ônus da prova de que o cliente estava enganado ou mentindo. Isso gerou nos bancos dos EUA um interesse em proteger adequadamente seus sistemas, de forma que os interesses dos clientes em não serem fraudados estavam alinhados com os do banco. Entretanto, em países como o Reino Unido, a Noruega e a Holanda, o ônus dessa prova recaía sobre os clientes: o banco estava certo até que o cliente se provasse o contrário. Como isso era quase impossível, os bancos se tornaram menos cuidadosos. Como resultados de incidentes, epidemias 9 Mais referências a essas modelagens (com Capra, Shand e Grandison e Patel) podem ser encontradas em (1), pág. 26. 10 Extraído de (1), pág. 3. 18 de fraudes ocorreram na Europa, enquanto nos EUA, os bancos sofreram muito menos fraudes de varejo, embora tenham gasto menos com segurança que os europeus. A visão comum de segurança na informática prega que ela deve se ater apenas a medidas técnicas, ou seja, de que com melhores políticas de controle de acesso, provas formais de protocolos criptográficos, homologação de firewalls e outras ferramentas, modos de detecção de intrusões e código malicioso e melhores ferramentas de avaliação, os problemas serão resolvidos. Para que a análise de riscos seja mais efetiva, entretanto, o foco em situações que envolvem segurança em TIC deve ser mudado, passando dos dados para os conflitos de interesses de quem manipula ou acessa esses dados. 1.3 Justificativa Metodológica e Objetivos Gerais É possível que se argumente que alterar o foco da análise de riscos dos dados para os interesses transforma esse tipo de atividade em estudo sociológico, não restando, portanto, nada que um cientista da computação possa fazer, pois teorias da sociedade e ideologias fogem do escopo de sua área. Há que se considerar, entretanto, que a Ciência da Computação tem efeitos sobre a sociedade e esta, por sua vez, tem efeitos sobre a Ciência da Computação. A divisão do conhecimento em diversas áreas é feita apenas para facilitar o estudo e torná-lo mais conveniente, mas é importante lembrar que, do ponto de vista epistemológico11 , essa divisão não existe. Mas ainda é possível argumentar que estudar a sociedade do ponto de vista de um cientista da computação, com seus habituais formalismos matemáticos, não é adequado, tanto por causa do fator humano e seus elementos psicológicos quanto por causa da dificuldade de se obter medidas precisas nesses assuntos. Quem segue esta linha de argumentação considera que o estudo da sociedade deve ser deixado para psicólogos, sociólogos e cientistas sociais. É importante lembrar que alguns argumentos semelhantes já foram feitos no passado em ciências onde hoje a Matemática tem um papel central, como a Física, a Química e as Ciências Biológicas. Quanto à ausência de se obter medidas precisas, observa-se que na verdade as medidas precisas são consequências (e não antecedentes) da aplicação matemática12 . 11 A Epistemologia é o estudo crítico dos princípios, hipóteses e resultados das ciências já constituídas (12). 12 Uma discussão mais detalhada a respeito da aplicação do método matemático - para a Economia e as Ciências Sociais - pode ser encontrado em (13). 19 Essas objeções são, portanto, prematuras. É perfeitamente razoável aplicar métodos que foram utilizados com sucesso em diversas áreas de ciência para entender os fenômenos sociais. Se métodos melhores existirem, isso só poderá ser descoberto durante o desenvolvimento de tais estudos. O trabalho pretende, portanto, construir um modelo formal para uma análise de riscos em segurança na informática que matenha seu foco nos interesses envolvidos. O formalismo adequado para a construção desse modelo pode ser encontrado na Teoria dos Jogos, que vem se mostrando atualmente bastante adequada para modelar formalmente situações que envolvem conflitos de interesse entre diversos agentes. Os conceitos mais fundamentais da Teoria dos Jogos estão explicados de forma mais detalhada na seção 2.2 do capítulo 2. 20 Capítulo 2 Conceitos Básicos Este capítulo tem por objetivo explicar os conceitos teóricos fundamentais ao desenvolvimento e entendimento deste trabalho. A primeira parte se refere à forma tradicional utilizada atualmente para Gestão e Análise de Riscos. A segunda parte detalha alguns conceitos importantes na área da Teoria Clássica dos Jogos de estratégia. 2.1 A Metodologia Tradicional para Análise de Riscos A Análise de Riscos, objeto de estudo deste trabalho, é na verdade uma atividade de um processo maior, denominado Gestão de Riscos. A Gestão de Riscos é o processo geral de identificação, análise e priorização de riscos seguido por uma aplicação coordenada e econômica de recursos para minimizar, monitorar e controlar a probabilidade e/ou impacto de eventos adversos em uma organização1 . No contexto deste trabalho, esses eventos adversos estão relacionados a proteger a integridade, confidencialidade e/ou disponibilidade dos valores apresentáveis em um sistema de informação. A Gestão de Riscos consiste, acima de tudo, em aplicar recursos limitados de forma inteligente em eventos que não podem ser previstos antecipadamente. Esse processo possui, tipicamente, três sub-processos principais: Análise de Riscos, Redução de Riscos e Avaliação e Análise. • Análise de Riscos: é o processo que envolve a identificação e avaliação dos riscos e seus impactos, além da recomendação de medidas de redução desses riscos. 1 Adaptado de (20). 21 • Redução de Riscos: é o processo de priorizar, implementar e manter as medidas apropriadas de redução de riscos recomendadas pelo processo de Análise de Riscos. • Avaliação e Análise: é o processo de avaliar continuamente as medidas implementadas e determinar os critérios de sucesso na implementação do programa de Gestão de Riscos. Através do processo de Gestão de Riscos, os gerentes de TI tentam equilibrar os custos operacionais e econômicos das medidas de proteção, atingindo o objetivo de prover algum tipo de proteção aos sistemas e aos valores que dão suporte à missão da organização a qual pertencem. Existem vários padrões de Gestão de Riscos atualmente. Dentre eles, citamos os do Project Management Institute (PMI) (22), do National Institute of Standards and Technology (NIST) (20), de sociedades atuariais, além do padrão ISO 31000 (23). Os métodos, definições e objetivos desse processo variam largamente de acordo com o tipo de atividade, se o contexto é o da gerência de projetos, segurança, engenharia, processos industriais, finanças, campo atuarial, saúde e segurança pública, etc. Voltemos agora nosso foco para a atividade de Análise de Riscos, normalmente considerada a fase mais fundamental da Gestão de Riscos. As definições aqui mostradas são as existentes nos padrões do NIST e ISO 31000. O padrão NIST foi escolhido por ser o que mais se aproxima ao contexto deste trabalho e o padrão ISO 31000 foi escolhido por ser largamente discutido e utilizado. 2.1.1 Análise de Riscos: Conceito A Análise de Riscos é normalmente considerada a fase mais fundamental e importante dentro da Gestão de Riscos. Porém, antes de definir essa atividade, é necessário definirmos primeiro o que significa a palavra “Risco”. O que é Risco? Definição 1 (ISO 31000): “Risco é o efeito da incerteza nos objetivos.” Definição 2 (NIST): “Risco é a probabilidade de uma dada fonte de ameaça exercitar uma vulnerabilidade particular em potencial, causando um impacto resultante desse evento adverso na organização.” 22 A primeira definição considera o risco como o efeito da incerteza dos objetivos, porém não explicita se esse efeito é positivo ou negativo. Portanto, através dessa definição, a Gestão de Riscos pode ser utilizada tanto para lidar com ameaças quanto para aproveitar oportunidades, que podem ser vistas como “riscos positivos”. A segunda definição considera o risco como algo negativo, eventualmente causando um efeito adverso na organização. Embora essa visão esteja mais de acordo como o que pretendemos neste trabalho, ela não é muito esclarecedora, pois utiliza uma maior quantidade de conceitos que a definição anterior, como “fonte de ameaça” e “vulnerabilidade”, que necessitam de uma definição mais precisa. Destrinchemos, de acordo com o NIST, os principais conceitos embutidos nesta definição. Uma vulnerabilidade é uma falha ou fraqueza nos procedimentos de segurança, projeto, implementação ou controles internos que poderia ser exercitada – materializada acidentalmente ou explorada intencionalmente –, resultando em uma brecha de segurança ou em uma violação da Política de Segurança2 do sistema. Uma fonte de ameaça pode ser: • Uma intenção e método voltado para explorar intencionalmente uma vulnerabilidade (“Demônio de Descartes”). • Uma situação e método que pode acidentalmente materializar consequências de uma vulnerabilidade (“Leis de Murphy”). Para determinar a probabilidade de um evento adverso futuro, as ameaças a um sistema devem ser analisadas em conjunto com as potenciais vulnerabilidades e controles3 implementados no sistema. Um impacto se refere à magnitude do dano causado por uma ameaça quando esta exercita uma vulnerabilidade. O nível de impacto é determinado com base nos potenciais impactos na missão da organização4 e produz um valor relativo para o patrimônio de TI e recursos afetados. Assim, a Análise de Riscos é um subprocesso da Gestão de Riscos que identifica os riscos à segurança de um sistema e determina sua probabili2 Uma Política de Segurança Informacional (PSI) pode ser vista como “uma definição de restrições e prioridades visando a sancionar desvios, enfrentar contigências e reformularse com aferições” (1). Mais sobre PSI pode ser visto na próxima subseção. 3 “Controles” se referem a medidas de redução de riscos. 4 A missão de uma organização é o seu fim, sua razão de existir, embora no contexto deste trabalho possa ser entendida simplesmente como o conjunto de seus interesses. Mais sobre a missão da organização pode ser visto na próxima subseção. 23 dade de ocorrência, o impacto resultante, e controles adicionais que minimizariam este impacto. As duas máximas de Sun Tsu no clássico A Arte da Guerra (24) – conheça a si mesmo e conheça a seu inimigo – definem bem do que trata a Análise de Riscos. O padrão ISO 31000 define uma série de princípios para que a gestão de riscos se torne eficaz na organização. Segundo a norma, para que isso ocorra, a organização deve atender aos princípios abaixo descritos: a) A gestão de riscos cria e protege valor b) A gestão de riscos é parte integrante de todos os processos organizacionais. c) A gestão de riscos é parte da tomada de decisões. d) A gestão de riscos aborda explicitamente a incerteza. e) A gestão de riscos é sistemática, estruturada e oportuna. f) A gestão de riscos baseia-se nas melhores informações disponíveis. g) A gestão de riscos é feita sob medida. h) A gestão de riscos considera fatores humanos e culturais. i) A gestão de riscos é transparente e inclusiva. j) A gestão de riscos é dinâmica, iterativa e capaz de reagir a mudanças. k) A gestão de riscos facilita a melhoria contínua da organização. Um dos objetivos deste trabalho é atrair o foco da atividade de análise de riscos em segurança na informática para o item h acima descrito, ou seja, considerar os aspectos humanos e culturais existentes no dado contexto. O que deve-se ter em mente é que segurança em informática não é apenas uma questão de gestão racional de riscos. Segurança em informática é, antes de tudo, “sobre poder e dinheiro – sobre aumentar as barreiras de comércio, segmentar mercados e promover diferenciação de produtos”5 . 2.1.2 Política de Segurança Informacional (PSI) e Missão da Organização Política de Segurança Informacional (PSI) é uma definição de restrições e prioridades. A tradução da palavra “política” para o idioma onde esse termo é mais usado pode levar a uma ambiguidade (“policy” ou “politics”), mas normalmente a palavra é traduzida como policy. Nesse sentido, a PSI contempla ou formaliza, em linhas gerais, “crenças, princípios, metas e objetivos gerenciais, procedimentos e mecanismos aceitáveis ou mandatórios para agentes em uma entidade (que a adota), incluindo modos de ação visando a sancionar desvios, enfrentar contingências e reformular-se com aferições” (1). É a PSI que define onde, como, quando e quanto vai ser gasto do orçamento voltado para proteger os ativos e sistemas da organização. Ela tem, 5 Traduzido de (25). 24 portanto, uma estreita relação com a atividade de Análise de Riscos. Uma definição de restrições e prioridades só pode ser feita a partir de certos valores. Valores que, no contexto deste trabalho, são atribuídos a informação em uma dada situação e que, portanto, como visto na seção 1.2.1, só existem em relação a determinados interesses. Assim, podemos entender a PSI como um “mapeamento dinâmico dos interesses de uma entidade, pertinentes a seu negócio ou função, sobre o processo (e o “teatro”) da segurança relativos a seus ativos e sistemas de informação” (1). Esse conjunto de interesses de uma entidade pode ser entendido, nesse contexto, como a missão da entidade ou organização. 2.1.3 Críticas à Análise de Riscos Tradicional Alguns autores especializados na área de Análise de Riscos fazem duras críticas a como esse processo vem sendo executado dentro das organizações. Um dos principais críticos ao métodos tradicionais de Análise de Riscos é David W. Hubbard, inventor de um método de Análise de Decisão conhecido como Economia Aplicada a Informação (Applied Information Economics AIE)6 . Em relação a esses métodos, ele faz três questionamentos básicos7 : • Algum desses métodos realmente funciona? • Se eles não funcionaram, alguém de dentro da organização teria condições de sabê-lo? • Se eles não funcionam, quais seriam as consequências? Hubbard argumenta que, na maioria das vezes, esses métodos são estruturalmente falhos e relaciona os efeitos dos mais recentes desastres norteamericanos – como o furacão Katrina e a crise financeira de 2008/9 – com falhas no processo de gestão de riscos em organizações envolvidas nesses incidentes (como o governo norte-americano, no primeiro caso, e instituições financeiras como o banco AIG, Lehman Brothers, Bear Stearns e as agências federais norte-americanas responsáveis por fiscalizar o trabalho dessas instituições, no segundo). Uma das principais razões dessas falhas, segundo Hubbard, é a falta da possibilidade de mensuração para a efetividade desses métodos. Em grande parte das vezes, não existe evidência experimentalmente verificável de que os métodos aplicados realmente melhoram a análise e minimização dos riscos existentes. A única “evidência” é dada por percepções subjetivas 6 O método AIE procura estabelecer métricas para mensurar os valores intengíveis das organizações, através de uma técnica que combina aplicações da teoria da decisão e de certas abordagens quantitativas de Análise de Riscos, como o uso de métodos de Monte Carlo. Ele é descrito parcialmente em (26). 7 Traduzido de (27). 25 dos gerentes que, em primeiro lugar, promoveram esses métodos, de forma que se torna muito difícil, na maior parte das vezes, que resultados negativos sejam reconhecidos. Para uma atividade tão crítica como é hoje a de Análise de Riscos, devemos provar que esses métodos funcionam – e não somente apresentar falta de provas de que eles não funcionam. A grande falha da ampla maioria dos métodos tradicionais de análise de riscos é que eles estão, assim, alheios aos seus próprios riscos. A falta de uma abordagem mais científica e experimentalmente verificável em grande parte dos métodos tradicionais de gestão de riscos é uma vulnerabilidade que pode ser facilmente explorada por fornecedores e intermediadores de tecnologia, através do uso do Teatro da Segurança e do agir estratégico, manipulando, por exemplo, a percepção de uma organização cliente em relação a um determinado fornecedor, levando-a a subestimar os riscos de interação com ele e enfraquecendo sua abordagem para fazer análise de riscos. E, segundo Hubbard, uma abordagem fraca para análise de riscos é efetivamente o maior risco para qualquer organização. 2.2 A Teoria dos Jogos Esta seção fornece uma breve introdução à Teoria Clássica dos Jogos de estratégia, que servirá de base matemática para a abordagem de análise de riscos em segurança na informática utilizada neste trabalho. 2.2.1 O Conceito de Jogo A Teoria dos Jogos8 é um campo da matemática aplicada utililizado com diversos graus de sucesso nas Ciências Sociais – notavelmente em Economia –, e também em áreas da Biologia, Engenharia, Ciência Política, Relacões Internacionais, Ciência da Computação e Filosofia. A teoria tenta capturar e modelar matematicamente o comportamento de agentes (humanos ou não) em situações chamadas de “jogos”. Um jogo nada mais é do que uma situação estratégica, onde o sucesso da escolha de um indivíduo depende, além de sua própria escolha, das escolhas dos outros indivíduos envolvidos. Um jogo possui elementos bem definidos: um conjunto de jogadores, um conjunto de estratégias disponíveis a esses jogadores e uma especificação dos ganhos ou perdas resultantes da combinação das estratégias utilizadas. Alguns desses elementos, apesar de simples, possuem significados especiais dentro da teoria, que diferem do significado convencional. Eles serão explicados nas próximas seções. 8 Adaptado de (16). 26 Jogadores No sentido convencional, somos sempre levados a pensar que um jogador é simplesmente um indivíduo envolvido em um jogo. Um jogo de Poker, por exemplo, possui normalmente cinco jogadores. Do ponto de vista da Teoria dos Jogos, porém, isso pode não ser verdade. Talvez dois jogadores tenham entrado em uma forma de coalisão, em que dividirão seus ganhos e perdas. Se isso for verdade, é razoável supor que eles jogarão para seu bem comum sempre que as circunstâncias permitirem. A coalisão vai se comportar exatamente como um único indivíduo enquanto puder. Neste caso, fica evidente que o jogo não é mais formado por cinco jogadores, e sim quatro. Assim, do ponto de vista da Teoria dos Jogos, o número de jogadores é determinado não pelo número de agentes em si, mas pela quantidade de conjuntos com interesses distintos dentro do jogo. Ganhos ou perdas Ganhos ou perdas são os resultados obtidos pelos jogadores ao aplicarem suas estratégias. Em um jogo, os ganhos e perdas individuais de um jogador dependem não só de sua própria estratégia, mas também das estratégias escolhidas por todos os outros jogadores. Essa característica é justamente o que diferencia os jogos de problemas de otimização comuns. Se, em um jogo, o ganho total de alguns jogadores resulta em uma perda, de mesma magnitude, para os outros jogadores, classificamos o jogo como sendo de soma zero. Em outras palavras, em jogos de soma zero: Ganhos totais = Perdas totais ⇒ Ganhos totais - Perdas totais = 0 Xadrez e Poker são exemplos clássicos de jogos de soma zero, nos quais há uma troca frequente de recursos entre os jogadores e persiste sempre a dicotomia “ganhar ou perder”. Muitas situações da vida real são modeladas como jogos de soma zero, que são mais fáceis de analisar. Jogos sem essas características são chamados jogos de soma diferente de zero, em que a quantidade de ganhos totais pode diferir da quantidade de perdas totais. Em jogos de soma diferente de zero, pode haver situações em que todos os jogadores ganham ou em que todos eles perdem. Os jogos apresentados na abordagem deste trabalho para a análise de riscos (capítulo 3) são dessa categoria. Estratégias Assim como a palavra “jogador” possui um significado diferente do comum em Teoria dos Jogos, o mesmo se aplica à palavra estratégia. No sentido coloquial, entendemos estratégia como uma espécie de plano engenhoso ou 27 traiçoeiro, enquanto em Teoria dos Jogos uma estratégia é definida como um plano completo, tão completo que compreende qualquer ação possível dos jogadores envolvidos para qualquer ação possível de seus oponentes. Essa definição traz consigo duas diferenças fundamentais da estratégia no sentido coloquial: uma é que ela deve compreender toda e qualquer ação do jogador e de seus oponentes, a outra é que ela não precisa ser necessariamente uma estratégia inteligente, pois nada é exigido dela a não ser completeza. Em um jogo de Truco ou Poker, um jogador com o costume de fugir de todas as rodadas está executando, do ponto de vista da Teoria dos Jogos, uma estratégia válida, mesmo que ela certamente o leve à derrota. Definição Formal de Jogo Agora que já explicamos todos os elementos de um jogo de forma coloquial, vamos definir o conceito de jogo formalmente. Isso será necessário para que possamos entender as soluções de equilíbrio existentes nos mais diversos tipos de jogos. Formalmente, um jogo consiste de n jogadores, 1, 2, ..., n. Cada jogador i possui seu próprio conjunto de estratégias Si . Para participar do jogo, cada jogador i escolhe uma estratégia si de seu conjunto de estratégias (si ∈ Si ). Usaremos s = (s1 , ..., sn ) para representar o vetor ou perfil de estratégias resultante definido pelos jogadores e S = S1 × S2 × ... × Sn para representar todos os vetores de estratégias que podem ser definidos por esses jogadores (s ∈ S). O vetor de estratégias resultante s definido pelos jogadores determina o ganho ou perda de cada jogador. Em geral, os ganhos e perdas serão diferentes para cada um dos jogadores. Uma ordem de preferência dos ganhos e perdas existentes deve ser definida através de uma relação binária completa, transitiva e reflexiva no conjunto S de todos os vetores de estratégias: dados dois elementos de S, essa relação deve permitir que um jogador i indique qual ganho ou perda ele prefere fracamente no jogo. Dizemos que i prefere fracamente o vetor de estratégias s ao vetor de estratégias s0 se ele prefere s a s0 ou se ele considera ambos igualmente vantajosos. A maneira mais simples de especificarmos ganhos ou perdas é atribuir um valor para cada vetor de estratégias resultante no jogo. Em alguns jogos, será mais natural associar esse valor a um ganho, enquanto em outros será mais natural associá-lo a perdas ou custos. Dessa forma, podemos definir as funções ui : S → < e ci : S → <, respectivamente, para ganhos e custos associados a um vetor de estratégias. Claramente, ganhos e custos são intercambiáveis, pois um custo pode ser interpretado como um “ganho negativo”, ou seja, ci (s) = −ui (s). É importante observar que ui e ci foram definidos como funções de s. 28 Se, ao invés disso, tivéssemos definido essas funções como funções de si , teríamos, ao invés de um jogo, n problemas de otimização independentes. Como foi observado na seção 2.2.1, o que diferencia um jogo de um problema comum de otimização é o fato de que o resultado para cada jogador depende não só de sua estratégia, mas das estratégias assumidas pelos outros jogadores. 2.2.2 O Dilema do Prisioneiro O Dilema do Prisioneiro9 é certamente o jogo mais famoso e estudado em Teoria dos Jogos. Foi formulado por Albert W. Tucker em 1950, em um seminário para psicólogos na Universidade de Stanford, para ilustrar a dificuldade de se analisar alguns tipos de jogos. Sua descrição é a seguinte: “Dois prisioneiros estão sendo julgados por um crime. Cada um enfrenta a escolha de confessar o crime ou se manter calado. Se ambos permanecerem em silêncio, as autoridades não serão capazes de apresentar provas contra eles e ambos terão uma pena curta, digamos 2 anos, por crimes menores. Se apenas um deles confessa, o tempo de permanência na prisão de quem confessou cai para 1 ano e ele será utilizado como testemunha de acusação do outro, que terá sua pena aumentada para 5 anos. Finalmente, se ambos confessam, ambos terão suas penas ligeiramente reduzidas para 4 anos por colaborarem com as autoridades”10 . Existem claramente quatro possibilidades possíveis para os dois prisioneiros, dependendo das estratégias que escolherem. Podemos expressar sucintamente essas possibilidades em uma matriz 2x2, conhecida como matriz de custos ou forma normal do jogo: Figura 2.1: Matriz de custos do jogo “O Dilema do Prisioneiro”. Cada um dos prisioneiros (“J1” e “J2”) possui duas estratégias (“Confes9 10 Uma descrição desse famoso jogo pode ser encontrada em (15), cap. 1. Descrição traduzida de (15). 29 sar” e “Silenciar”). As estratégias do jogador J1 correspondem às linhas da matriz e as estratégias do jogador J2 correspondem às colunas da matriz. Os valores da matriz indicam os custos que cada jogador incorre para cada situação (o valor inferior à esquerda indica o custo para o jogador da linha e o valor superior à direita indica o custo para o jogador da coluna). Se analisarmos este jogo do ponto de vista de um dos prisioneiros, temos que ele pode raciocinar da seguinte maneira: “Duas coisas podem acontecer: o outro prisioneiro pode confessar ou se manter calado. Se ele confessar, então é melhor para mim confessar também. Se ele não confessar, então eu diminuo minha pena se confessar. Em qualquer um dos casos, é melhor para mim confessar. Então, eu confessarei!”11 . O outro prisioneiro pode, por sua vez, raciocinar da mesma maneira. Assim, ambos confessarão e obterão uma pena de 4 anos. Esse raciocínio nos mostra que a única estratégia estável do jogo é o perfil de estratégias (“Confessar”, “Confessar”), pois em qualquer um dos outros três casos um dos prisioneiros poderá diminuir sua pena através da mudança da estratégia “Silenciar” para a estratégia “Confessar”. Observe que quando ambos optam por se manter calados, obteriam uma pena muito menor (de 2 anos) para ambos. Essa, porém, é uma solução difícil de ser mantida e não é considerada estável, porque cada um dos prisioneiros se sentiria tentado a mudar de estratégia de última hora: não confiar envolve um custo, mas confiar envolve um risco. É justamente nesse sentido de estabilidade que foram criados os conceitos de equilíbrio em jogos. Um ponto de equilíbrio no jogo significa uma situação em que nenhum dos jogadores se sente incentivado a mudar sua estratégia, pois essa mudança não aumentaria seus ganhos atuais. Existem diversos tipos de equilíbrios em jogos, mas, para este trabalho, utilizaremos apenas dois: Equilíbrio de Estratégia Dominante e Equilíbrio de Nash. 2.2.3 Soluções Básicas de Equilíbrio Equilíbrio em Teoria dos Jogos pode ser entendido como uma situação de estabilidade na qual cada jogador escolheu sua estratégia procurando maximizar seus ganhos e minimizar suas perdas, de forma que eles se sintam incentivados a manter as estratégias escolhidas. O conceito de estabilidade será definido formalmente. 11 Adaptado de (16). 30 Para definir formalmente as soluções de equilíbrio que serão apresentadas, precisamos definir o significado de algumas notações12 . Para um vetor de estratégias s ∈ S, usamos si para denotar a estratégia escolhida pelo jogador i e s−i para denotar o vetor de estratégias (n − 1)dimensional com as estratégias escolhidas pelos jogadores com exceção do jogador i. Relembrando (da seção 2.2.1, página 28) que Si é o conjunto de estratégias do jogador i e que a função de ganho ou utilidade de um jogador para um dado vetor de estratégias é dado pela função ui (s), temos que agora essa função pode também ser representada por ui (s) = ui (si , s−i ). Solução de Estratégia Dominante O exemplo do jogo do Dilema do Prisioneiro (da seção 2.2.2, 29) tem uma propriedade muito especial. Para um prisioneiro, a estratégia de “Confessar” traz sempre uma perda menor do que a estratégia “Silenciar”, não importando o que o outro prisioneiro faça. Em outras palavras, cada jogador tem uma estratégia ótima independente das estratégias adotadas pelos outros jogadores. Quando um jogo tem essa propriedade, dizemos que ele possui uma solução de estratégia dominante. Mais formalmente, temos que um vetor de estratégias s ∈ S é um equilíbrio de estratégia dominante se, para cada jogador i e para cada vetor de estratégia alternativa s0 ∈ S, temos que: ui (si , s0−i ) ≥ ui (s0i , s0−i ) Dizemos ainda, nesta situação, que a estratégia s0i é fracamente dominada pela estratégia si . E temos que o vetor s é um equilíbrio de estratégia estritamente dominante se, para cada jogador i e para cada vetor de estratégia alternativa s0 ∈ S, temos que: ui (si , s0−i ) > ui (s0i , s0−i ) Dizemos ainda, nesta situação, que a estratégia s0i é estritamente dominada pela estratégia si . É importante notar que uma solução de estratégia dominante pode não oferecer um resultado ótimo a seus jogadores. Esse é justamente o caso ilustrado pelo Dilema do Prisioneiro, em que o resultado dos dois prisioneiros utilizarem a solução de estratégia dominante (“Confessar”, “Confessar”) leva-os a uma situação pior do que se eles tivessem preferido se manter em silêncio. 12 Algumas delas já foram apresentadas quando definimos formalmente o conceito de jogo, na seção 2.2.1, página 28. 31 A grande vantagem dos jogos que possuem essa solução é que eles permitem uma análise muito simples de suas soluções de equilíbrio, através de um processo conhecido como Dominância Iterada, que consiste na eliminação das linhas e colunas correspondentes às estratégias fraca ou estritamente dominadas, como mostra a análise de equilíbrio da matriz do Dilema do Prisioneiro a seguir: Figura 2.2: Estratégia de equilíbrio estritamente dominante do “Dilema do Prisioneiro”. Para o jogador J1, percebe-se claramente que a estratégia “Silenciar” é estritamente dominada pela estratégia “Confessar”, já que ela traz uma utilidade sempre menor (perda maior) para o jogador J1 que a estratégia “Confessar”, a saber: −5 < −4, caso o jogador J2 confesse e −2 < −1, caso o jogador J2 silencie. Podemos, assim, eliminar a estratégia dominada, que corresponde à segunda linha da matriz. Procedendo da mesma forma com a matriz resultante, descobrimos que, para o jogador J2, a estratégia “Silenciar” também é dominada pela estratégia “Confessar” (−5 < −4). Portanto, essa matriz de fato possui um equilíbrio de estratégia estritamente dominante, que corresponde ao perfil de estratégias apontado pela seta na figura anterior: (“Confessar”, “Confessar”). Entretanto, não é difícil ver que a solução de estratégia dominante é uma solução muito restrita e, portanto, poucos jogos satisfazem esse tipo de equilíbrio. Equilíbrio de Nash com Estratégias Puras Como os jogos raramente apresentam uma solução de equilíbrio dominante, é necessária uma solução de equilíbrio mais ampla. Uma solução desejável em Teoria dos Jogos é aquela na qual os jogadores agem de acordo com seus incentivos, de forma a maximizar seus ganhos e minimizar as suas perdas. 32 Essa idéia é melhor capturada pela noção de equilíbrio de Nash, que, apesar de suas desvantagens, apareceu como o conceito central de solução em Teoria dos Jogos. O equilíbrio de Nash torna mais clara a noção de solução estável, uma solução onde nenhum jogador pode aumentar seu bem-estar mudando a sua estratégia para uma diferente da sua atual. Formalmente, um vetor de estratégias s ∈ S é chamado de equilíbrio de Nash se, para todos os jogadores i e para cada vetor de estratégias s0i ∈ Si , temos que: ui (si , s−i ) ≥ ui (s0i , s−i ) Em outras palavras, no equilíbrio de Nash, nenhum jogador pode mudar sua estratégia escolhida de si para s0i e, consequentemente, aumentar seus ganhos, isso assumindo que todos os outros jogadores mantenham suas estratégias. É importante observar que essa solução é auto-reforçada pelos jogadores, pois uma vez que a encontram, é de interesse dos jogadores se manterem na mesma estratégia. Claramente, uma solução de estratégia dominante é também um equilíbrio de Nash. Portanto, se em um jogo uma estratégia é estritamente dominante, ela também é o único equilíbrio de Nash presente nele. Entretanto, podem existir jogos com várias estratégias de equilíbrio de Nash. Como a solução de estratégia dominante pode não ser ótima para todos os jogadores, temos que o equilíbrio de Nash também pode não ser ótimo, visto que uma solução de estratégia dominante é um equilíbrio de Nash. A possibilidade de haver muitos equilíbrios de Nash em um mesmo jogo complica a previsão de como os jogadores vão se comportar durante o jogo. Algumas perguntas surgem a respeito de qual estratégia de equilíbrio devemos esperar que os jogadores escolham e, se eles estão jogando de forma independente, como sabem qual a estratégia de equilíbrio que devem escolher. Mas a solução de equilíbrio de Nash tem a virtude de ser estável, ou seja, uma vez proposta, nenhum jogador quer mudar sua estratégia individual. Equilíbrio de Nash com Estratégias Mistas O equilíbrio de Nash considerado na seção anterior é chamado de equilíbrio de Nash com estratégias puras, pois cada jogador escolhe deterministicamente sua estratégia. Entretanto, existem jogos que não possuem equilíbrios de Nash com estratégias puras. Consideremos um exemplo bem simples: um jogo de combinação de moedas (Matching Pennies). Nesse jogo, dois jogadores exibem, ao mesmo 33 tempo, a moeda que cada um esconde em sua mão. Se ambas as moedas apresentam cara ou coroa, o segundo jogador entrega sua moeda ao primeiro. Se uma das moedas apresenta cara, enquanto a outra apresenta coroa, o primeiro jogador entrega sua moeda ao segundo. Esse jogo está representado na matriz de ganhos abaixo: Figura 2.3: Um jogo de combinação de moedas (Matching Pennies). Este jogo, apesar de extremamente simples, não tem à primeira vista uma solução estável, pois não possui nenhuma solução de equilíbrio de Nash com estratégias puras. Entretanto, se for permitido aos jogadores escolher suas estratégias randomicamente, onde cada umas das duas estratégias disponíveis (“Cara” ou “Coroa”) tem probabilidade 1/2 de ser escolhida, temos um equilíbrio entre os jogadores, em um certo sentido. A razão disso é que o ganho esperado de cada jogador utilizando esta estratégia é 0 e ne-nhum dos jogadores poderá aumentar seu ganho se mudar de estratégia. Se os jogadores se comportam de forma a escolher uma estratégia (movimento) usando uma distribuição de probabilidades sobre seu conjunto de estratégias possíveis, temos que eles estão jogando uma Estratégia Mista. Assume-se então que as escolhas aleatórias dos jogadores leva a uma distribuição de probabilidades sobre o vetor de estratégias s. Uma distribuição de probabilidades é um elemento do conjunto mi 4mi = {(x1 , ..., xmi ) ∈ < | x1 ≥ 0, ..., xmi ≥ 0 e mi X xk = 1} k=1 Uma estratégia mista pi para o jogador i é uma distribuição de probabilidades sobre o conjunto Si de estratégias desse jogador. Desta forma, se pi = (pi1 , pi2 , ..., pimi ), então pi1 ≥ 0, pi2 ≥ 0, ..., pimi ≥ 0 e mi X k=1 34 pik = 1 O espaço de todos os perfis de estratégia para n jogadores é o produto cartesiano 4 = 4m1 × 4m2 × ... × 4mn denominado espaço de estratégia mista. Um vetor p ∈ 4 é denominado um perfil de estratégias mistas. Como no caso das estratégias puras, utilizamos p−i para denotar o vetor (n − 1)-dimensional das estratégias escolhidas pelos jogadores com exceção do jogador i. Mas uma vez que os jogadores escolhem suas ações aleatoriamente, precisamos definir mais claramente como é o ganho dos mesmos utilizando essas estratégias randômicas, pois isso pode trazer algumas ambiguidades ao nosso estudo. Afinal, um jogador preferiria uma escolha em que houvesse um pequeno ganho com grande probabilidade, mas uma grande perda com baixa probabilidade? Ou, ao contrário, preferiria que houvesse uma pequena perda com grande probabilidade, mas um grande ganho com baixa probabilidade? Para a nossa noção de equilíbrio de Nash com estratégias mistas, assume-se que os jogadores são neutros ao risco, isto é, agem apenas de forma a maximizar o ganho esperado, que é calculado pela média dos ganhos com cada estratégia ponderada pela probabilidade do jogador escolher essa estratégia. Mais precisamente, se p é o perfil de estratégias mistas tal que: p = (p1 , p2 , ..., pn ) = (p11 , p12 , ..., p1m1 ; p21 , p22 , ..., p2m2 ; ...; pn1 , pn2 , ..., pnmn ) Então o ganho esperado ui (p) para o jogador i é calculado por n XY ui (p) = ui (pi , p−i ) = [ pkjk ]ui (s) s∈S k=1 Sob estas considerações, Nash (1951) provou que todo jogo com uma quantidade finita de jogadores, cada um com um conjunto finito de estratégias, tem um equilíbrio de Nash com estratégias mistas: Teorema 2.1 Todo jogo com um conjunto finito de jogadores e um conjunto finito de estratégias possui um equilíbrio de Nash com estratégias mistas. 35 Capítulo 3 A Segurança na Informática como um jogo Este capítulo é o cerne do trabalho. Nele construiremos jogos que modelam situações típicas que envolvem relações contratuais cliente/fornecedor de TICs baseadas em termos de licenças de uso de software e, através da análise das soluções de equilíbrio desses jogos, estabeleceremos bases para fazer novas estimativas desses tipos de risco. 3.1 O Modelo de Jogo em Segurança na Informática O modelo mais básico de jogo para a análise de riscos deste trabalho foi adaptado de (16) e é, na realidade, um refinamento do jogo do Dilema do Prisioneiro, visto na seção 2.2.2. De fato, há no jogo a ser apresentado o mesmo problema exposto no dilema dos prisioneiros: enquanto não confiar envolve um custo, confiar envolve um risco. Os jogadores em foco são uma organização cliente e um fornecedor de software (sistemas operacionais e aplicativos de escritório). A escolha desses jogadores é motivada pela principal hipótese deste trabalho1 , a de que, em uma análise de riscos adequada, devemos considerar os interesses dos agentes de comunicação e dos fornecedores de tecnologia nos próprios valores que estes almejam proteger. O interesse primordial de referência a ser adotado é o interesse motivador da organização cliente, é a ela que a análise de riscos deste trabalho pretende se dirigir. A análise dos riscos das interações entre os interesses dos fornecedores de tecnologia e seus clientes não é algo novo, tendo sido objeto de estudo e preocupação de grandes estudiosos na área da segurança na informática, como Garfinkel & Spafford (19) e Anderson (25). O próprio NIST possui 1 Vista na seção 1.2. 36 manuais com estudos a respeito, embora ainda de forma bastante superficial (21). Devemos, neste ponto, lembrar que um modelo é sempre uma representação simplificada da realidade. Todo modelo, assim como o proposto neste trabalho, não tem a pretensão de ser uma representação totalmente fiel ao mundo real. Este será sempre mais complexo. A grande virtude dos modelos é justamente deixar os detalhes de lado para que possamos visualizar melhor uma situação específica da realidade. 3.1.1 Descrição do Modelo Um certo fornecedor de sistemas operacionais e aplicativos de escritório (F ) é contratado por uma organização cliente (C) para prover os softwares e serviços necessários visando atender às suas necessidades de negócio. Neste jogo, as estratégias disponíveis ao fornecedor são trabalhar ou não trabalhar corretamente, como, por exemplo, ficando aquém do prometido na especificação. Neste último caso, o fornecedor pode agir estrategicamente ludibriando a organização cliente, fazendo com que seus interesses comunicáveis e motivadores destoem. Neste caso, ele estaria realizando, portanto, o chamado Teatro da Segurança, conforme definido por Schneier2 e discutido na subseção 1.1.2. Já as estratégias disponíveis à organização cliente são fiscalizar ou não fiscalizar se o trabalho do fornecedor está sendo realizado corretamente. Se o fornecedor trabalhar corretamente, ele gasta e em esforço total pela fiel produção ou fornecimento de seus softwares ou serviços, e recebe g da organização cliente pelas licenças de software ou contratos de serviço (Service Level Agreements - SLAs) correspondentes, produzindo um benefício b para o cliente. Esse benefício é o que o cliente ganha com os softwares ou serviços adquiridos. Ele pode ser de diversas formas: uma funcionalidade nova, um ganho na usabilidade do sistema, na sua interoperabilidade, desempenho ou segurança (integridade, disponibilidade e/ou sigilo dos valores que a organização pretende proteger), enfim, um ganho de acordo com suas expectativas de benefício em relação ao referido contrato. Por outro lado, a organização terá que arcar com um custo i, relativo às despesas internas advindas da aquisição do software, como o custo com treinamento de funcionários, que terão que aprender a operar as novas funcionalidades do software, bem como o custo de manutenção do próprio3 . 2 O artigo de Schneier está disponível em (2). Pode-se considerar o custo interno i como equivalente ao custo total de posse do software (Total Cost of Ownership - TCO) subtraído dos custos das licenças e dos contratos de 3 37 Se a organização cliente, por sua vez, resolver fiscalizar o trabalho do fornecedor, isso lhe custará f unidades. Se for descoberto que o fornecedor não realizou seu trabalho da forma esperada pelo cliente, ou seja, que o fornecedor não trabalhou corretamente ou ficou aquém da especificação, a organização cliente obterá um ganho de precisão e confiabilidade em sua análise de riscos ao descobri-lo. Descobrindo uma trapaça ou falha de um fornecedor, a organização cliente se distancia do Teatro da Segurança, aproximando seu sentimento da realidade do processo correspondente (a parte subjetiva e objetiva da segurança). Esse ganho traz um benefício para a política de segurança da organização em p unidades, pois permite que ela aloque seus recursos para proteção de maneira mais eficiente do que fazia antes4 . Ainda nesta situação, se a organização cliente, insatisfeita, resolver migrar de fornecedor, esta incorrerá em um custo de migração mc para obter um benefício mb com softwares ou serviços de outro fornecedor. Esta migração, se ocorrer, causará um certo impacto na receita de vendas de licenças ou contratos das próximas versões de softwares ou serviços do fornecedor. Vamos considerar os valores de ganhos e custos aqui descritos como todos não-negativos e reais. Neste momento, cabe uma observação importante a respeito do valor da variável e. Ele não deve ser entendido apenas como o custo do fornecedor com o desenvolvimento de seus softwares ou disponibilização de seus serviços. O desenvolvimento de um software costuma ter um custo inicial alto, porém baixos custos marginais após o seu desenvolvimento. Sua interpretação, neste trabalho, é mais ampla. A variável e corresponde a qualquer tipo de esforço que o fornecedor gasta em torno de seus softwares ou serviços que fornece, seja no desenvolvimento, na fiscalização contra qualquer tipo de violação contratual ou uso ilegal do software (“pirataria”), no esforço de manutenção visando a correção de falhas e evolução de novas versões, no esforço de participação colaborativa em um projeto de código aberto que o habilite como fornecedor de soluções ou no esforço para atrair desenvolvedores de aplicações para a sua plataforma, permitindo maior interoperabilidade de seus sistemas. Um exemplo de minimização desse esforço é dado por Anderson, em (25). Ao verificar que muitas plataformas (como Windows 95/98, Windows NT, etc) possuiam pouco ou nenhum suporte à segurança em controle de acesso, serviço, que são custos externos do software. 4 O valor de p pode ser entendido em termos dos custos de oportunidade da alocação de recursos para implantar controles que minimizem os riscos de segurança para a organização. 38 percebeu-se que isso poderia ser explicado por razões econômicas: segurança mandatória não agregaria valor, pois dificultaria o trabalho dos desenvolvedores de aplicações para a plataforma, aumentando, assim, o valor de e. Muito da falta de segurança tanto em softwares da Microsoft quanto na própria Internet vem do fato de que tanto a Microsoft quanto a Internet obtiveram sucesso sendo amigáveis a seus desenvolvedores. Foi seguida, portanto, pura e simplesmente, uma estratégia de minimização de esforço, cujo custo recai nos usuários. Uma vez definidos os jogadores, as estratégias disponíveis e os custos e ganhos para cada um, podemos representar o jogo – inicialmente sem considerar a possibilidade de migração da organização cliente – definido pela matriz (forma normal) a seguir: Figura 3.1: Jogo 1 - Sem considerar a migração do cliente. Agora analisemos cada célula da matriz exposta no jogo 1. • Linha 1, coluna 1: Se a organização cliente resolver fiscalizar o trabalho do fornecedor e este não trabalhar ou ficar aquém da especificação, ela já terá gasto o valor da licença de software ou serviço contratado e suas despesas internas com o software, além do correspondente ao esforço de fiscalização do trabalho do fornecedor (g + i + f ). Porém, ela não terá recebido o benefício esperado ao adquirir os softwares do fornecedor (consideremos b → 0). Por outro lado, a organização cliente terá adquirido maior precisão em sua análise de riscos, beneficiando sua política de segurança em p unidades. Assim, temos que o ganho (ou perda) do cliente será de p − (g + i + f ). Por outro lado, se não houver migração do cliente, o fornecedor receberá o valor dos contratos (g) sem, no entanto, ter gasto um esforço total correspondente a esse ganho (“It’s not a bug, it’s a feature!”). Considerando, neste momento, que o esforço é tão pequeno que possa ser desprezado (e → 0), temos que o ganho do fornecedor será igual a g. 39 • Linha 1, coluna 2: Se a organização cliente resolver fiscalizar o trabalho do fornecedor e este tiver realizado seu trabalho corretamente, o fornecedor receberá o valor pelas licenças dos softwares comercializados ou serviços prestados (g), mas terá gasto um esforço total considerável (e). Logo, seu ganho será de g − e. A organização cliente, por sua vez, receberá o benefício esperado pelos softwares (b), porém terá gasto com as licenças dos softwares ou serviços contratados, com custos internos e com o custo de fiscalização do fornecedor (g + i + f ). Portanto, o cliente terá um ganho (ou perda) de b − (g + i + f ). • Linha 2, coluna 1: Se a organização cliente não fiscalizar o trabalho do fornecedor e este não realizar seu trabalho corretamente ou ficar aquém da especificação, o fornecedor irá ganhar o valor das licenças dos softwares comercializados ou serviços prestados (g), mas sem ter gasto um esforço total correspondente (e → 0). Considerando, neste momento, que esse esforço é tão pequeno que pode ser desprezado (e → 0), temos que o ganho do fornecedor, neste caso, é igual a g. A organização cliente pagará o valor da licença dos softwares ou serviços contratados (g) e terá custos internos com o software (i), porém não receberá o benefício em segurança correspondente (b → 0). Assim, temos que a perda do cliente será de −(g + i). • Linha 2, coluna 2: Se a organização cliente não fiscalizar o trabalho do fornecedor e este realizar seu trabalho conforme o esperado, estando de acordo com o que foi especificado, o fornecedor receberá o valor pelas licenças dos softwares comercializados ou serviços prestados (g) e terá gasto um esforço total correspondente (e). Logo, seu ganho será de g − e. A organização cliente terá gasto com o valor das licenças de software ou serviços contratados e com custos internos (i), porém receberá um benefício correspondente (b) ao esperado pelo trabalho do fornecedor, atendendo suas expectativas. Portanto, o ganho da organização cliente, neste caso, será de b − (g + i). Ao considerarmos agora a possibilidade de migração da organização cliente, teremos a forma normal que se segue. 40 Figura 3.2: Jogo 2 - Considerando a migração do cliente. As mudanças dessa matriz de jogo para a anterior se concentram na célula de linha 1 e coluna 1. Ao optar pela migração, a organização cliente incorre em um custo de migração (mc ). Porém, isso é feito na esperança de se obter um benefício com softwares de outro fornecedor (mb ), benefício esse que não foi obtido com o fornecedor atual. Portanto, enquanto se soma um benefício de outro fornecedor, se subtrai o custo de migrar para ele, totalizando, para o cliente, um ganho (ou perda) de (p + mb ) − (g + i + f + mc ). Do lado do fornecedor, temos um impacto na receita com a venda de licenças das próximas versões de seus softwares ou nos próximos serviços a serem contratados5 . Considerando que esse ganho não tenha se alterado significativamente de um certo período para outro, esse impacto será de, aproximadamente, g. Portanto, o ganho do fornecedor, nesta situação, será de g − g = 0. Vale ressaltar que a variável mc deve ser entendida como a totalidade dos custos necessários para a organização cliente mudar de um fornecedor para outro, o que não inclui somente os custos de uma possível nova licença ou contrato de serviço, mas também o quanto vai custar a transferência dos dados da organização para uma outra base, para outra plataforma, com todos os custos de interoperabilidade envolvidos. 3.1.2 Análise das soluções de Equilíbrio do Modelo Nos jogos 1 e 2 definidos anteriormente, a exemplo do Dilema do Prisioneiro, o maior ganho possível para o fornecedor não é sempre dado pelo valor no equilíbrio, mas sim pelo vetor de estratégias (Não Fiscalizar, Não Trabalhar), que o leva a um ganho de g. Portanto, a melhor situação possível para o fornecedor virá quando ele opta pela estratégia “Não Trabalhar” e, ao mesmo tempo, induz a organiza5 Embora este não recebimento seja um fato futuro, seu impacto pode ser registrado já no presente, uma vez que o fato gerador já ocorreu, como aconselha, por exemplo, o princípio contábil da Competência – ver (18). 41 ção cliente a optar pela estratégia “Não Fiscalizar”. Essa indução pode ser feita principalmente de duas formas: • Manipulando custos reais (Vendor lock-in). • Manipulando custos fictícios (Teatro da segurança). Expliquemos, mais detalhadamente, em que consiste essas duas estratégias. Manipulando custos reais Em um ambiente cada vez mais interligado, como o das TIC, na medida em que um fornecedor ganha mercado e mais pessoas utilizam seus produtos, mais valiosos eles se tornam. Isso é especialmente válido para softwares de aplicação, que se comunicam com várias plataformas e formatos (como editores de texto, navegadores, programas de manipulação de imagens). Quanto maior o número de usuários de um determinado formato ou plataforma, mais valor ele terá para os clientes e para fornecedores complementares. Esse conceito é conhecido como a Lei de Metcalfe, fundamental para o estudo dos efeitos das redes econômicas6 . Esse domínio pode levar a altos custos reais de migração de usuários para outras tecnologias. Um dos principais resultados da teoria das Redes Econômicas é o de que o valor presente de uma rede para um cliente iguala o custo total de migração do negócio desse cliente para um competidor. Esses conceitos também ajudam a lançar hipóteses sobre o porquê da migração para aplicações livres ser mais comum, e menos custosa, em servidores do que em computadores pessoais. Os aplicativos de servidores, boa parte das vezes, interagem com um ecossistema menor de aplicações, como em redes fechadas dentro das organizações. Já no caso dos computadores pessoais, os usuários tem a necessidade de interagir com um número muito maior de formatos e plataformas, de forma que o aumento do valor de certas aplicações devido ao aumento do número de usuários é potencializado, dificultando a migração. Não apenas os custos de migração tornam-se altos. Fornecedores com esse domínio tendem a dificultar a fiscalização de clientes e órgãos reguladores, com a intenção de proteger “segredos comerciais” ou mesmo “os interesses e a competitividade de seus clientes”7 . Uma organização cliente que deseje fiscalizar a forma como seus fornecedores estão desenvolvendo 6 Uma visão geral da perspectiva econômica da segurança na informática pode ser vista em (25). 7 Argumento encontrado em (1), pág. 20, nota de rodapé 21. 42 seus produtos pode facilmente se tornar alvo de processos judiciais. Quanto maior o domínio de mercado desses fornecedores, é razoável supor que maior será a força desses processos e argumentos. Portanto, os fatos discutidos nos levam a admitir que um fornecedor monopolista pode manipular com muito mais liberdade os custos de fiscalização (f ) e migração (mc ) de seus clientes que um fornecedor não-monopolista. Observando o jogo 2 da figura 3.2, vemos que os custos de fiscalização e migração do cliente estão concentrados na primeira linha da matriz do jogo. Considerando, nesta situação, que o fornecedor seja monopolista e possa modificar o valor das variáveis f e mc de forma que os custos de fiscalização e migração para o cliente sejam superiores aos seus respectivos benefícios ((f + mc ) > (p + mb )), então a matriz do jogo 2 seria a seguinte: Figura 3.3: Situação de Vendor Lock-in. A notação < −(g + i) indica um valor negativo menor que −(g + i). Utilizando a técnica de Dominância Iterada, vista na seção 2.2.3, vemos que a estratégia “Não Fiscalizar” domina estritamente a estratégia “Fiscalizar”, pois ela trará sempre menores perdas para o cliente do que a outra em qualquer caso. A saber, −(g +i) > (< −(g +i)), no caso do fornecedor não trabalhar corretamente e b − (g + i) > b − (g + i + f ), no caso do fornecedor trabalhar de forma correta. Neste caso, a organização cliente será forçada, pelos custos envolvidos, a optar sempre pela estratégia “Não Fiscalizar”, o que configura, para o jogo, um estado de vendor lock-in. Manipulando custos fictícios Esse tipo de indução consiste em fazer a organização cliente acreditar que determinada variável possui um custo ou ganho maior ou menor que seu 43 valor real. É o que podemos chamar de Teatro da Segurança, conforme definido por Schneier e visto na seção 1.1.2. Para que isso seja possível, vamos definir uma função, denominada função “Teatro”. A função Teatro é a função t : < → < tal que t(x) = x0 onde x0 é o valor de x que é percebido pelo jogador cliente (x, x0 ≥ 0) Definimos ainda 4x = x0 − x como a variação entre o valor real de x e o valor percebido pelo cliente. Normalmente, |4x| é maior para um valor de x desconhecido ou subjetivo para a organização cliente, como, por exemplo, o ganho em precisão em uma análise de riscos obtido com a fiscalização do fornecedor (p) ou ainda o benefício de uma migração (mb ). Nesses casos, o valor percebido pelo cliente destoará, com mais facilidade, do valor real dessas variáveis. Se x for um valor explícito e objetivo para a organização cliente, então os valores de |4x| tendem a ser menores, podendo ser, ou não, iguais a zero. Embora as diferenças entre os valores percebidos e reais apareçam com mais facilidade quando esses são de natureza oculta ou subjetiva, isso não significa, necessariamente, que valores explícitos e objetivos não possam ser manipulados. Um exemplo de valor explícito que pode ser tacitamente manipulado de forma que o valor percebido pelo cliente destoe do valor real (|4x| 6= 0) é o custo das licenças de software. Embora o valor monetário de uma licença seja explícito e fixo, um fornecedor pode, através da determinação do período de aplicação dessa licença, fazê-lo parecer mais vantajoso economicamente aos olhos do cliente, quando comparado com os valores oferecidos pelos concorrentes, através, por exemplo, da elaboração de uma estimativa própria de custo total de posse (TCO) do software, uma vez que esta ainda não possui, infelizmente, uma forma padronizada para seu cálculo. Entende-se que, na matriz do jogo 2, os valores desconhecidos ou subjetivos à organização cliente são p, mb , f, mc , b, e e i. O valor das licenças de software ou serviços prestados, g, é o único valor explícito e objetivo para o cliente no jogo (porém, conforme o discutido, não significa que, da mesma forma que os outros valores, ele não possa ser manipulado pelo fornecedor no jogo). Assim, aplicando a função Teatro aos valores da matriz do jogo 2, temos a matriz que se segue. 44 Figura 3.4: Matriz com valores fictícios (teatro da segurança). Uma forma de fazer o cliente optar pela estratégia “Não Fiscalizar” é aumentando os custos fictícios de fiscalização e migração de forma que estes superem os benefícios reais respectivos ((f 0 + m0c ) > (p + mb )). Nesse caso, teremos a mesma situação descrita na seção anterior, com a diferença de agora estarmos manipulando custos fictícios ao invés de custos reais. A dependência de um cliente a seu fornecedor passa a ser, portanto, de natureza psicológica, configurando o que pode ser chamado de “Síndrome de Estocolmo Digital” (28). A segunda maneira de se induzir o cliente a optar pela estratégia “Não Fiscalizar” é fazer com que ele acredite que será sempre mais vantajoso para o fornecedor escolher a estratégia “Trabalhar” que a estratégia “Não Trabalhar”. Isso pode ser feito diminuindo drasticamente o custo fictício do esforço do fornecedor em torno do software sendo comercializado, de forma que possamos considerar e0 = 0. O cliente será induzido, portanto, a ver a matriz de jogo da seguinte forma: Figura 3.5: Matriz do jogo 2 quando e0 = 0. Pela análise dessa matriz, se o cliente resolver fiscalizar o fornecedor, este obtém um ganho de 0 se não trabalhasse e um ganho de g 0 se traba45 lhasse corretamente. Já se o cliente não fiscalizar o fornecedor, ele obtém um ganho de g 0 tanto se trabalhasse corretamente ou não. Das duas formas, porém, o fornecedor garantirá seu ganho máximo g 0 se trabalhar corretamente (pois g 0 ≥ 0 e g 0 ≥ g 0 ). Assim, a estratégia “Trabalhar” domina fracamente, a estratégia “Não Trabalhar”, fazendo com que o cliente acredite que trabalhar corretamente é, para o fornecedor, pelo menos tão vantajoso quanto não trabalhar. Supondo este fato, o cliente optará pela estratégia que é mais vantajosa para o caso, que seria a estratégia “Não Fiscalizar” (com um benefício de b0 − (g 0 + i0 ) contra um de b0 − (g 0 + i0 + f 0 ) para a estratégia “Fiscalizar”). Da mesma forma que um fornecedor de tecnologia pode aplicar o teatro da segurança para induzir o cliente a optar por uma estratégia que maximize seu lucro, o cliente também pode aplicar o teatro para maximizar seus lucros (através do uso de softwares não licenciados, por exemplo). Esse, porém não é o foco deste trabalho. O interesse primordial de referência adotado foi o da organização cliente, e não o do fornecedor. Vale ressaltar, contudo, que, em uma cadeia mais complexa de fornecimento, a questão de quem é fornecedor e quem é cliente é apenas relativa: o fornecedor de tecnologia em um dado momento se torna organização cliente em outra situação, da mesma forma que uma organização cliente em um dado momento pode se tornar fornecedor em outro. Além disso, o jogo analisado apresenta uma grande assimetria de informação entre os jogadores. Enquanto o fornecedor de tecnologia possui o conhecimento dos valores reais do jogo com maior exatidão, o conhecimento do cliente é baseado no que é percebido por ele a partir do interesse que lhe foi comunicado pelo fornecedor. Portanto, o fornecedor possui maior vantagem para manipular custos fictícios que a organização cliente. O objetivo de uma boa análise de riscos é fazer com que os custos fictícios percebidos pelo cliente se aproximem de seus valores reais, de forma que |4x| ≈ 0. Isso resultaria em um maior conhecimento das vulnerabilidades, fontes de ameaça e prováveis impactos com incidentes de segurança, permitindo à organização alocar seus recursos de forma mais eficiente para instalar controles adequados aos riscos. Uma percepção de riscos adequada resultaria, portanto, tanto em uma redução de incidentes quanto em uma economia de gastos para a organização cliente. 3.2 Uma Comparação entre Modelos de Negócios de Fornecedores Nesta seção, vamos detalhar um pouco mais o modelo de jogo apresentado. Até agora, descrevemos o jogador cliente e o jogador fornecedor de 46 forma totalmente genérica. Entretanto, consideremos agora que o fornecedor possa se diferenciar entre fornecedores proprietários e fornecedores de software livre do modelo F/OSS (Free and Open-Source Software). Esse detalhamento nos permitirá fazer uma comparação entre os riscos, para a organização cliente, oriundos de modelos de negócio distintos. A primeira alteração a ser feita é detalhar o valor da variável g. Afinal, uma das principais diferenças entre os modelos de negócio proprietário e FOSS vem de onde os fornecedores adquirem receita. No modelo proprietário, a receita de um fornecedor se baseia, principalmente, mas não unicamente, nos valores das licenças individuais de uso dos softwares comercializados (valor que chamaremos de l). Já no modelo F/OSS, essa receita é oriunda principalmente dos serviços de customização contratados pela organização cliente (valor que chamaremos de c). Se um fornecedor de software livre (F/OSS) é autor de determinado software, é provável, e razoável assumir, que este possua uma vantagem competitiva em relação a seus concorrentes no serviço de customização desse software para um determinado cliente. De fato, se um fornecedor oferece serviços de customização de um software cuja autoria é de outro fornecedor, ele terá maiores gastos investindo na qualificação de seus funcionários, e levará um certo tempo até que o código-fonte do software em questão seja adequadamente entendido pelo seu pessoal8 . É importante ressaltar que o valor de l não deve ser entendido, apenas, como o valor das licenças de uso dos softwares de um fornecedor proprietário, mas também como o valor que engloba todas as outras receitas desse fornecedor, como os contratos de suporte e serviço, as SLAs (Service Level Agreements). A variável em questão foi nomeada l devido ao fato de que um fornecedor proprietário adquire receita principalmente (mas não unicamente) com base nos valores cobrados pelas licenças individuais de uso de seus softwares. Portanto, de forma geral, temos que g = l+c. Para fornecedores seguindo o modelo proprietário, como consideramos que todas as suas receitas estão em l, c = 0, de forma que g = l. No caso de fornecedores seguindo o modelo F/OSS, o custo da licença é zero (l = 0), de forma que g = c. Para que possamos comparar os dois modelos, temos ainda que alterar um pouco nossa interpretação das estratégias disponíveis ao jogador cliente, isto é, “Fiscalizar” e “Não Fiscalizar”. Para um cliente cujo fornecedor segue o modelo F/OSS, “Fiscalizar” significa o mesmo que “Customizar”, ou seja, 8 Embora seja razoável supor a vantagem comparativa do fornecedor autor do software, há algumas exceções para esse raciocínio. Alguns fornecedores podem possuir vantagem em relação ao fornecedor autor por questões de acessibilidade ao cliente. Essa acessibilidade pode ser derivada de diversos fatores: da proximidade geográfica com o cliente, de uma língua nativa comum ou de questões culturais, por exemplo. 47 recorrer ao fornecedor para customização de seus softwares de forma que estes atendam às suas expectativas. Portanto, no caso de um fornecedor do modelo F/OSS, temos que f = c. O benefício adquirido pelo cliente nessa customização é diferente do benefício que ele teria com os softwares se não tivesse optado por esse serviço. Portanto, temos agora que diferenciar o benefício com a customização (bc ) do benefício sem a customização dos softwares (bsc ). “Não Fiscalizar” um fornecedor F/OSS significa o mesmo que “Não Customizar”, ou seja, utilizar os softwares da forma como foram fornecidos (“as is”), esperando que estes atendam às suas expectativas. É, portanto, “dar um voto de confiança” no trabalho desenvolvido pelo fornecedor, esperando que ele tenha sido feito conforme o esperado. O valor de e, gasto pelo fornecedor no esforço de produção ou disponibilização de seus softwares, sofre também uma mudança no modelo F/OSS. Em fornecedores que seguem este modelo, o esforço de desenvolvimento de software costuma ser bem mais baixo, devido ao alto grau de reúso permitido pelas licenças livres, como sugere a tabela a seguir, traduzida de (29). Figura 3.6: Custos de desenvolvimento para licenças Proprietária, BSD e GPL. Fornecedores proprietários não tendem à cooperação e portanto incorrem totalmente em seus custos de desenvolvimento k. Fornecedores que seguem o modelo F/OSS podem cooperar, portanto dividindo seus custos entre si (nb e ng ) e reduzindo o total de esforço que cada um deve fazer para produzir seus softwares. Quanto maior for o número de cooperadores, melhor será a situação desses fornecedores, que terão seus custos individuais reduzidos. A primeira vista, as licenças do modelo F/OSS apresentadas, BSD e GPL, parecem igualmente vantajosas. Entretanto, as licenças BSD diferem das licenças GPL por não possuirem cláusula copyleft9 , permitem que os softwares desenvolvidos sejam relicenciados sobre qualquer outra licença, inclusive uma proprietária. Desta forma, temos que fornecedores BSD ajudam a reduzir custos tanto de fornecedores proprietários quanto os de licenças GPL. Como fornecedores GPL podem utilizar código de fornecedores BSD, mas não o contrário (devido à falta da cláusula copyleft), a comunidade de desenvolvedores que podem utilizar a licença GPL acaba por ser maior que a comunidade de desenvolvedores que podem utilizar a licença 9 Uma licença com cláusula copyleft não permite que o software seja relicenciado sobre outras licenças, a não ser pelo próprio autor do software. 48 BSD. Assim, ng > nb , o que fornece uma ligeira vantagem competitiva aos fornecedores que seguem a licença GPL, em termos de esforço de desenvolvimento. Portanto, de forma geral, temos que: e (no modelo F/OSS) < e (no modelo proprietário) Essa diferença é mais perceptível quando os softwares encontram-se em fases de implementação do que em fases de manutenção e testes. Mesmo assim, ela costuma ser uma das principais vantagens competitivas de um fornecedor F/OSS sobre um fornecedor proprietário. No modelo F/OSS, portanto, os custos com desenvolvimento não serão predominantes em e. Serão predominantes, porém, outros custos envolvidos com o software, principalmente os custos com disponibilização (deployment) e/ou manutenção de pacotes. Uma vez feitas essas considerações, o ganho g = l + c do fornecedor pode ser redefinido da seguinte forma: • No modelo proprietário, l > 0, c = 0 ⇒g = l • No modelo F/OSS, l = 0 e c = f ⇒g = c = f E o benefício total do cliente (b), no modelo F/OSS, pode ser redefinido como b = bsc + bc , onde bsc é o benefício com o software sem customização (“as-is”) e bc é o benefício com o software customizado. Da mesma forma que os valores definidos nos jogos anteriores, esses novos valores também são não-negativos e reais. Substituindo-os na matriz do jogo 2, obteremos duas matrizes de jogos, uma para cada modelo de negócio. 49 Figura 3.7: Uma comparação entre as matrizes de jogo do modelo Proprietário x modelo F/OSS Na matriz obtida pelo modelo proprietário, não há mudança significativa, pois ocorreu apenas uma substituição do valor g pelo valor l. Já na matriz obtida pelo modelo F/OSS, as mudanças foram mais drásticas, e isso vai se refletir na análise de equilíbrio do jogo, como será veremos mais adiante nas próximas seções. Agora expliquemos, em mais detalhes, a matriz obtida no modelo F/OSS: • Linha 1, coluna 1: Se a organização cliente resolver customizar o software adquirido, contratando os serviços do fornecedor F/OSS para que o software atinja os benefícios desejados, e este último não realizar os serviços contratados da forma esperada pelo cliente, o cliente não receberá o benefício com customização esperado, mas apenas o benefício que os softwares já proviam anteriormente (bsc ). O cliente terá gasto c pelo serviço contratado e i com os custos internos do software, mas poderá migrar de fornecedor, visando adquirir o benefício esperado (mb ), a um custo de migração mc . Além disso, a organização cliente terá adquirido maior precisão em sua análise de riscos, beneficiando sua política de segurança em p unidades. Portanto, o ganho (ou perda) do cliente, neste caso, será de (p + mb + bsc ) − (c + i + mc ). O fornecedor F/OSS, apesar de já ter recebido uma certa quantidade c pelo serviço, terá um impacto negativo em sua receita de serviços futura, causado pela migração do cliente para outro fornecedor. Considerando que o custo de seus serviços não se altere significativamente de um período para outro, podemos quantificar esse impacto como sendo de c. Assim, o fornecedor F/OSS obterá um ganho de c − c = 0. • Linha 1, coluna 2: Se a organização cliente resolver customizar o software adquirido, contratando os serviços do fornecedor F/OSS para que o software atinja os benefícios desejados, e este último realizar 50 seus serviços conforme o esperado, a organização cliente terá recebido os benefícios com o software mais os benefícios solicitados com a customização (bsc + bc ), mas terá gasto no pagamento desses serviços ao fornecedor e com custos internos (i). Seu ganho será, assim, de bsc + bc − (c + i). O fornecedor F/OSS, por sua vez, terá recebido c pelo serviço de customização, mas terá gasto um esforço e nesse serviço. Assim, seu ganho será de c − e. Nesta situação, o ganho para um fornecedor F/OSS será o maior possível quando c > e. • Linha 2, coluna 1: Se a organização cliente resolver não customizar o software adquirido, acreditando que este já atende às suas especificações, mas o software não atender a elas, o cliente não receberá o benefício esperado, mas também não terá gasto nada com licenças de uso do software, apenas com os custos internos (i). Temos ainda que, insatisfeito com o software adquirido, o cliente poderá migrar para um software de outro fornecedor, visando obter o benefício esperado (mb ) a um custo mc . Assim, o cliente obteria um ganho de mb − (i + mc ). O fornecedor F/OSS, por sua vez, não receberá nenhum valor por licença de uso de seus softwares ou por contratação de serviços de customização, mas também não terá gasto um esforço correspondente para atender às necessidades do cliente (e → 0). Entretanto, a provável migração do cliente faz com que o fornecedor perca uma parcela de sua futura receita de serviços, já que o cliente não se interessou pelo software e provavelmente não desejará customizá-lo para atender suas eventuais necessidades. Considerando que o custo de seus serviços não se altere significativamente de um período para outro, podemos quantificar esse impacto como sendo de c. Portanto, o fornecedor perderá, neste caso, −c. • Linha 2, coluna 2: Se a organização cliente resolver não customizar o software adquirido, acreditando que ele já atende às suas especificações, e ele de fato atender a elas, temos que o cliente receberá o benefício esperado bsc , sem precisar pagar por licença de uso de software ou serviço de customização, apenas arcando com os custos internos de posse do software (i). Assim, a organização cliente receberia bsc − i. O fornecedor F/OSS, por sua vez, terá gasto um esforço total (e) compatível com esse benefício sem, no entanto, receber nenhum valor por licença de software ou serviço de customização. Nesta situação, portanto, o fornecedor terá uma perda de −e. 3.2.1 Análise das soluções de Equilíbrio do Jogo com F/OSS O formato da matriz de jogo do modelo F/OSS nos permite tirar algumas conclusões. 51 A primeira é que, enquanto no modelo proprietário a melhor situação para o fornecedor vem quando este escolhe pela estratégia “Não Trabalhar” e a organização cliente opta por “Não Fiscalizar” seu trabalho, no modelo F/OSS, ocorre justamente o perfil oposto: a melhor situação para o fornecedor vem quando este opta pela estratégia “Trabalhar” e o cliente opta pela estratégia “Fiscalizar” / “Customizar”. De fato, na matriz de jogo do modelo F/OSS, a estratégia “Trabalhar” domina estritamente a estratégia “Não Trabalhar”, desde que o esforço de produção e distribuição do software não supere sua receita de serviços (c > e). De fato, se c > e, então temos que o fornecedor obterá um ganho de (c − e) > 0, caso o cliente opte pela estratégia “Fiscalizar” / “Customizar” e uma perda de −e > −c, caso o cliente opte pela estratégia “Não Fiscalizar” / “Não Customizar”. Como ilustra a figura a seguir. Figura 3.8: Melhor estratégia para o fornecedor do modelo F/OSS quando c > e. Outra conclusão interessante é que, enquanto no modelo proprietário, a melhor estratégia para o fornecedor consiste em induzir o cliente a optar pela estratégia “Não Fiscalizar”, no modelo F/OSS, a melhor estratégia para o fornecedor consiste em induzir o cliente a optar pela estratégia oposta, ou seja, “Fiscalizar” / “Customizar”. Manipulação de custos reais e fictícios com F/OSS A ideia, por vezes bastante difundida, de que fornecedores de software livre seriam, de alguma forma, mais “bem-intencionados” ou “altruístas” que fornecedores proprietários é, no mínimo, ingênua. O fato de um fornecedor seguir um certo modelo ou outro não elimina, por si só, sua obstinada busca por maximizar seus ganhos e minimizar suas perdas, justamente a principal hipótese de racionalidade assumida pela Teoria dos Jogos, bem 52 como pelas teorias econômicas clássicas, baseadas no conceito do homo economicus. Da mesma forma que um fornecedor proprietário, um fornecedor seguindo o modelo F/OSS tende a induzir o cliente a optar pela estratégia que lhe resulte em maiores benefícios (neste caso, a estratégia “Fiscalizar” / “Customizar”), através da manipulação de custos reais e fictícios. Manipulação de custos reais Uma maneira através da qual um fornecedor de software livre pode manipular custos reais é fazendo com que o valor do custo-benefício da customização de software para o cliente seja superior aos benefícios que o cliente obterá com o software “as-is”, isto é, sem customização. O custo-benefício da customização para a organização cliente, se o fornecedor optar pela estratégia “Não Trabalhar”, é de p − c. Se o fornecedor optar pela estratégia “Trabalhar”, o custo-benefício para a organização cliente será de bc − c. A estratégia descrita consiste, portanto, em fazer com que p − c > bsc e bc − c > bsc . Nessas condições, a matriz de jogo no modelo F/OSS ficaria com a seguinte configuração: Figura 3.9: Jogo no modelo F/OSS com manipulação de custos reais. Observa-se, nessa nova matriz de custos, que a estratégia “Fiscalizar” / “Customizar” tem dominância estrita sobre a estratégia “Não Fiscalizar” / “Não Customizar”, ou seja, a organização cliente é induzida a optar pelos serviços de customização de software oferecidos pelo fornecedor. Um exemplo desse tipo de estratégia é o modelo de negócios da empresa Red Hat, famosa fornecedora da distribuição Linux de mesmo nome. A empresa oferece livremente o código-fonte de sua distribuição, como mandam 53 suas licenças10 . Entretanto, o acesso ao binário executável devidamente adaptado à plataforma do usuário, pronto para ser instalado e com atualização online das versões de pacotes mais recentes é permitido somente através de uma assinatura paga – Service Level Agreement (SLA). Portanto, um cliente que deseje utilizar o sistema em sua forma não paga deve arcar com o esforço de compilação do binário e com a atualização de seus pacotes. Esse esforço diminui os benefícios que o usuário possui com a versão “as-is” desse software (bsc ), em comparação com a versão customizada (bc ), que consiste do executável devidamente adaptado para a plataforma do cliente. Essa estratégia acaba fazendo com que, para muitos clientes, o custo-benefício com o software customizado seja maior que o benefício em adquirir o software diretamente pelo fonte (bc − c > bsc ). Esse tipo de estratégia pode ainda ajudar a explicar porque a distribuição Linux Fedora, mantida nos padrões usuais de fonte e executável livremente disponíveis a partir da base de código da Red Hat, vem recebendo reclamações a respeito da sensibilidade atípica dessa distribuição a variações de parâmetros de hardware. Isso pode ser um sinal de que a Red Hat está, com isso, tentando aumentar as vantagens do seu executável customizado com vistas “à eficiência” em relação às versões não customizadas livremente diponíveis. Outra forma de se manipular custos reais é aumentando o custo de migração, como fazem os fornecedores monopolistas conforme descrito anteriormente na subseção 3.1.2, página 42. No modelo F/OSS, entretanto, esse tipo de manipulação possui sérias restrições. Isso se deve, em grande parte, devido à própria natureza do que se produz sob a ética deste modelo, que impede que um fornecedor imponha barreiras à entrada de fornecedores concorrentes no mesmo mercado. Se um determinado formato, padrão ou código fonte for declarado aberto, fornecedores concorrentes não podem ser proibidos de analisá-los, utilizálos e alterá-los, e isso por força de lei. O modelo proprietário, não garantindo tais liberdades, possui APIs11 mais rígidas, pois constituem o único recurso de interoperabilidade. Uma novo padrão na interface entre aplicativos pode eliminar rapidamente fornecedores do mesmo ecossistema que agreguem valor ao software em questão, servindo como fonte para formação de monopólios. O modelo F/OSS, pela obrigatoriedade de disponibilização do fonte, possui APIs mais flexíveis. A adaptação de fornecedores a novos padrões é feita mais rapidamente, tanto pelo fato de haver um esforço distribuído entre eles e as comunidades de desenvolvedores, quanto pela possibilidade 10 Diversas versões da Gnu Public License (GPL) e outras licenças com cláusula copyleft. As Application Programming Interfaces (APIs) listam as funcionalidades que um sistema provê para comunicação com outros sistemas em seu exterior. Essa listagem é feita de modo a esconder do usuário do sistema sua implementação, em uma técnica conhecida como abstração. Isso em geral facilita o desenvolvimento e reúso de software. 11 54 de evolução negociada das APIs de um ecossistema, que estimula fornecedores menores a abrirem o código de seus componentes visando minimizar o esforço individual de manutenção de seus pacotes. Essas diferenças impedem que um fornecedor possa manipular livremente os custos de migração para outros fornecedores (mc ) e servem de barreiras para o desenvolvimento de monopólios. De fato, não há caso conhecido de monopólio envolvendo fornecedores que seguem unicamente licenças do modelo F/OSS. Isso não significa, porém, que os custos de migração entre softwares do modelo F/OSS sejam nulos. Eles existem, mas, normalmente, não são propositais: decorrem de falhas de interoperabilidade entre pacotes e suas versões. Manipulação de custos fictícios Assim como um fornecedor que segue o modelo F/OSS pode manipular os custos reais envolvidos em sua matriz de jogos, ele também pode manipular custos fictícios, isto é, os custos que são percebidos pela organização cliente e destoam de seu valor real, através da aplicação de uma função teatro t(x) = x0 , conforme o já descrito na subseção 3.1.2, pág. 43. Não há nada, a princípio, que impeça qualquer fornecedor de fazer essa manipulação, seja ele de modelo proprietário ou F/OSS. O uso do teatro, da oposição entre interesses motivadores e interesses comunicáveis e do agir estratégico visando a maximização do lucro é considerado, aliás, como algo natural, pois corresponde de fato à própria essência da arte da propaganda e do marketing. Um primeiro exemplo de manipulação usando custos fictícios pode ser visto através da aplicação da função teatro aos valores relativos ao custobenefício do serviço de customização (t(c) = c0 , t(bc ) = b0c e t(p) = p0 ) e ao valor do benefício com o software “as-is” (t(bsc ) = b0sc ). Se o fornecedor agir de tal forma que faça o cliente acreditar que o custobenefício de um serviço de customização supera o benefício atual com o software adquirido, ou seja, que p0 − c0 > b0sc e b0c − c0 > b0sc , então tem-se uma situação parecida com o exemplo da subseção anterior, onde a organização cliente será induzida a optar pela estratégia “Fiscalizar” / “Customizar”. A diferença, entretanto, é que essa opção pode não trazer um melhor ganho para a organização cliente na prática, por ela estar agindo com base em valores percebidos, e não reais. Um exemplo deste tipo de manipulação ocorre quando um fornecedor utiliza um ciclo de desenvolvimento orientado a calendário (como o das 55 distribuições Ubuntu, Red Hat), ao invés de um ciclo orientado por estabilidade (Debian, Slackware). A estratégia do ciclo orientado a calendário induz o usuário a fazer atualizações mais frequentes de sistema, manipulando o sentimento de que permanecer com uma versão antiga pode trazer benefícios menores com o software “as-is” (b0sc ). Muitas vezes, porém, essa ânsia por atualizações pode levar a incompatibilidades de softwares novos com hardware ou softwares mais antigos, induzindo o usuário a solicitar serviços de customização e manutenção para obter os benefícios desejados (b0c ). No que diz respeito à aplicação da função teatro ao custo de migração para outros fornecedores (mc ), devido ao fato do modelo F/OSS impor barreiras à manipulação real desse custo, como foi visto na seção anterior, o efeito do teatro, para essa variável, torna-se menor do que no modelo Proprietário. Assim, se |m0c − mc | = |4mc |, então: |4mc | (no modelo F/OSS) < |4mc | (no modelo proprietário) Isso é positivo do ponto de vista do cliente, já que a relação custo-benefício da migração para outro fornecedor, da forma como é percebida por ele, se aproximará mais dos valores reais. A ressalva a ser feita é que, mesmo sendo menor do que no modelo Proprietário, o efeito do teatro no custo de migração (4mc ) no modelo F/OSS não é nulo, já que o cliente pode se sentir preso ao fornecedor por outras razões, como pelo valor de uma marca ou pela incompatibilidade entre versões distintas de pacotes comuns. Comparações Observando com mais atenção as matrizes de jogos na figura 3.7, é importante notar que, na matriz do modelo proprietário, há um claro desalinhamento de interesses motivadores entre fornecedor e cliente, principalmente em relação ao perfil de estratégias (“Não Fiscalizar”, “Não Trabalhar”), que traz uma perda máxima para a organização cliente (−(l + i)), enquanto traz um ganho máximo ao fornecedor (l). Esse desalinhamento de interesses motivadores torna o jogo mais competitivo que cooperativo e, portanto, tende a apresentar maior risco para a organização cliente. No entanto, na matriz de jogo no modelo F/OSS, não há nenhum perfil de estratégias, associado à organização cliente, que seja claramente desfavorável nem claramente favorável a ela. A análise da estratégia de equilíbrio, para o cliente, se torna mais difícil, exigindo que sejam atribuídos valores mais exatos às variáveis para uma correta avaliação dos ganhos e perdas envolvidos. Além disso, é importante notar que, nesse modelo, os interesses motivadores de fornecedores e clientes estão mais alinhados do que o modelo an56 terior, principalmente no perfil de estratégias (“Fiscalizar” / “Customizar”, “Trabalhar”), que pode trazer ganhos máximos tanto para a organização cliente ((bsc + bc ) − (c + i)) quanto para o fornecedor (c − e), dependendo dos valores em jogo. Esse alinhamento de interesses torna o jogo mais cooperativo e, portanto, tende a apresentar menor risco para a organização cliente. 57 Capítulo 4 Possibilidades Futuras e Conclusão Neste último capítulo, serão discutidos possíveis refinamentos e aperfeiçoamentos para os modelos de jogos apresentados, de forma que sirvam de base para cálculos mais detalhados de riscos que possam ser melhor aplicados no mundo real. Serão feitas ainda algumas considerações finais em uma breve conclusão. 4.1 Atribuindo valores às variáveis do jogo As análises dos modelos de jogos vistos neste trabalho foram todas feitas com base na técnica de dominância estrita iterada, e os pontos de equilíbrios analisados foram, unicamente, equilíbrios de Estratégia Dominante. Porém, como vimos na seção 2.2.3, página 31, esse tipo de equilíbrio é muito restrito e existe apenas em uma quantidade pequena de jogos. O ideal, portanto, seria que esta análise evoluisse para pontos de equilíbrio de Nash de estratégias mistas, que se aplicam, de acordo com o Teorema 2.1, a qualquer jogo que tenha um número finito de jogadores e estratégias. Os jogos vistos neste trabalho mostram apenas situações extremas: ou um fornecedor trabalha de acordo com a especificação, gerando os benefícios esperados pelo cliente, ou não. Da mesma forma, uma organização cliente fiscaliza ou não o trabalho do fornecedor contratado. Não existe meio termo. Para que possamos analisar esses jogos com Equilíbrios de Nash, devemos atribuir valores mais exatos a todas as variáveis do jogo e ainda considerar possibilidades mistas, como a de um cliente receber 80% do benefício esperado com um software ou serviço ou ainda a de um fornecedor gastar 60% do esforço necessário para a produção de um software ou disponibilização de um serviço. Podemos alterar o jogo 2 da figura 3.2, página 41, por exemplo, para considerar essas possibilidades mistas. Umas das maneiras de se fazer essas 58 alterações seria detalhando os valores das variáveis b e e, correspondentes, respectivamente, ao benefício do software ou serviço para a organização cliente e ao esforço total pela fiel produção ou fornecimento do software ou serviço. Poderíamos dividir b em dois grupos, bt e bst , que seriam, respectivamente, o benefício que um cliente receberia caso o fornecedor trabalhasse conforme o esperado e o benefício que ele receberia caso o fornecedor não trabalhasse conforme o esperado. Da mesma forma, poderíamos dividir e no grupos et e est , que seriam, respectivamente, o esforço total gasto por um fornecedor caso ele trabalhe conforme o esperado e o esforço total gasto por um fornecedor caso ele não trabalhe conforme o esperado. Como o benefício que o cliente recebe caso o fornecedor trabalhe corretamente é claramente maior que o benefício que ele recebe caso o fornecedor não trabalhe corretamente, e como o esforço gasto pelo fornecedor caso trabalhe corretamente é, em geral, maior que o esforço gasto por ele caso não trabalhe corretamente, temos que bt > bst e et > est . Com essas alterações, a matriz do jogo 2 seria apresentada da forma a seguir: Figura 4.1: mediários. Matriz do jogo 2 considerando benefícios e custos inter- Observe que essa matriz irá coincidir com a matriz original (da figura 3.2, página 41) caso bst → 0 e est → 0. Para entendermos como poderíamos obter o equilíbrio de Nash para esse jogo, consideremos que o fornecedor contratado pela organização cliente é monopolista (de forma que mc > mb ) e, para limitar o número de casos a serem considerados, que bt = 9 > mc = 8 > mb = 7 > p = 6 > g = 5 > f = 4 > et = 3 > bst = 2 > est = 1 > i = 0. Assim, uma vez atribuídos valores exatos a todas as suas variáveis, a matriz de jogos anterior seria apresentada com os valores numéricos que se seguem. 59 Figura 4.2: Substituindo a matriz do jogo anterior por valores numéricos. Não podemos encontrar, claramente, um equilíbrio de Estratégia Dominante para este jogo, mas existe um equilíbrio de Nash em estratégias mistas1 , garantido pelo Teorema 2.1, dado pelo perfil de estratégias mistas p: p = (pc , pf ) = (pc1 = 2/5, pc2 = 3/5; pf 1 = 4/5, pf 2 = 1/5) Isso significa que, nesta situação, a estratégia mais racional para o cliente deverá ser a de fiscalizar o trabalho do fornecedor 40% das vezes e deixar de fiscalizá-lo em 60% das vezes restantes. Para o fornecedor, a estratégia mais racional seria a de não trabalhar corretamente em 80% das vezes e trabalhar corretamente em 20% das vezes restantes. A aplicação das estratégias no equilíbrio resultará em um ganho ou perda esperada para os jogadores cliente e fornecedor, que serão dados por uc (p) e uf (p), respectivamente. Representando as estratégias do jogador cliente, “Fiscalizar” e “Não-Fiscalizar”, por, respectivamente, sc1 e sc2 , e as estratégias do jogador fornecedor, “Não Trabalhar” e “Trabalhar”, por, respectivamente, sf 1 e sf 2 , podemos calcular o resultado esperado para cada um dos jogadores, a partir da fórmula vista na seção 2.2.3, da seguinte forma: uc (p) = = = = uc (pc , pf ) pc1 (pf 1 uc (sc1 , sf 1 ) + pf 2 uc (sc1 , sf 2 )) + pc2 (pf 1 uc (sc2 , sf 1 ) + pf 2 uc (sc2 , sf 2 )) = 2/5(4/5(−2) + 1/5(0)) + 3/5(4/5(−3) + 1/5(4)) = −1, 6 1 Existem diversos algoritmos voltados para o cálculo de equilíbrios de Nash em jogos, dentre estes, o mais conhecido é o algoritmo de Lemke-Howson (ver (15), cap. 2), que transforma os jogos em problemas combinatórios de busca de pontos em um conjunto convexo. Existem também diversos programas e applets disponíveis para uso na internet que realizam este cálculo – o que foi utilizado para o cálculo desta seção pode ser encontrado em (17) 60 uf (p) = = = = uf (pc , pf ) pc1 (pf 1 uf (sc1 , sf 1 ) + pf 2 uf (sc1 , sf 2 )) + pc2 (pf 1 uf (sc2 , sf 1 ) + pf 2 uf (sc2 , sf 2 )) = 2/5(4/5(−1) + 1/5(2)) + 3/5(4/5(4) + 1/5(2)) = 2 Temos, assim, um ganho esperado de 2 para o fornecedor de tecnologia e uma perda esperada de -1,6 para a organização cliente. Observe que, no equilíbrio, os ganhos esperados não são máximos para nenhum dos jogadores. O maior ganho possível para o fornecedor de tecnologia é 4 e o maior ganho possível para a organização cliente é 2. Portanto, é possível que um jogador aumente seu ganho esperado desde que induza o outro jogador a escolher uma estratégia menos inteligente. Isso pode ser feito, como visto na seção 3.1.2, pág. 43, através da aplicação do teatro da segurança nas variáveis do jogo. Para termos uma ideia de como isso poderia ser feito com valores mais exatos, vamos aplicar a função teatro (t(x) = x0 ) em valores da matriz anterior, de forma que os valores resultantes induzam o cliente a ter maior preferência pela escolha da estratégia “Não Fiscalizar”: b0t = 10 > m0c = 9 > m0b = 6 > p0 = 5 ≥ f 0 = 5 > g 0 = 4 > b0st = 3 > e0t = 2 > est = 1 > i = 0. Assim, a matriz anterior daria origem à seguinte matriz de custos fictícios para o cliente: Figura 4.3: Equilíbrio do jogo anterior da forma como é enxergado pelo jogador cliente (custos alterados ou fictícios) Nessa matriz, a estratégia “Não Fiscalizar” domina estritamente a estratégia “Fiscalizar”, o que significa que “Não Fiscalizar” parece sempre mais vantajoso do ponto de vista do cliente, pois lhe trará ganhos percebidos maiores (6 > 1) e perdas percebidas menores (−1 < −4). De fato, 61 este jogo possui um equilíbrio de Estratégia Dominante no perfil de estratégias (“Não Fiscalizar, Não Trabalhar”). Observe que esse perfil apresenta uma perda esperada para o cliente de uc (p)0 = −1, o que significa que, para o cliente, o jogo melhorou um pouco em relação à matriz anterior, pois uc (p)0 = −1 > uc (p) = −1, 6. Entretanto, do ponto de vista do fornecedor, nada mudou. Seu jogo continua sendo o mesmo da matriz de custos antes da aplicação da função teatro. O perfil de equilíbrio de estratégia dominante (“Não Fiscalizar”, “Não Trabalhar”), ao qual o cliente foi induzido, resultará em um ganho esperado de uf = 4 para o fornecedor e em uma perda esperada de uc = −3 para o cliente, como sugere a figura a seguir: Figura 4.4: Equilíbrio do jogo anterior da forma como é enxergado pelo jogador fornecedor (custos reais). Assim, através da aplicação do teatro, o jogo aumentou os ganhos do jogador fornecedor e aumentou as perdas do jogador cliente, muito embora tenha parecido, do ponto de vista do cliente, que o jogo tenha melhorado. Isso pode explicar os aparentes paradoxos mencionados na seção 1.2 de introdução a este trabalho. A dificuldade para achar o equilíbrio de Nash para este jogo reside, portanto, em encontrar valores adequados para as variáveis existentes. É razoável supor que esses valores devem ser específicos para cada fornecedor e organização cliente considerada, exigindo, portanto, pesquisas de campo para estimá-los adequadamente. É precisamente neste ponto que os métodos já tradicionais de análise de riscos, vistos no capítulo 2, seção 2.1, se encaixam. Um levantamento criterioso dos perfis de risco associados a cada fornecedor envolvido seria necessário, podendo ser feito inclusive através de questionários, entrevistas in loco e pesquisa em documentos existentes, com a diferença, contudo, de manterem seu foco em aumentar o conhecimento da organização cliente a respeito de seus fornecedores. 62 Embora o levantamento dessas informações seja fundamental para a aplicação prática dos modelos de jogos aqui descritos, devido à grande dificuldade e ao esforço necessário para se levantar tais informações (específicas de cada fornecedor e cliente), ele foge do escopo do presente trabalho. Esse tipo de pesquisa, entretanto, é sem dúvida necessário para qualquer trabalho futuro que, baseado nos jogos aqui descritos, almeje adequar-se a situações do mundo real. 4.2 Ampliação do Jogo para um maior número de Agentes e Estratégias Outra limitação clara do modelo de jogo proposto é o fato de que este possui apenas dois agentes com apenas duas estratégias disponíveis. Poderíamos, por exemplo, combinar as matrizes dos jogos 1 e 2 apresentados no capítulo 3 (figuras 3.1 e 3.2) de forma a obter a matriz de jogos 3 x 2 a seguir: Figura 4.5: Matriz de ganhos e custos 3x2. Desta forma, a organização cliente disporia de três estratégias (“Não Fiscalizar”, “Fiscalizar e Não Migrar” e “Fiscalizar e Migrar”) e não apenas duas. Essa nova matriz nos fornece uma base mais adequada para analisar em quais situações vale a pena para uma organização cliente migrar de fornecedor e em quais situações isso não seria vantajoso para ela. O número de agentes envolvidos também poderia ser aumentado. Podese entender o modelo de jogo aqui proposto como um subjogo de um modelo mais completo, e mais adequado à realidade, representado pela figura que se segue. 63 Figura 4.6: Panorama completo, de (1), envolvendo clientes (A e B), fornecedores (X e Y) e atacantes do canal (D). A área pintada representa o escopo deste trabalho. Este trabalho apresentou apenas as interações entre dois agentes (A e X, organização cliente e fornecedor de tecnologia, área pintada da figura 4.6) de um modelo de comunicação mais completo, que envolve duas ou mais organizações cliente que desejam se comunicar entre si (“Alice e Bob”, A, B, ...). Cada uma dessas organizações pode possuir um ou mais fornecedores de tecnologia (X, Y, ...). O jogo também inclui um ou vários atacantes, representados pelo “demônio de Descartes” (D), que age sobre o canal de comunicação das organizações cliente. A esses atacantes poderíamos fornecer as estratégias, por exemplo, de “Atacar” ou “Não Atacar” o canal de comunicação, sendo que esse ataque tem um custo para o atacante e pode resultar em uma violação da integridade, confidencialidade e/ou disponibilidade dos valores que trafegam pelo canal, resultando em perdas para alguma das organizações cliente envolvidas e, eventualmente, em perdas ou ganhos para algum dos fornecedores de tecnologia envolvidos. Esse modelo expandido tem a vantagem de representar melhor a realidade da segurança em informática, por estar representando um ato comunicativo entre as organizações cliente. E, como foi visto no capítulo introdutório, seção 1.2.1, o estudo da segurança em informática está indissociado do estudo dos atos comunicativos. A princípio, um aumento no número de agentes envolvidos aumenta exponencialmente a complexidade da análise das soluções de equilíbrio deste, impossibilitando que o jogo seja representado na forma de uma matriz de ganhos e custos. Devemos lembrar, contudo (do capítulo 2, seção 2.2.1), que o que define um jogador em Teoria dos Jogos não é o número de agentes envolvidos, e sim o número de conjuntos com interesses distintos envolvidos. A exemplo de (1), podemos utilizar a notação “∼” para denotar um alinhamento de interesses entre os agentes de comunicação (ex: A ∼ Y) e a notação “⊥” para denotar um potencial e significativo conflito de interesses entre os agentes (ex: A ⊥ B). Assim sendo, podemos considerar o seguinte jogo: 64 Uma organização A, aliada a um fornecedor Y (A ∼ Y), deseja fazer com que uma organização B, com a qual deseja se comunicar a fim de realizar transações comerciais, adere a um determinado software produzido por Y. Isso permitirá maior interoperabilidade entre elas, uma vez que A já vem utilizando o software feito por Y, e, assim, aumentar a receita de ambas através de um aumento na eficiência da comercialização entre elas. Ambas as organizações podem optar por utilizar ou não o software desse fornecedor, mas incorrem em custos diferentes para essa utilização. A organização A, por já utilizar o software de Y, gasta apenas um valor g pelo pagamento de novas licenças e contratos de serviço (SLAs), além das despesas de posse internas do software2 , dado por ia , para continuar desfrutando dos benefícios desse software (b). Entretanto, para utilizar o software de Y, a organização B deve incorrer, além dos custos já expostos, em um custo de migração m, pois utiliza um software de outro fornecedor. O fornecedor, por sua vez, receberá o valor g, mas terá gasto um esforço e na produção ou disponibilização de seu software. Os benefícios de A e B utilizarem o software de Y, entretanto, são bastante atrativos, pois vão além do valor de b. Permitem que A e B aumentem suas receitas em ra e rb , respectivamente, comercializando melhor com outras organizações que também utilizam o software de Y, além de permitirem que elas comercializem melhor entre si, incrementando ainda mais suas receitas em rab com o comércio da organização A com a organização B e rba com o comércio da organização B com a organização A. Assim, o incremento na receita total dessas organizações será de rta = ra + rab para a organização A e rtb = rb + rba para a organização B, se ambas utilizarem o software do fornecedor Y. Considerando que todas as variáveis desse jogo são não-negativas e reais, podemos obter a matriz de jogos que se segue. 2 As despesas internas de posse de um software podem variar de acordo com a organização. Por isso, consideramos que as despesas internas de posse do software para organização A são diferentes das despesas internas de posse do software para a organização B (ia 6= ib ). 65 Figura 4.7: Um jogo envolvendo três agentes e dois pólos de interesse (dois jogadores). Observe que agora, neste novo jogo, temos três agentes envolvidos, ao invés de dois. O número de interesses distintos envolvidos, no entanto, permanece igual a dois, como no jogos apresentados anteriormente. Expliquemos agora os ganhos e custos de cada célula da matriz da figura 4.7. • Linha 1, coluna 1: Se tanto a organização A, quanto a organização B utilizarem o software do fornecedor Y, este último obterá um ganho de 2g e terá gasto um esforço correspondente à produção ou disponibilização do software3 de e, obtendo um ganho de 2g − e. A organização A, por sua vez, obtém um benefício b com o software utilizado e incrementa sua receita com comércio em rta = ra + rab , pois B e outras organizações também utilizam o software de Y, mas gasta g pela utilização do software e ia pelas despesas internas de posse, obtendo um ganho de (b + rt ) − (g + ia ). Somando os ganhos do fornecedor Y com os da organização A (pois o jogador considerado é A ∼ Y), totalizamos um ganho total de (b+rta +g)−(ia +e). Já a organização B obtém um ganho semelhante ao da organização A subtraído pelo custo de migração m. Logo, B obtém um ganho (ou perda) de (b + rtb ) − (g + ib + m). • Linha 1, coluna 2: Se a organização B resolver aderir ao uso do software enquanto a organização A desiste de continuar com a utilização deste, temos que apenas B obterá os benefícios (b) com o software adquirido e receberá um incremento de rb em sua receita por comercializar melhor com apenas outras organizações que utilizam o software de Y, pois a organização A não utiliza mais esse software (rba = 0). Contudo, a organização B terá que gastar g pelas licenças de uso e serviços contratados, ib pelas despesas internas de posse do software adquirido e m pelo custo de migração do software do fornecedor 3 Consideremos o esforço gasto como e, e não 2e, devido ao fato do esforço marginal de um fornecedor de software para disponibilizar uma cópia a mais do software produzido ser, na maior parte das vezes, desprezível. 66 anterior para o software do fornecedor Y. Assim, B obterá um ganho (ou perda) de (b + rb ) − (g + ib + m). Enquanto isso, o fornecedor recebe apenas g pelo pagamento das licenças de uso e serviços contratados pela organização B, gastando um esforço e correspondente ao esforço de produção ou disponibilização desse software. Como não recebe mais nada de A, que não utiliza mais seus softwares ou serviços, o ganho do fornecedor será, neste caso, o total do ganho do jogador A ∼ Y, igual a g − e. • Linha 2, coluna 1: Se a organização A continuar utilizando o software do fornecedor Y, mas não conseguir convencer a organização B a fazer o mesmo, temos que apenas A obterá os benefícios (b) com o software adquirido e receberá um incremento de ra em sua receita por comercializar apenas com outras organizações que utilizam o software de Y, pois a organização B não utiliza esse software (rab = 0). Contudo, a organização A terá que gastar g pelas licenças de uso e serviços contratados e ia pelas despesas internas de posse do software adquirido. Assim, A obterá um ganho (ou perda) de (b + ra ) − (g + ia ). Enquanto isso, o fornecedor recebe apenas g pelo pagamento das licenças de uso e serviços contratados pela organização A, gastando um esforço e correspondente ao esforço de produção ou disponibilização desse software. Como não recebe nada de B, que não utiliza seus softwares ou serviços, o ganho do fornecedor será, neste caso, igual a g − e. Somando os ganhos do fornecedor Y com os da organização A, temos que o ganho do jogador A ∼ Y é igual a (b + ra ) − (ia + e). Nesta situação, a organização B não gasta nem recebe nada em relação a Y, logo, o incremento em sua receita com comércio, e ganho total, será de 0. • Linha 2, coluna 2: Se ambas as organizações resolvem não utilizar o software do fornecedor Y, então elas não gastam nem recebem mais nada em relação a Y. Portanto, nesta situação, seus incrementos na receita com comércio, e ganhos totais, serão de 0. O fornecedor Y, por sua vez, também não receberá nem gastará nada, tanto em relação à organização A quanto em relação à organização B. Assim, o ganho do jogador A ∼ Y também será, neste caso, de 0. 4.2.1 Análise das Soluções de Equilíbrio do Jogo com 3 Agentes No jogo definido pela figura 4.7, se considerarmos que a quantia que o fornecedor Y recebe pelos seus softwares ou serviços supera o seu gasto para produção ou disponibilização dos mesmos (g > e), o que normalmente ocorre, e que os benefícios com o software adquirido (tanto em termos do software em si quanto em termos de aumento da receita devido ao comércio possibilitado por ele) superam as despesas internas de posse desse software 67 ((b + rta ) > ia ), temos que a melhor situação possível para o jogador A ∼ Y decorre do perfil de estratégias (“Utilizar software”, “Utilizar software”). Portanto, a melhor situação tanto para a organização A, quanto para o fornecedor Y vem quando a organização B opta por utilizar o software do fornecedor Y, pois isso leva a um aumento tanto na receita de A, que pode comercializar de forma mais livre com B, quanto na receita de Y, através do recebimento dos valores das licenças de uso de seus softwares e dos serviços contratados. Da mesma forma que nos exemplos de jogos anteriores, a organização A e o fornecedor Y também podem agir estrategicamente para induzir a organização B a optar pela estratégia “Utilizar software”, manipulando custos que sejam reais ou fictícios. Uma estratégia possível é o fornecedor Y aumentar os benefícios providos pelo software (b), mas isso poderia lhe trazer um aumento nos custos com a produção e disponibilização desse software. A melhor estratégia, neste caso, consiste em aumentar o valor de receita que a organização B poderia adquirir com o comércio caso aderisse ao software (rtb ). Como rtb = rb +rba , um aumento no valor desta variável depende tanto do fornecedor Y quanto da organização A. Se o fornecedor Y for monopolista, isso significa que ele adquiriu a quase totalidade de sua fatia de mercado, de forma que isso implica que existe, em torno dele, uma grande quantidade de clientes. Comercializar com uma quantidade maior de clientes implica em geral maiores receitas com o comércio, ou seja, um valor de rb alto, o que seria uma razão bastante atrativa para organização B adquirir o software produzido por Y. Chamamos essa indução de efeito de rede, que nos diz que quanto maior for o número de usuários em uma rede, mais valor essa rede terá para seus usuários, conforme o explicitado pela Lei de Metcalfe, enunciada na seção 3.1.2. Mas o valor de rtb depende não somente de rb , mas também de rba , que é o incremento na receita que a organização B obteria comercializando mais livremente com a organização A. Quanto maior for o domínio e a importância da organização A em seu mercado, maior será a demanda de A por produtos e serviços e, portanto, maior serão os potenciais ganhos de comércio com A (rba ), fazendo com que seja atrativo para a organização B adequar seus softwares para comercializar melhor com A. Ao aumentarmos significativamente o valor de rb ou rba , estaremos aumentando significativamente o valor de rtb , contribuindo para uma situação em que (b + rtb ) > (g + ib + m) e (b + rb ) > (g + ib + m). Isso implica que (b + rtb ) − (g + ib + m) > 0 e (b + rb ) − (g + ib + m) > 0, o que levará a organização B a adquirir o software do fornecedor Y, por Equilíbrio de Estratégia Dominante, como mostra a figura que se segue. 68 Figura 4.8: Equilíbrio de estratégia dominante do jogo com três agentes caso (b + rtb ) > (g + ib + m) e (b + rb ) > (g + ib + m). Assim, percebemos que, quanto maior for o domínio de mercado da organização A e do fornecedor Y, mais facilidade eles terão para induzir a organização B a aderir ao software produzido por Y, optando pela estratégia que lhes será mais vantajosa. A organização B é, portanto, forçada a uma outra forma de lock-in, que age não propriamente prendendo uma organização a determinados softwares, mas forçando-a a adquiri-los para manter suas receitas em um patamar aceitável. A possibilidade da organização A ser um grande cliente serve, assim, como um atrativo para que o fornecedor Y adquira o monopólio em seu mercado. Um exemplo desse tipo de agir está presente nas bolsas de valores sob a jurisdição da lei Sarbanes-Oxley, que forçou grandes empresas de capital aberto participantes a aderir o software de gestão de negócios da fornecedora alemã SAP. Essa decisão afetou grandes empresas nacionais, como a Petrobrás, que teve que arcar com altos custos de migração para não perder suas participações nos mercados de ações sob a jurisdição da referida lei. Este novo modelo de jogo, entretanto, ainda possui suas limitações. Ele deixa de considerar, por exemplo, as situações em que a organização A e o fornecedor Y estão alinhados apenas estrategicamente, pois possuem interesses motivadores potencialmente conflitantes (A ⊥ Y). Isso poderia levar A, em um determinado momento, a agir contra Y, ou vice-versa. Esta situação é melhor captada através de jogos que possuam várias jogadas e mais de dois pólos de interesses conflitantes (mais de dois jogadores). A análise destes tipos de jogos, porém, aumenta exponencialmente com o número de jogadores e, portanto, não foi utilizada neste trabalho. 69 4.3 Jogos executados em várias rodadas Uma outra limitação dos jogos considerados neste trabalho é o fato de eles serem todos de uma única rodada (one-shot games). Uma importante estratégia dos fornecedores de TIC consiste em manter as organizações clientes aprisionadas no ciclo de evolução de seus softwares, através do fornecimento de novas versões de software incompatíveis com versões anteriores. Um exemplo clássico é o formato das versões mais recentes do Word, que talvez seja o editor de texto mais utilizado no mundo. O docx, como é chamado o formato utilizado pelas novas versões do Word, não pode ser aberto com as versões mais antigas do software, forçando o cliente a pagar pelas licenças de uso das novas versões do programa. Esse tipo de aprisionamento do cliente poderia ser melhor analisado com jogos que possuam várias rodadas. Uma outra dinâmica que permite análises bastante interessantes poderia ser construída através da Teoria Evolucionária dos Jogos4 . Essa teoria na realidade é um apêndice à Teoria dos Jogos, adicionando a ela conceitos de genética e teoria da evolução das espécies. O modelo clássico prevê que agentes em situação de equilíbrio no jogo se misturem para formar as novas gerações de jogadores das próximas rodadas do jogo. Esse tipo de abordagem parece adequado para analisar a evolução do comportamento de fornecedores de TIC na medida em que estes conquistam mais mercado. Conclusão A interface entre segurança na informática e teoria dos jogos parece ser um campo muito frutífero de pesquisa, capaz de nos fornecer análises mais claras dos riscos envolvidos em contextos computacionais, especialmente quando estes envolvem conflitos de interesse entre diversos agentes. Esse campo vem sendo explorado por alguns pesquisadores da área de segurança em informática desde 2001, quando o especialista em engenharia da segurança Ross Anderson publicou um genial artigo sobre os efeitos dos incentivos econômicos na segurança em informática5 . De fato, as ferramentas e conceitos da teoria dos jogos e da microeconomia podem vir a se tornar tão importantes quanto à matemática da criptografia para os engenheiros de segurança. A análise aqui exposta não nos informou, por si mesma, nada de novo. É sabido por qualquer economista que monopólios são estruturas potencialmente prejudiciais aos clientes, e que um modelo de licenciamento livre 4 Uma introdução a Teoria Evolucionária dos Jogos pode ser encontrada em (15), cap. 29. 5 Anderson, R., Why Information Security is Hard: An Economic Perspective (25). 70 torna o relacionamento entre fornecedor e cliente mais equilibrado, na medida em que evita a concentração de mercado em um só fornecedor. O propósito deste trabalho não foi informar algo novo, mas sim informar algo que já se sabe em uma nova linguagem, através do formalismo dos jogos, o qual, em tese, promete um potencial de análises mais precisas. Entretanto, não se pode concluir, a partir das modelagens feitas, que um fornecedor no modelo F/OSS será sempre mais vantajoso que um fornecedor proprietário para qualquer cliente, pois cada fornecedor terá valores específicos nas matrizes de jogos apresentadas, de forma que, para tirarmos conclusões mais práticas, os jogos devem se adaptar a cada caso. Mas a abordagem aqui mostrada nos permite vislumbrar o panorama geral dessa comparação, e ela tende a apresentar o modelo F/OSS como o mais equilibrado. Modelos mais complexos, é claro, como os propostos neste último capítulo, podem nos permitir uma análise mais precisa desse panorama, adequando-se melhor à realidade das organizações, cada vez mais dependentes das interações com fornecedores de TIC. 71 Referências Bibliográficas [1] Rezende, P.A.D., Modelos de Confiança para Segurança em Informática, artigo publicado primeiramente no portal do autor e nas notas da primeira turma do Curso de Especialização e Gestão da Segurança da Informação e Comunicações (CEGSIC) da UnB, 2009. [2] Schneier, B., In praise of security theater, Crypto-gram Newsletter, Fevereiro de 2007, http://www.schneier.com/ crypto-gram-0702.html#1 [3] Schneier, B., The Psychology of Security, AFRICACRYPT 2008, LNCS 5023, Springer-Verlag, 2008, pp. 50-79. [4] Hallam-Baker, P., Palestra: From CyberCrime to CyberConflict: The Infrastructure of Crime and Worse to Come, palestra proferida pelo Dr. Phillip Hallam-Baker, cientista principal da VeriSign Inc. Data: Quinta-Feira, 2 de Abril de 2009, Data local: 4:15 - 6 PM. Local: E38714, MIT. [5] Gerck, E. Toward Real-World models of Trust: Reliance on Received Information, artigo publicado pela primeira vez em 23 de Janeiro de 1998, na lista de discussões do Meta-Certificate Group (MCG), http: //mcwg.org/mcg-mirror/trustdef.htm. [6] Reale, M., Teoria Tridimensional do Direito, Quinta Edição, Editora Saraiva, São Paulo, 2005. [7] Habermas, J., Conhecimento e Interesse, Trad. J. N. Heck Apud Alessandro Pinzani Apud Pedro A. D. Rezende: Modelos de Confiança para Segurança em Informática, Ed. Artmed, São Paulo, 2009. [8] Pinzani, A., Habermas, Ed. Artmed, São Paulo, 2009. [9] FBI - IC3: Internet Crime Complaint Center Annual Reports, http: //www.ic3.gov/media/annualreports.aspx [10] Symantec: Internet Security Threat Report Tracks Notable Rise in Cybercrime, http://www.symantec.com/about/news/release/ article.jsp?prid=20060307_01 72 [11] Ameaças internas são maiores preocupações de diretores de TI, http://computerworld.uol.com.br/seguranca/2008/06/05/ ameacas-internas-sao-maiores-preocupacoes-de-diretores-de-ti/ [12] Ferreira, A.B.H., Minidicionário da Língua Portuguesa, Terceira edição, Rio de Janeiro: Nova Fronteira, 1993. [13] Neumann, J.V., Morgenstern, O., Theory of Games and Economic Behavior, Princeton University Press, 1953. [14] Williams, J. D., The Compleat Strategyst: Being a Primer on the Theory of Games of Strategy, RAND Corp, 1954. [15] Nisan, N., Roughgarden, T., Tardos, E., Vazirani, V.V., Algorithmic Game Theory, Cambridge University Press, 32 Avenue of the Americas, New York, NY 10013-2473, USA, 2007. [16] Sartini, B. A., Garbugio, G., Bortolossi, H.J., Santos, P.A., Barreto, L.S., Uma Introdução a Teoria dos Jogos, Trabalho apresentado na II Bienal da SBM, Universidade Federal da Bahia, 25 a 29 de Outubro de 2004. [17] Shor, M., Game Theory .net - Resources for Learning and Teaching Strategy for Business and Life, http://www.gametheory.net, 2001-2007. [18] Silva, C.A.T., Tristão, G., Contabilidade Básica, Segunda Edição, Editora Atlas, São Paulo, 2000. [19] Garfinkel, S., Spafford, G., Practical Unix and Internet Security (Chapter 27). O’Reilly & Associates (1996). [20] Stoneburner, G., Goguen, A., Feringa, A., Risk Management Guide for Information Technology Systems, NIST Special Publication 800-30, Julho de 2002. [21] Ross, R., Katze, S., Johnson, A., Swanson, M., Stoneburner, G., Managing Risks from Information Systems - An Organizational Perspective, NIST Special Publication 800-39, Second Public Draft, Abril de 2008. [22] PMI Risk Management Professional (Part 1) Tutorials, http://www.vtc.com/products/ PMI-Risk-Management-Professional-Part-1-Tutorials.htm [23] Gestão de Riscos e a nova ISO 31000, http://www.iso31000qsp. org/ [24] Tzu, S., A Arte da Guerra (The Art of War), Ed. Martin Claret, 2001. 73 [25] Anderson, R., Why Information Security is Hard: An Economic Perspective, University of Cambridge Computer Laboratory, JJ Thomson Avenue, Cambridge CB3 0FD, UK, [email protected]., 2001. [26] Hubbard, D.W., How to Measure Anything: Finding the Value of “Intangibles” in Business, Second Edition, John Wiley & Sons, Hoboken, New Jersey, 2010. [27] Hubbard, D.W., The Failure of Risk Management: Why is Broken and How to Fix It, John Wiley & Sons, Hoboken, New Jersey, 2009. [28] Rezende, P.A.D., Síndrome de Estocolmo Digital, artigo apresentado no I Congresso Internacional de Software Livre e Governo Eletrônico (CONSEGI), 2008. [29] Oliva, A., A Beautiful Mind Meets Free Software: Game Theory, Competition and Cooperation, Exacta, São Paulo, v. 4, n. especial, p.25-30, 25 nov. 2006. 74