• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • A
  • A
  • A
  • A
  • A
Обычная версия сайта
  • RU
  • EN
  • Национальный исследовательский университет «Высшая школа экономики»
  • Публикации ВШЭ
  • Статьи
  • Статический анализ для поиска переполнения буфера: актуальные направления развития алгоритмов
  • RU
  • EN
Расширенный поиск
Высшая школа экономики
Национальный исследовательский университет
Приоритетные направления
  • бизнес-информатика
  • государственное и муниципальное управление
  • гуманитарные науки
  • инженерные науки
  • компьютерно-математическое
  • математика
  • менеджмент
  • право
  • социология
  • экономика
по году
  • 2027
  • 2026
  • 2025
  • 2024
  • 2023
  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • 2004
  • 2003
  • 2002
  • 2001
  • 2000
  • 1999
  • 1998
  • 1997
  • 1996
  • 1995
  • 1994
  • 1993
  • 1992
  • 1991
  • 1990
  • 1989
  • 1988
  • 1987
  • 1986
  • 1985
  • 1984
  • 1983
  • 1982
  • 1981
  • 1980
  • 1979
  • 1978
  • 1977
  • 1976
  • 1975
  • 1974
  • 1973
  • 1972
  • 1971
  • 1970
  • 1969
  • 1968
  • 1967
  • 1966
  • 1965
  • 1964
  • 1963
  • 1958
  • еще
Тематика
Новости
20 мая 2026 г.
Творческая работа как лекарство от выгорания
Творческая и доброжелательная атмосфера, новые методы в Международной лаборатории (впоследствии центре) социокультурных исследований привлекают молодых исследователей. За годы работы в Вышке они становятся учеными и преподавателями, известными в России и за рубежом. О своем пути в центре и в Вышке, исследованиях и роли наставников в научных успехах рассказали главный научный сотрудник ЦСКИ Зарина Лепшокова и ведущий научный сотрудник Екатерина Бушина.
19 мая 2026 г.
Физики НИУ ВШЭ выяснили, что происходит внутри устойчивого вихря
В атмосфере и в океане часто наблюдаются крупные вихри с характерными спиральными рукавами. Физики из НИУ ВШЭ объяснили, как они формируются и почему сохраняют свою структуру. Оказалось, что скорости в точках, расположенных вдоль одной дуги вихря, остаются связанными даже на больших расстояниях. При этом в направлении от центра вихря эта связь быстро ослабевает. Такие различия помогают объяснить образование рукавов и могут улучшить модели атмосферных и океанических течений. Результаты опубликованы в Physical Review Fluids.
18 мая 2026 г.
В Вышке прошла XXX юбилейная научно-техническая конференция имени Е.В. Арменского
Организатором научного события выступает Московский институт электроники и математики им. А.Н. Тихонова ВШЭ. В этом году главный инженерный студенческий форум проходил 30-й раз и собрал рекордное число участников. Студенты, аспиранты и молодые специалисты из 50 вузов и организаций России представили научно-исследовательские доклады в ИТ-области. Отдельная секция была посвящена научно-исследовательским работам школьников.

 

Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!

Публикации
  • Книги
  • Статьи
  • Главы в книгах
  • Препринты
  • Верификация публикаций
  • Расширенный поиск
  • Правила использования материалов
  • Наука в ВШЭ

?

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

Труды Института системного программирования РАН. 2018. Т. 33. № 4. С. 21–30.
Дудина И. А.

В последние десятилетия переполнение буфера остаётся одним из главных источников программных ошибок и эксплуатируемых уязвимостей. Среди прочих подходов к устранению подобных дефектов активное развитие получили различные методы статического анализа. В работе рассматриваются основные подходы и инструменты, используемые для решения этой задачи, с целью выявить наиболее популярные методы и типы обнаруживаемых ошибок. Также исследованы наборы синтетических тестов (Juliet Test Suite, Toyota ITC benchmark) и выборка фрагментов кода реальных приложений, содержащих эксплуатируемую ошибку переполнения буфера. Для понимания направлений развития промышленного статического анализатора важно рассматривать оба эти источника примеров ошибочных программ. Наборы тестов очерчивают круг ситуаций, которые необходимо поддержать в анализаторе, при этом их легко понять, классифицировать и проверить. С другой стороны, они не отражают распределение таких ситуаций в реальном коде. Выборка уязвимостей из промышленных проектов также представляет интерес для исследования, но оказывается смещённой в сторону эксплуатируемых ошибок и к тому же не включает ошибки, исправленные на стадии разработки (возможно, как раз с использованием статического анализатора). Полученные данные были использованы для выделения основных шаблонов дефектов, которые должен обнаруживать статической анализатор с точки зрения пользователя. В результате исследования к наиболее важным возможностям статического анализатора были отнесены межпроцедурный путе- и контекстно-чувствительный анализ, а также базовая поддержка циклов. Кроме того, полезными оказываются отслеживание аффинных отношений между переменными и моделирование строк как важного случая использования массивов. Результаты данного исследования используются для улучшения детектора переполнения буфера, реализованного в рамках инфраструктуры статического анализатора Svace. На данный момент используется межпроцедурный чувствительный к путям и контексту анализ, позволяющий обнаруживать переполнения буфера на стеке и в статической памяти с долей истинных срабатываний 65%. По результатам исследования наиболее перспективными направлениями представляются поддержка строковых операций и внедрение анализа помеченных данных в имеющиеся подходы.

