لائحة الطعام
مجاني
تحقق في
الرئيسي  /  النصيحة/ برنامج يستخدم تدفقات ntfs بديلة. تدفقات البيانات البديلة في NTFS أو كيفية إخفاء المفكرة

برنامج يستخدم تدفقات NTFS البديلة. تدفقات البيانات البديلة في NTFS أو كيفية إخفاء المفكرة

الغرض من هذه المقالة هو شرح معنى
تدفقات البيانات البديلة
في غرف العمليات أنظمة النوافذ,
شرح كيفية إنشائها و
المساومة على السيارة ، وكيفية العثور عليها
الملفات المخفية باستخدام الملفات العامة
خدمات. الخطوة الأولى هي أن تدرك
معنى ADS والتهديد الذي تشكله إذن
دعونا نرى كيف يتم استخدامها للقرصنة
وأخيرًا سننظر في الأدوات
لاكتشاف النشاط وكيف
وقف المزيد من العمل غير القانوني مع
معهم.

لماذا؟

ظهرت تدفقات البيانات الإضافية في
Windows مع NTFS. في الواقع ، بقدر ما أنا
أنا أفهم ، لم يكن هناك معنى معين فيهم - هم
تم صنعه للتوافق مع HFS ، القديم
نظام ملفات ماكنتوش - نظام الملفات الهرمي. عمل
هو أن نظام الملفات هذا يستخدم
كل من مفترق البيانات وشوكة الموارد لـ
تخزين المحتوى. شوكة البيانات
وفقًا لذلك ، مسؤول عن المحتوى
المستند وفرع الموارد لـ
تحديد الملف - نوعه وغيره
البيانات. في الوقت الحاضر عن الوجود
تدفقات إضافية من المستخدمين العاديين
قلة من الناس يعرفون. ومع ذلك ، في عالم الكمبيوتر
الأمن تلقوا بعض
انتشار. على سبيل المثال المتسللين الأشرار
استخدم ADS لتخزين الملفات على
أجهزة الكمبيوتر المخترقة ، وأحيانًا أيضًا
تستخدم من قبل الفيروسات والبرامج الضارة الأخرى. عمل
لأن بيت القصيد هو أن هذه التيارات ليست كذلك
ينظر إليها بالطرق التقليدية ، نفس الشيء
مستكشف أو سطر الأوامر. من
هل هذه التيارات مثيرة للاهتمام؟ وحقيقة ذلك في القضية
تحقيقات السطو لا تدفع دائما
الانتباه إليهم ، إلى جانب ذلك ، ليس كل برامج مكافحة الفيروسات
بشكل افتراضي ، يتم عرض التدفقات بتنسيق
البحث عن البرامج الضارة.

الى حد، الى درجة

لفهم الخطر الحقيقي
ستوضح ADS بشكل أفضل كيفية العمل معهم.
في المثال ، نستخدم Metasploit Framework لاختراق
داخل السياره. للقيام بذلك ، نستخدم الثغرة الأمنية
MS04-011 (lsass). بعد ذلك ، باستخدام TFTP ، سنقوم بتحميل الملفات ،
التي سنضعها في تيارات إضافية
البيانات. بمجرد الانتهاء
قم بتشغيل الآلة البعيدة من الأمر
الماسح الضوئي للسلسلة الذي سيفحص الشبكة بحثًا عن
وجود سيارات أخرى. ملحوظة،
التي قدمها مؤلفو إطار عمل Metasploit الخاصة بهم
إنشاء مع METASPLOIT التوقيع ، بحيث المبدعين
يمكن أن تحدد برامج الأمان الحزمة ،
المنتهية ولايته من MF. انتبه للحزمة ،
قادم من المهاجم:

هنا 192.168.1.102 هو كمبيوتر المهاجم
الذي يحتوي على Metasploit Framework ، و 192.168.1.101 هو
جهاز كمبيوتر ضعيف مع Win2K الأستاذ. في هذه الحالة ، المحور
يتم تسليمها بدون تصحيحات وحزم خدمة ،
لأغراض العرض فقط
:). يرجى ملاحظة أن ADS وحدها ليست كذلك
مفيدة للغاية ، فهي مبهجة بشكل طبيعي
المهاجم فقط إذا كان هناك
الوصول إلى الجهاز ، ضعف النظام في
نظام التشغيل. على شبكة حقيقية ، أنت
من غير المحتمل أن تجد W2K غير مصحح ، لذلك
يجب أن نبحث عن مبادئ أخرى
اختراق.

أدناه نرى أن الهجوم كان ناجحًا ومتواصلًا
الآلة المهاجمة لها غلاف عكسي مفتوح ،
تم التخلي عنها من قبل الضحية. الافتراضي لهذا
تستخدم ثغرة Metasploit المنفذ 4321 ،
ومع ذلك يمكن تغييره:

بعد أن اخترقت السيارة ، يجب أن تنقل هناك
الملفات. لهذا نستخدم TFTP في هذا
إذا حصلنا على ipeye.exe.

بنفس الطريقة ، قم بتنزيل psexec.exe و pslist.exe و
برنامج klogger.exe. لنقم بعمل قائمة بالدليل C: \ Compaq \ ،
حيث أقسم كل شيء:

الآن دعنا نخرج ipeye.exe من الدفق ،
المرتبطة بملف موجود
ملف_اختبار.

ثم يمكن فعل الشيء نفسه مع الرِّكاب
الملفات الأخرى اللازمة للعمل.
يرجى ملاحظة أن البديل
يمكن تنظيم التدفق ليس فقط من أجل
الملفات ، ولكن أيضًا للأدلة ، نفس C: \ k
مثال. دعنا نطلق الماسح الذي نتحدث عنه
تحدث في البداية ، ipeye.exe ، على المصابين
الحاسوب:

ج: Compaq test_file: ipeye.exe

(يتبع)

يحتوي نظام الملفات NTFS على العديد من الميزات المثيرة للاهتمام ، أحدها هو توفر تدفقات البيانات البديلة (ADS). جوهرها هو أن كل ملف في NTFS عبارة عن مجموعة من التدفقات التي يتم تخزين البيانات فيها. بشكل افتراضي ، تكون جميع البيانات في الدفق الرئيسي ، ولكن يمكن إضافة تدفقات بيانات بديلة إضافية إلى الملف إذا لزم الأمر.

ملحوظة.ظهرت تدفقات البيانات البديلة في NTFS منذ وقت طويل ، مرة أخرى في Windows NT. تم إنشاؤها من أجل التوافق مع نظام ملفات HFS ، والذي تم استخدامه بعد ذلك على نظام MacOS. احتفظ نظام HFS ببيانات الملف على تدفق موارد مخصص.

تنقسم الملفات في NTFS إلى سمات ، أحدها $ DATA ، أو سمة البيانات. التدفقات هي خصائص إضافية للسمة $ DATA. افتراضيا ، هناك واحد ، الموضوع الرئيسي بيانات دولار: ″ ″... كما ترى ، ليس لها اسم ، لذلك يطلق عليها غير مسمى... أيضًا ، إذا كنت ترغب في ذلك ، يمكنك إنشاء تدفقات إضافية مسماة ، على سبيل المثال. البيانات $: ″ Stream1 ″... يمكن أن يحتوي كل ملف في NTFS على العديد من تدفقات البيانات التي تحتوي على بيانات مختلفة غير مرتبطة.

