Детальная информация

Название: Исследование и разработка способов обнаружения уязвимостей типизации в программах на языке Kotlin: выпускная квалификационная работа магистра: направление 09.04.01 «Информатика и вычислительная техника» ; образовательная программа 09.04.01_15 «Технологии проектирования системного и прикладного программного обеспечения»
Авторы: Балсутьев Владимир Александрович
Научный руководитель: Глухих Михаил Игоревич
Другие авторы: Новопашенный Андрей Гелиевич
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2020
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: Программирования языки; котлин; анализ графа потока данных; межпроцедурный анализ
УДК: 004.438
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-766
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\6399

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

Магистерская работа посвящена разработке средств детектирования дефектов типизации в программах на языке Kotlin. Одной из главных особенностей языка является поддержка типов, запрещающих значение null. Однако, существуют ситуации, при которых даже для данных типов возникает ошибка разыменования нулевого указателя. Одной из таких ситуаций является уязвимость Leaking This - обращение к не инициализированным свойствам, на этапе создания объекта. Разработанная диагностика направлена на поиск именно дефекта Leaking This. Предварительно рассмотрены основные методы статического анализа и основы теории решеток. Изучены основные инструменты для поиска уязвимостей и подходы, с помощью которых они реализованы. На основе собранной информации разработана диагностика, осуществляющая межпроцедурный анализ на основе графа потока управления, а также решетки отображения свойств класса и их инициализации. Данная диагностика также учитывает иерархии классов и переопределение методов. Проведено модульное тестирование, а также тестирование на реальном проекте, проанализирована производительность, а также найдены оптимальные значения параметров диагностики.

The master's thesis is devoted to the development analysis for detecting typing defects in programs in the Kotlin language. One of the main features of the language is the support of types that prohibit null. However, there are situations in which, even for these types, a null pointer dereference error occurs. One of such situations is the Leaking This vulnerability - a call to non-initialized properties at the stage of creating an object. The developed diagnostics is directed to search for exactly the Leaking This defect. The basic methods of static analysis and the fundamentals of lattice theory are considered in advance. The basic tools for searching for vulnerabilities and the approaches by which they are implemented have been studied. Based on the information collected, a diagnostic was developed that performs interprocedural analysis on the basis of the control flow graph, as well as the lattice for displaying class properties and their initialization. This diagnostic also takes into account class hierarchies and method overrides. Unit testing was carried out, as well as testing on a real project, performance was analyzed, and the optimal values of the diagnostic parameters were found.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать Загрузить
Интернет Авторизованные пользователи СПбПУ Прочитать Печать Загрузить
-> Интернет Анонимные пользователи

Статистика использования

stat Количество обращений: 16
За последние 30 дней: 0
Подробная статистика