คอมพิวเตอร์ หน้าต่าง อินเทอร์เน็ต

สตรีมข้อมูลทางเลือกใน NTFS หรือวิธีซ่อนแผ่นจดบันทึก สตรีมไฟล์ NTFS สำรอง

คุณเคยได้ยินอะไรเกี่ยวกับ สตรีม NTFS? ฟังก์ชั่นที่น่าสนใจมากของระบบไฟล์ซึ่งสามารถนำไปใช้ได้จริง วันนี้เราจะมาพูดถึงว่ามันคืออะไรและคุณนำไปใช้ได้อย่างไร

เริ่มจากทฤษฎีบางอย่างกันก่อน.
มีการเพิ่มการรองรับสตรีมข้อมูลสำรองแล้ว เอ็นทีเอฟเอสเพื่อความเข้ากันได้กับระบบไฟล์ HFS ของ Macintosh ซึ่งใช้สตรีมทรัพยากรเพื่อจัดเก็บไอคอนและข้อมูลไฟล์อื่น ๆ พวกเขาอยู่ใน เอ็นทีเอฟเอสจากเวอร์ชันแรกสุด วินโดวส์เอ็นที. สาระสำคัญของเทคโนโลยีก็คือการเปิดไฟล์ เอ็นทีเอฟเอสสามารถมีได้หลายสตรีมที่มีข้อมูล คอนดักเตอร์และตัวจัดการไฟล์ยอดนิยมส่วนใหญ่จะใช้งานได้เฉพาะกับเท่านั้น กระแสหลัก(ไม่มีชื่อ) ซึ่งเป็นเนื้อหาหลักของไฟล์ สตรีมสามารถใช้เพื่อจัดเก็บข้อมูลเมตาของไฟล์ได้ จึงถูกนำมาใช้ วินโดว์ 2000, เท่าที่ฉันรู้.

ใน วินโดว 7ทางเลือก สตรีม NTFSมีอยู่ในไฟล์ไม่สามารถมองเห็นได้ด้วยวิธีการปกติ และไร้ผล: ตัวอย่างเช่นไวรัสที่มีไหวพริบอย่างชั่วร้ายสามารถเขียนตัวเองลงในสตรีมของไฟล์ที่ไม่เป็นอันตรายอย่างยิ่ง การลบไฟล์ที่มีสตรีมที่มีข้อมูลจำนวนมาก คุณจะพบว่ามีพื้นที่ว่างมากกว่าไฟล์ที่มีอยู่ในความคิดเห็น สำรวจ.
หากต้องการดูสตรีมที่มีอยู่ เราจะใช้คอนโซลยูทิลิตี้ที่สร้างโดย Mark Russinovich ผู้โด่งดัง

วิธีสร้างสตรีม NTFS สำรอง

คำสั่งคอนโซลบางคำสั่งอนุญาตให้คุณสร้างและแสดงเนื้อหาได้ ไหล เอ็นทีเอฟเอสเช่น คำสั่ง เสียงสะท้อนอาจอนุญาตให้คุณสร้างสตรีมสำรองสำหรับไฟล์ข้อความ เพื่อให้เข้าใจถึงวิธีการทำงาน มาดูตัวอย่างกัน ป้อนข้อมูลต่อไปนี้ที่บรรทัดคำสั่ง:
ก้อง สวัสดี Happy Bulldozer > hello.txt
สะท้อนสวัสดีชาวโลก > hello.txt:test

ตอนนี้เปิดไฟล์ hello.txt ใน Notepad:

ข้อความ สวัสดีชาวโลกยังคงอยู่ "เบื้องหลัง" อยู่ในกระแสชื่อ ทดสอบ. หากคุณระบุชื่อไฟล์ที่จะเปิดและชื่อของสตรีม คุณจะไม่สามารถเปิดไฟล์ในสตรีมได้: โคลอนเป็นอักขระที่ไม่ถูกต้องสำหรับชื่อไฟล์ อย่างไรก็ตาม คุณสามารถใช้บรรทัดคำสั่งซึ่งค่อนข้างภักดีกว่าและจะช่วยให้คุณสามารถดำเนินการคำสั่งต่อไปนี้:
มากกว่า< hello.txt:test

ดู สตรีม NTFSตามที่ฉันเขียนไว้ข้างต้น สามารถทำได้ผ่านยูทิลิตี้ streams.exe
streams.exe สวัสดี txt


ฉันเดาว่าทุกอย่างชัดเจนที่นี่

สตรีม NTFS สำรองและ Notepad

ดูเหมือนว่าโปรแกรมขั้นสูงจะทำโดยไม่ต้องใช้ความพยายามมากนักและแสดงเนื้อหาของสตรีมให้คุณ:

Standard Notepad จะเพิ่มนามสกุล .txt ต่อท้ายชื่อสตรีม หากต้องการใช้ ควรตั้งชื่อเธรดดังนี้:
เสียงก้องสวัสดีชาวโลก > hello.txt:test.txt
จากนั้นคำสั่งที่ดำเนินการจาก cmd.exe จะให้ผลลัพธ์ที่เป็นบวก:
แผ่นจดบันทึก hello.txt:test.txt

สตรีม NTFS สำรองและไฟล์ประเภทต่างๆ

คุณอาจรู้สึกว่าขอบเขตของกระแสข้อมูล NTFS ทางเลือกไม่ขยายไปไกลกว่าไฟล์ข้อความ นี่เป็นสิ่งที่ผิด ในตัวอย่างต่อไปนี้ ฉันได้เพิ่มสตรีมที่มีข้อมูลเก็บถาวร 7z ลงในไฟล์ hello.txt:

ฉันทราบว่าสตรีมสามารถสร้างขึ้นได้ไม่เพียง แต่สำหรับไฟล์เท่านั้น แต่ยังสำหรับโฟลเดอร์และแม้แต่พาร์ติชันฮาร์ดดิสก์ด้วย

ทุกสิ่งถูกจำกัดด้วยจินตนาการและความต้องการส่วนตัวของคุณ การใช้เทคนิคที่อธิบายไว้ทำให้คุณสามารถซ่อนข้อมูลส่วนบุคคลจากผู้ใช้ที่ไม่ได้เตรียมตัวไว้ได้อย่างง่ายดาย การป้องกันความผิดพลาดบางอย่างหากคุณต้องการ

สวัสดีผู้อ่านที่รักของบล็อกไซต์ ระบบไฟล์ NTFS มีความสามารถที่น่าสนใจในการรองรับสตรีมข้อมูลสำรอง (Alternate Data Stream, ADS) เทคโนโลยีนี้บอกเป็นนัยว่าแต่ละไฟล์ในระบบไฟล์ NTFS สามารถมีสตรีมหลายรายการที่สามารถจัดเก็บข้อมูลได้ Explorer และแอปพลิเคชันอื่นๆ ส่วนใหญ่ใช้งานได้กับสตรีมมาตรฐานเท่านั้น และไม่สามารถรับข้อมูลจากแอปพลิเคชันอื่นได้ ดังนั้นด้วยการใช้เทคโนโลยี ADS คุณสามารถซ่อนข้อมูลที่วิธีการมาตรฐานไม่สามารถตรวจพบได้

สนับสนุน กระแสข้อมูลทางเลือกถูกเพิ่มเข้าไป เอ็นทีเอฟเอสเพื่อความเข้ากันได้ของระบบไฟล์ HFSใช้กับ MacOS

ทฤษฎีนิดหน่อย

ในระบบไฟล์ NTFS ไฟล์จะมีแอตทริบิวต์ หนึ่งในแอตทริบิวต์ $DATA คือแอตทริบิวต์ข้อมูล ในทางกลับกัน คุณลักษณะ $DATA สามารถมีได้หลายเธรด โดยค่าเริ่มต้นจะมีเธรดหลักหนึ่งเธรด $ข้อมูล:""ซึ่งเรียกว่าไม่มีชื่อ ด้วยโฟลว์นี้ Windows Explorer ก็ใช้งานได้ หากต้องการ คุณสามารถเพิ่มสตรีมที่มีชื่อหลายรายการลงในไฟล์ได้ (เช่น $DATA:"potok1") ซึ่งจะมีข้อมูลต่างๆ ที่ไม่เกี่ยวข้องกัน