تنتقل جميع البيانات المكتوبة إلى الملف إلى دفق البيانات الرئيسي افتراضيًا. عندما نفتح الملف ، نرى الدفق الرئيسي بالضبط ، بينما يتم إخفاء التدفقات البديلة عن المستخدم ولا يتم عرضها باستخدام الوسائل التقليدية. لا يمكن رؤيتهم الطرق القياسيةعلى الرغم من أن بعض البرامج يمكنها قراءة البيانات المخفية فيها. يمكنك أيضًا استخدام سطر الأوامر للعمل مع التدفقات.

على سبيل المثال ، دعنا نفتح وحدة تحكم ونستخدم الأمر echo لإنشاء ملف نصي streams.txt واكتب النص فيه:

صدى هذا هو التدفق الرئيسي> streams.txt

وباستخدام الأمر التالي ، اكتب النص إلى الدفق البديل 1:

صدى هذا تيار بديل> streams.txt: stream1

إذا فتحت الآن ملف streams.txt في أي ملف محرر النص، ثم سنرى الإدخال الأول فقط ، وسيظل النص "هذا تيار بديل" مخفيًا. يمكنك قراءة المعلومات المخفية في الدفق 1 باستخدام الأمر:

أكثر

يمكن إضافة التدفقات البديلة ليس فقط إلى الملفات الفردية ، ولكن أيضًا إلى الدلائل. على سبيل المثال ، دعنا نضيف تيارًا بديلاً Stream2 يحتوي على النص "إخفاء الدفق في التدفقات" إلى دليل Streams الحالي:

صدى إخفاء الدفق في التدفقات>: stream2

وسنعرض الدفق stream2 بالأمر التالي:

أكثر<:stream2

يمكن فتح محتوى التدفقات البديلة في أكثر من مجرد وحدة التحكم. على سبيل المثال ، يمكن لـ Notepad أيضًا الوصول إلى البيانات المخفية في التدفقات إذا قمت بتحديد اسم دفق بديل في اسم الملف مفصولاً بنقطتين. دعنا نكرر المثال السابق ، ونغير قليلاً اسم الدفق إلى stream1.txt:

صدى هذا تيار بديل> streams.txt: stream1.txt

وافتح دفقًا بديلًا في المفكرة باستخدام الأمر:

المفكرة streams.txt: stream1.txt

ملحوظة.يتطلب Standard Notepad امتداد txt في اسم الدفق ، وإلا فلن يتمكن من فتحه. يمكن للمحررين الأكثر تقدمًا ، على سبيل المثال نفس Notepad ++ ، إظهار محتوى الدفق البديل بغض النظر عن اسمه.

لا يتم عرض وجود تدفقات بديلة في الملف بأي شكل من الأشكال في Explorer وغيره مديري الملفات... أسهل طريقة للعثور عليهم هي استخدام الأمر دير / ص(تبدأ بـ نظام التشغيل Windows Vista) ، والذي يُظهر جميع تدفقات البيانات ، بما في ذلك التدفقات البديلة.

قد تعتقد أن استخدام التدفقات البديلة يقتصر على البيانات النصية. هذا ليس هو الحال على الإطلاق ، ويمكن تخزين أي معلومات على الإطلاق في تدفقات بديلة. على سبيل المثال ، لنقم بإنشاء ملف picture.txt وإضافة تدفق pic1.jpg إليه ، حيث نضع الصورة التي تحمل الاسم نفسه:

صدى الصورة> picture.txt
اكتب pic1.jpg> picture.jpg: pic1.jpg

وهكذا ، ظاهريًا ، لدينا ملف نصي عادي ، وفتح صورة من دفق بديل في محرر الرسومالرسام نستخدم الأمر:

mspaint picture.txt: pic1.jpg

وبالمثل ، يمكنك إضافة أي بيانات إلى أي نوع من الملفات - إضافة صور إلى ملفات نصية ، وإضافة معلومات نصيةومن المثير للاهتمام ، أن المحتوى البديل لا يزيد من حجم الملف الظاهر ، على سبيل المثال ، إضافة مقطع فيديو عالي الدقة بحجم 30 جيجابايت إلى ملف نصي 1 كيلوبايت ، وسيظل Explorer يعرض حجم الملف 1 كيلوبايت.

يمكنك أيضًا إخفاء الملفات القابلة للتنفيذ في التدفقات البديلة. على سبيل المثال ، لنأخذ ملف test.txt ونضيف تطبيق المفكرة (notepad.exe) إلى دفق note.exe البديل:

اكتب notepad.exe> ​​test.txt: note.exe

ولإطلاق مفكرة مخفية ، استخدم الأمر:

ابدأ. \ test.txt: note.exe

بالمناسبة ، يتم استغلال هذه الفرصة من قبل بعض البرامج الضارة ، مضيفة التعليمات البرمجية القابلة للتنفيذ إلى البديل تدفقات NTFS.

فائدة تيارات

هناك العديد من الأدوات المساعدة التابعة لجهات خارجية للعمل مع التدفقات البديلة ، على سبيل المثال الأداة المساعدة لوحدة التحكم Streams من Sysinternals. يمكنه اكتشاف وجود تيارات بديلة وحذفها. الأداة لا تتطلب التثبيت ، يكفي فكها وتشغيلها. على سبيل المثال ، دعنا نتحقق من وجود التدفقات في مجلد Streams باستخدام الأمر:

Streams.exe -s C: \ Streams

وإزالة التدفقات البديلة من ملف streams.txt:

Streams.exe -d C: \ Streams \ streams.txt

بوويرشيل

يعرف PowerShell أيضًا كيفية العمل مع التدفقات البديلة - إنشاء المحتوى واكتشافه وعرضه وحتى حذفه. على سبيل المثال ، لنقم بإنشاء ملف نصي:

عنصر جديد - نوع الملف - المسار C: \ Streams \ stream.txt

دعنا نضيف إدخالًا إلى الدفق الرئيسي:

Set-Content -Path C: \ Streams \ stream.txt -Value ″ تيار رئيسي

وإلى تيار بديل اسمه الثاني:

Set-Content -Path C: \ Streams \ stream.txt -Value ″ Second Stream ″ -Stream Second

ثم سنعرض محتويات الرئيسي

Get-Content -Path C: \ Streams \ stream.txt

وتيارات بديلة:

Get-Content -Path C: \ Streams \ stream.txt -Stream Second

لاكتشاف وجود تدفقات بديلة ، يمكنك استخدام الأمر:

Get-Item -Path C: \ Streams \ stream.txt -Stream *

ويمكنك إزالة التدفقات غير الضرورية باستخدام الأمر:

إزالة العنصر - المسار C: \ Streams \ streams.txt -Stream *

استخدام

يتم استخدام التدفقات البديلة بواسطة كل من Windows نفسه وبعض البرامج. على سبيل المثال، متصفح الانترنتيقسم الشبكة إلى 4 مناطق أمان ، وعند تحميل الملفات ، يضيف إليها تسميات تحتوي على معلومات حول المنطقة التي تم تنزيلها منها.

يتم تخزين هذه الملصقات في التدفق البديل وتمثل رقمًا من 0 إلى 4:

الإنترنت (3)
شبكة محلية (1)
المواقع الموثوقة (2)
المواقع الخطرة (4)
كمبيوتر محلي (0)

