WWW.PROGRAMMA.X-PDF.RU
БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА - Учебные и рабочие программы
 


«Основы исследование безопасности программного обеспечения Составитель: Федоров Д.Ю. Основы исследование безопасности программного обеспечения Оглавление Обращение к ...»

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

Основы исследование безопасности

программного обеспечения

Составитель: Федоров Д.Ю.

http://pycode.ru

Основы исследование безопасности программного обеспечения

Оглавление

Обращение к читателю

Введение

С чего начать

Инструменты исследователя

Установка исследуемой программы

Типовая защита «Запрос пароля» или «Запрос ввода регистрационного номера»



Исследование типовой защиты в отладчике OllyDbg

Исследование типовой защиты в дизассемблере IDA Pro

Типовая защита «Запрос пароля» или «Запрос ввода регистрационного номера» с шифрованием сообщения

Технологии защиты программного кода от исследования и отладки.........28 Как НЕ надо проектировать защиту программ

Как обмануть отладчик и дизассемблер

Приложение 1. Ассемблер в Windows

О стеке

Команды передачи управления

MASM

Литература для дополнительного изучения

Приложение 2. Отладчик OllyDbg

Откуда скачать программу

Установка и настройка программы

Наиболее полезные клавиши в OllyDbg

Подключение плагинов в OllyDbg

Литература для дополнительного изучения

Приложение 3. IDA Pro

Откуда скачать программу

Интерфейс работы с программой

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Встроенный язык IDA Pro

Плагины IDA Pro

Литература для дополнительного изучения

Задание для самостоятельного выполнения

Список используемой литературы

Основы исследование безопасности программного обеспечения

Обращение к читателю Каждая тема, затронутая в пособии, достойна отдельной книги, поэтому темы пришлось рассматривать сжато, на уровне разбора отдельных примеров и комментариев к ним. Также в пособии не приводится справочная информация, которая уже хорошо структурирована в книгах из списка рекомендованной литературы, например, перечень команд ассемблера.

Читать пособие лучше в следующем порядке (тогда сохранится логика и вопросов в процессе прочтения будет меньше):

–  –  –

Введение Чтобы обеспечить безопасность программного обеспечения, необходимо знать инструменты и методы обхода средств защиты, которыми пользуются злоумышленники. Чтобы научиться создавать защиты, сначала нужно научиться их снимать.

Навык исследования кода необходим исследователям зловредного программного обеспечения (malware), чтобы разработать средство противодействия.

С чего начать

Необходимо собрать как можно больше информации о самой программе:

чем и как программа упакована1 или зашифрована;

какие ограничения содержатся в незарегистрированной программе;

как выглядит процесс регистрации;

Упаковщики применяются для уменьшения размера исполняемого файла и для защиты программы от взлома. Упаковщик сжимает исполняемый код программы, ее ресурсы и данные, добавляет к программе свой код, который при запуске получает управление первым, распаковывает программу в памяти и передает управление распакованной программе.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования что произойдет, если использовать программу дольше, чем положено по ограничению;

какие текстовые строки и ресурсы содержатся в программе;

к каким файлам и ключам реестра программа обращается при загрузке и т.д.

К примеру, есть программа с ограничением работы в 30 дней, после этого выводится стандартное окно (MessageBox). Перевод системного времени не влияет на работу программы, т.е. программа проверяет текущую дату не на основании часов Windows. Предполагаем, что программа либо в реестре, либо на диске уже сделала отметку «больше не запускаться», второй вариант – программа где-то проверяет время, например, читая дату модификации какого-либо файла.

Мы можем поставить точки прерывания (когда программа дойдет до нужного участка программы, она остановится на точке прерывания) на все вызовы MessageBox в программе и выяснить, какой из условных переходов позволяет избежать появления этого сообщения. Во втором случае можно использовать функции – GetFileTime, CompareFileTime и т.д.





Наиболее уязвимы для злоумышленника – глобальные переменные, где могут храниться состояние программы (зарегистрирована/не зарегистрирована), число запусков (или количество дней) до истечения демонстрационного периода или результат проверки серийного номера на правильность и т. д. Если в глобальной переменной содержит бит (правильный/не правильный пароль), то для обхода защиты злоумышленник может изменить только один бит. Второй прием – поиск константы, с которой производится сравнение и модификация самой константы, либо условия проверки.

Существует «проблема условного перехода», которая заключается в том, что реализовать проверку условия без использования условного перехода достаточно сложно, но в условном переходе можно поменять один бит и условие изменится на противоположное. Условных переходов, имеющих отношение к защите, в программе может быть 100-200.

Основы исследование безопасности программного обеспечения Инструменты исследователя Дизассемблеры и отладчики, например, OllyDbg (см. Приложение 2), IDA Pro (см. Приложение 3).

Дизассемблер позволяет получить ассемблерный текст программы из машинного кода, т.е. перевести двоичные данные программы в удобные для восприятия ассемблерные (мнемонические) инструкции.

Ассемблирование – процесс однонаправленный (!), невозможно синтаксически отличить константы от адресов памяти, сегментов и смещений (присутствует неоднозначность соответствия машинных инструкций конструкциям языков высокого уровня).

Дизассемблеры бывают: пакетные и интерактивные. В пакетных дизассемблерах анализ программы производится автоматически на основе выбранных настроек, в интерактивных (например, IDA Pro и Beye2) – можно контролировать весь процесс дизассемблирования.

В IDA Pro можно влиять на дизассемблированные участки кода, например, клавиша U отмечает участок кода как неисследованный, а нажатие клавиши A преобразует участок кода в ASCII (клавиша С – код, * - массив, D - данные).

Отладка – анализ поведения программы путем исполнения ее в различных режимах (пошаговое выполнение; пошаговое выполнение с заходом в процедуру и пр.).

Декомпиляторы, например, HexRays (см. Приложение 3) Распаковщики и утилиты для снятия дампа3.

Невозможно дизассемблировать запакованную или зашифрованную программу, но можно извлечь из памяти компьютера дамп («снимок») программы в момент ее работы. Дам можно дизассемблировать, по нему можно восстановить код программы. Распаковщик ждет, пока программа полностью не распаковалась, после этого сбрасывает ее дамп на диск.

Утилиты анализа файлов, например, PEiD.

2 http://sourceforge.net/projects/beye/ 3 Cохранение копии содержимого оперативной памяти программы на диске или другом внешнем носителе Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Позволяют быстро узнать, каким упаковщиком обработана программа, найти текстовые строки в дампе памяти, вывести в файл список импортируемых и экспортируемых программой функций и т.д.

Шестнадцатеричные редакторы и редакторы ресурсов.

Шестнадцатеричные редакторы позволяют злоумышленникам исправлять байты в готовых программах. Редакторы ресурсов редактируют присоединенные к файлу ресурсы (позволяет нелегально русифицировать или дорабатывать интерфейс).

Утилиты мониторинга, например, RegMon, FileMon, PortMon.

Позволяют узнать, какие действия выполняет программа, откуда читает и куда записывает, какие стандартные функции и с какими параметрами она вызывает и т.д.

Утилиты делятся на API-шпионы, перехватывающие системные функции, и программы, создающие снимки реестров, жесткого диска, системных файлов и т.д. Программы второго типа позволяют сравнить состояние компьютера «до» и «после» некого события, построить список различий между состояниями.

Установка исследуемой программы Инсталляционный файл программы представляет собой инсталляционный набор файлов (инсталляционный пакет) для запуска которого требуется запустить SETUP.EXE либо открыть файл с расширением MSI.

Инсталляционный пакет содержит сценарий инсталляции, который включает данные для внесения в реестр, файлы конфигурации, порядок запуска программы и т.д. Сценарий может проверять серийные номера, создание записей в реестре, поэтому при установке программы злоумышленники используют утилиты мониторинга, делающие дампы системы (реестра, модифицированных файлов и т.д.).

Типовая защита «Запрос пароля» или «Запрос ввода регистрационного номера»

Алгоритм работы:

Основы исследование безопасности программного обеспечения

1. программа запрашивает пароль у пользователя;

2. программа что-то делает с паролем (шифрует или получает хешфункцию);

3. сравнивает полученную функцию с правильным паролем.

Пример программы.

Рис. Пример кода программы, сравнивающей пароли Для обхода такой защиты злоумышленнику достаточно найти место сравнения паролей и либо переписать пароль, либо изменить программу так, чтобы любой вводимый пароль считался правильным («бит-хак»).

Запустим программу CRACKME1.EXE и проследим за ее выполнением.

–  –  –

Вводим «Приложение 2», нажимаем OK, получаем сообщение о неверном пароле.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Рис. Окно программы с сообщением о неверном пароле

Далее злоумышленнику необходимо определить:

1. зашифрована программа или нет;

2. на каком языке написана программа – эта информация понадобится для определения функций, на которые ставятся точки останова (брейкпоинты).

Воспользуемся утилитой PEiD, http://www.peid.info/ (4 апреля 2011 проект прекратил существование), последняя версия есть на сайте:

http://cracklab.ru/download.php?action=list&n=MzU=

–  –  –

Видим, что программа написана на С++ фирмы Borland и ничем не запакована. Исследуем программу сначала в отладчике OllyDbg (см.

Приложение 2), затем в дизассемблере IDA Pro (см. Приложение 3).

Исследование типовой защиты в отладчике OllyDbg Воспользуемся отладчиком OllyDbg (см. Приложение 2). Сначала исследуем защиту программы CRACKME1.EXE без применения плагинов, для этого подойдет версия 2.01: http://www.ollydbg.de/odbg201c.zip или более ранняя: http://www.ollydbg.de/odbg110.zip Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Рис. Главное окно отладчика OllyDbg после загрузки программы CRACKME1.EXE OllyDbg остановился на самом начале файла, точнее, на точке входа в программу. Злоумышленник первым делом может попытаться найти строки, которые выводятся программой на экран («password FALSE»). В главном окне кода правой клавишей мыши переходим в контекстное меню.

Рис. Контекстное меню окна дизассемблерного кода Рис. Строки, которые выводятся в окне программы Сообщение о неправильном пароле не зашифровано. Можем перейти на код, который обрабатывается в случае неправильного ввода пароля.

Основы исследование безопасности программного обеспечения

–  –  –

Рис. Код вывода сообщения о неправильном пароле Видим вызов стандартной функции MessageBoxA.

Стрелочки, которые находятся левее кода инструкции, показывают направление перехода. Если нажать мышкой на стрелку, то наглядно увидим данный переход.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Рис. Дизассемблерный код вызова функции MessageBoxA

–  –  –

Функция JE осуществляет условный переход, т.е. некоторая функция проверяет пароль на правильность и, если он верен, переходит на строку:

00401C5A 6A 00 PUSH 0

–  –  –

Пролистав код немного вверх, обратим внимание на функцию ассемблера CMP, которая выполняет сравнение, а после – осуществляет переход.

Основы исследование безопасности программного обеспечения Рис. Дизассемблерный код функции сравнения CMP Поставим точку останова (клавиша F2) на строке, содержащей CMP, и запустим программу в отладчике (клавиша F9). Вводим любой пароль в появившемся окне программы и нажимаем OK. Мы перешли в отладчик и после этого видим строку, похожую на пароль.

Рис. Окно дизассемблерного кода, содержащего строку пароля Проверяем полученный пароль.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Рис. Окно с сообщением о вводе правильного пароля Исследование типовой защиты в дизассемблере IDA Pro Откроем исследуемый файл CRACKME1.EXE в интерактивном дизассемблере IDA Pro (см. Приложение 3).

Рис. Дизассемблерный код программы CRACKME1.EXE Переходим на вкладку Functions и начинаем набирать на клавиатуре название нужной нам функции MessageBoxA.

Основы исследование безопасности программного обеспечения

–  –  –

Через контекстное меню устанавливаем точку останова на функции.

Рис. Установка точки останова на вызов функции MessageBoxA В нижней части видим информационное сообщение о добавлении точки останова.

–  –  –

Запускаем процесс отладки (F9).

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Сработала точка останова.

Основы исследование безопасности программного обеспечения Рис. Окно с информацией о сработавшей точке останова Мы оказались в ntdll.dll. Нажимаем F4, чтобы перейти к следующему шагу выполнения программы с выходом из библиотеки.

Произошло исключение. Нажимаем Yes.

–  –  –

Смотрим содержимое стека. Нажимаем на стрелочку напротив значения регистра EAX.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Слабым местом в защите программы оказался пароль, который хранился открытым текстом.

Типовая защита «Запрос пароля» или «Запрос ввода регистрационного номера» с шифрованием сообщения Запустим программу CRACKME2.EXE.

Основы исследование безопасности программного обеспечения

–  –  –

