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




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

Исходные данные:
Для исследования были получены файлы на flash-носителе общим объемом 2 252 414 699 байт. В корне носителя содержалось две директории: FltRec02; СМ-АС 2006 .

Операционная система на исследуемом компьютере: Microsoft Windows XP Professional.
Анализ файлов в директории FltRec02
Объем файлов: 472 899 байт.

Среди всех представленных файлов, загрузочный только один – FLTREC02.exe , который запуску не поддается.

Анализ файлов в директории СМ-АС 2006
Fighter Ace II

Объем директории: 2 251 941 800 байт.

Загрузочный файл FIGHTACE.exe

После запуска файла, на экране появляется окно представленное на рис. 2

Наличие уже введенного защитного «ключа» (см. выделение на рис. 3), свидетельствует о «пиратском» происхождении программного продукта!

После инсталляции и запуска программы в режиме «play», пользователю необходимо пройти регистрацию на сервере официального производителя – Microsoft.

В режиме «training » перед пользователем открывается «тренировочный режим», см. рис. 5 и 6

Вывод: Исследуемое программное обеспечение относится к классу «Компьютерные игры - Симуляторы», разработчиком которого является компания Microsoft Corp., год выпуска 1999, название – Fighter Ace II.

Стоимость программного продукта с учетом «пиратского» происхождения составляет порядка 70 рублей.

Microsoft Flight Simulator 2002

Загрузочные файлы FLTSIM98.exe, FS2000.exe, FS2002.exe

Данные файлы запускают программу «Microsoft Flight Simulator 2002», которая скрывается под заставкой «Стенд моделирования аварийных ситуаций в полете». Компания ЗАО «ХХХХХХ» нарушила авторские права указав себя в качестве разработчика!

Информации о легальном происхождении программного продукта обнаружить не удалось!

Загрузочный файл FSUNINSTALL.exe

Загрузочный файл FSEDIT.exe

Вывод: Исследуемое программное обеспечение относится к классу «Компьютерные игры - Симуляторы», разработчиком которого является компания Microsoft Corp., год выпуска 2002, название – «Microsoft Flight Simulator 2002».

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

Итого, общая стоимость ПО поступившего на экспертизу составляет порядка 270 руб.

В результате проведенной экспертизы, сотрудникам МО было рекомендовано обратиться в военную прокуратуру и контрразведку для проведения расследования!

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

Экспертиза программного обеспечения необходима:

  • для определения причин нарушения работы программного обеспечения;
  • для оценки стоимости и качества программного обеспечения;
  • для определения внесения изменений в программу;
  • для определения подлинности или контрафактности программного продукта;

Виды экспертизы программного обеспечения

Экспертиза программного обеспечения может:

  • определить вид и основные характеристики операционной системы, установленной на данном компьютере;
  • определить тип, групповую принадлежность программного обеспечения, его назначение, алгоритм работы, время установки, способы ввода/вывода информации, типы поддерживаемых аппаратно-программных платформ;
  • определить текущее состояние программного объекта, наличие или отсутствие отклонений от типовых (нормальных) параметров;
  • определить первоначальное состояние программы и внесенные изменения;
  • определить вносились ли в программу изменения, направленные на преодоление защиты;
  • определение способа внесения изменений в программу ошибки программной среды(ошибки программной среды, несанкционированный доступ, воздействие вредоносной программы и т.д.);
  • выявить признаки контрафактности программного продукта;
  • определить причину сбоев в работе программы: действие вредоносных программ, неисправность аппаратных компонентов или ошибки в программном обеспечении;
  • определить наличие причинной связи между действиями пользователя, затрагивающими программное обеспечение и наступившими последствиями;
  • определить тождественность оригинала программы и ее копии на носителях исследуемой компьютерной системы;
  • идентифицировать авторство по частным признакам программы;
  • определить, является ли данная программа объектом авторского права и есть ли у неё защита от нелицензионного использования, и в чем она заключается.

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

Объекты программной экспертизы: операционные системы, программы-утилиты, служебная система информация, средства для разработки и отладки программ, приложения общего назначения (графические и текстовые редакторы, электронные таблицы, электронная почта и т.д.).

Вопросы экспертизы программного обеспечения:

  • Какую общую характеристику имеет представленное программное обеспечение? Из каких программ оно состоит?
  • Каков тип, наименование, версия, вид представленной прикладной программы?
  • Каково функциональное предназначение исследуемого программного объекта?
  • Каково функциональное предназначение представленного программного продукта?
  • Определить совместимость данного программного средства с программно-аппаратным обеспечением системы компьютера?
  • Вносились ли в алгоритм программного средства изменения по сравнению с первоначальным состоянием?
  • Имеются ли в программном объекте враждебные функции, которые влекут блокирование, уничтожение или изменение информации?
  • Имеет ли программный объект признаки (перечисляются конкретные признаки) контрафактности?
  • Имеются ли в программе отклонения от нормальных параметров (признаки инфицирования, недокументированных функций)?
  • Соответствуют ли характеристики программного средства заявленным в нормативно-технической документации?
  • Соответствует ли выполненный программный продукт (программное обеспечение, разработанное техническое задание, сайт и др.) требованиям технического задания, договора (контракта)?

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

В задачи экспертизы ПО входит:

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

Процесс экспертизы ПО требует четкой регламентации. Весь процесс может быть разделен на несколько этапов:

  • внутренняя экспертиза ПО, выполняемая сотрудниками исполнителя на определенных этапах разработки
  • приемочная экспертиза ПО, выполняемая на оборудовании и с привлечением персонала заказчика для определения степени готовности продукта к внедрению

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

  • ГОСТ Р ИСО/МЭК 12207-99,
  • ГОСТ Р ИСО/МЭК 12119-2000,
  • ГОСТ Р ИСО/МЭК 14764-2002,
  • ГОСТ Р ИСО/МЭК ТО 16326-2002,
  • ГОСТ Р ИСО/МЭК 15408-2002