للتحقق من ذلك ، دعنا ننتقل إلى مجلد التنزيلات ، ونأخذ الملف الذي تم تنزيله من الإنترنت وتحقق من وجود تدفقات بديلة. كما ترى ، يحتوي على دفق اسمه المنطقةالذي يحتوي على الخط معرف المنطقة = 3.

هذا يعني أن الملف ينتمي إلى منطقة الإنترنت غير الموثوق بها ، ويجب أن تكون حذرًا عند فتحه. تقرأ بعض البرامج ، مثل Word ، هذه البيانات عند فتح الملف وإصدار تحذير.

أيضًا ، تستند البنية التحتية لتصنيف الملفات (FCI) إلى استخدام التدفقات البديلة. ل برامج الجهات الخارجيةاستخدام تيارات بديلة بعض برامج مكافحة الفيروسات، على وجه الخصوص ، يقوم برنامج Kaspersky Anti-Virus بتخزين المجموع الاختباري الذي تم الحصول عليه نتيجة الفحص.

ومع ذلك ، فإن استخدام التدفقات البديلة لا يقتصر على هذا ، يمكنك أن تبتكر أي استخدام لها بنفسك. على سبيل المثال ، بمساعدتهم ، يمكنك إخفاء المعلومات الشخصية عن أعين المتطفلين. يمكن نسخ الملفات التي تحتوي على تدفقات بديلة بحرية أو نقلها من قرص إلى قرص ، وسيتم نسخ جميع التدفقات مع الملف.

ومع ذلك ، عند استخدام التدفقات البديلة ، تذكر أنها مرتبطة بشكل صارم بنظام الملفات NTFS. من أجل استخدامها ، يجب أن تكون الملفات موجودة على أقراص مع NTFS ، على التوالي ، يمكنك العمل معهم فقط من خلال Windows. إذا قمت بنقل الملف إلى أي ملف آخر نظام الملفات، ثم ستفقد جميع التدفقات باستثناء التدفقات الرئيسية. يتم أيضًا اقتطاع التدفقات البديلة عند نقل الملفات عبر FTP أو عند الإرسال كمرفق بريد إلكتروني.
مأخوذة من http://windowsnotes.ru/other/alternativnye-potoki-dannyx-v-ntfs/

حتى الآن:
ADS هي ميزة ملف مضمنة أنظمة NTFSالتي لا يمكن إيقاف تشغيلها بأي شكل من الأشكال.

يسمح لك ADS بإضافة أي ملفات إلى ملفات أخرى وحتى الدلائل (!). يستخدم نظام التشغيل نفسه هذا من وقت لآخر ، مضيفًا تدفق "Zone.Identifier" إلى الملفات التي تم تنزيلها من الإنترنت

بالمناسبة ، يمكن تحرير Zone.Identifier للتخلص من التحذيرات "تم تنزيل هذا الملف من الإنترنت. فتح في الوضع الآمن؟ "

يمكنك إضافة دفق إلى أي ملف مثل هذا:
اكتب file1> file2: file3

في محاولة لايجاد
دير / ص

تشغيل exe مثل هذا:
بدء file2: file3

إذا لم تنجح ، فحينئذٍ مثل هذا:
mklink file4 ملف 2: file3
بدء file4

سيؤدي هذا ، على سبيل المثال ، إلى ربط الآلة الحاسبة بمحرك الأقراص الجذر C (!) وتشغيلها من خلال الرابط

كتب المقال لمجلة "هاكر" عام 2004. وقد صدر في العدد 09/04 (69) بعنوان "التيارات المدمرة".

عند التقاط نظام NT آخر وتثبيت برنامج تجسس محلي الصنع فيه ، تحتاج إلى حل مشكلة تخزين المعلومات التي تم جمعها على كمبيوتر الضحية. عادة ما تتم كتابة السجل في ملف بسيط في الدليل بامتداد كمية كبيرةالملفات ، على سبيل المثال ، في system32.

ميزات NTFS

إنه شائع ، لكنه بعيد كل البعد عن ذلك أفضل طريقةإخفاء المعلومات الموجودة على الكمبيوتر المحلي. هناك احتمال أن يلاحظ المستخدم ملفًا إضافيًا يتم تحديثه باستمرار يظهر فجأة في دليل النظام الخاص به. إلحاق سجل بملف موجود؟ أولاً ، تحتاج إلى العثور على مثل هذا الملف ، وإضافة المعلومات التي لن تفسد محتوياته. ماذا عن حفظ المعلومات في مكان لن يكون مرئيًا من Explorer أو سطر الأوامر أو أي مدير ملفات؟ يتم توفير هذه الفرصة لنا من خلال نظام الملفات NTFS. نادرًا ما تشاهده على جهاز كمبيوتر منزلي عادي ، حيث لا يزال معظم المستخدمين يفضلون FAT32 ، حتى أولئك الذين يستخدمون XP. ولكن من ناحية أخرى ، في الشبكة المحلية لأي شركة تعمل بنظام Win2k / XP ، يتم استخدام NTFS بشكل شبه مؤكد ، لأن نظام الملفات هذا يوفر ميزات مثل تعيين حقوق الوصول للمستخدمين ، وتشفير الملفات وضغطها. بالإضافة إلى ذلك ، يعتبر NTFS أكثر موثوقية من FAT32. لذا فإن طريقة إخفاء البيانات التي سأصفها مثالية للتجسس الصناعي. مع ظهور Longhorn ، أصبح لدى NTFS فرصة لشق طريقها إلى أجهزة الكمبيوتر المنزلية أيضًا ، كما يعد نظام ملفات WinFS المرتقب المستند إلى NTFS ميزات إضافيةلتنظيم المعلومات التي يجب أن تجذب المستخدمين العاديين والبحث عنها.

أرفق أي بيانات بالملف

تتمثل الطريقة في حفظ البيانات ليس في ملف ، كالمعتاد ، ولكن في دفق ملف NTFS. يمكن إرفاق دفق بملف آخر (بينما لا يتغير حجمه ، وتظل البيانات سليمة ، مما يعني أن الأدوات المساعدة التي تتحقق من المجاميع الاختبارية للملفات لن تلاحظ التغييرات) ، إلى دليل أو قرص. تدفقات الملفات البديلة يعد NTFS إحدى ميزات NTFS التي كانت موجودة فيه منذ الأقدم إصدارات Windows NT. يتكون من حقيقة أن ملف واحد يمكن أن يحتوي على عدة تدفقات تحتوي على بيانات ، وأن الدفق الرئيسي فقط متاح للمستخدم ، حيث يتم تخزين محتويات الملف. يوجد شيء مشابه في نظام ملفات HFS على نظام Macintosh. هناك تيارات تسمى شوك. حتى وقت قريب ، تم استخدامها كمستودع لموارد الملفات أو تحتوي على معلومات حول نوع الملف. مع ظهور macOS X ، أوصت Apple بوضع الموارد فيه ملفات منفصلة، وأنواع الملفات التي تحددها الامتدادات. لكن تقديم الدعم لا يزال قائما. على نظام التشغيل Windows ، تُستخدم التدفقات عادةً لتخزين نوع من ملفات معلومة اضافيةحول الملف. على سبيل المثال ، قد يحتوي التدفق على ملخص لمستند. إذا كان النظام موجودًا على قرص به NTFS ، فمن المحتمل أن يحتوي ملف explorer.exe على ملخص. اعتمادًا على محتوى الملخص ، قد يتم إرفاق التدفقات المسماة SummaryInformation و DocumentSummaryInformation وبعضها الآخر بالملف. على جهاز الكمبيوتر الخاص بي ، وجدت دفقًا باسم $ MountMgrRemoteDatabase مرفق بمحرك الأقراص C.