Программа не запакована и не зашифрована. Воспользуемся отладчиком OllyDbg: http://www.ollydbg.de/odbg110.zip Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Упростим исследование. С помощью интерактивного дизассемблера IDA Pro (см. Приложение 3) создадим MAP-файл и загрузим этот файл в OllyDbg. Это позволит улучшить читаемость имен функций, меток, комментариев.

–  –  –

Сохраним MAP файл в той же папке, где находится исследуемый файл.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Основы исследование безопасности программного обеспечения Функции преобразились, читать их стало приятнее.

Рис. Дизассемблерный код после загрузки MAP-файла Теперь надо сказать отладчику, чтобы он остановился в момент ввода пароля или его проверки. Установим точки останова на нужную функцию.

Как ее найти? Программа написана на Borland C++ 1999, поэтому можно использовать все функции из этого компилятора. Попробуем поставить точку останова на функцию MessageBoxA (вывод окна).

Воспользуемся еще одним плагином:

http://www.openrce.org/downloads/details/105/CommandBar После установки увидим командную строку.

–  –  –

Для установки точки останова на вызов функции MessageBoxA, в командной строке необходимо ввести команду:

bpx MessageBoxA Рис. Пример установки точки останова с помощью плагина CommandBar Запускаем отладку (F9), вводим произвольный пароль в появившееся окно.

–  –  –

Остановились на вызове функции вывода MessageBoxA.

Основы исследование безопасности программного обеспечения Рис. Содержимое регистров в процессе отладки программы В регистре EAX строки текста о неправильном пароле. Пролистаем дизассемблированный текст выше. Видим функцию, похожу на сравнение двух строк.

Рис. Дизассемблированный код вызова функции сравнения строк Перезапустим программу и установим точку останова по адресу 00401DC6.

В командной строке можно указать команду:

bp 401DC6 Рис. Установка точки останова с помощью плагина CommandBar Переходим на список точек останова (B) и проверяем правильность.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Теперь необходимо зайти внутрь функции (F7) и посмотреть, что сравнивает программа. Доходим до функции сравнения.

Рис. Дизассемблерный код функции сравнения строк Обратимся к окну регистров. В регистре EAX находится введенная строка, в регистре EDX – строка, с которой сравнивается введенная.

Основы исследование безопасности программного обеспечения

–  –  –

Проверим в качестве пароля строку «KEYmyOK».

Рис. Окно, подтверждающее правильность введенного пароля Слабым местом защиты оказалось то, что окно с сообщением выводилось сразу после проверки пароля.

–  –  –

При запуске программа проверяет текущую дату (год, месяц, день и т.д.), если она не совпадает с запланированной, то программа отказывается работать или работает неправильно. Для обхода защиты злоумышленник перехватывает в программе проверку даты и устанавливает требуемую дату.

2) Фиксированное количество запусков Trial-программы запускаются фиксированное число раз: программа записывает количество запусков в реестр (или в «специальный» файл) при установке (или при первом запуске) на компьютер пользователя. Для Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования обхода защиты злоумышленник может воспользоваться, например, программами-мониторами, отслеживающими обращение программы к реестру (или каким-либо файлам).

3) Шифрование всей программы или ее частей Программа разбивается на несколько частей. Загрузчик программы загружает первую часть программы в память и расшифровывает его в памяти. После расшифровки управление передается на эту часть программы. После того как эта часть программы отработала, загрузчик удаляет ее из памяти, расшифровывает вторую часть программы в памяти, передав на нее управление и т.д. После того как вся программа отработает, загрузчик удаляет ее из памяти. На этом методе основана работа некоторых упаковщиков и протекторов.

4) Проверка на основе динамически изменяющихся параметров Параметры каждого компьютера уникальны, можно выдавать регистрационные данные на конкретный компьютер. Недостаток метода – частая смена конфигурации компьютера.

5) Регистрация online Программа в реальном времени связывается с сайтом разработчиков и передает туда некоторый код (серийный номер диска и др.), в ответ программе передается регистрационная информация. К недостаткам метода относят безопасность передаваемых данных, обязательное наличие доступа в Интернет.

Как не надо проектировать защиту программ Необходимо определить уровень злоумышленника, который может попытаться обойти защиту. В условиях жесткой конкуренции нет смысла тратить столько же времени на разработку защиты, сколько заняла разработка самой программы. Возможно, что дешевле будет приобрести готовую защиту.

Защита не должна основываться на одном лишь предположении, что ее не смогут изучить. Отсутствие исходных текстов не является препятствием к изучению и модификации программы.

Основы исследование безопасности программного обеспечения Рассмотрим защиту, основанную на вводе регистрационного кода.

Злоумышленник в этом случае может:

установить точки останова на функции считывания текста;

«отловить» адрес памяти, по которому будет записан пароль.

Для затруднения обхода защиты нельзя:

использовать стандартные обработчики компонентов (кнопок, флажков и т.д.), организовывать проверки в цикле сообщений;

применять стандартные способы ввода пароля, лучше написать свои визуальные компоненты для ввода регистрационного кода;

хранить введенный код в одной части программы;

хранить введенный код открытым текстом;

анализировать пароль сразу после его ввода;

проверять код только в одном месте;

создавать для проверки функцию или библиотеку;

проверять пароль только одним алгоритмом;

выполнять действия, связанные с проверкой, сразу после самой проверки (желательно добавить отвлекающие функции проверок);

использовать переменную для хранения результатов проверки;

хранить результаты проверки в реестре или на диске;

определять дату и время стандартными способами и т.д.

Как обмануть отладчик и дизассемблер

Что может помешать дизассемблеру4:

непонятные вызовы функций, например, call [ebp+022h];

зашифрованные куски кода.

Что может помешать отладчику:

изменение работы программы в случае ее выполнения в отладчике;

определение отладчика до запуска программы с последующим завершением. Функция IsDebuggerPresent вернет в регистре EAX 4 см. книгу Ассемблер и дизассемблирование. Владислав Пирогов. «Некоторые сложности в распознавании исполняемого кода»

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования значение 0FFFFFFFFh, если в системе нет отладчика – такую проверку можно осуществить несколько раз.

Использование виртуальной машины. В саму программу внедряются специальные команды, которые могут обрабатываться только специальным интерпретатором – виртуальной машиной. Отладчик и дизассемблер не знают специализированных команд.

Основы исследование безопасности программного обеспечения Приложение 1. Ассемблер в Windows Создадим новый консольный проект в Visual Studio 2010.

