Re[10]: размышления о безопасности
От: Nuald Россия http://nuald.blogspot.com
Дата: 29.05.09 03:00
Оценка:
Здравствуйте, dmitriy_k, Вы писали:

_>SELinux (или тот же AppArmor) под Linux'ом — вполне оно. Именно отслеживание _процесса_

_>(точнее вводится понятие security context и контексты вешаются на процессы, на все что в файловой системе,etc)
_>Вот только даже там — это проблема — составлять для всех приложений профили что им можно а что — нет.

Не проблема (чтобы не быть голословным, скажу что работаю в enforcing режиме больше двух лет). Для абсолютного большинства приложений хватает тех прав, которые раздает SELinux. Из оставшегося меньшинства остаются:

Замечу, что SELinux дисциплинирует разработчиков, т.к. заставляет думать о безопасности. Случаи, когда каталогам назначаются права 777, зачастую полностью обламываются SELinux-ом, и бедные PHP-шники рвут волосы на себе, пытаясь разобраться что и как делать. Мысль, что надо писать временные данные в /tmp, им почему-то не приходит в голову (см. паттерн использования smarty). Если честно, то я этому даже рад, т.к. бездумные поделки тупо не будут нормально работать на нормальных серверах, и никому не придет в голову их использовать, что автоматом выкашивает ряды быдлопрограммистов или заставляет их умнеть.
Re[11]: размышления о безопасности
От: dmitriy_k  
Дата: 29.05.09 06:19
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Здравствуйте, dmitriy_k, Вы писали:


_>>SELinux (или тот же AppArmor) под Linux'ом — вполне оно. Именно отслеживание _процесса_

_>>(точнее вводится понятие security context и контексты вешаются на процессы, на все что в файловой системе,etc)
_>>Вот только даже там — это проблема — составлять для всех приложений профили что им можно а что — нет.

N>Не проблема (чтобы не быть голословным, скажу что работаю в enforcing режиме больше двух лет). Для абсолютного большинства приложений хватает тех прав, которые раздает SELinux. Из оставшегося меньшинства остаются:


N>Замечу, что SELinux дисциплинирует разработчиков, т.к. заставляет думать о безопасности. Случаи, когда каталогам назначаются права 777, зачастую полностью обламываются SELinux-ом, и бедные PHP-шники рвут волосы на себе, пытаясь разобраться что и как делать. Мысль, что надо писать временные данные в /tmp, им почему-то не приходит в голову (см. паттерн использования smarty). Если честно, то я этому даже рад, т.к. бездумные поделки тупо не будут нормально работать на нормальных серверах, и никому не придет в голову их использовать, что автоматом выкашивает ряды быдлопрограммистов или заставляет их умнеть.


Возможно...просто в тех случая что были у меня-не было никакого описания как и что ставить и ГДЕ настраивать
(это были не написанные мной программы)

Толковый хороший мануал по SELinux-до сих пор ищу.Хоть на русском хоть на английском