Язык: русский
DOI
Текст на другом сайте
Ключевые слова: статический анализАнализ программпереполнение буфера
Похожие публикации
Исследование информационной защищенности мобильных приложений
Сафин Л. К., Александров Я. А., Трошина К. Н. и др., Вопросы кибербезопасности 2015 № 4 С. 28–37
Необходимым этапом разработки мобильных приложений как программных компонентов информационных систем, взаимодействующих с критичными ресурсами, является исследование разработанных программных решений в контексте информационной безопасности. В статье представлен подход к исследованию информационной защищенности мобильных приложений и систематизация типовых уязвимостей приложений, выработанная в процессе анализа набора мобильных приложений, к которым предъявляются повышенные требования безопасности ...
Добавлено: 10 января 2024 г.
Определение границ подпрограмм при статическом анализе бинарных образов
Александров Я. А., Сафин Л. К., Чернов А. В. и др., Вопросы кибербезопасности 2016 № 1 С. 53–60
В процессе исследования защищенности программы по требованиям информационной безопасности представляется целесообразным использование статического анализа бинарного образа программы. Важным этапом статического бинарного анализа является задача разбиения бинарного образа на подпрограммы. Распространенный алгоритм решения данной задачи опирается на определение стартовых адресов подпрограмм, начинающихся с определенной последовательности инструкций машинного кода, и последующего обхода потока управления в глубину от ...
Добавлено: 9 января 2024 г.
Автоматическая оценка надежности процедуры аутентификации
Александров Я. А., Марченко Е. А., Тахавиев Р. В. и др., Защита информации. Инсайд 2016 № 5 С. 20–25
Система аутентификации является важнейшим компонентом приложения с точки зрения информационной безопасности. Некоторые уязвимости в системе аутентификации можно обнаруживать в автоматическом режиме с помощью средств статического или динамического анализа. В данной статье предлагаются алгоритмы поиска важнейших из таких уязвимостей и доказывается практическая применимость алгоритмов. Рассматривается задача автоматической оценки надежности процедуры аутентификации с учетом результатов анализа кода и некоторых свойств системы, монотонной по сложности нелегитимного прохода процедуры. ...
Добавлено: 26 декабря 2023 г.
Transformation of Functional Dataflow Parallel Programs into Imperative Programs
Vasilev V. S., A. I. Legalov, Зыков С. В., Automatic Control and Computer Sciences, Latvia 2022 Vol. 56 No. 7 P. 815–827
Добавлено: 20 февраля 2023 г.
Практическая абстрактная интерпретация бинарного кода
Соловьев М. А., Бакулин М. Г., Макаров С. С. и др., Труды Института системного программирования РАН 2020 Т. 32 № 6 С. 101–110
Математический аппарат абстрактной интерпретации предоставляет универсальный способ формализации и изучения алгоритмов анализа программ для самого широкого спектра прикладных задач. Однако его применение для практически значимых задач анализа бинарного кода связано с большим числом вызовов, как научных, так и инженерных. В настоящей работе предложены подходы к преодолению части этих трудностей. Описано промежуточное представление, учитывающее особенности бинарного ...
Добавлено: 31 октября 2022 г.
Kotlin с точки зрения разработчика статического анализатора
Афанасьев В. О., Поляков С. А., Бородин А. Е. и др., Труды Института системного программирования РАН 2021 Т. 33 № 6 С. 67–82
В статье описывается статический анализатор для поиска ошибок и анализа метрик и отношений в программах на языке Kotlin. Анализатор был реализован с помощью расширения инструмента Svace, разрабатываемого в ИСП РАН. В статье описываются проблемы, с которыми мы столкнулись в ходе выполнения работы, и предложенные методы их решения, а также экспериментальные результаты полученного анализатора. Инструмент умеет ...
Добавлено: 7 сентября 2022 г.
Внутрипроцедурный анализ для поиска ошибок на основе символьного выполнения
Бородин А. Е., Дудина И. А., Труды Института системного программирования РАН 2020 Т. 32 № 6 С. 87–100
В работе описывается внутрипроцедурный анализ отдельных функций, использующийся в инструменте статического поиска ошибок Svace. Отличительные особенности анализа: анализ по графу потока управления, символьное выполнение с объединением состояний анализа в точках слияния путей, анализ только части путей в функциях с циклами, одновременный запуск всех анализаторов, моделирование достижимых ячеек памяти, нумерация значений переменных. ...
Добавлено: 30 ноября 2021 г.
Поиск уязвимостей небезопасного использования помеченных данных в статическом анализаторе Svace.
Бородин А. Е., Горемыкин А. В., Вартанов С. П. и др., Труды Института системного программирования РАН. 2021 Т. 33 № 1 С. 7–32
В статье рассматривается поиск ошибок помеченных данных в исходном коде программ, т.е. ошибок, вызванных небезопасным использованием данных, полученных из внешних источников, которые потенциально могут быть изменены злоумышленником. В качестве основы использовался межпроцедурный статический анализатор Svace. Анализатор осуществляет как поиск дефектов в программе, так и поиск подозрительных мест, в которых логика программы может быть нарушена. Целью ...
Добавлено: 29 ноября 2021 г.
Оптимизация графов потока управления в промежуточных представлениях языка функционально-потокового параллельного программирования
Васильев В. С., Легалов А. И., Научный вестник Новосибирского государственного технического университета 2020 № 4 С. 37–46
Функционально-потоковые языки программирования предназначены для разработки архитектурно-независимых параллельных программ и поддерживают управление вычислениями по готовности данных. В связи с тем, что в настоящее время преобладают параллельные вычислительные системы, а их программирование на императивных языках сопряжено с проблемами переносимости, разработка инструментальных средств архитектурно-независимого параллельного программирования является актуальной задачей. Формируемая на функционально-потоковых языках программа задает граф потока данных. ...
Добавлено: 26 августа 2021 г.
Трансформация функционально-потоковых параллельных программ в императивные
Васильев В. С., Легалов А. И., Зыков С. В., Моделирование и анализ информационных систем 2021 Т. 28 № 2 С. 198–214
Функционально-потоковая парадигма параллельного программирования ориентирована на разработку параллельных переносимых программ. Исходный код функционально-потоковых программ транслируется в набор графов, отражающих информационные и управляющие зависимости. Основным способом их исполнения является интерпретация, что не позволяет эффективно выполнять вычисления на реальных параллельных вычислительных системах и ведет к низкой производительности. Для непосредственного выполнения программ на существующих вычислительных системах требуется использование ...
Добавлено: 12 июня 2021 г.
Компонентная верификация операционных систем
Кулямин В. В., Петренко А. К., Хорошилов А. В., Труды Института системного программирования РАН 2018 Т. 30 № 6 С. 367–382
В работе рассматриваются полученные недавно результаты на пути к полномасштабной верификации промышленно используемых операционных систем (ОС). Таковыми считаются не системы, разработанные в целях демонстрации определенной исследовательской идеи, а ОС, активно используемые в каких-то областях экономики и управленческой деятельности и развиваемые на протяжении значительного времени. Предлагается декомпозиция заявленной цели верификации промышленной ОС в целом на задачи ...
Добавлено: 14 февраля 2019 г.
Анализ мобильных приложений с использованием моделей привилегий и API-вызовов вредоносных приложений
Гамаюнов Д. Ю., Сковорода А. А., Прикладная дискретная математика 2017 № 36 С. 84–105
Предложен метод автоматической классификации мобильных приложений на основе статического анализа и сопоставления моделей, полученных по его результатам, с моделями ранее известных вредоносных приложений. Модели основаны на привилегиях и API-вызовах, используемых в приложении. Все шаги анализа, а также построение моделей полностью автоматизированы. Таким образом, метод адаптирован для автоматизированного использования магазинами мобильных приложений или другими заинтересованными организациями. ...
Добавлено: 13 сентября 2018 г.
Layered Layouts for Software Systems Visualization Using Nested Petri Nets
Мицюк А. А., Котылев Я. В., , in: Tools and Methods of Program Analysis: 4th International Conference, TMPA 2017, Moscow, Russia, March 3-4, 2017, Revised Selected PapersVol. 779: Communications in Computer and Information Science.: Springer, 2018. Ch. 11 P. 127–138.
Добавлено: 30 января 2018 г.
Верификация и анализ вариабельных операционных систем
Кулямин В. В., Лаврищева Е. М., Мутилин В. С. и др., Труды Института системного программирования РАН 2016 Т. 28 № 3 С. 189–208
В данной работе рассматриваются проблемы верификации и анализа сложных операционных систем с учетом их вариабельности, или наличия большого количества разнообразных конфигураций. Исследуются методы, позволяющие преодолеть эти проблемы, проводится их обзор и классификация. Выделены классы методов, использующих для анализа инструменты, не учитывающие вариабельность, и выборки вариантов системы и методов, использующих специализированные инструменты, учитывающие вариабельность. Как наиболее ...
Добавлено: 28 августа 2017 г.
Статический анализатор Svace для поиска дефектов в исходном коде программ
Иванников В. П., Белеванцев А. А., Бородин А. Е. и др., Труды Института системного программирования РАН 2014 Т. 26 № 1 С. 231–250
В работе описывается разрабатываемый в ИСП РАН инструмент автоматического статического анализа Svace. Инструмент позволяет находить ошибки и потенциальные уязвимости в исходном коде программ на языках Си/Си++. Особенностью инструмента являются простота использования, широкий набор поддерживаемых типов предупреждений, масштабируемость до программ в миллионы строк кода и приемлемое качество анализа (30-80% истинных предупреждений). ...
Добавлено: 22 марта 2017 г.
The Automated Analysis of Header Files for Support of the Standardization Process
Силаков Д. В., Novikov E., , in: Proceedings of the Third Spring Young Researchers’ Colloquium on Software Engineering (SYRCoSE 2009).: M.: -, 2009. P. 27–34.
Добавлено: 30 сентября 2015 г.
Моделирование конкуренции в российском банковском секторе с использованием подхода Панзара–Росса: теоретический и прикладной аспекты
Мамонов М. Е., Прикладная эконометрика 2010 № 4(20) С. 3–27
В данной работе исследуется влияние процессов концентрации и экспансии иностранных банков на уровень конкуренции в российском банковском секторе, оцененный в рамках широко распространенного подхода H-stat Панзара – Росса. На основе анализа панельных данных по выборке банков (покрывающей 85 % совокупных активов), с одной стороны, делается вывод о том, что банковский сектор устойчиво находится в состоянии ...
Добавлено: 28 декабря 2012 г.
  • О ВЫШКЕ
  • Цифры и факты
  • Руководство и структура
  • Устойчивое развитие в НИУ ВШЭ
  • Преподаватели и сотрудники
  • Корпуса и общежития
  • Закупки
  • Обращения граждан в НИУ ВШЭ
  • Фонд целевого капитала
  • Противодействие коррупции
  • Сведения о доходах, расходах, об имуществе и обязательствах имущественного характера
  • Сведения об образовательной организации
  • Людям с ограниченными возможностями здоровья
  • Единая платежная страница
  • Работа в Вышке
  • ОБРАЗОВАНИЕ
  • Лицей
  • Довузовская подготовка
  • Олимпиады
  • Прием в бакалавриат
  • Вышка+
  • Прием в магистратуру
  • Аспирантура
  • Дополнительное образование
  • Центр развития карьеры
  • Бизнес-инкубатор ВШЭ
  • Образовательные партнерства
  • Обратная связь и взаимодействие с получателями услуг
  • НАУКА
  • Научные подразделения
  • Исследовательские проекты
  • Мониторинги
  • Диссертационные советы
  • Защиты диссертаций
  • Академическое развитие
  • Конкурсы и гранты
  • Внешние научно-информационные ресурсы
  • РЕСУРСЫ
  • Библиотека
  • Издательский дом ВШЭ
  • Книжный магазин «БукВышка»
  • Типография
  • Медиацентр
  • Журналы ВШЭ
  • Публикации
  • http://www.minobrnauki.gov.ru/
    Министерство науки и высшего образования РФ
  • https://edu.gov.ru/
    Министерство просвещения РФ
  • http://www.edu.ru
    Федеральный портал «Российское образование»
  • https://elearning.hse.ru/mooc
    Массовые открытые онлайн-курсы
  • НИУ ВШЭ1993–2026
  • Адреса и контакты
  • Условия использования материалов
  • Политика конфиденциальности
  • Правила применения рекомендательных технологий в НИУ ВШЭ
  • Карта сайта
Редактору