Search
Write a publication
Pull to refresh

Comments 50

Но ведь удаление - это частный случай записи/перезаписи. Как этот SSD определяет, с него хотят удалить или дозаписать что-нибудь? Разрешает запись в пустые сектора и запрещает в уже занятые?

"Встроенный переключатель защиты от записи" - это общая защита от записи, включающая в себя пере- и до-запись, удаление и форматирование. Т.е. разрешающая только чтение.

Кстати, довольно интересная мысль — какая-то вариация на тему FAT32, которая бы позволяла писать некоторое время, не стирая страниц. То есть можно создать новую копию FAT, которая имеет приоритет над существующей, и таким образом что-то дописать или даже «стереть», но поскольку старую копию физически не получится стереть, не трогая её страницы, любые несанкционированные записи откатываются штатным unerase.

UPD: ну то есть не хитрым контроллером проблему решать, как в соседнем моём камменте, а через специализированную FAT, а контроллер тупо вырубает erase по кнопке, а не занимается хранением целой системы undo, чтобы не пришлось в контроллере целый CVS делать :)

Вы только что изобрели снэпшоты файловой системы :) В FAT32 их, конечно, нет и не будет, но уже даже в NTFS есть.

P.S. Нагуглилось, что некогда была утилита Norton GoBack, которая буквально Ваше ТЗ и реализовывала, и похоже даже для FAT. Правда, последняя Windows, в которой она работала, - XP.

Снэпшоты позволяют писать, не стирая страниц, то есть вообще не перезаписывая сектора, а только занимая свободные? Хммммм… получается, что всё есть, надо только правильно использовать…

Но в этой ситуации, где мы не доверяем хосту (компьютеру), безумно дорого и костыльно получится.

Похожее делали, но в сильно упрощённом варианте: SSD в простое определял ФС и свободное место на ней, чтобы помечать страницы флеша как не занятые, для сборки мусора. То есть "Auto-TRIM" до распространения TRIM (~2010) и без ручного "зануления в надежде, что контроллер поймёт жест (пометит страницы свободными вместо тупой записи нулей)".

Притвориться сетевой картой (g_ether?), по которой доступна SMB-шара, через которую выставлены снапшоты btrfs, будет и то менее костыльно. Или притвориться USB Mass Storage, отдавать bin-файл с одноплатника (как чистый том), снапшотить его той же btrfs и отдавать снапшоты... как-нибудь.

…или оно определяется как файлопомойка, а не как диск (о необходимости такого девайса мы ещё на «сахаре» тёрли не один год), или, действительно, контроллер блокирует операцию стирания страниц %) но это очень особый контроллер нужен, позволяющий потом временно откатить операцию подмены страниц, чтобы диск увиделся в «старом» виде. Потому что если не — то какая разница, реально страница стёрта или «ушла в запас», всё равно она как сектор перестала видеться снаружи.

Но в 99% случаев там просто нужно установить фирменную утилиту, которая будет читать положение переключателя и слёзно просить мастдай не стирать файлы, они типа сейчас ридонли. Естественно, любому малварю на эти просьбы покласть. Эдакий поролоновый бронежилет, потому что настоящие производить сложнее и дороже. Очень вероятно, что это +1 такой девайс.

Покажи хоть один малварь, который сам реализует файловую систему ntfs, ну чтобы системной показать кузькину мать при реадонли.

Да я и не припомню малварь, который в ответ на флаг ридонли уважительно говорит «ну раз не хотите, то не буду…»

Переключится на низший уровень апи, попросит в обход того детского «перехватчика», который они реализовали там (вряд ли они прямо вот ядро курочат, чтобы запись запретить), в общем, ну понятно же, что защиты такого уровня — всегда по определению чушь, потому что это вопрос времени их обойти.

Ну что за глупости, вы ещё скажите, что система прав тоже фигня и можно использовать "низший уровень апи". Если диск смонтирован readonly то даже прямая запись сектора вернёт ошибку.

