The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проект grsecurity опубликовал реализацию механизма защиты RAP для ядра Linux

07.02.2017 10:09

Проект grsecurity представил первый выпуск набора патчей с реализацией механизма защиты RAP (Reuse Attack Protector) для ядра Linux, позволяющего блокировать работу эксплоитов, основанных на технике заимствования кусков кода. Набор патчей включает всю запланированную функциональность и опубликован под лицензией GPLv2 в публичной тестовой ветке grsecurity для ядра Linux 4.9 (стабильные ветки grsecurity распространяются платно).

Техника заимствования кусков кода используется для эксплуатации переполнений буфера в условиях, когда в страницах памяти стека и буфера установлен запрет на исполнение кода. Для организации выполнения кода атакующего в таких условиях логика выполнения shell-кода формируется с использованием методов возвратно-ориентированного программирования (ROP) - атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися в загруженных библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания библиотечных функций). Работа эксплоита сводится к построению цепочки вызовов подобных блоков ("гаджетов") для получения нужной функциональности. Для автоматизации выявления гаджетов применяются специальные инструменты. Используя готовые блоки машинных инструкций (гаджеты) можно организовать достаточно сложные операции, в том числе организовать работу условных операторов и циклов.

Реализованная на уровне ядра защита RAP основана на организации контроля за переходом в точку вызова функции. Для проверки адресов, по которым производится возврат из функций, используется проверочный ключ (RAP cookie), который сохраняется в резервном регистре (r12). Ключ вычисляется сразу после сохранения в стек адреса возврата и проверяется перед осуществлением выхода из функции. Если в момент выхода сохранённый и вычисленный ключи не совпадают, то переход на код функции был произведён не на начало функции.

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

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

Предложенный проектом grsecurity подход позволяет достаточно надёжно блокировать атаки на основе заимствования кусков кода, но при этом оказывает минимальное влияние на производительность. Накладные расходы от применения RAP оцениваются в замедлении работы ядра на 5.4%, что ниже, чем при применении системы защиты от эксплуатации стека SSP (Stack Smashing Protector), используемой в Chrome OS. Отмечается, что в реальных условиях паразитная нагрузка от RAP заметно ниже, чем показатели синтетического теста, оценивающего производительность при наихудшем стечении обстоятельств.

