О, сколько нам фейлов чудных готовит билагея дух

FLAME :-E

Postby fk0 » 29 Jul 2017, 15:25

* Origin: зип файл! (2:5030/1559)
User avatar
fk0
 
Posts: 1522
Joined: 07 Apr 2007, 01:08
Group: Registered users

Postby lvd » 30 Jul 2017, 13:47

Хаха, правильно ли я понял, что в ламопроцессуарах хуй86 нет возможности различить, идёт ли обращение в стек или в хип? И как аццкий костыль, в блевистах и хернях выделение памяти для стека и из хипа идёт кусками по 4к, вдруг типа пересекутся?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7158
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby fk0 » 02 Aug 2017, 00:17

В общем-то это не бага, а фича (программа сама стек в хип положить может и кладет в ряде случаев). Другое дело, что в x86 нет обнаружения ПЕРЕПОЛНЕНИЯ СТЕКА. Вот это да, пиздец. Даже мелкие пик-контроллеры умеют (регистр SPLIM). Переполнение пытаются ловить сегментами, да не очень выходит, ибо переполняться может очень сильно, на все пару гигабайт.
* Origin: зип файл! (2:5030/1559)
User avatar
fk0
 
Posts: 1522
Joined: 07 Apr 2007, 01:08
Group: Registered users

Postby lvd » 02 Aug 2017, 15:00

ну если можно двигать SP то о защите от переполнения можно не говорить. И как ты себе вообще такую защиту представляешь? С учетом того, что в стек не только коллы реты пуши и попы лазают. То есть defective by design.

ps: не сомневаюсь, что костыль с выделениями по 4к в какойнить grsecurity есть уже лет 10... а в ядро не тянут по причине снижения быстродействия.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7158
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby deathsoft » 02 Aug 2017, 22:29

fk0 wrote:Другое дело, что в x86 нет обнаружения ПЕРЕПОЛНЕНИЯ СТЕКА. Вот это да, пиздец.

Ну конечно же есть, и был всегда еще с 286го, но пришли ебучие умники и сказали, что сегменты хуета и они не нужны. Читай интел доку про segment limit. Под стэк заводился отдельный сегмент со своей базой и своим лимитом, который ни с какими хипами не пересекался и был аппаратно изолирован от всего как в гарвардской архитектуре.
User avatar
deathsoft
 
Posts: 4635
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby lvd » 03 Aug 2017, 01:34

И как потом адресовать данные на стеке указателем-то?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7158
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby thims » 03 Aug 2017, 01:47

А нах эта защита сдалась, можно узнать?
User avatar
thims
 
Posts: 155
Joined: 17 Dec 2011, 01:40
Location: Калининград
Group: Registered users

Postby deathsoft » 04 Aug 2017, 00:03

lvd wrote:И как потом адресовать данные на стеке указателем-то?

Внезапно также как обычно ss:esp, только стэк лежит в отдельном сегменте и с хипом не пересекается, вто что в стеке адресутеся ss:[esp+nnnnnnnn], где в ss загружен селектор того самого защищенного сегмента стэка с базой и лимитом.
User avatar
deathsoft
 
Posts: 4635
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby fk0 » 04 Aug 2017, 01:39

lvd wrote:ну если можно двигать SP то о защите от переполнения можно не говорить. И как ты себе вообще такую защиту представляешь?


Специальный регистр. Если стек ниже него -- исключение. В пиках так сделано. Если умышленно переставил -- и регистр поменяешь. А если случайно (баг, переполнение) -- это будет обнаружено.
* Origin: зип файл! (2:5030/1559)
User avatar
fk0
 
Posts: 1522
Joined: 07 Apr 2007, 01:08
Group: Registered users

Postby fk0 » 04 Aug 2017, 01:40

deathsoft wrote:сегменты хуета и они не нужны


Действительно хуета, применимая только к программированию на ассемблере. Адрес в стеке должен адресоваться так же, как и любой другой указатель. Хочеть всего-лишь исключения при условии SP < SPLIM.
* Origin: зип файл! (2:5030/1559)
User avatar
fk0
 
Posts: 1522
Joined: 07 Apr 2007, 01:08
Group: Registered users

PreviousNext

Return to Флейм

Who is online

Users browsing this forum: No registered users and 2 guests

cron