Простой малвари такой нет, экономически не выгодно. Таргетированная вполне себе существует, пусть и приватно - видел красивую объяву о продаже такой еще лет десять назад в даркнетах. Драйвер устройства, подписаный краденой майкрософтовской подписью, в нем в том числе врезана патченая копия драйвера ntfs. Смысл в уходе от антивирусов и прочего софта безопасности - такой модуль невозможно найти в автоматическом режиме от слова совсем, только при глубоком ручном аудите из другой ОС.

А защита от записи делается через флажки scsi, плюс сам контроллер кидает ошибку при записи, если вы проигнорировали полученые настройки. Для самых параноиков можно выключатель на пин WР у флеша повесить...

Но в 99% случаев там просто нужно установить фирменную утилиту, которая будет читать положение переключателя и слёзно просить

Ну так все подобные переключатели "защиты от записи" так и работают, начиная с дискет (и даже с аудиокассет) - слезно просят устройство ничего на них не писать. А удовлетворять эту просьбу или нет - исключительно на усмотрение самого устройства.

У меня вот в детстве даже кассетный плейер был, который при слишком быстром включении воспроизведения портил запись на кассете благодаря слишком большим конденсаторам в цепи считывающей магнитной головки.

Да, плейер крут :) Но дискеты, прошу заметить, просят сам дисковод, который редко им отказывает — у него такой возможности не предусмотрено %) и система может хоть что ему на интерфейс подавать, ему мнение дискеты обычно важнее, если он исправен %)

А делать «защиту от дурака», оставив решение за самим «дураком» и просто ему передав просьбу — такое себе…

Но дискеты, прошу заметить, просят сам дисковод, который редко им отказывает — у него такой возможности не предусмотрено %) и система может хоть что ему на интерфейс подавать, ему мнение дискеты обычно важнее, если он исправен %)

Строго говоря, дисковод как раз просто передает мнение дискеты контроллеру (бит /WPT в 34-пиновом интерфейсе). А уже контроллер вроде как обязан при этом прерывать все команды записи трека, но во всех ли контроллерах эта защита была абсолютной - вопрос, наверное, к историкам.

бит /WPT

Ой, забылъ-забылъ! О_О

Думал, там 22-й игнорируется самим флопом. Хотя всё равно WPT надо выставить, чтобы контроллер не удивлялся, чего-й-то у него не записалось ничего. Флоп ведь не может «вернуть ошибку записи» — «он и словей таких не знает», старые славные времена ^__________^

Думал, там 22-й игнорируется самим флопом.

Глянул на схему МС 5305 - да, действительно, сигнал с фотодатчика дискеты блокирует запись в самом дисководе. Там вообще устроено сложнее, чем я помню: канал записи включается только когда /WPT=1, /WGATE=0, /STEP=0 и /DIR=1, если я правильно понял полуслепой скан схемы.

Но в 99% случаев там просто нужно установить фирменную утилиту, которая будет читать положение переключателя и слёзно просить мастдай не стирать файлы

Это странно звучит, такие флешки / внешние SSD / USB-боксы бывают ли вообще?

Производители контроллеров могут давать доступ к уже реализованной защите от записи, тут не видно больших сложностей. Если уж волноваться, то о том, точно ли нет этого доступа через USB (или достаточно ли он через USB затруднён). А то пишут об утилите PhisonWP, которая может включать/отключать блокировку на флешках* без их разбора или форматирования...

или оно определяется как файлопомойка

Представляться не совсем обычным накопителем, а... оптическим приводом должны уметь рутованные андроидофоны. Ну и известные коробки от Zalman это делают с ~2011 года.

Из некоторых одноплатников ещё флешка/привод с защитой от записи делается (modprobe g_mass_storage), но, видимо, не очень практично.

* с какими-то контроллерами от Phison, конечно.

Ещё как бывают, тут была серия публикаций N лет назад про флэшку с «защитой» в виде сканера пальца. Естественно, вся «защита» была в фирменной утилите, которая решала — показать секретный раздел или не показать. Он вроде шифровался, но всё это вскрывалось на раз, потому что утилита работала на машине пользователя и никакой проблемы её вскрыть не было, после чего она получала команду «да правильный был пальчик, мамой клянусь!» и послушно всё расшифровывала.

