Jump to content
       (0 reviews)

    Andre Smaira

     

    0511-1008-1201-0052_Bearded_Man_His_Eyes_Big_with_Fear_clipart_image.jpg.6f29325578c15753cd4a256ce8dcb5a6.jpg

    Paranoia - Fonte: www.clipartguide.com

     

    No último dia 24 de agosto (2022), funcionários da empresa Google anunciaram através dessa postagem, dos autores Pedro Barbosa, Engenheiro de Segurança da Google e Vice-Capitão do time de CTF Epic Leet Team (ELT), e Daniel Bleichenbacher, Engenheiro de Software da Google, seu novo projeto de criptografia chamado Paranoid (paranoia em tradução livre para o português).

    Ela cita o repositório GitHub do projeto. É importante dizer que apesar de a biblioteca ter sido criada e ser mantida por membros do time de Segurança da Informação da Google, ele não é um produto oficial da Google.

    Nesse artigo vamos verificar o que é e para que serve esse projeto através de uma tradução comentada da postagem acima citada.

     

    O que é o Projeto Paranoid ?

    istockphoto-1402889595-612x612.thumb.jpg.d23a251ea66f0b4dfd24121189c0eca0.jpg

    Fonte: istockphoto.com

     

    Paranoid é um projeto usado para detecção de vulnerabilidades conhecidas em artefatos criptográficos, como chaves públicas e assinaturas digitais. Isso é importante pois tais artefatos às vezes são gerados por implementações desconhecidas e/ou que não tenham código aberto para inspeção, as chamadas "caixas pretas" (ou do inglês black Boxes).

    default.thumb.jpg.2037862bde923e21b5686e6ee7022656.jpg

    Black Box - Fonte: www.nsoftware.com

     

    Em 2019, pensando na vunerabilidade ROCA, os autores da Paranoid se perguntaram se outras fraquezas não poderiam existir em artefatos gerados por caixas pretas e o que eles poderiam fazer para detectá-los e mitigá-los. Foi daí que surgiu a ideia de criar a Paranoid, uma biblioteca capaz de checar uma grande quantidade de artefatos criptográficos.

    Ela foi criada baseando-se na literatura preexistente, que mostra que a geração de artefatos nem sempre é perfeita. A seguir temos quatro dessas referências:

    Um exemplo mais recente, de 2022, é a CVE-2022-26320, encontrada por Hanno Böck, que evidencia ainda mais a necessidade de se detectar tais fraquezas. A Paranoid inclusive já encontrou de forma independente chaves fracas a partir do teste de Fermat. Os autores preveem que o projeto ainda tenha potencial para encontrar novas vulnerabilidades, já que estão generalizando as detecções ao máximo.

     

    Chamada para contribuições

    leadership.thumb.jpg.ba42b6883b8708c94de02b5c5fc6e3c0.jpg

    Fonte: opensource.guide

     

    Abrindo o código da Paranoid, os autores objetivam aumentar sua transparência, permitindo que ela seja utilizada também por outros tipos de usuários como Autoridades de Certificação - CAs que precisam fazer checagens semelhantes) e, é claro, receber contribuição de pesquisadores externos. Então, estão fazendo uma chamada para tal, com a esperança de que ao encontrar uma nova vulnerabilidade, depois de reportá-la, incluam as checagens na Paranoid. Dessa forma, não só a Google, mas também o resto do mundo poderá responder de forma rápida às novas ameaças.

    A biblioteca foi construída para ser leve computacionalmente falando, de forma que, mesmo trabalhando com números extremamente grandes, ainda faça sentido no contexto de produção do mundo real. Existem projetos com menos restrições para outros casos de aplicação, como o RsaCtfTool, geralmente usado em competições de segurança da informação do tipo CTF.

    Os autores destacam que além de contribuições de novas checagens, também são muito bem-vindas eventuais melhorias nas checagens já existentes na biblioteca, cujo código está disponível no repositório do GitHub. Um dos exemplos que fornecidos é o das assinaturas ECDSA, cujos segredos são gerados por java.util.random, para as quais a biblioteca tem um modelo pré-computado capaz de detectar a vulnerabilidade na maioria dos casos dadas duas assinaturas secp256r1, mas que para curvas maiores como secp384r1, não foi possível pré-computar um modelo com efetividade tão significante.

    Também foram implementadas checagens para chaves públicas RSA e EC, e fluxos de bits pseudo aleatórios, para o qual foram feitas algumas melhorias em relação ao teste NIST SP 800-22e incluídos alguns testes adicionais usando técnicas de redução de lattice.

     

    Resultados preliminares

    86599-por-que-contratar-uma-agencia-focada-em-resultados.thumb.jpg.d0d568e0ec9a4a5cc3e1db56934759fd.jpg

    Resultados - Fonte: casadeimagem.com

     

    Em caráter de teste, foram analisados artefatos criptográficos da Certificate Transparency (CT), que registra certificação de sites desde 2013 com o objetivo de torná-los transparentes e verificáveis, e cujo banco de dados possui mais de 7 bilhões de certificados.

    No caso das checagens de chaves públicas EC e assinaturas ECDSA, não foram achados artefatos fracos no CT. Para as checagens de chaves públicas RSA com gravidades ALTA ou CRÍTICA, foram encontrados os seguintes resultados:

     

    |            Teste                        |         CVEs relacionada       |    Gravidade    | Número de artefatos afetados|

     

    |   CheckOpensslDenylist     |            CVE-2008-0166         |     CRÍTICA      |                    3989                         |

    |         CheckROCA                 |            CVE-2017-15361       |       ALTA          |                    2875                          |

    |        CheckGCD                    |                          -                    |     CRÍTICA      |                    1860                          |

    |        CheckFermat                |            CVE-2022-26320      |     CRÍTICA      |                      36                            |

    CheckContinuedFractions |                        -                      |     CRÍTICA      |                       16                            |

    |     CheckBitPatterns             |                        -                      |     CRÍTICA      |                        6                            |

    | CheckPermutedBitPatterns |                      -                        |     CRÍTICA      |                        6                            |

    |   CheckKeypairDenylist         |           CVE-2021-41117        |     CRÍTICA      |                        4                            |

    |      CheckPollardpm1              |                    -                         |     CRÍTICA      |                        1                             |

     

    badlock.thumb.jpg.4ff3fd530e654037c912a1576798f250.jpg

    Fonte: nakedsecurity.sophos.com

     

    Alguns desses certificados já expiraram ou foram revogados. Os que ainda estão ativos (a maioria dos que falharam no CheckGCD), foram imediatamente reportados, de forma a manter a internet segura, conforme as políticas das Autoridades Certificadoras, como a do Let's Encrypt. Temos abaixo o trecho exemplo da Digicert:

    > Certificate revocation and certificate problem reporting are an important part of online trust. Certificate revocation is used to prevent the use of certificates with compromised private keys, reduce the threat of malicious websites, and address system-wide attacks and vulnerabilities. As a member of the online community, you play an important role in helping maintain online trust by requesting certificate revocations when needed.

    Ou em português:

    > A revogação de certificados e a notificação de problemas em certificados são partes importantes da confiança na internet. A revogação de certificados é usada para evitar o uso de certificados com chaves privadas comprometidas, reduzir a ameaça de sites mal-intencionados e abordar ataques e vulnerabilidades. Como membro da comunidade web, você desempenha um papel importante ao ajudar a manter a confiança na internet solicitando revogações de certificados quando necessário.

     

    Próximos passos

    passos.png.8d789cd6926490b70244c72e6ab1f900.png

    Próximos Passos - Fonte: sindipetro.org.br

     

    Os autores planejam continuar analisando o CT, e, agora com ajuda de contribuição externa, criar novas checagens e otimizar as já existentes. Estão também acompanhando de perto o processo Post-Quantum Cryptography Standardization do NIST para novos algoritmos que possam fazer sentido a implementação de checagens.

    Novas implementações de criptografia trazem a possibilidade de novas falhas, portanto é importante que a Paranoid seja capaz de detectá-las, evoluindo sempre.

     

     


    • Agradecer 1

    User Feedback

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest

    • This will not be shown to other users.
    • Add a review...

      ×   Pasted as rich text.   Paste as plain text instead

        Only 75 emoji are allowed.

      ×   Your link has been automatically embedded.   Display as a link instead

      ×   Your previous content has been restored.   Clear editor

      ×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

×
×
  • Create New...