Neden NTFS görünmez çalıştırılabilir dosyalara izin veriyor?


105

Başka bir dosyanın içindeki herhangi bir dosyayı yalnızca yazarak gizleyebilirsiniz:

type sol.exe > container.txt:sol.exe

ve dosyayı gizli dosyayı çalıştırmak için kullanın:

start c:\hide\container.txt:sol.exe

Ancak bununla ilgili çılgınca kısım, dosyanın boyutunu arttırmamasıdır (bu yüzden tamamen gizlidir).

Ve içinde gizli şeyler olan dosyayı silerseniz, gizli şeyler silinmez. Sadece kullan:

more <  container.txt:sol.exe > sol.exe

NTFS neden buna izin veriyor? Bir virüsü saklamanın en iyi yolu gibi gözüküyor.


1
güzel, mac resourceforks gibi görünüyor.
Stefano Borini

15
daha da kötüsü, sol.exe böyle başlattığınızda, görev yöneticisi işlem adını container.txt olarak gösterir
hasen


4
Bu, etrafta olduğu sürece, STILL'in bu konuda bilmediği dosya sistemiyle yoğun çalışan AV geliştiricileri / diğer insanlar arasında zaman zaman rastlamak şaşırtıcı. Ortalama bir uygulama geliştiricisinin buna ihtiyaç duymadığından bu konuda bilgi sahibi olmasını beklemiyorum, ancak dosya sistemi
işlerinde ağırsanız

Güya bir klasöre ADS de ekleyebilirsiniz. ADS'yi klasörü silerek silebilirsiniz, ancak klasör sürücünüzün kökü olduğunda, örneğin sürücüyü yeniden biçimlendirmeden C: sürücünüzü silemezsiniz. Bana gizli bir rootkit virüsü oluşturmak için bir mekanizma gibi geliyor (?).
HighTechGeek

Yanıtlar:


98

Bu sorunun iki tarafı var. Birincisi, bu özelliğin neden hiç olmadığı ve ikincisi, neden GUI'nin (veya komut istemi) bu özelliği görmeyi ve yönetmeyi kolaylaştırmadığıdır.

Var çünkü faydalı. Diğer birkaç platform, dosya başına birden çok veri akışını destekler. Mac'te, örneğin çatal denirdi . Ana bilgisayar dünyasında benzer şeylerin bulunduğundan oldukça eminim ama parmaklarımı bugün hiçbir açık örnek üzerine koyamıyorum.

Modern Windows'ta, bir dosya için ekstra özellikler tutmak için kullanılır. Windows Gezgini'nde bulunan Özellikler kutusunun, Basit görünümde (Windows XP’de, kilometrenizin diğer lezzetlerde farklılık göstereceğini) Başlık, Konu, Yazar ve öyleyse. Bu veriler, dosyadan çok kolay ayrılabilecek her şeyi tutmak için bir tür yan araç veritabanı oluşturmak yerine alternatif bir akışta depolanır.

Alternatif bir akış ayrıca, dosyanın indirme işlemlerinde hem Internet Explorer hem de Firefox tarafından uygulanan güvenilir olmayan bir ağ kaynağından geldiğini belirten işaretçiyi tutmak için de kullanılır.

Zor olan soru, neden akışların hiç mevcut olmadığını fark etmek için daha iyi bir kullanıcı arayüzünün olmadığı ve çalıştırılabilir içeriklerin bunlara daha sonra daha da uygulanabilir hale getirilmesinin neden mümkün olduğu. Burada bir hata ve güvenlik riski varsa, budur.

Düzenle:

Başka bir cevaba yapılan yorumdan esinlenerek, anti-virüs ve / veya anti-malware korumanızın alternatif akışlardan haberdar olup olmadığını öğrenmenin bir yolu.

EICAR test dosyasının bir kopyasını alın . Aynı zamanda geçerli bir x86 çalıştırılabilir olan 68 baytlık ASCII metnidir. Tamamen zararsız olmasına rağmen, anti-virüs endüstrisi tarafından gerçek bir virüs gibi algılanması konusunda anlaşmaya varıldı. Yapımcılar, AV yazılımını gerçek bir virüsle test etmenin, yangın alarmını yanmakta olan yangın alarmını test etmek gibi bir şey olacağını düşündü ...

