Windows 10 IoT Core uzaktan komut yürütme güvenlik açığı doğrulaması ve önerileri

I. Genel Bakış

Kısa süre önce Antiy Microelectronics ve Embedded Security Ar-Ge Departmanı (Antiy Micro Embedded), SafeBreach tarafından açıklanan Windows IoT işletim sisteminin güvenlik açıklarının ayrıntılı bir analizini ve doğrulamasını gerçekleştirdi. Saldırganlar, uzaktan komut çalıştırma, dosya yükleme / indirme vb. Gibi hedef cihaz üzerinde tam kontrol elde etmek için bu güvenlik açığını kullanabilir. Bu bağlamda Antiy Micro Embedded, SafeBreach tarafından GitHub'da açıklanan güvenlik açığının ilkesini ve POC'sini analiz etmek ve doğrulamak, güvenlik açığının kapsamını doğrulamak ve farklı uygulama senaryoları için ilgili korumaları sağlamak için bir analiz ekibi kurdu. Önermek.

1.1 Windows IoT sistemine giriş

Windows, Linux'tan sonra IoT pazarındaki en büyük ikinci sistemdir.Windows IoT Core, akıllı ev, akıllı tıp, akıllı şehir ve akıllı lojistik gibi birçok alanı kapsayan Nesnelerin İnterneti için temel işletim sistemi sürümüdür. Windows IoT, IoT Core ve IoT Enterprise sürümlerine ayrılmıştır ve Windows IoT Core, Stok Görüntü ve Özel Görüntü olmak üzere iki sürüme ayrılmıştır. Bunlar arasında, Hazır Görüntü sürümü, geliştirme ve donanım uyumluluğunu test etme amacıyla ilgili arabirimleri içeren Test Görüntüsü sürümü olarak da adlandırılır.

Şu anda Windows IoT Core sistemi tarafından desteklenen donanım platformları şunları içerir: Qualcomm DragonBoard 410c, Raspberry Pi 2, Raspberry Pi 3B, MinnowBoard Turbot, Aaeon Up Squared.

1.2 HLK çerçevesine ve Sirep protokolüne giriş

HLK (Hardware Lab Kit), donanım aygıtları ile ilgili sürücüler ve Windows sistemleri arasındaki uyumluluğu test etmeye yönelik bir test çerçevesidir. PC tarafı yazılımı HLK Studio, test çerçevesinin Sunucu bölümünü içerir ve test ekipmanı, test çerçevesinin İstemci bölümünü içerir. Kullanıcılar, HLK Studio'da test senaryolarını seçebilir ve test için test edilecek cihaza gönderebilir. Temel uygulamada, HLK Studio yazılımı, Sirep protokolü aracılığıyla test edilen cihazla etkileşime girer. HLK Sunucusu ile HLK İstemcisi arasındaki ilişki Şekil 1-1'de gösterilmektedir:

Şekil 1-1 HLK Sunucusu ile HLK İstemcisi arasındaki ilişki

Sirep protokolünü uygulayan DLL dosyası, Windows IoT Core sisteminin C: \ .. \ testingirepsvc.dll konumunda bulunur. DLL, HLK Studio ile Windows IoT Core sistemi arasındaki iletişim işlevini uygular ve Windows IoT Core'a teslim etmek için HLK Studio'yu çalıştırır Görevleri ve diğer işlevleri test edin. Sirep protokolünün kendisi aşağıdaki işlevleri yerine getirir:

Windows IoT Core sistem bilgilerini edinin;

Windows IoT Core sistem komutlarını yürütün;

Windows IoT Core sistemindeki dosyaları indirin;

Windows IoT Core sistemine dosya yükleyin;

Windows IoT Core sisteminde dosya öznitelik bilgilerini alın.

2. Etki kapsamı

Genel bilgilere ve analiz ekibinin gerçek doğrulamasına göre, güvenlik açığı şu anda esas olarak Windows IoT Core'un Stok / Test Görüntüsü sürümünü etkiliyor. Geliştirici veya üretici, piyasaya sürülen son üründe sistemin Stok / Test Resmi sürümünü kullanıyorsa ve ürünün kablolu bir bağlantı senaryosu varsa, bu sefer açıklanan güvenlik açığından etkilenecektir. Özel sürümü oluşturmak için, CA'dan (Sertifika Yetkilisi) bir imzalama sertifikası satın almanız ve sertifikayı sistemin Özel sürümünü imzalamak için kullanmanız gerekir.Zaman kısıtlamaları nedeniyle, analiz ekibi Windows IoT sisteminin Özel sürümünü henüz doğrulamamıştır.

Üç, güvenlik açığı analizi