ตามค่าเริ่มต้น ข้อมูลทั้งหมดที่เขียนลงในไฟล์จะเข้าสู่สตรีมข้อมูลหลักที่ไม่มีชื่อ และเมื่อเราเปิดไฟล์เราจะเห็นเฉพาะเธรดหลักเท่านั้น กระแสข้อมูล NTFS ทางเลือกที่ไฟล์ถูกซ่อนไว้จากผู้ใช้และไม่สามารถมองเห็นได้ด้วยวิธีการปกติ ดังนั้น การลบไฟล์ที่มีสตรีมที่มีข้อมูลจำนวนมาก คุณจะสังเกตได้ว่ามีพื้นที่ว่างบนอุปกรณ์จัดเก็บข้อมูลมากกว่าไฟล์ที่ถูกครอบครอง ตามข้อมูลของ Explorer เดียวกัน กระแสข้อมูลทางเลือกมักถูกใช้โดยไวรัสที่สามารถเขียนตัวเองลงในกระแสข้อมูลที่ระบุชื่อของไฟล์ที่ไม่เป็นอันตรายบางไฟล์

ในการทำงานกับสตรีมทางเลือกคุณสามารถใช้โปรแกรมพิเศษหรือบรรทัดคำสั่งได้

วิธีสร้างสตรีม NTFS สำรอง

คุณสามารถสร้างสตรีมสำรองได้โดยใช้คำสั่งคอนโซล echo

ขั้นแรก เปิดบรรทัดคำสั่ง cmd.exe และใช้คำสั่ง echo เพื่อสร้างไฟล์ข้อความ example.txt และเขียนข้อความลงไป:

echo เธรดหลัก>example.txt

คำสั่งถัดไปจะเขียนข้อมูลไปยังสตรีมอื่น เมื่อต้องการทำเช่นนี้ ให้ใส่โคลอน (:) หลังชื่อไฟล์ และตั้งชื่อสตรีม:

echo Alternative Stream>example.txt:test

ตอนนี้ หากคุณเปิดไฟล์ example.txt ในโปรแกรมแก้ไขทดสอบใดๆ เฉพาะข้อความแรก "เธรดหลัก" เท่านั้นที่จะมองเห็นได้:

คุณสามารถรับข้อมูลที่มีอยู่ในสตรีมได้โดยใช้คำสั่งเพิ่มเติม:

มากกว่า

คุณสามารถดูเนื้อหาของสตรีมได้ไม่เพียงแต่บนบรรทัดคำสั่งเท่านั้น ตัวอย่างเช่น คุณสามารถเปิดสตรีมอื่นด้วยคำสั่งต่อไปนี้:

"C:\Program Files (x86)\Notepad++\notepad++.exe" example.txt:test

Notepad ปกติสามารถเปิดได้เฉพาะสตรีมที่ชื่อลงท้ายด้วย ".txt" เท่านั้น ตัวอย่างเช่น เรามาเพิ่มสตรีม test.txt ลงในไฟล์ของเรา:

กระแสทางเลือก echo Notepad>example.txt:test.txt

และเปิดในแผ่นจดบันทึก:

notepad.exe example.txt:test.txt

ในสตรีมทางเลือก คุณสามารถใส่ได้ไม่เพียงแต่ข้อมูลข้อความเท่านั้น แต่ยังใส่ข้อมูลประเภทใดก็ได้ด้วย นอกจากนี้ คุณสามารถเพิ่มข้อมูลใด ๆ ลงในไฟล์ประเภทใดก็ได้ - เพิ่มวิดีโอลงในไฟล์ข้อความ และเพิ่มข้อมูลข้อความลงในรูปภาพ

ตัวอย่างเช่น ลองเพิ่มสตรีมด้วยรูปภาพ img.jpg ลงในไฟล์ของเรา ในการทำสิ่งนี้ เราใช้คำสั่ง type:

พิมพ์ img.jpg>example.txt:img.jpg

เป็นผลให้เราได้ไฟล์ข้อความธรรมดา หากคุณเปิดด้วยวิธีปกติ: โดยการดับเบิลคลิกผ่าน explorer โปรแกรมแก้ไขข้อความจะเปิดขึ้นพร้อมเนื้อหาของสตรีมหลัก:

หากต้องการเปิดรูปภาพที่อยู่ในสตรีมทางเลือก เช่น ใน Paint เพียงใช้คำสั่ง:

mspaint example.txt:img.jpg

สิ่งที่น่าสนใจที่สุดคือสตรีมทางเลือกไม่ได้เพิ่มขนาดที่มองเห็นได้ของไฟล์ ดังนั้น หากคุณเพิ่มวิดีโอขนาด 30 GB ลงในไฟล์ข้อความขนาด 1 KB Explorer จะยังคงแสดงขนาดไฟล์ 1 KB

นอกจากนี้ยังสามารถเพิ่มสตรีมสำหรับโฟลเดอร์และแม้แต่พาร์ติชั่นฮาร์ดดิสก์ได้ ทุกอย่างทำในลักษณะเดียวกับไฟล์:

echo ข้อความในโฟลเดอร์>c:\test:hide.txt

และเปิดในแผ่นจดบันทึก:

แผ่นจดบันทึก c:\test:hide.txt

เนื่องจากการมีอยู่ของสตรีมทางเลือกจะไม่แสดงใน Explorer และตัวจัดการไฟล์อื่น ๆ วิธีที่ง่ายที่สุดในการค้นหาคือการใช้คำสั่ง dir /R:

การซ่อนแอปพลิเคชันในสตรีมสำรองและเปิดใช้งาน

การวางไฟล์ปฏิบัติการบนสตรีมสำรองนั้นง่ายพอๆ กับการวางไฟล์ปกติ ตัวอย่างเช่น ลองใช้ไฟล์ example.txt ของเราและวางแอปพลิเคชัน Notepad (notepead.exe) ในสตรีม Hideapp.exe:

พิมพ์ C:\Windows\system32\notepad.exe>example.txt:hideapp.exe

หากต้องการเปิด Notepad ที่ซ่อนอยู่ให้ใช้คำสั่งต่อไปนี้:

เริ่มต้น .\example.txt:hideapp.exe

ด้วยเทคนิคที่อธิบายไว้ คุณสามารถซ่อนข้อมูลจากผู้ใช้ที่ไม่ได้เตรียมตัวไว้ได้อย่างง่ายดาย การใช้งานทั่วไป สตรีมข้อมูล ADS ทางเลือกจำกัดด้วยจินตนาการของคุณเท่านั้น

เพียงเท่านี้ พบกันใหม่เร็วๆ นี้!

สตรีมข้อมูลสำรองใน NTFS

ระบบไฟล์ NTFS มีคุณสมบัติที่น่าสนใจมากมาย หนึ่งในนั้นคือความพร้อมใช้งานของสตรีมข้อมูลทางเลือก (Alternate Data Stream, ADS) สาระสำคัญคือแต่ละไฟล์ใน NTFS เป็นชุดสตรีมที่เก็บข้อมูล ตามค่าเริ่มต้น ข้อมูลทั้งหมดจะอยู่ในสตรีมหลัก แต่หากจำเป็น ก็สามารถเพิ่มสตรีมข้อมูลสำรองเพิ่มเติมลงในไฟล์ได้

บันทึก.กระแสข้อมูลทางเลือกใน NTFS ปรากฏขึ้นเมื่อนานมาแล้วใน Windows NT สร้างขึ้นเพื่อให้เข้ากันได้กับระบบไฟล์ HFS ซึ่งใช้ใน MacOS HFS จัดเก็บข้อมูลเกี่ยวกับไฟล์ไว้ในสตรีมทรัพยากรพิเศษ