Рис. Создание консольного приложения в Visual Studio 2010 Рис. Выбор параметров консольного приложения в Visual Studio 2010 Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Основная нагрузка при работе компьютера ложится на два устройства:

процессор и память. Процессор выполняет команды, хранящиеся в памяти.

В памяти также хранятся данные. Между процессором и памятью происходит непрерывный обмен информацией. Процессор имеет свою небольшую память, состоящую из регистров. Команда процессора, использующая находящиеся в регистрах данные, выполняется много быстрее аналогичных команд над данными в памяти, поэтому часто данные помещают в регистры. Результат команды можно поместить обратно в память.

Для процессора вся память представляет собой последовательность однобайтовых ячеек, каждая из которых имеет свой адрес.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

Листинг 2:

#include stdio.h #include Windows.h

–  –  –

Основы исследование безопасности программного обеспечения Рассмотрим Листинг 2. Заголовочный файл windows.h содержит определение типов переменных, в частности, там содержится определение типа DWORD, которое сводится просто к unsigned int.

В ассемблерных командах мы используем переменные, определенные средствами языка С, т.к. встроенный в С ассемблер не позволяет осуществлять резервирование памяти. Адресация памяти с помощью переменных – прямая адресация.

MOV является командой пересылки данных, с помощью этой команды можно обмениваться данными между регистрами, непосредственно передавать данные в регистр или ячейку памяти.

В программе используется косвенная адресация. Если адрес ячейки памяти содержится в регистре, например, в EDX, то, для того чтобы послать туда число, нужно записать MOV BYTE PTR [EDX],100. BYTE PTR означает, что в операции участвует однобайтовая ячейка памяти (WORD PTR – слово, DWORD PTR – для двойного слова).

Команда PUSH помещает в стек четырехбайтовое число, команда POP достает число оттуда. Стек построен по принципу «первым пришел – последним ушел», т.е. в переменной e окажется число из EAX, а в d – число 100.

Команда LEA используется, чтобы получить адрес переменной.

Листинг 3:

#include stdio.h #include Windows.h

–  –  –

Листинг 3 посвящен способам адресации, пример построен на косвенной адресации: [EBX]+2, т.е. результирующий адрес получается путем сложения адреса, хранящегося в регистре EBX, и числа 2.

В случае [EBX][EDX]+2 (или [EBX + EDX + 2]) результирующий адрес получается путем сложения содержимого регистра EBX, регистра EDX и числа 2. Это называется адресацией по базе с индексированием и со сдвигом.

О стеке Стек – структура данных. Поддерживается на уровне процессора наличием двух регистров (ESP, EBP) и двух команд PUSH (положить в стек), POP (достать из стека). Стек используют команды CALL (вызов процедуры), RET (возвращение из процедуры), ENTER (организация стека при входе в процедуру), LEAVE (восстановление стека после команды ENTER), INT (вызов прерывания), IRET (возврат из прерывания).

За один раз с помощью команды PUSH в стек можно поместить четырехбайтовый операнд, при этом содержимое регистра ESP уменьшается на 4. ESP – указатель стека, он указывает на последний помещенный в стек элемент. Пример работы со стеком приведен в Листинге 4.

Основы исследование безопасности программного обеспечения

–  –  –

Команды передачи управления К командам передачи управления относятся команды условного и безусловного переходов, CALL, RET, INT, IRET.

Различают передачу управления в пределах существующего сегмента и межсегментную передачу управления. В первом случае происходит изменение регистра EIP (указателя команд). Межсегментный переход в реальном режиме предполагает изменение содержимого EIP вместе с Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования содержимым сегментного регистра CS, где содержится адрес сегмента.

Каждая задача в ОС Windows работает в своем виртуальном адресном пространстве, представляющем один большой сегмент, размер которого определяется 32-битным числом. Поэтому все переходы в программах для ОС Windows осуществляются в рамках этого сегмента и предполагают изменение содержимого регистра EIP (справедливо для CALL, RET).

Листинг 5 «Нахождение максимального из трех чисел»:

//условные и безусловные переходы #include Windows.h #include stdio.h

–  –  –

Рассмотрим Листинг 5. В командах условного и безусловного переходов присутствует операнд «адрес переход». В листинге используются метки, Основы исследование безопасности программного обеспечения чтобы не зависеть от абсолютных адресов. Метка – символьное имя, за которым идет двоеточие. При трансляции метки заменяются конкретными числовыми адресами.

Команда JMP l1 осуществляет переход по адресу, который лежит в переменной l1.

В командах условного перехода переход осуществляется согласно условию, связанному непосредственно с состоянием шести арифметических флагов. По этой причине команды условного перехода стоят обычно после тех команд, которые изменяют эти флаги.

MASM

Пакет MASM32 (Macro Assembler) версии 10.0 можно скачать с сайта:

http://movsd.com Рассмотрим общую схему трансляции программы, написанной на языке ассемблера.

Двум стадиям трансляции с языка ассемблера соответствуют: ассемблер ML.EXE и редактор связей (компоновщик, линковщик) LINK.EXE. Эти программы предназначены для перевода модуля (модулей) на языке ассемблера в исполняемый модуль, состоящий из команд процессора (имеет расширение EXE в ОС Windows).

Для файла PROG.ASM на языке ассемблера стадии трансляции будут следующими:

c:\masm32\bin\ml /c /coff PROG.ASM После работы данной команды появляется объектный модуль PROG.OBJ.

c:\masm32\bin\link /SUBSYSTEM:WINDOWS PROG.OBJ В результате последней команды появляется исполняемый модуль PROG.EXE.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Листинг 6 «Каркас программы на языке ассемблера для ОС Windows».

.586P ;плоская модель памяти

.MODEL FLAT, STDCALL

;--------------------------------------сегмент данных

_DATA SEGMENT

;здесь будут располагаться переменные L DD 0 _DATA ENDS ;сегмент кода

_TEXT SEGMENT

;здесь будет располагаться ассемблерный код программы

START:

MOV EAX,L RET ;выход _TEXT ENDS

END START

В программе всего одна инструкция процессора RET, остальное – директивы макроассемблера MASM.

.586P – инструкция указывает процессору множество допустимых команд.

Директива.MODEL FLAT говорит ассемблеру, что программа должна рассматриваться в контексте плоской модели памяти.

Директива STDCALL используется для задания соглашения о вызовах процедур.

С помощью директив _DATA SEGMENT / _DATA ENDS ограничена область, где будут храниться данные. В сегменте данных определена переменная L. Тип переменной DD (DWORD, т.е. двойное слово), аналог int в С.

