Программные закладки в бизнес-приложениях

Автор работы: Пользователь скрыл имя, 11 Июня 2011 в 21:31, реферат

Описание

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

Работа состоит из  1 файл

Программные закладные устройства (закладки) как способ несанкционированного доступа.docx

— 35.31 Кб (Скачать документ)

    Основной  задачей изобретения программиста-инсайдера  было ввести в заблуждение компьютерную систему реестродержателя, чтобы она не могла заметить исчезновения акций со счетов законных владельцев. Его программа работала так, что после похищения ценных бумаг на счету акционера появлялся знак "минус". Когда же акции после операций на ММВБ возвращались на место, этот знак исчезал. А компьютерная система ОАО "Акционерный капитал" была создана таким образом, что реагировала только на положительные цифры.

    Совсем  недавно была обнародована информация об очередном случае внедрения программной  закладки в программное обеспечение. Следствие установило, что некто  г-н Жуков создал компьютерную программу  «Расчет заработной платы», при этом умышленно дополнил программный  код вредоносными алгоритмами. Эта  программа пользовалась популярностью  среди пользователей ввиду ее простоты и удобства, и поэтому  получила широкое распространение  в организациях Магадана и области. Вредоносные свойства программы  начинали проявляться через определенное время у тех пользователей, которые  приобрели программу без заключения договора на ее обслуживание и установление обновлений за дополнительную плату. В  программе блокировались пункты главного меню, имитировались сбои, при составлении отчетов выдавалась недостоверная информация. Одновременно на экране появлялись сообщения о  необходимости обратиться к разработчику, который в свою очередь предлагал  пользователю дополнительно оплатить его услуги. В итоге пользователь был вынужден либо отказаться от использования  данной программы, либо постоянно платить  за ее обслуживание, что было выгодно  автору программы и повышало рентабельность его бизнеса.

    Приведем  еще один пример атаки защищенной системы программной закладкой  из отечественной практики (источник). Служба безопасности одной из фирм, занимающихся посреднической деятельностью, обнаружила, что конфиденциальная информация, передаваемая партнерам по электронной  почте, становится известной третьей  стороне, несмотря на то, что в системе  использовались платы “Криптон” (продукция  фирмы Анкад), реализующие обеспечивающий гарантированную защиту информации алгоритм шифрования в соответствии с ГОСТ 28147-89.

    Спустя  некоторое время во всех компьютерах  фирмы, на которых стояла указанная  плата, была выявлена одна и та же программная  закладка. Она попросту отключала плату “Криптон-3” и брала ее функции на себя, причем для шифрования данных вместо алгоритма по указанному ГОСТ использовался другой, совершенно нестойкий алгоритм. Проведенное расследование показало, что за несколько недель до описываемых событий во все отделения фирмы от лица якобы производителя платы “Криптон-3” пришли письма, к которым была приложена программа, о которой в письме говорилось, что это бесплатно распространяемый драйвер “Турбо Криптон”, повышающий быстродействие платы в несколько десятков раз. Не заметив подвоха, сетевые администраторы немедленно установили присланный драйвер на все соответствующие компьютеры, в результате чего скорость шифрования действительно возросла, но защита электронной почты фактически отключилась.

    В мире

    Самым ярким примером действия программной  закладки является военный конфликт в Персидском заливе. Тогда при  проведении операции «Буря в пустыне» система ПВО Ирака оказалась  заблокированной по неизвестной  причине. Несмотря на отсутствие исчерпывающей  информации, высказывалось предположение, что ЭВМ, входящие в состав комплекса  технических средств системы  ПВО, закупленные Ираком у Франции, содержали специальные управляемые  «электронные закладки», блокировавшие  работу вычислительной системы.

    Периодически  эксперты обнаруживают недокументированных  возможности в ПО для аппаратных комплексов. Например, в информационном бюллетене CERT CA-2002-32 объявлено о существовании программной закладки (backdoor) в операционной системе AOS (Alcatel Operating System) версии 5.1.1, применяемой для управления коммутаторами Alcatel OmniSwitch 7700/7800. Эта закладка запускает telnet-сервис на порту 6778/TCP, что может позволить удаленному злоумышленнику неавторизованно управлять коммутатором.

    Есть  случаи, когда уволенный программист  похитил данные через оставленный  собой же «черный ход» (backdoor) в программе. Что написанная программа перед запуском проверяла наличие своего разработчика в зарплатных списках и однажды, не найдя его там, уничтожила данные.

    Что касается серьезных бизнес-приложений, например, SAP, то здесь пока публично неизвестно о случаях внедрения  программных закладок и их использования. Однако экспертное сообщество всполошил  доклад SAP Backdoors, сделанный компанией Onapsis на конференции BlackHat USA 2010. В нем рассказывается по крайней мере о четырех путях внедрения программных закладок в инсталляции продуктов компании SAP.  
 
 
 
 
 
 
 

    Чем можно защищаться?

    Принципиально можно выделить два направления  защиты от программных закладок: организационный и технический. Рассмотрим их немного подробнее.

    Организационный способ защиты

    Привычный и всем понятный организационный  подход к защите чаще всего применяется  в крупных компаниях, ведущих  собственные дополнительные разработки к крупным приложениям, чаще всего  это ERP или АБС. Ключевым моментом этого  подхода является разделение жизненного цикла продукта на три этапа: разработка, тестирование и непосредственное использование.

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

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

    Технический способ защиты

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

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

    Кроме этого, для обнаружения закладок могут использоваться тестовые среды  и анализаторы потенциальных  уязвимостей. Например, для SAP R/3 подобные технические средства и услуги предоставляют  компания Onapsis и Virtual Forge, которые используют статический и динамический анализ кода.

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

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

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

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

    Выводы 

    По  данным Informit рынок безопасности приложений (Software Security) растет быстрыми темпами, составив в 2009 году 550 млн. долларов США. Его большую часть составляют услуги, а также продажи web- и application- фаерволов, но около 25% составляют продажи продуктов по аудиту кода (Code Review Tools). Причем этот сегмент растет наибольшими темпами.

    Пока  что большинство продуктов по аудиту кода ориентированы на профессиональных пользователей. Однако с приходом на этот рынок производителей, обладающих DLP-технологиями, такие продукты могут стать доступны клиентам, которые разрабатывают продукты для автоматизации собственных бизнес-процессов.

    Производители DLP-продуктов могут привнести  на этот рынок не только технологии, но и методологию борьбы с инсайдерами, ведь программисты, злонамеренно модифицирующие код, по сути, являются теми же инсайдерами.

    Комментарии экспертов

    Ринат Гимранов, Руководитель Управления ИТ ОАО «Сургутнефтегаз»:

    «Сам  принцип многократного использования  программного кода, не так давно  усиленный возможностями сервис-ориентированной архитектуры, делает вопросы безопасности прикладного программного обеспечения очень важным звеном в системе обеспечения информационной безопасности предприятия.

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

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

    Рустем Хайрединов, представитель Appercut в регионе ЕМЕА:

    «Наличие  проблемы контроля кода при разработке проприетарных бизнес-приложений признают большинство крупных компаний. Крупные компании содержат иногда сотни программистов, постоянно дорабатывающих ERP системы, ABS, CRM и другие бизнес-приложения. Но это проблема не только крупных компаний - даже в самых маленьких компаниях существуют свои или приходящие программисты 1С, постоянно добавляющие в систему новые отчеты или другие функции. Что они добавляют, кроме заявленного функционала, никто не проверяет, а роль бизнес-приложений такова, что ошибка или закладка может привести к потере не только данных, но и денег, что хорошо показано в отчете.

    Классические  сканеры приложений хорошо справляются  с поставленной им задачей – поиском  критических уязвимостей в коде приложений, у их разработчиков накоплен колоссальный опыт поиска уязвимостей. Но у бизнес-приложений есть и своя специфика: существенная часть уязвимостей  безупречна с точки зрения языка, но использует специфику архитектуры  приложения или особенности бизнес процесса. Например, ни один существующий сканер не признает ошибкой в коде ABS изменение номера банковского  счета клиента в обход процедуры, а опасность такой операции в  коде - очевидна. С точки зрения программирования команда на одновременную блокировку двигателей всех автомобилей, защищенных спутниковой сигнализацией не является подозрительной, а с точки зрения бизнеса – может привести к  непоправимым последствиям. Никто, кроме  самого заказчика разработки не знает  функционал и архитектуру приложения лучше него, поэтому в дополнение к существующим на рынке сканерам и сервисам, заказчику нужен инструмент контроля своих собственных разработок, который можно самостоятельно или  с помощью сторонних консультантов  обучать на обнаружение специфических  для бизнес-приложения уязвимостей.

Информация о работе Программные закладки в бизнес-приложениях