يمكن للمستخدم التعرف على التدفقات المرفقة بملف فقط في بعض الحالات ، على سبيل المثال ، عند نسخ ملف به دفق مرفق إلى قرص FAT / FAT32. أنظمة الملفات هذه لا تدعمها ، لذلك سيطلب منك النظام تأكيد فقدان المعلومات في التدفقات من خلال تحديد أسمائها. بالطبع ، لن يظهر هذا الموقف أبدًا إذا تم توصيل الدفق بقرص أو بمجلد نظام. ليس من الضروري استخدام التدفقات لأغراض التجسس. إذا كنت مطورًا لبرامج كومبيوتري ، فيمكنك بسهولة استخدام التدفقات لتخزين معلومات حول التسجيل ، وعدد الأيام قبل تاريخ انتهاء الصلاحية ، بكلمة واحدة ، كل ما يجب إخفاؤه عن مستخدم برنامجك.

العمل مع تيارات

هناك أوجه تشابه واختلاف في العمل مع الملفات والتدفق. لا توجد أشياء كثيرة مماثلة. يتم إنشاء كل من الملفات وتدفقاتها وحذفها بواسطة نفس وظائف WinAPI CreateFile و DeleteFile. يتم تطبيق القراءة والكتابة بواسطة الدالتين ReadFile و WriteFile ، على التوالي. هذا هو المكان الذي تنتهي فيه أوجه التشابه ؛ وهناك بعض الاختلافات. يمكن أن تحتوي أسماء الدفق على أحرف خاصة لا يمكن أن تكون جزءًا من اسم ملف عادي: مثل "*" ، "؟" ، "<”, “>"،" | " وحرف الاقتباس. بشكل عام ، يتم حفظ أي اسم دفق بتنسيق Unicode. يمكن أيضًا استخدام أحرف الخدمة من النطاق 0x01 - 0x20. لا توجد وظيفة قياسية لنسخ الدفق ونقله: لا يعمل MoveFile و CopyFile مع التدفقات. لكن لا أحد يكلف نفسه عناء كتابة وظائفه. تدفقات تفتقر إلى سماتها الخاصة ، وتواريخ الإنشاء والوصول. يتم توريثها من الملف الذي تم إرفاقها به. إذا كانت هناك أي بيانات في الملف نفسه ، فيمكن أيضًا تمثيلها على أنها دفق. يتم عرض أسماء الدفق كـ "filename: stream_name: attribute". تسمى السمة القياسية للدفق الذي يحتوي على البيانات بالدولار Data. هناك العديد من السمات الأخرى التي تبدأ أسماؤها أيضًا بعلامة "$". محتويات الملف موجودة في دفق غير مسمى (اسم الملف :: $ DATA). تم إقران خطأ بهذه الخاصية الخاصة بنظام الملفات لتقديم محتويات ملف على هيئة تدفق إصدارات Microsoft IIS ، عندما أراد أحد المتطفلين اكتشاف نص نص برمجي على خادم ضعيف ، أضاف ببساطة ":: $ DATA" إلى اسمه ، وقام الخادم ، بدلاً من تنفيذ البرنامج النصي ، بإصدار كود المصدر الخاص به. يشبه العمل مع التدفقات العمل مع الملفات. ألق نظرة على القائمة 1. هذا مثال بسيط لبرنامج يقوم بإنشاء ملف تدفق وكتابة المعلومات إليه. بعد بدء تشغيل البرنامج ، سيظهر ملف فارغ "testfile" في الدليل الخاص به. يمكنك رؤية محتويات الدفق المرفق عن طريق الكتابة سطر الأوامرأكثر< testfile:stream». Как видишь, имя потока указывается после имени файла, отделенное от него знаком двоеточия. Самое трудное при работе с потоками – это получить их список для конкретного файла. Стандартной функции нет, и поэтому придется писать ее самому. Напишем небольшую برنامج وحدة التحكم، والذي سيعيد قائمة التدفقات حسب اسم الملف. الرجال من Sysinternals لديهم مثل هذا البرنامج ، مع المصدر المفتوحوهو يعمل ، لكنني لم أحب طريقتهم. يستخدمون مكالمات واجهة برمجة التطبيقات الأصلية ، وبالتالي فإن كودهم كبير ويصعب فهمه. سنكتب برنامجنا الخاص الذي سيعمل من سطر الأوامر ، مع خوارزمية أبسط مع وظائف API القياسية.

احصل على قائمة التدفقات

تعتمد الخوارزمية على استخدام وظيفة BackupRead. تم تصميمه ل نسخة احتياطيةالملفات. عندما تفعل دعمملف ، من المهم حفظ أكبر قدر ممكن من البيانات ، بما في ذلك تدفقات الملفات. يتم أخذ المعلومات من بنية WIN32_STREAM_ID. من هناك يمكنك الحصول على اسم الدفق ونوعه وحجمه. نحتاج فقط إلى تدفقات من النوع BACKUP_ALTERNATE_DATA. تم وصف جميع الوظائف والهياكل في الملف الاساسي winnt.h. أولاً ، تحتاج إلى فتح الملف للقراءة باستخدام CreateFile. في المعلمة dwFlagsAndAttributes ، يجب عليك تحديد علامة FILE_FLAG_BACKUP_SEMANTICS ، والتي ستتيح لك ليس فقط فتح الملفات ، ولكن أيضًا الدلائل. ثم نبدأ حلقة while التي تقرأ معلومات حول الملف في بنية sid ، والتي من خلالها سنحصل على معلومات حول كل مؤشر ترابط. قبل المرور التالي للحلقة ، امسح البنية وانقل مؤشر الملف إلى التدفق التالي باستخدام وظيفة BackupSeek. بعد العثور على جميع التدفقات ، امسح lpContext الذي يحتوي على معلومات الخدمة وأغلق الملف. يظهر الكود المصدري للبرنامج في القائمة 2. يمكنك أن تأخذ البرنامج المترجم بالفعل من القرص الخاص بنا. لا تحتاج إلى كتابة برامج خاصة للعمل مع التدفقات. يمكنك القيام ببعض الأشياء مباشرة من سطر الأوامر. انظر الشريط الجانبي لبعض الأمثلة.

كشف

بمجرد إرفاق تيار من المعلومات بشيء ما ، يصعب الوصول إلى محتوياته دون معرفة اسمه. إذا تم إرفاق دفق بوحدة تخزين منطقية ، فلا يوجد في Windows الأدوات القياسيةللعثور عليه. نظرًا لأن اسم الدفق قد يحتوي على أحرف غير صالحة لأسماء الملفات العادية ، فإن هذا يخلق صعوبات إضافية عند محاولة اكتشاف محتويات الدفق باستخدام سطر الأوامر. عادةً ما يتم تخزين محتوى ملخص المستند في تدفق بعنوان يحتوي على رمز الحرف 0x05. يمكن كتابة هذا الحرف في وحدة التحكم (Ctrl + E) ، ولكن إذا كان حرفًا 0x10 أو 0x13 (حرف إرجاع وتغذية سطر) ، فسيكون من المستحيل كتابتهما. من الناحية النظرية ، يمكنك التعرف على التدفقات المرفقة عن طريق الصدفة باستخدام بعض البرامج الموجودة على الأرجح على جهاز الكمبيوتر الخاص بك. يوجد خيار في WinRAR ، وإذا تم تمكينه ، فقد تلاحظ أن حجم الملف الصغير الموضوع في الأرشيف لا يتناقص فحسب ، بل يزداد أيضًا (نظرًا لحقيقة أن البيانات الموجودة في التدفقات يتم وضعها أيضًا في أرشيف). قد يثير هذا الشك. برنامج تتبع المكالمات إلى نظام الملفات - FileMonitor من نفس Sysinternals - لا يميز بين استدعاءات الملفات أو التدفقات. وفقًا لذلك ، ستعطي دراسة متأنية لسجل الوصول إلى القرص لبرنامج مشبوه (برنامج keylogger الخاص بك) اسم الدفق حيث تمت كتابة السجل واسم الملف الذي تم إرفاقه به.

