Дисертації та автореферати
Постійне посилання на фонд
У фонді розміщено автореферати дисертацій та дисертації, захищені в КПІ ім. Ігоря Сікорського.
Переглянути
Перегляд Дисертації та автореферати за Ключові слова "004.021:004.023:004.93"
Зараз показуємо 1 - 2 з 2
Результатів на сторінці
Налаштування сортування
Документ Відкритий доступ Аналіз програмного коду з використанням гібридного методу пошуку та класифікації вразливостей(КПІ ім. Ігоря Сікорського, 2024) Куб’юк, Євгеній Юрійович; Кисельов, Геннадій ДмитровичКуб’юк Є.Ю. Аналіз програмного коду з використанням гібридного методу пошуку та класифікації вразливостей. - Кваліфікаційна наукова праця на правах рукопису. Дисертація на здобуття наукового ступеня доктора філософії за спеціальністю 122 «Комп’ютерні науки». – Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», 2024. Актуальність теми. У контексті стрімкого розвитку інформаційних технологій та цифровізації суспільства, проблематика кібербезпеки набуває особливої гостроти. Згідно зі статистикою, у 2022 році кількість кібератак зросла на 42% порівняно з попереднім роком, а фінансові збитки сягнули $6 трлн. Основною причиною такої ситуації є зростання кількості вразливостей у програмному забезпеченні, які активно використовуються зловмисниками. Зокрема, у Національній базі даних вразливостей США (NVD) за 2022 було зареєстровано понад 25 000 нових вразливостей, що на 20% більше ніж у 2021. Більше 75% успішних кібератак базувалися на експлуатації вже відомих вразливостей. Це свідчить про гостру необхідність розробки ефективних заходів щодо своєчасного виявлення та усунення вразливостей у програмному коді. Одним з найбільш перспективних напрямів вирішення цієї проблеми є створення автоматизованих систем аналізу коду на основі технологій штучного інтелекту. Такі системи здатні ефективно виявляти приховані дефекти безпеки на етапах розробки ПЗ, що дозволяє знизити ризики та підвищити захищеність. Їх інтеграція у процеси розробки поліпшить дотримання практик безпечного програмування та скоротить час на тестування безпеки. Отже, створення інноваційних методів та засобів автоматизації аналізу безпеки програмного коду є вкрай актуальним завданням для підвищення рівня кіберзахисту сучасних програмних систем. Мета і завдання дослідження. Метою дисертаційного дослідження є розробка та удосконалення методів виявлення та класифікації вразливостей в програмному коді з використанням нейронних мереж та методів виявлення подібності коду. Основні завдання дослідження включають: - Дослідити методи виявлення вразливостей в програмному коді. - Дослідити ефективність методів виявлення подібності коду в задачі класифікації вразливостей. - Дослідити моделі представлення програмного коду. - Розробити метод побудови проміжного представлення програмного коду для подальшого аналізу на предмет вразливостей. - Розробити метод виявлення вразливостей на основі нейронних мереж. - Розробити метод класифікації вразливостей на основі методу виявлення подібності коду. - Виконати програмну реалізацію системи аналізу програмного коду, з використанням гібридного методу пошуку та класифікації вразливостей програмного коду. - Провести обчислювальні експерименти та оцінку розробленої системи. - Продемонструвати практичну цінність розробленої системи на прикладі впровадження в процеси життєвого циклу розробки програмного забезпечення. Об’єктом дослідження є процес пошуку та класифікації вразливостей безпеки в програмному коді. Предметом дослідження виступають методи, алгоритми та структури даних для ефективного аналізу програмного коду на предмет вразливостей безпеки. Методи дослідження. В роботі застосовуються наступні методи дослідження: абстрактно-логічний аналіз проблеми, експерименти, моделювання, аналіз даних, порівняння. Зазначені методи були обрані з огляду на поставлені мету та задачі дослідження, а також на практичність їх застосування при вирішенні проблеми автоматичного аналізу програмного коду на предмет вразливостей безпеки. Наукова новизна отриманих результатів. Вперше запропоновано гібридний метод аналізу програмного коду, що поєднує методи глибокого навчання та методи виявлення подібності коду для пошуку та класифікації вразливості в коді, який дозволяє ефективно виконувати пошук вразливостей в коді, а також класифікувати з високою точністю знайдені вразливості. Отримав подальший розвиток метод побудови проміжного представлення програмного коду у вигляді кодового гаджету, який відрізняється від існуючих методів наявністю обмеження по розміру локального контексту відносно ключової точки, що дозволило зменшити результуючий розмір кодових гаджетів та підвищити точність класифікації при подальшому аналізі нейронною мережею. Вперше запропоновано метод класифікації вразливостей в програмному коді з використанням ковзного хешування абстрактного синтаксичного дерева, який відрізняється від існуючих методів тим що використовує метод виявлення подібності коду для ефективної класифікації вразливостей без необхідності використання навчальної вибірки великого об’єму. Практичне значення отриманих результатів. Розроблений метод дозволяє знаходити вразливості в програмному коді, написаному на мові C/C++, а також класифікувати тип знайденої вразливості, що дозволяє спростити процес пріоретизації та виправлення знайдених вразливостей для розробників програмних продуктів. Технологія пошуку та класифікації вразливостей в програмному коді успішно впроваджена в процеси розробки ІТ компанії та використовується для аналізу програмних продуктів на предмет вразливостей у якості сервісу аналізу коду. Також, командний інтерфейс системи дозволяє використовувати її у якості утиліти для аналізу коду, без необхідного розгортання у вигляді сервісу, що дозволяє спеціалістам з кібербезпеки використовувати даний інструмент в якості рекомендаційної системи в рамках процесів оцінки безпеки програмного коду. Розроблений метод було протестовано на реальних проектах з відкритим вихідним кодом. Зокрема, за допомогою розробленої системи вдалося знайти вразливість в проекті з відкритим вихідним кодом - Microsoft Terminal. Публікації. За результатами дисертаційного дослідження опубліковано 5 наукових праць, з яких 4 статті у наукових фахових виданнях України (3 з яких входять до міжнародних наукометричних баз) та 1 публікація в збірнику матеріалів конференції. Результати дослідження. Розроблено програмне забезпечення системи аналізу коду, що реалізує запропонований гібридний метод. Експериментально підтверджено ефективність системи у задачах пошуку та класифікації вразливостей в програмному коді. Структура та обсяг роботи. Дисертація складається зі вступу, 4 розділів, висновків, списку використаних джерел. Повний обсяг дисертації становить 140 сторінок. Робота містить 27 рисунків та 9 таблиць. Список використаних джерел налічує 81 найменувань. Основний зміст роботи. У вступі обґрунтовано актуальність теми, сформульовано мету та завдання дослідження, визначено об'єкт, предмет та методи дослідження, розкрито наукову новизну та практичне значення отриманих результатів. У першому розділі проведено аналіз сучасного стану у сфері кібербезпеки та тенденцій зростання кількості вразливостей у програмному забезпеченні. Розглянуто ключові стандарти та методології забезпечення безпеки ПЗ, зокрема Microsoft SDL, ОWASP та ISO 27034. Проаналізовано сучасні виклики, пов’язані зі зростанням складності систем та появою нових технологій. Розглянуто існуючі стандарти та методології забезпечення безпеки ПЗ. Досліджено можливості методів штучного інтелекту, зокрема машинного навчання, для автоматизації процесів аналізу безпеки коду. Розглянуто різні архітектури нейронних мереж та їх застосування для детекції вразливостей. Проаналізовано переваги та недоліки підходів. У другому розділі сформульовано постановку задачі дослідження та побудовано її математичну модель. Формалізовано функції перетворення даних на вході та виході системи. Розглянуто різні моделі подання програмного коду та обґрунтовано доцільність використання абстрактних синтаксичних дерев. Запропоновано власний гібридний підхід аналізу коду, що поєднує переваги глибокого навчання та алгоритмів пошуку подібності. Наведено детальний опис архітектури та математичних моделей складових компонент системи, зокрема нейромережевої моделі та модуля ковзного хешування AST. У третьому розділі представлено розробку ключових модулів запропонованої системи аналізу програмного коду з використанням гібридного методу пошуку та класифікації вразливостей. Описано удосконалений метод формування проміжних представлень коду на базі кодових гаджетів та їх подальша векторизація. Наведено архітектуру та алгоритми функціонування моделі глибокого навчання на основі BLSTM та модуля ковзного хешування AST. Також деталізовано розроблений метод класифікації вразливостей на основі ковзного хешування вузлів AST та порівняння з базою еталонів. Описано процедуру формування бази знань хешів вразливого коду та метод визначення оптимального вікна хешування AST. Четвертий розділ присвячено експериментальним дослідженням розробленої системи з використанням спеціалізованих наборів даних та кодових баз реальних проектів. Представлено аналіз отриманих результатів та порівняння з існуючими аналогами за критеріями якості та продуктивності. Обґрунтовано практичну цінність системи та можливості інтеграції в процеси безперервної інтеграції та доставки ПЗ. Модель пошуку вразливостей з використанням нейронних мереж продемонструвала 94.1% точності, а модель класифікації вразливостей з використанням ковзного хешування AST для 40 класів вразливостей - 51.1% точності. Обґрунтовано можливі шляхи вдосконалення системи. Висновки. У дисертаційній роботі вирішено актуальне науковоприкладне завдання розробки методів та програмних засобів для автоматизації процесів аналізу програмного коду на предмет вразливостей безпеки: 1. Запропоновано гібридний підхід до аналізу коду на основі поєднання методів глибокого навчання та алгоритмів пошуку подібності коду. Розроблено відповідну систему, що реалізує даний підхід. 2. Розроблено метод побудови проміжного представлення програмного коду у вигляді кодового гаджету, що дозволило підвищити ефективність подальшого аналізу за допомогою нейромереж. 3. Запропоновано метод класифікації вразливостей на основі ковзного хешування AST, що демонструє переваги за швидкодією у порівнянні з існуючими RNN-моделями. 4. Експериментально підтверджено ефективність розробленої системи, зокрема 94.1% точність пошуку вразливостей та 51.1% багатокласової точності їх класифікації.Документ Відкритий доступ Методи вирівнювання рукописного тексту на основі розпізнавання з використанням машинного навчання та структурного аналізу символів(КПІ ім. Ігоря Сікорського, 2024) Яковчук, Олег Костянтинович; Рогоза, Валерій СтаніславовичЯковчук О.К. Методи вирівнювання рукописного тексту на основі розпізнавання з використанням машинного навчання та структурного аналізу символів. Кваліфікаційна наукова праця на правах рукопису. Дисертаційна робота на здобуття наукового ступеня доктора філософії за спеціальністю 122 «Комп’ютерні науки». – Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», 2024. Метою дисертаційного дослідження є підвищення ефективності вирішення комплексу задач, що виникають при вирівнюванні рукописного тексту. Разом із зростанням популярності рукописного введення постає завдання ефективної обробки рукописної інформації, зокрема рукописного тексту. Однією із задач є забезпечення структурної коректності та зрозумілості тексту, представленого в рукописному вигляді. Зокрема, актуальним завданням є вирішення проблеми вирівнювання рукописного тексту, при цьому зберігаючи формат, структуру рукописних елементів та їх текстовий вміст. Важливим є також збереження ідентичності та унікальності написаного тексту, що визначаються персональними особливостями написання та почерку автора. Водночас створювані рішення повинні мати змогу працювати в умовах обмеження обчислювальних ресурсів, на персональних пристроях, таких як смартфони, розумні годинники, інтерактивні дошки, монітори з рукописним введенням та інші гаджети. У даній дисертаційній роботі акцент робиться на вирішенні задачі вирівнювання рукописного тексту зі збереженням початкового стилю написання, без перетворення рукописного тексту в друковану форму. В дослідженні використовуються передові методи та технології для обробки рукописного тексту, включно з розпізнаванням та сегментацією тексту. Дослідження в напрямках обробки рукописного тексту, разом з візуальним покращенням тексту для підвищення його ясності та чіткості, має важливе значення для подальшого вдосконалення систем рукописного введення та їх використання в різних сферах, від освітнього до професійного використання. Розвиток вирівнювання рукописного тексту відкриває нові перспективи для зручної та ефективної роботи з рукописною інформацією, що стає невід’ємною частиною сучасного цифрового життя. В першому розділі дисертаційної роботи описується постановка задачі вирівнювання рукописного тексту, визначаються основні проблеми, що існують на сьогоднішній день та потребують уваги для ефективного вирішення поставлених задач. Визначається підзадача оцінки рукописного тексту на розбірливість та вирівняність, а також підзадача порівняння двох рукописних текстів для визначення якості результатів вирівнювання. Проводиться грунтовний аналіз існуючих досліджень та передових робіт як в області обробки рукописного введення, так і конкретно для задачі вирівнювання тексту, аналіз підходів до розпізнавання та сегментації рукописного тексту для визначення найбільш релевантних для використання в системі, що розроблюється в цій роботі. Розглядається загальна структура запропонованого рішення. В другому розділі представлено рішення, що пропонується використовувати в системі вирівнювання для проведення розпізнавання та сегментації рукописного введення. Досліджуються принципи роботи рекурентних нейронних мереж для задачі розпізнавання рукописного тексту. Описується ідея довгої короткочасної пам’яті, представляється архітектура мережі з використанням довгої короткочасної пам’яті, що дає змогу вирішувати відразу два завдання: сегментації та класифікації символів. Досліджується принцип нейромережевої часової класифікації. Представляється додаткова мережа для уточнення та покращення результатів сегментації символів. Представлено додаткові алгоритми для приєднання відтермінованих символів, пошуку та виправлення помилок сегментації. В третьому розділі приведено опис основної частини системи вирівнювання рукописного тексту. Представляється запропонований новий метод вирівнювання, що використовує структурний аналіз символів. Цей розділ включає в себе розгляд процесу попередньої обробки вхідних даних, представлення метрик текстового рядка, запропонованого розбиття символів на класи, виконання знаходження класів символів, обрахунку метрик всіх символів та фінальних метрик вирівняного рядка, проведення переміщення символів на знайдені відповідні позиції. Детально розглядається процес виконання кожного кроку, виконується розгляд розроблених алгоритмів та підходів, що застосовуються для структурного аналізу символів. Результатом даного розділу є спроектована та розроблена система для структурного аналізу рукописного тексту, що дозволяє виконувати поставлену задачу вирівнювання. В четвертому розділі представлені основні експерименти для аналізу якості роботи розробленої системи. Описується набір експериментальних даних та його базові характеристики. Проводиться оцінка точності системи розпізнавання. Виконуються обчислювальні експерименти, на основі яких підтверджено загальну спроможність системи успішно вирівнювати рукописний текст. Проводиться аналіз успішних прикладів роботи системи та допущених помилок при вирівнюванні, оцінка продуктивності роботи системи в середовищі з обмеженими ресурсами. Також розроблена система порівнюється з наявними підходами до поліпшення зовнішнього вигляду та вирівнювання рукописного тексту, результат підтвердив визначені переваги розробленої системи та її практичну цінність. Основним результатом цієї роботи є розроблена система вирівнювання рукописного тексту, яка базується на запропонованому методі вирівнювання рукописного тексту на основі розроблених алгоритмів розпізнавання та сегментації тексту, а також з використанням структурного аналізу символів, що враховує індивідуальні особливості почерку, зв’язне написання символів та дозволяє зберегти початковий стиль написання тексту. Розроблена система вирівнювання дає змогу розв’язувати наступні задачі по вирівнюванню текстів українською мовою: вирівнювання одного рядка рукописного тексту, вирівнювання текстів, що складаються з багатьох рядків, вирівнювання документів, що містять різні типи текстових блоків, вирівнювання текстової інформації з можливістю підтримувати різні типи контенту, такі як специфічні символи, математичні формули, адреси електронної пошти, номери телефонів і т.д. Особливістю розробленої системи є можливість до масштабування та розширення для підтримки нових мов, типів контенту, введення окремих правил для особливих задач вирівнювання. Перевагою розробленої системи є здатність вирівнювати текст з врахуванням персональних особливостей написання користувача. Розроблену систему вирівнювання тексту було успішно інтегровано в тестовий мобільний застосунок, який надає змогу користувачу вводити рукописний текст, отримувати результат розпізнавання тексту та результат вирівнювання тексту. Проведено експериментальні дослідження, що підтвердили здатність системи виконувати всі поставлені завдання. Система показала високі характеристики якості роботи та швидкодії в умовах роботи на пристроях з обмеженнями обчислювальних ресурсів. В результаті розроблена система може бути інтегрована до інших мобільних додатків для обробки та вирівнювання рукописного тексту. Підтримка роботи з українським текстом дає потенційні можливості для використання системи в різноманітних галузях нашої країни, таких як освіта, медицина, рекламний бізнес і т.д. На сьогодні існує тенденція цифровізації документообігу в різних сферах діяльності, в тому числі між державою та громадянами, де також може мати велику користь система обробки рукописного тексту для покращення візуального сприйняття, розбірливості написаного тексту, а також для зменшення загального розміру рукописного тексту, що дозволяє підвищити ефективність використання простору в текстових документах. Наукова новизна отриманих результатів. В рамках цього дослідження було: - Вперше запропоновано метод вирівнювання рукописного тексту, наукова новизна якого полягає у використанні розроблених алгоритмів розпізнавання та сегментації тексту, які базуються на теорії машинного навчання, а також у проведенні структурного аналізу символів, що враховує індивідуальні особливості почерку, зв’язне написання символів та дозволяє зберегти початковий стиль написання тексту. - Вдосконалено метод сегментації рукописного тексту, що ґрунтується на використанні легковісної рекурентної нейронної мережі та динамічного програмування, який відрізняється від існуючих застосуванням додаткових алгоритмів, які дають змогу знаходити та виправляти помилки сегментації, визначати відповідні символи для відтермінованих штрихів, що дозволяє підвищити точність маркування кожного символа. - Вперше розроблено метод вирівнювання для тексту, написаного українською мовою, наукова новизна якого полягає у використанні алгоритмів, що базуються на структурному аналізі символів, та визначаються окремо для кожного символа, а також у можливості реалізувати вирівнювання рукописних літер для різних стилів написання. Практичне значення отриманих результатів. Практичне значення результатів, отриманих у ході дисертаційного дослідження, зводиться до наступного переліку: - Розроблені метод та алгоритми впроваджено в інструментальну систему вирівнювання рукописного тексту, що дає змогу розв’язувати задачі вирівнювання одного рядка рукописного тексту та текстів, що складаються з багатьох рядків, на пристроях з обмеженнями обчислювальних ресурсів. - Розроблена система забезпечує високу точність результатів, що дозволяє використовувати її для знаходження правильних позицій всіх символів та їх коректного вирівнювання, що продемонстровано на прикладі її використання в тестовому мобільному додатку для вирівнювання рукописного тексту українською мовою. - Запропоновані та розроблені в цій роботі методи були використані при розробці комерційних проектів, зокрема в мобільному додатку для смартфонів Samsung у вигляді функції вирівнювання рукописного тексту для різних мов.