ฮาร์ดไดรฟ์ - ล้าง "พื้นที่ที่ซ่อนอยู่" เช่น HPA และ DCO หลังจากการติดมัลแวร์


9

พื้นหลัง:

ฉันมีมัลแวร์บางตัวใน Windows อาจเป็นรูทคิทหรือ bootkit ฉันไม่ต้องการที่จะใช้โอกาสใด ๆ ดังนั้นจึงลบไดรฟ์ของฉันด้วย DBAN (PRNG, 8 pass) ต่อมารู้ว่า DBAN ไม่ได้ฆ่า HPA (Host Protected Area) หรือ DCO (Drive Configuration Overlay) ซึ่งเป็น "พื้นที่ซ่อนเร้น" ที่ฮาร์ดไดรฟ์บางตัวใช้

ฉันเห็นว่า HDDErase ที่ทำโดย CMRR สามารถลบ HPA และ DCO ได้ถ้ามี แต่โครงการหยุดทำงานในปี 2005 หรือ 2007 ดังนั้นฉันจึงมาที่ Linux hdparmโดยหวังว่ามันจะล้าง HDD ของฉัน 100% เพื่อให้ฉันสามารถติดตั้ง Windows ได้ อีกครั้งบนฮาร์ดไดรฟ์ที่สะอาด 100% นอกจากนี้ฉันยังดูที่ "BC Wipe Total Wipeout" ซึ่งเป็นการลบ HPA และ DCO แต่มีราคา $ 50

ฉันเป็นผู้ใช้คอมพิวเตอร์ทั่วไปที่มีทักษะ Bash เล็กน้อยเช่นฉันไม่รู้จริงๆว่าฉันกำลังทำอะไรอยู่

คำถาม:

ไดรฟ์ของฉันคือไดรฟ์ Seagate 320GB 7200RPM

ผลลัพธ์ของsudo hdparm --dco-identify /dev/sda:

/dev/sda:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
    Transfer modes:
         mdma0 mdma1 mdma2
         udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
    Real max sectors: 625142448
    ATA command/feature sets:
         SMART self_test error_log security HPA 48_bit
         (?): selective_test conveyance_test write_read_verify
         (?): WRITE_UNC_EXT
    SATA command/feature sets:
         (?): NCQ interface_power_management SSP
  1. ผลลัพธ์นี้หมายความว่าอย่างไร ฉันจะมั่นใจได้อย่างไรว่าไม่มีความเป็นไปได้ของมัลแวร์ที่เหลืออยู่ใน HPA DCO

  2. มีวิธีการหาขนาดในแง่ของ GB แทนภาคหรือไม่?

  3. จะhdparmทำการล้างมัลแวร์ทั้งหมดที่อยู่ใน HPA และ DCO หรือไม่

ฉันเห็นสิ่งนี้ในหน้า Wiki และเป็นกังวลเล็กน้อย:

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


hy hdd ได้เพิ่มการลบการรักษาความปลอดภัยหน่วย มันจะมีประโยชน์ในการกำจัด HPA และ DCO หรือไม่?
Deen

3
คุณเพิ่งล้างดิสก์ทั้งหมดรวมถึงระบบไฟล์ทั้งหมดและคุณกังวลเกี่ยวกับความเสียหายของระบบไฟล์หรือไม่
Hennes

เห็นได้ชัดว่า HDD เป็น "แช่แข็ง" เพื่อป้องกันมัลแวร์ลบฮาร์ดดิสก์เป็นต่อ - forums.seagate.com/t5/Desktop-HDD-Desktop-SSHD/...
Deen

ทำน้ำแข็งให้ละลายเช่นนี้? - techsupportforum.com/forums/f15/…
ดีน

@Hennes - ขอโทษฉันไม่เข้าใจ คุณอาจจะพลาดที่ฉันเป็นผู้ใช้เฉลี่ย โปรดอธิบายสิ่งที่คุณพูด
Deen

คำตอบ:


10

ดังนั้นเช็ดไดรฟ์กับ DBAN อย่างโง่เขลา (PRNG, 8 Pass) ต่อมารู้ว่า DBAN ไม่ได้ฆ่า HPA (พื้นที่ที่มีการป้องกันโฮสต์) และ DCO (โอเวอร์เลย์การกำหนดค่าไดรฟ์)

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

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

เปิดไฟดิสก์การบูต Linux และเรียกใช้ hdparm


หากต้องการใช้ HDPARM เพื่อล้าง HPA

สำหรับ x = อุปกรณ์ที่คุณกำหนดเป้าหมายให้ใช้คำสั่ง HDPARM ต่อไปนี้เพื่อแสดงว่าคุณเปิดใช้งาน HPA หรือไม่

# hdparm -N /dev/sdx

มันจะคายบางสิ่งบางอย่างดังต่อไปนี้ถ้าคุณมี HPA ที่กำหนดไว้:

/dev/sdx:
max sectors   = 78125000/78165360, HPA is enabled

ในการลบ HPA และขยายพื้นที่ที่มองเห็นได้ให้เป็นขนาดเต็มของไดรฟ์ให้ใช้ตัวหารในรายงานด้านบน (พื้นที่ที่มองเห็น / ภาคส่วนสูงสุด):

# hdparm -N p78165360 /dev/sdx

มันจะคายกลับรายงานว่าพื้นที่ที่มองเห็นจะเท่ากับภาคสูงสุดและที่ HPA ถูกปิดใช้งาน

/dev/sdx:
setting max visible sectors to 78165360 (permanent)
max sectors   = 78165360/78165360, HPA is disabled

หากต้องการใช้ HDPARM เพื่อตรวจสอบว่ามี DCO อยู่หรือไม่และตั้งเป็นค่าเริ่มต้นจากโรงงาน

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

