Użytkownicy systemu Windows powinni zwracać coraz większą uwagę na certyfikaty zainstalowane na komputerze. Ostatnie skandale związane z certyfikatami Lenovo Superfish, Dell eDellRoot i Comodo PrivDog jeszcze raz wskazuj, że użytkownik musi zachować ostrożność nie tylko podczas instalowania nowych aplikacji, ale także dokładnie zrozumieć, jakie oprogramowanie i certyfikaty są wstępnie instalowane w systemie przez producenta sprzętu. Poprzez instalację fałszywych lub specjalnie wygenerowanych certyfikatów osoby atakujące mogą przeprowadzać ataki MiTM (man-in-the-middle), przechwytywać ruch (w tym HTTPS), pozwalać na uruchamianie złośliwego oprogramowania i skryptów itp..
Zazwyczaj certyfikaty te są instalowane w repozytorium zaufanych głównych urzędów certyfikacji systemu Windows. Zobaczmy, jak sprawdzić bazę certyfikatów systemu Windows pod kątem certyfikatów innych firm.
Ogólnie w magazynie certyfikatów Zaufane główne urzędy certyfikacji muszą być obecne tylko zaufane certyfikaty zweryfikowane i opublikowane przez Microsoft w ramach programu Program Microsoft Trusted Root Certificate. Aby sprawdzić magazyn certyfikatów pod kątem obecności certyfikatów innych firm, możesz użyć narzędzia Sigcheck (z zestawu narzędzi Sysinternals).
- Pobierz narzędzie Sigcheck ze strony Microsoft (https://technet.microsoft.com/en-us/sysinternals/bb897441.aspx)
- Rozpakuj archiwum Sigcheck.zip do dowolnego katalogu (na przykład C: \ install \ sigcheck \)
- Otwórz wiersz polecenia i przejdź do katalogu za pomocą narzędzia: cd C: \ install \ sigcheck \
- W wierszu polecenia uruchom polecenie
sigcheck.exe-tv
, lubsigcheck64.exe -tv
(w 64-bitowych wersjach systemu Windows) - Przy pierwszym uruchomieniu narzędzie sigcheck poprosi cię o zaakceptowanie warunków użytkowania
- Następnie narzędzie pobierze ze strony Microsoft i umieści katalog archiwum. authrootstl.kabina z listą certyfikatów głównych MS w formacie Certification Trust List.Wskazówka. Jeśli komputer nie ma bezpośredniego połączenia z Internetem, plik authrootstl.cab można pobrać niezależnie pod linkiem http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab i ręcznie umieścić w katalogu narzędzi Sigcheck
- Narzędzie porównuje listę certyfikatów zainstalowanych na komputerze z listą certyfikatów głównych MSFT w pliku authrootstl.cab. W przypadku obecności certyfikatów innych firm na liście certyfikatów głównych komputera, SigCheck wyświetli je. W naszym przykładzie na komputerze jest jeden certyfikat z nazwą test1 (Jest to samopodpisany certyfikat utworzony za pomocą polecenia cmdlet New-SelfSignedCertificate, które utworzyłem w celu podpisania kodu skryptu PowerShell)
- Każdy znaleziony certyfikat innej firmy powinien zostać przeanalizowany pod kątem konieczności obecności na zaufanej liście. Wskazane jest również, aby zrozumieć, który program zainstalował i używa go.Wskazówka. W przypadku, gdy komputer jest częścią domeny, certyfikaty główne wewnętrznego urzędu certyfikacji CA i inne certyfikaty zintegrowane z obrazem systemu lub dystrybuowane według zasad grupy, które mogą być niezaufane z punktu widzenia MSFT, najprawdopodobniej znajdą się na liście „strony trzeciej”.
- Aby usunąć ten certyfikat z zaufanej listy, otwórz konsolę zarządzania certyfikatami (msc) i rozwiń pojemnik Zaufany Root Certyfikacja Władze (Zaufane główne urzędy certyfikacji) -> Certyfikaty i usuń certyfikaty znalezione przez SigCheck.
Dlatego sprawdzanie magazynu certyfikatów za pomocą narzędzia SigCheck powinno być wykonywane na każdym systemie, szczególnie na komputerach OEM z preinstalowanym systemem operacyjnym i różnymi kompilacjami systemu Windows rozpowszechnianymi za pośrednictwem popularnych trackerów torrent.