Побит рекорд

http://tmrepository.com/trademarks/linuxsecurityexperts/

40 уязвимостей в одном только ядре (не считая приложений) в день: http://www.ubuntu.com/usn/usn-1256-1/. И как на подбор — сплошь удалённое выполнение произвольного кода.

Ноябрь, 2011 год — зацените просто фактуру уязвимостей в линуксе:

  • Bluetooth stack did not correctly check that device name strings were NULL terminated
  • Bridge network filtering did not check that name fields were NULL terminated
  • GRO code did not correctly validate memory. In some configurations on systems using VLANs, a remote attacker could send specially crafted traffic to crash the system, leading to a denial of service.
  • kernel incorrectly handled certain VLAN packets. On some systems, a remote attacker could send specially crafted traffic to crash the system, leading to a denial of service.
  • network bonding system did not correctly handle large queues. On some systems, a remote attacker could send specially crafted traffic to crash the system, leading to a denial of service
  • GRE protocol incorrectly handled netns initialization. A remote attacker could send a packet while the ip_gre module was loading, and crash the system

Переполнение буфера, некорректная обработка текстовых строк в сетевых сервисах. Десятки дыр в день, только в ядре, и КАКИХ. Красота.

По специфике уязвимостей сразу видно — надёжная сетевая ОС. От bluetooth падает, bridge network падает, неправильный пакет с vlan-тэгом пошлёшь — падает, слишком большая очередь на сетевом интерфейсе — падает, туннель с gre делаешь — вдруг случайно пакет придёт, всё упадёт.

Заметьте стыдливость публикующих — они почему-то возможность добавить произвольный код или crash the system скромно называют Denial of Service. Хотя очевидно, что в приведенных примерах все ошибки переполнения буфера дают возможность выполнения стороннего кода, а это никак не DoS. Классика — кристально честное опенсорс-коммунити прячет и скрывает ошибки в коде, которые не закрываются годами. Вот, например:

  • security fix for CVE-2010-4250 introduced a regression. A remote attacker could exploit this to crash the system, leading to a denial of service

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

Это, как понятно, показывает огромное качество кода, который разрабатывается мегапрофессиональным коммунити. Главное в СПО — веровать в непогрешимость и неуязвимость. Обладать знаниями в IT-безопасности не нужно, это сложно для хомячков-линуксоидов.

Реклама
Побит рекорд

Побит рекорд: Один комментарий

  1. 123456qwertyu:

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

    p.s. про дискуссию в ЖЖ и высказывание про бегание по улицам — чистая правда. Журнал тот не публичный, увы.

    —-

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

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

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

    Остаётся только гадать, кто и какой мерзостью наполнил душонку этого человечишки, мечтающего лишь об одном — делать людям гадости. Да и не важно это. Мне интересно другое.

    Расскажите-ка о своей свободе, GNU-фанаты. В чём она у вас? У большинства из вас свобода недалеко ушла от свободишки вышеописанного человечишки. Что есть GNU/свобода? Свобода кидаться дерьмом на форумах? Свобода ненавидеть пользователей других ОС? Свобода холиварить? Свобода старательно закрывать глаза на истинную экономико-политическую причину существования вашего идола? Свобода игнорировать глюки и баги вместо того, чтобы исправлять их? Свобода ненавидеть? Свобода делать мир гаже? Свобода вести войну против лучшего ПО вместо того, чтобы улучшать своё? Вы ведь даже друг другу не помогаете: большинство вопросов на линукс-форумах скатываются в обсуждение того, какой тупой неосилятор спрашивающий и какие мудаки Баллмер с Гейтсом. Это и есть ваша свобода? А может, ваша свобода — в повышении чувства собственной важности от того, что только что вы потратили зря несколько суток своей жизни и десяток киловатт энергии, зачем-то скомпилировав целую ОС без какой-либо практической цели?

    Что вы сделали для мира, «свободные»? Вы написали хоть одну, используемую хоть кем-то кроме вас, программу, распространяющуюся по GPL- или BSD-лицензии? Быть может, вы часто отправляете патчи в другие программы? Вы вообще сделали для вашего «мира свободы» хоть что-нибудь, кроме бессмысленного и беспомощного кидания дерьмом на форумах? Вы кричите про свободу, срывая глотки — ну так где же она? В чём? В возможности, вперившись воспалёнными глазами в монитор, в очередной раз набрать на клавиатуре что-то оскорбительное в адрес человека, которого вы никогда не видели? Она в этом, ваша свобода? В таком случае, она ничем не отличается от «свободы» бегать по улице с фиолетовым хуем, и не следует удивляться, если большинство при виде вас покрутит пальцем у виска и отвернётся, а меньшинство захочет дать вам в грызло. И какое же счастье, что мир вашей «свободы» столь же нереален, сколь мир «свободы» того несчастного идиота, что отметился тогда в дискуссии со своей мечтой о беготне по улицам с хуем наперевес…

      1. artcats115:

        Не хорошо. Красиво, ярко, но если немного подумать абсурдно.

  2. artcats115 :
    >Существует море говнософта, написаного так, что иначе как из-под админа он работать не будет в принципе.
    В Linux подобная проблема решается добавлением пользователю права запускать отдельные программы из под администратора. Т.е пользователю не требуется давать полные админские права.
    Такая функциональность, насколько мне известно, имеется в sudo и отсутствует в UAC. Это я хотел вам предоставить если бы вы попросили пример механизмов безопасности.

    runas прекрасно работает в Windows, собственно так я и решил эту проблему в боевых условиях — сделал ярлык приложения «USIP-40» с настройками «запускать из-под администратора» (при этом оператор установки грузился из-под пользовательского аккаунта с обрезанными правами).
    Также и в UAC, можно выставить для каждого приложения флаг «требует прав администратора», так что не нужно тут мне — всё это есть.

    1. artcats115:

      >Также и в UAC, можно выставить для каждого приложения флаг «требует прав администратора», так что не нужно тут мне – всё это есть.
      Но этот пользователь должен знать пароль администратора. В отличие от ситуации в linux.,

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

      2. Кстати, сам механизм sudo — это уже брешь в безопасности, которую Microsoft не стала реализовывать обоснованно, я считаю. Получил рутовый доступ — сделай sudo любой пакости и лови лулзы, причём в автоматическом режиме (необходимость ввода админского пароля хотя бы спасает от автоматики).

        1. artcats115:

          opiumtm :
          Получил рутовый доступ – сделай sudo любой пакости и лови лулзы, .

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

          1. Ну и я, может, что-то путаю, но в sudoers что-то вписать, имея рутовый доступ — это большая проблема? Или что-то уже изменилось, а я не в курсе (вполне могу быть не в курсе, поскольку особо тонкости линуксов не отслеживаю)? А имея рутовый доступ ведь можно настроить что угодно, не?

          2. artcats115:

            opiumtm :
            Ну и я, может, что-то путаю, но в sudoers что-то вписать, имея рутовый доступ – это большая проблема? Или что-то уже изменилось, а я не в курсе (вполне могу быть не в курсе, поскольку особо тонкости линуксов не отслеживаю)? А имея рутовый доступ ведь можно настроить что угодно, не?

            1. Пользователей двух самых популярных дистрибутивов Ubuntu и Linux Mint вы уже не достанете поскольку разработчики озаботились блокированием root’a.

            2. Пользователи других дистрибутивов , рассчитанных на более высокую квалификацию, могут заблокировать root’a сами.
            Например так как написано по ссылке:

            https://wiki.archlinux.org/index.php/Sudo#Disable_root_login

            3. Если сперли пароль root’a ничего не мешает его поменять. Что ,в принципе, и следует сделать.

            Резюме: Вы описываете нестандартную ситуацию помешать которой достаточно легко.

            Ну и напоследок вопрос: Где вы в самом механизме sudo усмотрели брешь в безопасности. Брешь в безопасности это то что он по умолчанию не используется.

  3. artcats115 :
    Абсолютная безопасность *nix систем это конечно миф. Но он возник не на пустом месте.

    Проблема не в том, что это — миф. А в том, что этот миф используется как средство пиара и продвижения. По просту говоря — откровенное враньё, от которого противно. Да и кстати, безопасность *nix не сильно лучше безопасности Windows. Во многих местах там всё сделано абсолютно одинаково — причём потому что по другому просто не сделать, Капитан Очевидность спешит на помощь. В Windows даже более «развесисто» (в nix-ах гибкие настройки прав появились позднее, чем в NT-системах) и гибко. И в этом опять-таки проблема винды — намного труднее настроить корректно и безопасно, т.к. больше чего нужно учить и понимать. В результате настраивают «на авось» и имеют дыры.

    artcats115 :
    Есть вполне конкретные механизмы безопасности которых нет или до недавнего времени не было в Windows системах.

    Давно уж как, с ядра NT приблизительно. Проблема в безопасности Windows не столько в отсутствии механизмов, сколько в «толерантных» настройках безопасности по умолчанию и необходимостью работать в админском аккаунте — так как:
    1. Существует море говнософта, написаного так, что иначе как из-под админа он работать не будет в принципе. Лично сталкивался, работая в сфере промышленной атоматизации — клиентская часть под Windows (!!!) дефектоскопа USIP-40 принципиально не может заиметь коннект с устройством, если вход в программу произведён не из-под админа. Да, ещё и с антивирусом Касперского оно тоже не совместимо. Поставил Касперского — потерял коннект. Отключение защиты не помогает. Коннект восстанавливается только после полного сноса антивирусника. Ну и кто так пишет, учитывая что коннект с USIP-40 производится по TCP/IP?
    2. «Выкрученные» настройки безопасности сильно осложняют жизнь конечному пользователю (это ж надо головой думать, права доступа выставлять и удивляться, почему это с моего аккаунта нельзя сохранять doc-файл в корень диска C?). На Windows Server (в отличие от клиентских версий винды) настройки безопасности по умолчанию куда как более параноидальные, так работать на нём в клиенстком режиме практически невозможно — затыки на каждом шагу.

    UAC и был придуман как средство борьбы с говнософтом, который требует админских прав. Но это же — костыль. И насильно проивзодителей 3rd-party приложений писать всё правильно не заставишь. Уж пишут как пишут.

    1. artcats115:

      >Существует море говнософта, написаного так, что иначе как из-под админа он работать не будет в принципе.
      В Linux подобная проблема решается добавлением пользователю права запускать отдельные программы из под администратора. Т.е пользователю не требуется давать полные админские права.
      Такая функциональность, насколько мне известно, имеется в sudo и отсутствует в UAC. Это я хотел вам предоставить если бы вы попросили пример механизмов безопасности.

      1. PS. Меня на мякине не проведёшь 🙂 Я программил много лет как под никсы, так и под виндоус (просто потому что тех.задания в области пром.автоматизации бывают разные — исходим из того, что есть). От программирования под никсы довольно-таки удручающие воспоминания, в Windows реально больше годных тулзов для программирования и отладки, в nix-системах же приходится есть что дают (а дают, как правило, протоухшее). Сейчас перешёл работать в другую контору, опять-таки приходится программить как под Linux, так и под Windows. Но под Windows — значительно чаще и больше, чему я безмерно рад как разработчик.

  4. artcats115:

    Оцените реакцию фанатов винды:

    Обнаружена уязвимость в Windows:

    >А шо ты, собсно, разнылся? Ты об этой уязвимости узнал из манифеста безопасности Майкрософт.

    Обнаружена уязвимость в linux:

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

    Ну фанаты они везде фанаты. К ним нужно быть снисходительнее.

    1. Такой реакции не было б, если бы СПО-комюнити не кричали на каждом углу о своей исключительности и о by design безопасности СПО-кода. Практика показывает, что дыры есть везде, и СПО-шники таким образом нарываются на совершенно законный сарказм в свою сторону.

      1. artcats115:

        Абсолютная безопасность *nix систем это конечно миф. Но он возник не на пустом месте. Есть вполне конкретные механизмы безопасности которых нет или до недавнего времени не было в Windows системах.

  5. Кстати, феерия («расследование причин падения кернел.орг») и каменты рулят.
    http://opennet.ru/opennews/art.shtml?num=32226

    Судя по результатам расследования, атака на серверы kernel.org была частью активности уже несколько лет существующей автоматизированной сети, созданной для кражи паролей и параметров аутентификации. У атакующих изначально не было цели проникновения на kernel.org и выполнения там каких-то определённых действий, им просто повезло в том, что они смогли получить параметры доступа, перехваченные у одного из неосторожных разработчиков ядра. Так как у всех разработчиков, имеющих доступ к Git-репозиторию, есть полноценный и не изолированный shell, это упростило эксплуатацию одной из уязвимостей, позволившей получить root-доступ. Атакующие действовали тихо, но кроме непосредственно взлома, установки типового руткита Phalanx (запускался через правку одного из скриптов инициализации) и нескрытого SSH-бэкдора (были заменены ssh и sshd), злоумышленники не предприняли каких-либо вредоносных действий. Вся активность была сосредоточена только на перехвате паролей и записи всех действий в консоли.

  6. Иван Ковальчук:

    Сетка не нужна! Ты чё, слабак, ёпта, не можешь линух гонять с выдернутым сетевым кабелем?

Обсуждение закрыто.