Как стать автором
Обновить

Комментарии 37

Разработчикам сообщили о такой проблеме?
Да, ессно.
Я и раньше (лет 7 назад), переругивался с ними на какой-то конференции по поводу архитектуры, но тогда все свели к шутке.
А тут море понтов, не люблю подобное.
Эти две проблемы уже исправлены и билды вот-вот будут выложены в паблик. А аффтар данной заметки получил за эти баги деньги по программе bug bounty. Правда мы не оговаривали, что он выпустит статью до выхода апдейта, но оставим это на его совести…
1. Вопрос разглашения не обсуждался, потому 16.11.2017 на оба известных мне ящика был отправлен соответствующий запрос. Ответа ожидал неделю.
2. Судя по архитектуре продукта патч будет в виде нескольких саморезов, закрученных в расшатанные мной штакетины.
Собсно, достаточно ACL-ы на нужные файлы поправить.
Но общую защищенность это вряд-ли повысит, просто придется копать чуток по глубже.
Будет время, копну и эту версию, посмотрю, куда смотрит передовая техническая мысль.
На фоне беспарольного рутового доступа на Эпплы — вполне себе надёжная система.
НЛО прилетело и опубликовало эту надпись здесь
Одно дело случайно облажались и совсем другое заложили в архитектуру.
Так под админом же…
DL имеет весь узкое применение ограниченное его «особенностями», это надо понимать когда выстраиваешь безопасность.
А насчёт пафоса, в энтерпрайз сегменте крутятся большие деньги, а потому любые средства хороши. Обычное дело, враньё маркетологов и продажников, ради того чтобы сорвать куш.
Но одно дело, когда соловьём заливаются зависимые интеграторы и совсем другое, когда инженеры по ИБ ведутся у них на поводу.
Прочтите первый абзац, там все расписано.
Здесь расчет как раз на те фирмы, где еще нет офицера ИБ.
А сертификации ФСТЭК даже не предвидится что ли? Для кого оно тогда нужно, от детей обороняться что ли?
Без сертификата в любой гос / коммерческой структуре, особенно энтерпрайз он лишний.
Немного перефразируя докладчика «Ни в коем разе! Это долго и затратно!»
Основная ориентация на зарубежных заказчиков.
Когда предложил поломать после презентации сказали, что бесполезно, т.к. даже японцы не смогли. :)
Как раз готовлю английский вариант и ищу популярную площадку для размещения.
Если уж так важна сертификация — версия 8.0 сертифицирована ФСТЭК: «Программный комплекс DeviceLock 8 DLP Suite — на соответствие на соответствие СКН (ИТ.СКН.П4.ПЗ) и ЗБ»
Это только 1 профиль из Коммон Критериа.
Видать хватило развлекухи…
При установке этой штуки обязательно нужно требовать с начальства расписку, что ты не несёшь более никакой ответственности за работу сетей, где она установлена. Чтобы не пришлось отвечать головой за чужого слона в посудной лавке. Касперыча вон с 97-го года пилят, и то он своими щупальцами то там, то тут что-либо ломает. А эта штука в 10 раз новее и в 10 раз инвазивнее.

Короче, либо давайте пруфы, что эту систему писали боги, либо я просто не поверю, что она не глючит, исходя из самой цели — перелопатить в Винде систему безопасности инъекцией сторонних драйверов…
Для пруфов как раз и нужна сертификация.
Ну и про инвазивность согласен.
Да, некоторые вещи без хуков не победить, но 90% функционала типовых СЗИ вполне реализуемо штатными API.
В порядке ни к чему не обязывающей идеи — если бы dll были залинкованы в исполняемый файл повысило бы это надёжность подобной системы? Я понимаю что вопрос комплексный, дырки всегда будут, но, по крайней мере, просто так удалить их не получилось бы.
Ессно одну проблему статическая линковка бы решила.
Но почему служба падает без драйвера?
Логичная реакция — вопить во все журналы и слать оповещения о попытке взлома, но молча падать, открывая всем доступ, для СЗИ совсем некрасиво.
Не повысило бы. Тут проблема в с подходом к дефолтному состоянии системы. Если дефолтное состояние при сбое — «открыто», злоумышленник всегда найдет способ устроить сбой. Выход — то самое шифрование, чтобы при сбое службы нельзя было пользоваться данными. Но будет неудобно.
Короче, судя по описанию, данный софт мне напомнил подьездную дверь с домофоном. Выглядит прилично, пользовать удобно, незванные пользователи не шляются. Но ставить такую в хорошо обставленную квартиру — дураков нет.
По моему очевидно, хочешь безопасно — ограничь права.
Как-то странно ожидать безопасности, от пользователя с изначально неблагими намерениями, обладающего правами администратора/рута.
Попробуйте это сделать в фирме со штатом 10-20 человек.
Админ скорее всего приходящий раз в неделю и никаких способов
защитить от него клиентскую базу, к примеру, не просматривается.