Как пример ситуации:
в /opt/confluence лежит Confluence, использует Sun JRE в /opt/jre, пишет данные в подкаталоги /opt/confluence и в /var/confluence/data
перед ней стоит в качестве reverse proxy апач
заставить не писать в /opt/confluence — сложно (туда логи идут,временные рабочие файлы tomcat'а,etc-где все это настраивается-скажем так не очевидно).
в качестве СУБД-используется стоящий на той же машине PostgreSQL(поставленный штатным путем)

Как это все настроить корректно с использованием SELinux и чтобы дырок было поменьше?
Re[12]: размышления о безопасности
От: Andrei F.  
Дата: 29.05.09 06:33
Оценка:
Кто с чем не согласен?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[13]: размышления о безопасности
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.05.09 07:13
Оценка: -1
Здравствуйте, Andrei F., Вы писали:

AF>Кто с чем не согласен?


Сказанное Синклером очевидно. Точкой удаленной атаки на десктопы, в 99% случаев, являются уязвимости прикладного кода, выполняемого в user-mode. Это очевидно настолько, что твоя попытка указать ему на отсутствие аргументов, в столь резкой форме, воспринимается как банальная грубость и попытка прицепиться к словам собеседника.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[33]: размышления о безопасности
От: dmitriy_k  
Дата: 29.05.09 07:22
Оценка:
Здравствуйте, dr.Chaos, Вы писали:


DC>Какие именно? Настроить политики для приложении, чтоб они имели только те права которые им нужны? Вот скажи мне зачем браузеру возможность запускать произвольные исполняемые файлы или обращаться к произвольным COM-объектам? Ты объясняй, объясняй зачем большинству приложений полные юзерские права?


Файлы — очень просто.Юзер скачал (допустим) новейший CD Ejector(при этом по каким то причинам-он НЕ хочет все на Рабочий Стол/Мои документы качать). Хочет поставить. Он не имеет права нажать "Открыть" в диалоге скачивания и все запустится?
Или ему каждый раз надо в Explorer лезть?


I>>Пользователя понемногу приучают думать про безопасность. Панацеи здесь нет и никогда не будет.


DC>Угу приучают сразу вырубить UAC. Или купить Каспера, который стоит доп денег и кроме того жрёт ресурсы.

К вопросу о Касперских и им подобных.
Последние мои попытки использовать монитор касперского-приводили к неоднократным зависаниям на ровном месте(а аутпоста-к BSOD'ам).
Железо-стандартное и не такое слабое.
Живу проверкой сканером всего скачиваемого+соблюдения "правил гигиены"(firewall-на линукс-роутере все равно стоит)
Re[2]: размышления о безопасности
От: dmitriy_k  
Дата: 29.05.09 07:29
Оценка:
Здравствуйте, waricom-11, Вы писали:

W1>Итак:

W1>1) Непробиваемая защита возможна.
W1>2) Ответственность за поведение автомобиля на дороге несет водитель.
W1>3) Спички детям не игрушка.

W1>А посему, надо вводить ответсвенность владельцев компьютера за поведение компьютера. Штрафовать за рассылку спама и т.п. Взломали кого-то через прозрачный прокси на твоем компе? Штраф плати. И не разводи зоопарк у себя в системе. Ворд слишком сложно защитить? А мы напишем редактор на яве, правда по функциональности он будет в 10% от ворда, но норот и 5% не знает, и поэтому будет пользоваться.


