Взлом и защита 1С:Предприятия Анализ проблемы инсайдерского взлома для менеджеров
Владимир Иванов
www.polikom.ru
Основная методика взлома: "Эскалация прав рядового пользователя"
Обзор безопасности 1С: Предприятия
"Детский сад" в защите 1С
Взлом без взлома
Общий подход к борьбе со взломщиками
Данная статья посвящена проблеме взлома 1С: Предприятия рядовыми сотрудниками компании (инсайдерский взлом). Мы рассмотрим типовую организацию взлома и противодействие ему.
Вместо предисловия приведу историю одного реального взлома. По понятным причинам не буду приводить подлинные названия фирм и людей, а также точные значения денежных величин.
И так, крупная торговая компания N. В компании N весьма серьезно относятся к безопасности информации. Сеть защищена несколькими firewall, используются зашифрованные диски для баз данных, попасть к компьютеру можно только по электронной карточке и т.д. Целый отдел системных администраторов бдит за безопасностью.
Однажды к главному системному администратору приходит логистик компании и сообщает примерно следующее: "У меня есть вопрос. Я заметил, что у нас появилась странная группа оптовых клиентов. Они очень много покупают, но вот маржа у них всего 2%, хотя в среднем маржа не менее 10%. Мне кажется, что данные клиенты торгуясь с нами, знают о нижней планке торга, т.е. о себестоимости наших товаров и какие максимальные скидки даются по отдельным позициям."
Пропущу далее сложный и дорогой процесс поиска утечки информации. Однако в ходе расследования удалось выяснить, что с данными клиентами имел неформальное общение один из младших менеджеров по продажам. Системные администраторы были вынуждены признать, что хотя их учетная система на 1С под Microsoft Terminal Server и Microsoft SQL Server не позволяет простым сотрудникам просматривать конфиденциальную информацию, но существуют средства, с помощью которых сотрудники могли похитить приватную информацию.
Следует отметить, что призвать данного сотрудника к ответу не удалось. Как только разговор зашел по данной теме, он ушел в одну из компаний, которая "кинула" N не менее чем на $20000. "Сотрудники безопасности" данной компании "чисто конкретно" обЪяснили N, что без доказательств вины разговор не имеет смыла. Вот так.
Основная методика взлома: "Эскалация прав рядового пользователя"
Пример, который я привел выше, показывает, что большинство атак на секретную информацию происходит не извне, а изнутри компании. Действительно, если некое лицо извне хочет украсть информацию у фирмы, то самый простой путь это подкупить рядового сотрудника компании (менеджера по продажам, демонстратора и т.д.). Во многих случаях собственно подкупа и не происходит, сотрудник использует секретную информацию в целях увеличения свой заработной платы (узнает ЗП других сотрудников или сколько прибыли он приносит и т.д.). Проще говоря, именно сотрудник компании лучше всего знает, как извлечь доход из несанкционированного доступа к корпоративной информации.
Проведенный мной анонимный опрос среди 120 сотрудников разных фирм подтверждает эту гипотезу. 86% считают, что доступ контрагента к информации по закупкам и продажам, позволит ему выиграть в марже не менее чем в 40%. Около 50% считают, что доступ к информации ЗП коллег позволяет повысить свою оплату труда. 8% признались, что воспользовались бы данной информацией, если бы она была доступна и их никто не заметил. Мне кажется 8% заниженная цифра. Хоть опрос и анонимный, но все же многим быть откровенными страшно.
Не нужно подозревать своих коллег как потенциальных мошенников. Однако не стоит разлагать людей безалаберным подходом к безопасности.
Для получения доступа к конфиденциальной информации рядовому сотруднику требуется несанкционированным образом увеличить свои права на данные в корпоративной информационной системе. Данная атака получила названия "Эскалация прав".
Как обычно организуется данная атака? Есть два варианта. В первом случае опытный пользователь через поисковые системы, такие как Яндекс, Апорт, Рамблер и Google, ищет по ключевым словам "взлом", "1С", "DBF" и т.д. описание методов взлома и программы для взлома типовых защит. Если взлом сводится к выполнению краткой инструкции и запуску некой программы, взлом производится самостоятельно. Другой вариант, пользователь понимает, что хочет похитить информацию и знает какую, но у самого пользователя нет времени и необходимых знаний для взлома. В таком случае злоумышленник обычно нанимает за $50-$100 студента и с его помощью производит взлом. Основную работу тут делает студент, а пользователь, как правило, только выполняет несколько элементарных действий по активации средств взлома в сети компании.
Какие выводы стоит сделать? Очевидно, основная атака на секретную информацию будет со стороны рядовых сотрудников. Поскольку атака приходит изнутри, не помогают средства защиты от нападения извне: шифрованные диски, смарт карты, firewall и т.д.
Именно о том как бороться с атаками изнутри на 1С: Предприятие программными средствами мы и поведем речь дальше.
Обзор безопасности 1С: Предприятия
Сделаем краткий обзор безопасности системы 1С: Предприятия (далее 1С).
Локальная и сетевая версия, так называемый "DBF" (от названия форма базы данных). Система содержит хорошо зашифрованные пароли в файле users.usr, данные хранятся в DBF-файлах в открытом виде. Взлом такой версии настолько легок (просто копирование файлов), что его собственно и его взломом никто не считает, кроме хозяина компании, который "сел на деньги".
Более защищенный вариант - это работа 1С под управлением Microsoft Terminal Server (или Citrix MetaFrame). В данном случае работает та же самая сетевая версия, но пользователь работает с базой не напрямую, а через окно терминала. Администратор может постараться закрыть доступ к файлам данных 1С и средствам их копирования, однако существует ряд элементарных способов копирования базы с терминального сервера. Решение под терминал высокого уровня безопасности на базе Citrix MetaFrame стоит около $5000-$10000. Следует отметить, что безопасное решение под терминальный сервер требует изЪятия у пользователей целого ряда возможностей: использование MS Office вместе с 1С, работа с файлами и с 1С, возможность печати на некоторые принтеры, удаление дисковода и др.
Еще более защищенный вариант - это 1С для Microsoft SQL Server (MS SQL). Как сервер базы данных MS SQL обладает исключительно мощной защитой. Однако пароли доступа к серверу в 1С легко расшифровать с помощью целого ряда программ в Интернет. После этого базу можно спокойно открыть в Excel. Тем не менее, знаний для взлома требуется существенно больше. Для данной платформы возможны решения высокого уровня безопасности ценой около $1000.
И наконец, сочетание 1С с Microsoft SQL Server и Microsoft Terminal Server. Самый надежный вариант, точнее самый трудоемкий во взломе. Правда взлом тоже не является чем-то ультра сложным. Это копирование файла пароля 1С, его дешифрация и снова просмотр всей базы в Excel.
Следует отметить, что проблемы безопасности 1С хорошо известны как потенциальным взломщикам, так фирмам-поставщикам решений на базе 1С.
Тем не менее, проблемы защиты 1С от взлома фактически не решаются, просто потому, что их в общем случае не решить. Дело в том, что основные продажи 1С это продажи 1С в версии 'DBF'. Формат хранения 'DBF' не подразумевает защиту данных, но очень дешевый. Хотя DBF-версию надежно защитить невозможно многие недобросовестные компании предлагают "защиты" от 1С от взлома.
Рассмотрим типовые случаи шарлатанства на рынке безопасности для 1С.
"Второй пароль для DBF". Данная защита не повышает защищенность систем, а действительно чистое мошенничество, т.к. использует психологическое воздействие на клиента. Смыл данного подхода в том, что после запуска 1С система запрашивает "второй пароль", без которого дальше в систему войти невозможно. Введение второго пароля создает у пользователя иллюзию двойной защищенности. Подобная "защита" даже не требует специальных приемов взлома, т.к. взломщик обычно сразу обращается к данным в DBF-файлах, а пароли при входе в 1С взломщику для этого абсолютно не нужны.
"Мы сделали нечто в вашей конфигурации, что обеспечит ее защиту". На самом деле "второй пароль" является самым распространенным примером более общего случая, когда заказчика пытаются уверить, что программа, зашитая в конфигурацию 1С, может защитить данные в 1С. Еще раз подчеркнем ключевой момент взлома DBF-версий. Взломщику не требуется ни каким образом обходить любые программы защиты реализованные на базе 1С. Взломщик просто анализирует данные в DBF-файлах, где они не зашифрованы. Отметим, для похищения базы достаточно скопировать файлы DBF, конфигурацию 1С и "защиту" копировать не нужно.
"Мы поставим вам терминальный сервер, и все будет безопасно". Установка терминала действительно повышает безопасность, но опытный пользователь все равно может ее преодолеть. Для повышения безопасности терминал нужно правильно сконфигурировать, а это трудоемкая задача. Многие просто ставят терминал клиенту, не делают сетевую папку для 1С и уверяют клиента, что все OK. Конечно такая халтура не обеспечит даже повышения уровня защиты. Решение на терминальном сервере со средним уровнем безопасности требует Citrix MetaFrame и стоит дорого: от $5000 до $10000.
"Мы продадим вам 1С для Microsoft SQL Server, и все будет безопасно". Типичная фраза для дилетанта-продавца. MS SQL это серьезная система с серьезной защитой, но вот пароль доступа в 1С к MS SQL зашифрован несерьезно, и 1С не использует большинство средств безопасности MS SQL Решение под MS SQL будет обладать высокой безопасностью, только если MS SQL тщательно сконфигурировать и установить специальный защитный продукт. Данный продукт должен обеспечить решение проблемы дешифрации паролей 1С, позволит задействовать защиту MS SQL, которую обычная 1С не использует.
"Купите Firewall и шифрованный диск! Все будет защищено". Это хорошие методы для противодействия взлому "извне". Однако обычно взлом носит инсайдерский характер и в нем участвует один из сотрудников.
"Мы сделаем абсолютно безопасное решение". Абсолютной защиты не бывает, бывает защита с очень высокой стоимостью взлома.
Следует отметить, что во многих случаях пользователю не требуется вообще использовать средства взлома для получения нужной информации.
Причин тому две. Во-первых, во многих компаниях считают, что секретность это химера и вообще не предпринимают ни каких серьезных мер защиты информации. Постоянные финансовые потери в данном случае обычно списывают просто на издержки до тех пор пока компания не сталкивается с колоссальным убытком от одной из утечек.
Вторая причина связана с тем, что во многих случаях пользователю просто не закрыт доступ вообще, и закрыть его в 1С не просто. Например, любой пользователь может видеть все товары и всех контрагентов, все приходные накладные и т.д. Штатные средства безопасности 1С не позволяют разрешить доступ только к части документов определенного типа. Например, можно дать или не дать право пользователю на доступ к справочнику клиентов, однако нельзя указать, что требуется доступ только к части клиентов.
Проблема разграничения доступа к частям общего списка документов заслуживает отдельной статьи, отметим общие подходы к ее решению.
1) Самый простой вариант это завести несколько баз данных 1С и таким образом разграничить доступ. Например, по одной базе для каждого подразделения. Такой подход быстро реализуется, но затем возникает целая серия проблем.
2) Доработка конфигурации 1С с реализацией разграничения. Следует отметить, что это достаточно дорогой проект.
3) Формирование отчетов в Excel/OLAP. Например, можно указать какую статистику и по каким клиентам может просматривать пользователь в Excel. Важное замечание, большинство настольных OLAP-решений с маркой "1С: Совместимо" не используют средства OLAP из MS SQL и небезопасны с точки зрения доступа к данным.
4) Использование безопасности на уровне записей базы данных. Такое решение быстро и дешево внедряется, не требуется изменения конфигурации 1С. Однако для включения данного режима в 1С требуется установка специальной программы, например "Защита 1С: Предприятия для SQL".
Общий подход к борьбе со взломщиками
Что можно порекомендовать для обеспечения надежной защиты от взлома?
1) Провести независимый аудит текущего состояния безопасности, затем следует выработать меры по обеспечению защиты. Аудит должен быть обязательно независимым, по понятным причинам его должна делать не та компания, которая поставляет систему автоматизации со встроенной безопасностью.
2) В качестве самого надежного продукта в качестве защиты можно рекомендовать 1C для MS SQL. Однако еще раз отметим, данное решение будет безопасно при правильной настройки системы, а главное требуются продукты, которые закрывают проблемы безопасности 1С и позволяют задействовать для 1С защитные средства MS SQL. В качестве примера такого продукта можно привести "Защита 1С: Предприятия для SQL".
3) Рекомендуем отчеты с богатой статистикой использовать только в Excel, а не в 1С. Средствами аналитических сервисов MS SQL можно сконфигурировать доступ к аналитическим разрезам отчетов.
4) Платите нормальные деньги администратору за его квалификацию. Помните любая защита снимается либо подкупом администратора, либо из-за ошибок администрирования.
5) Выясните какая информация может быть наиболее интересна для похищения. Сконцентрируйтесь именно на ее тщательной защите.
Комментарии
13В общем и целом все верно. Храните деньги в сберегательном банке, а не в тумбочке. Тьфу, данные на SQL- сервере, а не в файловой системе. ИМХО, автор упустил еще один аспект обеспечения безопасности- изолируйте пользователя от непосредственного обращения к данным. Все эти новомодные трехзвенные архитектуры не с проста популярны в последнее время. В частности, имеет место Веб- расширение имени 1С. Как сие чудо способно повысить/понизить уровень защищенности?
1) 1C практически беззащитна перед дилетантом.
2) 1С АБСОЛЮТНО беззащитна перед чуть-чуть квалифицированным специалистом.
Говорить о безопасности данных в контексте использования 1С - чушь!
А еще автор пытался в конце статьи рекламировать квази защиту.
Зачем?
1) 1C практически беззащитна перед дилетантом.
2) 1С АБСОЛЮТНО беззащитна перед чуть-чуть квалифицированным специалистом.
Говорить о безопасности данных в контексте использования 1С - чушь!
А еще автор пытался в конце статьи рекламировать квази защиту.
Зачем?