Google opublikował kod źródłowy Paranoid, projektu służącego do wykrywania luk w artefaktach kryptograficznych

paranoidalny

Paranoid projekt wykrywający słabości artefaktów kryptograficznych

L członkowie zespołu ds. bezpieczeństwa Google, zwolnieni poprzez wpis na blogu podjęli decyzję o wydaniu kodu źródłowego biblioteki „Paranoid”, zaprojektowane w celu wykrywania znanych słabości w dużej liczbie niewiarygodnych artefaktów kryptograficznych, takich jak klucze publiczne i podpisy cyfrowe utworzone w podatnych na ataki systemach sprzętowych i programowych (HSM).

Projekt może być przydatny do pośredniej oceny wykorzystania algorytmów i bibliotek które mają znane luki i luki, które wpływają na niezawodność generowanych kluczy i podpisów cyfrowych, niezależnie od tego, czy weryfikowane artefakty są generowane przez sprzęt niedostępny do weryfikacji, czy zamknięte komponenty, które są czarną skrzynką.

Oprócz tego Google wspomina również, że czarna skrzynka może generować artefakt, jeśli w jednym scenariuszu nie został wygenerowany przez jedno z własnych narzędzi Google, takie jak Tink. Zdarzyłoby się to również, gdyby zostało wygenerowane przez bibliotekę, którą Google może sprawdzać i testować za pomocą Wycheproof.

Celem otwarcia biblioteki jest zwiększenie przejrzystości, umożliwienie innym ekosystemom korzystania z niej (takim jak urzędy certyfikacji, urzędy certyfikacji, które muszą przeprowadzać podobne kontrole w celu spełnienia wymagań) i otrzymanie wkładu od zewnętrznych badaczy. Czyniąc to, apelujemy o kontrybucje w nadziei, że po tym, jak badacze znajdą i zgłoszą luki w zabezpieczeniach kryptograficznych, czeki zostaną dodane do biblioteki. W ten sposób Google i reszta świata mogą szybko reagować na nowe zagrożenia.

Biblioteka potrafi również analizować zbiory liczb pseudolosowych aby określić niezawodność generatora i, korzystając z dużej kolekcji artefaktów, zidentyfikować nieznane wcześniej problemy, które pojawiają się z powodu błędów programowania lub użycia zawodnych generatorów liczb pseudolosowych.

Z drugiej strony wspomina się również, że Paranoidalne funkcje implementacji i optymalizacji, które zostały one zaczerpnięte z istniejącej literatury związanej z kryptografią, co sugeruje, że generowanie tych artefaktów było w niektórych przypadkach wadliwe.

Podczas sprawdzania zawartości rejestru publicznego CT (Certificate Transparency), który zawiera informacje o ponad 7 miliardach certyfikatów, przy użyciu proponowanej biblioteki, nie znaleziono problematycznych kluczy publicznych opartych na krzywych eliptycznych (EC) oraz podpisów cyfrowych opartych na algorytmie. ECDSA, ale według algorytmu RSA znaleziono problematyczne klucze publiczne.

Po ujawnieniu luki ROCA zastanawialiśmy się, jakie inne słabości mogą istnieć w artefaktach kryptograficznych generowanych przez czarne skrzynki i co możemy zrobić, aby je wykryć i złagodzić. Następnie w 2019 roku rozpoczęliśmy pracę nad tym projektem i zbudowaliśmy bibliotekę do sprawdzania dużej liczby artefaktów kryptograficznych.

Biblioteka zawiera implementacje i optymalizacje istniejących prac znalezionych w literaturze. Literatura pokazuje, że generowanie artefaktów jest w niektórych przypadkach wadliwe; Poniżej przykładowe publikacje, na których opiera się biblioteka.

W szczególności Zidentyfikowano 3586 niezaufanych kluczy wygenerowany przez kod z niezałataną luką CVE-2008-0166 w pakiecie OpenSSL dla Debiana, 2533 klucze związane z luką CVE-2017-15361 w bibliotece Infineon oraz 1860 kluczy z luką związaną ze znalezieniem największego wspólnego dzielnika ( DCM ).

Zwróć uwagę, że projekt ma na celu lekkie wykorzystanie zasobów obliczeniowych. Kontrole muszą być wystarczająco szybkie, aby uruchomić dużą liczbę artefaktów i muszą mieć sens w rzeczywistym kontekście produkcyjnym. Projekty z mniejszą liczbą ograniczeń, takie jak RsaCtfTool , mogą być bardziej odpowiednie dla różnych przypadków użycia.

Na koniec wspomniano, że informacje o problematycznych certyfikatach, które pozostały w użyciu, zostały przesłane do centrów certyfikacji w celu ich unieważnienia.

Dla zainteresowany dowiedzeniem się więcej o projekcie, powinni wiedzieć, że kod jest napisany w Pythonie i jest udostępniany na licencji Apache 2.0. Możesz zapoznać się ze szczegółami, a także z kodem źródłowym W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.