الفيروسات

في سبتمبر 2000 ، ظهر أول فيروس يستخدم تدفقات ملفات بديلة لتوزيعه. كان W2k.Stream أول ممثل لنوع جديد من الفيروسات - رفيق البث. يبحث في دليله عن ملفات exe. ، وإذا وجدها ، فإنه يبدأ عملية الإصابة. يتم إرفاق دفق إضافي بالملف ، حيث يقوم الفيروس بنقل محتويات الملف الأصلي ، ثم يتم نسخ جسم الفيروس إلى التدفق الرئيسي للملف. بعد تشغيل ملف مصاب ، يحاول الفيروس إصابة الملفات الموجودة في دليله مرة أخرى ثم يقوم بتشغيل البرنامج من سلسلة رسائل إضافية. في الواقع ، باستخدام وظيفة CreateProcess ، يمكنك بدء عملية من سلسلة رسائل. علاوة على ذلك ، يمكن حذف الملف الذي يحتوي على الدفق بأمان ، لكن العملية ستبقى. مجرد قصة خيالية لأحصنة طروادة! على الرغم من حقيقة أن ما يقرب من أربع سنوات قد مرت منذ ظهور W2K.Stream ، ليست كل برامج مكافحة الفيروسات قادرة على اكتشافها كود خبيثفي ملف تيارات. لذلك ، فإن ظهور ديدان وفيروسات جديدة تستخدمها يمكن أن يشكل تهديدًا خطيرًا.

فيروسات أخرى تستخدم التدفقات

إلى جانب W2K.Stream ، وجدت التدفقات استخدامها في الفيروسات والديدان الأخرى. أول دودة تستخدم تدفقات الملفات كانت I-Worm.Potok. يقوم هذا الحيوان بإرفاق عدة مؤشرات ترابط بملف odbc.ini في دليل Windows ويخزن البرامج النصية هناك لإرسال نفسه بالبريد. فيروس آخر هو فريق W2k. يمكنك العثور على وصف لهذه الفيروسات وغيرها من الفيروسات المشابهة على http://www.viruslist.com/

العمل مع تيارات من وحدة التحكم

إنشاء ملف مع دفق:
اكتب nul> somefile.txt: دفق

تسجيل الدفق:
صدى "شيء ما" >> somefile.txt: دفق

القراءة من دفق:
أكثر< somefile:Stream

نسخ محتويات ملف موجود إلى دفق:
اكتب file1.txt >> somefile.txt: Stream

نسخ محتوى الدفق إلى ملف:
أكثر< somefile.txt:Stream >> file2.txt

إزالة التدفقات

هناك رأي مفاده أنه لا يمكن حذف التدفق إلا مع الملف المرفق به. هذا ليس صحيحا. إذا كنت تعرف اسم الدفق ، فيمكنك دائمًا حذفه باستخدام وظيفة DeleteFile القياسية.

قائمة 1. مثال على إنشاء تيار.

#تضمن int main () (DWORD dwRet؛ HANDLE hStream = CreateFile ("testfile: stream"، GENERIC_WRITE، FILE_SHARE_WRITE، NULL، OPEN_ALWAYS، NULL، NULL)؛ WriteFile (hFile، "This is a stream"، 17، & dwRet، NULL) ؛ CloseHandle (hStream)؛ إرجاع 0؛)

قائمة 2. X-Stream: برنامج يعرض قائمة من التدفقات

#تضمن #تضمن #تضمن #تضمن int _tmain (int argc، _TCHAR * argv) (WIN32_STREAM_ID sid؛ ZeroMemory (& sid، sizeof (WIN32_STREAM_ID))؛ DWORD dw1، dw2، dwRead؛ INT numofstreams = 0؛ // Buffer لاسم الدفق بتنسيق Unicode C WCHAR = ws NULL ؛ / * * افتح الملف للقراءة باستخدام المعلمة * FILE_FLAG_BACKUP_SEMANTICS ، والتي تتيح لنا * فتح الملفات ليس فقط ، ولكن أيضًا الدلائل التي تحتوي على أقراص. * / HANDLE hFile = CreateFile (argv، GENERIC_READ، FILE_SHARE_READ، NULL، FILE_SHARE_READ، NULL ، FILE_FEXLISTING، NULL)؛ if (hFile == INVALID_HANDLE_VALUE) (printf ("\ n الخطأ: تعذر فتح ملف أو دليل أو قرص٪ s \ n" ، argv) ؛ خروج (0) ؛) DWORD dwStreamHeaderSize = (LPBYTE) & sid.cStreamName - (LPBYTE) & sid + sid.dwStreamNameSize؛ printf ("\ n معلومات التدفق لـ٪ s: \ n"، argv)؛ while (BackupRead (hFile، (LPBYTE) & sid، dwStreamHeaderSize، & dwRead، FALSE ، TRUE، & lpContext)) (/ / إذا كان نوع الدفق غير صحيح ، فإننا نكسر الحلقة إذا (sid.dwStreamId == BACKUP_INVALID) break؛ ZeroMemory (& wszStreamName، sizeof (wszStreamName)) ؛ // احصل على اسم الدفق إذا (! BackupRead (hFile، (LPBYTE) wszStreamName، sid.dwStreamNameSize، & dwRead، FALSE، TRUE، & lpContext)) break؛ إذا (sid.dwStreamId == BACKUP_DATA || sid.dwStreamId == BACKUP_ALTERNATE_DATA) (numofstreams ++؛ printf ("\ n \ nStream \ t \ t #٪ u"، numofstreams) ؛ التبديل (sid.dwStreamId) (حالة BACKUP_DATA) : print ("\ n الاسم: \ t \ t :: $ DATA") ؛ فاصل ؛ الحالة BACKUP_ALTERNATE_DATA: printf ("\ n الاسم: \ t \ t٪ S" ، wszStreamName) ؛ فاصل ؛) printf ("\ n الحجم: \ t \ t٪ u \ n "، sid.Size)؛) // الانتقال إلى مؤشر الترابط التالي BackupSeek (hFile، sid.Size.LowPart، sid.Size.HighPart، & dw1، & dw2، & lpContext)؛ // امسح الهيكل قبل تمرير الحلقة التالية ZeroMemory (& sid، sizeof (sid)) ؛ ) // امسح lpContext الذي يحتوي على معلومات الخدمة // لوظيفة BackupRead BackupRead (hFile ، NULL ، NULL ، & dwRead ، TRUE ، FALSE ، & lpContext) ؛ // أغلق الملف CloseHandle (hFile) ؛ العودة 0 ؛ )