В анонсе также упоминается о подготовке расширенной коммерческой реализации RAP, демонстрирующую более высокую производительность, снабжённую средствами статического анализа во время компиляции, включающую дополнительный высокооптимизированный вероятностный механизм XOR-защиты адресов возврата, поддерживающую C++ и LTO (оптимизация на этапе связывания). Коммерческая редакция развивается для организации финансирования продолжения разработки и проведения исследований в новых направлениях. Также отмечается, что подана заявка на получение патента, описывающего методы, лежащие в основе технологии RAP.

  1. Главная ссылка к новости (https://www.grsecurity.net/rap...)
  2. OpenNews: Проект grsecurity представил защиту от атак с использованием заимствования кусков кода
  3. OpenNews: Проект Tor представил прототип защищённого смартфона на платформе Android
  4. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  5. OpenNews: Разработчики OpenBSD подготовили для libc механизм защиты anti-ROP
  6. OpenNews: Проект grsecurity ограничивает доступ к стабильным веткам
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45992-grsecurity
Ключевые слова: grsecurity, rap
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 12:28, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > В анонсе также упоминается о подготовке расширенной коммерческой реализации RAP, демонстрирующую более...

    Типа, ну вы тут жуйте плебеи, а за нормальную версию нуно платить. А как же https://www.grsecurity.net/contribute.php ? Получается кинули донатчиков.

     
     
  • 2.35, Андрей (??), 20:41, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Точно так же, как сотрудники Intel, которые комитят в gcc. А их коллеги работают над Intel Compiler, которые в разы опережает gcc, когда речь заходит об использовании распараллеливающих инструкций.
     

  • 1.3, Аноним (-), 12:38, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    А чо - хавленый selinux, который шляпа так активно двигала, не помогает?
     
     
  • 2.4, Владимир (??), 12:50, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Хваленый SELinux - это когда вы вешаете замок чтобы никто не пролез. Защиты всякие. Но если уж пролез - тут RAP его поймает и надает по попе.

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

     
     
  • 3.18, . (?), 17:22, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Хваленый SELinux - это когда вы вешаете замок чтобы никто не пролез. Защиты всякие. Но

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

    > если уж пролез -

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

     
     
  • 4.25, Валик228 (?), 18:36, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    нормальная реализация. сложновата чуток...
    в grsecurity есть возможность отключать подобные ловушки для той или иной программы или библиотеки.
    а виртуальные машины ничего не виртуализируют. виртуализирует процессор, как бы добавляя еще одно кольцо защиты (ring -1) и состояние всех регистров, в т.ч. и r12 (обычный в общем-то регистр) сохраняется в специально-отведенной для того области памяти...
     
     
  • 5.56, vitvegl (?), 10:56, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что там сложного? Все просто - пользователь, роль, тип
     

  • 1.6, Аноним (-), 13:19, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Можетю. "защиты от RAP"?
     
     
  • 2.48, irinat (ok), 01:24, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет. RAP (Reuse Attack Protector) защищает от ROP (Return Oriented Programming) атак.
     

  • 1.9, Аноним (-), 15:16, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Объясните, кто грамотный. Вот, они под эту защиту целый регистр (r12) резеривруют. Зачем тогда возня с cookie? Вот у нас теперь 2 регистра есть, зарезервированных под стек: rsp и r12 (а вместе с rbp и все 3). Почему тогда не сделать 2 стека, один только для адресов возврата, другой только для локальных переменных? Тогда адрес возврата принципиально невозможно будет переписать.
     
     
     
    Часть нити удалена модератором

  • 3.14, Crazy Alex (ok), 15:47, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Экий печальный бред...
     
  • 3.64, Аноним (-), 16:16, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ... ЯП (java, C#, ..) ... в них стеков нет

    А куда ж этот стек из процессора (речь ведь о x86_64 архитектуре?) то делся? Или CALL/RET научились мистическим образом выяснять, на каком ЯП был написан код, и если на "защищённых" - то работать без стека?

     
  • 2.77, die_russofobs Не раб STEAMDRM (?), 21:30, 14/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > "... Почему тогда не сделать ..."

    Потому что тогда хакеру будет сложней работать... Ему прйдётся найти другие дыры заложенные разработчиком, а значит разработчику занеся их в errata в следующей еврсии ЦПУ - ломать голову какую другую дырку сделать, а так все довольны - и волки сыты и шакалы.

    А, изначально, в начале становлени x86 - потому что в [MS-]DOS безопасность
    - даже номинально отсутствовала в ОС, по той же причине.

     

  • 1.10, Аноним (-), 15:25, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А с каких пор можно продавать патчи на ядро ?
     
     
  • 2.13, Аноним (-), 15:37, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Всегда можно было. Более того, они не обязательно должны быть под GPL.
     
     
  • 3.32, Аноним (-), 20:22, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ты перепутал патчи и модули ядра.
     
     
  • 4.38, Crazy Alex (ok), 21:24, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И патчи тоже можно. Другое дело, что после наложения патча ты получившийся продукт распространять не сможешь.
     
     
  • 5.39, Аноним (-), 22:04, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    то есть GPL не мешает пропринетарщикам зажимать код ?
     
     
  • 6.51, Crazy Alex (??), 04:31, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скажем так - сильно затрудняет это дело. Настолько, что как мейнстрим такой подход не годится. А так - теоретически можно вообще бинарный патч для ksplice делать и распространять, пожалуй.
     
     
  • 7.55, Вы все врете (?), 09:23, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > сильно затрудняет это дело

    Ребята из grsecurity чувствую себя при этом прекрасно.

     
     
  • 8.78, Аноним (-), 09:24, 17/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Перед GPL и Столманом все ровны, но ребята из grsecurity ровнее других Альтерна... текст свёрнут, показать
     
  • 7.76, Michael Shigorin (ok), 13:25, 11/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Скажем так - сильно затрудняет это дело.

    Это вбросчик был, если что.

    PS re #19: порой ещё и автомодер по результатам отсмотра набросов людьми...

     

  • 1.19, Crazy Alex (ok), 17:31, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О, да тут, я смотрю, модер порезвился. Непонятно, правда, с чего. Ну повторю, не жалко.

    Чем бы дитя не тешалось - лишь бы в мейнлайн не совало. А пока где-то в левом патче сидит эта штука - вреда вроде не особо много, может, даже польза для кого-то есть.

     
     
  • 2.21, . (?), 17:36, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А пока где-то в левом патче сидит эта штука - вреда

    grsecurity все же не какой-то левый патч. И настолько странных идей в нем ранее, по-моему, не наблюдалось.

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


     
     
  • 3.23, Аноним (-), 17:42, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >grsecurity все же не какой-то левый патч.

    Давай ты прямо сейчас назовешь имена людей, которые представляют компанию Pax Team.

     
     
  • 4.27, пох (?), 18:52, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    давай ты прямо сейчас не подглядывая в файлик назовешь имена людей, которые не "представляют", для рекламного хайпа, а реально влияют на содержимое архива linux-4.xxxx.tar.xz
    линуса вычеркнем, рекламный хайп. Кого из оставшихся ты помнишь? При том что это как минимум на пару порядков более распространенный проект. Правда, и на пару порядков более крупный, так что помнить надо хотя бы первых пятнадцать человек.

     
     
  • 5.36, Аноним (-), 21:12, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Стоп Давай сначала отвечать за базар Нонейм шлет патчи Нонейм НЕ является пер... большой текст свёрнут, показать
     
     
  • 6.42, тоже аноним (?), 23:52, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Нонейм шлет патчи.

    кому это он их шлет? Он их никому не шлет, в паблик вываливает.

    > Нонейм НЕ является персоной с финансовой независимости.

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

    > Не выпускает стейбл-версии

    что такое "стейбл версия" в понимании grsec?
    Что такое "stable version" в понимании linux crowd?
    Ok, давай я отвечу на второй вопрос, причем это будет ответ из 2002-го года (возможно, даже можно найти его где-то в недрах гугля, хотя вряд ли, учитывая, что он сделал с базой dejanews): "это означает только то, что не будут меняться _внутриядерные_ интерфейсы - и мы, разработчики, можем на это полагаться".(c) ank в моем примерном пересказе.

    С тех пор понятия стабильной версии нет вообще - "стабильная версия- в вашем дистрибутиве" (c) линус.

    > Можно ли доверять такому коду от анона? ИМХО, нет. В любой момент ФБР зашлет ему мильон
    > баксов и он пропихнет бэкдор.

    что мешает ФБР заслать счет на пиццот баксов ежемесячно и уведомление что в интервью Линуса или кого-то из его окружения USCIS нашли некоторые неувязочки, и от его поведения (а так же своевременной выплаты) зависит, не полетит ли он в наручниках обратно в свою финляндию (или в Бангалор, там в окрестностях CREDITS десяток лет как полно людей с характерными именами) вот прямо завтрашним рейсом? Ну вот конкретно линуса - хайп может помешать. А имена индусов ты сам только что и ниасилил вспомнить, и никто их не вспомнит.

    А анонимоуса еще надо найти и прищучить (если он сидит на территории какой-нибудь не слишком дружественной к ФБР страны, это тоже может оказаться несколько затруднительно)

     
     
  • 7.44, Аноним (-), 00:11, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    https bugzilla kernel org show_bug cgi id 123211 https www grsecurity net do... большой текст свёрнут, показать
     
     
  • 8.46, тоже аноним (?), 01:04, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну вот вывалено в паблик - хотите пользуйтесь, не хотите - мимо идите хорошо ч... большой текст свёрнут, показать
     
     
  • 9.50, gogo (?), 03:50, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Фишка GPL в том, что они должны предоставить пользователю свои патчи ПОД ЛИЦЕНЗИ... текст свёрнут, показать
     
     
  • 10.52, Crazy Alex (??), 04:38, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Э grsecurity я в гробу видел по десятку причин, но вот тут ты не прав Патч ... текст свёрнут, показать
     
     
  • 11.54, gogo (?), 08:43, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы неправы В GPL указано распространять экземпляры такого произведения, произв... текст свёрнут, показать
     
     
  • 12.58, Аноним (-), 11:20, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Производный продукт http www gnu org licenses gpl-faq en html GPLInProprietar... текст свёрнут, показать
     
     
  • 13.70, gogo (?), 14:43, 09/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дорогая, патч без ядра - это вообще ничто Сам по себе он ничего не может делать... текст свёрнут, показать
     
  • 9.57, Аноним (-), 10:58, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я не знаю, что такое stable-версия Мне что, надо купить чтобы узнать Вот т... большой текст свёрнут, показать
     
     
  • 10.59, Аноним (-), 14:01, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    но истерически верещишь, обвиняя автора во всех смертных грехах и еще чего-то от... большой текст свёрнут, показать
     
     
  • 11.63, Аноним (-), 16:13, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вобщем, ничего ты не выяснил Ответов на вопросы не дал Все что высказал вода ... большой текст свёрнут, показать
     
     
  • 12.66, . (?), 17:27, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    0 ты не умеешь читать - то ли по-английски, то ли вообще в виду 0 ты так и н... большой текст свёрнут, показать
     
  • 3.26, Crazy Alex (ok), 18:43, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Есть мейнлайн и есть левые патчи. Что касается конкретно grsecurity - то было б у них поменьше пафоса (как минимум - елси б они не претендовали на универсальность, а конкретно указывали бы ниши, на которые они претендуют) - лично я бы относился к ним лучше. А так - ещё одни masturbating monkeys, считающие, что главное - безопасность любой ценой.
     
     
  • 4.33, Аноним (-), 20:24, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть мейнлайн и есть левые патчи. Что касается конкретно grsecurity - то
    > было б у них поменьше пафоса (как минимум - елси б
    > они не претендовали на универсальность, а конкретно указывали бы ниши, на
    > которые они претендуют) - лично я бы относился к ним лучше.
    > А так - ещё одни masturbating monkeys, считающие, что главное -
    > безопасность любой ценой.

    А какая цена платится при использовании этого патча?

     
     
  • 5.37, Crazy Alex (ok), 21:21, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да какая и всегда с заботой о безопасности - потеря производительности и ограничение возможностей, ну и дополнительная сложность. С этой штукой из топика, например, разного рода ассемблерные фокусы вида "запрыгнул в середину функции" явно будут проблемными. Вообще есть очень мало техник (если есть вообще), которые можно применить только злонамеренно. Подозреваю, что с какими-нибудь вариациями на тему ksplice оно тоже дружить не будет.
     
  • 4.43, тоже аноним (?), 23:57, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть мейнлайн и есть левые патчи. Что касается конкретно grsecurity - то
    > было б у них поменьше пафоса (как минимум - елси б
    > они не претендовали на универсальность,

    у них пока получается.

    > а конкретно указывали бы ниши, на которые они претендуют)

    ниша совершенно понятная - когда тебе действительно важна безопасность.

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

    > А так - ещё одни masturbating monkeys, считающие, что главное -
    > безопасность любой ценой.

    они утверждают , что цена - копеечная потеря единиц процентов производительности.
    Но тебе никто не мешает провести свое исследование.

     
     
  • 5.53, Crazy Alex (??), 04:44, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Собственно критерий нормлаьной технологии - внятно указанные границы применимости. Защитить порнушку от родителей или фото с любовницей от жены - это одно, сервак в интернете - другое, а понять, в каких сценариях какие trade-off - вообще третье.

    "они утверждают , что цена - копеечная потеря единиц процентов производительности." - угу, на этой конкретной технике. Тольк она не первая ни хрена. Ни ASLR даром не даётся, ни разные stack guards, ни прочее - навскидку разного рода защит с "копеечной потерей" штук двадцать уже пролетало - и вот суммарно там может очень прилично натикать.


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

     
     
  • 6.60, Аноним (-), 14:18, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ну а какие вот границы применимости у пачки капканов, разложенной внутри перимет... большой текст свёрнут, показать
     

  • 1.20, . (?), 17:33, 07/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ранее предлагаемые способы защиты от атак с использованием методов возвратно-
    > ориентированного программирования, как правило, основывались на рандомизации адреса
    > загрузки библиотеки, который при технике ASLR меняется при каждом запуске программы.

    что-то тут у них концы с концами не сходятся?

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

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

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

    или все же ему мешает ненужность? ;-)

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


     
     
     
     
    Часть нити удалена модератором

  • 4.30, Аноним (-), 19:12, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Может, ещё как может Стандарты защиты таковы, что системный код разбивают на дв... большой текст свёрнут, показать
     
     
  • 5.45, пох (?), 00:24, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я не знаю что ты такое называешь системной библиотекой libc состоит из вполне... большой текст свёрнут, показать
     
     
  • 6.47, Аноним (-), 01:22, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты бы хоть книжки почитал раз даже в терминологии плаваешь... Дам наводку: адресное пространство (твой "флэт") в 32-битной ОС обычно делится на две части. Найди и почитай зачем и что именно находится в верхней его части.

    Вариантов вызова ядра много, также как и вариантов передачи параметров. Здесь основные: http://wiki.osdev.org/System_Calls И применительно к Линукс: https://blog.packagecloud.io/eng/2016/04/05/the-definitive-guide-to-linux-syst Надеюсь, ты знаешь английский и ассемблер, иначе зачем ты лезешь в системное программирование?

     
     
  • 7.61, пох (?), 14:59, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ты бы хоть книжки почитал раз даже в терминологии плаваешь

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

    > Дам наводку: адресное пространство (твой "флэт") в 32-битной ОС обычно делится на две
    > части. Найди и почитай зачем и что именно находится в верхней его части.

    Теперь попробуй передать управление в эту самую "вторую часть", или из нее, и удивись результату.

    А потом почитай что-нибудь еще, потому что описываемая технология не имеет, вот удивительно-то, ни малейшего отношения к передачам управления в код ядра, там речь исключительно о передачах управления внутри обычного пользовательского кода - но не туда, куда планировал автор.
    То есть и тут ты не понял ровно ничего.
    Я на этом с тобой спорить заканчиваю, тем более что модераторы тщательно оберегают душевное здоровье школоло, вместо того чтобы их глупости стирать.

     
     
  • 8.62, пох (?), 15:03, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а, да - для менее упертых и более любознательных школьников - рекомендую все же ... текст свёрнут, показать
     
     
  • 9.72, добрый (?), 18:30, 09/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Справедливости ради, попытки использовать разные сегменты были и вполне успешные... текст свёрнут, показать
     

  • 1.67, добрый (?), 03:35, 09/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очень много недопонимания и агрессии в комментариях. Попробую прояснить некоторые моменты.

    Чем версия патча -stable отличается от -test на уровне кода...

    Во-первых, тем, что в качестве базы для stable используется одно из ядер LTS-ветки kernel.org. На данный момент это 4.4 и 3.14 (несмотря на EOL в апстриме). То есть, стабильность обеспечивается в основном за счёт внесения как можно меньших изменений в основной код ядра, как и в случае с ядрами из дистрибутивов.

    Во-вторых, в -stable версию не включаются (иногда вплоть до окончания поддержки отдельно взятой) наиболее свежие нововведения, либо включаются с задержкой. Это может быть связано с нестабильностью нововведений или большими объёмами работ для их бэкпортирования и параллельного сопровождения.


    Нарушают ли авторы Grsecurity лицензию ядра, продавая патчи?

    Нет, не нарушают, поскольку GPL не запрещает извлечение прибыли как таковое - она лишь не позволяет налагать дополнительные ограничения на использование и распространение кода.


    Но разве авторы Grsecurity не накладывают таких ограничений, например, требуя от клиента подписания каких-нибудь NDA?

    Нет, никаких ограничений на использование и распространение предоставляемых патчей не накладывается. Но при этом авторы Grsecurity оставляют за собой право разорвать контракт на предоставление НОВЫХ стабильных патчей в БУДУЩЕМ, в случаях, если найдутся достаточные основания подозревать клиента в регулярной публикации патчей или их передачи крупным корпорациям, которые создавали проекту проблемы в прошлом. Эпизодические "утечки" отдельных патчей - как при выполнении условий GPL, так и на усмотрение клиентов - никак не осуждаются и не служат основанием для расторжения контракта.

     
     
  • 2.68, Аноним (-), 04:29, 09/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень хорошо, спасибо. Ты говоришь, что запрет распространения купленных исходников GPL есть НЕ нарушение GPL. Пруф в студию или мне нужно это сделать за тебя?
     
     
  • 3.69, Аноним (-), 08:54, 09/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он же написал никаких ограничений на использование и распространение предоставл... большой текст свёрнут, показать
     
     
  • 4.73, Аноним (-), 01:26, 10/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я покопался в сути вопроса Ньанс заключается в том, что ядро Linux поставляется... большой текст свёрнут, показать
     
     
  • 5.74, добрый (?), 03:32, 10/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Я покопался в сути вопроса. Ньанс заключается в том, что ядро Linux
    > поставляется под GPL с исключениями. А данный патч насильно превращает ядро
    > Linux в софт под чистым GPL. Таким образом, вынуждая корпорации не

    Откуда у вас эта информация, можете поделиться? На сколько я понимаю, ядро поставляется под самой обычной, "чистой" GPLv2 безо всяких исключений:

    https://www.kernel.org/pub/linux/kernel/COPYING

    По поводу же модулей из разъяснений Линуса следует, что они рассматриваются как пользователи стандартных интерфейсов ядра и скорее загружаются в него, а не линкуются:

    http://linuxmafia.com/faq/Kernel/proprietary-kernel-modules.html

     
     
  • 6.75, Аноним (-), 04:03, 10/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А данный патч загружается Не линкуется с ядром Нет Тогда почему человек так б... большой текст свёрнут, показать
     

  • 1.71, добрый (?), 18:19, 09/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Заявления "если найдутся достаточные основания подозревать клиента..." юридически не обоснованы и не могут быть поводом для расторжения контракта.

    Всё-таки, если такое право одной из сторон в одностороннем порядке определять основания для расторжения закреплено за ней в действующем договоре, то оно имеет юридическую силу.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру