我有擦除新驱动器的习惯,对于SSD,我使用hdparm来执行ATA安全擦除。
我刚通过中国的eBay卖家购买了两个44引脚的PATA SSD,而hdparm在查询驱动器时没有报告安全部分:
# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: KingSpec KSD-PA25.6-032MS
Serial Number: xxx
Firmware Revision: 20131018
Standards:
Supported: 9 8 7 6 5
Likely used: 9
Configuration:
Logical max current
cylinders 16383 16383
heads 15 15
sectors/track 63 63
--
CHS current addressable sectors: 15481935
LBA user addressable sectors: 62377984
LBA48 user addressable sectors: 62377984
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 30458 MBytes
device size with M = 1000*1000: 31937 MBytes (31 GB)
cache/buffer size = 1 KBytes (type=DualPort)
Nominal Media Rotation Rate: Solid State Device
Capabilities:
LBA, IORDY(can be disabled)
Standby timer values: spec'd by Vendor, no device specific minimum
R/W multiple sector transfer: Max = 1 Current = 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
* Power Management feature set
Write cache
* WRITE_BUFFER command
* READ_BUFFER command
* NOP cmd
* 48-bit Address feature set
Mandatory FLUSH_CACHE
FLUSH_CACHE_EXT
HW reset results:
CBLID- above Vih
Device num = 1
Checksum: correct从安全的角度来看,这是我应该关心的吗?
我在超级用户上问了一个更详细、非安全的问题(没有回答):hdparm不报告安全节
发布于 2014-07-10 13:35:17
查看hdparm源代码可以发现,-I选项触发一个ATA“标识”命令,驱动器响应该命令的序列为256个16位整数,该顺序编码驱动器功能。其中包括“安全特征”。然后,hdparm继续以人类可读的格式打印这些功能。
如果整数不指定对任何安全特性(密码、安全擦除)的支持,那么它将跳过" security“部分:
/* security */
if((eqpt != CDROM) && (like_std > 3) && (val[SECU_STATUS]
|| val[ERASE_TIME] || val[ENH_ERASE_TIME]))
{
printf("Security: \n");因为您没有看到“安全”部分,这意味着驱动器声明自己完全无法执行与安全相关的事情。也就是说,您不能用密码锁定驱动器,也不能对其执行“安全擦除”操作:驱动器根本不知道如何做到这一点。
毕竟,这些特性(从协议的角度来看)是可选的,这意味着任何特定的驱动器都可能缺少它们。这就是你在这种情况下所观察到的。
现在的“安全擦除”是为了防止旧数据的泄漏。您不需要它作为您刚刚购买的驱动器;“安全擦除”也不能保证您免受任何硬件后门。您想要做的是在逻辑上重新设置驱动器,以便从操作系统的角度看它是“干净的”。这是通过一个简单的dd完成的:
dd if=/dev/zero of=/dev/sdX bs=512 count=1000(将sdX替换为适当的驱动器号)。这个调用将用零轰炸前1000个扇区,特别是删除任何分区表。
dd参数要格外小心,因为它很容易清除错误的磁盘。"dd“也称为”磁盘驱逐舰“。https://security.stackexchange.com/questions/62654
复制相似问题