هناك أيضًا ما يلي حول موضوع تدفقات الملفات:

  • NTFS Stream Explorer 2.00 برنامج للعمل مع تدفقات NTFS و

تدفقات البيانات البديلة في NTFS

يحتوي نظام الملفات NTFS على العديد من الميزات المثيرة للاهتمام ، أحدها هو توفر تدفقات البيانات البديلة (ADS). جوهرها هو أن كل ملف في NTFS عبارة عن مجموعة من التدفقات التي يتم تخزين البيانات فيها. بشكل افتراضي ، تكون جميع البيانات في الدفق الرئيسي ، ولكن يمكن إضافة تدفقات بيانات بديلة إضافية إلى الملف إذا لزم الأمر.

ملحوظة.ظهرت تدفقات البيانات البديلة في NTFS منذ وقت طويل ، مرة أخرى في Windows NT. تم إنشاؤها من أجل التوافق مع نظام ملفات HFS ، والذي تم استخدامه بعد ذلك على نظام MacOS. احتفظ نظام HFS ببيانات الملف على تدفق موارد مخصص.

تنقسم الملفات في NTFS إلى سمات ، أحدها $ DATA ، أو سمة البيانات. التدفقات هي خصائص إضافية للسمة $ DATA. افتراضيا ، هناك واحد ، الموضوع الرئيسي بيانات دولار: ″ ″... كما ترى ، ليس لها اسم ، لذلك يطلق عليها غير مسمى... أيضًا ، إذا كنت ترغب في ذلك ، يمكنك إنشاء تدفقات إضافية مسماة ، على سبيل المثال. البيانات $: ″ Stream1 ″... يمكن أن يحتوي كل ملف في NTFS على العديد من تدفقات البيانات التي تحتوي على بيانات مختلفة غير مرتبطة.

تنتقل جميع البيانات المكتوبة إلى الملف إلى دفق البيانات الرئيسي افتراضيًا. عندما نفتح الملف ، نرى الدفق الرئيسي بالضبط ، بينما يتم إخفاء التدفقات البديلة عن المستخدم ولا يتم عرضها باستخدام الوسائل التقليدية. لا يمكن رؤيتها بطرق قياسية ، على الرغم من أن بعض البرامج يمكنها قراءة البيانات المخفية فيها. يمكنك أيضًا استخدام سطر الأوامر للعمل مع التدفقات.

على سبيل المثال ، لنفتح وحدة التحكم ونستخدم الأمر echo لإنشاء ملف نصي streams.txt وكتابة النص فيه:

صدى هذا هو التدفق الرئيسي> streams.txt

وباستخدام الأمر التالي ، اكتب النص إلى الدفق البديل 1:

صدى هذا تيار بديل> streams.txt: stream1

إذا فتحنا الآن ملف streams.txt في أي محرر نصوص ، فسنرى السجل الأول فقط ، وسيظل النص "هذا دفق بديل" مخفيًا. يمكنك قراءة المعلومات المخفية في الدفق 1 باستخدام الأمر:

أكثر

يمكن إضافة التدفقات البديلة ليس فقط إلى الملفات الفردية ، ولكن أيضًا إلى الدلائل. على سبيل المثال ، دعنا نضيف تيارًا بديلاً Stream2 يحتوي على النص "إخفاء الدفق في التدفقات" إلى دليل Streams الحالي:

صدى إخفاء الدفق في التدفقات>: stream2

وسنعرض الدفق stream2 بالأمر التالي:

أكثر<:stream2

يمكن فتح محتوى التدفقات البديلة في أكثر من مجرد وحدة التحكم. على سبيل المثال ، يمكن لـ Notepad أيضًا الوصول إلى البيانات المخفية في التدفقات إذا قمت بتحديد اسم دفق بديل في اسم الملف مفصولاً بنقطتين. دعنا نكرر المثال السابق ، ونغير قليلاً اسم الدفق إلى stream1.txt:

صدى هذا تيار بديل> streams.txt: stream1.txt

وافتح دفقًا بديلًا في المفكرة باستخدام الأمر:

المفكرة streams.txt: stream1.txt

ملحوظة.يتطلب Standard Notepad امتداد txt في اسم الدفق ، وإلا فلن يتمكن من فتحه. يمكن للمحررين الأكثر تقدمًا ، على سبيل المثال نفس Notepad ++ ، إظهار محتوى الدفق البديل بغض النظر عن اسمه.

لا يتم عرض وجود تدفقات بديلة لملف بأي شكل من الأشكال في Explorer ومديري الملفات الآخرين. أسهل طريقة للعثور عليهم هي استخدام الأمر دير / ص(بدءًا من Windows Vista) ، والذي يُظهر جميع تدفقات البيانات ، بما في ذلك التدفقات البديلة.

قد تعتقد أن استخدام التدفقات البديلة يقتصر على البيانات النصية. هذا ليس هو الحال على الإطلاق ، ويمكن تخزين أي معلومات على الإطلاق في تدفقات بديلة. على سبيل المثال ، لنقم بإنشاء ملف picture.txt وإضافة تدفق pic1.jpg إليه ، حيث نضع الصورة التي تحمل الاسم نفسه:

صدى الصورة> picture.txt
اكتب pic1.jpg> picture.jpg: pic1.jpg

وهكذا ، ظاهريًا ، لدينا ملف نصي عادي ، ولفتح صورة من دفق بديل في محرر رسومات الرسام ، سنستخدم الأمر:

mspaint picture.txt: pic1.jpg

وبالمثل ، يمكنك إضافة أي بيانات إلى أي نوع ملف - إضافة صور إلى ملفات نصية ، وإضافة معلومات نصية إلى ملفات الوسائط ، وما إلى ذلك. ومن المثير للاهتمام ، أن المحتوى البديل لا يزيد من حجم الملف المرئي ، على سبيل المثال ، إضافة 30 جيجابايت فيديو عالي الدقة إلى نص 1 كيلو بايت ملف ، سيظل المستكشف يعرض حجم الملف 1 كيلو بايت.

يمكنك أيضًا إخفاء الملفات القابلة للتنفيذ في التدفقات البديلة. على سبيل المثال ، لنأخذ ملف test.txt ونضيف تطبيق المفكرة (notepad.exe) إلى دفق note.exe البديل:

اكتب notepad.exe> ​​test.txt: note.exe

ولإطلاق مفكرة مخفية ، استخدم الأمر:

ابدأ. \ test.txt: note.exe

بالمناسبة ، تستغل بعض البرامج الضارة هذه الفرصة عن طريق إضافة تعليمات برمجية قابلة للتنفيذ إلى تدفقات NTFS البديلة.

فائدة تيارات

هناك العديد من الأدوات المساعدة التابعة لجهات خارجية للعمل مع التدفقات البديلة ، على سبيل المثال الأداة المساعدة لوحدة التحكم Streams من Sysinternals. يمكنه اكتشاف وجود تيارات بديلة وحذفها. الأداة لا تتطلب التثبيت ، يكفي فكها وتشغيلها. على سبيل المثال ، دعنا نتحقق من وجود التدفقات في مجلد Streams باستخدام الأمر:

Streams.exe -s C: \ Streams

وإزالة التدفقات البديلة من ملف streams.txt:

Streams.exe -d C: \ Streams \ streams.txt

بوويرشيل