тут была серия публикаций

Вот другое, но похожее: https://habr.com/ru/companies/aktiv-company/articles/331862/

"Рутокен ЭЦП 2.0 Flash. Защищенный раздел выглядит как ридер карт памяти, но без вставленной в него карты, доступа к данным нет. Однако, запустив приложение и введя простой PIN-код..."

Это всё же не то - скрытый раздел вместо защиты от записи, есть мотив требовать приложение, чтобы не вбивать код на корпусе флешки. Защита от людей (надо знать код) вместо защиты от вредоносов (надо блокировать запись).

слёзно просить мастдай не стирать файлы

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

Как там говорят, зумеры изобрели шторку для защиты от записи на дискете? :)

На старых флешках тоже встречались такие физические выключатели, очень удобно было с них лечить комп с вирусней, пытавшейся туда скопироваться.

Скрытый текст

На USB надпись Netac (не так) выглядит издевательством над пользователями )

Честно говоря, сами эти флешки выглядят, как издевательство. У меня пара была, так у них крышняк ехал и они мне несколько раз пороли данеые на ровном месте

Крайне плохая флешка по моему опыту пользования. Она как-то выборочно портит файлы, и я вообще не нашел никакой зависимости отчего это происходит. И все, абсолютно все утилиты тестирования флешек даже через несколько прогонов показывают "да всё с ней окей". А файлы все равно портит. И так себя ведут оба моих экземпляра. И SSD m.2 был от них на 500 ГБ - через 3-4 месяца стабильно падала скорость чтения старых файлов вплоть до бэдблока. Больше Нетак[ое] барахло не покупаю)

Я пару лет назад купил внешний SSD Netac и устроил ему тест с полным записыванием и чтением.

В процессе теста скорость резко упала.

Конечно, с чего бы ей не падать-то (анекдот)

Ну, если есть SLC-кэш, то будет падать. Если нет, то может не падать. Но во внешнем SSD (не флешке) он в общем-то всегда будет, SLC/MLC-память ушла в прошлое, а SSD с TLC/QLC без SLC-кэша - штука корпоративная.

Кэш был очевидным вариантом, но мне было не интересно выяснять кэш это или брак и я взял сандиск, который таким не страдал.

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

Я не буду перечислять публично всё, что я хочу проделать с такими разработчиками очередной флэшки, которая так начинает себя вести в моих руках, но на второй «молот ведьм» бы, наверное, хватило.

В моем случае "листопад" начался сразу после первых дней использования. По ощущениям, контроллер этих флешек вообще не знает о контрольных суммах секторов и отдает данные так, как у него получилось считать. Даже полная блокировка флешки в случае сбоя чтения меня устроила бы гораздо больше, чем протухшие файлы, обнаруженные тогда, когда уже ничего не сделать (и когда они разошлись копиями на остальные носители)

но на второй «молот ведьм» бы, наверное, хватило.

"следуя заповеди милосердия, он должен быть сочтён за раскаявшегося еретика и пожизненно замурован" - чудная книга. "Однако, рассуждая строго по закону, такое раскаяние не должно внушать духовным судьям большого доверия..."

А на SDшках до сих пор живы.

Да, но ЕМНИП, на sd-картах этот переключатель может быть проигнорирован софтом (вредоносом например)

Есть некоторые (совсем трэшевые) картридеры, которые его игнорируют.

Да, его игнорирует и CHDK Canon. Для запуска на фотоаппарате - карту после ряда волшебных действий ставим на защелку. CHDK грузится, фоточки пишутся )

Современные windows / macos по умолчанию монтируют все подключаемое как read/write, и не всегда тривиально поставить носитель в read-only на уровне ФС, особенно в windows. А если бы это было сделано просто и понятно для пользователей - было бы удобно, и специальные флешки/диски не нужны были бы.

Некоторые девайсы, подключаемые по USB (принтеры, LTE-модемы, WiFi-адаптеры), вполне себе прикидываются r/o носителем, на который записаны драйвера, необходимые чтобы они заработали по основному предназначению. Вроде как этот функционал от ОС не зависит. Но деталей реализации не знаю.