ไฟล์ใน NTFS จะถูกแบ่งออกเป็นแอตทริบิวต์ ซึ่งหนึ่งในนั้นคือ $DATA หรือแอตทริบิวต์ข้อมูล สตรีมเป็นคุณสมบัติเพิ่มเติมของแอตทริบิวต์ $DATA มีหนึ่งเธรดหลักตามค่าเริ่มต้น $ข้อมูล:″″. อย่างที่คุณเห็น มันไม่มีชื่อ เลยถูกเรียกว่า ไม่มีชื่อ. นอกจากนี้ คุณสามารถสร้างสตรีมที่มีชื่อเพิ่มเติมได้หากต้องการ $ข้อมูล:″สตรีม1″. แต่ละไฟล์ใน NTFS สามารถมีสตรีมข้อมูลหลายรายการที่มีข้อมูลที่แตกต่างกันและไม่เกี่ยวข้องกัน

ข้อมูลทั้งหมดที่เขียนลงในไฟล์จะเข้าสู่สตรีมข้อมูลหลักตามค่าเริ่มต้น เมื่อเราเปิดไฟล์ เราจะเห็นสตรีมหลักอย่างแน่นอน ในขณะที่สตรีมทางเลือกจะถูกซ่อนไม่ให้ผู้ใช้เห็นและจะไม่แสดงโดยใช้วิธีการทั่วไป ไม่สามารถมองเห็นได้ด้วยวิธีมาตรฐาน แม้ว่าบางโปรแกรมสามารถอ่านข้อมูลที่ซ่อนอยู่ได้ คุณยังสามารถใช้บรรทัดคำสั่งเพื่อทำงานกับสตรีมได้

ตัวอย่างเช่น เปิดคอนโซลและใช้คำสั่ง echo เพื่อสร้างไฟล์ข้อความ streams.txt และเขียนข้อความลงไป:

echo นี่คือกระแสหลัก>streams.txt

และด้วยคำสั่งต่อไปนี้ ให้เขียนข้อความไปยังสตรีมทางเลือก stream1:

echo นี่คือสตรีมสำรอง>streams.txt:stream1

หากตอนนี้เราเปิดไฟล์ streams.txt ในโปรแกรมแก้ไขข้อความใดๆ เราจะเห็นเฉพาะรายการแรก ข้อความ "นี่คือสตรีมสำรอง" จะยังคงซ่อนอยู่ คุณสามารถอ่านข้อมูลที่ซ่อนอยู่ในสตรีม stream1 ด้วยคำสั่ง:

มากกว่า

สตรีมสำรองสามารถเพิ่มได้ไม่เฉพาะในแต่ละไฟล์เท่านั้น แต่ยังรวมถึงไดเร็กทอรีด้วย ตัวอย่างเช่น ลองเพิ่ม stream2 ทางเลือกที่มีข้อความ "ซ่อนสตรีมในสตรีม" ไปยังไดเร็กทอรี Streams ปัจจุบัน:

echo ซ่อนกระแสใน Streams>:stream2

และส่งออกสตรีม stream2 ด้วยคำสั่งต่อไปนี้:

มากกว่า<:stream2

เนื้อหาสตรีมสำรองสามารถเปิดได้มากกว่าแค่คอนโซล ตัวอย่างเช่น Notepad ยังสามารถเข้าถึงข้อมูลที่ซ่อนอยู่ในสตรีมได้หากคุณระบุชื่อของสตรีมอื่นในชื่อไฟล์โดยคั่นด้วยเครื่องหมายทวิภาค เรามาทำซ้ำตัวอย่างก่อนหน้านี้ โดยเปลี่ยนชื่อสตรีมเป็น stream1.txt เล็กน้อย:

echo นี่คือสตรีมสำรอง>streams.txt:stream1.txt

และเปิดสตรีมทางเลือกในแผ่นจดบันทึกด้วยคำสั่ง:

notepadstreams.txt:stream1.txt

บันทึก.แผ่นจดบันทึกมาตรฐานจำเป็นต้องมีนามสกุล .txt ในชื่อสตรีม ไม่เช่นนั้นจะไม่สามารถเปิดได้ โปรแกรมแก้ไขขั้นสูง เช่น Notepad++ สามารถแสดงเนื้อหาของสตรีมทางเลือกได้ โดยไม่คำนึงถึงชื่อ

การมีอยู่ของสตรีมทางเลือกสำหรับไฟล์จะไม่แสดงใน Explorer และตัวจัดการไฟล์อื่น ๆ หากต้องการค้นหาวิธีที่ง่ายที่สุดคือใช้คำสั่ง ผบ./ร(เริ่มต้นด้วย Windows Vista) ซึ่งแสดงสตรีมข้อมูลทั้งหมด รวมถึงสตรีมทางเลือกด้วย

คุณอาจคิดว่าการใช้สตรีมทางเลือกนั้นจำกัดอยู่เพียงข้อมูลข้อความเท่านั้น กรณีนี้ไม่เป็นเช่นนั้น และข้อมูลใดๆ ก็ตามสามารถจัดเก็บไว้ในสตรีมทางเลือกได้อย่างแน่นอน ตัวอย่างเช่น เรามาสร้างไฟล์ picture.txt และเพิ่มสตรีม pic1.jpg ลงไป ซึ่งเราจะวางรูปภาพที่มีชื่อเดียวกัน:

เสียงสะท้อน รูปภาพ > picture.txt
พิมพ์ pic1.jpg>picture.jpg:pic1.jpg

ดังนั้นภายนอกเรามีไฟล์ข้อความปกติและหากต้องการเปิดรูปภาพจากสตรีมทางเลือกในโปรแกรมแก้ไขกราฟิก Paint เราใช้คำสั่ง:

mspaint picture.txt:pic1.jpg

ด้วยวิธีนี้ คุณสามารถเพิ่มข้อมูลใด ๆ ลงในไฟล์ประเภทใดก็ได้ - เพิ่มรูปภาพลงในไฟล์ข้อความ เพิ่มข้อมูลข้อความลงในไฟล์มีเดีย ฯลฯ ที่น่าสนใจคือเนื้อหาทางเลือกจะไม่เพิ่มขนาดไฟล์ที่ชัดเจน เช่น การเพิ่มวิดีโอ HD ขนาด 30GB ลงใน ไฟล์ข้อความขนาด 1kB Explorer จะยังคงแสดงขนาดไฟล์ 1kB

คุณยังสามารถซ่อนไฟล์ปฏิบัติการในสตรีมทางเลือกได้ ตัวอย่างเช่น นำไฟล์ test.txt และเพิ่มแอปพลิเคชัน Notepad (notepad.exe) ไปยังสตรีม note.exe สำรอง:

พิมพ์ notepad.exe>test.txt:note.exe

และหากต้องการเปิดแผ่นจดบันทึกที่ซ่อนอยู่ให้ใช้คำสั่ง:

เริ่มต้น .\test.txt:note.exe

อย่างไรก็ตาม โปรแกรมที่เป็นอันตรายบางโปรแกรมใช้โอกาสนี้โดยการเพิ่มโค้ดปฏิบัติการลงในสตรีม NTFS ทางเลือก

ยูทิลิตี้สตรีม

มียูทิลิตี้ของบุคคลที่สามหลายตัวสำหรับการทำงานกับสตรีมอื่น เช่น ยูทิลิตี้คอนโซล Streams จาก Sysinternals สามารถตรวจจับการมีอยู่ของกระแสทางเลือกและลบออกได้ ยูทิลิตี้นี้ไม่จำเป็นต้องติดตั้ง เพียงแค่แกะมันออกมาแล้วรัน ตัวอย่างเช่น ตรวจสอบการมีอยู่ของสตรีมในโฟลเดอร์ Streams ด้วยคำสั่ง:

Streams.exe -s C:\สตรีม

และลบสตรีมทางเลือกออกจากไฟล์ streams.txt:

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

พาวเวอร์เชลล์

PowerShell ยังรู้วิธีทำงานกับสตรีมทางเลือก - สร้าง ตรวจจับ แสดงเนื้อหา และแม้แต่ลบสตรีมเหล่านั้น ตัวอย่างเช่น เรามาสร้างไฟล์ข้อความ:

รายการใหม่ - ประเภทไฟล์ -Path C:\Streams\stream.txt

มาเพิ่มรายการในเธรดหลัก:

ชุดเนื้อหา -Path C:\Streams\stream.txt -Value ″Main stream″

และไปยังเธรดอื่นชื่อ Second:

ชุดเนื้อหา -Path C:\Streams\stream.txt -Value "Second stream" -Stream Second

