Где можно провести экспертизу программного обеспечения. Судебная программно-компьютерная экспертиза. Экспертиза контрафактной продукции

Эта история произошла более 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 АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ, ТРЕБОВАНИЯ К СОДЕРЖАНИЮ ДОКУМЕНТОВ):

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

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

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

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

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

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

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

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

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

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

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

Эта история произошла более 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 руб.

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

Судебная программно-компьютерная экспертиза проводится для осуществления экспертного исследования программного обеспечения.

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

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

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

  • - экспертиза системного программного обеспечения;
  • - экспертиза сервисов веб-серверов;
  • - программно-компьютерная экспертиза системной безопасности;
  • - программно-компьютерная экспертиза баз и банков данных.

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

Решаемыми на сегодняшний день задачами программно-компьютерной экспертизы являются:

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

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

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

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

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

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

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