М ЕТОД И СРЕДСТВО АЛГОРИТМИЗАЦИИ МАШИННОГО КОДА ТЕЛЕКОМУННИКАЦИОННЫХ УСТРОЙСТВ С ЦЕЛЬЮ ПОИСКА УЯЗВИМОСТЕЙ.

Презентация:



Advertisements
Похожие презентации
Составление программ Разработка программ в среде Турбо- Паскаль.
Advertisements

Новиков Сергей Анализ потока управления и потока данных в программе.
Древовидная модель оказывается довольно эффективной для представления динамических данных с целью быстрого поиска информации. Деревья являются одними из.
Программирование на языке высокого уровня Лекция 2. Метод. Алгоритм. Программа. Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
класс-ПОВТОРЕНИЕ ОСНОВНЫХ ПОНЯТИЙ ТЕМЫ « ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ » 8 КЛАСС.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
Форми представлення алгоритмів. Базові фрагменти схеми алгоритму.
Часть II. Формальное описание языков программирования ( Формальная спецификация формальных языков ) Атрибутные грамматики (2). Генерация кода.
Особенности языка JavaScript и его использования.
Часть II. Формальное описание языков программирования ( Формальная спецификация формальных языков ) Приложение. Операционная семантика языка SIL.
1 Процессоры семейства Intel® XScale®. Разработка эффективных приложений Василий Басов Intel
Характеристики ядра процессора Регистры –Количество –Типы регистров Общего назначения Адресные Регистры флагов Вычислительные устройства –ALU: Fixed-point.
«Ум» компьютера – это ум человека, воплощенный в программе.
Компьютерный практикум в 9 классе "Алгоритмизация и основы объектно- ориентированного программирования" Некоторые особенности разработки проектов с помощью.
Проект выполнили Алёшин И.В. Волков А.Н. Золотарёв С.А. Учитель информатики Малыхин С.А. Prezentacii.com.
Введение в программирование Этапы автоматизации программирования –Машинные коды –Ассемблер –Алгоритмические языки –Объектно-ориентированное программирование.
Использование STL. Преимущества STL увеличение скорости написания программ гарантированное отсутствие ошибок универсальность (независимость от типов данных)
Php Что такое php? PHP – это высокоуровневый язык программирования для WEB работающий по принципу транслирующего интерпретатора.
1.Что представляет собой алгоритмическая структура с ветвлением? 2.Приведите примеры. 3.Что называется логическим выражением? 4.Простые и сложные логические.
Заглавные и строчные латинские буквы цифры 0…9 специальные символы + - * / = > <., : ^ () {} [] $ #
Транксрипт:

М ЕТОД И СРЕДСТВО АЛГОРИТМИЗАЦИИ МАШИННОГО КОДА ТЕЛЕКОМУННИКАЦИОННЫХ УСТРОЙСТВ С ЦЕЛЬЮ ПОИСКА УЯЗВИМОСТЕЙ

О СНОВНЫЕ ИДЕИ использование IDA и ее плагинов разработка специализированной утилиты – Demono специальный язык описания алгоритмов, возможно с использованием набора представлений: ControlFlow DataFlow StructFlow итеративность восстановления независимость от процессора выполнения кода применение для промышленных процессоров (PowerPC, MIPS, ARM)

D EMONO. С ТРУКТУРА High-Level Diagram Usage Scenario IDA + HexRay Demono FrontEnd Asm parsing MiddleEnd structurization graph transformation optimization vulnerability search readability BackEnd Algorithm generation Asm text Asm binary Algorithm text Metainfo

D EMONO. П РИМЕР РАБОТЫ ПРОТОТИПА max3(x, y, z) – функция нахождения максимального из 3-х чисел max3(){ 0x : max3:// { x(r3), y(r4), z(r5), m(r6), n(r7) 0x : cmpw r3, r4// if(x > y) 0x : ble label_1// { 0x : mr r6, r3// m = x; 0x : b label_2// } 0x : label_1:// else { 0x : mr r6, r4// m = y; 0x : label_2:// } 0x : cmpw r6, r5// if(m > z) 0x A: ble label_3// { 0x B: mr r7, r6// n = m; 0x C: b label_4// } 0x D: label_3:// else { 0x E: mr r7, r5// n = z; 0x F: label_4:// } 0x : mr r3, r7// return n; 0x : blr// } }

D EMONO. П РИМЕР РАБОТЫ ПРОТОТИПА AsTree IrList() IrIdent('max3') IrList() IrLabel('max3'), name='max3' IrBranch('ble') IrCond('ble'), kind='?false' IrOperation('ble'), kind='.' IrReg('cr'), id=32 IrInteger(''), value=1 IrLabel('label_1'), name='label_1'...

D EMONO. П РИМЕР РАБОТЫ ПРОТОТИПА BasicBlock graph

D EMONO. П РИМЕР РАБОТЫ ПРОТОТИПА Nassi–Shneiderman tree

D EMONO. П РИМЕР РАБОТЫ ПРОТОТИПА DataFlow graph #1: r3 (in) #2: r4 (in) #3: r5 (in) #4: cr.1 (check) #5: r6 (tmp) #6: r6 (tmp) #7: r7 (tmp) #8: r7 (tmp) #9: r3 (out)

D EMONO. П РИМЕР РАБОТЫ ПРОТОТИПА Final algorithm max3(r3, r4, r5, cr){ if(cr.1?false){ r6=r4; }else{ r6=r3; } if(cr.1?false){ r7=r5; }else{ r7=r6; } r3=r7; return (r3, r6); }

T HE E ND Доклад Вопросы/ответы Обсуждение Комментарии Критика Demono Интересно? Расскажу. Офиц. сайт: while(1) { continues; }