จากนั้นเราจะแสดงเนื้อหาหลัก

รับเนื้อหา -Path C:\Streams\stream.txt

และกระแสทางเลือก:

รับเนื้อหา -Path C:\Streams\stream.txt -สตรีมที่สอง

เพื่อตรวจจับการมีอยู่ของสตรีมทางเลือก คุณสามารถใช้คำสั่ง:

รับรายการ -Path C:\Streams\stream.txt -Stream *

และคุณสามารถลบเธรดเพิ่มเติมได้ด้วยคำสั่ง:

ลบรายการ -Path C:\Streams\streams.txt -Stream *

การใช้งาน

สตรีมสำรองนั้นใช้ทั้งโดย Windows เองและโดยบางโปรแกรม ตัวอย่างเช่น Internet Explorer แบ่งเครือข่ายออกเป็น 4 โซนความปลอดภัย และเมื่อดาวน์โหลดไฟล์ จะเพิ่มป้ายกำกับที่มีข้อมูลเกี่ยวกับโซนที่ดาวน์โหลดมา

ป้ายกำกับเหล่านี้ถูกจัดเก็บไว้ในสตรีมทางเลือกและเป็นตัวเลขตั้งแต่ 0 ถึง 4:

อินเตอร์เน็ต (3)
เครือข่ายท้องถิ่น (1)
ไซต์ที่เชื่อถือได้ (2)
สถานที่อันตราย (4)
คอมพิวเตอร์ท้องถิ่น (0)

ในการตรวจสอบสิ่งนี้ ให้ไปที่โฟลเดอร์ดาวน์โหลด นำไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต และตรวจสอบว่ามีสตรีมอื่นหรือไม่ อย่างที่คุณเห็น มันมีเธรดชื่อ โซน.ตัวระบุซึ่งมีบรรทัด โซนไอดี=3.

ซึ่งหมายความว่าไฟล์นั้นเป็นของโซนอินเทอร์เน็ตที่ไม่น่าเชื่อถือ และคุณต้องใช้ความระมัดระวังในการเปิดไฟล์ บางโปรแกรม เช่น Word อ่านข้อมูลนี้เมื่อเปิดไฟล์และออกคำเตือนตามนั้น

นอกจากนี้ โครงสร้างพื้นฐาน File Classification Infrastracture (FCI) ยังอิงตามการใช้สตรีมทางเลือก สำหรับโปรแกรมของบุคคลที่สาม โปรแกรมป้องกันไวรัสบางโปรแกรมใช้สตรีมทางเลือก โดยเฉพาะ Kaspersky Anti-Virus จะเก็บผลรวมตรวจสอบที่ได้รับจากการสแกนไว้ในโปรแกรมเหล่านั้น

อย่างไรก็ตาม การใช้สตรีมทางเลือกไม่ได้จำกัดอยู่เพียงเท่านี้ คุณเองก็สามารถนึกถึงการใช้งานใดๆ ก็ได้ ตัวอย่างเช่นสามารถใช้เพื่อซ่อนข้อมูลส่วนบุคคลจากการสอดรู้สอดเห็น ไฟล์ที่มีสตรีมทางเลือกสามารถคัดลอกหรือถ่ายโอนจากดิสก์หนึ่งไปยังอีกดิสก์ได้อย่างอิสระ สตรีมทั้งหมดจะถูกคัดลอกพร้อมกับไฟล์

อย่างไรก็ตาม เมื่อใช้สตรีมทางเลือก คุณต้องจำไว้ว่าสตรีมเหล่านั้นมีฮาร์ดโค้ดในระบบไฟล์ NTFS หากต้องการใช้งาน ไฟล์จะต้องอยู่ในดิสก์ที่มี NTFS ดังนั้นคุณจึงสามารถทำงานได้จาก Windows เท่านั้น หากคุณย้ายไฟล์ไปยังระบบไฟล์อื่น สตรีมทั้งหมดยกเว้นสตรีมหลักจะหายไป สตรีมสำรองยังถูกตัดทอนเมื่อถ่ายโอนไฟล์ผ่าน FTP หรือเมื่อส่งเป็นไฟล์แนบอีเมล

ระบบปฏิบัติการ Windows มีคุณลักษณะการซ่อนข้อมูลที่ไม่ค่อยมีใครรู้จักสองคุณลักษณะ: สตรีมข้อมูล NTFS (หรือที่เรียกว่าสตรีมข้อมูลสำรอง) และการเข้าถึงตามสิทธิ์การแจงนับตามการเข้าถึง (ABE) ในรายการทรัพยากร สตรีมข้อมูลสำรองช่วยเพิ่มความสามารถในการเพิ่มข้อมูลที่ซ่อนลงในไฟล์ เช่น ข้อมูลเกี่ยวกับไฟล์ คุณมักจะไม่จำเป็นต้องใช้สตรีมข้อมูลที่ซ่อนไว้ แต่ผู้โจมตีสามารถใช้เทคโนโลยีนี้เพื่อต่อต้านคุณได้ ดังนั้นคุณควรตระหนักถึงมันและวิธีการทำงานของมัน

สำหรับวิธี ABE ก็สามารถเพิ่มคลังแสงของคุณได้ วิธีนี้ช่วยให้คุณทำให้โฟลเดอร์และไฟล์ที่ใช้ร่วมกันไม่ปรากฏแก่ผู้ใช้ที่ไม่มีสิทธิ์ในการเข้าถึง

นี่คือสิ่งที่คุณต้องรู้เกี่ยวกับเครื่องมือเหล่านี้

แม่น้ำที่หล่อเลี้ยงทะเลข้อมูล

สตรีมข้อมูลสำรองเป็นคุณลักษณะของระบบไฟล์ NTFS ครั้งหนึ่งเคยถูกมอบให้กับ Windows NT 3.1 เพื่อให้ผู้ใช้ NT และ Macintosh สามารถแชร์ไฟล์ได้

ไฟล์ NTFS ประกอบด้วยสตรีมข้อมูล นี่คือสตรีมข้อมูล $DATA มาตรฐาน และอาจเป็นทางเลือกหนึ่งหรือหลายสตรีมข้อมูลสำรอง ผู้ใช้ที่มีสิทธิ์ที่จำเป็นในการทำงานกับไฟล์จะสามารถดูสตรีมข้อมูล $DATA ที่มีอยู่ สามารถเปิดไฟล์ และอ่านและเขียนข้อมูลลงในสตรีมนี้ได้

สตรีมข้อมูลสำรองคือข้อมูลเพิ่มเติมหรือไฟล์ที่ผู้ใช้หรือแอปพลิเคชันสามารถแนบไปกับไฟล์ NTFS มีเพียงผู้ใช้ที่สร้างมันเท่านั้นที่รู้เกี่ยวกับการมีอยู่ของสตรีมข้อมูลทางเลือก โดยทั่วไป ผู้ใช้จะไม่ทราบว่ามีการแนบกระแสข้อมูลสำรองเข้ากับไฟล์หรือไม่ ความจริงก็คือไม่สามารถมองเห็นเนื้อหาของสตรีมนี้หรือชื่อได้ นอกจากนี้ยังไม่มีวิธีดูการเปลี่ยนแปลงขนาดไฟล์อีกด้วย

มีหลายวิธีในการใช้สตรีมข้อมูลทางเลือก บน Windows สตรีมเหล่านี้ใช้เพื่อจัดเก็บข้อมูลสรุปสำหรับเอกสารที่สร้างโดยแอปพลิเคชันที่ไม่รวมอยู่ใน Microsoft Office เช่น ไฟล์ข้อความธรรมดา (.txt) ข้อมูลสรุป เช่น ชื่อเรื่อง หัวข้อ และผู้แต่ง สามารถป้อนข้อมูลในแท็บสรุปของกล่องโต้ตอบคุณสมบัติของไฟล์ที่เกี่ยวข้องได้ ข้อมูลสรุปนี้ถูกจัดเก็บไว้ในสตรีมข้อมูลสำรอง SummaryInformation

