硬盘驱动器-感染恶意软件后清除HPA和DCO等“隐藏区域”


9

背景:

我在Windows中发现了一些恶意软件,可能是rootkit或bootkit。我不想冒险,所以愚蠢地用DBAN擦了擦我的硬盘(PRNG,8次通过)。后来才知道DBAN不会杀死HPA(主机保护区)或DCO(驱动器配置叠加层),它们是某些硬盘驱动器使用的“隐藏区域”。

我看到CMRR制作的HDDErase可以删除HPA和DCO(如果存在),但是该项目于2005或2007年停止。因此,我来​​到Linux hdparm希望它可以将我的HDD擦干净100%,以便可以安装Windows再次使用100%清洁的硬盘驱动器。顺便说一句,我还研究了“ BC Wipe Total Wipeout”,该产品可以去除HPA和DCO,但价格为50美元。

我是一名普通的计算机用户,缺乏Bash技能,即我真的不知道自己在做什么。

问题:

我的驱动器是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有一个更严重的缺点:如果滥用某些参数,它可能使计算机崩溃并使磁盘上的数据无法访问。在大约67个参数中,有几个是危险的,如果不加选择地使用,可能会导致“大规模文件系统损坏”。


hy hdd具有增强的安全性擦除单元。这对消除HPA和DCO有用吗?
Deen 2013年

3
您只是擦除了包括所有文件系统在内的整个磁盘,并且担心文件系统损坏?
Hennes 2013年

显然,硬盘已被“冻结”,以防止恶意软件按照-forums.seagate.com/t5/Desktop-HDD-Desktop-SSHD/…进行
Deen


@亨尼斯-对不起,我不明白。您可能想念我是普通用户。请解释一下你说的话。
Deen 2013年

Answers:


10

因此,用DBAN彻底擦除了驱动器(PRNG,8次通过)。后来才知道DBAN不会杀死HPA(主机保护区)和DCO(驱动器配置覆盖图)

因此,这里有一个基本的条件,即驱动器已擦除,因此驱动器上没有分区表,文件系统或数据。因此,DBAN已经确保了这一点,因此不会有数据损坏或文件系统损坏的情况,因此下面的HDPARM警告不适用。

hdparm有一个更严重的缺点:如果滥用某些参数,它可能使计算机崩溃并使磁盘上的数据无法访问。在大约67个参数中,有几个是危险的,如果不加选择地使用,可能会导致“大规模文件系统损坏”。

启动您的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可能会阻塞驱动器。但是,如果您认为自己有一些复杂的恶意软件实际上可能将其弄乱了,那么这就是您所遇到的最少的问题。要查看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还原为出厂默认设置,则可以使用以下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
是的,并且任何与固件有关的混乱都可能导致,并且在某些情况下导致铝制圆盘状圆盘状闪亮物品以及内部强大的磁铁。
Fiasco Labs

我不想阻塞我的驱动器,所以我没有运行DCO restore命令。我将继续进行Windows修复,看看会发生什么。如果我收到恶意软件,我将扔掉我的硬盘并换一个新硬盘。希望这应该工作,除非它像“罗刹”的恶意软件声称它可以感染的BIOS,并保持更持久的:) google.com/...
迪恩

有关无需重启即可恢复HPA的好信息(以及DCO重置):blog.asiantuntijakaveri.fi/2012/07/…–
akostadinov

2

我最近有一个1TB驱动器报告为1KB的问题,磁盘管理器报告没有介质。我使用了Passmark.com提供的名为DiskCheckup的免费程序。

运行该程序并选择受影响的磁盘后,我单击了“隐藏”选项卡以找到3个输入框。第一个“最大用户LBA”仅显示1:第二个和第三个(本地和磁盘)显示正确的数字。我勾选了允许更改的复选框,并在第一个框中键入了正确的数字,以便所有3个都显示相同的LBA数量。然后,点击“应用”按钮:全部完成。

回到“磁盘管理器”中,我在“操作”菜单中单击“重新扫描”,然后返回完整的分区信息,并具有对该驱动器的完全访问权限。如果MBR是使用EasyRE之类的可引导驱动器,则可能必须更换它。

抱歉,正在浏览答案,还没有意识到这是Linux站点,我的答案仅适用于Windows。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.