আমাদের পূর্বের একটি আর্টিকেলে, আমরা উল্লেখ করেছিলাম যে ইন্টারনেট থেকে ডাউনলোড করা একটি এক্সিকিউটেবল ফাইল খোলার চেষ্টা করলে Windows একটি সিকিউরিটি ওয়ার্নিং দেখায় সম্ভাব্য বিপজ্জনক কন্টেন্ট চালানোর জন্য (বিস্তারিতের জন্য দেখুন How to Disable Security Warnings in Windows)। সিস্টেম কীভাবে বুঝে ফাইলটি ইন্টারনেট থেকে ডাউনলোড করা? আসুন খুঁজে বের করি।
ইন্টারনেট থেকে ব্রাউজার দিয়ে ডাউনলোড করা সকল এক্সিকিউটেবল ফাইল একটি স্পেশাল مار্কার পায়। এই নিয়ম শুধু Internet Explorer-ই নয়, Mozilla Firefox এবং Google Chrome-এর মত অন্যান্য পপুলার ব্রাউজারও সাপোর্ট করে। ফাইল কপি, রিনেম বা অন্য NTFS পার্টিশনে মুভ করলে, মার্কারটি এখনো সাথে থাকে।
এই مار্কারটি একটি অল্টার্নেটিভ NTFS ফাইল ストрим।
নোট. অল্টার্নেটিভ NTFS ডেটা ストریم আপনাকে প্রতিটি NTFS ফাইলের জন্য কয়েকটি অতিরিক্ত ডেটা (মেটাডেটা) ストрим তৈরি করতে দেয়। ডিফল্টভাবে সকল ফাইল ডেটা প্রাইমারি スト্রিমে সংরক্ষিত থাকে, কিন্তু একটি ফাইলের জন্য এক বা অধিক অতিরিক্ত スト্রিম তৈরি করা সম্ভব এবং তাদের আকার প্রাইমারি ফাইল スト্রিমের চেয়েও বড় হতে পারে। অধিকাংশ অ্যাপ্লিকেশন (Windows Explorer সহ) শুধু স্ট্যান্ডার্ড スト্রিমের সাথে কাজ করে এবং অল্টার্নেটিভ NTFS ডেটা スト্রিম থেকে ডেটা পড়তে পারে না।
নিশ্চিত হতে যে ইন্টারনেট থেকে ডাউনলোড করা ফাইলে একটি স্পেশাল مار্কার অ্যাসাইন করা হয়েছে, ডিস্ট্রিবিউশন ধারণকারী ডিরেক্টরির ফাইল লিস্ট নিচের কমান্ড দিয়ে দেখান:
dir /r
যেনে দেখতে পাচ্ছি, অল্টার্নেটিভ スト্রিম Zone.Identifier এক্সিকিউটেবল ফাইলগুলোর জন্য অ্যাসাইন করা হয়েছে, যেমন install_flash_player_16_active_x.exe:Zone.Identifier।
অল্টার্নেটিভ スト্রিমটি Notepad-এ খুলুন:
Notepad.exe install_flash_player_16_active_x.exe:Zone.Identifier
আমরা দেখতে পাচ্ছি যে এই スト্রিমটি একটি ফাইল যেতে [ZoneTransfer] সেকশন রয়েছে, যেতে একটি ট্রান্সফার জোন ID (ZoneId) নির্দিষ্ট করা আছে। (এগুলো হলো সিকিউরিটি জোনগুলো যা IE সেটিংসে পাওয়া যায়।) ট্রান্সফার জোন ID ০ থেকে ৪ পর্যন্ত পাঁচটি ভ্যালুর যেকোনো একটি ধারণ করতে পারে।
- ZoneId=0: Local machine
- ZoneId=1: Local intranet
- ZoneId=2: Trusted sites
- ZoneId=3: Internet
- ZoneId=4: Restricted sites
যখন আপনি একটি সিকিউরিটি জোন থেকে ফাইল ডাউনলোড করেন, ব্রাউজার একটি সংশ্লিষ্ট ZoneId অ্যাসাইন করে। ZoneId ৩ বা ৪ সমান থাকা ফাইল এর অল্টার্নেটিভ NTFS スト্রিমে থাকলে, এই ID-র ভিত্তিতে সিস্টেম ডিটেক্ট করে যে ফাইলটি ইন্টারনেট বা অনবিশ্বস্ত সোর্স থেকে ডাউনলোড করা। Windows XP SP2 থেকে Windows এক্সিকিউটেবল ফাইলের এই مار্কার চেক করছে।
এই مار্কারটি (অল্টার্নেটিভ スト্রিম) ম্যানুয়ালি ডিলিট করতে, আপনাকে শুধু ফাইল প্রপার্টিজে Unblock-এ ক্লিক করতে হবে।
নিশ্চিত করুন এই ফাইলে আর অল্টার্নেটিভ スト্রিম নেই।
টিপ. ডাউনলোড করা ফাইলগুলোর মার্কার এসাইন হওয়া থেকে বাধা দিতে, আপনি ইন্টারনেট থেকে ডাউনলোড করা ফাইলগুলো NTFS থেকে ভিন্ন ফাইল সিস্টেমে সংরক্ষণ করতে পারেন, যেমন FAT, exFat, ইত্যাদি।
আসলে, Windows-এ অল্টার্নেটিভ ডেটা スト্রিম নিয়ে কাজ করার কোনো টুল নেই। উদাহরণস্বরূপ, আপনি যদি একসাথে অনেক ফাইল থেকে সেগুলো ডিলিট করতে চান, তবে Mark Rusinovich-এর থার্ড-পার্টি কনসোল টুল streams ব্যবহার করা ভালো।
উদাহরণস্বরূপ, c:\Download\-এ সকল এক্সিকিউটেবল ফাইলের অল্টার্নেটিভ スト্রিম রিকার্সিভলি ডিলিট করতে, এই কমান্ড চালান:
c:\TOOLS\streams.exe -s -d c:\Download\*.exe
কমান্ড প্রম্পটে আপনি দেখতে পাবেন যে ফাইলের অল্টার্নেটিভ スト্রিম ডিলিট হয়েছে: Deleted :Zone.Identifier:$DATA
গুরুত্বপূর্ণ. Streams নির্দিষ্ট ফাইলগুলোর সকল অল্টার্নেটিভ スト্রিম ডিলিট করে এবং নির্দিষ্ট スト্রিম টার্গেট করার অনুমতি দেয় না। তাই, streams.exe -s -d c:\*.exe হিসেবে streams কমান্ড চালাবেন না, কারণ এটি গুরুত্বপূর্ণ ইনফরমেশন অল্টার্নেটিভ NTFS スト্রিমে থাকায় সিস্টেম ফেইলিওর করতে পারে।
PowerShell 3.0-এ, একটি ডিরেক্টরিতে Zone.Identifier スト্রিম থাকা ফাইলগুলোর লিস্ট এই কমান্ড দিয়ে দেখাতে পারেন:
Get-ChildItem -Recurse | Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue | Select-Object FileName
অ্যাট্রিবিউটটি রিমুভ করা হয় নিচের মত:
Remove-Item .\install-file.exe -Stream Zone.Identifier
Windows PowerShell 4.0-এ, Zone.Identifier ডিলিট করার জন্য একটি আলাদা cmdlet রয়েছে:
Unblock-File install-file.exe
আপনি যেকোনো ফাইলে ম্যানুয়ালি مار্কার অ্যাসাইন করতে পারেন এই কমান্ড চালিয়ে:
notepad.exe install_flash_player_16_active_x.exe:Zone.Identifier
যেহেতু スト্রিম নেই, সিস্টেম একটি নতুন ফাইল তৈরির জন্য প্রম্পট করবে। এক্সেপ্ট করুন এবং নিচের টেক্সট Notepad উইন্ডোতে কপি করুন:
[ZoneTransfer]
ZoneId=3
পরিবর্তনগুলো সংরক্ষণ করুন। নিশ্চিত করুন ফাইলে একটি অল্টার্নেটিভ スト্রিম অ্যাসাইন হয়েছে।