يعرف PowerShell أيضًا كيفية العمل مع التدفقات البديلة - إنشاء المحتوى واكتشافه وعرضه وحتى حذفه. على سبيل المثال ، لنقم بإنشاء ملف نصي:

عنصر جديد - نوع الملف - المسار C: \ Streams \ stream.txt

دعنا نضيف إدخالًا إلى الدفق الرئيسي:

Set-Content -Path C: \ Streams \ stream.txt -Value ″ تيار رئيسي

وإلى تيار بديل اسمه الثاني:

Set-Content -Path C: \ Streams \ stream.txt -Value ″ Second Stream ″ -Stream Second

ثم سنعرض محتويات الرئيسي

Get-Content -Path C: \ Streams \ stream.txt

وتيارات بديلة:

Get-Content -Path C: \ Streams \ stream.txt -Stream Second

لاكتشاف وجود تدفقات بديلة ، يمكنك استخدام الأمر:

Get-Item -Path C: \ Streams \ stream.txt -Stream *

ويمكنك إزالة التدفقات غير الضرورية باستخدام الأمر:

إزالة العنصر - المسار C: \ Streams \ streams.txt -Stream *

استخدام

يتم استخدام التدفقات البديلة بواسطة كل من Windows نفسه وبعض البرامج. على سبيل المثال ، يقسم Internet Explorer الشبكة إلى 4 مناطق أمان ، وعند تنزيل الملفات ، يضيف إليها علامات تحتوي على معلومات حول المنطقة التي تم تنزيلها منها.

يتم تخزين هذه الملصقات في التدفق البديل وتمثل رقمًا من 0 إلى 4:

الإنترنت (3)
شبكة محلية (1)
المواقع الموثوقة (2)
المواقع الخطرة (4)
كمبيوتر محلي (0)

للتحقق من ذلك ، دعنا ننتقل إلى مجلد التنزيلات ، ونأخذ الملف الذي تم تنزيله من الإنترنت وتحقق من وجود تدفقات بديلة. كما ترى ، يحتوي على دفق اسمه المنطقةالذي يحتوي على الخط معرف المنطقة = 3.

هذا يعني أن الملف ينتمي إلى منطقة الإنترنت غير الموثوق بها ، ويجب أن تكون حذرًا عند فتحه. تقرأ بعض البرامج ، مثل Word ، هذه البيانات عند فتح الملف وإصدار تحذير.

أيضًا ، تستند البنية التحتية لتصنيف الملفات (FCI) إلى استخدام التدفقات البديلة. من برامج الجهات الخارجية ، يتم استخدام تدفقات بديلة بواسطة بعض برامج مكافحة الفيروسات ، على وجه الخصوص ، يقوم Kaspersky Anti-Virus بتخزين المجموع الاختباري الذي تم الحصول عليه نتيجة الفحص.

ومع ذلك ، فإن استخدام التدفقات البديلة لا يقتصر على هذا ، يمكنك أن تبتكر أي استخدام لها بنفسك. على سبيل المثال ، بمساعدتهم ، يمكنك إخفاء المعلومات الشخصية عن أعين المتطفلين. يمكن نسخ الملفات التي تحتوي على تدفقات بديلة بحرية أو نقلها من قرص إلى قرص ، وسيتم نسخ جميع التدفقات مع الملف.

ومع ذلك ، عند استخدام التدفقات البديلة ، تذكر أنها مرتبطة بشكل صارم بنظام الملفات NTFS. من أجل استخدامها ، يجب أن تكون الملفات موجودة على أقراص مع NTFS ، على التوالي ، يمكنك العمل معهم فقط من خلال Windows. إذا قمت بنقل الملف إلى أي نظام ملفات آخر ، فستفقد جميع التدفقات باستثناء النظام الرئيسي. يتم أيضًا اقتطاع التدفقات البديلة عند نقل الملفات عبر FTP أو عند الإرسال كمرفق بريد إلكتروني.

& nbsp & nbsp يواجه معظم مستخدمي أنظمة التشغيل الحديثة من عائلة Windows موقفًا عندما يفتح ملف المساعدة بتنسيق CHM (وحدة التعليمات المترجمة) جزئيًا فقط - يمكنك فقط عرض جدول المحتويات بدون محتويات عناصره :

بالإضافة إلى ذلك ، عند محاولة فتح ملف CHM الموجود في ملف مجلد الشبكةباستخدام مسار UNC (اصطلاح التسمية العالمي) ، على سبيل المثال \\ server \ h \ help.chm لا يتم عرض أقسامه. بمعنى آخر ، يمكنك عادةً عرض ملفات بتنسيق .chm فقط إذا لم يتم استلامها عبر الشبكة.

يتم ملاحظة صورة مماثلة عند محاولة فتح ملف قابل للتنفيذ تم تنزيله من الشبكة. سترى تحذيرًا أمنيًا:

علاوة على ذلك ، نفس الملف ، المستخرج من الأرشيف ، والذي تم تنزيله أيضًا من شبكات الإنترنت، على ال هذا الحاسوبيمكن أن تفتح دون أي مشكلة. في الواقع ، الاختلاف الوحيد هو أن الملف الجاري فتحه تم إنشاؤه محليًا ، في عملية فك الضغط ، ولم يتم تنزيله عبر الشبكة. بمعنى آخر ، يتمتع Windows بالقدرة على تحديد أصل الشبكة للملف ، والاستجابة لها باستخدام إعدادات أمان معينة.

آلية لتحديد أصل الشبكة للملفات.

في نظام الملفات NTFS ، يتم تمثيل كل ملف (أو دليل) كمجموعة العناصر الفرديةاتصل صفات... تعتبر العناصر مثل اسم الملف وإعدادات الأمان وحتى البيانات كلها سمات للملف. يتم تحديد كل سمة من خلال رمز نوع السمة ، واختيارياً ، اسم السمة. لذلك ، على سبيل المثال ، يتم تضمين اسم الملف في السمة اسم الملف، المحتوى موجود في السمة البيانات، معلومات حول المالك وحقوق الوصول - في السمة واصف الأمانإلخ. محتوى كل ملف (السمة $ DATA) هو مجموعة تياراتحيث يتم تخزين البيانات. لكل ملف أو دليل في NTFS ، يوجد دفق رئيسي واحد على الأقل يتم تخزين البيانات فيه بالفعل. ومع ذلك ، بالإضافة إلى الدفق الرئيسي ، يمكن إقران ملف أو دليل بـ و لبديل (أالبدل دآتا س tream - ADS) ، والتي قد تحتوي أيضًا على بعض البيانات التي لا علاقة لها ببيانات الدفق الرئيسي. الدفق الرئيسي للملف ليس له اسم ويشار إليه على أنه بيانات $: ""... يجب أن يكون للتيارات البديلة اسم ، على سبيل المثال - بيانات $: "StreamData"- تيار بديل اسمه StreamData

عند تنفيذ وظائف كتابة البيانات إلى ملف ، يتم وضعها في دفق البيانات الرئيسي. عندما نفتح ، على سبيل المثال ، ملفًا نصيًا باستخدام المفكرة ، يمكننا الوصول إلى بيانات السلسلة الرئيسية. لا يتم عرض بيانات التدفقات البديلة ، عند استخدام الوصول القياسي ، ومع ذلك ، لا توجد حتى أي علامات على وجودها. ومع ذلك ، فإن البيانات تيار البديل المرتبطة ملف محددأو دليل ، يمكن الوصول إليها باستخدام برامج خاصةأو باستخدام بناء جملة خاص في سطر أوامر Windows.