Для сравнения можете глянуть реализацию самозащиты в ДрВеб или Касперски, там вполне рабочие механизмы.
ДрВеб, Касперски, сам Майкрософт и т.д. защищают нужные файлы ровно до тех пор пока не загрузились в режим ядра. Соответственно любая такая защита, это защита от дурака. От опытного пользователя с неблагими намерениями она никак не защищает.
Перечитайте свой коммент.
Все с точностью наоборот.
Вот читаю статью и вспоминаю свой диплом (начало нулевых). На дельфях написал службу которая тихонько смотрела какие подключены разделы и спрашивала у них ID. Потом его преобразовывала в MD5 и сравнивала хеш с базой. Запускалось всё это счастье с правами системы, рестартовало «если что» и вообще маскировалось под svhost (или как там правильно?..). Отдельно был «конфигуратор» который умел добавлять к базе ключи если был подключен «мастер»-ключ (при подключенном можно было приостанавливать выполнение и конфигурить список ключей). При выдирании флэшки-ключа просто лочили систему. При установке тупо сносили ветку реестра (вернее копировали себекуда-то в базу, чтобы если что — вернуть) чтобы в safe-mode нельзя было загрузиться. Защитился на отлично. Шифрования в те времена не помню (тогда были NT4 и только Win2000\XP появлялись). После форматирования ID меняется и таким образом можно ключи хоть каждый час менять. Отключить устройства или определённые типы устройств на сколько помню -не проблема и для этого не надо каких-то драйверов или мозголомного кода. Всё вполне делается средствами API или ковырянием реестра. Так что покупать за много денег какую-то софтину (тем более на столько дырявую) по меньшей мере странно. Наверное у компании производящей данный продукт ну очень хорошие продажники и маркетолухи :-)
NT4.0 моя любимая система, потому вижу многовато нестыковочек:
1. Там не было нативной поддержки USB, только какие-то самописные дрова то ли от Dell, то ли от Compaq.
2. На счет службы на Дельфи оч странно. Студенту, ясен пень, простительно, но что-то подсказывает, что с ее зависимости даже при статической линковке она валилась бы так же.
В Дельфи столько было косяков, что прикладники через год бросили и перешли на ВизуалСтудио.
3. С внешними накопителями ловить что-то из службы было бесполезно, драйвер был нужен обязательно. Пока ваша штука пыталась разрюхать что за раздел смонтировался, на него уже несколько файлов можно было успеть закинуть. Это даже на флопике прокатывало, потому драйвер СНАЧАЛА блокировал, и ожидал, когда служба даст разрешение на открытие накопителя.
4. С ветками реестра все элементарно, достаточно было дескриптор установить.