แอปพลิเคชัน Windows เช่น Encrypting File System (EFS) และ Windows Explorer ใช้สตรีมข้อมูลสำรองเพื่อแนบข้อมูลที่เกี่ยวข้องกับไฟล์ไปยังไฟล์ที่จัดเก็บไว้ในไดรฟ์ที่จัดรูปแบบ NTFS โปรแกรม EFS ใช้สตรีมข้อมูลสำรองเพื่อแนบข้อมูลการเข้ารหัสและถอดรหัสไปยังไฟล์ที่เข้ารหัส ซึ่งเปิดใช้งานการเข้ารหัสและถอดรหัสแบบกระจายอำนาจโดยใช้โปรแกรมนี้

Microsoft Internet Explorer (IE) ถูกนำมาใช้ใน Windows XP Service Pack 2 (SP2) โดยใช้สตรีมข้อมูลสำรองของ Security.Zone เพื่อจัดประเภทโซนความปลอดภัยสำหรับไฟล์ที่จัดเก็บไว้ในไดรฟ์ข้อมูล NTFS ด้วยเหตุนี้ IE จึงมีความสามารถในการบล็อกการโจมตีที่เสริมความแข็งแกร่งให้กับผู้ใช้ซึ่งอาจเกิดขึ้นเมื่อผู้ใช้ดาวน์โหลดโค้ดที่เป็นอันตรายจากโซนอินเทอร์เน็ตที่ไม่น่าเชื่อถือ และบันทึกโค้ดนั้นลงในฮาร์ดไดรฟ์ในเครื่อง IE ถือว่าเนื้อหาที่จัดเก็บไว้ในเครื่องเป็นโซนความปลอดภัยของ Local Machine ซึ่งให้สิทธิ์มากกว่าโซนความปลอดภัยของอินเทอร์เน็ต XP SP2 จะตรวจสอบสตรีมข้อมูล Security.Zone เสมอก่อนที่จะอนุญาตให้โค้ดที่โหลดดำเนินการใดๆ บนระบบภายในเครื่อง

ช่องทางในการแทรกโค้ดที่เป็นอันตราย

กระแสข้อมูลสำรองกลายเป็นสิ่งที่น่าสังเกตและเป็นอันตรายเนื่องจากชื่อและเนื้อหาไม่แสดงในหน้าต่างโปรแกรม Windows Explorer ดังนั้นผู้จัดงานการโจมตีประเภทต่างๆ จึงถือว่าสตรีมดังกล่าวเป็นวิธีที่สะดวกในการซ่อนข้อมูลหรือโค้ดที่เป็นอันตรายที่เข้าสู่ระบบ ตัวอย่างของการใช้สตรีมเหล่านี้คือเวิร์ม VBS.Potok@mm แฮกเกอร์ใช้สตรีมข้อมูลสำรองเพื่อแนบสคริปต์ Visual Basic (VB) หลายตัวเข้ากับไฟล์ ODBC .ini ที่มีอยู่

เมื่อเปิดใช้งาน เวิร์มจะสร้างบัญชีที่มีสิทธิ์ระดับผู้ดูแลระบบและส่งตัวเองไปยังที่อยู่ที่พบในสมุดที่อยู่ของ Microsoft Outlook

อันตรายอีกประการหนึ่งคือพื้นที่ดิสก์ที่จัดสรรสำหรับสตรีมข้อมูลทางเลือกไม่ปรากฏในขนาด (ไฟล์) และข้อมูลพื้นที่ว่างในดิสก์ของ Windows Explorer แฮกเกอร์สามารถใช้กระแสข้อมูลสำรองเพื่อเติมเต็มพื้นที่ดิสก์ของเซิร์ฟเวอร์ไฟล์ ปล่อยให้ผู้ดูแลระบบเกาหัวของเขาที่พยายามจะเข้าถึงปัญหาด้านล่าง นอกจากนี้ยูทิลิตี้บรรทัดคำสั่ง Dir ไม่ได้คำนึงถึงสตรีมข้อมูลทางเลือกเมื่อคำนวณข้อมูลขนาด (ไฟล์และโฟลเดอร์) ปัจจุบันมีเครื่องมือ Microsoft เพียงเครื่องมือเดียวที่สามารถคำนึงถึงสตรีมข้อมูลทางเลือกเมื่อคำนวณขนาด: นี่คือยูทิลิตี้ Chkdsk

การเพิ่มหัวข้อใหม่

ทุกคนที่มีสิทธิ์เขียนไฟล์ NTFS สามารถใช้คำสั่งระบบปฏิบัติการปกติเพื่อแนบสตรีมข้อมูลสำรองเข้ากับไฟล์ได้ ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างสตรีมข้อมูลทางเลือก mystream ต่อท้าย mystream กับไฟล์ชื่อ file.txt และจัดเก็บวลี "ความลับสุดยอด" ใน mystream

สะท้อนความลับสุดยอด > file.txt: mystream

คุณสามารถดูเนื้อหาของ mystream ด้วยคำสั่ง

ตามที่ระบุไว้ข้างต้น คุณสามารถเพิ่มไฟล์ปฏิบัติการลงในสตรีมข้อมูลทางเลือกได้ ตัวอย่างเช่น คุณสามารถเพิ่มสำเนา Windows Calculator (calc.exe) ที่ซ่อนอยู่ลงในไฟล์ file.txt ได้ ในการดำเนินการนี้คุณเพียงแค่ต้องป้อนคำสั่ง

พิมพ์ calc.exe > file.txt: calc.exe

หากต้องการเปิดเครื่องคิดเลขที่ซ่อนอยู่ ให้ป้อนคำสั่ง

start.file.txt:calc.exe

คุณสามารถเห็นได้ด้วยตัวคุณเองว่าสตรีมข้อมูลทางเลือกและเนื้อหาจะไม่แสดงในเครื่องมือของ Microsoft เปิด Windows Explorer และดูคุณสมบัติของไฟล์ file.txt ในนั้น ขนาดไฟล์จริงคือ 112 KB (นั่นคือขนาดพื้นที่ที่ calc.exe ในตัวครอบครอง) - แต่โปรแกรมจะแสดงขนาดไฟล์เป็น 0 KB: ไม่มีข้อมูลเกี่ยวกับไฟล์ที่ฝังอยู่ในสตรีมข้อมูล $DATA และ Windows Explorer ไม่สามารถอ่านข้อมูลจากสตรีมข้อมูลสำรองได้

เป็นที่ชัดเจนว่ามีภัยคุกคามมากมายที่เกี่ยวข้องกับสตรีมข้อมูลทางเลือก โดยเฉพาะอย่างยิ่งในเครือข่ายที่งานออกสิทธิ์ในการเข้าถึงทรัพยากร NTFS ไม่ได้รับความสนใจอย่างเหมาะสม และไม่มีการควบคุมการเข้าถึงเซิร์ฟเวอร์ Windows อย่างเข้มงวด มีกลไกความปลอดภัยง่ายๆ ที่สามารถป้องกันแฮกเกอร์จากการพยายามใช้สตรีมข้อมูลอื่น - ระบบควบคุมการเข้าถึง NTFS หากผู้โจมตีไม่มีสิทธิ์ในการเขียนข้อมูลลงในไฟล์ พวกเขาจะไม่สามารถสร้างสตรีมข้อมูลสำรองและแนบไปกับไฟล์นี้ได้

การตรวจจับการเปลี่ยนแปลง

หากคุณรู้สึกว่าแฮกเกอร์สามารถหลีกเลี่ยงอุปสรรคในการอนุญาตที่จัดตั้งขึ้นได้ ให้ใช้เครื่องมือที่พัฒนาขึ้นมาเพื่อตรวจจับเนื้อหาของสตรีมข้อมูลทางเลือก โปรแกรมความสมบูรณ์ของระบบ เช่น Tripwire Enterprise และ Tripwire for Servers สามารถตรวจจับการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับระบบไฟล์ NTFS ที่เกิดขึ้นบนระบบ Windows รวมถึงการเพิ่มหรือแก้ไขเนื้อหาสตรีมข้อมูล

