"Bu grafikte yer alan tüm teknolojiler kullanımdan kaldırılırsa bilgisayar güvenliği sorunlarının yaklaşık %80'i çözülecek"
(twitter.com/matthew_d_green)- OOXML, RTF, OLE, CHM, VBScript gibi çok sayıda eski Windows dosya biçimi ve özelliğinin zincirleme kötüye kullanılmasıyla nihai PEAPOD Payload'a kadar uzanan çok aşamalı saldırı akışının şeması
- Uzaktan barındırılan OOXML, gömülü afchunk.rtf dosyasını çağırıyor; içindeki OLE Objects ise harici kaynak bağlantısı ve kimlik bilgisi sızıntısının başlangıç noktası
- Saldırı sürecinde NTLM Credentials, saldırganın kontrolündeki SMB Server'a gönderiliyor;
.search-msdosyası ve%LocalAppData%içine yazılan ZIP üzerinden kötü amaçlı dosyanın yerleştirildiği yol - Grafikteki tüm teknolojiler kullanımdan kaldırılırsa güvenlik sorunlarının yaklaşık %80'i giderilir; Windows fiilen "her şey için bir kötü amaçlı yazılım uyumluluk katmanı"
- Microsoft'un meşru ticari nedenlerle eski teknolojileri kaldıramaması ile bu yığın üzerinde hiçbir yüksek değerli sistemin asla güvenli olamayacağı yönündeki birbiriyle uyumlu teşhis
1. aşama — Belgeye giriş ve kimlik bilgisi sızıntısı
- Uzaktan barındırılan OOXML belgesi, XML üzerinden gömülü afchunk.rtf dosyasını yüklüyor
- afchunk.rtf içinde iki OLE Objects bulunuyor ve bunlar harici bağlantı ile kimlik bilgisi hırsızlığı için ayrım noktası görevi görüyor
- OLE Objects,
/MSHTML_C7/start.xmlbağlantısına yönleniyor - OLE Objects, NTLM Credentials'ı çekip saldırganın kontrolündeki SMB Server'a gönderiyor
- OLE Objects,
file001.urlde aynı SMB Server'ı işaret ediyor
2. aşama — XSLT ve iframe üzerinden geçiş
/MSHTML_C7/start.xml, XSLT format içindekistart.xmldosyasına uzanıyor- start.xml(XSLT), RFile.asp'ye bağlanıyor
- RFile.asp iki iframe oluşturuyor; bu iframe'ler de tekrar saldırganın kontrolündeki SMB Server'a bağlanıyor
3. aşama — SMB Server üzerinden dosya teslimi
- SMB Server,
[somehex]_file001.htmdosyasını iletiyor [somehex]_file001.htm, .search-ms dosyasına uzanıyor; bu dosya da%LocalAppData%içine yazılan bir ZIP'i tetikliyor[somehex]_file001.htm,redir_obj.htmdalına da ayrılıyor; redir_obj.htm,1111.htmdosyasını yüklüyor (loads)
4. aşama — ZIP'in açılması ve yükün çalıştırılması
%LocalAppData%içine yazılan ZIP içinde2222.chmve1111.htmbulunuyor2222.chm,file1.mhtdosyasını yüklüyor (loads)file1.mht→fileH.htm→ Downloader VBScript bağlantısı- Downloader VBScript nihayetinde PEAPOD Payload'ı çalıştırıyor
Temel eleştiri — Eski Windows teknolojileri ve güvenlik
- Grafikte görünen tüm teknolojiler kullanımdan kaldırılırsa bilgisayar güvenliği sorunlarının yaklaşık %80'inin çözüleceği iddiası
- Windows'un "her şey için kötü amaçlı yazılım uyumluluk katmanı (malware compatibility layer)" görevi gördüğü ifadesi
- Microsoft'un meşru ticari nedenlerle bu eski teknolojileri kaldıramayacağı gerçeği ile bu yığın üzerinde olduğu sürece hiçbir yüksek değerli sistemin güvenli olamayacağı gerçeği aynı anda geçerli
- Fabrikalardaki "airgapped" PLC sistemlerinin nasıl yapılandırıldığını görmüş olma deneyimine dayanarak, fiziksel hasara yol açan kinetic cyberwarfare'ın gerçek olmamasından duyulan rahatlama
1 yorum
Hacker News yorumları
Bir platform birden fazla amaç için ne kadar güçlü olursa kötü amaçlı yazılım da kaçınılmaz olarak ortaya çıkar
Tüketicileri hedefleyen kötü amaçlı yazılımların Linux masaüstünü daha az hedeflemesinin nedeni pazar payının yaklaşık %3 olması; çok daha fazla kullanıcıya ulaşılabilecek Windows masaüstünü hedeflemek daha mantıklı
Diğer tek seçenek, bilgisayarı fiilen gelişmiş bir cep telefonuna, yani kilitli bir medya tüketim cihazına dönüştürüp her şeyi sandbox içine almak ve “kötü” işler yapma yetkisini ortadan kaldırmak
Elbette takip bunun istisnası; çünkü işletim sistemini yapan şirket reklam da satıyor
Mükemmel olmadı, ama sonuçta sorun popülerliğin kendisi değil, yazılımın güvensiz tasarımıydı ve hâlâ iyileştirme için çok alan var
macOS bu yöne ilerliyor; Qubes ise daha radikal bir örnek
Masaüstü bilişimin geleceği büyük olasılıkla her şeyin kendi sanal makinesinde çalıştığı bir yöne gidecek
Linux, Android biçiminde telefonlarda muazzam ölçüde yaygın kullanılıyor; telefonlar da masaüstleri kadar, hatta artık belki daha da çekici hedefler
Mobil kötü amaçlı yazılımlar var ama çok daha nadir ve elde etmesi de daha zor
Linux’ta yazılım kurma biçimi Windows’tan tamamen farklı ve bir kullanıcıya bir yığın ikili dosya çalıştırmak için epey uğraşmak gerekir
Belirli bir masaüstü için derlenmiş ikili dosya yerine container olarak dağıtmanın daha kolay görüldüğü noktaya gelmiş durumda
Masaüstünün ötesine bakarsak sunucu dünyasının her yerinde Linux var ve sunucu yazılımlarını çalıştırmak için en popüler işletim sistemi olduğu için hackerlar açısından çok değerli bir hedef
Bir banka sunucusunu ele geçirmek kadar çekici çok az şey vardır
Linux’u Windows’tan özünde daha güvenli kılan hiçbir unsur olmadığını söylemek gerçekçi değil
Unix türevleri en baştan çok kullanıcılı kullanım düşünülerek tasarlandığı için kullanıcı izinleri onlarca yıldır olağan akışın içine işlemiş durumda; bu tek başına bile root yetkili rootkit’leri veya worm’ları başarılı kılmayı zorlaştıran büyük bir güvenlik katmanı
Eski Windows 9x–XP döneminde fiilen herkese yönetici yetkisi veriliyordu ve system32 DLL’lerini yazmak ya da değiştirmek kolaydı
Linux’a saldırmak için kullanıcıyı yükseltilmiş yetkilerle bir şey çalıştırmaya kandırmanız ya da root yetkisiyle çalışan yazılımlarda bir açık bulmanız gerekir
Eski Windows’a saldırmak içinse kullanıcının yazılımımı çalıştırmasını sağlamak yeterliydi
Mobilde Android, yani Linux en büyük platform; son kullanıcı açısından bakıldığında Windows’tan da büyük
Buna rağmen Android kötü amaçlı yazılımları hakkında Windows kadar çok şikâyet duyulmuyor
Microsoft’un Windows güvenliği konusunda beceriksiz olduğunu düşünmüyorum, ancak tarihsel olarak sorun yaratan tasarım kararları var
win9x’te i386’da bile mümkün olan süreç izolasyonu yoktu ve insanlar NT çekirdeğine sahip WinXP’de de eski programların çalışmaya devam etmesini bekliyordu
Windows’ta merkezi yazılım dağıtımı, 1998’den beri var olan apt’ye kıyasla görece yeni; uzantıları gizleme gibi küçük unsurlar da Windows’u ChromeOS, iOS, Android, macOS ve GNU/Linux’a göre daha kolay bir hedef hâline getiriyor
“Linux Windows kadar popüler olursa kötü amaçlı yazılım geliştiricileri onu hedef alır” sözünü hatırlıyorum; ama akıllı TV’ler, bilgi-eğlence sistemleri, sunucular, süper bilgisayarlar, gömülü sistemler, mobil ve özellikle Android’e bakınca Linux uzun zamandır Windows’tan daha büyük
Düşük masaüstü payının kötü amaçlı yazılımın az olmasının başlıca nedeni olduğunu düşünmüyorum
https://gs.statcounter.com/os-market-share#monthly-202206-20...
Linux’ta paket sayısı çok fazla olduğu için saldırı yüzeyi geniş, ancak çekirdek kısım son derece açık olduğundan çok fazla ilgi ve göz üzerinde toplanıyor
Açıklar genelde hızlıca yamalanıyor; Linux sürümleri ve GNU paketleri fiilen tüm interneti çalıştırdığı için sızmaya yönelik motivasyon da fazlasıyla var
Ayrıca Linux’ta bir sürecin yapmaması gereken bir şeyi yapıp yapmadığını anlamak çok daha kolay; içeriyi inceleyip neler olup bittiğini görmek de daha zahmetsiz
Windows’ta hâlâ en büyük güvenlik sorunu, uzantıların varsayılan olarak gizlenmesi ile çalıştırma izni bitinin olmaması birleşimi
Saldırganların Word belgesi ya da tanıdık bir dosya türü simgesine sahip kötü amaçlı bir çalıştırılabilir dosya oluşturmasını fazlasıyla kolaylaştırıyor; sıradan kullanıcının da tehlikeyi anlamasının pratikte bir yolu yok
Çalıştırma izni biti olsaydı, tuhaf bir yerden gelen bir exe izin verilmeden öylece çalışmazdı
Uzantılar varsayılan olarak görünseydi, biraz bilgisi olan kullanıcı bile riski görebilirdi
Windows zaten bolca bildirim gösterdiğine göre, ilk çift tıklamada “bu bir çalıştırılabilir dosya, dikkatli ol” uyarısı bile çok yardımcı olurdu
Tarayıcıdan indirilen ikililere “potansiyel olarak güvenli değil” genişletilmiş özniteliği ekleniyor ve ilk açılışta uyarı çıkıyor; ama yön ters
Tüm ikililer, “kullanıcı riski fark etti” özniteliği eklenene kadar uyarı göstermeli
Bu yüzden kötü amaçlı yazılım dağıtımında, çalıştırılabilir dosyayı yaymak için saldırganın kontrol ettiği internetteki SMB sunucusu gibi zahmetli dolambaçlı yollar kullanmak gerekiyor
Ayrıca Windows ACL’lerinde kullanıcı, grup ve ilke ile ilgili nesne bazında çalıştırma izinleri var
Okunabilen çalıştırılabilir dosyalarda varsayılan olarak açıklar, ama bir çalıştırılabilir dosyayı çalıştırılamaz hâle getirmeyi kısıtlayan hiçbir şey yok
Üstelik neredeyse tüm çalıştırılabilir dosyalar varsayılan olarak “bilgisayarınızı enfekte etmeye, evcil hayvanlarınızı öldürmeye ve çocuklarınızı Şeytan’a adamaya çalışıyor” düzeyinde devasa bir uyarı gösteriyor
Kapatılabiliyor, ama çoğu durumda açık
Bu yüzden saldırganlar RTF OLE gömme ya da CHM/MHT sarmalayıcıları gibi uç durumların yan etkilerinden yararlanıyor
Bu grafiğin yarısı kurumsal ortam için yapılandırılmış macOS veya Linux’ta da çalışabilir
Çoğu, tarayıcıların ve ofis uygulamalarının kendi işini yapması süreci
Kilit nokta, son sandbox’tan çıkılıp betiğin gerçek payload’u indirdiği en uç kısma kadar işletim sistemi bağlamında gerçekten çalıştırılabilir kod olmaması
Kullanıcının engeli elle kaldırması gerekir
Bu özellik kapatılmış olabilir
İnternetten indirilen neredeyse her şeye izin vermek gerektiği için zahmetli olduğundan birçok kişi kapatır
Varsayılan tarayıcı indirmeden önce uyarıyor, SmartScreen doğrulanmamış uygulamayı çalıştırmayı soruyor, UAC de son bir kez daha soruyor
Hatta birçok yerde kullanıcı profilinin tamamında çalıştırmayı yasaklayacak şekilde ayarlanıyor
Günümüz Windows’unda kötü amaçlı yazılım en kötü unsur bile değil
Windows fiilen indirilebilir bir telemetri motoru, giriş ekranı takılmış casus yazılım go-kartı
Alışveriş merkezi standındaki müşteri avcıları gibi davranıp gözetimle seçtiği çeşitli ürünleri ve işe yaramaz şeyleri satmadığı zamanlarda, yeni bir tarayıcıya “ihtiyacınız” olmadığını zehirli bir eski sevgili gibi gaslighting yapıyor
Yükseltme yaparken donanımınızın uyumlu olmasını dilemek zorundasınız
Redmond, gayet iyi çalışan 5 yıllık bir PC’nin “eskidiğine” sizi ikna etmek için, hayalet şehir gibi uygulama mağazasını ve mikro ödeme oyun alanını hatırlatırken harcadığı aynı tükenmez enerjiyi harcıyor
Chrome’u bir şekilde kurmuş olsanız bile, Microsoft pazarlama departmanı onayı dışındaki bir tercihi algıladığı anda çoğu uygulama bu varsayılan ayarı uzun süre hatırlamıyor
Windows, perili bir festivaldeki zombi palyaço gibi stantlar arasında sendeleyerek dolaşıp, sırf varlığıyla insanları rahatsız ettikten sonra yeniden kurumsal Amerika’nın sirk çadırına dönüyor
Artık Windows’u hoş karşılayan izleyicilerin kaldığı neredeyse tek yer orası olabilir
Masaüstü, her yerine kötü avukat reklamları ve karalamalar yapıştırılmış bir Subway istasyonu gibi hissettirdi; gerçekten mide bulandırıcı
Gereksiz yere başka Microsoft ürünlerini kullanmamı söyleyen açılır pencerelere yol açan bu kadar çok düğme kombinasyonu olması şaşırtıcı
Bu kadar kötüleşmiş olmasına inanamıyorum
Ortalama tüketici için bir Windows alternatifi gerekiyor
Bu genel bir konu dışına sapma
Yazı bilgisayar güvenliğiyle ilgili; Windows’un kullanıcı düşmanı deneyimiyle ilgili değil
Windows her şey için bir kötü amaçlı yazılım uyumluluk katmanı
Windows NT ve ondan sonraki tüm Windows sürümleri, VMS’ten gelen güvenlik denetimlerine sahip; bu yüzden neredeyse herhangi bir işletim sisteminden daha fazla güvenlik denetimi var
Ama sürtünmeyi azaltmak ve benimsenmeyi artırmak için çoğu devre dışı bırakılmış ya da zayıflatılmış durumda
Linux’ta da güvenlik denetimleri varsayılan olarak zayıflatılmış, ancak pazara geç girdiği ve Windows kadar tıkla-geç bir ortam olmadığı için başlangıçta teknik olmayan kullanıcılar için sürtünme daha fazlaydı
Sorun yalnızca güvenlik denetimleri de değil
Windows ve Linux ikisi de varsayılan olarak belleğin fazla tahsis edilmesine izin veriyor; bu kararlılığı etkileyebilir ama geliştirici benimsemesi açısından avantajlı
Bunların hepsi sıkılaştırılabilir, ancak varsayılan davranışa göre yazılmış uygulamaları bozma riski var
Başkalarının söylediği gibi Windows en yüksek benimsenme ve kullanım oranına sahip olduğu için varsayılan hedef hâline geliyor
Bir gün Linux öne geçerse kötü amaçlı yazılım yazarlarının ilgisi de artacaktır
udev, binfmt bağlamaları, eBPF, systemd ve bunların şu anda birbirine bağlanma biçimlerinde hâlâ keşfedilmemiş çok sayıda saldırı vektörü var
Linux oyunları şu anki hızla iyileşmeye devam ederse bu beklenenden daha erken olabilir
Oyun platformları çoğu zaman varsayılan davranışa göre kod yazar ya da yükseltilmiş yetki bekler; bu da işletim sistemini sıkılaştırmayı bir seçenek olmaktan çıkarır. Vergi, banka, e-posta ve sosyal medya kullandığı cihazdan ayırmak için ayrı bir oyun makinesi alacak kişi de pek fazla değil
İlk başta bu tweet’in C, C++ gibi bellek açısından güvenli olmayan diller ve web tarayıcılarının JIT derleyicileri hakkında olduğunu sanmıştım
Çünkü “bilgisayar güvenliği sorunları, bu görselde yer alan tüm teknolojiler kaldırılırsa yaklaşık %80 çözülür” diyordu
Chromium, “yüksek önem dereceli güvenlik hatalarının yaklaşık %70’i bellek güvenliği sorunları, yani C/C++ işaretçi hatalarıdır; bunların da yarısı use-after-free hatasıdır” diyor
https://www.chromium.org/Home/chromium-security/memory-safet...
Microsoft da “her yıl CVE atanan zafiyetlerin yaklaşık %70’i hâlâ bellek güvenliği sorunları” diyor
https://msrc.microsoft.com/blog/2019/07/a-proactive-approach...
HN başlığı da orijinal metnin düzenlenmiş bir başlığı
Yanlış hatırlamıyorsam Rust tabanlı DLL alternatiflerini ilk kez test ediyorlar ve yarısını bile taşımak epey zaman alabilir
Kötücül yazılımların çoğu, işletim sistemindeki sıradan özellikleri mantıksal olarak kötüye kullanır
“Bilgisayar güvenliği yaklaşık %80 çözülür” anlamına geldiğini sanmıyorum
Başka saldırı vektörleri kullanılır ve saldırı yollarının çoğunu kapattıktan sonra neredeyse hiç yetkisi olmayan, geniş ölçekli izleme eklenmiş akıllı telefon işletim sistemlerine varırsınız
Yine de kötücül yazılım hâlâ bol olabilir
https://www.bleepingcomputer.com/news/security/apps-with-15m...
Tüm bunların nedeni geriye dönük uyumluluk ve bununla başa çıkmak gerçekten çok zor
İdeal bir dünyada, uyumluluğu bozmak gerektiği her seferinde kapsamlı belgeler sağlanır ve geçiş olabildiğince painless hâle getirilirdi
Ama terk edilmiş yazılım diye küçük bir sorun var
Artık kimsenin nasıl çalıştığını bilmediği yazılımların kritik işler için gerekli olduğu şaşırtıcı derecede çok durum var
Şirketlerin ve kamuya yakın kurumların, kimsenin aktif olarak bakımını yapmadığı ve hiçbir destek sözleşmesi olmayan tescilli yazılımlarla çalışmasını yasa dışı mı yapmalı
MHTML gerçek bir sorunu çözüyor, VBScript ise yalnızca konuşma tarzı farklı olan bash gibi bir şey
OLE gömme, bugün ne yazık ki pek kullanılmasa da harika bir fikirdi
Garip tablo hilelerine gerek kalmadan bir metin belgesinin içine elektronik tablo koyabilmek iyi bir fikir
VBA makroları, herhangi bir startup’tan daha fazla şirketi ayakta tutuyor
CHM yardım dosyaları gerçekten harikaydı; gerçekten bir şey bulmak için Google’a güvenmek zorunda bırakan berbat web siteleriyle değiştirilmiş olmaları üzücü
Karmaşık arama sonuçlarını yalnızca kaydetmek değil, paylaşabilmek de iyi bir fikirdi ama yeterince tanıtılmadı
“Geçen yıl ağustos ile eylül arasında kameramla çektiğim fotoğraflar”ı bulmayı sağlayacak bir dosya gönderebilmek iyi bir fikir; çünkü tescilli bir fotoğraf albümü göndermeye gerek kalmıyor
Tescile bağımlılık ve korkunç iş uygulamaları hakkında ne denirse densin, Microsoft’un rakip işletim sistemlerinin ancak yıllar ya da on yıllar sonra taklit ettiği harika fikirleri vardı
Rakip ürünlerin çoğunda belgeleri hâlâ Microsoft Office’teki kadar kolay ve etkili biçimde gömmek mümkün değil
Bu özellikler terk edilmiş değil; dünya genelinde milyonlarca kişi tarafından kullanılıyor
Microsoft, çalıştırılabilir kodu daha iyi algılayacak şekilde araç ayarlarını iyileştirmeli
Zincirin sonundaki VBScript çalıştırılmamalıydı
Diğer “legacy” araçların çoğunun yalnızca kötücül yazılım ihtimali yüzünden ortadan kalkması üzücü olurdu
VM, DOSBox, Wine vb. var
Yaklaşık 10 yıl önce Home Depot’taki tüm mağaza makinelerinde çalışan kritik bir sürecin Batchman adlı bir programa bağlı olduğunu keşfetmiştim
Batchman, 1989’da PC Magazine’de yayımlanmış, elle yazılarak girilen bir yardımcı programdı
Uyumluluğu bozarsanız, birinin onlarca yıldır sessizce çalışan o süreci yeniden oluşturması gerekir
Birlikte çalıştığım HD ekibinden hiç kimse o kodu görmemişti; Batchman’in ne olduğunu, ne yaptığını da bilmiyordu
En popüler stack her zaman kötücül yazılımların tercih ettiği hedef olur
Başka bir platform avın %90’ını oluşturuyorsa, o platformun ezici biçimde kötücül yazılım kurbanı olmayacağını gerçekten düşünüyor musunuz, merak ediyorum
Not olarak, 80’lerde ön cephede kötücül yazılım temizleme görevlisi olarak çalıştım; o dönemde başlıca hedefler üniversite bilgisayar laboratuvarlarındaki Apple Mac’lerdi
O zamanlar temizlediğin en zeki kötücül yazılım hangisiydi
Bu, “tarihi ortadan kaldırırsan sorun çok daha azalır” demeye benzemiyor mu
Ama tarih gerçekten var
Ayrıca Twitter bağlantısına her tıkladığımda “Bir sorun oluştu” çıkıyor ve sayfayı yenilemem gerekiyor; modern Twitter bu mu
Dolayısıyla modernlik ölçütüne göre hem doğru hem yanlış
https://nitter.net/matthew_d_green/status/167913542680678400...