Preview

Труды Института системного программирования РАН

Расширенный поиск
Том 36, № 3 (2024)
Скачать выпуск PDF
9-20
Аннотация

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

21-34
Аннотация

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

35-48
Аннотация

Задача повышения надежности критических операционных систем реального времени (ОСРВ) не теряет актуальности. Использование детализации требований разработчиков дает новые возможности в этом направлении при управлении памятью [9]. В статье представлен новый подход к статическому распределению памяти в ОСРВ с надёжной изоляцией по памяти. Предлагается метод построения инструмента статической раскладки памяти по формальному описанию требований разработчика на память. Формальное описание предлагается строить без привязки к платформе, а основываясь только на нуждах разрабатываемого ПО. Вводятся общие понятия, дающие возможность универсального подхода к построению инструмента статической раскладки, описана общая схема алгоритма раскладки, детализируются требования, которые необходимо учитывать при реализации каждого шага алгоритма. Описываемый подход апробирован на реальных индустриальных проектах и показал свою универсальность, адаптивность и эффективность в построении статической раскладки памяти.

49-62
Аннотация

В этой статье представлена реализация статического анализа для Visual Basic .NET (VB.NET) в промышленном инструменте SharpChecker. Используя фреймворк компилятора Roslyn, анализ VB.NET был интегрирован в SharpChecker, что позволило выполнять статический анализ кода для проектов VB.NET. Процесс включал в себя создание поддержки для проектов VB.NET, создание всеобъемлющего набора тестов, реализацию индексатора исходного кода и адаптацию существующих анализаторов для поддержки узлов и операций синтаксиса VB.NET. Оценка переведенных тестов и реальных проектов продемонстрировала приемлемое для производства качество анализа, проложив путь для улучшенного обслуживания проектов VB.NET. Кроме того, исследование подчеркнуло возможности SharpChecker для кросс-языкового анализа, продемонстрировав его способность эффективно обрабатывать смешанные проекты C# и VB.NET.

63-82
Аннотация

В соответствии с требованиями нормативных документов ФСТЭК России для обеспечения доверия к сертифицированным средствам защиты информации (СЗИ) при реализации ими политик управления доступом должна описываться соответствующая формальная модель.  Чтобы стимулировать разработку формальных моделей управления доступом, адекватных условиям функционирования современных СЗИ, в ГОСТ Р 59453.1-2021 «Защита информации. Формальная модель управления доступом. Часть 1. Общие положения» были установлены критерии, которым должно соответствовать описание каждой такой модели, а также дополнительные критерии для случаев, когда СЗИ реализуются конкретные политики: дискреционного, мандатного, ролевого управления доступом или мандатного контроля целостности. Для упрощения процесса описания формальной модели особенно в ситуации, когда СЗИ является сложным системным программным обеспечением, например, операционной системой (ОС) или системой управления базами данных, развития нормативного и методического обеспечения в данной области при участии автора был разработан проект нового национального стандарта ГОСТ Р «Защита информации. Формальная модель управления доступом. Часть 3. Рекомендации по разработке», утверждение которого запланировано в 2024 г. В статье анализируются результаты разработки этого проекта, в том числе рекомендуемые в нем этапы описания формальной модели, включая описания состояний и правил перехода из состояний в состояния соответствующего абстрактного автомата, формулирования и осуществления доказательств выполнения условий безопасности, используемые для этого технологии и практические приемы. Кроме того, в статье приводятся примеры апробации изложенных в проекте национального стандарта рекомендаций при переработке мандатной сущностно-ролевой ДП-модели управления доступом и информационными потоками в ОС семейства Linux (МРОСЛ ДП-модели), используемой в качестве научной основы реализации подсистемы безопасности PARSEC сертифицированной по высшим классам защиты и уровням доверия ОС Astra Linux.

83-92
Аннотация

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

93-104
Аннотация

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

105-122
Аннотация

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

123-138
Аннотация

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

139-160
Аннотация

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

161-166
Аннотация

Python Package Index (PyPI) является основным хранилищем проектов для языка программирования Python и используется пакетным менеджером pip по умолчанию. PyPI является бесплатной и свободной платформой с открытым исходным кодом: каждый может зарегистрировать пользователя в PyPI и опубликовать свой проект, а также в случае надобности изучить исходный код. Платформа не проверяет проекты, опубликованные пользователями, оставляя возможность пожаловаться на вредоносный проект посредством e-mail. При этом не пройдет и месяца, как аналитики вновь и вновь обнаруживают вредоносные пакеты на PyPI. Организации, работающие в сфере обеспечения безопасности открытых репозитория, тщательно следят за появляющимися проектами. К сожалению, этого недостаточно: некоторые вредоносные проекты обнаруживают и удаляют лишь спустя несколько месяцев после публикации. В рамках данной работы предложен алгоритм автоматического выбора признаков, опирающийся на биграммы и свойства кода, и обучен ET-классификатор, позволяющий с высокой достоверностью определять некоторые виды вредоносной логики в коде. В качестве обучающей выборки были взяты репозитории вредоносного кода MalRegistry и DataDog. После обучения модель была протестирована на трёх последних релизах всех существующих на данный момент проектов на PyPI, и ей удалось найти 28 ранее не обнаруженных вредоносных проекта, старший из которых существовал почти полтора года. Подход, примененный в работе, позволяет также сканировать публикуемые проекты в режиме реального времени, что может быть использовано для оперативного обнаружения вредоносной активности. В рамках работы дополнительное внимание акцентируется на методах, которые не требуют эксперта для отбора признаков и контроля отобранных признаков, что уменьшает нагрузку на людей.