โปรแกรม Streams ของ Sysinternal เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งฟรีที่กำหนดชื่อของสตรีมข้อมูลสำรองที่แนบมากับไฟล์ รูปที่ 1 แสดงวิธีใช้ยูทิลิตี้ Streams เพื่อดูชื่อของสตรีมข้อมูล calc.exe ที่เราเพิ่มลงใน file.txt ก่อนหน้านี้ สามารถดาวน์โหลดยูทิลิตี้นี้ได้จาก http://www.sysinternals.com/utilities/streams.html

อีกวิธีง่ายๆ ในการตรวจจับสตรีมข้อมูลสำรองคือการใช้ Windows Explorer เพื่อคัดลอกไฟล์ที่น่าสงสัยไปยังไดรฟ์ที่มีระบบไฟล์ที่ไม่ใช่ NTFS (เช่น ไดรฟ์ FAT) ระบบไฟล์อื่นๆ ไม่มีสิ่งอำนวยความสะดวกในการทำงานกับสตรีมข้อมูลทางเลือก ดังนั้น หากคุณพยายามคัดลอกไฟล์ NTFS โดยมีกระแสข้อมูลสำรองแนบอยู่กับระบบไฟล์อื่น NTFS จะส่งคำเตือนคล้ายกับรูปที่ 2 แต่โปรดทราบว่าหากคุณคัดลอกไฟล์จากหน้าต่างพร้อมท์คำสั่งโดยใช้คำสั่งคัดลอก Windows จะคัดลอกไปยังระบบไฟล์ที่ไม่ใช่ NTFS และลบสตรีมข้อมูลโดยไม่มีการเตือน

การซ่อนทรัพยากรที่ใช้ร่วมกันกับ ABE

ABE เป็นคุณลักษณะเลเยอร์การแชร์ไฟล์เสริมที่ Microsoft ใช้งานครั้งแรกใน Windows Server 2003 SP1 สามารถใช้ในไดเร็กทอรีที่ใช้ร่วมกันของ Windows โดยไม่คำนึงถึงระบบไฟล์ที่ข้อมูลที่ใช้ร่วมกันถูกเก็บไว้ ABE อนุญาตให้ผู้ดูแลระบบซ่อนโฟลเดอร์และไฟล์ที่จัดเก็บไว้ในทรัพยากรที่ใช้ร่วมกันจากผู้ใช้ที่ไม่มีสิทธิ์ที่เหมาะสมในการเข้าถึงในระดับ NTFS กล่าวอีกนัยหนึ่ง เรากำลังพูดถึงความปลอดภัยในระดับโฟลเดอร์

ในกรณีที่ไม่ได้ใช้ ABE ผู้ใช้ที่เชื่อมต่อกับไดเร็กทอรีที่แชร์จะเห็นไฟล์และโฟลเดอร์ทั้งหมดที่อยู่ในการแชร์ รวมถึงไฟล์และโฟลเดอร์ที่พวกเขาไม่มีสิทธิ์ในการอ่าน และไฟล์ที่ถูกบล็อกการเข้าถึง เมื่อผู้ใช้พยายามเปิดไฟล์หรือโฟลเดอร์ที่พวกเขาไม่ได้รับอนุญาตให้เข้าถึง ระบบจะแสดงข้อความแสดงข้อผิดพลาดอธิบายว่าการเข้าถึงถูกปฏิเสธ ข้อความแสดงข้อผิดพลาดเหล่านี้อาจทำให้ผู้ใช้สับสน ดังนั้นการเปิดใช้งานเครื่องมือ ABE สามารถลดภาระในส่วนช่วยเหลือได้

อย่างไรก็ตาม การใช้ ABE ก็มีข้อเสียอยู่ ก่อนที่จะส่งคืนรายการออบเจ็กต์ที่อยู่ในโฟลเดอร์ไปยังไคลเอนต์ที่เชื่อมต่อกับการแชร์ เซิร์ฟเวอร์จะต้องตรวจสอบรายการควบคุมการเข้าถึงทั้งหมดบนออบเจ็กต์เหล่านี้ เพื่อให้สามารถกำหนดข้อมูลที่จะส่งกลับได้ ส่งผลให้ประสิทธิภาพของระบบลดลงอย่างมาก โดยเฉพาะอย่างยิ่งเมื่อเข้าถึงทรัพยากรที่ใช้ร่วมกันซึ่งมีอ็อบเจ็กต์จำนวนมาก

การใช้เครื่องมือ ABE จะมีประโยชน์ เช่น เพื่อตั้งค่าทรัพยากรสาธารณะในโฮมไดเร็กทอรีของผู้ใช้ แทนที่จะสร้างการแชร์ที่ซ่อนอยู่สำหรับโฮมไดเร็กตอรี่ของผู้ใช้แต่ละคน คุณสามารถสร้างการแชร์เดียวที่มีโฮมไดเร็กทอรีของผู้ใช้ทั้งหมดในโฟลเดอร์รูทโฮมไดเร็กทอรี ผู้ใช้จะเชื่อมต่อกับไดเร็กทอรีรากนี้ และคุณสามารถใช้สิทธิ์ ABE และ NTFS เพื่อควบคุมการมองเห็นโฮมไดเร็กทอรีของผู้ใช้ทั้งหมดได้

การเปิดใช้งานฟังก์ชั่น ABE

ฟังก์ชันนี้ใช้แฟล็กระดับการแชร์ใหม่ SHI1005_FLAGS_ENFORCE_NAMESPACE_ACCESS ในขณะที่เขียนบทความนี้ จะมีการใช้งานเฉพาะใน Windows 2003 SP1 และ Release 2 (R2) เท่านั้น การตั้งค่าสถานะนี้หมายความว่าคุณกำลังใช้ฟังก์ชัน ABE กับโฟลเดอร์ใดโฟลเดอร์หนึ่ง

คุณสามารถใช้ส่วนขยายคุณสมบัติโฟลเดอร์ Windows Explorer หรือเครื่องมือบรรทัดคำสั่ง abecmd.exe เพื่อตั้งค่าสถานะ Microsoft เผยแพร่ส่วนขยาย ABE Explorer และ abecmd.exe ในแพ็คเกจการติดตั้ง ABE ซึ่งเป็น Add-on สำหรับแพลตฟอร์ม Windows Server 2003 SP1 สามารถดาวน์โหลดแพ็คเกจการติดตั้งได้จากไซต์ Microsoft ที่ http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D 9-78D9-4342-A485-B030AC442084 เนื่องจาก ABE เป็นส่วนขยายเซิร์ฟเวอร์ จึงสามารถใช้งานได้ไม่ว่าจะติดตั้ง Windows เวอร์ชันใดบนไคลเอนต์ก็ตาม

เมื่อติดตั้ง ABE บนเซิร์ฟเวอร์แล้ว คุณสามารถตั้งค่าสถานะนี้สำหรับโฟลเดอร์เฉพาะได้ คลิกขวาที่โฟลเดอร์ เลือก Properties ไปที่แท็บ Access-based Enumeration และตั้งค่า Enable access-based enumeration บนแฟล็กโฟลเดอร์ที่ใช้ร่วมกันนี้ ดังแสดงในรูปที่ 3 เมื่อต้องการใช้ฟังก์ชัน ABE กับทรัพยากรที่ใช้ร่วมกันทั้งหมดบนระบบ ให้ตั้งค่าใช้การตั้งค่าสถานะโฟลเดอร์นี้กับโฟลเดอร์ที่แชร์ที่มีอยู่ทั้งหมดบนคอมพิวเตอร์เครื่องนี้

วิธีที่สองคือการใช้เครื่องมือบรรทัดคำสั่ง abecmd.exe หากต้องการใช้ฟังก์ชัน ABE กับ shareddocs ให้ป้อนคำสั่งต่อไปนี้:

abecmd / เปิดใช้งาน shareddocs

คุณสามารถใช้ตัวเลือก /all เพื่อเปิดใช้งาน ABE บนทรัพยากรที่มีอยู่ทั้งหมด และใช้ตัวเลือก /disable เพื่อปิดใช้งาน ABE

การควบคุมการเข้าถึง