Я имел ввиду подключаемые диски, флешки, карточки и другие носители для которых есть вариант записи, чтобы было что защищать и переключать защиту. Устройства имеющие изначально только read-only разделы понятное дело нельзя сделать read/write поэтому и проблемы с ними нет никакой.

Но что мешает контроллеру диска/флэшки в зависимости от положения переключателя прикидываться для системы или r/o носителем, или r/w?

Единственное, что если положение переключателя изменить когда носитель уже подключен, вот тогда нужна какая-то обработка этой ситуации на уровне ОС. Но без этого функционала можно и пережить, пусть определяется по состоянию на момент подключения, надо поменять - отключили, переключили, вставили заново.

Более того, знаменитый Залман так и делает — один образ может изображать сидюк, второй — хард. Хард тоже может быть временно RO переключателем. И ещё «истинный диск», который вообще не видно снаружи без соответствующего режима.

Потом на заведомо чистой машине (скажем, линух с древнего LiveCD, мать без UEFI) открываем и сравниваем, отличаются ли относительно прошлой версии только те файлы, которые мы меняли, или ещё что-то там внезапно зашифровалось. Если всё ОК — перегоняем данные с образа харда на новый образ сидюка, теперь они снова доступны, а образ харда снова становится «предбанником» для недоверенных.

Полагаю, SSD подключаемый по USB это компьютер, который сам решает, каким ему быть и если он откажется, то ОСь туда нифига записать не сможет.

Лучше б они сделали красивое, яркое, во весь корпус напоминание о необходимости периодически подключать накопитель к питанию. В разных местах натыкался уже наверное на десяток постов в духе "положил архив на внешний SSD, забыл про него на три года, сейчас включил и о боже где все мои файлы, помогите".

Мне иногда пользователям, которые бегают с такими криками, хочется на лбу нарисовать красивое и яркое напоминание, что если любые Ваши данные хранятся в одном единственном месте, - считайте, Вы их уже потеряли...

Само собой, но тут частный случай. Возможно, пользователь пару-тройку десятилетий закидывал холодный бэкап на внешние механические диски, зная по опыту, что если HDD не ронять, не топить и не поджигать, то данные скорее всего спустя годы будут на месте. Потом переходит на SSD, не особо вдаваясь в технические особенности, и тут сюрприз.

Я скорее к тому, что компания, как мне кажется, проявила трогательную заботу о пользовательских данных не совсем там, где следовало бы.

Давайте не будем обманываться, т.н. "физический переключатель" является кнопкой включения/выключения СОФТВАРНОЙ опции (пусть и реализованной внутри самого носителя), которая работает как... да хрен знает как она работает и каких именно чудовищ породил сон разума в головах разработчиков этой фигни.

Ну есть же уже пример с кнопками правления громкостью на клавиатуре, которые могут просто не работать если комп подтупливает.

Светодиодный индикатор даст вам знать, когда переключатель активен

А из-за этой бесячей фигни, данную опцию просто не будут использовать.

Вот почему этого не было, когда винты были на десятки и сотни мегабайт, и запускался с них DOS? Дискету можно было аппаратно защитить от записи, а винт - нет. А если бы было можно, то ставишь два винта, один только для чтения, и с него DOS грузится и часть ПО хранится, а второй - и для записи, там документы и другая часть ПО. И если какой DOSовский вирусняк решит что-нибудь сделать с загрузочным сектором или системными файлами - знатно обломится.

FM/MFM вроде ещё могли, кажется… но я их уже плохо помню, мало с ними работал.

Во как? Значит, эти переключатели перестали устанавливать на винты после перехода к IDE?

ХЗ. Вижу на нём G, E1, E2, D1, D2, D3, D4 и LED. Может, кто-то из них и есть RW/RO, может, это грязный хак с занулением линии на управляющем кабеле, может, я шибко путаю. Включал его примерно никогда. Сейчас тупо лежит себе и «коллекционируется» :)

Sign up to leave a comment.

Other news