Главная страница
Навигация по странице:

  • Аннотация

  • Ключевые слова

  • Актуальность

  • Цель работы

  • Основная часть

  • Главные подходы к обфускации программного кода

  • Спасибо! Please keep this slide for attribution

  • Счоинение. Методы защиты java приложений основы научноисследовательской работы


    Скачать 350.29 Kb.
    НазваниеМетоды защиты java приложений основы научноисследовательской работы
    АнкорСчоинение
    Дата14.09.2022
    Размер350.29 Kb.
    Формат файлаpptx
    Имя файлаComputer Science & Mathematics Major for College_ Computer Netwo.pptx
    ТипДокументы
    #676378
    МЕТОДЫ ЗАЩИТЫ JAVA ПРИЛОЖЕНИЙ
    Основы научно-исследовательской работы
    Содержание презентации
    • Аннотация;
    • Ключевые слова;
    • Актуальность;
    • Цель работы;
    • Основная часть:
      • Обфускация
      • Шлюз на языке C++
    • Выводы.
    Аннотация
    Известно, что основными характеристиками языка Java являются его открытость, интерпретируемость и кроссплатформерность. Эти качества помогают разработчикам свободно распространять свои приложения на разных платформах. Статья предлагает лучшие средства и методы, которые помогут избежать компрометации программного кода. Ключевые слова
    Обфускация, реверс-инжиниринг, байткод, декомпилятор, виртуальная машина, кроссплатформерность, software cracking, stack, string obfuscation, flow obfuscation, exception obfuscation, reference obfuscation, рефлексия, ASM библиотека. Актуальность
    Актуальность данного исследования обусловлена массовой волной распространения незаконного программного обеспечения, написанного на языке Java, посредством взлома системы лицензии (software cracking). Цель работы
    Выявить наиболее эффективные методы защиты Java приложений.
    Основная часть
    Основная проблема связанная с компрометацией кода на языке Java – это его интерпретируемость. В отличие от компилируемых языков, Java выполняет код не в ОС, а в своей виртуальной машине – Java Virtual Machine. Поэтому мы легко можем провести обратную операцию, использовав специальную программу – декомпилятор, которая переводит интерпретируемый байткод в исходный код. Основная часть

    Рис. 1 – Схема компиляции / декомпиляции
    Обфускацией программы называется всякое ее преобразование, которое сохраняет вычисляемую программой функцию (эквивалентное преобразование), но при этом придает программе такую форму, что извлечение из текста программы (программного кода) ключевой информации об алгоритмах и структурах данных, реализованных в этой программе, становится трудоемкой задачей. [1]. Главные подходы к обфускации программного кода:
    • Обфускация строк (String obfuscation). [2];
    • Обфускация имён (Name obfuscation). [2];
    • Обфускация кода потока (Flow obfuscation). [2];
    • Обфускация исключений (Exception obfuscation). [2];
    • Отсылочная обфускация (Reference Obfuscation). [2];
    • Особая обфускация: уязвимости в ASM библиотеках.
    Базовый способ сохранить строковые данные в безопасности. Обычно прост в реализации: создаётся обработчик, который принимает на вход некоторую строку (обычно сильно искажённую, избыточную) и возвращает оригинальную, использовав криптографический алгоритм. Достаточно легко поддаётся реверс-инжинирингу: достаточно выполнить метод обработчика и получить результат.
    Рис. 2 – Код до String Obfuscation

    Рис. 2 – Код после String Obfuscation
    Спасибо!

    Please keep this slide for attribution


    написать администратору сайта