Microsoft, Office Visual Basic for Applications (VBA) makro projesi imzalamada bir güvenlik açığı keşfetti. Bu güvenlik açığı, kötü amaçlı bir kullanıcının dijital imzasını geçersiz kılmadan imzalı bir VBA projesiyle oynamasına olanak tanıyabilir. Bu nedenle, kullanıcıların Microsoft Ortak Güvenlik Açıkları ve Etkilenmeleri CVE-2020-0760'da listelenen güvenlik güncelleştirmelerini uygulamalarını öneririz.
Microsoft, Office VBA makro proje imzalama güvenliğini artırmak için VBA proje imza şemasının daha güvenli bir sürümünü sağlar: V3 imzası. V3 imzası aşağıdaki ürünlerde kullanılabilir:
-
Geçerli kanalın Microsoft 365 sürüm 2102 (derleme 16.0.13801.20266) ve sonraki sürümleri
-
Office 2019 sürüm 1808 (derleme 10372.20060) ve sonraki sürümlerin toplu lisanslı sürümleri
-
Office 2016 Tıkla-Çalıştır sürümlerinin ve Office 2019 sürüm 2102'nin (derleme 16.0.13801.20266) ve sonraki sürümlerinin perakende sürümleri
-
Office 2016'nın aşağıdaki güncelleştirmelere veya sonraki sürümlerine sahip Microsoft Installer (.msi) tabanlı sürümleri:
Kuruluşların kurcalama riskini ortadan kaldırmak için V3 imzasını tüm makrolara uygulamasını öneririz.
Varsayılan olarak, geriye dönük uyumluluğu sağlamak için, var olan imzalara sahip VBA dosyaları çalışmaya devam eder ve V3 imzası kullanılarak imzalanan dosyalar Office'in önceki sürümlerinde veya güncelleştirilmeyen Office istemcilerinde açılabilir ve çalıştırılabilir. Ancak yöneticilerin, Office'i listelenen sürümlere yükselttikten sonra mevcut VBA imzalarını mümkün olan en kısa sürede V3 imzasına yükseltmelerini öneririz. Yöneticiler kuruluşta uyumluluk kaybı olmadığını doğruladıktan sonra, Yalnızca V3 imzaları kullanan VBA makrolarına güven ilke ayarını etkinleştirerek eski VBA imzalarını devre dışı bırakabilir. Bu ilke ayarı hakkında daha fazla bilgi için "İlke ayarını etkinleştir: Yalnızca V3 imzalarını kullanan VBA makrolarına güven" bölümüne bakın.
İmzalı VBA dosyalarını V3 imzasına yükseltme
Yöneticiler, mevcut VBA imza dosyalarını V3 imzasına yükseltmek için aşağıdaki konuları kullanabilir.
VBA dosyalarını yeniden imzalamak için VBA Düzenleyicisi'ni kullanma
Özel sertifikalarınız varsa, VBA dosyalarını yeniden imzalamak için Office uygulamasında sağlanan Visual Basic for Applications (VBA) Düzenleyicisi'ni kullanın.
-
VBA dosyasını yeniden imzalamak için dosyanın içinden Alt+F11 tuşlarına basarak VBA Düzenleyicisi'ni açın.
-
Var olan bir imzayı V3 imzası ile değiştirmek için Araçlar > Dijital İmza'yı seçin. Dijital İmza iletişim kutusu açılır.
Not: VBA projesini imzalamak için özel anahtarın doğru yüklenmesi gerekir. Daha fazla bilgi için bkz. Makro projenizi dijital olarak imzalama.
-
VBA projesini imzalamak için kullanılacak sertifika özel anahtarını seçmek için Seç'i ve ardından Tamam'ı seçin.
-
Yeni imzaları oluşturmak için dosyayı yeniden kaydedin. Yeni dijital imzalar, önceki imzaların yerini alır.
VBA dosyalarını yeniden imzalamak için SignTool kullanma
Windows 10 SDK'sındaki SignTool, VBA dosyalarını bir komut satırı aracılığıyla yeniden imzalamanıza yardımcı olabilir. Yeniden imzalama çalışmasını "İmzalı VBA dosyalarının envanterini oluşturma" bölümünde tanımlanan envanter listesine göre toplu olarak kullanmak için, SignTool'u kendi yönetici araçlarınızla tümleştirebilirsiniz.
Not: SignTool şu anda Microsoft Access'i desteklemez.
SignTool kullanarak VBA dosyalarını yeniden imzalamak için şu adımları izleyin:
-
Windows 10 SDK'sını indirip yükleyin.
-
VBA Projelerini Dijital olarak İmzalama için Microsoft Office Konu Arabirimi Paketlerinden Officesips.exe indirin.
-
Dosyaları imzalamak ve dosyalardaki imzaları doğrulamak için Msosip.dll ve Msosipx.dll kaydedin ve Offsign.bat çalıştırın. Ayrıntılı adımlar, Officesips.exe yükleme klasöründeki Readme.txt dosyasına eklenir.
Not: Offsign.bat çalıştırdığınızda "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86" klasöründeki SignTool'un x86 sürümünü kullanın.
İlke ayarını etkinleştir: "Yalnızca V3 imzaları kullanan VBA makrolarına güven"
V3 imzalarına yükseltmeyi tamamladıktan sonra, yalnızca V3 imza imzalı dosyalara güvenildiğinden emin olmak için Yalnızca V3 imzaları kullanan VBA makrolarına güven ilke ayarını etkinleştirmenizi öneririz.
Bu ilke ayarı grup ilkesi veya Office Bulut İlkesi Hizmeti'nde kullanılabilir. Kullanıcı Yapılandırması\İlkeler\Yönetim Şablonları\Microsoft Office 2016\Güvenlik Ayarları\Güven Merkezi'nde bulunur. Bu ayar etkinleştirilirse, Office dosyalarda dijital imzayı doğruladığında yalnızca V3 imzası geçerli kabul edilir. VBA dosyalarındaki önceki biçimli imzalar yoksayılır.