ABE เป็นเครื่องมือง่ายๆ ที่ช่วยให้คุณสามารถจำกัดสิทธิ์ของผู้ใช้ในการเข้าถึงเฉพาะไฟล์ที่พวกเขาจำเป็นต้องใช้เท่านั้น ผู้ใช้สามารถค้นหาไฟล์ที่ต้องการได้อย่างง่ายดาย เนื่องจากไม่ต้องเลื่อนดูโฟลเดอร์ที่ไม่เกี่ยวข้อง และไม่ต้องกังวลกับฝ่ายช่วยเหลือด้วยคำถามว่าทำไมไฟล์ที่พวกเขาไม่มีสิทธิ์จึงไม่เปิด

เพื่อป้องกันแฮกเกอร์ที่ใช้สตรีมข้อมูลสำรอง ผู้ดูแลระบบควรตรวจสอบการตั้งค่าการควบคุมการแชร์และใช้ยูทิลิตี้ตัวใดตัวหนึ่งที่ฉันอธิบายไว้เพื่อตรวจจับสตรีมข้อมูลสำรองที่ซ่อนอยู่ตลอดจนการเปลี่ยนแปลงในระบบ NTFS

ฌอง เดอ เลิร์ก(declercq @hp .com ) เป็นสมาชิกของ Hewlett-Packard Security Office รับผิดชอบในการจัดการข้อมูลประจำตัวและความปลอดภัยของผลิตภัณฑ์ Microsoft ผู้แต่งหนังสือ Windows Server 2003 Security Infrastructures (Digital Press)

    ผู้ใช้ระบบปฏิบัติการสมัยใหม่ตระกูล Windows ส่วนใหญ่ประสบปัญหาที่ไฟล์วิธีใช้ในรูปแบบ CHM (Compiled Help Module) เปิดได้เพียงบางส่วนเท่านั้น - คุณสามารถดูสารบัญได้โดยไม่มีเนื้อหาของรายการเท่านั้น:

นอกจากนี้ หากคุณพยายามเปิดไฟล์ CHM ที่อยู่ในเครือข่ายที่ใช้ร่วมกันโดยใช้เส้นทาง UNC (แบบแผนการตั้งชื่อสากล) เช่น \\server\h\help.chm ส่วนของไฟล์จะไม่แสดง กล่าวอีกนัยหนึ่ง คุณสามารถดูไฟล์ .chm ได้ตามปกติหากไม่ได้รับผ่านเครือข่ายเท่านั้น

รูปแบบที่คล้ายกันเกิดขึ้นเมื่อคุณพยายามเปิดไฟล์ปฏิบัติการที่ดาวน์โหลดจากเว็บ คุณจะเห็นคำเตือนด้านความปลอดภัย:

ยิ่งไปกว่านั้น ไฟล์เดียวกันที่แยกจากไฟล์เก็บถาวรซึ่งดาวน์โหลดจากอินเทอร์เน็ตสามารถเปิดบนคอมพิวเตอร์เครื่องนี้ได้โดยไม่มีปัญหาใด ๆ ข้อแตกต่างเพียงอย่างเดียวคือไฟล์ที่กำลังเปิดถูกสร้างขึ้นในเครื่องระหว่างกระบวนการแตกไฟล์ และไม่ได้ดาวน์โหลดผ่านเครือข่าย กล่าวอีกนัยหนึ่ง Windows มีความสามารถในการระบุแหล่งที่มาของเครือข่ายของไฟล์และตอบสนองโดยใช้การตั้งค่าความปลอดภัยบางอย่าง

กลไกในการกำหนดที่มาของเครือข่ายของไฟล์

ในระบบไฟล์ NTFS แต่ละไฟล์ (หรือไดเร็กทอรี) จะแสดงเป็นชุดของแต่ละรายการที่เรียกว่า คุณลักษณะ. องค์ประกอบต่างๆ เช่น ชื่อไฟล์ การตั้งค่าความปลอดภัย และแม้แต่ข้อมูล ล้วนเป็นคุณลักษณะของไฟล์ แต่ละแอ็ตทริบิวต์จะถูกระบุด้วยรหัสประเภทแอ็ตทริบิวต์และอาจระบุชื่อแอ็ตทริบิวต์ก็ได้ ตัวอย่างเช่น ชื่อไฟล์มีอยู่ในแอตทริบิวต์ ชื่อไฟล์เนื้อหาอยู่ในแอตทริบิวต์ ข้อมูลข้อมูลเกี่ยวกับเจ้าของและสิทธิ์การเข้าถึง - ในแอตทริบิวต์ ตัวอธิบายความปลอดภัยฯลฯ เนื้อหาของแต่ละไฟล์ (แอตทริบิวต์ $DATA) เป็นชุดของ ไหลซึ่งข้อมูลจะถูกเก็บไว้ สำหรับแต่ละไฟล์หรือไดเร็กทอรีใน NTFS จะมีสตรีมหลักอย่างน้อยหนึ่งสตรีมที่ข้อมูลถูกเก็บไว้จริง อย่างไรก็ตาม นอกเหนือจากสตรีมหลักแล้ว ยังสามารถเชื่อมโยงไฟล์หรือไดเร็กทอรีได้ด้วย ทางเลือก (สลับกัน ดีอาต tream - ADS) ซึ่งอาจมีข้อมูลบางอย่างที่ไม่เกี่ยวข้องกับข้อมูลของกระแสหลักแต่อย่างใด สตรีมหลักของไฟล์ไม่มีชื่อและแสดงเป็น $ข้อมูล:"". สตรีมสำรองต้องมีชื่อ เช่น - $DATA:"ข้อมูลสตรีม"- กระแสสำรองชื่อ ข้อมูลสตรีม

เมื่อทำหน้าที่เขียนข้อมูลลงในไฟล์ ข้อมูลเหล่านั้นจะถูกวางไว้ในสตรีมข้อมูลหลัก เมื่อเราเปิดไฟล์ข้อความด้วยแผ่นจดบันทึก เราจะเข้าถึงข้อมูลของสตรีมหลักได้ ข้อมูลของสตรีมทางเลือกจะไม่แสดงเมื่อใช้การเข้าถึงแบบมาตรฐาน แต่ไม่มีสัญญาณใด ๆ เลย อย่างไรก็ตาม ข้อมูลสตรีมสำรองที่เกี่ยวข้องกับไฟล์หรือไดเร็กทอรีเฉพาะสามารถเข้าถึงได้โดยโปรแกรมพิเศษหรือโดยใช้ไวยากรณ์พิเศษบนบรรทัดคำสั่งของ Windows

เช่น การเขียนข้อความลงในไฟล์ test.txt ด้วยคำสั่ง เสียงสะท้อน:

echo ข้อมูลกระแสหลัก > test.txt- เขียนข้อความ "ข้อมูลสตรีมหลัก" ลงในไฟล์ ทดสอบ.txtซึ่งหมายถึงการเขียนไปยังสตรีมที่ไม่มีชื่อหลัก

แต่คุณสามารถเปลี่ยนคำสั่งได้:

echo ข้อมูลสตรีมสำรอง > test.txt:stream1- เขียนข้อความ "ข้อมูลสตรีมสำรอง" ไปยังสตรีมทางเลือกชื่อ สตรีม1ไฟล์ ทดสอบ.txt

ตอนนี้คุณสามารถเปิดแต่ละสตรีมได้ เช่น แผ่นจดบันทึก:

แผ่นจดบันทึก test.txt- เนื้อหาของสตรีมหลักจะเปิดขึ้นพร้อมข้อความ "ข้อมูลสตรีมหลัก"

แผ่นจดบันทึก test.txt:stream1- เนื้อหาของสตรีมทางเลือกจะเปิดขึ้นพร้อมข้อความ "ข้อมูลสตรีมสำรอง"

สตรีมสำรองซึ่งมองไม่เห็นด้วยเครื่องมือมาตรฐานสำหรับการทำงานกับออบเจ็กต์ระบบไฟล์มักใช้เพื่อจัดเก็บข้อมูลเพิ่มเติมเกี่ยวกับไฟล์และข้อมูลบริการอื่น ๆ ตัวอย่างเช่นเมื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ต เบราว์เซอร์จะเพิ่มสตรีมทางเลือกชื่อให้พวกเขา โซน.ตัวระบุซึ่งสามารถเปิดได้ด้วยแผ่นจดบันทึก ดังตัวอย่างด้านบน

