ИБ, 07 лекция (от 15 ноября)
Материал из eSyr's wiki.
Сегодня мы вспоминаем ассемблер, рассм. сферический процессор в вакууме, не конкретную модель, но отдельные особенности, важные для уязвимостей.
Рассм. будут ососбенности на платформе Linux, поэтому рассм. две нотации — Intel исп. свою нотацию в своих техдоках, в Linux е=практ. единственный комплилятор это gas, синтаксис у него AT&T.
Сферический процессор в вакууму сост. из ..., устройства ввода-вывода могут читать/писать байты, в оперативной памяти хранятся байты.
Далее, собственно процессор, уту он у нас уже несколько овальный.
Регистры. ...
Виртуальная память процесса. Каждая программа считает, что она единолично управлет ресурсами системы. По крайней мере, ОС пытается сделать вид. У каждого процесса есть своя виртуальная память.
Важная ососбенность всего этого: все сегменты стека расстут снизу вверх. Стек же растёт вниз. Почему это важно: push и mov работают как бы наоборот, и это ведёт к ряду интересных эффектов, которые позв. эксплуатировать уязв. вида переполн.стека 15 лет назад.
Подробнее про стек. Стек работает по алг. FIFO. Для работы со стеком есть спец. архитектуры. Ничто не мешает при этом работать со стеком как с линейной памятью. Что хранится в стеке: локальные переменные, аргументы, адрес возврата.
Важно помнить, что call/ret/push меняют esp/ebp. esp всегда смотрит на вершину стека. Зная только его, мы не можем знать, где мы вообще. Для этого есть ebp.
Про размещение объектов. Есть три способа: статически, динамически или автоматически. Автоматич.разм. исп. для лок. переменных и параметров функций.
Введение в информационную безопасность
01 02 03 04 05 06 07 08 09 10 11 11
Календарь
Октябрь
| 04 | 11 | 18 | 25 | |
Ноябрь
| 01 | 08 | 15 | 22 | 29 |
Декабрь
| 06 | 13 | 20 |