СИСТЕМА ОЦЕНИВАНИЯ ОБЪЕМА РАБОТ ПО КОНТРОЛЮ ОТСУТСТВИЯ НЕДЕКЛАРИРОВАННЫХ ВОЗМОЖНОСТЕЙ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ
SYSTEM TO ASSESS SCOPE OF WORKS TO CONTROL UNAVAILABILITY OF UNDECLARED CAPABILITIES IN SOFTWARE

Изобретение относится к системам, специально предназначенным для оценивания объема работ по проведению сертификационных испытаний [1, ст.20; 2] программного обеспечения на отсутствие недекларированных возможностей [3] и может применяться для решения административных вопросов, связанных с принятием решения по выбору испытательной лаборатории для проведения сертификационных испытаний, коммерческих вопросов оценки стоимости работ, управленческих решений по выделению сил и средств испытательной лаборатории для проведения сертификационных испытаний и надзорных вопросов, связанных с контролем деятельности испытательных лабораторий.
Известны способы оценивания объема работ по разработке и анализу программного обеспечения [4, 5, 6, с.225, 275]. Реализующая их система оценивания объема работ по разработке и анализу программного обеспечения представлена на фиг.1. Система оценивания объема работ по разработке и анализу программного обеспечения включает блок хранения файлов программного обеспечения 1, блок оценивания топологической сложности программного обеспечения 2, блок оценивания информационной сложности программного обеспечения 3, блок калькуляции итогового объема работ 4, причем вход блока хранения файлов программного обеспечения 1 соединен с входом 5 получения файлов программного обеспечения, первый выход - с первым входом блока оценивания топологической сложности программного обеспечения 2, второй выход - с первым входом блока оценивания информационной сложности программного обеспечения 3, выход которого соединен со вторым входом блока калькуляции итогового объема работ 4, первый вход которого соединен с выходом блока оценивания топологической сложности программного обеспечения 2, выход - с выходом выдачи результата оценки объема работ 6.
Оценивание объема работ по разработке и анализу программного обеспечения заключается в том, что поступающие с входа 5 файлы анализируемого программного обеспечения сохраняют в блоке 1, затем передают в блоки 2 и 3, где проводят оценку соответственно топологической и информационной сложности программного обеспечения. Результаты оценки из блоков 2 и 3 передают в блок 4, в котором осуществляют калькуляцию итогового объема работ по разработке и анализу программного обеспечения, после чего результат калькуляции передают на выход 6.
Таким образом, данная система может быть использована для приблизительного оценивания объема работ по разработке или анализу программного обеспечения.
Недостатками данной системы для оценивания объема работ по контролю отсутствия недекларированных возможностей в программном обеспечении являются следующие.
1. Система не позволяет оценивать количество и уровень подготовки экспертов, необходимых для проведения контроля отсутствия недекларированных возможностей.
2. Система не позволяет проводить оценку необходимости и достаточности сформированного перечня специализированного программного обеспечения и номенклатуры программных средств контроля отсутствия недекларированных возможностей.
3. Система не позволяет при оценивании объема работ проводить оценку соответствия критериям, характерным для контроля отсутствия недекларированных возможностей.
Задача, на решение которой направлено данное изобретение, заключается в обеспечении возможности учета соответствия критериям, характерным для контроля отсутствия недекларированных возможностей, при оценивании объема работ по анализу программного обеспечения для конкретного уровня контроля.
Техническим результатом заявляемого изобретения является более точная оценка объема работ по контролю отсутствия недекларированных возможностей в программном обеспечении.
Указанный технический результат достигается тем, что в известной системе оценивания объема работ по разработке и анализу программного обеспечения, включающей блок хранения файлов программного обеспечения, блок оценивания топологической сложности программного обеспечения, блок оценивания информационной сложности программного обеспечения, блок калькуляции итогового объема работ, причем вход блока хранения файлов программного обеспечения соединен с входом получения файлов программного обеспечения, первый выход - с первым входом блока оценивания топологической сложности программного обеспечения, второй выход - с первым входом блока оценивания информационной сложности программного обеспечения, выход которого соединен со вторым входом блока калькуляции итогового объема работ, первый вход которого соединен с выходом блока оценивания топологической сложности программного обеспечения, выход - с выходом выдачи результата оценки объема работ, согласно изобретению, дополнительно введены блок хранения перечня требований для различных уровней контроля отсутствия недекларированных возможностей, блок выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, блок хранения полного перечня возможных классификационных признаков программного обеспечения, блок прогнозирования возможностей и оценивания сложности программного обеспечения по его классификационным признакам, блок хранения перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении, блок выбора необходимых автоматизированных средств, блок хранения перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям, блок выбора и оптимизации перечня требующих проверки ошибок проектирования, блок хранения перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения, блок детектирования необходимости и уровня сложности дисассемблирования анализируемого программного обеспечения, блок хранения перечня критериев сложности анализа языков программирования, блок определения сложности анализа языков программирования, использованных при написании программного обеспечения, блок хранения перечня уровней применяемых языковых средств, блок определения уровней языковых средств, примененных при написании программного обеспечения, блок хранения перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов, ориентированных на психологических факторах, блок оценивания удобочитаемости, трудности восприятия и понимания анализируемых программных текстов, блок хранения перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении, блок оценивания необходимых квалификационных требований специалистов для контроля отсутствия недекларированных возможностей в анализируемом программном обеспечении, блок хранения перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа, блок детектирования и оценки сложности обхода примененных в анализируемом программном обеспечении средств защиты программного кода от анализа, блок хранения перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования, блок прогнозирования и оптимизации перечня возможных штатных взаимодействий анализируемого программного обеспечения с внешней программной средой функционирования, блок хранения перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение, блок прогнозирования и оптимизации перечня внешних направленных недекларированных воздействий для анализируемого программного обеспечения, блок хранения перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения, блок оценивания информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и комментариев исходных текстов программного обеспечения, причем вход блока хранения перечня требований для различных уровней контроля отсутствия недекларированных возможностей соединен с входом получения перечня требований для различных уровней контроля отсутствия недекларированных возможностей, выход - с первым входом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, второй вход которого соединен с входом выбора уровня контроля отсутствия недекларированных возможностей, первый выход - со вторым входом блока оценивания топологической сложности программного обеспечения, второй выход - со вторым входом блока оценивания информационной сложности программного обеспечения, вход блока хранения полного перечня возможных классификационных признаков программного обеспечения соединен с входом формирования полного перечня возможных классификационных признаков программного обеспечения, выход - с третьим входом блока прогнозирования возможностей и оценивания сложности программного обеспечения по его классификационным признакам, первый вход которого соединен с третьим выходом блока хранения файлов программного обеспечения, второй вход - с третьим выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с третьим входом блока калькуляции итогового объема работ, вход блока хранения перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении соединен с входом формирования полного перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении, выход - с третьим входом блока выбора необходимых автоматизированных средств, первый вход которого соединен с четвертым выходом блока хранения файлов программного обеспечения, второй вход - с четвертым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с четвертым входом блока калькуляции итогового объема работ, вход блока хранения перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям, соединен с входом формирования перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям, выход - с третьим входом блока выбора и оптимизации перечня требующих проверки ошибок проектирования, первый вход которого соединен с пятым выходом блока хранения файлов программного обеспечения, второй вход - с пятым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с пятым входом блока калькуляции итогового объема работ, вход блока хранения перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения соединен с входом формирования перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения, выход - с третьим входом блока детектирования необходимости и уровня сложности дисассемблирования анализируемого программного обеспечения, первый вход которого соединен с шестым выходом блока хранения файлов программного обеспечения, второй вход - с шестым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с шестым входом блока калькуляции итогового объема работ, вход блока хранения перечня критериев сложности анализа языков программирования соединен с входом формирования перечня критериев сложности анализа языков программирования, выход - с третьим входом блока определения сложности анализа языков программирования, использованных при написании программного обеспечения, первый вход которого соединен с седьмым выходом блока хранения файлов программного обеспечения, второй вход - с седьмым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с седьмым входом блока калькуляции итогового объема работ, вход блока хранения перечня уровней применяемых языковых средств соединен с входом формирования перечня уровней применяемых языковых средств, выход - с третьим входом блока определения уровней языковых средств, примененных при написании программного обеспечения, первый вход которого соединен с восьмым выходом блока хранения файлов программного обеспечения, второй вход - с восьмым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с восьмым входом блока калькуляции итогового объема работ, вход блока хранения перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов, ориентированных на психологических факторах соединен с входом формирования перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов, ориентированных на психологических факторах, выход - с третьим входом блока оценивания удобочитаемости, трудности восприятия и понимания анализируемых программных текстов, первый вход которого соединен с девятым выходом блока хранения файлов программного обеспечения, второй вход - с девятым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с девятым входом блока калькуляции итогового объема работ, вход блока хранения перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении соединен с входом формирования перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении, выход - с третьим входом блока оценивания необходимых квалификационных требований специалистов для контроля отсутствия недекларированных возможностей в анализируемом программном обеспечении, первый вход которого соединен с десятым выходом блока хранения файлов программного обеспечения, второй вход - с десятым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с десятым входом блока калькуляции итогового объема работ, вход блока хранения перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа соединен с входом формирования перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа, выход - с третьим входом блока детектирования и оценки сложности обхода примененных в анализируемом программном обеспечении средств защиты программного кода от анализа, первый вход которого соединен с одиннадцатым выходом блока хранения файлов программного обеспечения, второй вход - с одиннадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с одиннадцатым входом блока калькуляции итогового объема работ, вход блока хранения перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования соединен с входом формирования перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования, выход - с третьим входом блока прогнозирования и оптимизации перечня возможных штатных взаимодействий анализируемого программного обеспечения с внешней программной средой функционирования, первый вход которого соединен с двенадцатым выходом блока хранения файлов программного обеспечения, второй вход - с двенадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с двенадцатым входом блока калькуляции итогового объема работ, вход блока хранения перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение соединен с входом формирования перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение, выход - с третьим входом блока прогнозирования и оптимизации перечня внешних направленных недекларированных воздействий для анализируемого программного обеспечения, первый вход которого соединен с тринадцатым выходом блока хранения файлов программного обеспечения, второй вход - с тринадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с тринадцатым входом блока калькуляции итогового объема работ, вход блока хранения перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения соединен с входом формирования перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения, выход - с третьим входом блока оценивания информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и комментариев исходных текстов программного обеспечения, первый вход которого соединен с четырнадцатым выходом блока хранения файлов программного обеспечения, второй вход - с четырнадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей, выход - с четырнадцатым входом блока калькуляции итогового объема работ.
Эти отличительные признаки по сравнению с прототипом позволяют сделать вывод о соответствии заявляемого технического решения критерию "новизна".
Сущность изобретения заключается в следующем. Оценку объема работ проводят для конкретного уровня контроля отсутствия недекларированных возможностей. При произведении оценки учитывают ряд факторов, влияющих на объем работ по контролю отсутствия недекларированных возможностей в программном обеспечении:
- класс программного обеспечения;
- существование и наличие специализированных автоматизированных средств контроля и экспертов соответствующего класса;
- наличие требующих проверки ошибок проектирования;
- необходимость дисассемблирования;
- сложность анализа примененных языков программирования и уровень языковых средств;
- удобочитаемость, трудность восприятия и понимания анализируемых программных текстов;
- наличие защиты программного кода от анализа;
- возможные штатные взаимодействия с внешней программной средой функционирования;
- возможные внешние направленные недекларированные воздействия на анализируемое программное обеспечение;
- информативность и достаточность программной, конструкторской, технологической, эксплуатационной документации и комментариев, вставленных в исходные тексты программного обеспечения.
Перечисленная совокупность существенных признаков в указанном порядке обеспечивает возможность оценивания объема работ по контролю отсутствия недекларированных возможностей в выбранном программном обеспечении в зависимости от требуемого уровня контроля отсутствия недекларированных возможностей, что позволит решать следующие задачи.
1. Оценку федеральным органом по сертификации возможностей испытательных лабораторий для принятия решения по выбору испытательной лаборатории для проведения сертификационных испытаний.
2. Оценку испытательной лабораторией стоимости работ по контролю отсутствия недекларированных возможностей в программном обеспечении.
3. Оценку испытательной лабораторией требований по выделению сил и средств для проведения сертификационных испытаний.
4. Контроль деятельности испытательных лабораторий в части оценивания качества работ по сертификации программного обеспечения и оценивания реальных возможностей испытательных лабораторий по решению поставленных федеральным органом по сертификации задач.
Из литературных источников неизвестна совокупность особенностей, влияющих на объем работ по контролю отсутствия недекларированных возможностей в программном обеспечении.
Именно новое свойство совокупности признаков, приводящих к возможности получения оценки объема работ по контролю отсутствия недекларированных возможностей в программном обеспечении позволяет сделать вывод о соответствии предлагаемого технического решения критерию "изобретательский уровень".
Схема предлагаемой системы контроля отсутствия недекларированных возможностей в программном обеспечении приведена на фиг.2, содержит: блок хранения файлов программного обеспечения 1, блок оценивания топологической сложности программного обеспечения 2, блок оценивания информационной сложности программного обеспечения 3, блок калькуляции итогового объема работ 4, блок хранения перечня требований для различных уровней контроля отсутствия недекларированных возможностей 7, блок выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 8, блок хранения полного перечня возможных классификационных признаков программного обеспечения 11, блок прогнозирования возможностей и оценивания сложности программного обеспечения по его классификационным признакам 12, блок хранения перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении 14, блок выбора необходимых автоматизированных средств 15, блок хранения перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям 17, блок выбора и оптимизации перечня требующих проверки ошибок проектирования 18, блок хранения перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения 20, блок детектирования необходимости и уровня сложности дисассемблирования анализируемого программного обеспечения 21, блок хранения перечня критериев сложности анализа языков программирования 23, блок определения сложности анализа языков программирования, использованных при написании программного обеспечения 24, блок хранения перечня уровней применяемых языковых средств 26, блок определения уровней языковых средств, примененных при написании программного обеспечения 27, блок хранения перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов, ориентированных на психологических факторах 29, блок оценивания удобочитаемости, трудности восприятия и понимания анализируемых программных текстов 30, блок хранения перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении 32, блок оценивания необходимых квалификационных требований специалистов для контроля отсутствия недекларированных возможностей в анализируемом программном обеспечении 33, блок хранения перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа 35, блок детектирования и оценки сложности обхода примененных в анализируемом программном обеспечении средств защиты программного кода от анализа 36, блок хранения перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования 38, блок прогнозирования и оптимизации перечня возможных штатных взаимодействий анализируемого программного обеспечения с внешней программной средой функционирования 39, блок хранения перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение 41, блок прогнозирования и оптимизации перечня внешних направленных недекларированных воздействий для анализируемого программного обеспечения 42, блок хранения перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения 44, блок оценивания информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и комментариев исходных текстов программного обеспечения 45, причем вход блока хранения файлов программного обеспечения 1 соединен с входом 5 получения файлов программного обеспечения, первый выход - с первым входом блока оценивания топологической сложности программного обеспечения 2, второй выход - с первым входом блока оценивания информационной сложности программного обеспечения 3, выход которого соединен со вторым входом блока калькуляции итогового объема работ 4, первый вход которого соединен с выходом блока оценивания топологической сложности программного обеспечения 2, выход - с выходом выдачи результата оценки объема работ 6, вход блока хранения перечня требований для различных уровней контроля отсутствия недекларированных возможностей 7 соединен с входом 9 получения перечня требований для различных уровней контроля отсутствия недекларированных возможностей, выход - с первым входом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 8, второй вход которого соединен с входом 10 выбора уровня контроля отсутствия недекларированных возможностей, первый выход - со вторым входом блока оценивания топологической сложности программного обеспечения 2, второй выход - со вторым входом блока оценивания информационной сложности программного обеспечения 3, вход блока хранения полного перечня возможных классификационных признаков программного обеспечения 11 соединен с входом формирования полного перечня возможных классификационных признаков программного обеспечения 13, выход - с третьим входом блока прогнозирования возможностей и оценивания сложности программного обеспечения по его классификационным признакам 12, первый вход которого соединен с третьим выходом блока хранения файлов программного обеспечения 1, второй вход - с третьим выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с третьим входом блока калькуляции итогового объема работ 6, вход блока хранения перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении 14 соединен с входом формирования полного перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении 16, выход - с третьим входом блока выбора необходимых автоматизированных средств 15, первый вход которого соединен с четвертым выходом блока хранения файлов программного обеспечения 1, второй вход - с четвертым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с четвертым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям 17 соединен с входом формирования перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям 19, выход - с третьим входом блока выбора и оптимизации перечня требующих проверки ошибок проектирования 18, первый вход которого соединен с пятым выходом блока хранения файлов программного обеспечения 1, второй вход - с пятым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с пятым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения 20 соединен с входом формирования перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения 22, выход - с третьим входом блока детектирования необходимости и уровня сложности дисассемблирования анализируемого программного обеспечения 21, первый вход которого соединен с шестым выходом блока хранения файлов программного обеспечения 1, второй вход - с шестым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с шестым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня критериев сложности анализа языков программирования 23 соединен с входом формирования перечня критериев сложности анализа языков программирования 25, выход - с третьим входом блока определения сложности анализа языков программирования, использованных при написании программного обеспечения 24, первый вход которого соединен с седьмым выходом блока хранения файлов программного обеспечения 1, второй вход - с седьмым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с седьмым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня уровней применяемых языковых средств 26 соединен с входом формирования перечня уровней применяемых языковых средств 28, выход - с третьим входом блока определения уровней языковых средств, примененных при написании программного обеспечения 27, первый вход которого соединен с восьмым выходом блока хранения файлов программного обеспечения 1, второй вход - с восьмым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с восьмым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов, ориентированных на психологических факторах 29, соединен с входом формирования перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов 31, ориентированных на психологических факторах, выход - с третьим входом блока оценивания удобочитаемости, трудности восприятия и понимания анализируемых программных текстов 30, первый вход которого соединен с девятым выходом блока хранения файлов программного обеспечения 1, второй вход - с девятым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с девятым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении 32 соединен с входом формирования перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении 34, выход - с третьим входом блока оценивания необходимых квалификационных требований специалистов для контроля отсутствия недекларированных возможностей в анализируемом программном обеспечении 33, первый вход которого соединен с десятым выходом блока хранения файлов программного обеспечения 1, второй вход - с десятым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с десятым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа 35 соединен с входом формирования перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа 37, выход - с третьим входом блока детектирования и оценки сложности обхода примененных в анализируемом программном обеспечении средств защиты программного кода от анализа 36, первый вход которого соединен с одиннадцатым выходом блока хранения файлов программного обеспечения 1, второй вход - с одиннадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с одиннадцатым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования 38 соединен с входом формирования перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования 40, выход - с третьим входом блока прогнозирования и оптимизации перечня возможных штатных взаимодействий анализируемого программного обеспечения с внешней программной средой функционирования 39, первый вход которого соединен с двенадцатым выходом блока хранения файлов программного обеспечения 1, второй вход - с двенадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с двенадцатым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение 41 соединен с входом формирования перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение 43, выход - с третьим входом блока прогнозирования и оптимизации перечня внешних направленных недекларированных воздействий для анализируемого программного обеспечения 42, первый вход которого соединен с тринадцатым выходом блока хранения файлов программного обеспечения 1, второй вход - с тринадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с тринадцатым входом блока калькуляции итогового объема работ 6, вход блока хранения перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения 44 соединен с входом формирования перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения 46, выход - с третьим входом блока оценивания информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и комментариев исходных текстов программного обеспечения 45, первый вход которого соединен с четырнадцатым выходом блока хранения файлов программного обеспечения 1, второй вход - с четырнадцатым выходом блока выдачи перечня требования для выбранного уровня контроля отсутствия недекларированных возможностей 3, выход - с четырнадцатым входом блока калькуляции итогового объема работ 6.
Назначение блоков понятно из их названия.
Оценку топологической и информационной сложности программного обеспечения проводят соответственно в блоке 2 и 3 с учетом требований по контролю отсутствия недекларированных возможностей в программном обеспечении. Перечень требований для различных уровней контроля отсутствия недекларированных возможностей [3] задаются с входа 9 и сохраняется в блоке 7. Выбор требований к контролю отсутствия недекларированных возможностей в программном обеспечении осуществляется в блоке 8 путем задания с входа 10 конкретного уровня контроля [3] и получения из блока 7 набора требований, соответствующих заданному уровню контроля [3]. Кроме оценивания топологической и информационной сложности программного обеспечения, реализованного в прототипе, дополнительно проводят в блоке 12 прогнозирование возможностей и оценивание сложности программного обеспечения по его классификационным признакам на основе сформированного с входа 13 и сохраненного в блоке 11 полного перечня возможных классификационных признаков программного обеспечения, в блоке 15 - выбор необходимых автоматизированных средств на основе сформированного с входа 16 и сохраненного в блоке 14 полного перечня возможностей автоматизированных средств контроля отсутствия недекларированных возможностей в программном обеспечении, в блоке 18 - выбор и оптимизацию перечня требующих проверки ошибок проектирования на основе сформированного с входа 19 и сохраненного в блоке 17 перечня возможных ошибок проектирования, приводящих к критическим и фатальным ситуациям, в блоке 21 - детектирование необходимости и уровня сложности дисассемблирования анализируемого программного обеспечения на основе сформированного с входа 22 и сохраненного в блоке 20 перечня критериев необходимости и уровня сложности дисассемблирования программного обеспечения, в блоке 24 - определение сложности анализа языков программирования, использованных при написании программного обеспечения на основе сформированного с входа 25 и сохраненного в блоке 23 перечня критериев сложности анализа языков программирования, в блоке 27 - определение уровней языковых средств, примененных при написании программного обеспечения на основе сформированного с входа 28 и сохраненного в блоке 26 перечня уровней применяемых языковых средств, в блоке 30 - оценивание удобочитаемости, трудности восприятия и понимания анализируемых программных текстов на основе сформированного с входа 31 и сохраненного в блоке 29 перечня критериев удобочитаемости, трудности восприятия и понимания программных текстов, в блоке 33 - оценивание необходимых квалификационных требований специалистов для контроля отсутствия недекларированных возможностей в анализируемом программном обеспечении на основе сформированного с входа 34 и сохраненного в блоке 32 перечня квалификационных требований специалистов по контролю отсутствия недекларированных возможностей в программном обеспечении, в блоке 36 - детектирование и оценку сложности обхода примененных в анализируемом программном обеспечении средств защиты программного кода от анализа на основе сформированного с входа 37 и сохраненного в блоке 35 перечня признаков и сложности обхода применяемых средств защиты программного кода от анализа, в блоке 39 - прогнозирование и оптимизацию перечня возможных штатных взаимодействий анализируемого программного обеспечения с внешней программной средой функционирования на основе сформированного с входа 40 и сохраненного в блоке 38 перечня возможных штатных взаимодействий программного обеспечения с внешней программной средой функционирования, в блоке 42 - прогнозирование и оптимизацию перечня внешних направленных недекларированных воздействий для анализируемого программного обеспечения на основе сформированного с входа 43 и сохраненного в блоке 41 перечня признаков и возможностей внешних направленных недекларированных воздействий на программное обеспечение, в блоке 45 - оценивание информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и комментариев исходных текстов программного обеспечения на основе сформированного с входа 46 и сохраненного в блоке 44 полного перечня критериев информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и полноты наполнения комментариями исходных текстов программного обеспечения. Результаты оценки из блоков 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42 и 45 передают в блок 4, в котором осуществляют калькуляцию итогового объема работ по контролю отсутствия недекларированных возможностей в программном обеспечении, после чего результат калькуляции передают на выход 6.
Технический результат достигается за счет обеспечения изобретением возможности прогнозирования возможностей и оценивания сложности программного обеспечения по его классификационным признакам, выбора необходимых автоматизированных средств, выбора и оптимизации перечня требующих проверки ошибок проектирования, детектирования необходимости и уровня сложности дисассемблирования анализируемого программного обеспечения, определения сложности анализа языков программирования, использованных при написании программного обеспечения, определения уровней языковых средств, примененных при написании программного обеспечения, оценивания удобочитаемости, трудности восприятия и понимания анализируемых программных текстов, оценивания необходимых квалификационных требований специалистов для контроля отсутствия недекларированных возможностей в анализируемом программном обеспечении, детектирования и оценки сложности обхода примененных в анализируемом программном обеспечении средств защиты программного кода от анализа, прогнозирования и оптимизации перечня возможных штатных взаимодействий анализируемого программного обеспечения с внешней программной средой функционирования, прогнозирования и оптимизации перечня внешних направленных недекларированных воздействий для анализируемого программного обеспечения, оценивания информативности и достаточности программной, конструкторской, технологической, эксплуатационной документации и комментариев исходных текстов программного обеспечения.
Реализация предлагаемого способа не вызывает затруднений, так как все блоки и узлы, входящие в устройство, реализующее способ, общеизвестны и широко описаны в технической литературе, например [7-15]. Например, блоки хранения могут быть реализованы на базе любого машиночитаемого носителя информации [13, 14], остальные блоки могут быть реализованы в виде отдельных устройств или одного устройства на микроконтроллере по принципам и методам, описанным в [7-12], взаимное соединение блоков и подсоединение к блокам прототипа может быть осуществлено по стандартным схемам подключения устройств [15].
Источники информации
1. Федеральный закон "О техническом регулировании" №184-ФЗ от 27 декабря 2002 года.
2. Положение о сертификации средств защиты информации по требованиям безопасности информации. Утверждено приказом председателя Гостехкомиссии при Президенте РФ от 27 октября 1995 г. №199.
3. Руководящий документ "Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей" (Гостехкомиссия России, 1999).
4. Боэм Б.У. Инженерное проектирование программного обеспечения. Пер с англ. / Под ред. А.А.Красилова. - М.: Радио и связь, 1985. - 512 с., ил.
5. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. - СПб.: Символ-Плюс, 2006. - 304 с.
6. Брукс П. Метрики для управления IT-услугами. / Питер Брукс; Пер. с англ. - М.: Альпина Бизнес Букс, 2008. - 283 с.
7. Нечаев И.А. Конструкции на логических элементах цифровых микросхем. - Москва.: "Радио и связь", 1992. - 123 с.
8. Белов А.В. Создаем устройства на микроконтроллерах. - СПб.: Наука и техника, 2007. - 304 с.
9. Конструкторско-технологическое проектирование электронной аппаратуры. Учебник для вузов. Серия: Информатика в техническом университете. Под ред. Шахнова В.А. - М.: Изд-во МГТУ им. Н.Э.Баумана, 2003. - 528 с.: ил.
10. Суворова Е., Шейнин Ю. Проектирование цифровых систем на VHDL. Серия "Учебное пособие". - СПб.: БХВ-Петербург, 2003. - 576 с.: ил.
11. Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем. Серия: Информатика в техническом университете. - М.: Изд-во МГТУ им. Н.Э.Баумана, 2001. - 288 с.: ил.
12. Новиков Ю.В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. - М.: Мир, 2001. - 379 с.
13. Левин В.И. Носители информации в цифровом веке. / Под общ. ред. Д.Г.Красковского. - М.: КомпьютерПресс, 2000. - 256 с.: ил.
14. Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. - 336 с.: ил.
15. Пей Ан. Сопряжение ПК с внешними устройствами. - М.: ДМК Пресс, 2003. - 320 с.: ил.