Tại sao NTFS cho phép thực thi vô hình?


105

Bạn có thể ẩn bất kỳ tệp nào bên trong tệp khác chỉ bằng cách nhập:

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

và để chạy tập tin ẩn tập tin chỉ cần sử dụng:

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

Nhưng điều điên rồ về điều này là nó không làm tăng kích thước của tệp (vì vậy nó hoàn toàn bị ẩn).

Và nếu bạn xóa tệp có nội dung ẩn bên trong, nội dung ẩn sẽ không bị xóa. Chỉ dùng:

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

Tại sao NTFS cho phép điều này? Có vẻ như là cách tốt nhất để che giấu virus.


1
tốt đẹp, có vẻ như tài nguyên mac.
Stefano Borini

15
tồi tệ hơn, khi bạn bắt đầu sol.exe như vậy, công việc quản lý hiển thị tên quá trình như container.txt
hasen

16
Chúng ta nên đánh bom google để "đáng sợ" dẫn đến câu hỏi này
hasen

4
Lâu nay, điều này vẫn còn đáng kinh ngạc khi thỉnh thoảng chạy qua các nhà phát triển AV / những người khác làm việc nhiều với hệ thống tệp mà VẪN không biết về nó. Tôi không mong đợi nhà phát triển ứng dụng trung bình biết về nó vì không có nhu cầu, nhưng nếu bạn nặng về công cụ hệ thống tập tin ... :-)
Brian Knoblauch

Giả sử bạn cũng có thể đính kèm một ADS vào một thư mục. Bạn có thể xóa ADS bằng cách xóa thư mục, nhưng khi thư mục là thư mục gốc của ổ đĩa, bạn không thể xóa ổ C: của mình mà không định dạng lại ổ đĩa. Có vẻ như một cơ chế để tạo ra một virus rootkit ẩn cho tôi (?).
HighTechGeek

Câu trả lời:


98

Có hai mặt của câu hỏi này. Đầu tiên là tại sao tính năng này hoàn toàn tồn tại và thứ hai là tại sao GUI không (hoặc dấu nhắc lệnh) giúp dễ dàng xem và quản lý tính năng này.

Nó tồn tại bởi vì nó hữu ích. Một số nền tảng khác hỗ trợ nhiều luồng dữ liệu trên mỗi tệp. Trên máy Mac, chúng được gọi là dĩa chẳng hạn. Tôi chắc chắn chắc chắn rằng những điều tương tự đã tồn tại trong thế giới máy tính lớn, nhưng không thể đặt ngón tay của tôi vào bất kỳ ví dụ rõ ràng nào ngày hôm nay.

Trên Windows hiện đại, nó được sử dụng để giữ các thuộc tính bổ sung cho một tệp. Bạn có thể nhận thấy rằng hộp Thuộc tính có sẵn từ Windows Explorer có tab Tóm tắt trong chế độ xem Đơn giản (Tôi đang dùng Windows XP, số dặm của bạn sẽ khác với các hương vị khác) bao gồm một loạt các trường hữu ích như Tiêu đề, Chủ đề, Tác giả và v.v. Dữ liệu đó được lưu trữ trong một luồng thay thế, thay vì tạo ra một loại cơ sở dữ liệu phụ xe để giữ tất cả những gì sẽ bị tách khỏi tệp quá dễ dàng.

Một luồng thay thế cũng được sử dụng để giữ điểm đánh dấu cho biết tệp đến từ nguồn mạng không tin cậy được cả Internet Explorer và Firefox áp dụng khi tải xuống.

Câu hỏi khó là tại sao không có giao diện người dùng tốt hơn để nhận thấy rằng các luồng tồn tại và tại sao có thể đưa nội dung thực thi vào chúng và tệ hơn, thực hiện sau. Nếu có một lỗi và rủi ro bảo mật ở đây, đây là nó.

Biên tập:

Lấy cảm hứng từ một bình luận cho một câu trả lời khác, đây là một cách để tìm hiểu xem bảo vệ chống vi-rút và / hoặc chống phần mềm độc hại của bạn có biết về các luồng thay thế hay không.

Lấy một bản sao của tệp thử nghiệm EICAR . Đó là 68 byte văn bản ASCII cũng có thể là tệp thực thi x86 hợp lệ. Mặc dù hoàn toàn vô hại, nó đã được ngành công nghiệp chống vi-rút đồng ý phát hiện như thể đó là một loại vi-rút thực sự. Các nhà sáng lập nghĩ rằng việc kiểm tra phần mềm AV với một loại virus thực sự sẽ hơi giống với việc kiểm tra chuông báo cháy bằng cách thắp sáng thùng rác trên lửa ...

Tệp EICAR là:

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

Lưu nó với tiện ích mở rộng .COMvà nó sẽ thực thi (trừ khi AV của bạn đang chú ý) và in lời chào.

Sẽ là thông tin để lưu nó trong luồng dữ liệu thay thế và chạy quét ...


11
Theo thiết kế, kích thước tệp được hiển thị chỉ hiển thị kích thước của luồng $ DATA chính. Đây cũng là những gì bạn thường muốn. Bạn không bao gồm độ dài của tên tệp (cũng là một loại siêu dữ liệu) vào kích thước tệp. Đối với một rủi ro bảo mật. ADS không có nhiều rủi ro hơn bất kỳ tệp cá nhân nào. Tôi chưa từng nghe về bất kỳ phần mềm độc hại nào phát tán / ẩn thành công với các cơ chế đó.
Joey

4
Bạn không thể vô tình chạy một tệp thực thi được lưu trữ trong một ADS của tệp văn bản. Nó được ẩn tốt, ẩn quá tốt cho một người dùng thông thường vô tình chạy nó. Bạn sẽ cần phải được thỏa hiệp đầu tiên.
R. Martinho Fernandes

7
@ashh: Martinho đóng đinh nó - sự tối nghĩa khiến bạn khó tìm được một tệp thực thi trên luồng như vậy cũng khiến bạn khó thực hiện một cái mà không chủ động cố gắng. Đối chiếu điều này với, ví dụ, toàn bộ fiasco "phần mở rộng tệp ẩn", nơi các tệp thực thi có thể xuất hiện, giả sử, các tệp văn bản trong GUI ... và vẫn thực thi rất dễ dàng.
Shog9

3
Giả sử bạn có AV ít nhất chú ý đến tệp .COM, bạn sẽ không thể đính kèm dưới dạng ADS vì AV sẽ ngăn bạn truy cập tệp .COM (đính kèm vì ADS yêu cầu một người truy cập vào tập tin). Tuy nhiên, bạn có thể đính kèm tệp văn bản với chuỗi EICAR và đặt tên tệp đó bằng phần mở rộng .COM bên trong ADS. tức là gõ EICAR.txt> test.txt: EICAR.COM
KTC

2
Sự thật thú vị về tệp EICAR.COM: Nó sẽ không chạy trên bất kỳ phiên bản Windows 64 bit nào vì vậy tôi đoán thủ thuật này sẽ không còn hoạt động nữa khi mọi người đều sử dụng máy 64 bit ( có lẽ vẫn còn một thời gian nữa).
Kredns

15

Tính năng này là bắt buộc đối với tính năng đa nền tảng của Windows Server: services for mac.

Điều này cho phép một máy chủ windows chạy trên NTFS chia sẻ với máy Mac thông qua AFP. Để tính năng này hoạt động, hệ thống tệp NTFS phải hỗ trợ các nhánh và nó có từ ngày đầu tiên.

Và trước khi bạn hỏi, tính năng này có còn được sử dụng không? Có, tôi có nó chạy và sử dụng hàng ngày trên một máy chủ trong một máy khách mà tôi hỗ trợ.

Vấn đề bảo mật chính xuất hiện khi mọi người và ứng dụng quên hoặc không nhận ra rằng nó ở đó.

Có lẽ nên có một tùy chọn mặc dù bao gồm các nhánh trong tổng kích thước tệp hoặc hiển thị chúng trong windows explorer.


2
Nếu bạn sẽ bỏ phiếu, xin vui lòng để lại nhận xét tại sao.
Bruce McLeod

2
Điều này nghe có vẻ là một lý do hoàn toàn hợp lý để tính năng này tồn tại ở nơi đầu tiên.
RBerteig

3
việc thêm tính năng này chỉ đơn giản là cho phép chia sẻ tệp cho máy Mac không có vẻ là lý do chính đáng. Chia sẻ qua mạng không yêu cầu tệp được lưu trữ nguyên vẹn ở phía máy chủ. Tôi đã thấy một số máy chủ chia sẻ táo * nix chia tệp thành dữ liệu và thông tin tài nguyên. Điều này là minh bạch cho khách hàng. Thay đổi định dạng ổ đĩa thực tế chỉ để cho phép AFP có vẻ không thực tế. Có thể là một lợi ích tốt đẹp nhưng không phải là LÝ DO cho tính năng này.
Simurr

2
Vâng, tôi đang nghĩ [cần dẫn nguồn] nếu bạn muốn khẳng định rằng SfM là lý do chính khiến MS triển khai ADSes trong NTFS.
afrazier

3
Đã tìm thấy trích dẫn: ... Các khả năng của ADS nơi ban đầu được hình thành để cho phép tương thích với Hệ thống tệp phân cấp Macintosh, HFS ; nơi thông tin tập tin đôi khi được chia thành các tài nguyên riêng biệt. Luồng dữ liệu thay thế đã được sử dụng hợp pháp bởi nhiều chương trình, bao gồm cả hệ điều hành Windows gốc để lưu trữ thông tin tệp như thuộc tính và lưu trữ tạm thời. nguồn: windowsecurity.com/articles/Alternate_Data_Streams.html
JamesBarnett

