Частично решено: пароль безопасности SSD - застрял с ошибкой ввода / вывода

3854
m.a.a.

Рассматриваемая модель - Kingston SV300S37A120G.

Я прочитал здесь, что при попытке разблокировать пароль безопасности, я должен поставить «кавычки» вокруг него, если он содержит специальные символы. Это относится к кепкам?

Я установил свой пароль, sudo hdparm --user-master u --security-set-pass XXXXXX /dev/sdaвведя команду в UbuntuStudio, работающую с живого USB. Затем я мог подтвердить, что защита переключилась с не включенного на включенный .

Обновить

Причина, по которой я спрашиваю, заключается в том, что я пытался выдать
sudo hdparm --user-master u --security-unlock XXXXXX /dev/sda
(XXXXXX - мой выбранный пароль "", затем "NULL",
затем «мой выбранный пароль, заключенный в кавычки»).

Какой бы вариант я не попробовал, я продолжаю получать

security_password: "XXXXXX"  /dev/sda: Issuing SECURITY_UNLOCK command, password="XXXXXX", user=user SECURITY_UNLOCK: Input/output error 

То же самое произошло, когда я сначала попытался перейти к
sudo hdparm --user-master u --security-erase XXXXXX /dev/sda.

Более того, сегодня утром я перезагрузил свою систему и заметил, что
sudo hdparm -I /dev/sda
теперь она возвращается не только включенной, но и заблокированной, в Securityто время как до перезагрузки она была включена, но не заблокирована .

Обновление II

--user-master u --security-erase "XXXXXX " /dev/sda
(это мой выбранный пароль + 26 пробелов = 32 символа)

или же

--user-master m --security-erase NULL /dev/sda

или же

--user-master m --security-erase " " /dev/sda
(это 32 пробела)

все возвращаются

security_password: "password_as_typed"  /dev/sda: Issuing SECURITY_UNLOCK command, password="password_as_typed", user=user (in 1st case) OR master (in 2nd and 3rd case) SECURITY_UNLOCK: Input/output error 

Любая помощь будет принята с благодарностью.

0
Я не думаю, что цитаты будут вашей заботой в любом случае. Они для оболочки, но не для hdparm. Если вы устанавливаете пароль без кавычек, то вам не нужны кавычки при разблокировке. Tom Yan 7 лет назад 0
Кстати, диск подключен к порту SATA на материнской плате напрямую? или он подключен к какому-то адаптеру SATA / USB? Tom Yan 7 лет назад 0
@ Том Ага. Порт SATA прямо на моей материнской плате это есть. m.a.a. 7 лет назад 0

4 ответа на вопрос

0
Michael Frank

In this case it looks like special characters will be anything that the command line will interpret a switch or modifier. Things like - or /, where it could be considered another flag on the command.

To be safe, you should assume that anything that is not alphanumeric (a-z, 1-0) is "special" and needs to be in quotes. Capital letters are not special characters.

On the other hand, you could probably just always double-quote the password, and not worry about whether you have special characters or not.

Interestingly, the manpage does not specify this restriction, hdparm manual page.

Хорошо, спасибо за ваше время. Я пытался с кавычками, но я продолжаю получать "Ошибка ввода / вывода". Во всяком случае, я спрашивал в другом месте об этом ... не должно нарушать кодекс поведения форума. m.a.a. 7 лет назад 0
@maa Обновите ваш вопрос с ошибкой ввода / вывода, так как это подходящий вопрос для SuperUser. Michael Frank 7 лет назад 0
0
Tom Yan