Bu analiz işlemi, doğrulama ortamı olarak Raspberry Pi 2B ve Windows IoT Core (17763) sürümünü kullanır. Cihaz bağlantı şeması Şekil 3-1'de gösterilmiştir:

Şekil 3-1 Cihaz bağlantısının şematik diyagramı

Öncelikle Windows IoT Core sistemi ile bir TF kartı yapmak için Windows 10 IoT Core Dashboard yazılımını kullanabilir, ardından TF kartını Raspberry Pi'ye takabilir, Raspberry Pi'yi bir ağ kablosuyla bağlayabilir ve açtıktan sonra sistemi başlatabilirsiniz. Sistem başlatıldıktan sonra, Windows 10 IoT Core Dashboard yazılımı yerel alan ağındaki Windows IoT cihazlarını otomatik olarak keşfedebilir, uzaktan PowerShell çalıştırabilir ve uygulama yazılımını cihazlara dağıtabilir. Ancak bu işlemlerin normal olarak kullanılmadan önce Windows IoT sistem yöneticisi hesabını ve parola kimlik doğrulamasını geçmesi gerekir.

Sirep protokolünü uygularken, testirepsvc.dll kodu, 29817, 29819 ve 29820 bağlantı noktalarını izlemek için TCP Soket hizmet programını kullandı ve kodda alınan isteklerde uygun izin kontrolleri gerçekleştirmedi ve bu da yetkisiz erişime neden oldu Bu durumda Sirep protokolü tarafından gerçekleştirilen işlevler yürütülebilir.

Testirepsvc.dll'de, uzak isteklerde izin denetimi uygulayan işlevin adı şöyledir:

ControllerWSA :: IsConnectionAllowed

Windows IoT Core sistemi çalıştıktan sonra, DLL dosyası U diski üzerinden analizöre kopyalanabilir ve işlevi uygulayan montaj kodu, Şekil 3-2 ve Şekil 3-3'te gösterildiği gibi IDA kullanılarak görüntülenebilir:

Şekil 3-2 ControllerWSA :: IsConnectionAllowed işlev kodu pasajı 1

Şekil 3-3 ControllerWSA :: IsConnectionAllowed fonksiyon kodu pasajı 2

Yukarıdaki kod parçacığı, testirepsvc.dll'nin alınan isteğin izinlerini nasıl kontrol ettiğinin mantığını açıklar.Program mantığı yalnızca getsockname işlevi tarafından döndürülen SOCKADDR_IN veri yapısının kablolu ağ kartının IP adresi olup olmadığına karar verir, yani, testirepsvc.dll her şeyin kablolu ağdan geldiğini düşünür İsteklerin tümü yasal isteklerdir.Bu işlem, kullanıcının kimlik doğrulama için bir kullanıcı adı ve şifre girmesini gerektirmez.

Testirepsvc.dll'deki hizmet programı, HLK Studio tarafından gönderilen komut verilerini aldıktan sonra, SirepPipeServiceRoutine işlevi aracılığıyla bölünecektir.Bu işlevde, farklı komutlar, komut türü alanı aracılığıyla yürütülmek üzere farklı işlevlere bölünecektir. Farklı komut türleri Karşılık gelen yürütme işlevi adları şunlardır:

SirepGetSystemInformationFromDevice; SirepPutFileOnDevice; SirepGetFileFromDevice; SirepGetFileInformationFromDevice; SirepLaunchWithOutput

Komut dağıtım sürecini uygulayan SirepPipeServiceRoutine işlevinin montaj kodu Şekil 3-4'te gösterilmektedir:

Şekil 3-4 SirepPipeServiceRoutine fonksiyonu komutu şönt kodu

Dördüncü olarak, POC yürütme doğrulaması

Analiz ekibi, Raspberry Pi 2B ve Windows IoT Core (17763) (Stok / Test Görüntüsü) aracılığıyla bir doğrulama ortamı oluşturdu ve genel POC'yi doğrulamak için yukarıdaki analiz sürecini birleştirdi.

Yüklenen dosyaların POC yürütme örnekleri Şekil 4-1 ve Şekil 4-2'de gösterilmektedir:

Şekil 4-1 POC yürütme dosyası yükleme örneği

Şekil 4-1'de gösterildiği gibi, POC, C: \ Windows \ System32 \ dizininde uploaded.txt adlı bir dosya oluşturur ve dosyanın içeriği "Merhaba Windows IoT!" Dir.

Şekil 4-2 Dosyaları yükleme sonucunu görüntüleme

Şekil 4-2'de gösterildiği gibi, Şekil 4-1'de gösterilen POC komutunu çalıştırdıktan sonra, C: \ Windows \ System32 \ dizinindeki uploaded.txt adlı dosyanın içeriğini görüntülemek için cat komutunu kullanın.

Uzaktan yürütme sistemi komutu POC yürütme örneği Şekil 4-3'te gösterilmektedir:

Şekil 4-3 Uzaktan yürütme sistemi komutu POC yürütme örneği

Şekil 4-3'te gösterildiği gibi, POC uzaktan komut yürütme uygular, hedef cihazda ana bilgisayar adı komutunu yürütür ve komut yürütme sonucunu, yani "minwinpc" döndürür.

Doğrulamanın ardından, SafeBreach güvenlik araştırmacıları tarafından açıklanan POC, dosyaları yükleyebilir ve Windows IoT Core sisteminin Stok / Test Görüntüsü sürümüne sistem komutlarını çalıştırabilir.Windows IoT Core sisteminin Stok / Test Görüntüsü sürümü ciddi güvenlik risklerine sahiptir.

Beş, koruma önerileri

Bu kez doğrulanan güvenlik açıkları, etkilenen sistem cihazlarında yetkilendirme olmadan dosya yüklemek ve sistem komutlarını yürütmek gibi yüksek riskli eylemler yürütebilir.Kötü amaçlı yazılım, cihazı kolayca ele geçirebilir ve botnet'e üye olabilir ve bu güvenlik açığını kullanarak ağı başlatan bir bilgisayar korsanı olabilir. Saldırı silahlarından biri; ekipman, bilgisayar korsanları tarafından da kontrol edilebilir ve madenciliğin bir parçası olabilir; aynı zamanda, IoT ekipmanı çeşitli endüstrilerde kullanıldığından, bir kez kontrol edildiğinde, en doğrudan şey ekipmanın normal çalışmasını etkilemek ve ardından üretimi ve yaşamı etkilemektir; aynı zamanda; Bilgisayar korsanları, cihazı, virüs aktarımı, istihbarat hırsızlığı ve ağ imhası gibi tehlikeli davranışları gerçekleştirmek için IoT cihazının bulunduğu ağı daha fazla istila etmek için sıçrama tahtası olarak da kullanabilir ve hedef ağ için ciddi bir tehdit oluşturabilir.

Bu doğrulamadaki güvenlik açığı yalnızca Stok / Test Görüntüsü sürümünün Windows IoT Çekirdek sistemi için geçerli olsa da, Özel sürümün oluşturulması Sertifika Yetkilisinden (CA) bir imzalama sertifikası satın almayı ve Özel sürümün sistemini imzalamak için sertifikayı kullanmayı gerektirdiğinden, üretici Maliyet veya diğer hususlar için, Windows IoT Core sisteminin Stok / Test Görüntüsü sürümü doğrudan ürün yayınlaması için kullanılır; bu, Windows IoT Core sistemi IoT cihazlarının Stok / Test Görüntüsü sürümünün tedarik zincirinde yaygın olarak kullanılmış olabileceği anlamına gelir. Ek olarak, IoT cihazlarının ürün yazılımını gerçek uygulama senaryolarında yükseltmek zordur ve kolayca gözden kaçabilir.

Yukarıdaki duruma dayanarak, güvenlik açıklarının neden olduğu tehditleri etkin bir şekilde azaltmak, ürün güvenliğini iyileştirmek, ürünün bulunduğu ağın güvenlik koruma yeteneklerini etkin bir şekilde iyileştirmek ve müşteri değerini garanti etmek için, güvenlik açıklarının analizini ve doğrulanmasını birleştirerek üç güvenlik önerisi veriyoruz. detaylar aşağıdaki gibidir:

Öneri 1: Gerçek ürün lansman süreci, Ar-Ge, test ve yayınlama süreci spesifikasyonlarının resmi gereksinimlerini sıkı bir şekilde takip etmelidir.Gerçek ürün sürüm sistemi olarak Windows IoT sisteminin Stok / Test Resmi yerine Özel Görüntü kullanın, bu da etkili bir şekilde önlenebilir veya Diğer keşfedilmemiş Stok / Test Görüntüsü sürüm sistem güvenlik açıklarının etkisi.