Область программы, ограниченная директивами _TEXT SEGMENT / _TEXT ENDS, содержит исполняемый код. Данная область называется Основы исследование безопасности программного обеспечения сегментом кода. Команда RET возвращает управление операционной системе.

Строка START – метка, с которой должно начаться выполнение программы.

Литература для дополнительного изучения Ассемблер на примерах. Владислав Пирогов, 2005 г.

1.

Язык ассемблера для процессора Intel. Ирвин.

2.

Статьи с сайта: http://wasm.ru/publist.php 3.

Ассемблер для Windows. Владислав Пирогов, 2007 г.

4.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Приложение 2. Отладчик OllyDbg Автор: Oleh Yuschuk.

Отладчик уровня приложений (ring-3).

Откуда скачать программу Первая версия OllyDbg (внутри архива есть расширения-плагины, увеличивающие функциональность): http://www.ollydbg.de/odbg110.zip

2.0 версия (внутри архива есть подробный help по работе со второй версией программы): http://www.ollydbg.de/odbg200.zip

2.01 версия: http://ollydbg.de/odbg201d.zip Установка и интерфейс первой и второй версии программ сильно не отличаются. Рассмотрим интерфейс версии 2.01, а в завершении – настройку плагинов для первой версии (поддержка плагинов во второй версии появилась в августе 2011 года). Также для первой версии будет рассмотрен этап сохранения исполняемого файла.

Установка и настройка программы Распакуем скачанный архив, например, на диск С: в папку OllyDbg.

–  –  –

Нам понадобится исполняемый файл OLLYDBG.EXE (для запуска могут потребоваться административные права).

Основы исследование безопасности программного обеспечения

–  –  –

Рис. Главное окно отладчика OllyDbg Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Рассмотрим основное рабочее пространство отладчика.

–  –  –

1) Дизассемблированный код (листинг) Дизассемблированный код программы, которую собираемся отлаживать. По умолчанию OllyDbg сконфигурирована так, чтобы анализировать программу при ее открытии.

Колонка адреса команды (Address). В данной колонке показан виртуальный адрес команды, который она получает при загрузке модуля в память. Двойной щелчок мышью в данной колонке переводит все адреса в смещения относительно текущего адреса ($, $-2 и т.п.) Колонка кода команды (Hex). Выделяются код и значение операнда.

Кроме этого в колонке имеются различные значки, которые помогают разобраться в логике программы.

Колонка команды (Disassembly). В этой колонке представлено ассемблерное обозначение команды. Двойной щелчок привод к появлению окна редактирования, в котором можно исправить команду.

Основы исследование безопасности программного обеспечения Рис. Окно редактирование ассемблерной команды Можно записать исправленный текст команды в исполняемый модуль, например, в первой версии (!) следующим образом. Правой кнопкой мыши переходим в контекстной меню окна дизассемблера.

–  –  –

В появившемся окне снова переходим в контекстное меню.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Колонка комментария (Comment). Дополнительная информация: имена API-функций, библиотечных функций и т.д. Двойной щелчок позволяет добавлять свои комментарии.

–  –  –

Дополнительной опцией можно включить подсветку JUMP (переходов) и CALL (вызовов). Кликните на листинге правой кнопкой мыши и выберите

«APPEARENCE - HIGHLIGHTING - JUMPS AND CALLS».

Рис. Выбор дополнительной опции подсветки переходов Основы исследование безопасности программного обеспечения Увидим, что call’ы подсвечены лазурным цветом, а переходы – жёлтым.

2) Регистры Второе важное окно – это окно регистров.

–  –  –

Значения регистров можно изменять «на лету».

3) Стек Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Помимо главного окна, есть окна, недоступные напрямую, но которые могут быть вызваны через кнопки на панели управления.

Основы исследование безопасности программного обеспечения Рис. Дополнительный набор функциональных кнопок в OllyDbg Приступая к работе с отладчиком, имейте в виду следующее.

Щелкнув правой кнопкой мыши по любому из окон, вы получите контекстное меню. Оно индивидуально для каждого из четырех окон.

Окна (их содержимое) не являются независимыми.

Перечень дополнительных окон представлен в меню View.

L или VIEW-LOG показывает нам то, что OllyDbg пишет в окне лога.

Логи можно сконфигурировать на отображение различного рода информации, по умолчанию сохраняется вся информация о запуске, а также информация, связанная с «BREAKPOINTS CONDICIONAL LOGS»

(условными логами точек останова). Рассмотрим информацию о запущенном процессе и библиотеках, которые он загружает.

Рис. Окно отображения логов в OllyDbg Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Одна из самых главных опций данного окна – ведение лога в файле на тот случай, если хотим сохранять информацию в текстовом файле. Активация опции осуществляется через нажатие правой кнопки мыши и выбора пункта «LOG TO FILE».

E или VIEW-EXECUTABLES показывает нам список модулей, которые использует программа: exe, dll, ocx и др.

–  –  –

M или VIEW-MEMORY отображает память, занятую программой. Здесь видим секции приложения, библиотеки, использующиеся процессом, стек и различные секции, занятые системой.

–  –  –

Кликнув правой кнопкой мыши, можем осуществить поиск (SEARCH) в памяти, чтобы найти строки различных видов (текстовые, шестнадцатеричные, юникодовые). Есть возможность подсветить точки останова и изменить права доступа к секциям (SET ACCESS).

Основы исследование безопасности программного обеспечения W или VIEW-WINDOWS отображает окна программы, но поскольку она еще не выполняется, то и список окон остается пустым.

T или VIEW-THREADS показывает список нитей (потоков) программы.

–  –  –

C или VIEW-CPU возвращает к главному окну OllyDbg.

«…» или VIEW-RUN TRACE отображает результат выполнения команды RUN TRACE. Здесь можно выбрать опцию LOG TO FILE, чтобы сохранить результаты трассировки в текстовом файле.

B или VIEW-BREAKPOINTS вызывает список обычных точек останова, расположенных в программе.

–  –  –

Обычные точки останова ставятся на конкретную команду (клавиша F2 добавляет и удаляет точки останова). В результате адрес команды в первой колонке Address окрашивается по умолчанию в красный цвет. Таким образом, можно проверить состояние регистров, переменных, стека.

Остановка осуществляется перед выполнением «помеченной» команды.

Обычные точки останова используют стандартный вектор прерывания INT 3.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Условные точки останова устанавливаются по нажатию комбинации клавиш Shift + F2. В появившемся окне можно задать условие, при выполнении которого должна быть произведена остановка на данной команде. Например, EAX == 1 [427070]=1231 – условие определяет остановку, если содержимое ячейки памяти 427070H равно 1231H.

Командой меню можно вызвать окно наблюдения.

–  –  –

Ниже представлено окно наблюдения, содержащее список выражений, значения которых отслеживаются при каждом выполнении команды процессора.

Основы исследование безопасности программного обеспечения

–  –  –

При нажатии комбинации Ctrl + B появляется окно поиска. Строка для поиска может вводиться в виде последовательности символов, байтов, символов в кодировке Unicode.

Для поиска команд используется комбинация Ctrl + F.

–  –  –

Наиболее полезные клавиши в OllyDbg F7: Выполняет одну строку кода (если находимся на CALL, то переходим внутрь вызванного участка кода).

F8: Выполняет одну строку кода (если находимся на CALL, то просто выполняет вызов без перехода внутрь и переходит на следующую за CALL строку). Выполняя одну команду за другой, мы можем в трех остальных окнах следить за тем, как меняется содержимое регистров, секции данных и секции стека.

F2: устанавливает обычную точку останова на отмеченной строке. Чтобы убрать эту точку останова, надо ещё раз нажать F2.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

F9: Запускает программу, которая будет выполняться до тех пор, пока не встретит точку останова, не произойдет исключение или же не прекратит работу по каким-либо причинам. Когда программа запущена, в нижнем правом углу OllyDbg отображается слово RUNNING.

Чтобы временно прекратить выполнение программы, нужно нажать F12 или DEBUG-PAUSE.

–  –  –

Видим, что OllyDbg отображает слово PAUSED (пауза). Продолжить выполнение программы можно, нажав F9 или DEBUG-RUN.

Чтобы закрыть отлаживаемую программу выберите DEBUG-CLOSE.

Подключение плагинов в OllyDbg Первая версия OllyDbg позволяет подключать плагины, которые могут оказаться полезными для решения той или иной задачи. Если скачивать первую версию программы с официального сайта по ссылке:

http://www.ollydbg.de/odbg110.zip то в паке обнаружим файлы dll, т.е.

плагины к OllyDbg. В августе 2011 года поддержка плагинов появилась во второй версии.

Основы исследование безопасности программного обеспечения

–  –  –

Укажем пути к плагинам. Переходим OPTIONS-APPEARANCE, в открывшемся окне открываем вкладку DIRECTORIES.

Рис. Настройка путей к плагинам Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Иногда плагины помещают в отдельную папку PLAGIN, тогда путь надо указывать не к корневому каталогу, где лежит файл программы, а на папку PLAGIN.

Сохраняем изменения, перезапускаем программу. Можем выбрать и запустить необходимый плагин.

–  –  –

Чтобы деинсталлировать плагин достаточно стереть соответствующую dll из папки и перезапустить OllyDbg.

Список плагинов для первой версии OllyDbg (с возможностью скачивания): http://www.openrce.org/downloads/browse/OllyDbg_Plugins Литература для дополнительного изучения

1. Введение в крэкинг с нуля, используя OllyDbg. Рикардо Нарваха, пер. Aquila: http://wasm.ru/series.php?sid=17

2. Ассемблер и дизассемблирование. Владислав Пирогов.

3. Статьи с сайта Cracklab.ru: http://cracklab.ru/art/?action=cat&id=999

4. Отладка без исходных текстов. К.Касперски. Скачать книгу:

http://www.insidepro.com/kk/170/170r.rar Основы исследование безопасности программного обеспечения Приложение 3. IDA Pro Автор: Ильфак Гильфанов Блог автора: http://www.hexblog.com/

Киты, на которых держится IDA Pro:

средство анализа исполняемого кода, встроенный дизассемблер;

пользователь становится активным участником дизассемблирования;

встроенный язык программирования (похожий на С);

возможность написания собственных расширений функциональности на языке высокого уровня.

Откуда скачать программу C официального сайта можно скачать IDA Pro Free (для некоммерческого использования) с рядом ограничений (версия, достаточная для первоначального знакомства с функционалом дизассемблера):

http://www.hex-rays.com/idapro/idadownfreeware.htm Интерфейс работы с программой

–  –  –

Откроем файл CRACKME1.EXE. Появится окно, в котором можем выбрать тип процессора, для которого написан наш файл, формат отображения файла и т.д. В большинстве случаев IDA Pro распознает, какой тип файла предполагается загрузить. Оставляем как есть, нажимаем OK.

–  –  –

Настроим отображение дизассемблированного текста вместо графа при запуске по умолчанию.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования

–  –  –

Нажав на вкладке Functions можно увидеть окно, содержащее описание всех найденных в программе функций.

Основы исследование безопасности программного обеспечения

–  –  –

Видим: имя функции, сегмент, к которому принадлежит функция, начальный адрес, длину, тип. Возможные типы: R – с возвратом в основную программу, F – дальний вызов, L – библиотечная функция, S – статическая функция, B – функция с передачей параметров через стек.

Чтобы найти строки, которые программа выводит на экран необходимо перейти на вкладку Names.

–  –  –

При анализе файла IDA Pro пытается автоматически определить тип использованного компилятора и загрузить соответствующую сигнатуру (информацию, уникальную для каждого компилятора) для него.

–  –  –

В каталоге, откуда произошла загрузка программы CRACKME1.EXE, можно обнаружить два файла с расширениями id0 и id1. Это вспомогательные файлы виртуальной памяти, они исчезают после закрытия IDA Pro.

–  –  –

Основы исследование безопасности программного обеспечения В файл с расширением id1 загружается образ программы. Этот образ идентичен образу, загруженному в 32-битную плоскую память ОС Windows, таким образом достигается идентичность с программой, исполняемой ОС. Механизмы работы с виртуальной памятью IDA Pro идентичны аналогичным механизмам в ОС Windows. Для хранения вспомогательной информации (имен меток, имен функций и комментариев) IDA Pro использует файл с расширением id0.

Встроенный язык IDA Pro С помощью встроенного языка программирования (упрощенный язык С) можно писать небольшие программы анализа дизассемблированного кода.

Существует два способа выполнения команд на языке IDC. Вызвать окно комбинацией клавиш Shift + F2. В окне можно набирать команды и после нажатия OK они выполнятся.

–  –  –

Результат выполнения команды Message(«Engecon!»);

Рис. Результат выполнения команды IDC Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Второй подход – более основательный, создание файлов с расширением idc и их запуск.

–  –  –

Плагины IDA Pro Благодаря плагинам, написанным на С++ функционал IDA Pro можно расширить.

Обзор плагинов для IDA Pro (можно скачать без регистрации):

http://www.openrce.org/downloads/browse/IDA_Plugins Одним из плагинов для IDA Pro является декомпилятор HexRays, который переводит двоичный код в «С-подобный».

Литература для дополнительного изучения

1. Ассемблер и дизассемблирование. Владислав Пирогов.

2. The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler, Chris Eagle http://www.idabook.com/ Основы исследование безопасности программного обеспечения 3. «Образ мышления – дизассемблер IDA», К.Касперски. За основу книги взята версия IDA Pro 4.01, а уже вышла версия 6.1. Много примеров скриптов на языке IDC.

4. Фундаментальные основы хакерства. Искусство дизассемблирование. К.Касперски.

Санкт-Петербургский государственный инженерно-экономический университет.

Кафедра вычислительных систем и программирования Задание для самостоятельного выполнения Лабораторную работу можно выполнять по два человека, но будет оцениваться вклад каждого.

Разработать консольное приложение на Visual C++, запрашивающее строковый пароль. В случае правильно введенного пароля – выводится строка: «True password», иначе – строка «Wrong password». Ввод пароля ограничен тремя попытками.

Исходный текст с комментариями к программе необходимо приложить к отчету в качестве Приложения 1.

Приложение не должно содержать какой-либо защиты от отладчиков и дизассемблеров, т.е. пароль можно хранить в открытом виде.

Затем необходимо исследовать программу в отладчике/дизассемблере и обойти механизм ввода пароля. Все шаги необходимо отразить в отчете в виде скриншотов (комментариев, листингов).

Выводы по проделанной работе.

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

1. Реверсинг и защита программ от взлома. Александр Панов.

2. Ассемблер и дизассемблирование. Владислав Пирогов.

3. Введение в крэкинг с нуля, используя OllyDbg. Рикардо Нарваха, пер. Aquila, http://wasm.ru

4. Отладка без исходных текстов. К.Касперски. Скачать книгу:

http://www.insidepro.com/kk/170/170r.rar



Похожие работы:

«Муниципальное бюджетное общеобразовательное учреждение Лицей с. Нижнеяркеево муниципального района Илишевский район Республики Башкортостан «Рассмотрено» «Согласовано» «Утверждаю» Директор МБОУ Лицей Рук. ШМО Зам. директора по УВР с.Нижнеяркеево _Г.Ф. Кашапова Пр. № от _2015г. _ Ф.Ф. Алтапова Пр.№ от _2015г. Рабочая программа учителя на 2015-2016 учебный год Предмет: ОБЖ Класс:10 Общее количество часов: 35 Количество часов в неделю:1 Программа: «Основы безопасности жизнедеятельности» для...»

«ПРАВИТЕЛЬСТВО ПЕРМСКОГО КРАЯ ПОСТАНОВЛЕНИЕ 23.11.2011 940-п № О системе подготовки населения в области гражданской обороны, защиты населения и территорий от чрезвычайных ситуаций природного и техногенного характера на территории Пермского края В целях повышения эффективности подготовки населения Пермского края в области гражданской обороны, защиты населения и территорий от чрезвычайных ситуаций природного и техногенного характера Правительство Пермского края ПОСТАНОВЛЯЕТ: 1. Утвердить...»

«РАБОЧАЯ ПРОГРАММА С2.Б.4 Геоинформационные системы Дисциплина: в муниципальной экономике 38.05.01 Экономическая безопасность Специальность: «Экономико-правовое обеспечение экономической безопасности»Специализация: Специалист Квалификация (степень): Волжский, 2015 г. 1. Цели освоения дисциплины «Геоинформационные системы в муниципальной экономике» Учебная дисциплина «Геоинформационные системы в муниципальной экономике» предназначена для освоения основ обработки и анализа пространственных данных...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Московский государственный лингвистический университет» УТВЕРЖДАЮ чебной работе v • М'ченая степень и/или ученое звание) И. ЪСисхлилиесс (подпись) (инициалы и фамилия) «1$ » ю е к я 2(И5г. ПРОГРАММА ПРЕДДИПЛОМНОЙ ПРАКТИКИ Направление подготовки 10.03.01 «Информационная безопасность» (код и наименование направления подготовки...»

«Аннотация В данном дипломном проекте рассматривается программное обеспечение, которое можно использовать для обучения студентов. Из числа программ производится выбор программы, которая, на мой взгляд, обладает лучшими качествами для обучения. Затем, с использованием этой программы разрабатываются лабораторные работы. Также в работе рассчитывается производительность мультсервисного узла. В экономической части дипломного проекта рассмотрена экономическая эффективность обучающих курсов. А раздел...»

«БЕЗОПАСНОСТЬ ПОЛЕТОВ ПАРТНЕРСТВО FLIGHT SAFETY FOUNDATION INTERNATIONAL № 0214 31 января 2014 г. Обзор изданий и источников по безопасности полетов, январь 2014, выпуск 2 Новости международных организаций Международная организация гражданской авиации (ИКАО) 2013 год стал самым безопасным в истории регулярных перевозок международной авиации Монреаль, 17 января 2014 года. Предварительные данные, опубликованные Международной организацией гражданской авиации (ИКАО), подтвердили, что 2013 год был...»