Ответственность за поведение компьютера?
А кто ответит за поведение некоторых особо умных программ, выполняющих функции НЕ нужные пользователю
(но нужные разработчику программы-как самый наглядный пример-StarForce. Или тот же Sony Rootkit.И практически все способы защиты от копирования(кроме "убираем часть кода в спецдевайс"/"убираем часть функциональности в онлайн-сервис"(не активация а именно перенос функционала))


W1>Подобная инициатива, помимо прочих преимуществ, вызовет рост зарплат в IT-сфере и увеличение числа вакансий. Прежде чем протестовать, подумайте об этом.
Re[13]: размышления о безопасности
От: dmitriy_k  
Дата: 29.05.09 08:00
Оценка:
Здравствуйте, Andrei F., Вы писали:

AF>Здравствуйте, Sinclair, Вы писали:


S>>Твоя идея вообще ни от чего не защищает. Прежде всего потому, что ты ее никак не сформулировал. Ты даже не объяснил, что именно ты собираешься идентифицировать про приложение — путь запуска екзешника? Путь, откуда фактически он был скачан? Или еще что-то? Без этих уточнений, я повторяю, твоя идея сводится к "давайте изобретем порох непромокаемым".


AF>Путь к стартовому файлу процесса.

Да?
И этого _всегда_ достаточно?
Как минимум то что у меня сейчас работает:
в процесс приложения inject'ится DLL,которая много что делает,и другие DLL подгружает из своего каталога, и в интернет лезет(ладно,на ограниченное количество сайтов но все же), и перехватывает приличное количество функций(в части случаев-после этого функции работают не так как раньше) и по собственному желанию вызывает код внутри этого приложения
Все — с полного ведома пользователя.
Но фактически — от того что мы проверили стартовый файл процесса — тут ни холодно ни жарко.Функциональность после этого inject'а меняется.
Запрещаем code inject без прямого разрешения пользователя?

p.s.попробовал сейчас подцепится отладчиком к calc.exe:
вижу загруженные(остальное-из C:\Windows):
"C:\Program Files\oDesk\oDesk46.dll"
"C:\Program Files\Unlocker\UnlockerHook.dll"

попробовал к Firefox'у подцепится(то что из C:\Windows, C:\Program Files\Mozilla Firefox и каталогов с экстеншенам-исключено):
"C:\Program Files\Unlocker\UnlockerHook.dll
"C:\Program Files\Skype\Toolbars\Shared\SPhoneParser.dll"
"C:\Documents and Settings\dkzm\Local Settings\Temp\RoboForm\roboform.dll" (RoboForm Portable видимо) — в TEMP же доступ на запись должен быть всегда разрешен? -
"C:\Program Files\oDesk\oDesk46.dll"

Не так уж мало кода — который _штатно_ загружен системой в обычные процессы и который может делать много что интересного...
Re[47]: размышления о безопасности
От: March_rabbit  
Дата: 29.05.09 08:48
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Здравствуйте, Ikemefula, Вы писали:


I>>Здравствуйте, DOOM, Вы писали:


I>>>>За три сервиспака фич добавлено с гулькин нос.

DOO>>>
DOO>>>За 3 севрис пака фич добавлено больше, чем отличий между XP SP3 и вистой, вообще-то.

I>>Ну, перечисляй,


DOO>Иди на support.microsoft.com и сравнивай. Я тут кто тебе?


вообще говоря, подтвердить свои слова — это нормально.
а то ведь можно любую ерунду сказать и послать в гугль за подтверждениями
Re[51]: размышления о безопасности
От: dmitriy_k  
Дата: 29.05.09 08:51
Оценка:
Вообще, то что тут предлагается -
очень напоминает Platform Security от Symbian OS (http://www.forum.nokia.com/main/platforms/s60/faq.html)
(как ее ломают-тоже можно почитать кстати. она сломана давно-НО! — чтобы чтото запустить без ведома пользователя-надо чтобы перед этим пользователь _полностью_ ее вырубил(процедура из ~10 шагов,описана только на хакерских сайтах,делается через патчинг прошивки). Чтобы просто пользователю запустить совершенно левую(либо вообще крякнутую) программу — он _может_ это сделать. но только у себя на смарте

Только вот проблемы:
— учитывая объемы winapi — капсов потребуется ну просто дофига
— некоторые сложности с уникальными идентификаторами компьютера
— обратная совместимость. Symbian поломали частично совместимость даже на уровне исходников
Re[14]: размышления о безопасности
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.05.09 09:05
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, Andrei F., Вы писали:


AF>>Кто с чем не согласен?


KV>Сказанное Синклером очевидно. Точкой удаленной атаки на десктопы, в 99% случаев, являются уязвимости прикладного кода, выполняемого в user-mode. Это очевидно настолько, что твоя попытка указать ему на отсутствие аргументов, в столь резкой форме, воспринимается как банальная грубость и попытка прицепиться к словам собеседника.


Andrei F, теперь ты водишь. Рассказывай за что минус

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[48]: размышления о безопасности
От: DOOM Россия  
Дата: 29.05.09 09:42
Оценка:
Здравствуйте, March_rabbit, Вы писали:


M_>вообще говоря, подтвердить свои слова — это нормально.

M_>а то ведь можно любую ерунду сказать и послать в гугль за подтверждениями

Еще раз: если собеседник настаивает на подтверждении только потому, что он шлангом прикидывается — тратить свои силы и время на проведение анализа и т.п. совсем не охота.
support.microsoft.com — это вполне конкретный инструмент, который позволяет узнать какие фичи появились в том или ином хот фиксе и сервиса паке. А уж анализировать Changelog за других я не должен.
Re[12]: размышления о безопасности
От: Nuald Россия http://nuald.blogspot.com
Дата: 29.05.09 10:54
Оценка:
Здравствуйте, dmitriy_k, Вы писали:

_>Толковый хороший мануал по SELinux-до сих пор ищу.Хоть на русском хоть на английском


Ресурсы по SELinux, включая русские
Security-Enhanced Linux User Guide

Еще есть полезный проект — setroubleshoot. Там есть тулза sealert, она при нарушении безопасности показывает ошибки и методы их исправления (конечно, на сервере в этом случае должны работать X-ы). Исходники есть на том же сайте, либо можно поставить из репозитария.

_>Как пример ситуации:

_>в /opt/confluence лежит Confluence, использует Sun JRE в /opt/jre, пишет данные в подкаталоги /opt/confluence и в /var/confluence/data
_>перед ней стоит в качестве reverse proxy апач
_>заставить не писать в /opt/confluence — сложно (туда логи идут,временные рабочие файлы tomcat'а,etc-где все это настраивается-скажем так не очевидно).
_>в качестве СУБД-используется стоящий на той же машине PostgreSQL(поставленный штатным путем)

_>Как это все настроить корректно с использованием SELinux и чтобы дырок было поменьше?


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

Предусловия:

Теперь собственно, какие могут быть проблемы. Во-первых, надо определить какое приложение использует необходимые файлы и под каким пользователем оно работает. В зависимости от этого надо будет прописывать контексты. Для апача есть собственные типы, например в данном случае можно использовать httpd_sys_content_rw_t (см. `man httpd_selinux`). Надо будет изменить контекст файлов на данный тип (chcon). Но вообще, конечно, надо еще предварительно все-таки настроить, чтобы исполняемые файлы и данные хранились раздельно.

По себе могу сказать, что с серверными java-приложениями (неважно java из репозитария, или от Sun-a) и постгресом у меня никогда проблем не было. Но правда я всегда конфигурировал, чтобы писалось в нужные места.

Если все-таки проблемы так и будут возникать, стоит обратиться в mailing list: fedora-selinux-list@redhat.com
В основном там за все отвечает Daniel Walsh, мы с ним в свое время разговаривали, и он исправил пару найденных мною ошибок в политиках SELinux-а. Советы он дает толковые, и к его мнению стоит прислушиваться.
Re[11]: размышления о безопасности
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.05.09 11:10
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Не проблема (чтобы не быть голословным, скажу что работаю в enforcing режиме больше двух лет). Для абсолютного большинства приложений хватает тех прав, которые раздает SELinux. Из оставшегося меньшинства остаются:


Меня этот SELinux окончательно достал, когда из-за него iptables-save >somefile молча (!) оставило мне пустой файл вместо дампа даблицы, а я на него рассчитывал.

Причем "низя" ему было не таблицу читать, а текстовые файлы писать в домашней директории рута.

Проблем с этими SELinux две: 1) правила пишутся в чрезвычайно низкоуровневых терминах. Это как на ассемблере программировать. В результате, в них много мелких ошибок, и глядя на файлы с правилами хрен чего поймешь 2) программы не понимают, когда им SELinux дает по мозгам, потому что выглядит это очень не по-юниксовски. Открыть файл на запись дали, а записать в него — не дали.

N>Замечу, что SELinux дисциплинирует разработчиков, т.к. заставляет думать о безопасности. Случаи, когда каталогам назначаются права 777, зачастую полностью обламываются SELinux-ом, и бедные PHP-шники рвут волосы на себе, пытаясь разобраться что и как делать. Мысль, что надо писать временные данные в /tmp, им почему-то не приходит в голову (см. паттерн использования smarty). Если честно, то я этому даже рад, т.к. бездумные поделки тупо не будут нормально работать на нормальных серверах, и никому не придет в голову их использовать, что автоматом выкашивает ряды быдлопрограммистов или заставляет их умнеть.


Вот что стоило бы создать более высокоуровневый API, в котором при создании файла/директории/и т.п. указываются не права в виде восьмеричного числа, а цель, с которой этот объект создается? А система бы уже сверялась со своими правилами безопасности, и выбирала бы правильные права с учетом назначения данного объекта.
Re[12]: размышления о безопасности
От: Nuald Россия http://nuald.blogspot.com
Дата: 29.05.09 12:52
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Меня этот SELinux окончательно достал, когда из-за него iptables-save >somefile молча (!) оставило мне пустой файл вместо дампа даблицы, а я на него рассчитывал.


Понимаю. Сейчас к счастью есть setroubleshoot, который показывает в GUI, какие ошибки доступа происходят (если конечно на сервере подняты X-ы).

Pzz>Проблем с этими SELinux две: 1) правила пишутся в чрезвычайно низкоуровневых терминах. Это как на ассемблере программировать. В результате, в них много мелких ошибок, и глядя на файлы с правилами хрен чего поймешь 2) программы не понимают, когда им SELinux дает по мозгам, потому что выглядит это очень не по-юниксовски. Открыть файл на запись дали, а записать в него — не дали.


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