แผ่นจดบันทึก %USERPROFILE%\ดาวน์โหลด\ChromeSetup.exe:Zone.Identifier- เปิดสตรีมทางเลือกที่มีชื่อในแผ่นจดบันทึก โซน.ตัวระบุ ChromeSetup.exeสามารถละเว้นพาธไปยังไฟล์ได้ หลังจากดำเนินการคำสั่งเพื่อไปที่ไดเร็กทอรีของไฟล์ที่ดาวน์โหลดของผู้ใช้ปัจจุบัน (ด้วยตำแหน่งมาตรฐานของโฟลเดอร์ผู้ใช้บริการ):

ซีดี %USERPROFILE%\ดาวน์โหลด- ไปที่ไดเรกทอรีดาวน์โหลด

แผ่นจดบันทึก ChromeSetup.exe:Zone.Identifier- เปิดกระแสทางเลือกชื่อ โซน.ตัวระบุสำหรับไฟล์การติดตั้งของเบราว์เซอร์ Google Chrome ที่มีชื่อ ChromeSetup.exeในไดเร็กทอรีปัจจุบัน

อย่างที่คุณเห็น เนื้อหาของสตรีมทางเลือกมีบรรทัดดังนี้:

- เครื่องหมายของส่วนพร้อมคำอธิบายของโซนการถ่ายโอนข้อมูล
รหัสโซน=3- ตัวระบุโซน

ข้อมูลนี้ทำให้สามารถระบุที่มาของไฟล์ด้วยหมายเลขตัวระบุ รหัสโซน:

0 - คอมพิวเตอร์ท้องถิ่น (ท้องถิ่น)
1 - เครือข่ายท้องถิ่น (อินทราเน็ต)
2 - เว็บไซต์อินเทอร์เน็ตที่เชื่อถือได้ (Trusted Sites)
3 - อินเทอร์เน็ต (อินเทอร์เน็ต)
4 - เว็บไซต์อันตราย (Restricted Sites)

ตัวอย่างเช่น คำจำกัดความของโซนนี้สอดคล้องกับการตั้งค่าความปลอดภัยของ Internet Explorer:

ในกรณีนี้คุณสามารถระบุได้ว่าไฟล์นั้น ChromeSetup.exeได้รับจากอินเทอร์เน็ต (ID โซน = 3) เมื่อไฟล์ดังกล่าวถูกเรียกใช้ จะมีการออกคำเตือนด้านความปลอดภัยเกี่ยวกับแหล่งที่ไม่น่าเชื่อถือ คุณลักษณะด้านความปลอดภัยของแอปพลิเคชัน Microsoft Office ทำงานในลักษณะเดียวกันเมื่อเตือนเกี่ยวกับอันตรายจากการเปิดไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต ด้วยเหตุผลเดียวกัน เนื้อหาของไฟล์วิธีใช้ในรูปแบบ CHM จะไม่ถูกเปิด - เนื้อหาของสตรีมทางเลือกทำให้คุณสามารถจัดประเภทไฟล์เหล่านั้นว่าเป็นอันตรายได้ โดยไม่คำนึงถึงอันตรายที่แท้จริงหรือไม่มีอยู่จริง

ลองเปลี่ยนแผ่นจดบันทึกอันเดียวกัน ค่าของ ZoneId เป็น 0 ซึ่งจะตรงกับที่มาในเครื่องของไฟล์ และคำเตือนด้านความปลอดภัยจะหายไป เช่นเดียวกับปัญหาในการเปิดเอกสาร office หรือหัวข้อความช่วยเหลือในไฟล์ .chm

พฤติกรรมที่คล้ายกันของระบบความปลอดภัยจะเกิดขึ้นในกรณีดังกล่าว หากคุณลบเนื้อหาของสตรีมทางเลือก (ทำให้ว่างเปล่า) หรือแม้แต่ลบสตรีมทางเลือกนั้นเอง

เริ่มต้นด้วย Windows 7 คุณสามารถใช้คำสั่งเพื่อรับรายการสตรีมไฟล์สำรอง ผบพร้อมพารามิเตอร์ /ร:

dir /r %UserpRofile%\ดาวน์โหลด- แสดงรายการไฟล์และสตรีมทางเลือกในไดเร็กทอรี ดาวน์โหลดผู้ใช้ปัจจุบัน.

หากต้องการทำงานกับสตรีมทางเลือกใน Windows OS เวอร์ชันใดก็ตาม คุณสามารถใช้ยูทิลิตี้นี้ได้ สตรีม.exeจากแพ็คเกจซอฟต์แวร์ Microsoft Sysinternals Suite แพ็คเกจประกอบด้วยโปรแกรมขนาดเล็กจำนวนมากสำหรับการวินิจฉัย การเพิ่มประสิทธิภาพ และการดูแลระบบ รวมถึงยูทิลิตี้ที่ช่วยให้คุณชดเชยข้อบกพร่องในการทำงานกับสตรีมทางเลือก

รูปแบบบรรทัดคำสั่ง:

streams.exe [-s] [-d] ไฟล์หรือไดเรกทอรี

ตัวเลือกบรรทัดคำสั่ง:

-ส- ประมวลผลไดเรกทอรีย่อย
-d- ลบกระแสทางเลือก
-ไม่มีแบนเนอร์- ไม่แสดงแบนเนอร์เริ่มต้นและข้อมูลลิขสิทธิ์

ตัวอย่างการใช้:

streams.exe /?- แสดงความช่วยเหลือในการใช้งานโปรแกรม

streamsmyfile.txt- แสดงข้อมูลเกี่ยวกับสตรีมไฟล์ myfile.txt

สตรีม -d myfile.txt- ลบสตรีมไฟล์สำรอง myfile.txt

สตรีม -d -s D:\ดาวน์โหลด\*.*- ลบสตรีมทางเลือกของไฟล์และไดเร็กทอรีย่อยทั้งหมดในไดเร็กทอรี D:\ดาวน์โหลด\

บนระบบปฏิบัติการ Windows 8 และใหม่กว่า เชลล์ PowerShell ยังช่วยให้คุณทำงานกับเธรดอื่นได้:

รับรายการ -Path -Path C:\FirefoxSetup.exe -Stream *- แสดงข้อมูลเกี่ยวกับเธรดของไฟล์ C:\FirefoxSetup.exe

รับเนื้อหา -Path C:\FirefoxSetup.exe -Stream Zone.Identifier- แสดงเนื้อหาของสตรีมทางเลือก โซน.ตัวระบุไฟล์ C:\FirefoxSetup.exe

ลบรายการ -Path C:\FirefoxSetup.exe -Stream *- ลบสตรีมทางเลือกทั้งหมดที่เกี่ยวข้องกับไฟล์ C:\FirefoxSetup.exe

ลบรายการ -Path C:\FirefoxSetup.exe -Stream Zone.Identifier- ลบสตรีมสำรอง ตัวระบุโซนสตรีมที่เกี่ยวข้องกับไฟล์ C:\FirefoxSetup.exe.

ข้อมูลเกี่ยวกับโซนความปลอดภัยมีการใช้กันอย่างแพร่หลายในนโยบายกลุ่ม และโดยเฉพาะอย่างยิ่ง Windows Attachment Manager ซึ่งทำหน้าที่เป็นการป้องกันมัลแวร์ที่อาจมีอยู่ในไฟล์แนบอีเมลหรือไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต เว็บไซต์ Microsoft มีบทความโดยละเอียดเกี่ยวกับวิธีกำหนดค่าตัวจัดการไฟล์แนบและแก้ไขปัญหาที่เกี่ยวข้อง:
อธิบายวิธีการทำงานของตัวจัดการไฟล์แนบซึ่งมีอยู่ใน Microsoft Windows

โดยสรุป ฉันจะเพิ่มว่าสตรีมทางเลือกเป็นคุณสมบัติของระบบไฟล์ NTFS และตัวอย่างเช่น FAT32 ไม่รองรับ ดังนั้นเมื่อคัดลอกไฟล์จาก NTFS ไปยังระบบไฟล์อื่น สตรีมทางเลือกจะถูกละทิ้ง