«Пояснительная записка Рабочая программа учебного курса «Основы безопасности жизнедеятельности» для 5-9-х классов (далее – Рабочая программа) разработана в соответствии с федеральным компонентом Государственного стандарта по основам безопасности жизнедеятельности на основе авторской комплексной программы общеобразовательных учреждений под общей редакцией А.Т. Смирнова (комплексная программа «Основы безопасности жизнедеятельности» для 5-11 классов, авторы А.Т. Смирнов, Б.О.Хренников. Издательство...»

«1. Рекомендуемый список профилей направления подготовки 022000 Экология и природопользование:1. Экология 2. Природопользование 3. Геоэкология 4. Экологическая безопасность 2. Требования к результатам освоения основной образовательной программы Бакалавр по направлению подготовки 022000 – Экология и природопользование в соответствии с целями основной образовательной программы и задачами профессиональной деятельности, указанными в ФГОС ВПО по данному направлению, должен иметь следующие...»

«I. Пояснительная записка Рабочая программа составлена в соответствии с требованиями Федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки 201000 Биотехнические системы и технологии (квалификация (степень) бакалавр), утвержденного приказом Министерства образования и науки РФ от 22 декабря 2009 г. N 805 и Разъяснениями по формированию примерных основных образовательных программ ВПО в соответствии с требованиями ФГОС (письмо...»

«CLPA/CCA/UNFCCC-COP21/3rd, ПРИЛОЖЕНИЕ ОСНОВНЫЕ СООБЩЕНИЯ СООБЩЕСТВА ВМО, АДРЕСОВАННЫЕ КСПариж, Франция, 30 ноября – 11 декабря 2015 г. Введение Рамочная конвенция Организации Объединенных Наций об изменении климата (РКИКООН) основана на научных фактах и выводах. В 1994 г., когда РКИКООН вступила в силу, в нашем распоряжении имелось меньше научных фактов об изменении климата, его причинах и воздействии, нежели сейчас. В последующие годы научная обоснованность повысилась настолько, что служит для...»

«ВВЕДЕНИЕ Переход дорожного хозяйства на инновационный путь развития обеспечивается широкомасштабным использованием новейших эффективных технологий и материалов с целью увеличения надежности и сроков службы дорожных сооружений, роста технического уровня и транспортно эксплуатационного состояния автомобильных дорог, снижения стоимости дорожных работ, сокращения аварийности и повышения экологической безопасности на автомобильных дорогах. Устойчивый экономический рост, повышение...»

«ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 1400 ПРОГРАММА РАЗВИТИЯ на 2014 – 2019 г.г. Москва ОГЛАВЛЕНИЕ Паспорт Программы развития ГБОУ СОШ № 1400 на 2014 2019 годы Глава 1. Теоретические и методологические основы создания Программы развития образовательного учреждения. 1.1. Понятие Программы развития и ее роль в ОУ. 1.2. Структура и содержание Программы развития. Выводы к Главе Глава 2. Разработка Программы...»

«Содержание паспорта Общее положение 1. Расписание занятости кабинета 2. Сведения о работниках 3. Анализ кабинета 4. 3 Документация 5. Информация о средствах обучения и воспитания 6. Мебель 6.1. 8 Технические средства обучения 6.2. 9 Посуда 6.3. 9 Хозяйственный инвентарь 6.4. 10 Технические средства по оздоровлению детей 6.5. 10 Развивающая предметно-пространственная среда 6.6. 11 Оборудование по безопасности 6.7. 12 Библиотека программы «Детство» 6.8. 13 Учебно-дидактический комплекс по...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых» (ВлГУ) УТВЕРЖДАЮ Проректор по учебно-методической работе А.А. Панфилов _ «_» 20_г. ПРОГРАММА ПОВЫШЕНИЯ КВАЛИФИКАЦИИ Объемно-планировочные и конструктивные решения, подготовка проектов мероприятий по обеспечению доступа маломобильных...»

«№32 5 АВГУСТА, 2015 Фокус: Устойчивое развитие в России и мире 1 НОВОСТИ «ЭКОЛОГИЧЕСКОГО СОЮЗА» СОБЫТИЯ Листок жизни поможет найти экологичные лакокрасочные материалы! Один из лидеров по производству лакокрасочных материалов в России, компания ЗАО «Акзо Нобель Декор», успешно прошла добровольную экологическую сертификацию международного уровня «Листок жизни» и подтвердила экологическую безопасность декоративных и функциональных покрытий бренда Dulux для здоровья человека и окружающей среды....»

«РАБОЧАЯ ПРОГРАММА по учебному предмету «Основы безопасности жизнедеятельности» 8а класса на 2015 – 2016 учебный год Составитель: Черкашин Иван Александрович преподаватель ОБЖ Пояснительная записка 1. Реквизиты документов, на основе которых создана программа:Рабочая программа по ОБЖ для обучающихся 8 классов составлена в соответствии с нормативными документами: Федеральный закон от 29.12.2012 N 273-ФЗ (ред. от 21.07.2014) Об образовании в Российской Федерации. Конвенция «О правах ребнка»...»

«Содержание 1. Целевой раздел стр. 5-96 1.1. Пояснительная записка 1.2. Планируемые результаты освоения обучающимися основной образовательной программы основного общего образования 1.2.1. Общие положения 1.2.2. Ведущие целевые установки и основные ожидаемые результаты 1.2.3. Планируемые результаты освоения учебных и междисциплинарных программ 1.2.3.1. Формирование универсальных учебных действий 1.2.3.2. Формирование ИКТ-компетентности обучающихся 1.2.3.3. Основы учебно-исследовательской и...»

«Оглавление ПРИЛОЖЕНИЕ №8 К ПРОГРАММЕ РАЗВИТИЯ ИННОВАЦИОННОГО ТЕРРИТОРИАЛЬНОГО КЛАСТЕРА ЯДЕРНО-ФИЗИЧЕСКИХ И НАНОТЕХНОЛОГИЙ В Г. ДУБНЕ МОСКОВСКОЙ ОБЛАСТИ 1. Анализ мембранного рынка и рынков эфферентной терапии.1.1 Рынок плазмафереза 1.2 Рынок гемодиализа 2. Анализ рынков технических систем безопасности 2.1 Анализ рынка технических средств контроля ядерных, взрывчатых и других опасных материалов. 3. Анализ рынка брахитерапии 4. Анализ рынка нанобиотехнологий 4.1 Анализ транспортных лекарственных...»

«ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №113 Юго-Западного окружного управления Департамента образования г. Москвы Рабочая программа по ОБЖ Класс Всего часов на учебный год: Количество часов в неделю: Составлена в соответствии с примерной программой по учебным предметам (ОБЖ), серия «Стандарты второго поколения», издательство Просвещение, 2010. Учебник: Основы безопасности жизнедеятельности: учеб. для учащихся 8 кл. общеобразовательных учреждений /...»

«Федеральное государственное бюджетное образовательное учреждение высшего образования «Саратовский государственный технический университет имени Гагарина Ю.А.» Кафедра «Природная и техносферная безопасность» РАБОЧАЯ ПРОГРАММА по дисциплине «Б.1.1.20 Безопасность жизнедеятельности» направления подготовки 21.03.01 «Нефтегазовое дело» Профиль «Разработка и эксплуатация нефтяных и газовых месторождений» форма обучения – заочная курс – 1 семестр – 2 зачетных единиц – 5 всего часов – 180, в том числе:...»



 
2016 www.programma.x-pdf.ru - «Бесплатная электронная библиотека - Учебные, рабочие программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.