Похоже, ваш руководитель, как и мой, считал криптографию панацеей от всего. С преподами часто такое, ибо от жизни оторвались напрочь.
1. Под NT4 я кажется и не тестил свой проект. Давно дело было. Про NT4 я вспомнил в контексте шифрования данных на дисках. Кажется его там небыло, а значит не важно была там поддержка USB нативная или надо было что-то ставить (в то время вообще все с дискетами ходили и первые ключи у меня были как раз дискеты или музыкальные CD-диски). Факт — средствами API что-то зашифровать я бы не смог.
2. Трудное было время… Дельфи-7 — это было всё, что нам доступно. Интернет дома — даилап, в универе по записи и ничего нельзя качать в больших объемах. Было 2 книжки. «Полное руководство по Delphi7» (болльшой такой томик) и «Что умеют Хакеры — Delphi». Я тогда помню привык к интернету без картинок. Да и сейчас предпочитаю ресурсы с минимумом графики в оформлении. Коллег в WEB-студии иногда пугаю Линуксовым Lynx.
3. Почему? Я просто опрашивал все разделы доступные системе и если не находил ни одного у которого ID-->MD5=MD5 из базы, делал Lock. Содержимое раздела меня не волновало. Потом уже добавил проверку не SCSI-ли этот раздел потому, что тогда были эмуляторы CD-Rom которые всегда были именно SCSI-дисками. Так что либо пользователь сначала подключал носитель (вставлял CD-диск), а потом загружалась система и вводился пароль либо пользователь вводил пароль и тут-же всё лочилось. Пользователь таки подключал носитель и когда софтина его разглядит, тогда и перестанет лочить систему сразу после ввода пароля. Тупо? Не то слово! Но работало и я чему-то научился плюс защитился на отлично и диплом был не про стандартное «Система автоматизации ресторана\фитнес-клуба», а всётаки немного в сторону API и защиты информации (единственный диплом на эту тему за много лет как потом выяснилось).
Руководитель у меня увидел поделку сохранившуюся с 3 курса, обрадовался и сказал «О! А теперь вот к этому напиши текст и подготовь презентацию. И сделай что нибудь с интерфейсом, а то он не красивый».
Там вообще всё было выполнено в виде 2 EXE-файлов и 1 DB. Так что понятно, что это не есть защита тем более от админа. Просто будучи студентом 3 курса с минимумом знаний я написал софтину которая предусматривала какие-то очевидные мне тогда сценарии обхода. Прошло 11 лет. Некая фирма выпускает софтину которая продаётся за деньги и она не учитывает элементарные пути обхода. Воистину маркетинг творит чудеса.
P.S.
Ralari, если вдруг (ну мало ли?..) есть желание — напишите, я постараюсь найти исходники и пришлю. Готов спорить — с них будете смеяться дольше чем с любого анекдота :-)
1. Не, тут всё веселее. Если софтина не видит «ключевой раздел», то система лочится. Так что никакого чтения\записи пользователь произвести не сможет. Ему доступно только окно для ввода логина\пароля. Изначально софтина не знает на какой там букве что висит. Ей это не интересно. Просто если нужный ключевой раздел доступен — ничего не делаем. Если не доступен (проверка каждую секунду), то блокируем систему штатными функциями.
2. ШТА?!!! 20 лет? Т.е. я не ослеп, Вы не опечатались и я правильно вижу — двадцать лет?! Интересно, им там программисты не нужны?.. Я бы может за хорошую зарплату обратно бы на виндах работать начал. Наверное моего бы уровня знаний\практики им бы хватило…
Снова нестыковки.
1. На ХР нет функции блокировки, только логофф и перезагрузка.
2. Таймер — полная дичь. Есть штатные интерфейсы уведомлений о монтировании.
За секунду можно сильно больше 2х байт переслать.
3. Похоже, как начали в 97м, так потом и поленились с нуля переписать, вот и тащат древний код. В коммерческом продукте это нонсенс, ИМХО.
1. _http://delphi.cjcsoft.net/viewthread.php?tid=44863
Могу ошибаться в терминологии, но я об этом. Эффект ровно тот-же, что при нажатии на win+L Т.е. ничего не закрывается, вставь «ключ», введи свой пароль и продолжай работу
2. А мне зачем уведомления о монтировании?.. Говорю-же задача решалась тупо: есть раздел с нужным ID — ничего не делать. Нету — win+l Т.е. злоумышленнику нужно знать пароль для входа в систему и если он его правильно вводит, то у него есть ~1 секунда, чтобы успеть куда-то зайти и что-то скопировать. С учётом того, что винда неторопливо будет на каком нибудь 3-4 пне отрисовывать рабочий стол секунды 2-3 его без подключенного носителя вышибет раньше чем он в нужную сторону мышью дёрнет.
3. Полностью согласен. Жесть какая-то
1. Колхоз. Насколько помню, оно ломается.
2. Чтоб про раздел узнать, его нужно смонтировать.
После монтирования остается время до срабатывания блокировки.
Операция записи инициируется ДО подключения носителя, т.к. имя монтируемого раздела известно.
С драйвером все это блокируется элементарно.
Есть функция блокировки. Но подобный софт все равно бесполезен. Привелигированный юзер нажмет F8 после ребута и поимеет что хочет. непривелигированный, но наглый — грохнет sam, вытащит батарейку с платы и винт из корпуса. непривелигированный, но вредный — задрюкает со «срабатываниями» флешки.