على سبيل المثال ، كتابة نص إلى ملف test.txt باستخدام الأمر صدى صوت:

صدى بيانات التيار الرئيسي> test.txt- كتابة نص "Main Stream Data" في الملف test.txt، وهو ما يعني الكتابة إلى الدفق الرئيسي غير المسمى.

لكن يمكنك تغيير الأمر:

صدى بيانات تيار بديل> test.txt: stream1- كتابة النص "البديل تيار البيانات" لتيار بديل اسمه تيار 1ملف test.txt

الآن يمكنك فتح ، على سبيل المثال ، باستخدام المفكرة كل من المواضيع:

test.txt المفكرة- سيتم فتح محتوى الدفق الرئيسي بالنص "بيانات التدفق الرئيسي"

المفكرة test.txt: stream1- سيتم فتح محتوى الدفق البديل بالنص "بيانات تيار بديلة"

التدفقات البديلة ، رغم أنها غير مرئية للأدوات القياسية للعمل مع كائنات نظام الملفات ، إلا أنها غالبًا ما تستخدم لتخزين معلومات إضافية حول الملفات ومعلومات الخدمة الأخرى. لذلك ، على سبيل المثال ، عند تنزيل الملفات من الإنترنت ، تضيف المتصفحات إليها دفقًا بديلًا باسم المنطقة، والتي يمكن فتحها باستخدام المفكرة ، كما في المثال أعلاه

المفكرة٪ USERPROFILE٪ \ Downloads \ ChromeSetup.exe: Zone.Identifier- فتح دفق بديل باسم في دفتر الملاحظات المنطقة ChromeSetup.exeيمكن حذف مسار الملف عن طريق تنفيذ الأمر أولاً للانتقال إلى دليل الملفات المحملة للمستخدم الحالي (إذا تخطيط قياسيمجلدات مستخدم الخدمة):

القرص المضغوط٪ USERPROFILE٪ \ التنزيلات- انتقل إلى دليل الملفات القابلة للتنزيل.

المفكرة ChromeSetup.exe: Zone.Identifier- افتح دفقًا بديلًا باسم المنطقةلملف التثبيت متصفح جوجلكروم اسمه ChromeSetup.exeفي الدليل الحالي.

كما ترى ، يحتوي محتوى الدفق البديل على الأسطر:

- علامة القسم مع وصف منطقة نقل البيانات
معرف المنطقة = 3- معرف المنطقة.

هذه المعلومات تجعل من الممكن تحديد أصل الملف من خلال رقم المعرف. ZoneId:

0 - الكمبيوتر المحلي(محلي).
1 - محلي الشبكة المحلية(الشبكة الداخلية)
2 - مواقع موثوق بها
3 - إنترنت (إنترنت)
4 - المواقع الخطرة (المواقع المحظورة)

يتطابق تعريف المنطقة هذا ، على سبيل المثال ، مع إعدادات أمان Internet Explorer:

في هذه الحالة ، يمكنك تحديد الملف ChromeSetup.exeتم الحصول عليها من الإنترنت (معرف المنطقة = 3). عند تشغيل مثل هذا الملف ، سيتم إصدار تحذير أمني حول مصدر غير موثوق به. يعمل أمان التطبيق بنفس الطريقة مايكروسوفت أوفيسعندما حذر من مخاطر فتح الملفات التي تم تنزيلها من الإنترنت. للسبب نفسه ، لا يتم فتح محتوى ملفات المساعدة بتنسيق CHM - يسمح لك محتوى الدفق البديل بتصنيفها على أنها خطيرة ، بغض النظر عن الخطر الحقيقي أو غير الموجود.

حاول التغيير باستخدام نفس المفكرة ، قيمة ZoneId إلى 0 التي ستطابق الأصل المحلي للملف ، وسيختفي تحذير الأمان ، وكذلك مشاكل فتح مستندات المكتب أو مواضيع التعليمات في ملفات .chm.

سيكون السلوك المماثل لأنظمة الأمان في تلك الحالات إذا قمت بحذف محتوى الدفق البديل (اجعله فارغًا) ، أو حتى حذف الدفق البديل نفسه.

بدءًا من Windows 7 ، يمكنك استخدام الأمر للحصول على قائمة بتدفقات الملفات البديلة DIRمع المعلمة / ص:

dir / r٪ UserpRofile٪ \ التنزيلات- عرض قائمة بالملفات وتيارات بديلة في دليل التحميلاتالمستخدم الحالي.

للعمل مع التدفقات البديلة في أي إصدار من Windows ، يمكنك استخدام الأداة المساعدة الجداولمن التكوين حزمة البرامجمجموعة Microsoft Sysinternals. تحتوي الحزمة على العديد من البرامج الصغيرة للتشخيص والتحسين والإدارة ، بما في ذلك الأداة المساعدة التي تسمح لك بتعويض أوجه القصور في العمل مع التدفقات البديلة.

تنسيق سطر الأوامر:

streams.exe [-s] [-d] ملف أو دليل

معلمات سطر الأوامر:

- عملية الدلائل الفرعية.
- حذف تيارات بديلة.
-Nobanner- لا تعرض لافتة البدء ومعلومات حقوق النشر.

أمثلة على استخدام:

streams.exe /؟- عرض المساعدة على استخدام البرنامج.

تدفقات myfile.txt- عرض معلومات حول تدفقات الملف myfile.txt

تيارات –d myfile.txt- إزالة تيارات الملف البديل myfile.txt

تيارات -d -s D: \ Downloads \ *. *- إزالة التدفقات البديلة لجميع الملفات والأدلة الفرعية في الدليل د: \ التنزيلات \

في أنظمة التشغيل Windows 8 والإصدارات الأحدث ، يسمح PowerShell أيضًا بتدفقات بديلة:

Get-Item -Path -Path C: \ FirefoxSetup.exe -Stream *- عرض معلومات حول تدفقات الملف C: \ FirefoxSetup.exe.

Get-Content -Path C: \ FirefoxSetup.exe -Stream Zone.Identifier- عرض محتوى الدفق البديل المنطقةملف C: \ FirefoxSetup.exe

إزالة العنصر - المسار C: \ FirefoxSetup.exe -Stream *- إزالة جميع التدفقات البديلة المرتبطة بالملف C: \ FirefoxSetup.exe

Remove-Item -Path C: \ FirefoxSetup.exe -Stream Zone.Identifier- إزالة تيار بديل منطقة التدفقالمرتبطة بالملف C: \ FirefoxSetup.exe.

تُستخدم معلومات منطقة الأمان على نطاق واسع في سياسات المجموعة، وعلى وجه الخصوص ، Windows Attachment Manager ، الذي يعمل كحماية ضد البرامج الضارة التي قد تكون مضمنة في مرفقات البريدأو الملفات التي تم تنزيلها من الإنترنت. لدى Microsoft مقالة مفصلة حول كيفية تخصيص مدير المرفقات واستكشاف الأخطاء فيه وإصلاحها:
يصف كيفية عمل "مدير المرفقات" المضمن في Microsoft Windows.

في الختام ، سأضيف أن التدفقات البديلة هي خاصية لنظام ملفات NTFS ، وعلى سبيل المثال ، غير مدعومة في FAT32. وفقًا لذلك ، عند نسخ الملفات من NTFS إلى أي نظام ملفات آخر ، يتم تجاهل التدفقات البديلة.