Выборочное подключение USB-флешек в Windows XP

    По роду своей деятельности (системное администрирование), приходится мне постоянно решать различные интересные задачи по управлению компьютерами и сетями.

    Вот одна из них.

    Дано:
    • Компьютер операторов производства (Windows XP SP2)
    • Одобренная начальством USB-флешка для переноса данных с промышленных компьютеров на компьютер операторов

    Требуется:
    Обеспечить подключение только одной, одобренной начальством USB-флешки, запретив при этом подключение других, неодобренных (смайл).

    Ход решения:

    Как отключить USB-флешки совсем, нашел быстро — статья kb823732 на support.microsoft.com «Как отключить использование USB-устройств хранения данных»
    В нашем случае этот способ не подходит, ибо одна флешка должна все-таки работать.
    Больше Microsoft не помог ничем.

    Яндекс и Гуголь отправляли меня купить всяческие замечательные программы, которые играючи справляются с подобными проблемами.
    Данный вариант я отверг сразу — неспортивно это, пользоваться программой, когда должно быть решение стандартными средствами.

    И оно нашлось.
    Уже ни на что не надеясь, отправился я на форум Ру-Борды.
    И нашел там один-единственный пост с нужной информацией.
    Прочитал, осмыслил и приступил к действиям.

    Итак, по шагам (разумеется, нужно обладать правами локального администратора):
    1. Win+R (аналог Пуск -> Выполнить), regedit.
    2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR]. Этот ключ хранит информацию о всех когда-либо подключенных USB-носителях.
    3. Даем себе полный доступ на USBSTOR (правая клавиша мыши -> Разрешения, отметить пункт Полный доступ у группы ВСЕ).
    4. Удаляем все содержимое USBSTOR.
    5. Подключаем одобренную фэшку, убеждаемся в том, что она определилась. Внутри USBSTOR должен появиться ключ типа Disk&Ven_JetFlash&Prod_TS4GJF185&Rev_8.07 (F5 для обновления списка).
    6. Опять ПКМ на USBSTOR, Разрешения. Убираем Полный доступ у группы ВСЕ, право на чтение оставляем.
    7. Те же самые права нужно назначить пользователю SYSTEM, но напрямую это сделать не получится. Сначала нужно нажать кнопку Дополнительно, убрать галку Наследовать от родительского обьекта…, в появившемся окне Безопасность сказать Копировать. После очередного нажатия на ОК права пользователя SYSTEM станут доступны для изменения.
    8. Для закрепления эффекта нажимаем кнопку Дополнительно еще раз и отмечаем пункт Заменить разрешения для всех дочерних объектов… Подтверждаем выполнение.

    Чего же мы добились в итоге?
    Разрешенная флешка подключается и отключается без проблем. При попытке же несанкционированного подключения Windows определит устройство, но установить его не сможет, ругнувшись следующим образом:

    data_error

    Причем, в USBSTOR'е будет создан новый ключ, который недвусмысленно укажет на попытку подключения неодобренного USB-накопителя.
    Поделиться публикацией

    Похожие публикации

    Комментарии 85
      +19
      молодец. вроде такая тривиальная задача, а сходу бы сам сразу тоже не решил. познавательно!
        0
        А ключ у флешки нельзя изменить?
          0
          Не пробовал, надо покопать в этом направлении.
            0
            Серийный номер можно сменить, даже у Microsoft была утилитка на сайте, меняющая серийник. К сожалению, ссылку дать не могу
              0
              Вы имеете в виду серийный номер тома (VolumeID), не более того. Это никакого отношения, к счастью, не имеет к решению.
              +6
              Указанная в топе строка — это не ключ, это FirmwareID (по сути идентификатор прошивки), насколько я понимаю. Сменить его софтварно невозможно — только перепрошить и то я не уверен в существовании удачного решения.

              Однозначно вариант автора приемлем для среднего уровня защиты. Вариант отличный — взят на заметку, автору поклон. Но если у вас все настолько серьезно, что могут найти людей, перепрошить и т.д. — должны быть совершенно другие решения корпоративного уровня.
                0
                Теперь ясно, Спасибо.
                  +3
                  Ну как бы если настолько все серьезно, то я думаю что будет тотальный запрет всех носителей с вытекающими отсюда последствиями.
                    0
                    Абсолютно согласен. Вариант для небольшого офиса, к тому же все зависит от целей.
                    0
                    Перепрошить можно. Но это, как правильно замечено, нетривиальная задача, требующая довольно существенного багажа специальных знаний (и софта). То есть решение автора для внедрения в NSA, ЦРУ и ФСБ не пойдет, но в «офисном пространстве» — вполне.
                      +1
                      Скорее сломают WinXP, чем это решение для неё :) Так что для поставленной задачи — хорошее решение. Спасибо
                        –1
                        Например, есть софтина DeviceLock для такого.
                          +1
                          можно обойтись без перепрошивки. если есть флешка такого же размера, достаточно переписать загрузочный сектор — и она станет «лицензионной» =/ проблема в том, что для этого нужно подержать в руках оригинальную флешку
                            0
                            Кстати, отличный вариант! Даже не подумал, только что проверил WinHEX'ом — само собой все работает.
                            0
                            >если у вас все настолько серьезно, что могут найти людей, перепрошить

                            Проще купить такую же. Все будет работать.

                            Да, описанный в статье способ не панацея, но в большинстве случаев поможет. Автору спасибо.
                          +3
                          У меня, после того как особо умные пользователи стали подключать не только флешки но и другие усб устройства, пришлось убрать права на папку inf.
                          • НЛО прилетело и опубликовало эту надпись здесь
                              +1
                              Поскольку все юзеры работают под пользовательскими учетками, запрещено всё для групп SYSTEM и Пользователи на папке inf.
                              Побочных эффектов не наблюдал. Единственное неудобство заключается в том, что если необходимо доустановить или переустановить какое-нибудь оборудование, то приходится временно давать пользователю администраторские права, возвращать доступ к папке, устанавливать оборудоване и возвращать всё назад.
                            +1
                            А у двух одинаковых флешек из одной партии это одинаковый идентификатор?
                              +6
                              Давайте рассмотрим из чего складывается FirmwareID — «Disk&Ven_JetFlash&Prod_TS4GJF185&Rev_8.07»

                              JetFlash — производитель
                              Prod_TS4GJF185 — код товара (см. гугл по запросу TS4GJF185)
                              Rev_8.07 — прошивка/незначительные детали

                              Делаем однозначный вывод — да, у двух флешек из одной партии этот ID одинаков. Судя по всему ревизия инкрементируется не часто, так что вероятность «флешмоба» существует.
                              +6
                              Не стОит торопиться с однозначными выводами — внутри ключа реестра находится много другой интересной информации:



                                +11
                                Вот что происходит, если подключать флешки с одинаковым ID:



                                Так что флэшмоб отменяется.
                                  0
                                  Все сделал по статье.
                                  На разрешенную флешку не ругается.
                                  На «левую» выскакивает окно под каким администратором установить устройство.
                                  Нажимает отмену.
                                  Выскакивает последнее из статьи окно с надписью недопустимые данные.
                                  Но в фаре, тотале флешка определилась.
                                  Что я сделал не так? Или что докрутить еще можно.
                                  +2
                                  Народ, делайте, пожалуйста, скриншоты в PNG. И размер файликов будет поменьше, и грязи вокруг букв и тонких линий при этом не будет.
                                  0
                                  Классное решение. И прикольное у вас начальство :) Перенесите, пожалуйста, в какой-нибудь блог, чтобы пост попал на главную; ведь не все читают личные блоги.
                                    0
                                    Перенести не могу — маленький я еще ;)
                                      0
                                      Перенес в «Я умный»
                                      Спасибо всем за карму!
                                        0
                                        думаю «Я умный» не тот блог ;))) системный администратор
                                        или безопасность…
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                      +2
                                      Вы мне открыли глаза на то, что у разделов реестра есть разрешения.
                                      Как же я их раньше не заметил?
                                      Это так можно много чего назапрещать )
                                        +1
                                        главное — не перестараться =)
                                          0
                                          Во всём нужно знать меру — это точно.
                                        –4
                                        Нифига себе, я сначала подумал, что в первую очередь разъемы напильником обработал, чтобы влезала только определенная флешка.
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            0
                                            Берем бесплатный эмуль от PowerISO (~5mb) и радуемся жизни :)
                                            +5
                                            шайтан!
                                              0
                                              Позновательно, ушел пробовать
                                                +6
                                                Как всегда, сообщение винды об ошибке не содержит абсолютно никакойполезной информации.
                                                  +6
                                                  90% пользователей Windows все равно их не читают.
                                                    –1
                                                    А оставшиеся 10%? Доходит до идиотизма — чтобы понять почему не ставится программа, прихордится смотреть на вывод ProcMon, где он спотыкается, осталось только еще дебаггером выискивать баги.
                                                      +1
                                                      Есть мнение, что если программа не ставится, то она плохая, не стоит на нее тратить свое время.
                                                      0
                                                      потому и не читают!
                                                        0
                                                        Вы просто не работали в ТП на большом предприятии ;-)
                                                      +1
                                                      Вы никогда не пробывали залесть в журнал событий? ;)
                                                        0
                                                        Бесполезно. Пробовал, например — установщик программы неожиданно отказывается ставить программу, в журнале пусто. Потом, я конечно научился передавать installShield параметры для msiexec, чтобы тот писал логи, но не сказал бы что это простой и очевидный способ (ибо опций типа --help или /?, равно как и мануала у инсталлятора не было).
                                                          0
                                                          Сами же и доказали — что не бесполезно -))
                                                            0
                                                            Логи писались в файл. так что бесполезен.
                                                      –1
                                                      как хорошо, что у меня на работе и флешки и интернет есть.
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                          +1
                                                          Именно этого раздела реестра хватает с головой, ибо он отвечает за подключение носителей информации с USB-интерфейсом. Ключевое выражение — USB Storage.
                                                          –2
                                                          если пользователь подключит флешку той же модели (как вариант из той же партии) она заработает?
                                                          вариант решения — правильная флешка подключается к esata, остальное запрещаем:)
                                                          0
                                                          DeviceLock умеет такие штуки делать — можно разрешать/запрещать работу с конкретными USB устройствами, да еще и централизованно. Единственный минус — денег стоит :)
                                                            0
                                                            Он и был одной из тех программ, за которой меня любезно отправляли Яндекс и Гуголь
                                                              0
                                                              Ну человек же написал — неспортивно это… :)
                                                                +1
                                                                к тому же скорее всего теми же средствами пользуется для блокировки, ну контролирует это наверное еще
                                                                  0
                                                                  А какими ему еще средствами пользоваться? безопастность реализуется на уровне системы… вот и берут деньги за знания где нужно копнуть…
                                                              0
                                                              Весьма и весьма. Респект и уважуха!
                                                                –3
                                                                Самое главное практически без костылей, как в Linux, хотя… :)
                                                                  0
                                                                  А какие костыли в Linux? Одно правило с HAL. Хочешь по UUID тома на флешке, хочешь по серийному её номеру… Если соответствует — разрешить, не соответствует — ничего не делать.
                                                                  –1
                                                                  Триста пицот шестьдесят сорок восемь плюсов! Как раз то, что искал сам намедни, но не нашел. Спасибо огромное.
                                                                    +3
                                                                    ( 1 )
                                                                    Контроль использования USB-накопителей в Windows Server 2008, подходит и для Windows Vista
                                                                    www.osp.ru/win2000/2008/02/4866704/

                                                                    ( 2 )
                                                                    Запрет на исходящие данные на Flash накопители
                                                                    подходит и для XP и для Vista:
                                                                    1. REGEDIT
                                                                    2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet\Control.
                                                                    3. Создаем новый раздел StorageDevicePolicies.
                                                                    4. В созданном StorageDevicePolicies создадим DWORD с именем WriteProtect и установим ему значение равным 1
                                                                    5. Рестарт, готово, данные по USB уже не уйдут


                                                                      –1
                                                                      Ваше решение имеет один недостаток — оно конфликтует с изначальной задачей т.е запрещает всем запись на ЛЮБЫЕ флешки.

                                                                      А если пользователь Администратор на компьютере — ваше ограничение до лампочки.
                                                                        0
                                                                        странный комментарий…

                                                                        по поводу ( 1 ) — там описывается ровно такой же метод, что приведен в данном топике, только для ОС — Server 2008, Vista

                                                                        по поводу ( 2 )
                                                                        да это запрет на любую исходящую информацию, о чем собственно там и сказано
                                                                        и да Администратору подобное ограничение до лампочки как и ЛЮБЫЕ другие ограничения
                                                                        (потому как — это как бы нонсенс, пользователи которым нужно поставить запрет на исходящие данные и вместе с тем предоставить привилегии Администратора)
                                                                          –1
                                                                          (2) ммм, но там сказано не про любую исходящую информацию, а запрет всех флешек, КРОМЕ одной.
                                                                      0
                                                                      здорово! завтра поэксперементирую… только я всегда флешки блокирую, а если юзеру позарез нужна инфа с флешки, то через себя и по сети перекидываю :)
                                                                        0
                                                                        Хорошее решение. Заложу, чтобы использовать в будущем.
                                                                          0
                                                                          в Vista такое можно провернуть настройками в GP
                                                                            +1
                                                                            а кто запретит загружать компьютер с любой USB-Flash'ки?
                                                                            можно конечно поставить пароль на BIOS, который можно легко стереть из под той же винды
                                                                              0
                                                                              тогда надо еще переписать биос чтобы не было в нем загрузки с usb )
                                                                                0
                                                                                Видел я совсем жесткий метод — на юсб-порты вешается крышка и закрывается на висячий замок. Но если задаться целью вынести что-нибудь важное, любые препятствия можно побороть.
                                                                                Другое дело, закрыть доступ кривым рукам офисных работников, которые любят припереть какую-нибудь срань из дому со всевозможным букетом вирусей. Они обычно слова такого не знают… биос… Я молчу про загрузку винды с флэшки.
                                                                                  –1
                                                                                  Кстати винду с флешки вполне просто запустить: качается какойнибудь BartPE и записывается с помощью UltraISO на флешку. Выбрать в BIOS'е загрузку с USB-HDD тоже дело 5 секунд.
                                                                                  Вы правы в том, что это защита только от ламера, который не имеет даже общих знаний о компьютере.
                                                                                    0
                                                                                    В биосе отключена загрузка ото всюду кроме системного диска
                                                                                    Пароль на биос
                                                                                    И старая добрая свинцовая пломба на системном блоке
                                                                                    2 тыка + пломба стоит копейки и вобще вещь незаменимая от шалунов
                                                                                      0
                                                                                      BIOS можно сбросить из под винды, в том числе и пароль на BIOS.
                                                                                      Пломба не спасёт от взлома, а только покажет, что взлом всё-таки произошёл.
                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    0
                                                                                    Бывает еще жестше, все порты заливают эпаксидной смлолой, а машинка грузится по сети.
                                                                                      +3
                                                                                      Мусье знает толк в извращениях…
                                                                                        0
                                                                                        хм, зачем, если можно отключить usb в биосе?
                                                                                          0
                                                                                          БИОС можно вскрыть или подобрать.
                                                                                          0
                                                                                          Даже в этом случае остаётся возможность подключить маленький ноут или КПК с Ethernet-портом через свой перекрёстный патч-корд и скомпрометировать защищаемую систему, заставив её грузиться по локалке присоединённой к мини-компьютеру.
                                                                                          0
                                                                                          мда, информацию можно унести сделав фотку на камеру мобильного…
                                                                                      0
                                                                                      Спасибо за отличное решение!
                                                                                        0
                                                                                        Спасибо, беру метод на вооружение )
                                                                                          0
                                                                                          В описанном методе есть баг:
                                                                                          1) Открываем «Мой компьютер»
                                                                                          2) Делаем все описанное в топике
                                                                                          3) Вставляем флешку (флешка появиться в «Моем компьютере»)
                                                                                          4) Заходим на флешку, и открываем любую поддиректорию до того как появиться картинка, показанная в топике.
                                                                                          5) Собственно все.
                                                                                          Кстати это работает, даже если у пользователя, из-под которого выполняются пункты 1, 3 и 4 нет прав локальным администратором.
                                                                                          Проверенно на XP SP3.

                                                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                          Самое читаемое