>То-то в прошлом году Fedora и Red Hat ключи меняли :-) Если
>утащили SSH-ключ, то и ключ для подписывания пакетов можно утащить. Вообще - в теории возможно возможно все. На практике некоторые вещи труднореализуемы а потому редки и\или маловероятны а в случае возникновения быстро устраняются. Выбор то в итоге какой? Если софт не апдейтить - однажды поимеют через найденные в старых версиях софта дыры. А если апдейтить - есть не нулевой риск что в сорцы апстрима, пакеты или там еще чего кто-то нехороший подложит бяку. Выбирая из двух зол - выбираем меньшее. Статистика взломов за столько лет вроде свидетельствует о том что выбор "апдейтить софт" (как минимум при современных реалиях) - в целом правильный.
А если рассуждать о том что в принципе может быть трындец - да, он может быть. Three Mile Island и Чернобыль тоже вон как оказалось - вполне возможны. Хотя и не должны бы были по идее случаться. Если уж люди могут в таких областях облажаться - то чего уж там про какие-то апдейтеры говорить.
>Это скорее исключение из правил. Разработчики разные бывают, есть Google с двойным
>рецензированием кода
О, спасибо что напомнили про гугл. Дело вот в чем: буквально на днях один знакомый "похвастался" что их нагрел хулиган-хакер, который в меру своей дури просто массово ломанул аккаунты юзеров, без особых причин. О хакеришке который не больно то и скрывался, им известно что он работает в гугле. А пострадавшие еще и юзали gmail, что вызывает некие нехорошие подозрения. Гуглу попробовали отрапортовать факт что у них в конторе работает такой вот нехороший тип. Реакция гугли? Ноль. В итоге перец с жидковатым мозгом и неуемной жаждой дестроя, очевидно, до сих пор работает в гугле.
P.S. кто там из особо храбрых хотел все свои данные гугле доверять?Подумайте о том что не все сотрудники гугля - кристально честные и ответственные личности ;)
P.P.S. детальной информации о взломе и логов у меня разумеется нет, так что кто хочет может считать это городскими легендами и т.п. если хочет. Тем не менее если кто в курсе как эффективно допинаться до гугли по таким вопросам - просветите, вдруг еще пригодится?
> и Postfix с очень жесткой проверкой патчей,
Я как бы люблю софт где на секурити не забивают. Но такого софта - не так уж много, одним постфиксом сыт не будешь. И кроме того - а кто будет проверять проверяющих? И какие гарантии что их намерения - благие? И что их не прессанули синхронно например чтобы они "не заметили" нечто, etc? По большому счету это ведь тоже никто гарантировать не может на 100%.
>а есть proftpd в который патчи раньше брали лишь бы собиралось.
Да, у всех разные подход к безопасности. А еще чем крупнее софт - тем больше вероятность что он с багами и дырами при прочих равных.
>У мантейнеров тоже время не резиновое, оформили новую версию в пакет и за
>это спасибо, в код смотрят единицы, а тех кто аудитом занимается
>можно по пальцам пересчитать.
Тем не менее те же дебиянщики с их выносящей мозг политикой всенепременного оформления обновлений пакетов в виде debdiff'ов как я понимаю нацелены именно на это - понимать, с точностью до межверсионного диффа какие изменения vs прошлая версия вносятся в пакеты раздаваемые на боевые системы. Все-таки они местами не зря свое занудство про stability устраивают. Правда иногда оно же им и боком выходит.
>Да, сейчас интерес у атакующих пока только спортивный, хуже будет когда корыстные
>мотивы появятся.
И это тоже. Но давайте посмотрим что получается если софт не обновлять? Рассмотрим второе зло из которого можно сделать выбор. За примерами далеко ходить не надо - есть же Windows! Который как раз печется только о обновлении себя самого. А о пакетизации софта и уж тем более обновлении оного - не печется вообще. Как раз то что надо примерно. Что получается? В *никсах у юзеров быстренько обновляется 1 мелкая либа (например zlib или libpng очень показательны). Штатными средствами системы и ее же майнтайнерами. И в итоге все как бы живы и здоровы. А что получается у тех у кого такой роскоши нет, т.е. в виндах и прочая? Правильно - они сидят с программами с древними либами. В клиническом случае (винды) еще и с приватными копиями оных, размазанными по миллиону разных дир а то и попросту влинкованными в бинари статически (чтобы ну совсем уж обуть юзера на возможность патчинга?).Наверняка хацкеры через этот нехитрый факт поимели и наверное даже до сих пор продолжают иметь немало машин (про эпичные дыры в zlib и libpng используемых в каждой второй программе еще не все забыли?).
Представляете себе сколько было и наверное до сих пор осталось юзеров с необновленным злибом как раз из-за того что никто не заморочился обновлением библиотек в системе "windows"? Хороший пример того что бывает если софт не апдейтить. И ведь оказаться от zlib сказав что оно дрянь - не вариант, правда? :)
>интерес посторонних носит непостоянный характер. К томуже легко разобраться можно если
>10 строк коммит, а если 10 000 ?
Все так, но в конечном итоге - по моим наблюдениям опенсорц лучше справляется с данной напастью чем остальные. А не обновлять софт - не выход. Вот вы готовы например использовать старую zlib (или libpng) с багом позволяющим выполнение кода? А может вы готовы волевым усилием выбросить эти либы из системы как плохие? Или переписать с нуля? И что вас больше пугает - шансы что кто-то кто-то в теории с новой версией zlib вам левак может подсунуть? Или вполне практический риск того что вас могут ремотно древним эксплойтом огреть? Лично меня больше пугает что весь сетевой софт юзающий zlib если ее в такой ситуации не обновить - по сути сможет от неправильных хакерских данных код запустить. Поэтому я как-нибудь уж лучше обновлю zlib'у, допустив что ее авторы и майнтайнеры не уроды (а в случае сильных сомнений перепроверив наконец что там за патчи такие). А кто хочет - может наздоровье дожидаться в такой ситуации пока хаксоры снимутся с тормоза и додумаются запихнуть эксплойт в любые данные пожатые zlib-ом (коих везде навалом).
>Серьезных дыр не так много, обычно мелочь разная или требуются особые условия.
Это когда как. Я вот например эпичную дыру в zlib еще не забыл. И по моим наблюдениям - именно апдейты в этом случае и спасли народ от массовых взломов. А кто не проапдейтил эту либу или линканул ее статически - долго еще икали когда их эксплойтами огревали и было очень много красивых взломов всего и вся. Наверное некоторых особенно тормозливых (в виндах, etc) можно до сих пор при желании таким эксплойтом долбануть. Особенно если кто юзает древние программы на поддержку которых авторы уже забили.
Или вон дебианщики: облажавшись и осознав это они не забыли пофикшеную либу прислать. Было бы лучше если бы они положили дефектную либу в релиз а потом еще и никто бы не обновился и их нагрели радостные толпы хакеров? А так - еще и блеклисты слабых ключей через апдейтер приехали. Что несколько облегчило парирование проблемы и проверку систем. Хотя зуб на самовольный патчинг майнтайнерами кода касающегося криптографии - остался, да :E. Трогать код касающийся криптографии должни криптографы. Точка.
>SELinux хороший шаг в правильную сторону,
Идея хороша, но вот реализация... геморройный он не в меру: не дай боже шаг в сторону от стандартных шаблонных применений и мозг запросто взорвется. Это - плохо. Секурити должна быть юзабельной - иначе ее первым делом зарубят. Чтобы не мешала достижению более приоритетных чем гипотетическая оборона от хакеров задач, например.
>хотя мне лично подход AppArmor/Tomoyo более симпатичен.
Мне в общем то тоже.
>Упаковка критичных программ в chroot/виртуализированные контейнеры тоже вариант.
В случае минимальных виртуалок мониторить изменения проще (одна сложная задача разбивается на кучу простых и мелких, которые можно постепенно и независимо реализовать). И есть несколько фокусов которые могут испортить хакерам настроение. Например ограничение ресурсов не даст хакеру устроить эффективный DoS на ресурсы. Мониторить состояние виртуалки можно невидимыми (хакеру) процессами - с хоста (который вообще хакеру по сети не обязан быть доступен). Ну и там снапшот исправного состояния можно хранить, равно как сделать в автоматическом режиме снапшот расхаканного окружения и остановить его к такой-то фене до разбора полетов. И изоляция хорошая - обычно вообще никаких взаимодействий кроме явно и специально организованных + дележка ресурсов. При том если сломали скажем почтовик - сломали только почтовик. А www, ftp и прочие например могут работать в соседних контейнерах дальше. Минусом видится некая добавочная возня и оверхед по ресурсам. Chroot в этом плане - примерно как деревянный щит против стального: уровень изоляции сам по себе там немного не тот которого хотелось бы для похаканного окружения. Грубо говоря - идея появилась после смотрения на руткиты. Это (с точки зрения хакера) тоже что-то типа руткита. Только работает на благо админа а не во вред :)
>Некоторые мысли изложены на странице http://wiki.opennet.ru/SecurityTips
Иногда почитываю...