Насчет открытия файла — что-то вы путаете. Только что попытался открыть файл с закрытым контекстом на запись — выдался Permission Denied и выскочил AVC error. Так что все нормально.

Pzz>Вот что стоило бы создать более высокоуровневый API, в котором при создании файла/директории/и т.п. указываются не права в виде восьмеричного числа, а цель, с которой этот объект создается? А система бы уже сверялась со своими правилами безопасности, и выбирала бы правильные права с учетом назначения данного объекта.


Здравая мысль. Но разработчики используют системный API (open и т.п.) — затачивать разработки чисто под SELinux, используя его API, вряд ли кто-то будет.
Re[13]: размышления о безопасности
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.05.09 13:32
Оценка:
Здравствуйте, Nuald, Вы писали:

Pzz>>Меня этот SELinux окончательно достал, когда из-за него iptables-save >somefile молча (!) оставило мне пустой файл вместо дампа даблицы, а я на него рассчитывал.


N>Понимаю. Сейчас к счастью есть setroubleshoot, который показывает в GUI, какие ошибки доступа происходят (если конечно на сервере подняты X-ы).


Ну понимаете, если бы я зарабатывал деньги системным администрированием, я бы, наверное, мог бы позволить себе убить месяц жизни на то, чтобы изучить selinux. А для простого программиста это, хм, overkill.

Я не всегда понимаю то, что рассказывает эта гуйня. Например, она пишет, что не пустила кого-то посмотреть на какую-то директорию типа ./12345. Я в принципе догадываюсь, что кто-то зачем-то попытался посмотреть в /proc/12345 (потому что больше нигде в системе нет директории с именем ./12345), но как я пойму, кто это был и зачем? Процесс с pid'ом 12345 давно завершился, и никаких следов от себя, естественно, не оставил.

N>Да не особо-то и низкоуровневые термины. Поначала не интуитивно понятно, это да. Но потом привыкаешь. К тому же есть много тулзов, облегчающих написание правил.


Именно что низкоуровневые. Убивает, кстати, невозможность повесить больше одной метки на файл ("с файлом XXX можно делать то, что можно делать с файлами в домашней директории И раздавать по самбе") и отсутствие эквиавалента вызова процедуры: т.е., описать какое-нибудь понятие, а потом ссылаться на него по имени (желательно с параметрами).

N>Насчет открытия файла — что-то вы путаете. Только что попытался открыть файл с закрытым контекстом на запись — выдался Permission Denied и выскочил AVC error. Так что все нормально.


iptables-save >bla-bla-bla.txt

bash'у дали открыть файл, а iptables-save не дали в него записать, "патамучта низзя". iptables-save этого не понял ("ну как же, file descriptor есть, а писать низзя"), и поэтому даже не пожаловался.

Да, iptables-save — кривая программа. Только они, увы, все такие, и с этим ничего не поделаешь.

Система — CentOS 5.3, не какое-нибудь старье.

Pzz>>Вот что стоило бы создать более высокоуровневый API, в котором при создании файла/директории/и т.п. указываются не права в виде восьмеричного числа, а цель, с которой этот объект создается? А система бы уже сверялась со своими правилами безопасности, и выбирала бы правильные права с учетом назначения данного объекта.


N>Здравая мысль. Но разработчики используют системный API (open и т.п.) — затачивать разработки чисто под SELinux, используя его API, вряд ли кто-то будет.


А этот API не обязан быть частью SELinux. На самом деле, это удобно. Прикладной программист хочет "временный файл, в который враги не смогут подглядеть", а не файл с такими-то атрибутами. Пусть система парится, как создать такой файл. А уж технические детали будут зависеть от настроек системы.
Re[14]: размышления о безопасности
От: Nuald Россия http://nuald.blogspot.com
Дата: 29.05.09 14:00
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну понимаете, если бы я зарабатывал деньги системным администрированием, я бы, наверное, мог бы позволить себе убить месяц жизни на то, чтобы изучить selinux. А для простого программиста это, хм, overkill.


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

Pzz>Я не всегда понимаю то, что рассказывает эта гуйня. Например, она пишет, что не пустила кого-то посмотреть на какую-то директорию типа ./12345. Я в принципе догадываюсь, что кто-то зачем-то попытался посмотреть в /proc/12345 (потому что больше нигде в системе нет директории с именем ./12345), но как я пойму, кто это был и зачем? Процесс с pid'ом 12345 давно завершился, и никаких следов от себя, естественно, не оставил.


Если вы точно знаете, что это фигня, то можно воспользоваться тулзой audit2allow — и тогда это сообщение вас больше беспокоить не будет.

Pzz>Именно что низкоуровневые. Убивает, кстати, невозможность повесить больше одной метки на файл ("с файлом XXX можно делать то, что можно делать с файлами в домашней директории И раздавать по самбе") и отсутствие эквиавалента вызова процедуры: т.е., описать какое-нибудь понятие, а потом ссылаться на него по имени (желательно с параметрами).


А вас не смущает, что в UNIX-е все файловые атрибуты доступа сводятся к owner/group/other? Ведь тоже нельзя указать несколько групп. Но, конечно, можно сделать составную группу. В SELinux-е с этим проблемы, не спорю — сделать собственный тип не так просто.

Pzz>А этот API не обязан быть частью SELinux. На самом деле, это удобно. Прикладной программист хочет "временный файл, в который враги не смогут подглядеть", а не файл с такими-то атрибутами. Пусть система парится, как создать такой файл. А уж технические детали будут зависеть от настроек системы.


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

Но не хочу спорить — SELinux не серебряная пуля. AppArmor фактически умер. Еще остается GrSecurity, но пока у меня до него руки не дошли, так что ничего сказать не могу.
Re[15]: размышления о безопасности
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.05.09 14:58
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Не спорю. Однако если вы пишите софт, который будут запускать на других серверах, надо быть готовым к тому, что там будет стоять SELinux, и так просто его проигнорировать вы не сможете.


Насколько я понимаю, SELinux игнорирует софт, про который он ничего не знает.

Но в принципе, если преспичит, разберусь. Но не ранее того. Голова, она не резиновая

Pzz>>Именно что низкоуровневые. Убивает, кстати, невозможность повесить больше одной метки на файл ("с файлом XXX можно делать то, что можно делать с файлами в домашней директории И раздавать по самбе") и отсутствие эквиавалента вызова процедуры: т.е., описать какое-нибудь понятие, а потом ссылаться на него по имени (желательно с параметрами).


N>А вас не смущает, что в UNIX-е все файловые атрибуты доступа сводятся к owner/group/other? Ведь тоже нельзя указать несколько групп. Но, конечно, можно сделать составную группу. В SELinux-е с этим проблемы, не спорю — сделать собственный тип не так просто.


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

N>В данном случае все-таки это обязанность не программиста, а админа. А ему никто не мешает запускать программу под пользователем со специфической трансляцией, которая будет недоступна другим пользователям.


N>Но не хочу спорить — SELinux не серебряная пуля. AppArmor фактически умер. Еще остается GrSecurity, но пока у меня до него руки не дошли, так что ничего сказать не могу.


Я хочу сказать, что в selinux'е надо много чего еще сделать, прежде чем он станет действительно удобной и полезной вещью.
Re[5]: размышления о безопасности
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.05.09 15:46
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

AF>>1. бороться с дырками вообще бесполезно — потому что чем меньше дырок, тем больше вирусов


KV>Количество вредоносного ПО под конкретные системы линейно зависит от популярности этих систем. Степень их уязвимости тут не причем.


Вообще говоря нелинейно. Более того — со временем увеличивается тоже нелинейно.
Re[6]: размышления о безопасности
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.05.09 15:56
Оценка: -2
Здравствуйте, Andrei F., Вы писали:

AF>А ведь про это я уже писал, точно помню Повторю еще раз — те функции, которые позволяют вмешаться в работу других процессов, или передавать данные за пределы компьютера. Всевозможные write process memory, DLL injection, хуки и тому подобное. Пытаться что-то сделать с "дырявыми" функциями — это просто нереально. Только переход на управляемый код, но это винде в ближайшие годы не светит.


Во первых, переход управляемый код как раз таки светит.

Во вторых, "Всевозможные write process memory, DLL injection, хуки и тому подобное" используются повсеместно и настолько широко, что кто то на твоём месте уже повесился бы

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

AF>Разграничить доступ к отдельным разделам API на основе правил — это недорого и несложно, по крайней мере для MS. Не сильно сложнее, чем обычный фаервол.


Ну ты и дуб. И ежу понятно, что технически можно сделать все что угодно. Вопрос в том, как сделать так, что бы не отрубать эндузерам руки по сраку или даже по шею.

Кроме того, вопрос в том, как это потом продвигать и как бороться с обратной совместимостью и знать с кем судиться.

AF>Ну в общем да, ты меня убедил. Если они нормальный фаервол сделать не могут — нельзя ожидать от них чего-то большего.


Сделать могут. Только с первым же выходом системы с тким файрволом им придется судиться со всеми крупными игроками этого рынка.

Это не линукс, где ты в дистриб можешь складывать все что угодно от говна до брульянтов.

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

Возможно ты не в курсе, но в Микрософт планирование на высоком уровне, просчтывают даже возможные судебные иски наперёд.
Re[9]: размышления о безопасности
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.05.09 16:09
Оценка: -1 :))
Здравствуйте, Sinclair, Вы писали:

AF>>Причина очевидна и я уже здесь писал. Чтобы перекрыть процессу доступ к API, сторонней фирме нужно использовать перехват API и прочие злые хаки, а Microsoft — просто вставить пару строк в исходный код.

S>Это вопиющая глупость. "Пару строк" малварное приложение просто скипнет, сделав прямой джамп на X байт ниже адреса точки входа в DLL. Там всё должно проверяться в кернел моде.

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

Вуаля — все в шоколаде.

Andrei.F, у тебя есть готовое решение, как защититься от этой дыры ?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.