EICAR dosyası:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Uzantıyla birlikte kaydedin; .COMyürütülür (AV'niz dikkat etmiyorsa) ve bir tebrik yazdırır.

Alternatif bir veri akışında kaydetmek ve bir tarama yapmak için bilgilendirici olurdu ...


11
Tasarım olarak, görüntülenen dosya boyutu sadece ana $ DATA akışının boyutunu gösterir. Bu da genellikle istediğiniz şeydir. Dosya adının uzunluğunu (bir tür meta veri olan) dosya boyutuna dahil etmeyin. Güvenlik riski olduğu gibi. ADS, herhangi bir tek tek dosyadan daha riskli değildir. Bu mekanizmalarla başarıyla yayılan / saklanan kötü amaçlı yazılımları hiç duymadım.
Joey,

4
Yanlışlıkla bir metin dosyasının ADS'sinde depolanan bir yürütülebilir dosyayı çalıştıramazsınız. Çok gizli, ortak bir kullanıcının yanlışlıkla çalıştırması için çok iyi gizlenmiş. İlk önce ödün vermen gerekiyor.
R. Martinho Fernandes,

7
@ ashh: Martinho bunu çivileştirdi - böyle bir akışta yürütülebilir bir dosya bulmayı zorlaştıran belirsizlik aynı zamanda aktif olarak denemeden birini zorlaştırıyor. Buna, örneğin, çalıştırılabilir dosyaların GUI'deki metin dosyaları gibi görünebileceği tüm "gizli dosya uzantıları" fiyaskoları ile karşılaştırılması ... ve yine de çok kolay bir şekilde yürütülmesi.
Shog9

3
.COM dosyasına en azından gerçek zamanlı olarak dikkat eden bir AV’niz olduğunu varsayarsak, bunu AV’nin .COM dosyasına erişmenizi önleyeceği kadar ADS olarak ekleyemezsiniz (ADS’nin dosya). Bununla birlikte, EICAR dizgisine sahip bir metin dosyası ekleyebilmeli ve ADS içinde .COM uzantılı olarak adlandırabilmelisiniz. yani EICAR.txt yazın> test.txt: EICAR.COM
KTC

2
EICAR.COM dosyası hakkında Serin bir gerçek: Windows herhangi 64-bit sürümlerinde çalışmaz yüzden herkesi (hangi 64 bit makinelerde geçtikten sonra bu hüner artık çalışmaz tahmin hala muhtemelen bir süre).
Kredisi

15

Bu özellik, Windows Server'ın çapraz platform özelliği için gereklidir: mac hizmetleri.

Bu, NTFS paylaşımında çalışan bir Windows sunucusunun AFP üzerinden mac'lara gönderilmesini sağlar. Bu özelliğin çalışması için NTFS dosya sisteminin çatalları desteklemesi gerekir ve ilk günden beri vardır.

Ve sormadan önce, bu özellik hala kullanılıyor mu? Evet, desteklediğim bir istemcideki bir sunucuda günlük olarak çalışıyor ve kullanılıyor.

Asıl güvenlik sorunu, insanlar ve uygulamalar orada olduğunu unuttuklarında veya anlamadıklarında ortaya çıkar.

Büyük olasılıkla çatalları toplam dosya boyutuna dahil etmek veya bunları Windows Gezgini'nde göstermek için bir seçenek olmalıdır.


2
Eğer oy kullanmaya gidiyorsanız, lütfen neden olarak bir yorum bırakın.
Bruce McLeod

2
Bu özellik ilk etapta var olmak için tamamen makul bir neden gibi geliyor.
RBerteig

3
Mac'ler için dosya paylaşımına izin vermek için bu özelliği eklemek makul bir neden gibi görünmüyor. Ağ üzerinden paylaşmak, dosyanın sunucu tarafında tam olarak saklanmasını gerektirmez. Dosyayı veri ve kaynak bilgisine bölen birkaç * nix elma paylaşım sunucusu gördüm. Bu müşteriye şeffaftır. Yalnızca AFP'ye izin vermek için gerçek sürücü biçimini değiştirmek gerçekçi görünmüyor. Bu özellik için REASON olarak değil, iyi bir avantaj olabilir.
Simurr

2
Evet, SfM’nin NTFS’de ADS’leri uygulamasının ana nedeni olduğunu iddia edecekseniz [alıntı yapılması gerektiğini düşünüyorum] .
afrazier

3
Atıf bulundu: ... başlangıçta Macintosh Hiyerarşik Dosya Sistemi, HFS ile uyumluluk sağlamak için tasarlanan ADS yetenekleri ; dosya bilgileri bazen ayrı kaynaklara aktarıldığı yerlerde. Alternatif Veri Akışları, özellikler ve geçici depolama gibi dosya bilgilerini depolamak için yerel Windows işletim sistemi de dahil olmak üzere çeşitli programlar tarafından yasal olarak kullanılmaya başlanmıştır. Kaynak: windowsecurity.com/articles/Alternate_Data_Streams.html
JamesBarnett

5

Ana kullanımlardan birinin (belki de kullanım amacına göre) bir dosyaya her türlü meta-verinin şeffaf bir şekilde eklenmesine izin vereceğini hayal ediyorum. Dosya boyutunun değişmemesinin nedeni, bu senaryoda, kaynak uygulamanın dosyanın görünme biçiminin bir kısmına dayanması için dosyanın görünmesini veya farklı davranmasını istemiyorsunuz.

IDE'lerde ilginç kullanımları hayal edebiliyorum, örneğin, bazen birden fazla dosyanın yanlışlıkla ayrılmaması için bu şekilde orijinal dosyaya eklenebilecek tek bir birim (kod dosyası / form dosyası, vb.) Oluşturmak için söz konusu olabilir.

Ayrıca, tüm bu 'ekleri' verilen bir dizin ağacında bulmak için bir komut olduğuna inanıyorum, bu yüzden aslında tamamen gizli değiller. Ayrıca, daha iyi virüs tarayıcıları bunun farkında değilse ve bu 'gizli' alanları kontrol ederse, beni şaşırtıyor, ancak virüslü bir yürütülebilir dosyayı bilerek bir metin dosyasına ekleyerek ve toplanıp toplanmadığını kontrol ederek kontrol edebilirsiniz.


Lütfen deneyebilmem için böyle bir yürütülebilir dosyaya bir bağlantı gönderebilir misiniz? ;)
R. Martinho Fernandes

AVG'yi makinenizde çalıştırmanızı ve sonra denemek için karantina klasöründen çalıştırılabilir dosyalardan birini
almanızı öneririm

2
@martinho, EICAR test dosyasını istiyorsun: X5O! P% @ AP [4 \ PZX54 (P ^) 7CC) 7} $ EICAR-STANDART-ANTIVIRUS-TEST-DOSYA! $ H + H * Sadece bu metni yapıştırın (tam olarak) 68 baytlık ASCII metni, bkz. Eicar.org/anti_virus_test_file.htm tüm hikaye için) .COM uzantılı bir dosyaya. Bir mesaj yayınlanacak ve yazdırılacaktır. Tabii ki AV'niz çalışmıyorsa. Alternatif bir veri akışına bırakın ve orada da kontrol edin.
RBerteig

@RBerteig: Hey cool ... böyle bir şey olduğunu bilmiyordum.
jerryjvl

(jerryjvl, dedikleri gibi) ateş yakma
çöpünü

5

Alternatif Veri Akışları'nın neden olduğu olası güvenlik açığı ile ilgili iyi bir makale .


6
<nitpick> Bu bir güvenlik açığı, bir tehdit değil </nitpick>. Ve bu göründüğü kadar büyük bir anlaşma değil. Kullanmak için zaten kimlik bilgilerine sahip olmanız gerekir.
romandas

Pro yok. BTW, yazımınızı kontrol edin. Ve daima hatırlayın: Tehditler güvenlik açıklarından yararlanır. Tehditler genellikle insanlardır, ancak doğal ve yapımı felaketler de önemlidir.
romandas

@romandas, hangi kimlik bilgilerine sahip olmanız gerekiyor? Evde çoğu Windows kullanıcısı (özellikle de XP) Yönetici ayrıcalıklarıyla çalışıyor, bu yüzden neden göründüğü kadar önemli değil?
Ash

@ ashh, "ihlal edilmiş bir sistemde gizleme ... yöntemi ile". Sistem, bir şeyi gizlemek için ilk etapta zaten tehlikeye atılmalı ve benzer şekilde böyle bir şeyi gizlemeli.
KTC

5

Güzel soru, geçen yıla kadar ADS'nin tam olarak farkında değildim ve yıllardır Windows geliştiricisiyim. Bu konuda yalnız olmadığımı garanti edebilirim.

Dosyalar üzerindeki alternatif verileri kontrol edebilmekle ilgili olarak , Frank Heyne yazılımından temin edilebilen Lads adlı kullanışlı küçük aracı buldum . ADS'yi, belirli bir dizindeki tüm dosyalarda, hatta Şifrelenmiş dosyalarda (ve ayrıca alt dizinlerde) listeleyebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.