И что же можно поиметь по F8?
Закрыл на запись 2 ключа, и превед.
В ДевайсЛоке это как раз сделано.
Физическая защита и др. оргмеры — обязательное условие работы с любой программной СЗИ.
Ralari:
1. Ещё какой! Но на 3 курсе экономического ВУЗа к сожалению подготовки маловато по безопасности, API и прочему. Так что прошу простить.
2. Ещё раз: если мы не видим раздела -система заблокирована.Т.е. мы не ждём когда нам дадут раздел, чтобы его проверить. Мы просто спрашиваем «есть раздел с ID=XXX? Нету? Блокировать!» и всё это в течение 1 секунды. При этом когда система заблокирована устройства всёравно подцепляются и через какое-то время система будет знать про появившийся нужный раздел, моя софтина соответственно тоже и только после этого блокироваться система перестанет.
А как можно инициировать операцию записи если у Вас есть только поля для ввода логина и пароля?.. Autorun? Так вроде его нормальные люди отключают…
Louie:
Я ранее писал, что в софтине у меня была кнопка которая выпиливала возможность загрузки в безопасный режим. А что будет если грохнуть sam? Пока флешку не воткнёш, система будет «нажимать» win+L в независимости от того, под каким пользователем Вы хотите зайти. Винт дёрнет — так на это время надо и чтоб свидетелей небыло.
Согласен (и никогда не спорил), что моя поделка не есть какой-то инструмент обеспечения безопасности который стоит рассматривать всерьёз. Я лишь написал, что будучи студентом 3 курса в своё время проявил больше внимания к мелочам способным скомпромитировать мою разработку, чем коммерческая компания которая себе на хлеб зарабатывает разработкой софта для обеспечения безопасности. И этот факт меня очень удивляет и расстраивает.
С такими вещами борются с помощью планировщика заданий.
Думаю, кнопку «Нет» в програмке «Нравится вам ваша зарплата?» без проблем нажали? :)
На японском рынке ваша работа точно имеет большие перспективы. :)
Ralari, простите, но я ничего не понял.
1. С чем борются при помощи планировщика?
2. В какой программе есть такая кнопка и при чём тут она?
3. Моя работа? На японском рынке? Им то нафига поделка студента и как её можно применить если не принимать во внимание примеры работы с API. Хотя это было ценно лет 12 назад, когда был Dial-Up и надо было ещё суметь найти в печатном виде толковую книгу по тогда ещё Delphi 7. А сейчас уже и интернет скоростной и Delphi других версий (а её вообще сейчас кто-то использует?..) и винда как я слышал уже 10 с кучей встроенного функционала для обеспечения безопасности…
1. С колхозной блокировкой винды
2. Прикольная прога с убегающей от курсора кнопкой
3. Перечтите коммент. Создатели продукта хвалились, что японцы не смогли сломать. Винда ща только хуже стала и доверяют ей все меньше
Зачем, исходники есть свои. :)
Пока «софтина разглядит», уже пройдет монтирование и может быть выполнена операция записи/чтения, если заранее известно имя объекта. оно известно, т.к. сидюк или флопик все время на одной букве висят.
Думаю, просто никто как следует это не тестил, а для диплома уровень был вполне достаточен.
Перечтите комменты, фирма уже 20 лет это пишет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории