Есть ли какой-нибудь способ убедиться, что файл, который был загружен или присутствует в системе, принадлежит Microsoft и не был подделан? Если да, то какой-нибудь способ PowerShell?

Я думаю об использовании командлета Get-AuthenticodeSignature но я не уверен, что я иду в правильном направлении.

Может кто-нибудь помочь мне в этом?

Ниже приведен вывод, который я получаю для файла -

PS C:> Get-AuthenticodeSignature -FilePath.\ Sts2016-kb3141486-fullfile-x64-glb.exe | Флорида

Сертификат подписавшего: [Тема] CN = Microsoft Corporation, OU = MOPR, O = Microsoft Corporation, L = Редмонд, S = Вашингтон, C = США

                    [Issuer]
                       CN=Microsoft Code Signing PCA, O=Microsoft Corporation, L=Redmond, S=Washington, C=US

                    [Serial Number]
                       330000014096A9EE7056FECC07000100000140

                    [Not Before]
                       8/18/2016 8:17:17 PM

                    [Not After]
                       11/2/2017 8:17:17 PM

                    [Thumbprint]
                       98ED99A67886D020C564923B7DF25E9AC019DF26

TimeStamperCertificate:

Статус: Действительный

StatusMessage: Подпись подтверждена.

Путь: C:\ sts2016-kb3141486-fullfile-x64-glb.exe

SignatureType: Authenticode

IsOSBinary: Ложь

Итак, если просто проверить файл, у которого есть тот же издатель, и его подпись проверена, могу ли я считать этот файл безопасным?

Спасибо!

1 ответ1

3

Вы можете использовать контрольные суммы или, как Microsoft называет их на своей странице загрузки, хэш пакета. Это хеш, который можно создать из файла. На информационной странице предоставленного вами программного обеспечения внизу находится раздел с информацией о хэше файлов.

Вы можете использовать эту информацию, чтобы подтвердить, что вы загрузили правильное программное обеспечение. PowerShell имеет командлет Get-FileHash, который вы запускаете для файла. По умолчанию используется SHA256. Вы можете использовать параметр -Algorithm, чтобы использовать другой алгоритм. Я использовал SHA1 в моем примере ниже, так как он соответствует снимку экрана выше. Если вы используете -Ahgorithm SHA256, он совпадает с 'Package hash SHA 2' из снимка экрана.

Get-FileHash C:\sts2016-kb3141486-fullfile-x64-glb.exe -Algorithm SHA1

Algorithm       Hash                                       Path                                                                                                                             
---------       ----                                       ----                                                                                                                             

SHA1            1B30B50FEB5FB3F8D764C6C0D6523DBA5BE05C1E   C:\sts2016-kb3141486-fullfile-x64-glb.exe

Если хэши совпадают, вы можете быть уверены в своей загрузке.

Спасибо, Тим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .