LoJax: Dolaşımda tespit edilen ilk UEFI rootkit; Sednit grubundan bir hediye!

Sonraki hikaye
ESET Araştırması 27.09.2018

UEFI rootkitler, tespit edilmelerinin zor olması, işletim sistemi yeniden yüklemeleri ve hatta sabit disk değişimleri gibi güvenlik önlemlerini dahi atlatabilmeleriyle, siber saldırılar gerçekleştirmek üzere kullanılan olağanüstü tehlikeli araçlar olarak görülmektedirler. Bazı UEFI rootkitlerin kavram ispatları olarak, bazılarının da devlet kurumlarının (en azından bazılarının) elinde bulundurulduğu bilinmektedir.  Ancak, hiçbir UEFI rootkit yaygın olarak tespit edilmemiştir; ta ki Sednit APT grubu tarafından bir kurbanın sistemine zararlı UEFI modülünün başarıyla yüklendiğini keşfetmemize kadar.

Dolaşımdaki ilk UEFI rootkitin tespit edilmesi iki sebepten ötürü oldukça önemli.  

Birincisi, bu UEFI rootkitlerin yalnızca ilgi çekici birer konferans konusu olmaktan öte, gerçek birer tehdit olduğunun göstergesi. 

İkincisi, özellikle Sednit'in hedefinde olabilecek kişiler için bu bir uyarı niteliğinde.  APT28, STRONTIUM, Sofacy ve Fancy Bear olarak da bilinen bu APT grubu, düşünülenden çok daha tehlikeli olabilir.  

UEFI rootkit kullanan Sednit kampanyasıyla ilgili analizimiz, 27Eylül 2018'de gerçekleştirilen Microsoft BlueHat konferansında ve "LoJax:  Dolaşımda tespit edilen ilk UEFI rootkit, Sednit grubuna teşekkürler" adlı makalemizde detaylı olarak açıklanmıştır.  Bu blog paylaşımında ana bulgularımızı özetleyeceğiz. 

Sednit grubunun en az 2004 yılından beri faaliyet gösterdiği ve geçtiğimiz yıllarda sıklıkla manşetlerde yer alan, geniş çaplı ve yüksek profilli saldırıların arkasında olduğu düşünülüyor.  Örneğin, ABD Adalet Bakanlığı bu grubu 2016 ABD seçimleri öncesindeki Demokratik Ulusal Komite (DNC) saldırısının sorumlusu olarak nitelendiriyor. Grubun ayrıca TV5Monde küresel televizyon ağının hacklenmesi, Dünya Anti-Doping Ajansı (WADA) e-postasızıntısı ve daha birçok eylemin arkasında olduğu tahmin ediliyor.  Grubun elinde, 2016'daki Sednit makalemizde örneklerini ortaya koyduğumuz çeşitli zararlı yazılım araçları bulunuyor. 

Araştırmalarımız, bu zararlının en az bir kez herhangi bir sistemin SPI flash memory belleğine kötü amaçlı UEFI modülü yazarak başarılı olduğunu belirlemiştir. Bu modül, önyükleme işlemi esnasında diske bir zararlı yazılım atayarak çalıştırabilmektedir. Yöntemin devamlılığı özellikle saldırgan nitelikte olduğundan bir işletim sistemi yeniden yüklemesinin yanı sıra, sabit disk değişimini de atlatabilmektedir.  Dahası, bir sistemin UEFI cihaz yazılımını temizlemek onu yeniden canlandırmak anlamına geldiğinden, bu işlemin tipik bir kullanıcı tarafından gerçekleştirilemeyeceği de aşikârdır. 

Araştırmalarımız Sednit operatörlerinin LoJax zararlı yazılımının farklı bileşenlerini kullanarak Balkanlar'da olduğu kadar Merkezi ve Doğu Avrupa'da da birkaç kamu kuruluşunu hedef aldığını ortaya koymuştur. 

LoJack, LoJax oluyor

Mayıs 2018'de yayınlanan bir Arbor Networks blog paylaşımında, Absolut Yazılımının küçük LoJack ajanı rpcnetp.exe'nın birkaç truva atı örneği incelenmiştir.  Bu zararlı örnekler, kodlanmış yapılandırma ayarları değiştirildiği için meşru Absolute Yazılımı sunucusu yerine kötü amaçlı bir C&C sunucusu ile iletişim kurmuştur. LoJax örneklerinde bulunan bazı alan adreslerine daha önce de rastlanmıştır; bunlar 2017 sonlarında ortaya çıkan meşhur Sednit ilk aşama arka kapısı SedUploader ile C&C alan adreslerinde kullanılmıştır.  Bu kampanyanın LoJack küçük ajanını kötü amaçlı kullanması sonucu, bu zararlı yazılıma LoJax adını verdik. 

LoJack bir anti-hırsızlık yazılımıdır.  Bu ajanın eski sürümleri Computrace olarak da bilinmektedir.  Eski adından da anlaşılacağı gibi, servis bir kez etkinleştirildiğinde bilgisayar C&C sunucusuyla iletişime geçecek ve sahibi konumundan haberdar edilerek cihazın kaybolması ya da çalınması durumunda bilgilendirilecektir. Computrace özellikle sahip olduğu alışılmadık kalıcılık yöntemiyle güvenlik çevrelerinin ilgisini çekmeyi başarmıştı.  Bu yazılımın amacı bir sistemi çalınmaya karşı korumak olduğundan, işletim sisteminin yeniden yüklenmesine veya sabit diskin değiştirilmesine karşı dayanıklı olması önemliydi.  Böylece, UEFI/BIOS modülü şeklinde uygulanarak bu gibi eylemlerden etkilenmeyebiliyordu.  Bu çözüm, pek çok OEM tarafından üretilen dizüstü bilgisayarlara dahili olarak yüklenerek sahipleri tarafından etkinleştirilmeyi bekliyor. 

LoJax'i araştırırken, bu tehdit aktörlerinin Computrace'in dayanıklılık yöntemini taklit etmeye çalıştıklarını işaret eden bazı ilginç olgulara rastladık. 

SPI flaş belleğini zararlı yazılımla yamalama

LoJax kampanyası tarafından hedef alınan sistemlerde, UEFI/BIOS ayarlarına erişerek onları yamalayabilen çeşitli araçlar bulduk.  UEFI/BIOS ayarlarına erişmek için hepsi RwDrv.sys çekirdek sürücüsünü kullanmaktaydı.  Bu çekirdek sürücüsü, web üzerinde ücretsiz elde edilebilen ve bir bilgisayarın PCI Express, Bellek, PCI Option ROM gibi düşük seviyedeki ayarlarına dair bilgileri okuyabilen RWEverything ile birlikte sunuluyordu.  Bu çekirdek sürücüsü meşru yazılıma ait olduğundan, geçerli bir kod imzalama sertifikası ile imzalanmıştır. 

Kullanılan LoJax ajanları arasında üç farklı türde araç bulunmuştur. İlki, düşük seviyedeki sistem ayarları hakkındaki bilgileri bir metin dosyasına aktaran araçtır.  Bir platform korumasını, meşru olmayan bir cihaz yazılımının güncellemelerine karşı devre dışı bırakmak yüksek derecede platform bağımlıdır; bir sistem platformuyla ilgili bilgi toplamak oldukça önemlidir. İkinci aracın amacı, UEFI/BIOS bilgilerinin yer aldığı SPI flaş belek içeriğini okuyarak sistem cihaz yazılımının imajını bir dosyaya kaydetmektir. Üçüncü aracın amacı, cihaz yazılım imajına zararlı UEFI modülünü ekleyerek tekrar SPI flaş belleğine yazmak ve UEFI rootkitin etkili bir şekilde sisteme yüklenmesini sağlamaktır. Bu yama aracı, yanlış yapılandırılmış platformları istismar etmek ya da SPI flaş bellek korumasını devre dışı bırakmak üzere farklı teknikler kullanmaktadır. Bir sonraki şekilde gösterildiği gibi, eğer platform SPI flaş belleğinde işlem yazmaya izin verseydi, devam ederek yazacaktı. İzin vermediği takdirde, bilinen bir güvenlik açığına karşı bir istismar aracı uygular. 

Cihaz yazılım imajına eklenen UEFI rootkitin tek bir amacı vardır: kullanılacak zararlı yazılımı Windows işletim sistemi bölümüne bırakarak sistem başlatıldığında yürütülmesini sağlamak.

Kendinizi nasıl koruyacaksınız?

Sednit UEFI rootkit'i tam anlamıyla imzalanmış değil, bu nedenle bu tip bir saldırıyı engelleyebilecek ilk güvenlik mekanizması Secure Boot olacaktır. Secure Boot etkinleştirildiğinde, cihaz yazılımı tarafından yüklenen her bir cihaz yazılım bileşeni uygun bir şekilde imzalanmalıdır; böylece cihaz yazılımının bütünlüğü sağlanmış olur. Etkinleştirmenizi şiddetle öneririz. Bu, UEFI cihaz yazılımını hedefleyen saldırılara karşı temel savunmadır ve sisteminizin UEFI ayarlarından başlatma işlemi sırasında etkinleştirilebilir. 

Sistem cihaz yazılımının güncellenmesi, kötü amaçlı aktörler için geçiştirilecek bir şey değildir.  Platform tarafından sistem SPI flaş belleğine izinsiz yazma işlemlerini engellemek amacıyla farklı koruma yöntemleri uygulanmaktadır. Yukarıda bahsedilen araç, yalnızca SPI flaş bellek koruması bir güvenlik açığına sahipse veya yanlış yapılandırıldıysa sistem cihaz yazılımını güncelleyebilir. Bu nedenle, anakartınız için en güncel UEFI/BIOS sürümünü kullandığınızdan emin olmalısınız. Ayrıca, istismar edilen güvenlik açığı yalnızca eski çipleri etkilediğinden, kritik sistemlerin Platform Controller Hub (2005 yılında Intel Series 5 çip setleriyle piyasaya sürülen) özelliğine sahip modern çip setlerine sahip olduğundan emin olun. 

Ne yazık ki, hevesli son kullanıcı için bir sistemin cihaz yazılımını güncellemek gerektiği gibi yapılabilecek bir görev değildir. Bu noktada cihaz yazılımı güvenliği çoğunlukla UEFI/BIOS üreticilerinin eline geçmektedir. Platform tarafından sağlanan güvenlik mekanizmaları, gerçekten koruma sağlamak için sistem cihaz yazılımı tarafından gerektiği gibi yapılandırılımalıdır. Cihaz yazılımı mutlaka güvenlik gözetilerek sıfırdan inşa edilmelidir. Neyse ki, her geçen gün daha fazla güvenlik araştırmacısı cihaz yazılım güvenliğine eğildiğinden, bu alandaki gelişime olan katkı, UEFI/BIOS üreticilerinin farkındalığını da artırmaktadır. 

UEFI cihaz yazılımı tabanlı sıkıntılara karşı iyileştirmeler yapılabilmesi büyük bir sorundur.  Böyle bir tehditi sistemden otomatik olarak kaldırmanın kolay bir yolu yoktur.  Yukarıda açıkladığımız durumda, rootkit'in temizlenmesi için, SPI flaş belleğin anakarta özel yeni ve temiz bir cihaz yazılım imajıyla yeniden ayağa kaldırılması gerekmektedir.  Bu, manuel şekilde yapılması gereken hassas bir işlemdir. Kesinlikle çoğu bilgisayar sahibinin aşina olmadığı bir uygulamadır. UEFI/BIOS için yeniden canlandırma işlemine tek alternatif, etkilenen sistemin anakartını doğrudan değiştirmektir. 

Sednit APT grubu bağlantıları

Yukarıda belirtildiği gibi, LoJax küçük ajan C&C sunucularından bazıları geçmişte ilk aşamada rutin Sednit operatörleri tarafından kullanılan bir arka kapı olan SedUploader tarafından kullanılmıştır. Ayrıca, LoJax'in sisteme dahil olduğu durumlarda, diğer Sednit araçlarının izleri asla çok uzakta değildir. Aslında, LoJax tarafından hedeflenen sistemler genelde aşağıdaki Sednit zararlı yazılımına ait 3 örnek işaret göstermektedir:

·      SedUploader, bir ilk aşama arka kapısı

·      XAgent, Sednit amiral gemisi niteliğindeki arka kapısı

·      Xtunnel; internetteki bir C&C sunucusuyla yerel ağ içerisindeki bir uç nokta bilgisayarı arasındaki ağ trafiğini yedekleyen bir ağ proxy aracı. 

Bu gerçekler, Lojax ile Sednit grubunu güvenle ilişkilendirebilmemizi sağlıyor. 

Sonuç

Sednit grubunu izlediğimiz yıllar boyunca, sıfır gün kullanımından geliştirdikleri Zebrocy gibi özel zararlı yazılımlara kadar faaliyetlerinin pek çoğunu rapor eden yayınlar yaptık.  Ancak yukarıda açıklanan UEFI rootkit ise başlı başına bir konu. 

LoJax kampanyası, yüksek değere sahip hedeflerin sık görülmeyen, eşsiz tehditlerin uygulanması için öncelikli adaylar olduğunu ve bu hedeflerin her zaman saldırılara yönelik işaretlere dikkat etmeleri gerektiğini göstermektedir. Ayrıca, bu araştırma bize her zaman en derine kadar kazmamız gerektiğini öğretmektedir. 

Uzlaşma Göstergelerinin (IOC) ve örneklerin tam listesi GitHub'da görülebilir.