SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
M´todos Formais Aplicados a Seguran¸a da
 e                                 c
              Informa¸˜o
                      ca
            Uma Pequena Introdu¸˜o
                               ca


          Jean Everson Martina, Ph.D.

        Laborat´rio de Seguran¸a em Computa¸˜o
               o               c              ca
         Universidade Federal de Santa Catarina
              School of Computer Science
               University of Hertfordshire
               jean.martina@gmail.com


                        2012
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                                  Sum´rio
                                                     a


      Introdu¸˜o
             ca

      Um Pequeno Protocolo

      Um Grandioso Ataque

      Metodos Formais Aplicados a Seguran¸a
                                         c

      Resultados e Objetivos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                               Introdu¸˜o
                                                      ca


      Introdu¸˜o
             ca

      Um Pequeno Protocolo

      Um Grandioso Ataque

      Metodos Formais Aplicados a Seguran¸a
                                         c

      Resultados e Objetivos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                               Introdu¸˜o
                                                      ca
                Podemos Tornar as Rede Seguras atrav´s do uso da Criptografia?
                                                    e




             • Objetivos:
                 • Autenticidade: Quem enviou?
                 • Sigilo: Quem pode receber?
             • Amea¸as:
                    c
                 • Um atacante ativo
                 • Agentes descuidados ou comprometidos
                 • N˜o consideramos a for¸a dos algor´
                     a                   c           ıtimos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                                  Nota¸˜o
                                                      ca



               A, B            Nome dos Agentes (Alice e Bob)
               Na              Numero aleat´rio escolhido por Alice (Nonce)
                                           o
               Ka              Chave P´blica da Alice
                                      u
               {|X |}Ka        Mensagem cifrada usando Ka
                               • Qualquer pessoa pode cifrar
                               • Somente Alice pode recuperar X
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    Um Pequeno Protocolo


      Introdu¸˜o
             ca

      Um Pequeno Protocolo

      Um Grandioso Ataque

      Metodos Formais Aplicados a Seguran¸a
                                         c

      Resultados e Objetivos
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                           O Protocolo Needham-Schroeder
                                                  Apresenta¸˜o
                                                           ca




         1.      A → B: {|Na , A|}Kb
                 Alice manda pra Bob um Nonce cifrado
         2.      B → A: {|Na , Nb |}Ka
                 Bob retorna para Alice o Nonce dela junto com o Nonce dele
         3.      A → B: {|Nb |}Kb
                 Alice Retorna pra Bob o Nonce dele
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                          O Protocolo Needham-Schroeder
                                                   Explica¸˜o
                                                          ca


                 1.     A → B: {|Na , A|}Kb
                        Somente Alice conhece Na antes da Mensagem 1
                        Somente Bob pode decifrar a Mensagem 1
                 2.     B → A: {|Na , Nb |}Ka
                        Somente Bob conhece Nb antes da Mensagem 2
                        Bob conhece Na porque ele pode decifrar
                        Somente Alice pode decifrar a Mensagem 2
                 3.     A → B: {|Nb |}Kb
                        Alice conhece Nb porque ela pode decifrar
                        Somente Bob pode decifrar a Mensagem 3
                        Pra que a mensagem 3?
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                           O Protocolo Needham-Schroeder
                                                  Interpreta¸˜o
                                                            ca


         1.      A → B: {|Na , A|}Kb
                 Alice inicia a sess˜o, Na ´ o controle da sess˜o
                                    a      e                   a
                 A identidade de Alice (A) serve para Bob saber pra quem
                 cifrar a mensagem 2
         2.      B → A: {|Na , Nb |}Ka
                 Bom manda Na de volta para manter a sess˜o    a
                 Bob Nb para poder autenticar Alice na mensagem 3
                 Ao receber a Mensagem 2 Alice sabe que s´ Bob poderia
                                                             o
                 te-la criado porque ela cont´m Na
                                              e
         3.      A → B: {|Nb |}Kb
                 Alice ja autenticou Bob. Agora ela quer se autenticar para Bob
                 Ao receber a Mensagem 3 Bob sabe que so Alice poderia
                 te-la criado porque ela cont´m Nb
                                              e
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                          O Protocolo Needham-Schroeder
                                            Obten¸˜o dos Objetivos
                                                 ca



                                       1.    A → B: {|Na , A|}Kb
                                       2.    B → A: {|Na , Nb |}Ka
                                       3.    A → B: {|Nb |}Kb
             • O Protocolo autentica Alice para Bob
             • O Protocol autentica Bob para Alice
             • Pelo uso de Nonces novos (fresh), obtemos a propriedade de
               que a outra parte esta viva no protocolo
             • Mas e ai? Isso ´ seguro?
                              e
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                     Um Grandioso Ataque


      Introdu¸˜o
             ca

      Um Pequeno Protocolo

      Um Grandioso Ataque

      Metodos Formais Aplicados a Seguran¸a
                                         c

      Resultados e Objetivos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                           Regras do Jogo
                                              Modelo de amea¸a
                                                            c



             • Charlie ´ um atacante muito poderoso.
                       e
             • Ele pode:
                  • Interceptar qualquer coisa na rede
                  • Bloquear qualquer coisa na rede
                  • Repetir Mensagens
                  • Forjar mensagens como tudo que ele aprendeu monitorando a
                    rede
                  • Se comportar como um agente normal
             • Ele n˜o pode:
                     a
                  • Quebrar algoritmos criptogr´ficos
                                                a
                  • Adivinhar n´meros aleat´rios
                                u            o
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                          O Protocolo Needham-Schroeder
                                          O ataque de Gavin Lowe


                                    1.     A → C: {|Na , A|}Kc
                                    1’.    C(A) → B: {|Na , A|}Kb
                                    2’.    B → C(A): {|Na , Nb |}Ka
                                    2.     C → A: {|Na , Nb |}Ka
                                    3.     A → C: {|Nb |}Kc
                                    3’.    C → B: {|Nb |}Kb
             • Bob acredita estar falando com Alice, quando na verdade est´
                                                                          a
               falando com Charlie.
             • Charlie usa Alice como um or´culo para responder aos
                                           a
               desafios de Bob.
             • Charlie pode usar Nb para provar para Bob que ele ´ Alice
                                                                 e
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    O ataque de Gavin Lowe
                                                      Fatos




             • Gavin Lowe era um “mero”professor de teoria da computa¸˜o
                                                                     ca
               em Oxford
             • Parece f´cil, mas levaram 15 anos para descubrir este ataque.
                       a
             • O ataque funciona porque o modelo de amea¸a ´ mais forte.
                                                        c e
             • Mas o ataque s´ foi descoberto atrav´s do uso de um m´todo
                             o                     e                e
               formal, neste caso um checador de modelos.
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                   Metodos Formais Aplicados a Seguran¸a
                                                      c

      Introdu¸˜o
             ca

      Um Pequeno Protocolo

      Um Grandioso Ataque

      Metodos Formais Aplicados a Seguran¸a
                                          c
         Uma pequena revis˜o sobre L´gica
                           a        o
         Modelando um Protocolo
         Modelo L´gico do Atacante
                  o
         Resultados no Provador de Teoremas SPASS

      Resultados e Objetivos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                               Pequena Revis˜o de L´gica
                                            a      o




      Antes de falar de m´todos formais vamos revisar um pouco de
                         e
      l´gica matem´tica
       o           a
             • L´gica Proposicional
                o
             • L´gica de Primeira Ordem (FOL)
                o
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                      L´gica Proposicional
                                       o

               ´
             • E o system l´gico maps basico. Ele estuda os arguments e sue
                           o
               estrutura.
                  • Um argument ´ uma senten¸a declarative em lingua gem
                                e           c
                     natural (ex. Portuguˆs)
                                         e
                  • Por exemplo: “O ˆnibus est´ atrasado”
                                    o         a
             • Foi descoberta por Arist´teles na Grecia Antiga.
                                       o
             • Cada Senten¸a recede um valor de V (verdadeiro) ou F
                          c
               (falso).
             • Existem regras bem definidas para extrair significado de
               argumentos complexos. (Modus Ponens, Modus Tolens,
               Nega¸˜o da Implica¸˜o entre outros).
                   ca              ca
               ´ uma l´gica cl´ssica e f´cil de entender.
             • E      o       a         a
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




         Um exemplo de F´rmula em L´gica Proposicional
                        o          o



                        Est´ chovendo.
                           a                                                         :    P
                        Jane tem seu guarda-chuva consigo.                           :    Q
                        Jane se molha.                                               :    R

                                     (P ∧ ¬Q) → R, ¬R, P                     Q

                ımbolos: ∧ – “e”; ∨ – “ou”; – “n˜o”; → – “implica”; ↔ –
             • S´                               a
               “equivalente a”;            – “prova”; and              – “n˜o prova”.
                                                                           a
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                         L´gica de Primeira Ordem (FOL)
                          o

             • Tamb´m conhecida como l´gica de predicados ou l´gica
                   e                  o                       o
               quantificacional.
             • Estende a expressividade da l´gica proposicional.
                                            o
                    ´ ıcil
                  • E dif´ expressar senten¸as como “alguma coisa ´ uo tˆm ...”
                                           c                      e     e
                   em L´gica Preposicional.
                       o
             • A grande diferen¸a para com a L´gica Preposicional ´ a
                               c              o                   e
               existˆncia de quantificadores:
                    e
                  • ∃ (existe), and ∀ (para todos).
             • Outros conceitos s˜o: predicados, vari´veis, fun¸˜es e
                                 a                   a         co
               constantes.
             • Essa l´gica ´ expressiva o suficiente para modelarmos
                     o     e
               protocolos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                        Um exemplo de uma F´rmula FOL
                                           o



                S(x, y )       :     x ´ filho de y (S ´ um predicado)
                                       e               e
                B(x, y )       :     x ´ irm˜o de y (B ´ um outro predicado)
                                       e    a            e
                f (x)          :     retorna o pai de x (f ´ uma fun¸˜o)
                                                           e        ca

                           ∀x[S(x, f (m) → B(x, m))]
                           (m ´ uma constante, e x ´ uma vari´vel)
                              e                    e         a

      Nossos protocolos podem ser modelados desta forma.
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    Definindo os Predicados




             • E (x): x ´ uma entidade (um agente) no protocolo.
                        e
             • Stores(x, y ): o dado x ´ armazenado pela entidade y .
                                       e
             • Knows(x, y ): o dado x ´ conhecido pela entidade y .
                                      e
             • M(x): a mensagem x ´ enviada no protocolo.
                                  e
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                                      Definindo as Fun¸oes
                                                     c˜


             • Agrupamento de mensagens:
                 • pair (x, y ); triple(x, y , z).
             • Troca de mensagens:
                 • sent(x, y , z): o agente x envia ao agente y a mensagem z.
             • Fun¸˜es de chave:
                  co
                 • krkey (x, y ): a chave privada x pertence ao agente y ;
                 • kukey (x, y ): a chave p´blica x pertence ao agente y ; e
                                                u
                 • kp(x, y ): a chave privada x e a chave p´blica y formam um
                                                            u
                   par de chaves.
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                                      Definindo as Fun¸oes
                                                     c˜




             • Fun¸˜es de Nonce:
                  co
                 • nonce(x, y ): o nonce x ´ gerado pela entidade y .
                                             e
             • Primitivas criptogr´ficas:
                                    a
                 • encr (x, y ): o dado x ´ cifrado usando a chave y ; e
                                          e
                 • sign(x, y ): o dado x ´ assinado usando a chave y .
                                          e
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                                     Definindo as Constantes


             • Agentes participantes do protocolo:
                 • a (Alice); b (Beto); c (Charlie).
             • Chaves privadas e chaves p´blicas:
                                            u
                 • kra; kua: chave privada e chave p´blica de Alice
                                                     u
                 • krb; kub: chave privada e chave p´blica de Beto
                                                     u
                 • krc; kuc: chave privada e chave p´blica de Charlie
                                                     u
             • Nonces:
                 • na; nb; nc.
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                 Definindo a Base de Conhecimento Inicial


             • O primeiro passo ´ definir o conhecimento pertencente a cada
                                e
               agente. Por exemplo, parte do conhecimento inicial de Alice ´:
                                                                           e

      Exemplo
      E (a)
      Knows(kp(krkey (kra, a), kukey (kua, a)), a)
      Knows(kukey (kub, b), a)
      Knows(kukey (kuc, c), a)
      Knows(nonce(na, a), a)

      A mesma coisa se faz para os outros agentes Beto e Charlie
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    Descrevendo o Protocolo


             • Em seguida, modelamos cada passo da troca de mensagens.
               Por exemplo, o primeiro passo ´ modelado da seguinte forma:
                                             e

      Exemplo
      Knows(kukey (kua, a), a) ∧
      Knows(kp(krkey (kra, a), kukey (kua, a)), a) ∧
      Knows(kukey (kub, b), a) ∧
      Knows(nonce(na, a), a)
      →
      M(sent(a, b, encr (pair (na, a), kub)) ∧
      Stores(pair (na, b)a)
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    Descrevendo o Protocolo


             • O segundo passo:

      Exemplo
      ∀x[Knows(kukey (kub, b), b) ∧
      Knows(kp(krkey (krb, b), kukey (kub, b)), b) ∧
      Knows(kukey (kua, a), b) ∧
      Knows(nonce(nb, b), b) ∧
      M(sent(x, b, encr (pair (na, a), kub))
      →
      M(sent(b, a, encr (pair (na, nb), kua)) ∧
      Stores(pair (nb, a), b)]
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    Descrevendo o Protocolo



             • O terceiro passo:

      Exemplo
      ∀x[
      Stores(pair (na, b), a) ∧
      M(sent(x, a, encr (pair (na, nb), kua))
      →
      M(sent(a, b, encr (nb), kub))]
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                               Modelo L´gico do Atacante
                                       o



             • O modelo do atacante adiciona alguns elementos l´gicos:
                                                                    o
                 • A constante c que representa o pr´prio atacante;
                                                    o
                 • Os dados do atacante ao personificar um usu´rio v´lido no
                                                               a     a
                   protocolo; e
                 • O predicado Im(x) que indica o conhecimento aprendido pelo
                   atacante pela manipula¸˜o das mensagens trocadas. Este
                                          ca
                   predicado possui funcionamento idˆntico ao predicado M(x).
                                                    e
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                      Conhecimento Inicial


         1. O atacante ´ uma entidade no protocolo e tem seus dados `
                        e                                           a
            sua pr´pria disposi¸˜o:
                  o            ca
                  • E (c)
         2. Conhece os dados p´blicos dos agentes leg´
                              u                      ıtimos:
                  • Knows(kukey (kua, a), c)
                  • Knows(kukey (kub, b), c)
         3. Pode gravar todas as mensagens:
                  • ∀x, y , w [M(sent(x, y , w )) → Im(w )]
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                            Transforma¸oes de Mensagens
                                      c˜


         1. Pode decompor mensagens em peda¸os menores:
                                           c
                  • ∀u, v [Im(pair (u, v )) → Im(u) ∧ Im(v )]
                  • ∀u, v , w [Im(triple(u, v , w )) → Im(u) ∧ Im(v ) ∧ Im(w )]
         2. Pode fabricar mensagens a partir do conte´do aprendido:
                                                     u
                  • ∀u, v [Im(u) ∧ Im(v ) → Im(pair (u, v ))]
                  • ∀u, v , w [Im(u) ∧ Im(v ) ∧ Im(w ) → Im(triple(u, v , w ))]
         3. Pode enviar mensagens falsas:
                  • ∀u, x, y [Im(u) ∧ E (x) ∧ E (y ) → M(sent(x, y , u))]
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                               Capacidades Criptogr´ficas
                                                   a


         1. Qualquer coisa pode potencialmente ser uma chave:
                  • ∀u, v [Im(u) ∧ E (v ) → Knows(krkey (u, v ), c)]
                  • ∀u, v [Im(u) ∧ E (v ) → Knows(kukey (u, v ), c)]
         2. Qualquer coisa pode potencialmente ser um nonce:
                  • ∀u, v [Im(u) ∧ E (v ) → Knows(nonce(u, v ), c)]
         3. Gerar mensagens cifradas ou assinadas com as chaves
            conhecidas:
                  • ∀u, v , x[Im(u) ∧ Knows(kukey (v , x), c) ∧ E (x) →
                     Im(encr (u, v ))]
                  • ∀u, v , x[Im(u)∧Knows(krkey (v , x), c)∧E (x) → Im(sign(u, v ))]
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                       Mais em Capacidades Criptogr´ficas
                                                   a


         1. Decifrar mensagens com chaves conhecidas:
                  • ∀u, v , w , x[Im(encr (u, v )) ∧
                     Knows(kp(krkey (w , x), kukey (v , x)), c) ∧
                     E (x) → Im(u))]
         2. Decifrar mensagens com nonces conhecidos:
                  • ∀u, v , w [Im(encr (u, v )) ∧ Knows(nonce(v , w ), c) ∧ E (w ) →
                     Im(u))]
         3. Ter acesso ao conte´do das mensagens assinadas:
                               u
                  • ∀u, v [Im(sign(u, v )) → Im(u)]
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                           O Provador de Teoremas SPASS



             • A busca por provas pode ser feita manualmente, com papel e
               caneta.
             • Por´m, um modo mais conveniente (e pr´tico) ´ o uso de
                  e                                 a      e
               provadores de teoremas como suporte ` obten¸˜o das provas.
                                                   a      ca
             • O provador de teoremas escolhido foi o SPASS.
                 • Lida com L´gica de Primeira Ordem.
                              o
                 • Prova por contradi¸˜o (nega¸˜o da conjectura).
                                     ca         ca
                 • Provador de prop´sito geral.
                                   o
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                             Testando os Modelos L´gicos
                                                  o



             • O teste de conjecturas sobre os modelos l´gicos criados,
                                                        o
               permite a extra¸˜o de fatos sobre nosso protocolo.
                              ca
                  • Conjecturas s˜o afirma¸˜es que n˜o sabemos se s˜o
                                 a       co        a              a
                     verdadeiras ou falsas a partir dos axiomas (premissas).
                  • Por sua vez, fatos s˜o as afirma¸˜es extra´
                                        a          co        ıdas a partir do teste
                     de conjecturas.
             • O ataque de Lowe pode ser facilmente verificado nesta
               especifica¸˜o formal
                        ca
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                    Resultados e Objetivos


      Introdu¸˜o
             ca

      Um Pequeno Protocolo

      Um Grandioso Ataque

      Metodos Formais Aplicados a Seguran¸a
                                         c

      Resultados e Objetivos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                          Resultados at´ agora no LabSEC
                                       e




             • Verifica¸˜o dos protocolos da Nota Fiscal Eletrˆnica usando
                      ca                                     o
               FOL
             • Verifica¸˜o de Protocolos de Autentica¸˜o Biom´trica usando
                      ca                            ca      e
               FOL
             • Verifica¸˜o de Protocolos de Multicast usando HOL
                      ca
Introdu¸˜o
       ca     Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                              c    Resultados e Objetivos




                                                  Objetivos



             • Desenvolver uma comunidade de m´todos formais para a
                                              e
               seguran¸a
                      c
             • Dar mais garantias aos protocolos amplamente usados
             • Formar pessoas capacitadas na arte:
                 • Alta empregabildade: Intel, Arm, Nvidia, Microsoft, etc usam
                   as mesmas t´cnicas para outros problemas.
                              e
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                          Projetos Futuros




             • Atacar protocolos usando t´cnicas mais elaboradas em l´gicas
                                         e                           o
               com mais expressividade (HOL)
             • Gerar m´todos de verifica¸˜o formal de itera¸˜o humana com
                      e                ca                 ca
               protocolos
Introdu¸˜o
       ca    Um Pequeno Protocolo   Um Grandioso Ataque   Metodos Formais Aplicados a Seguran¸a
                                                                                             c    Resultados e Objetivos




                                           Agradecimentos




             • Eduardo dos Santos, M.Sc. pela grande ajuda na confec¸˜o
                                                                    ca
               dos slides e na execu¸˜o de experimentos.
                                    ca

Mais conteúdo relacionado

Mais de PET Computação

Cooperação e Codificação de Rede Aplicadas as RSSF Industriais
Cooperação e Codificação de Rede Aplicadas as RSSF IndustriaisCooperação e Codificação de Rede Aplicadas as RSSF Industriais
Cooperação e Codificação de Rede Aplicadas as RSSF IndustriaisPET Computação
 
Redes de Sensores e Robôs: Um novo paradigma de Monitoramento e Atuação
Redes de Sensores e Robôs: Um novo paradigma de Monitoramento e AtuaçãoRedes de Sensores e Robôs: Um novo paradigma de Monitoramento e Atuação
Redes de Sensores e Robôs: Um novo paradigma de Monitoramento e AtuaçãoPET Computação
 
MapReduce: teoria e prática
MapReduce: teoria e práticaMapReduce: teoria e prática
MapReduce: teoria e práticaPET Computação
 
Processamento e visualização tridimensional de imagens de Satelite e Radar
Processamento e visualização tridimensional de imagens de Satelite e RadarProcessamento e visualização tridimensional de imagens de Satelite e Radar
Processamento e visualização tridimensional de imagens de Satelite e RadarPET Computação
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...PET Computação
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloudPET Computação
 
Bancos de dados nas nuvens: uma visão geral
Bancos de dados nas nuvens: uma visão geralBancos de dados nas nuvens: uma visão geral
Bancos de dados nas nuvens: uma visão geralPET Computação
 
Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...
Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...
Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...PET Computação
 
Cloud computing: evolution or redefinition
Cloud computing: evolution or redefinitionCloud computing: evolution or redefinition
Cloud computing: evolution or redefinitionPET Computação
 
Rastreamento de objetos utilizando ar drone
Rastreamento de objetos utilizando ar droneRastreamento de objetos utilizando ar drone
Rastreamento de objetos utilizando ar dronePET Computação
 
Processamento e visualização tridimensional de imagens de satelite e radar
Processamento e visualização tridimensional de imagens de satelite e radarProcessamento e visualização tridimensional de imagens de satelite e radar
Processamento e visualização tridimensional de imagens de satelite e radarPET Computação
 
Evoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokEvoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokPET Computação
 
Apresentação geral do gqs - Usabilidade na convergência digital - Customizaç...
Apresentação geral do gqs -  Usabilidade na convergência digital - Customizaç...Apresentação geral do gqs -  Usabilidade na convergência digital - Customizaç...
Apresentação geral do gqs - Usabilidade na convergência digital - Customizaç...PET Computação
 
Com a cabeça nas nuvens: montando ambientes para aplicações elásticas
 Com a cabeça nas nuvens: montando ambientes para aplicações elásticas Com a cabeça nas nuvens: montando ambientes para aplicações elásticas
Com a cabeça nas nuvens: montando ambientes para aplicações elásticasPET Computação
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafiosPET Computação
 
Teste combinatório de software
Teste combinatório de softwareTeste combinatório de software
Teste combinatório de softwarePET Computação
 

Mais de PET Computação (20)

Cooperação e Codificação de Rede Aplicadas as RSSF Industriais
Cooperação e Codificação de Rede Aplicadas as RSSF IndustriaisCooperação e Codificação de Rede Aplicadas as RSSF Industriais
Cooperação e Codificação de Rede Aplicadas as RSSF Industriais
 
Redes de Sensores e Robôs: Um novo paradigma de Monitoramento e Atuação
Redes de Sensores e Robôs: Um novo paradigma de Monitoramento e AtuaçãoRedes de Sensores e Robôs: Um novo paradigma de Monitoramento e Atuação
Redes de Sensores e Robôs: Um novo paradigma de Monitoramento e Atuação
 
MapReduce: teoria e prática
MapReduce: teoria e práticaMapReduce: teoria e prática
MapReduce: teoria e prática
 
Processamento e visualização tridimensional de imagens de Satelite e Radar
Processamento e visualização tridimensional de imagens de Satelite e RadarProcessamento e visualização tridimensional de imagens de Satelite e Radar
Processamento e visualização tridimensional de imagens de Satelite e Radar
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
 
Planejamento automático
Planejamento automáticoPlanejamento automático
Planejamento automático
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloud
 
Bancos de dados nas nuvens: uma visão geral
Bancos de dados nas nuvens: uma visão geralBancos de dados nas nuvens: uma visão geral
Bancos de dados nas nuvens: uma visão geral
 
Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...
Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...
Uma reflexão sobre os 28 anos de pesquisa no laboratório de integração de sof...
 
Cloud computing: evolution or redefinition
Cloud computing: evolution or redefinitionCloud computing: evolution or redefinition
Cloud computing: evolution or redefinition
 
Rastreamento de objetos utilizando ar drone
Rastreamento de objetos utilizando ar droneRastreamento de objetos utilizando ar drone
Rastreamento de objetos utilizando ar drone
 
Processamento e visualização tridimensional de imagens de satelite e radar
Processamento e visualização tridimensional de imagens de satelite e radarProcessamento e visualização tridimensional de imagens de satelite e radar
Processamento e visualização tridimensional de imagens de satelite e radar
 
Evoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokEvoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbok
 
Ensinar com jogos
Ensinar com jogosEnsinar com jogos
Ensinar com jogos
 
Apresentação geral do gqs - Usabilidade na convergência digital - Customizaç...
Apresentação geral do gqs -  Usabilidade na convergência digital - Customizaç...Apresentação geral do gqs -  Usabilidade na convergência digital - Customizaç...
Apresentação geral do gqs - Usabilidade na convergência digital - Customizaç...
 
Latex
LatexLatex
Latex
 
Ferramenta git
Ferramenta gitFerramenta git
Ferramenta git
 
Com a cabeça nas nuvens: montando ambientes para aplicações elásticas
 Com a cabeça nas nuvens: montando ambientes para aplicações elásticas Com a cabeça nas nuvens: montando ambientes para aplicações elásticas
Com a cabeça nas nuvens: montando ambientes para aplicações elásticas
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 
Teste combinatório de software
Teste combinatório de softwareTeste combinatório de software
Teste combinatório de software
 

Último

Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 

Último (20)

Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 

Métodos formais aplicados a segurança da informação

  • 1. M´todos Formais Aplicados a Seguran¸a da e c Informa¸˜o ca Uma Pequena Introdu¸˜o ca Jean Everson Martina, Ph.D. Laborat´rio de Seguran¸a em Computa¸˜o o c ca Universidade Federal de Santa Catarina School of Computer Science University of Hertfordshire jean.martina@gmail.com 2012
  • 2. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Sum´rio a Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos
  • 3. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Introdu¸˜o ca Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos
  • 4. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Introdu¸˜o ca Podemos Tornar as Rede Seguras atrav´s do uso da Criptografia? e • Objetivos: • Autenticidade: Quem enviou? • Sigilo: Quem pode receber? • Amea¸as: c • Um atacante ativo • Agentes descuidados ou comprometidos • N˜o consideramos a for¸a dos algor´ a c ıtimos
  • 5. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Nota¸˜o ca A, B Nome dos Agentes (Alice e Bob) Na Numero aleat´rio escolhido por Alice (Nonce) o Ka Chave P´blica da Alice u {|X |}Ka Mensagem cifrada usando Ka • Qualquer pessoa pode cifrar • Somente Alice pode recuperar X
  • 6. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Um Pequeno Protocolo Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos
  • 7. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O Protocolo Needham-Schroeder Apresenta¸˜o ca 1. A → B: {|Na , A|}Kb Alice manda pra Bob um Nonce cifrado 2. B → A: {|Na , Nb |}Ka Bob retorna para Alice o Nonce dela junto com o Nonce dele 3. A → B: {|Nb |}Kb Alice Retorna pra Bob o Nonce dele
  • 8. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O Protocolo Needham-Schroeder Explica¸˜o ca 1. A → B: {|Na , A|}Kb Somente Alice conhece Na antes da Mensagem 1 Somente Bob pode decifrar a Mensagem 1 2. B → A: {|Na , Nb |}Ka Somente Bob conhece Nb antes da Mensagem 2 Bob conhece Na porque ele pode decifrar Somente Alice pode decifrar a Mensagem 2 3. A → B: {|Nb |}Kb Alice conhece Nb porque ela pode decifrar Somente Bob pode decifrar a Mensagem 3 Pra que a mensagem 3?
  • 9. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O Protocolo Needham-Schroeder Interpreta¸˜o ca 1. A → B: {|Na , A|}Kb Alice inicia a sess˜o, Na ´ o controle da sess˜o a e a A identidade de Alice (A) serve para Bob saber pra quem cifrar a mensagem 2 2. B → A: {|Na , Nb |}Ka Bom manda Na de volta para manter a sess˜o a Bob Nb para poder autenticar Alice na mensagem 3 Ao receber a Mensagem 2 Alice sabe que s´ Bob poderia o te-la criado porque ela cont´m Na e 3. A → B: {|Nb |}Kb Alice ja autenticou Bob. Agora ela quer se autenticar para Bob Ao receber a Mensagem 3 Bob sabe que so Alice poderia te-la criado porque ela cont´m Nb e
  • 10. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O Protocolo Needham-Schroeder Obten¸˜o dos Objetivos ca 1. A → B: {|Na , A|}Kb 2. B → A: {|Na , Nb |}Ka 3. A → B: {|Nb |}Kb • O Protocolo autentica Alice para Bob • O Protocol autentica Bob para Alice • Pelo uso de Nonces novos (fresh), obtemos a propriedade de que a outra parte esta viva no protocolo • Mas e ai? Isso ´ seguro? e
  • 11. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Um Grandioso Ataque Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos
  • 12. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Regras do Jogo Modelo de amea¸a c • Charlie ´ um atacante muito poderoso. e • Ele pode: • Interceptar qualquer coisa na rede • Bloquear qualquer coisa na rede • Repetir Mensagens • Forjar mensagens como tudo que ele aprendeu monitorando a rede • Se comportar como um agente normal • Ele n˜o pode: a • Quebrar algoritmos criptogr´ficos a • Adivinhar n´meros aleat´rios u o
  • 13. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O Protocolo Needham-Schroeder O ataque de Gavin Lowe 1. A → C: {|Na , A|}Kc 1’. C(A) → B: {|Na , A|}Kb 2’. B → C(A): {|Na , Nb |}Ka 2. C → A: {|Na , Nb |}Ka 3. A → C: {|Nb |}Kc 3’. C → B: {|Nb |}Kb • Bob acredita estar falando com Alice, quando na verdade est´ a falando com Charlie. • Charlie usa Alice como um or´culo para responder aos a desafios de Bob. • Charlie pode usar Nb para provar para Bob que ele ´ Alice e
  • 14. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O ataque de Gavin Lowe Fatos • Gavin Lowe era um “mero”professor de teoria da computa¸˜o ca em Oxford • Parece f´cil, mas levaram 15 anos para descubrir este ataque. a • O ataque funciona porque o modelo de amea¸a ´ mais forte. c e • Mas o ataque s´ foi descoberto atrav´s do uso de um m´todo o e e formal, neste caso um checador de modelos.
  • 15. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Metodos Formais Aplicados a Seguran¸a c Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Uma pequena revis˜o sobre L´gica a o Modelando um Protocolo Modelo L´gico do Atacante o Resultados no Provador de Teoremas SPASS Resultados e Objetivos
  • 16. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Pequena Revis˜o de L´gica a o Antes de falar de m´todos formais vamos revisar um pouco de e l´gica matem´tica o a • L´gica Proposicional o • L´gica de Primeira Ordem (FOL) o
  • 17. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos L´gica Proposicional o ´ • E o system l´gico maps basico. Ele estuda os arguments e sue o estrutura. • Um argument ´ uma senten¸a declarative em lingua gem e c natural (ex. Portuguˆs) e • Por exemplo: “O ˆnibus est´ atrasado” o a • Foi descoberta por Arist´teles na Grecia Antiga. o • Cada Senten¸a recede um valor de V (verdadeiro) ou F c (falso). • Existem regras bem definidas para extrair significado de argumentos complexos. (Modus Ponens, Modus Tolens, Nega¸˜o da Implica¸˜o entre outros). ca ca ´ uma l´gica cl´ssica e f´cil de entender. • E o a a
  • 18. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Um exemplo de F´rmula em L´gica Proposicional o o Est´ chovendo. a : P Jane tem seu guarda-chuva consigo. : Q Jane se molha. : R (P ∧ ¬Q) → R, ¬R, P Q ımbolos: ∧ – “e”; ∨ – “ou”; – “n˜o”; → – “implica”; ↔ – • S´ a “equivalente a”; – “prova”; and – “n˜o prova”. a
  • 19. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos L´gica de Primeira Ordem (FOL) o • Tamb´m conhecida como l´gica de predicados ou l´gica e o o quantificacional. • Estende a expressividade da l´gica proposicional. o ´ ıcil • E dif´ expressar senten¸as como “alguma coisa ´ uo tˆm ...” c e e em L´gica Preposicional. o • A grande diferen¸a para com a L´gica Preposicional ´ a c o e existˆncia de quantificadores: e • ∃ (existe), and ∀ (para todos). • Outros conceitos s˜o: predicados, vari´veis, fun¸˜es e a a co constantes. • Essa l´gica ´ expressiva o suficiente para modelarmos o e protocolos
  • 20. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Um exemplo de uma F´rmula FOL o S(x, y ) : x ´ filho de y (S ´ um predicado) e e B(x, y ) : x ´ irm˜o de y (B ´ um outro predicado) e a e f (x) : retorna o pai de x (f ´ uma fun¸˜o) e ca ∀x[S(x, f (m) → B(x, m))] (m ´ uma constante, e x ´ uma vari´vel) e e a Nossos protocolos podem ser modelados desta forma.
  • 21. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Definindo os Predicados • E (x): x ´ uma entidade (um agente) no protocolo. e • Stores(x, y ): o dado x ´ armazenado pela entidade y . e • Knows(x, y ): o dado x ´ conhecido pela entidade y . e • M(x): a mensagem x ´ enviada no protocolo. e
  • 22. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Definindo as Fun¸oes c˜ • Agrupamento de mensagens: • pair (x, y ); triple(x, y , z). • Troca de mensagens: • sent(x, y , z): o agente x envia ao agente y a mensagem z. • Fun¸˜es de chave: co • krkey (x, y ): a chave privada x pertence ao agente y ; • kukey (x, y ): a chave p´blica x pertence ao agente y ; e u • kp(x, y ): a chave privada x e a chave p´blica y formam um u par de chaves.
  • 23. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Definindo as Fun¸oes c˜ • Fun¸˜es de Nonce: co • nonce(x, y ): o nonce x ´ gerado pela entidade y . e • Primitivas criptogr´ficas: a • encr (x, y ): o dado x ´ cifrado usando a chave y ; e e • sign(x, y ): o dado x ´ assinado usando a chave y . e
  • 24. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Definindo as Constantes • Agentes participantes do protocolo: • a (Alice); b (Beto); c (Charlie). • Chaves privadas e chaves p´blicas: u • kra; kua: chave privada e chave p´blica de Alice u • krb; kub: chave privada e chave p´blica de Beto u • krc; kuc: chave privada e chave p´blica de Charlie u • Nonces: • na; nb; nc.
  • 25. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Definindo a Base de Conhecimento Inicial • O primeiro passo ´ definir o conhecimento pertencente a cada e agente. Por exemplo, parte do conhecimento inicial de Alice ´: e Exemplo E (a) Knows(kp(krkey (kra, a), kukey (kua, a)), a) Knows(kukey (kub, b), a) Knows(kukey (kuc, c), a) Knows(nonce(na, a), a) A mesma coisa se faz para os outros agentes Beto e Charlie
  • 26. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Descrevendo o Protocolo • Em seguida, modelamos cada passo da troca de mensagens. Por exemplo, o primeiro passo ´ modelado da seguinte forma: e Exemplo Knows(kukey (kua, a), a) ∧ Knows(kp(krkey (kra, a), kukey (kua, a)), a) ∧ Knows(kukey (kub, b), a) ∧ Knows(nonce(na, a), a) → M(sent(a, b, encr (pair (na, a), kub)) ∧ Stores(pair (na, b)a)
  • 27. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Descrevendo o Protocolo • O segundo passo: Exemplo ∀x[Knows(kukey (kub, b), b) ∧ Knows(kp(krkey (krb, b), kukey (kub, b)), b) ∧ Knows(kukey (kua, a), b) ∧ Knows(nonce(nb, b), b) ∧ M(sent(x, b, encr (pair (na, a), kub)) → M(sent(b, a, encr (pair (na, nb), kua)) ∧ Stores(pair (nb, a), b)]
  • 28. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Descrevendo o Protocolo • O terceiro passo: Exemplo ∀x[ Stores(pair (na, b), a) ∧ M(sent(x, a, encr (pair (na, nb), kua)) → M(sent(a, b, encr (nb), kub))]
  • 29. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Modelo L´gico do Atacante o • O modelo do atacante adiciona alguns elementos l´gicos: o • A constante c que representa o pr´prio atacante; o • Os dados do atacante ao personificar um usu´rio v´lido no a a protocolo; e • O predicado Im(x) que indica o conhecimento aprendido pelo atacante pela manipula¸˜o das mensagens trocadas. Este ca predicado possui funcionamento idˆntico ao predicado M(x). e
  • 30. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Conhecimento Inicial 1. O atacante ´ uma entidade no protocolo e tem seus dados ` e a sua pr´pria disposi¸˜o: o ca • E (c) 2. Conhece os dados p´blicos dos agentes leg´ u ıtimos: • Knows(kukey (kua, a), c) • Knows(kukey (kub, b), c) 3. Pode gravar todas as mensagens: • ∀x, y , w [M(sent(x, y , w )) → Im(w )]
  • 31. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Transforma¸oes de Mensagens c˜ 1. Pode decompor mensagens em peda¸os menores: c • ∀u, v [Im(pair (u, v )) → Im(u) ∧ Im(v )] • ∀u, v , w [Im(triple(u, v , w )) → Im(u) ∧ Im(v ) ∧ Im(w )] 2. Pode fabricar mensagens a partir do conte´do aprendido: u • ∀u, v [Im(u) ∧ Im(v ) → Im(pair (u, v ))] • ∀u, v , w [Im(u) ∧ Im(v ) ∧ Im(w ) → Im(triple(u, v , w ))] 3. Pode enviar mensagens falsas: • ∀u, x, y [Im(u) ∧ E (x) ∧ E (y ) → M(sent(x, y , u))]
  • 32. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Capacidades Criptogr´ficas a 1. Qualquer coisa pode potencialmente ser uma chave: • ∀u, v [Im(u) ∧ E (v ) → Knows(krkey (u, v ), c)] • ∀u, v [Im(u) ∧ E (v ) → Knows(kukey (u, v ), c)] 2. Qualquer coisa pode potencialmente ser um nonce: • ∀u, v [Im(u) ∧ E (v ) → Knows(nonce(u, v ), c)] 3. Gerar mensagens cifradas ou assinadas com as chaves conhecidas: • ∀u, v , x[Im(u) ∧ Knows(kukey (v , x), c) ∧ E (x) → Im(encr (u, v ))] • ∀u, v , x[Im(u)∧Knows(krkey (v , x), c)∧E (x) → Im(sign(u, v ))]
  • 33. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Mais em Capacidades Criptogr´ficas a 1. Decifrar mensagens com chaves conhecidas: • ∀u, v , w , x[Im(encr (u, v )) ∧ Knows(kp(krkey (w , x), kukey (v , x)), c) ∧ E (x) → Im(u))] 2. Decifrar mensagens com nonces conhecidos: • ∀u, v , w [Im(encr (u, v )) ∧ Knows(nonce(v , w ), c) ∧ E (w ) → Im(u))] 3. Ter acesso ao conte´do das mensagens assinadas: u • ∀u, v [Im(sign(u, v )) → Im(u)]
  • 34. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos O Provador de Teoremas SPASS • A busca por provas pode ser feita manualmente, com papel e caneta. • Por´m, um modo mais conveniente (e pr´tico) ´ o uso de e a e provadores de teoremas como suporte ` obten¸˜o das provas. a ca • O provador de teoremas escolhido foi o SPASS. • Lida com L´gica de Primeira Ordem. o • Prova por contradi¸˜o (nega¸˜o da conjectura). ca ca • Provador de prop´sito geral. o
  • 35. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Testando os Modelos L´gicos o • O teste de conjecturas sobre os modelos l´gicos criados, o permite a extra¸˜o de fatos sobre nosso protocolo. ca • Conjecturas s˜o afirma¸˜es que n˜o sabemos se s˜o a co a a verdadeiras ou falsas a partir dos axiomas (premissas). • Por sua vez, fatos s˜o as afirma¸˜es extra´ a co ıdas a partir do teste de conjecturas. • O ataque de Lowe pode ser facilmente verificado nesta especifica¸˜o formal ca
  • 36. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Resultados e Objetivos Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos
  • 37. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Resultados at´ agora no LabSEC e • Verifica¸˜o dos protocolos da Nota Fiscal Eletrˆnica usando ca o FOL • Verifica¸˜o de Protocolos de Autentica¸˜o Biom´trica usando ca ca e FOL • Verifica¸˜o de Protocolos de Multicast usando HOL ca
  • 38. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Objetivos • Desenvolver uma comunidade de m´todos formais para a e seguran¸a c • Dar mais garantias aos protocolos amplamente usados • Formar pessoas capacitadas na arte: • Alta empregabildade: Intel, Arm, Nvidia, Microsoft, etc usam as mesmas t´cnicas para outros problemas. e
  • 39. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Projetos Futuros • Atacar protocolos usando t´cnicas mais elaboradas em l´gicas e o com mais expressividade (HOL) • Gerar m´todos de verifica¸˜o formal de itera¸˜o humana com e ca ca protocolos
  • 40. Introdu¸˜o ca Um Pequeno Protocolo Um Grandioso Ataque Metodos Formais Aplicados a Seguran¸a c Resultados e Objetivos Agradecimentos • Eduardo dos Santos, M.Sc. pela grande ajuda na confec¸˜o ca dos slides e na execu¸˜o de experimentos. ca