167-188
Аннотация

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

189-202
Аннотация

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

203-212
Аннотация

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

213-224
Аннотация

В статье рассматривается разработка алгоритма для формирования команд ИТ-проектов. Материалами послужили данные цифрового следа студентов ИТ-направления. Цифровым следом студента является постоянно пополняемый набор данных, включающий отчетные документы проектных дисциплин, промежуточные результаты по дисциплинам, практическим подготовкам. В работе приводится пример решения задачи формирования команд с применением графов. Был предложен алгоритм, в основе которого лежит графовая модель, позволяющая построить граф, отражающий взаимодействие студентов в прошлых проектах. На основе построенного графа формируются команды. Внутри графовой модели предложены два подхода формирования команд: на основе кластеризации вершин и с помощью обхода графа. Для определения лучшей команды строится граф связи студентов с текстовыми тегами, представляющими технологии, языки программирования, фреймворки и пр. Алгоритм был апробирован на данных студентов ИТ-направления Математическое обеспечение и администрирование информационных систем Школы компьютерных наук и требованиях к реальному проекту и протестирован на спонтанном распределении студентов по проектам в рамках дисциплины. С помощью алгоритма можно оценить на сколько удачно было разбиение. Создание эффективных команд играет ключевую роль в успешной реализации проектов, поэтому предложенный алгоритм может быть полезен для преподавателей и руководителей проектов в ИТ-сфере. Разработанный алгоритм планируется интегрировать в веб-сервис поиска исполнителей ИТ-проектов.

225-240
Аннотация

В данной статье представлена интеллектуальная модель на базе условной порождающей (генеративной) состязательной сети Pix2Pix, которая позволяет выполнить автоматизацию процесса прогнозирования повторного возникновения злокачественной опухоли шейки матки у пациенток, которые ещё не перенесли операционное вмешательство. В качестве исходных данных реализованная модель принимает снимок магнитно-резонансной томографии органов малого таза, предоставляя на выходе вероятность возникновения рецидива опухоли и сгенерированный снимок на перспективу «после проведения операции». Представленная модель отличается от своего базового аналога видоизмененной под условия задачи функцией потерь и заменой генератора по умолчанию на сверточную нейронную сеть U-Net. Поскольку сформулированная задача принадлежит к классу задач медицинской диагностики, наличие ложноотрицательных срабатываний интеллектуальной модели было сведено к нулю путём незначительного повышения числа ошибок, носящих ложноположительный характер. В процессе сравнительного анализа прогнозных и реальных послеоперационных снимков экспериментально доказано, что моделью не только достаточно точно прогнозируется рецидив заболевания, но и практически идентично генерируются центры очагов опухолей и их относительные площади на снимке магнитно-резонансной томографии. Целесообразность внесения изменений в базовую версию Pix2Pix подтверждена сопоставлением результатов функционирования двух моделей по общим метрикам качества – точности, полноты и их среднему гармоническому. Разработанная модификация позволяет получать прогнозные данные за кратчайшее время, что позволяет использовать её в режиме реального времени.

241-258
Аннотация

Работа посвящена актуальной проблеме диагностики деформаций стопы, характеризующихся высокой частотой встречаемости среди всех возрастных групп. Среди объективных количественных методов диагностики плоскостопия широкое распространение в клинической практике получила плантография, основанная на оценке отпечатков подошвенной поверхности стопы. Целью исследования является оценка и анализ эффективности методов автоматической оценки отпечатков стопы с использованием «компьютерного зрения». В исследовании рассматриваются методы автоматического распознавания и разметки фотоплантограмм стопы с использованием генетических алгоритмов и нейронных сетей для построения контрольных точек стопы на примере вычисления индексов продольного и поперечного сводов стопы. Было проведено сравнение результатов расчета индексов плоскостопия, фотоплантограмм с использованием ручной и автоматической разметки. Было установлено, что точность автоматических методов анализа фотоплантограмм с использованием генетических алгоритмов и нейронных сетей составляет 92 – 97% по отношению к ручной разметке. При этом затраты времени на ручную разметку превысили в 2 – 2,5 раза продолжительность автоматического анализа изображений. Полученные результаты подтвердили возможность оптимизировать диагностический процесс при проведении массовых (скрининговых) обследований состояния сводов стопы.

259-272
Аннотация

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

273-282
Аннотация

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

283-294
Аннотация

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



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)