На этапе проведения приемо-сдаточных испытаний оформляется документ Программа и методика испытаний, который определяет количественные показатели качества продукта и методики проверки. Разрабатывается программа с позиции минимизации объема тестирования для проверки выполнения всех требований документов.

Программа и методика экспертизы ПО должна содержать следующие разделы (согласно РД 50-34.698-90 АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ, ТРЕБОВАНИЯ К СОДЕРЖАНИЮ ДОКУМЕНТОВ):

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

Программа и методика экспертизы ПО согласуются с разработчиками и Заказчиком.

В процессе экспертизы программного обеспечения осуществляется проверка следующих показателей:

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

Также проверяются и корректируются инструкции по эксплуатации комплекса программ во всех заданных режимах.

Экспертиза ПО в момент приемочных испытаний проводится на стендах Заказчика. Сама установка программных средств и отладка стендов осуществляются представителями разработчиков.

В ходе проведения экспертизы ПО допускается использование автоматизированных средств тестирования.

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

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

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

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

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

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

Объектами программно-компьютерной экспертизы являются следующие компоненты:

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

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

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

ЗАДАЧИ, КОТОРЫЕ РЕШАЮТСЯ С ПОМОЩЬЮ ПРОГРАММНО- КОМПЬЮТЕРНОЙ ЭКСПЕРТИЗЫ

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

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

МЕТОДЫ ПРОВЕДЕНИЯ ПРОГРАММНО-КОМПЬЮТЕРНОЙ ЭКСПЕРТИЗЫ

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

  • Методы анализа исходных кодов.
  • Методы исследования программных алгоритмов.
  • Методы изучения исполняемых кодов (загрузочных модулей).

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

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

ПОРЯДОК ПРОВЕДЕНИЯ ПРОГРАММНО-КОМПЬЮТЕРНОЙ ЭКСПЕРТИЗЫ

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

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

ПРАВОВАЯ БАЗА ДЛЯ ПРОВЕДЕНИЯ ПРОГРАММНО-КОМПЬЮТЕРНОЙ ЭКСПЕРТИЗЫ

Глава 28 Уголовного кодекса РФ описывает преступления в сфере компьютерной информации, а также меры наказания, назначаемые за подобные правонарушения. Глава содержит три статьи. Статья 272 регламентирует меры ответственности за незаконный доступ к закрытой компьютерной информации. Статья 273 предусматривает меры наказания за разработку, применение и распространение так называемых вредоносных программ, приводящих к уничтожению или блокированию информации в персональных компьютерах и производственных сетях. Статья 274 предписывает ответственность за несоблюдение техники использования персональных компьютеров, компьютерных систем или компьютерных сетей. Средствами программно-компьютерной экспертизы получается обоснование для вынесения решений по обозначенным в этой главе преступлениям.

ВОПРОСЫ, КОТОРЫЕ СТАВЯТСЯ ПЕРЕД СПЕЦИАЛИСТОМ ПО ПРОВЕДЕНИЮ ПРОГРАММНО-КОМПЬЮТЕРНОЙ ЭКСПЕРТИЗЫ

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

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

Уточняйте интересующий Вас вопрос по контактному телефону.

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

Исходные данные:
Для исследования были получены файлы на flash-носителе общим объемом 2 252 414 699 байт. В корне носителя содержалось две директории: FltRec02; СМ-АС 2006 .

Операционная система на исследуемом компьютере: Microsoft Windows XP Professional.
Анализ файлов в директории FltRec02
Объем файлов: 472 899 байт.

Среди всех представленных файлов, загрузочный только один – FLTREC02.exe , который запуску не поддается.

Анализ файлов в директории СМ-АС 2006
Fighter Ace II

Объем директории: 2 251 941 800 байт.

Загрузочный файл FIGHTACE.exe

После запуска файла, на экране появляется окно представленное на рис. 2

Наличие уже введенного защитного «ключа» (см. выделение на рис. 3), свидетельствует о «пиратском» происхождении программного продукта!

После инсталляции и запуска программы в режиме «play», пользователю необходимо пройти регистрацию на сервере официального производителя – Microsoft.

В режиме «training » перед пользователем открывается «тренировочный режим», см. рис. 5 и 6

Вывод: Исследуемое программное обеспечение относится к классу «Компьютерные игры - Симуляторы», разработчиком которого является компания Microsoft Corp., год выпуска 1999, название – Fighter Ace II.

Стоимость программного продукта с учетом «пиратского» происхождения составляет порядка 70 рублей.

Microsoft Flight Simulator 2002

Загрузочные файлы FLTSIM98.exe, FS2000.exe, FS2002.exe

Данные файлы запускают программу «Microsoft Flight Simulator 2002», которая скрывается под заставкой «Стенд моделирования аварийных ситуаций в полете». Компания ЗАО «ХХХХХХ» нарушила авторские права указав себя в качестве разработчика!

Информации о легальном происхождении программного продукта обнаружить не удалось!

Загрузочный файл FSUNINSTALL.exe

Загрузочный файл FSEDIT.exe

Вывод: Исследуемое программное обеспечение относится к классу «Компьютерные игры - Симуляторы», разработчиком которого является компания Microsoft Corp., год выпуска 2002, название – «Microsoft Flight Simulator 2002».

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

Итого, общая стоимость ПО поступившего на экспертизу составляет порядка 270 руб.

В результате проведенной экспертизы, сотрудникам МО было рекомендовано обратиться в военную прокуратуру и контрразведку для проведения расследования!