Geçen hafta Nevada, Las Vegas'taki tanınmış DEF CON güvenlik toplantısında, Mac siber güvenlik araştırmacısı Patrick Wardle ortaya bir "kök alma" ayrıcalık yükselmesi Mac için Zoom'da (EoP) hatası:
Bana gelen herkese Mahalo @defcon “Sen Köklüsün” hakkında konuş 🙏🏽
Zoom'da (macOS için) yerel bir özel güvenlik açığından bahsetmek (& canlı demo 😅) için can atıyordum.
Şu anda yama yok 👀😱
Tüm ayrıntıları ve PoC istismarını içeren slaytlar: https://t.co/viee0Yd5o2 #0day pic.twitter.com/9dW7DdUm7P
- patrick wardle (@patrickwardle) Ağustos 12, 2022
Wardle, konuşmasını takip eden tweet'te [2022-08-12] şunları kaydetti:
Şu anda hiçbir yama yok [:ALARM EMOJİSİNİ GÖSTEREN KIZARTMA YUMURTA GÖZLERİ:] [:EDVARD MUNCH SCREAM EMOJİ:]
Zoom, ertesi gün duyurulan kusur için hemen bir yama üzerinde çalıştı. Yakınlaştırma güvenlik bülteni ZSB-22018, bir tebrik kazanmak cevap süreçte Wardle'dan:
(İnanılmaz derecede) hızlı düzeltme için Mahalos'tan @Zoom'a! [:İKİM ELLERİNİ KUTLAMADA KALDIRDI VE EMOJİ HAKKINDA KıpIRDI:] [:PALMS MANEVİ İYİ NİYET EMOJİSİ İŞARETİ OLARAK BİRLİKTE BASTIRILDI:]
Sıfır gün ifşası
Zoom'un hata için bir yama yayınlayabildiği görünür hız ve kolaylık göz önüne alındığında, CVE-2022-28756, muhtemelen Wardle'ın Zoom'a bu hatayı neden önceden söylemediğini merak ediyorsundur ve konuşma gününü ayrıntıları açıklamak için son tarih olarak belirlemiştir.
Bu, Zoom'a güncellemeyi birçok Mac kullanıcısına iletmesi için (veya en azından bunu inananların kullanımına sunması için) zaman verirdi. erken yama/sık sık yama), böylece Wardle'ın dünyaya hatayı nasıl kötüye kullanacağını açıklaması ile hatanın yamalanması arasındaki boşluğu ortadan kaldırır.
Aslında, Wardle, Zoom'u bu hata ve ayrıca birkaç ay önce Zoom'un otomatik güncelleme sürecindeki bir dizi birbirine bağlı kusur hakkında uyarmak için elinden gelenin en iyisini yapmış gibi görünüyor.
Wardle, hata açıklama zaman çizelgesini şurada açıklıyor: DEF CON konuşmasından slaytlarve keşfettiği kusurlarla ilgili bir Zoom güncellemeleri akışını listeler.
İki taraflı kılıç
Wardle'ın tartıştığı hatalar genel olarak Zoom'un otomatik güncelleme mekanizmasıyla ilgiliydi; bu, herhangi bir yazılım ekosisteminin bir parçası olan ve biraz iki ucu keskin bir kılıç - normal bir kılıçtan daha güçlü bir silah, ancak buna bağlı olarak güvenli bir şekilde ele alınması daha zor.
Otomatik güncelleme, kritik yamaların daha kolay ve hızlı dağıtılmasını sağladığı ve böylece kullanıcıların siber güvenlik açıklarını güvenilir bir şekilde kapatmasına yardımcı olduğu göz önüne alındığında, herhangi bir modern istemci uygulamasında olmazsa olmaz bir bileşendir.
Ancak otomatik güncelleme, özellikle güncelleme aracının kendisinin tipik olarak kök düzeyinde sistem erişimine ihtiyaç duyması nedeniyle, beraberinde bir dizi risk getirir.
Bunun nedeni, güncelleyicinin işinin uygulama yazılımının üzerine yazmak (normal bir kullanıcının yapmaması gereken bir şey) ve belki de yapılandırma veya diğer sistem düzeyinde değişiklikler yapmak için ayrıcalıklı işletim sistemi komutları başlatmak olmasıdır.
Diğer bir deyişle, geliştiriciler dikkatli olmazlarsa, temel uygulamalarını güncel ve daha güvenli tutmalarına yardımcı olan araç, saldırganların güncelleyiciyi sistem ayrıcalıklarıyla yetkisiz komutlar çalıştırması için kandırarak güvenliği bozabilecekleri bir köprü noktası haline gelebilir. .
Özellikle, otomatik güncelleme programlarının aşağıdakileri doğrulamaya özen göstermesi gerekir. gerçeklik Saldırganların yalnızca eklenen kötü amaçlı yazılımlarla birlikte sahte bir güncelleme paketi beslemesini engellemek için indirdikleri güncelleme paketlerinin sayısı.
Ayrıca muhafaza etmeleri gerekir bütünlük yerel bir saldırganın, indirilme ve etkinleştirilme arasındaki kısa sürede yeni indirilen "doğrulanmış güvenli" güncelleme paketini gizlice değiştirememesi için, nihayetinde tükettikleri güncelleme dosyalarının sayısı.
Orijinallik kontrolünden kaçınma
Wardle'ın kitabında açıkladığı gibi kâğıt, keşfettiği ve ifşa ettiği hatalardan biri, Zoom'un otomatik güncelleyicisinin az önce indirdiği güncelleme paketinin gerçekliğini doğrulamaya çalıştığı, yukarıda listelenen ilk adımdaki bir kusurdu.
İndirmenin dijital imzasını doğrudan doğrulamak için resmi macOS API'lerini kullanmak yerine, Zoom geliştiricileri, macOS yardımcı programını çalıştırarak kimlik doğrulamasını dolaylı olarak yapmaya karar verdi. pkgutil --check-signature
arka planda ve çıktının incelenmesi.
İşte bir örnek pkgutil
çıktı, eski bir sürümünü kullanarak Zoom.pkg
yazılım paketi:
$ pkgutil --check-signature Zoom.pkg Paket "Zoom.pkg": Durum: Apple tarafından dağıtım için verilen bir geliştirici sertifikası tarafından imzalandı Güvenilir bir zaman damgasıyla imzalandı: 2022-06-27 01:26:22 +0000 Sertifika Zinciri : 1. Geliştirici Kimliği Yükleyici: Zoom Video Communications, Inc. (BJ4HAAB9B3) Sona Erme: 2027-02-01 22:12:15 +0000 SHA256 Parmak İzi: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AE 01 C2 EF 1F 2E AE FB 9F 5C A6 80 48 A4 76 60 FF B5 F0 57 BB 8C ----------------------------------- ------------------------------------- 2. Geliştirici Kimliği Sertifika Yetkilisinin Süresi Sona Eriyor: 2027-02-01 22:12:15 +0000 SHA256 Parmak izi: 7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 F2 9C 88 CF B0 B1 BA 63 58 7F -------- -------------------------------------------------- -------------- 3. Apple Root CA'sının Geçerlilik Süresi: 2035-02-09 21:40:36 +0000 SHA256 Parmak İzi: B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 68 C5 BE 91 B5 A1 10 01 F0 24
Ne yazık ki, Wardle, Zoom'un imza doğrulama kodunu çözerken keşfettiği gibi, Zoom güncelleyici dosyayı işlemedi. pkgutil
verileri, insan gözlemcilerin yapacağı gibi.
Çıktıdaki kullanışlı görsel diziyi izleyerek çıktıyı kontrol ederdik.
İlk önce istenen durumu arardık, örn. signed by a developer certificate issued by Apple for distribution
.
Sonra alt başlığı bulurduk Certificate Chain:
.
Son olarak, zincirin doğru sırayla şu üç imzalayandan oluştuğunu kontrol ederdik:
1. Zoom Video Communications, Inc. 2. Geliştirici Kimliği Sertifika Yetkilisi 3. Apple Root CA
Şaşırtıcı bir şekilde, Zoom'un kodu, yukarıdaki üç dizenin her birinin (Zoom'un kendi benzersiz kimliğini kontrol etmeden bile) doğruladığını doğruladı. BJ4HAAB9B3
) ortaya çıktı bir yerde çıkışta pkgutil
.
Yani, saçma ama geçerli bir ada sahip bir paket oluşturmak, örneğin Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg
paket doğrulayıcıyı, aradığı "kimlik dizelerini" bulması için kandırırdı.
Tam paket adı, pkgutil
Zoom'un talihsiz “doğrulayıcısının” çıktının yanlış kısmındaki üç metin dizesiyle eşleşeceği ilk satırdaki çıktı başlığı.
Böylece “güvenlik” kontrolü önemsiz bir şekilde atlanabilir.
Kısmi düzeltme
Wardle, Zoom'un bu hatayı bildirdikten sonra yedi aydan fazla bir süre sonra DEF CON zamanında düzelttiğini söylüyor…
…ama yamayı uyguladıktan sonra, güncelleme sürecinde hala bir boşluk olduğunu fark etti.
Güncelleyici doğru olanı yapmaya çalıştı:
- 1. İndirilen paketi root'un sahip olduğu dizine taşıyın, ve bu nedenle teorik olarak herhangi bir normal kullanıcı için sınırsızdır.
- 2. İndirilen paketin kriptografik imzasını doğrulayın, resmi API'leri kullanarak, metinle eşleşen bir geçiş noktası aracılığıyla değil
pkgutil
çıktı. - 3. İndirilen paket dosyasını arşivden çıkarın, sürüm numarasını doğrulamak, sürüm düşürme saldırılarını önlemek için.
- 4. İndirilen paket dosyasını kurun, otomatik güncelleme işleminin kök ayrıcalıklarını kullanarak.
Ne yazık ki, güncelleme paketini depolamak için kullanılan dizin root'a ait olsa da, onu, kullanılırken güncelleme dosyasını bozmaya çalışan meraklı kullanıcılardan korumak amacıyla…
…yeni indirilen paket dosyası yeni konumunda “dünya çapında yazılabilir” hale getirildi (root tarafından değil normal bir hesap tarafından indirilmiş olmanın bir yan etkisi).
Bu, yerel saldırganlara güncelleme paketini değiştirmeleri için bir boşluk verdi sonra dijital imzası doğrulandı (2. adım), etkilemeden sürüm kontrolü ayrıntıları (3. adım), ancak hemen önce yükleyici, kök ayrıcalıklarıyla işlemek için paket dosyasının kontrolünü aldı (4. adım).
Bu tür bir hata olarak bilinir yarış kondisyonu, çünkü saldırganların kurulum başlamadan hemen önce eve varmaları ve bu nedenle kötü niyetli değişikliklerini hemen öncesinde gizlice yapabilmeleri için bitişlerini zamanlamaları gerekir.
Ayrıca kulağa egzotik gelen kısaltmanın bahsettiği bu tür güvenlik açığını da duyacaksınız. TOCTOUiçin kısa kontrol zamanı-kullanım zamanı, gerçeklerinizi çok önceden kontrol ederseniz, onlara güvendiğiniz zaman güncelliğini yitirmiş olabileceğinin açık bir hatırlatıcısı olan bir isim.
TOCTOU sorunu, Birleşik Krallık'taki araç kiralama şirketlerinin, 10 yıl öncesine kadar verilmiş olabilecek ve o zamandan bu yana çeşitli nedenlerle askıya alınmış veya iptal edilmiş olabilecek ehliyetinizi artık sadece görmek istememesidir. sizin tarafınızdan güvenli olmayan veya yasadışı sürüş. Fiziksel ehliyetinizin yanı sıra, potansiyel TOCTOU boşluğunu 21 yıldan sadece üç haftaya düşürmek için son 10 gün içinde verilmiş bir defalık alfanümerik "son geçerlilik kanıtı" kodunu da sunmanız gerekir.
Düzeltme şimdi
Wardle'a göre Zoom, yukarıdaki 1. adımda kopyalanan güncelleme paketi dosyasındaki erişim haklarını değiştirerek bu hatayı önledi.
İmza denetimi, sürüm doğrulama ve son kök düzeyinde yükleme için kullanılan dosyaya artık her zaman yalnızca kök hesap erişimiyle sınırlıdır.
Bu, yarış koşulunu kaldırır, çünkü ayrıcalığı olmayan bir saldırgan dosyayı 2. adımın sonu arasında değiştiremez (doğrulama başarılı) ve 4. adımın başlangıcı (kurulum başlar).
Sistemi size root erişimi vermesi için kandırmak amacıyla paket dosyasını değiştirmek için, zaten root erişimine sahip olmanız gerekir, böylece ilk etapta bu tür bir EoP hatasına ihtiyacınız olmaz.
TOCTOU sorunu uygulanmaz, çünkü 2. adımda yapılan denetim, dosyanın kullanımı başlayana kadar geçerli kalır ve denetimi geçersiz kılmak için hiçbir fırsat penceresi bırakmaz.
Ne yapalım?
Mac'te Yakınlaştırma kullanıyorsanız, uygulamayı açın ve ardından menü çubuğunda şuraya gidin: zoom.us
> Check for Updates...
Bir güncelleme varsa, yeni sürüm gösterilecektir ve [Install]
yamaları uygulamak için:
İstediğiniz sürüm 5.11.5 (9788) veya sonrası.
- blockchain
- zeka
- cryptocurrency cüzdanlar
- kripto değişimi
- CVE-2022-28756
- siber güvenlik
- siber suçluların
- Siber güvenlik
- iç güvenlik bakanlığı
- dijital cüzdanlar
- güvenlik duvarı
- Kaspersky
- macos
- kötü amaçlı yazılım
- Mcafee
- Çıplak Güvenlik
- NexBLOC
- OS X
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- VPN
- güvenlik açığı
- Wardle
- web sitesi güvenliği
- zefirnet
- yakınlaştırma