Öneri 2: Bu güvenlik açığıyla ilgili hizmetler, 29817, 29819 ve 29820 numaralı üç bağlantı noktasını kullanır ve ilgili hizmetler, gerçek ürün tarafından kullanılan işlevler değil, yalnızca Ar-Ge aşamasındaki uyumluluk testi için kullanılır. Ürün yazılımının geçici olarak yükseltilememesi durumunda ve gerçek ürünün, ilgili bağlantı noktası kapatıldıktan sonra cihazın normal kullanımını önlemek için ilgili bağlantı noktasına dayanan işlevlere sahip olmadığından emin olmak için, Windows IoT Core sistem güvenlik duvarında uyumluluk testi hizmetini geçici olarak ayarlayabilirsiniz. Kullanılan üç bağlantı noktası 29817, 29819 ve 29820'nin engellenmesi de bu sefer açıklanan güvenlik açığının etkisini geçici olarak önleyebilir. Ancak, bu veya diğer keşfedilmemiş Stok / Test Görüntüsü sürüm sistem güvenlik açıklarının etkisinden etkili bir şekilde kaçınmak için güvenlik açıklarını gidermek için üretici yazılımını mümkün olan en kısa sürede yükseltmek gerekir.

Windows IoT Core sistemindeki bağlantı noktasını geçici olarak engelleme komutu aşağıdaki gibidir:

Öneri 3: IoT cihazı tarafından uygulanan ve gerçek işletim ortamı ile birleştirilen fonksiyonların teknik özelliklerine göre, cihaza erişebilen IP listesini, port listesini, erişim protokol tipini ve cihazın aktif olarak bağlanabileceği protokol tipini, IP listesini ve port listesini sıralayın. , Tarama sonuçlarıyla birleştirildiğinde, IoT cihazlarının erişim güvenliğinin korunmasını en üst düzeye çıkarabilen ilgili çift yönlü IP adresini, bağlantı noktası ve protokol beyaz listesi erişim kuralı listesini yapılandırmak için sınır güvenlik duvarı ürünlerini veya cihaza özgü güvenlik duvarı ürünlerini kullanın. Bu yöntem, IoT cihazlarının erişim güvenliğini etkin bir şekilde garanti altına alabilir ve güvenlik açıklarından yararlanma olasılığını azaltabilir, ancak güvenlik açıkları riskini ortadan kaldırmaz.Bu nedenle, bu veya diğer keşfedilmemiş Stok / Test Görüntüsü sürüm sistemlerinden etkili bir şekilde kaçınmak için güvenlik açıklarını gidermek için en kısa sürede ürün yazılımını yükseltin Güvenlik açığının etkisi.

Referans bağlantısı

SafeBreach: https://safebreach.com/News-Post/SafeBreach-Labs-Discloses-New-Microsoft-Windows-IoT-Core-Weakness-and-Exploit

Windows IoT: https://docs.microsoft.com/en-us/windows/iot-core/windows-iot-core

HLK Studio: https://docs.microsoft.com/en-us/windows-hardware/test/hlk/user/hlk-studio

Sirep protokolü ve Stok Görüntüsü: https://github.com/SafeBreach-Labs/SirepRAT/blob/master/docs/SirepRAT_RCE_as_SYSTEM_on_Windows_IoT_Core_White_Paper.pdf

Windows 10 IoT Core Panosu: https://docs.microsoft.com/en-us/windows/iot-core/connect-your-device/iotdashboard

İOOY: https://github.com/SafeBreach-Labs/SirepRAT

* Yazar: antiylab, FreeBuf.COM'dan yeniden basılmıştır.

Düşündüğünüzden daha kapsamlı, Lincoln MKX güvenlik yapılandırmasını ayrıntılı olarak deneyimleyin
önceki
Ülkeye kan sıçradı, insanlar cehennemden geldi - "Yu Hundred" ilk fragmanı yayınladı
Sonraki
Ford Explorer Sport resmi resmi, dört egzoz insanı blöf edebilir
Yakınlaşamazsın ama uzaklara saldıramazsın, ne yapabilirsin?
Savaş meydanında kimse yok, ama çıkarken bir parça çikolata aldım. "Alita: Savaş Meleği" gibisin.
Lei Feng'den öğrenen bu ilkokul öğrencileri grubu burada değil!
Diao Chan kimi seviyor? Kralın ihtişamında çözülmemiş beş gizem
Kobe botları çıktı mı? ! Adidas Crazy ADV serisinin vurulması yavaş!
Shaanxi Eyaleti 2017 üniversiteye giriş sınavı puanları açıklandı! Bir Bilim 449 Edebiyat ve Tarih 509
Beiqi Weiwang'ın yeni SUV beyan haritası, Saab X65 kardeş arabası
"Bohemian Rhapsody", yurtdışı ünlü ağızdan ağza özel 2018 küresel gişe rekorları kıran altıncı gişe rekorları kıran güçlü "açılış" ı ortaya koyuyor
GitHub neden bu kadar popüler? Sizin için bir rehber derledik!
Zafer Kralı, kuleyi kaldıran en hızlı biziz!
Yeni Nike Air Max Dokuma Çizme renk düzenine daha yakından bakın, aynı çifti bulamıyor musunuz? !
To Top