1.1, A.Stahl (ok), 11:16, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –14 +/– |
>Проблема обусловлена выходом за границы буфера
Просто поразительно, что люди умудряются делать с помощью такой, казалось бы, банальной вещи. Я сам сишник/плюсовик, но всегда воспринимал такие ошибки как потенциальный сегфолт, но не более того. Да и не я один такой "тупой". Буквально лет 5 назад по этой теме ничего не было слышно. А теперь чуть ли не каждая вторая уязвимость базируется на этом принципе.
Я до сих пор не понимаю в чём суть. Ну ок: записываем октетами, а считываем по 32 бита. Ладно -- у нас есть возможность впихнуть получателю этих данных 3 лишних байта. Звучит не страшно. Тем более, что эти данные -- видеобуфер. Блин, мистика какая-то...
| |
|
2.5, Аноним (-), 11:38, 12/05/2016 [^] [^^] [^^^] [ответить]
| +8 +/– |
> Буквально лет 5 назад по этой теме ничего не было слышно
Ты издеваешься что-ли?
| |
|
|
4.9, Аноним (-), 11:42, 12/05/2016 [^] [^^] [^^^] [ответить]
| +12 +/– |
> Ок, 10. Конкретный срок не важен...
Ну тогда согласен, действительно, 100 лет назад о них никто не слышал.
| |
|
5.39, Аноним (-), 15:36, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> Ок, 10. Конкретный срок не важен...
> Ну тогда согласен, действительно, 100 лет назад о них никто не слышал.
16 лет назад вышла первая версия PAX https://en.wikipedia.org/wiki/PaX_%28Linux%29 защищающая GNU/Linux от атак переполнения буфера.
10 лет назад уже просветлённый народ во всю использовал Hardened Gentoo
Лет 10 назад на этой странице https://grsecurity.net/research.php были ссылки на статьи середины 90 помню там была статья уважаемой M$ о методах защиты от перепполнения буфера в вантузе. Вантуз NT-4.0 (1996г выпуска) имел средства защиты от переполнения буфера.
OpenBSD их имеет с самого начала.
Может другие Юникс (Trusted Solaris?) имели защиту от переполнения буфера ещё раньше.
| |
|
6.66, ДДТ (?), 15:40, 16/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
толку что Microsoft их имел, стоит посмотреть сейчас в 2016 году статистику по уязвимостям - всё тоже самое как и 10 лет назад, сплошные переполнения буфера
| |
|
|
4.16, freehck (ok), 12:14, 12/05/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
Угу. Десять. А тридцать не хотите?
Переполнение буфера является самым распространённым классом уязвимостей, и причины его кроются в реализации работы со стеком и кучей конкретных языков. Существует и эксплуатируется с незапамятных времён. Тот же червь Морриса был основан именно на этой уязвимости, а он был написан в 1988м.
| |
|
5.21, Аноним (-), 12:41, 12/05/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
>работы со стеком и кучей конкретных языков.
Скорее самим принципом организации памяти потока исполнения в процессорах.
Помнится мне civ на z80 вообще работала как самомодифицируемый код при обходе карты :)
| |
|
6.22, Аноним (-), 12:42, 12/05/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Помнится мне SIMCITY на z80 вообще работала как самомодифицируемый код при обходе
> карты :)
не civ а simcity, перепутал.
| |
6.33, Аноним (-), 14:54, 12/05/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>работы со стеком и кучей конкретных языков.
> Скорее самим принципом организации памяти потока исполнения в процессорах.
Переполнение буфера - фундаментальная проблема архитектуры х86 (фон Неймана), в отличие от Гарвардской архитектуры (Motorola 65000, PIC, Atmel AVR, Intel 8051). Главное отличие Гарвардской архитектуры - "хранилище инструкций и хранилище данных представляют собой разные физические устройства" (Wikipedia)
К сожалению прогресс процессоров пошел по пути единого хранилища кода и данных. Соответственно, уязвимости этого класса неизбежны.
| |
|
7.34, freehck (ok), 15:15, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Соответственно, уязвимости этого класса неизбежны.
Вовсе не неизбежны. Есть языки, в которых запись в буфер контроллируется, и если запись пытается выйти за его границы, выдаётся ошибка. Это сказывается на производительности, разумеется. Поэтому, ну к примеру, в Ocaml, эту возможность можно отключать для продакшена, но активно использовать при тестировании.
Хотя конечно, если бы Гарвардская архитектура стала популярной, это бы решило проблему на корню.
| |
|
8.41, Аноним (-), 15:53, 12/05/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Все производители процов уже решили эту проблему, некоторые изначально alpha, ... текст свёрнут, показать | |
|
|
Часть нити удалена модератором |
10.53, Аноним (-), 18:19, 12/05/2016 [ответить] | +1 +/– | CPU может посегментно метить память при выделении данные или код Это чуть жрёт ... текст свёрнут, показать | |
|
|
|
|
|
9.48, Аноним (-), 17:05, 12/05/2016 [^] [^^] [^^^] [ответить] | –3 +/– | Для этого есть другая система - RAP https grsecurity net rap_announce php htt... текст свёрнут, показать | |
9.63, Аноним (-), 16:48, 13/05/2016 [^] [^^] [^^^] [ответить] | +2 +/– | ASLR - рандомизация расположение библиотек внутри адресного пространства процесс... большой текст свёрнут, показать | |
|
|
7.42, angra (ok), 16:15, 12/05/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
Молодец, почитал русскую википедию, где как обычно написана чушь. Теперь попробуй применить мозг и найди как эксплуатировать переполнение буфера в гарвардской архитектуре. Дам подсказку: стек.
| |
|
8.44, Аноним (-), 16:33, 12/05/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Перекомпиляй всё с поддержкой SSP только добавляй пацанячий флаг -fstack-protect... текст свёрнут, показать | |
8.60, Аноним (-), 00:12, 13/05/2016 [^] [^^] [^^^] [ответить] | +/– | Уважаемый, я с Гарвардской архитектурой работал с ассемблером еще на 6502 Ссылк... текст свёрнут, показать | |
|
9.64, Аноним (-), 18:44, 13/05/2016 [^] [^^] [^^^] [ответить] | +1 +/– | До седин дожил, ума не нажил https en wikipedia org wiki Return-oriented_prog... текст свёрнут, показать | |
|
10.67, J.L. (?), 11:28, 27/10/2016 [^] [^^] [^^^] [ответить] | +/– | и как ты на гарвардской подменишь заполнишь адреса возврата в стеке которые не д... текст свёрнут, показать | |
|
|
|
7.58, all_glory_to_the_hypnotoad (ok), 21:18, 12/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Переполнение буфера - фундаментальная проблема архитектуры х86 (фон Неймана), в отличие от Гарвардской архитектуры...
Что за бред несёшь, наркоман. Точно такие же проблемы у Гарвардской архитектуры, только переполнения несколько иначе эксплуатируются и с чуточку большей трудоёмкостью.
| |
|
|
|
|
|
2.10, Аноним (-), 11:42, 12/05/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Ладно -- у нас есть возможность впихнуть получателю этих данных 3 лишних байта.
Балбес, там проблема в адресной арифметике для типов разных размеров, выйти можно на N * 3 байт в адресном пр-ве. Шёл бы уроки делать.
| |
|
3.12, A.Stahl (ok), 11:48, 12/05/2016 [^] [^^] [^^^] [ответить]
| –4 +/– |
Но ведь код, читающий и пишущий, обычно разнесены. Каким образом тут может накосячить адресная арифметика? Ты думаешь, что кто-то записал сотню байт, а потом пытается читать эту же сотню, но уже 32битных значений? Так ошибиться нелегко.
Или ты, убер-гросс-антибалбес-второкурсник, таки почитал код?
| |
|
4.56, Ordu (ok), 21:04, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Но ведь код, читающий и пишущий, обычно разнесены. Каким образом тут может накосячить адресная арифметика?
Адресная арифметика позволяет записать куда-нибудь в другое место. А вот что это за другое место... Тут уж как повезёт. Зависит от многих факторов: как далеко за границы буфера можно вылезти, где этот буфер расположен -- в идеале если на стеке, если в куче то как правило сложнее записать данные полезным образом. Но сложнее -- не значит, что невозможно. Например, на жабаскрипте проворачивали такой финт ушами: забивали всю кучу многими копиями небольшого кусочка машинного кода, предварённого многими командами nop. Потом освобождали выделенную память. А потом использовали переполнение буфера, с тем чтобы совершить jmp на плюс-минус рандомный адрес в куче. С довольно высокой вероятностью переход совершался на какой-нибудь из однобайтовых nop'ов, которые процессор услужливо выполнял, добирался до вредоносного кода и выполнял его. Финита ля комедия.
И описание этого я читал в статье Касперски, это было лет десять назад и при всём при том, что статья содержала новые для меня идеи, ничего такого из ряда вон выходящего я в ней не видел. Карл, 10 лет назад! Это уже было рутиной, Карл!
| |
|
|
2.14, freehck (ok), 11:54, 12/05/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
>> Проблема обусловлена выходом за границы буфера
> Просто поразительно, что люди умудряются делать с помощью такой, казалось бы, банальной вещи.
> Я до сих пор не понимаю в чём суть.
> Блин, мистика какая-то...
Чтобы понять, в чём суть, можете почитать Козиола "Искусство взлома и защиты систем". Этот класс уязвимостей очень подробно описывается буквально в первых главах.
| |
2.20, Michael Shigorin (ok), 12:40, 12/05/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> Проблема обусловлена выходом за границы буфера
> Я сам сишник [...] Буквально лет 5 назад по этой теме ничего не было слышно.
Шутить изволите? Гляньте архивы bugtraq@ из девяностых, будете сильно удивлены.
| |
|
3.27, Аноним (-), 13:03, 12/05/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
Запчем вы мечите бисер пред свиньями, разве не понятно что товарищ троллит.
| |
|
4.28, Аноним (-), 13:14, 12/05/2016 [^] [^^] [^^^] [ответить]
| +10 +/– |
Не очевидно, что троллит. Тут есть персонажи с альтернативным устройством головы. А ответ же полезен тем, что он публичный и его могут прочитать другие люди.
| |
|
5.32, Зулус (?), 14:41, 12/05/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Что твоей ни в чём не повинной программулинкой могут воспользоваться злые дядьки дабы гадить в машинах юзеров - вот об этом 10 лет назад задумывались лишь единицы особо начитанных кодеров. Проблема-то была, но была мало кому нужна. А теперь это целый чёрный рынок.
| |
|
6.36, Michael Shigorin (ok), 15:26, 12/05/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Что твоей ни в чём не повинной программулинкой могут воспользоваться злые дядьки
> дабы гадить в машинах юзеров - вот об этом 10 лет назад задумывались лишь единицы
> особо начитанных кодеров. Проблема-то была, но была мало кому нужна.
> А теперь это целый чёрный рынок.
Вообще-то десять лет тому это был уже не просто чёрный рынок (эксплойтами торговали и раньше), а ответвление _организованной_ преступной деятельности, по моим наблюдениям.
А "единицы задумывались" не десять -- как минимум лет двадцать тому уже вполне. Дальше смотреть не берусь, т.к. знаю совсем лоскутно/опосредованно...
| |
|
|
|
|
2.25, Аноним (-), 13:01, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
Ключевое слово в новости "потенциально". Просто сейчас security circus устраивает истерику вокруг любого переполнения буфера, а уж позволяет оно выполнить код или нет совершенно неважно.
| |
|
3.61, cmp (ok), 02:54, 13/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
Это обещают уже лет 15-20 - допилить яву, убрать утечки памяти, повысить производительность до сравнимой с нативной, ага-ага.
Кстате, даже если выполнят обещания, то в новом прекрасном мире отрывается миллион других возможностей, типа атаки через подмену пакетов в репозитариях.
| |
|
|
1.2, Аноним (-), 11:23, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> Уязвимости присвоено кодовое имя
Объясните мне, старпёру, в чём сакральный смысл давать уязвимостям красочные маркетинговые имена? Чтобы потом в описании писать «Не содержит Dark Portal и асбест»?
| |
|
2.6, A.Stahl (ok), 11:39, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
Вероятно это типовая уязвимость и так банально проще. Это как можно сказать Е500, а можно "пищевая сода". Далеко не каждый человек ассоциирует эти термины. А скажи "секвикарбонат натрия", так это и химика может заставить задуматься.
| |
|
3.19, химик (?), 12:38, 12/05/2016 [^] [^^] [^^^] [ответить]
| +12 +/– |
1. сеСквикарбонат натрия
2. сесквикарбонат натрия - это не пищевая сода
3. пищевая сода - это гидрокарбонат натрия (aka "натрий двууглекислый")
| |
|
2.8, Аноним (-), 11:40, 12/05/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
>> Уязвимости присвоено кодовое имя
> Объясните мне, старпёру, в чём сакральный смысл давать уязвимостям красочные маркетинговые
> имена? Чтобы потом в описании писать «Не содержит Dark Portal и
> асбест»?
Новая мода, маркетолухи добрались до CVE. Дальше будет ещё хуже.
| |
|
3.15, Аноним (-), 12:07, 12/05/2016 [^] [^^] [^^^] [ответить]
| –4 +/– |
опять очередной высер запостил. Все уже и так поняли что ты в любую хрень веришь.
| |
|
4.35, Andrey Mitrofanov (?), 15:18, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
>очередной высер запостил
>в любую хрень веришь.
Согласен, про твои седины погорячился, и про "старпёр" -- хрень. Бывает.
| |
|
|
|
1.17, Аноним (-), 12:25, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>качестве обходного пути защиты для пользователей Xen рекомендуется использовать виртуальную видеокарту "cirrus" (в настройках stdvga=0, vga="cirrus").
есть лучше способ: не использовать видеокарту в виртуалке
| |
1.18, й (?), 12:29, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> Debian (обновление выпущено только для jessie, для wheezy исправления не будет)
вот такой хреновый lts до 2018 года, ребята
| |
|
2.23, Аноним (-), 12:49, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> Debian (обновление выпущено только для jessie, для wheezy исправления не будет)
> вот такой хреновый lts до 2018 года, ребята
А откуда уверенность что не забэкпортят?
| |
|
3.24, tolid (?), 12:57, 12/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
имхо, если уж LTS, то должно быть в стандартных пакетах, а не бэкпортах
| |
|
|
1.30, Аноним (-), 13:56, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> (обновление выпущено только для jessie, для wheezy исправления не будет).
Кто там любил systemd? теперь видите, к чему приводит отход от Unix-way?
| |
1.31, iZEN (ok), 14:17, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
Если бы все писали на паскале-подобном языке, то проблем такого плана в принципе не существовало бы в индустрии IT. Но сишники любят вольности, а возможность стрелять себе под ноги считают основополагающим принципом свободы.
| |
|
2.37, IMHO (?), 15:29, 12/05/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
да нет, я заметил, если люди ручками не управляют памятью то они даже не знают для чего нужно очистка "мемори"
| |
|
3.45, iZEN (ok), 16:47, 12/05/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ну ведь осилили написать на C++ автоматический гарбидж-коллектор в JVM. Даже несколько видов - с разными стратегиями! А сами-то всё на указателях и смартпоинтерах сидят. "Сапожники без сапог" :))
| |
|
4.49, IMHO (?), 17:11, 12/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Даже несколько видов
иногда пишешь даже свой, так что много этих менеджеров управления
| |
4.52, Crazy Alex (ok), 18:00, 12/05/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
Ну вот поэтому софт на плюсах, например, может вернуть неиспользуемую память системе... Для плюсов, чтобы ты знал, реализаций GC - масса. В той же мозилле используется, к примеру. Но в плюсовом мире как-то не принято считать, что одно решение годится для всех... впрочем, что тебе доказывать.
| |
|
|
|
1.57, InventoRs (ok), 21:08, 12/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
proxmox на форуме написали что у них падает windows в среде эмулияции после патчей, ппц.
| |
|
2.62, leap42 (ok), 03:15, 13/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
А вы чего ожидали? Это всё, что они могут: написать на форуме и ждать пока кто-то компетентный починит.
| |
|
|