5

Tôi tưởng tượng một trong những mục đích sử dụng chính (có lẽ là mục đích sử dụng) sẽ cho phép minh bạch thêm bất kỳ loại dữ liệu meta nào vào một tệp. Lý do kích thước tệp không thay đổi là trong trường hợp này, bạn không muốn tệp trông hoặc hành xử khác đi vì sợ ứng dụng khởi tạo phụ thuộc vào một số khía cạnh của giao diện tệp.

Tôi có thể tưởng tượng các cách sử dụng thú vị trong các IDE chẳng hạn, trong đó đôi khi nhiều tệp có liên quan để tạo thành một đơn vị (tệp mã / tệp biểu mẫu, v.v.), có thể được gắn vào tệp gốc theo cách này để chúng có thể vô tình bị tách ra.

Tôi cũng tin rằng có một lệnh để tìm tất cả các 'tệp đính kèm' như vậy trong một cây thư mục nhất định, vì vậy chúng không thực sự bị ẩn hoàn toàn. Nó cũng sẽ làm tôi ngạc nhiên nếu các máy quét vi-rút tốt hơn không biết về điều này và kiểm tra các khu vực 'ẩn' này, nhưng bạn có thể kiểm tra xem bằng cách cố tình đính kèm một tệp thực thi bị nhiễm vào tệp văn bản và xem liệu nó có được chọn không.


Bạn có thể vui lòng gửi một liên kết đến một thực thi như vậy để tôi có thể thử? ;)
R. Martinho Fernandes

Tôi khuyên bạn nên chạy AVG trên máy của mình và sau đó lấy một trong các tệp thực thi từ thư mục cách ly để thử;)
jerryjvl

2
@martinho, bạn muốn có tệp thử nghiệm EICAR: X5O! P% @ AP [4 \ PZX54 (P ^) 7CC) 7} $ EICAR-STANDARD-ANTIVIRUS-TEST-FILE! $ H + H * Chỉ cần dán văn bản đó (chính xác 68 byte văn bản ASCII, xem eicar.org/anti_virus_test_file.htm cho toàn bộ câu chuyện) vào một tệp có tên là phần mở rộng .COM. Nó sẽ chạy và in một tin nhắn. Trừ khi AV của bạn đang hoạt động, tất nhiên. Thả nó vào một luồng dữ liệu thay thế và kiểm tra ở đó quá.
RBerteig

@RBerteig: Này tuyệt ... không biết có một thứ như vậy.
jerryjvl

@jerryjvl, như họ nói, nó đánh bại việc kiểm tra chuông báo cháy bằng cách thắp sáng thùng rác trên lửa ...
RBerteig

5

Đây là một bài viết hay về lỗ hổng bảo mật tiềm năng được đặt ra bởi Luồng dữ liệu thay thế .


6
<nitpick> Đây là một lỗ hổng, không phải là mối đe dọa </ nitpick>. Và nó không phải là một thỏa thuận lớn như nó có vẻ. Bạn cần phải có thông tin đăng nhập để sử dụng nó.
romandas

Không thành vẫn đề. Btw, kiểm tra chính tả của bạn. Và luôn luôn nhớ: Các mối đe dọa khai thác lỗ hổng. Các mối đe dọa là con người, thông thường, nhưng các thảm họa tự nhiên và được tạo ra cũng được tính.
romandas

@romandas, bạn đã cần những thông tin gì? Ở nhà, hầu hết người dùng Windows (đặc biệt là XP) đang chạy với các đặc quyền của Quản trị viên, vậy tại sao điều này không phải là vấn đề lớn?
Tro

@ashh, "với một phương thức ẩn ... trên một hệ thống bị vi phạm". Hệ thống phải được thỏa hiệp ngay từ đầu để che giấu bất cứ điều gì, và tương tự để thực hiện bất cứ điều gì ẩn như thế này.
KTC

5

Câu hỏi hay, tôi đã không nhận thức đúng về ADS cho đến năm ngoái và tôi đã là một nhà phát triển Windows trong nhiều năm. Tôi có thể đảm bảo rằng tôi không đơn độc về điều này.

Liên quan đến việc có thể kiểm tra dữ liệu thay thế trên các tệp, tôi tìm thấy công cụ nhỏ hữu ích có tên Lads có sẵn từ phần mềm Frank Heyne. Nó có thể liệt kê ADS trên tất cả các tệp trong một thư mục nhất định, ngay cả trên các tệp được mã hóa (và cả trong các thư mục con).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.