# hdparm --dco-identify /dev/sdx

ในตัวอย่างของคุณมันทำให้คุณ:

/dev/sda:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
    Transfer modes:
         mdma0 mdma1 mdma2
         udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
    Real max sectors: 625142448
    ATA command/feature sets:
         SMART self_test error_log security HPA 48_bit
         (?): selective_test conveyance_test write_read_verify
         (?): WRITE_UNC_EXT
    SATA command/feature sets:
         (?): NCQ interface_power_management SSP

ดังนั้นผู้ผลิตไดรฟ์ของคุณใช้ DCO เพื่อกำหนดโหมดการถ่ายโอนข้อมูลที่อนุญาต (MDMA, UDMA), ขนาดที่แท้จริงของไดรฟ์ (ภาคสูงสุด) และคำสั่ง ATA / SATA ที่สามารถปิดการใช้งาน

หากคุณต้องการพยายามคืนค่า DCO กลับเป็นค่าเริ่มต้นจากโรงงานคุณสามารถใช้คำสั่ง followning คำสั่ง HDPARM:

# hdparm --dco-restore /dev/sdx

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

/dev/sdx:
Use of --dco-restore is VERY DANGEROUS.
You are trying to deliberately reset your drive configuration back to
the factory defaults.
This may change the apparent capacity and feature set of the drive,
making all data on it inaccessible.
You could lose *everything*.
Please supply the --yes-i-know-what-i-am-doing flag if you really want this.
Program aborted.

ตามคำแนะนำคุณเพิ่มสวิตช์ "ฉันยอมรับผลที่ตามมา" ดังต่อไปนี้:

# hdparm --yes-i-know-what-i-am-doing --dco-restore /dev/sdx

และมันจะบอกคุณ:

/dev/sdx:
issuing DCO restore command

2
linux.die.net/man/8/hdparm - หน้าคนสำหรับhdparmเป็นที่น่ากลัวที่สุดที่ฉันเคยเห็น
LawrenceC

1
ใช่และสิ่งที่ยุ่งกับเฟิร์มแวร์ที่ไม่เข้าใจอย่างชัดเจนอาจส่งผลและในบางกรณีจะส่งผลให้อิฐอลูมิเนียมที่มีสิ่งเงากลม discoid และแม่เหล็กที่มีประสิทธิภาพมากภายใน
Fiasco Labs

ฉันไม่ต้องการปิดกั้นไดรฟ์ของฉันดังนั้นฉันจึงไม่ได้เรียกใช้คำสั่งเรียกคืน DCO ฉันจะไปข้างหน้ากับการคืนค่า windows และดูว่าเกิดอะไรขึ้น หากฉันได้รับมัลแวร์ฉันจะโยน HDD ของฉันออกและรับอันใหม่ หวังว่ามันจะทำงานได้เว้นแต่ว่ามันจะเหมือนกับมัลแวร์ "Rakshasa" ซึ่งอ้างว่ามันสามารถทำให้ BIOS ติดเชื้อและยังคงอยู่ได้นานกว่านี้ :) google.com/…
Deen

ข้อมูลที่ดีเกี่ยวกับการกู้คืน HPA โดยไม่ต้องรีสตาร์ท (รวมถึงการรีเซ็ต DCO): blog.asiantuntijakaveri.fi/2012/07/…
akostadinov

2

ฉันมีปัญหาล่าสุดกับไดรฟ์ขนาด 1TB ที่รายงานว่า 1KB และตัวจัดการดิสก์รายงานว่าไม่มีสื่อ ฉันใช้โปรแกรมฟรีที่ชื่อว่า DiskCheckup จาก Passmark.com

หลังจากรันโปรแกรมและเลือกดิสก์ที่ได้รับผลกระทบฉันคลิกแท็บ 'ซ่อน' เพื่อค้นหากล่องป้อนข้อมูล 3 กล่อง 'ผู้ใช้สูงสุด LBA' แรกแสดงเพียง 1: สองและสาม (ดั้งเดิมและดิสก์) แสดงหมายเลขที่ถูกต้อง ฉันทำเครื่องหมายที่ช่องทำเครื่องหมายเพื่ออนุญาตการเปลี่ยนแปลงและพิมพ์หมายเลขที่ถูกต้องลงในช่องแรกเพื่อให้ทั้ง 3 แสดงหมายเลข LBA เท่ากัน จากนั้นคลิกปุ่ม 'ใช้': เสร็จสิ้น

ย้อนกลับไปใน Disk Manager ฉันคลิก 'rescan' ในเมนู Actions และข้อมูลพาร์ติชันแบบเต็มของฉันกลับมาอีกครั้งพร้อมการเข้าถึงไดรฟ์ อาจเป็นไปได้ว่าคุณจะต้องเปลี่ยน MBR หากเป็นไดรฟ์ที่ใช้บู๊ตได้โดยใช้โปรแกรมอย่าง EasyRE

ขออภัยกำลังเรียกดูคำตอบก่อนหน้านี้และไม่ทราบว่านี่เป็นไซต์ Linux และคำตอบของฉันใช้กับ Windows เท่านั้น


1

ฉันมีคำแนะนำบางอย่างเกี่ยวกับวิธีทำความสะอาดฮาร์ดดิสก์ของคุณ คุณสามารถดูคำตอบของฉันที่นี่ -

/server/56280/fastest-surest-way-to-erase-a-hard-drive/537341#537341

ดูเหมือนว่าโอเพนซอร์ซนั้นไม่ได้ร่าเริงเหมือนอย่างที่เห็น เครื่องมือแหล่งข้อมูลปิด $ 50 สามารถทำงานให้ฉันได้ แต่ฉันไม่ได้ซื้อเพราะแพงเกินไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.