Input/output error means the password is rejected by the drive (because it's wrong; or the per-power-cycle five trials has been used up, i.e. expired: security count in hdparm -I), at least it's the case with my Intel SSDs (X25-M G1 / 530).

I am not sure what's the cause of the hiccup in your drive/case though. Could be you've been using an old/bugged version of hdparm; could be the firmware of your drive is bugged.

In any case, you can try to:

  • use the latest version (currently 9.48) of hdparm if you haven't been doing so
  • quote and pad your password with spaces until it reach the maximum possible length (i.e. 32 characters; e.g. "XXXXXX ")
  • use --user-master m instead of --user-master u, with password like NULL or " " (i.e. 32 spaces)

As I mentioned before, make sure you do NOT try more than five times in each power cycle (in some case a "reboot" is not enough; confirm with hdparm -I before spending your effort).

Even in version 9.48 there's a bug with --security-unlock for the special password NULL, so you probably want to stick with --security-disable until you figure out what's wrong (apparently "" is equivalent to NULL and hence can be used to workaround the bug as well).


...is now returning not only enabled but also locked...

That's normal. When the password is just set, the drive remains unlocked until the next power cycle.

Ну, по крайней мере, _security count_ отображается как _не просрочено_, но я не уверен, что смогу увидеть какую-либо информацию относительно оставшихся испытаний. Что касается версии hdparm, я скачал Ubuntu Studio 16.04 и установил ее на живой USB около двух недель назад или около того. Значит ли это, что я использую последнюю версию? Как я могу проверить это и обновить при необходимости? Также: глючная прошивка, вы говорите - как это проверить? Последнее: кто-нибудь имеет представление о главных паролях Kingston? Не повезло [здесь] (https://web.archive.org/web/20141115020359/http://ipv5.wordpress.com/2008/04/14/list-of-hard-disk-ata-master-passwords/ ) ... m.a.a. 7 лет назад 0
Как я уже сказал, пять раз за цикл питания (это задокументировано в стандартах ATA); и никакой hdparm не покажет вам оставшиеся испытания, просто посчитайте их сами (под «убедитесь» я имею в виду проверить, появляется ли «not» снова после перезагрузки », если нет, вам нужно« выключить »и «питание включено»; я НЕ имею в виду «отключать» питание, когда компьютер работает, хотя: P) Tom Yan 7 лет назад 0
Ну, по-видимому, у "Xenial" Ubuntus 9,48 в репо. Вы всегда можете запустить `hdparm`, и он должен показать версию сверху. Tom Yan 7 лет назад 0
Как, по вашему мнению, вы можете проверить, нет ли ошибок в прошивке? Попробуй как-то запечатлеть и сделать несколько RE? Во всяком случае, поэтому я предложил вам попробовать дополнить свой пароль пробелами. Tom Yan 7 лет назад 0
Единственное, что я смог найти в мастер-пароле, - это [таблица данных другой серии твердотельных накопителей Kingston] (https://www.kingston.com/datasheets/SVP100ES2_us.pdf). Очевидно, для этих дисков это `NULL`. И, как я уже говорил, другая «общая» возможность (о которой можно подумать) - это, естественно, 32 пробела. Tom Yan 7 лет назад 0
_Security count_ по-прежнему отображается как _не просрочено _... тем не менее я делаю нулевой прогресс. Что касается исправления, которое вы связали (теперь, извините за мое новичок), это то, что я могу просто попытаться скопировать и вставить в Терминал? m.a.a. 7 лет назад 0
0
m.a.a.

Хорошо. Вот мое слово тому, кто может быть заинтересован в стирании безопасности SSD-диска Kingston из среды Ubuntu.

Выпуск, sudo hdparm --user-master u --security-set-pass <password> /dev/sda
как рекомендуется здесь, среди других мест ( <password>будучи выбранным вами паролем)
действительно установит пароль пользователя на вашем диске.

Обратите внимание, что вы НЕ должны оборачивать свой пароль в так называемые шевроны ( <и >).
Если вы это сделаете, Терминал вернется bash: password: No such file or directory
( passwordбудет выбранным вами паролем).

Вы можете подтвердить, что ваш пароль был установлен, выдав sudo hdparm -I /dev/sda
Security, теперь он будет переключен с не включенного на включенный,
что в соответствии с вышеупомянутыми ссылками будет означать, что пришло время перейти к
sudo hdparm --user-master u --security-erase <password> /dev/sda.

Вот тут и начались неприятности.

security_password: "<password>"  /dev/sda: Issuing SECURITY_ERASE command, password="<password>", user=user SECURITY_ERASE: Input/output error 

... Терминал ответил.

Я все пытался, набрав свой пароль с или без кавычек, заменив его с другими предложениями, такими как "", "NULL"или NULL, но терминал продолжал давать мне один и тот же ответ, нижняя линия существоInput/output error

Прошло два дня, и я подумал, что стоит перезагрузиться. В следующий раз я выдал sudo hdparm -I /dev/sda
я мог видеть безопасности переключились не только не включено в включен, но и не заперты к заперты .

Это нормально. Когда пароль только что установлен, привод остается разблокированным до следующего цикла питания.

Нормально, как бы то ни было, я немного волновался, поэтому решил попробовать разблокировать диск, прежде чем делать с ним что-нибудь еще.

Из моего опыта это невозможно.

sudo hdparm --user-master u --security-unlock <password> /dev/sda 

возвращается

security_password: "<password>"  /dev/sda: Issuing SECURITY_UNLOCK command, password="<password>", user=user SECURITY_UNLOCK: Input/output error 

Заключение пароля в кавычки не имеет значения.

sudo hdparm --user-master m --security-unlock "" /dev/sda sudo hdparm --user-master m --security-unlock "NULL" /dev/sda sudo hdparm --user-master m --security-unlock NULL /dev/sda 

или даже

sudo hdparm --user-master m --security-unlock " " /dev/sda 

(это 32 пробела)

все возвращаются

security_password: "whatever_pw_I_provide"  /dev/sda: Issuing SECURITY_UNLOCK command, password="whatever_pw_I_provide", user=master SECURITY_UNLOCK: Input/output error 

Обратите внимание, что в этом случае я попробовал m вместо u, как в master, а не user, прочитав где-то (не могу найти ссылку в данный момент), что установка пароля пользователя вернет мастер-пароль к NULL; хотя в случае с Кингстоном он по умолчанию равен NULL, если не изменен дилером.

(reference: https://www.kingston.com/datasheets/SVP100ES2_us.pdf)

Во всяком случае, я сделал попробовать эти варианты как с т и ц, что делает ZERO прогресс.

К моему удивлению пришел момент, когда я сказал себе, черт с ним, и набрал
sudo hdparm --user-master m --security-erase "" /dev/sda

Терминал размышлял над тем, что я только что сказал ... и СМОТРЕЛ, вытер мой драйв.

Тот же самый главный пароль ( ""), который возвращал Input/output errorдля security-unlockкоманды, прекрасно работал с security-eraseкомандой.

Как упоминал Том Ян, есть ошибка в hdparm.

О подобных проблемах сообщается здесь :

Когда я ввел NULL в качестве защиты, он показывался как "", но ввод NULL в команде разблокировки отображается как "NULL"

Итог: не блокируйте свой ssd, если вы действительно не собираетесь стереть его.

PS: Жаль, что моя репутация не позволит мне публиковать более 2 ссылок.

Для меня это больше похоже на ошибку в прошивке вашего привода. `NULL` становится` "NULL" `вместо` "" с `--security-unlock`, это известная ошибка исправлена; однако в моих экспериментах, помимо использования моего патча, эту ошибку можно также обойти, введя `" "` вместо `NULL`. И, согласно вашему «ответу», вы пытались `sudo hdparm --user-master m --security-unlock" "/ dev / sda`, так что ... Tom Yan 7 лет назад 0
Также эта ошибка не влияет на `--security-disable`; К сожалению, вы, похоже, не пробовали и не придерживались этого, как я советовал ... Tom Yan 7 лет назад 0
Ой, неважно. Я думаю, я знаю, что случилось. IIRC, мастер-пароль можно использовать только для разблокировки / деактивации пароля пользователя, если для пароля пользователя установлен «высокий» режим / уровень безопасности вместо «максимальный»; где hdparm по умолчанию имеет значение «максимум», когда он не указан пользователем. Тем не менее, безопасное стирание с мастер-паролем этим не ограничивается. Tom Yan 7 лет назад 0
См. Раздел 4.18.4 «Мастер-пароль» в [ACS-3] (http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf). Tom Yan 7 лет назад 0
Тем не менее, ни то, что я публикую, ни то, что вы публикуете, не объясняется, почему вы не можете разблокировать / отключить пароль пользователя или стереть диск с помощью пароля пользователя ... Tom Yan 7 лет назад 0
@ Правда. Ничто из этого не объясняет мою неспособность перейти к безопасному удалению с использованием только что установленного пароля пользователя. Тем не менее, я подумал, что будет разумно обновить мою историю как можно более подробно, описав, как я в конечном итоге достиг того, чего изначально намеревался - то есть обезопасить свое влечение. Ваши посты были действительно полезны на этом пути, как и другие люди - особенно с точки зрения понимания того, чем я занимаюсь. Я ни в коем случае не эксперт в ПК: s; скорее новичок, когда дело доходит до Linux - и поэтому я старался не более того, что сказал мне мой инстинкт, с которым я мог справиться ... m.a.a. 7 лет назад 0
0
nempyxa

У меня была такая же проблема с hdparm, и я не решил проблему. Вы можете попробовать использовать инструмент blkdiscard для этой цели.

Просто используйте:

blkdiscard /dev/sdX 

Для подробного режима:

blkdiscard -v /dev/sdX 

Результаты проверки:

cat /dev/sdX | hexdump -C 

Пожалуйста, замените «SD X » на ваше устройство.