"Пятая колонна": как с ней бороться?
1. Описать проблему побудило не до конца решенная задача борьба с внутренними врагами операционной системы.
Обычно среди всех проблем информационной безопасности компьютерных систем всех пользователей беспокоят в основном проблемы две проблемы – программные вирусы и внешние вторжения.
Программные вирусы, по моей скромной классификации, это те, кто способен массово репродуцироваться и наносить вандальный ущерб данным и системам.
Будем полагать, что с первым видом вирусов есть кому бороться – число заинтересованных компаний, производящих антивирусное ПО, давно превысило многие десятки, и условно говоря, борьба с ними ведется с переменным успехом, но в целом эти вирусы как бы побеждаются. Отметим, что основным методом вычисления вирусов считается использование сигнатур и эвристики.
Внешние вторжения – это попытки внешних злоумышленников обнаружить бреши в системе жертвы и через них пробраться в нее для совершения кражи данных и/или заражения системы.
И здесь будем полагать, что отражение внешних вторжений также успешно решено – программных и аппаратных файрволов сейчас существует немыслимое количество – выбирай любой на свой вкус.
Поэтому сосредоточимся на недостаточно решенной проблеме – обнаружение внутренних системы.
Назовем этих врагов "пятой колонной" – уж очень схоже их поведение и коварная разрушительная деятельность. Любая операционная система может быть заражена тем или иным способом как программными вирусами, так и "троянскими" закладками, обычно стремящихся вести себя тихо, ведя свою подрывную работу как можно незаметнее, иногда до поры до времени – это и есть "пятая колонна" в ПО.
Более того – "пятая колонна" может попасть в нее не только не путем внешнего вторжения, а даже изначально – об этом мог позаботиться производитель ПО двойного назначения, на вид вполне легитимного и благонадежного или "железа".
Этот вид вредоносного софта может заниматься в системе самыми разнообразными неблаговидными делами – красть и отправлять "хозяину" логины/пароли и пользовательские данные, несанкционированно крутить рекламу, нагружать процессор майнингом биткоинов и прочих электронных денег – словом, заниматься тем, что ни одному пользователю не понравится.
Главное – "пятая колонна" занимается воровством чужих данных, и за это ее следует расстрелять вычислить и нейтрализовать.
комментариев: 48 документов: 4 редакций: 0
Более надежным является детекция ее активности по несанкционированным попыткам "пятой колонны" пробраться из системы наружу в Интернет.
В качестве примера можно привести два известных антивирусных программных продукта – NOD32 и KAVP. Оба содержат, помимо классического антивируса, файрволы, которые отслеживают попытки внешних вторжений в систему, так и попытки "пятой колонны" вырваться наружу и "слить" уворованные данные своему хозяину.
И, если доверять создателям этих ПО, то задачу определения и нейтрализации "пятой колонны" можно считать решенной.
Однако лично я, как потомственный параноик, не доверяю ни этим создателям, ни каким-либо другим, и в то же время, считая их весьма неглупыми людьми, подозреваю, что в свое ПО они встроили свои собственные закладки – шпионаж в Сети приобрел колоссальные масштабы. Чтобы поймать за руку любых из таких созидателей, нужно использовать общеизвестную гебистскую методику: заставить ПО совершенно независимых (а лучше – непримиримо конкурирующих) производителей следить друг за другом и стучать друг на друга.
В данном примере, это например, сочетание того же KAVP и NOD32, Symantec и т.п.
Однако известно, что антивирусное ПО на одном общем компьютере совершенно не уживаются друг с другом, ну да ладно, это не представляет сферу моей озабоченности как решения для Windows, который меня не интересует.
комментариев: 48 документов: 4 редакций: 0
В эпоху Windows 95 был такой популярный файрвол – AtGuard, или @Guard.
Он успешно вычислял в режиме реально времени внешние как попытки вторжения в систему, так и попытки внутреннего софта вырваться в наружу, причем с его точной идентификацией. Данный файрвол работал в диалоговом режиме и был чрезвычайно простым и удобным в использовании.
К сожалению, спустя годы, когда его слава миновала и о нем почти позабыли, кто-то случайно определил, что AtGuard сам по себе являлся не только весьма успешным файрволом, но и ПО двойного назначения – типичным примером
"пятой колонной".
Тогда какие у нас сейчас есть основания верить KAVP, NOD32, или еще кому-то? Как говорится, большое "ХМ".
Второй, положительны пример – из ОС.
Mandriva 2008 содержала встроенный файрвол, который не только срезал попытки внешних злоумышленников прорваться в систему, но и отображал их в реальном времени в виде всплывающих сообщений – очень удобный и наглядный в использовании файрвол.
Поступал ли он также в отношении "пятой колонны", уже не помню, но если да – то это было великолепное решение как для системы, так и для пользователя, больше ничего, собственно, и не нужно.
комментариев: 48 документов: 4 редакций: 0
Одно время использовал на работе в качестве шлюза в Интернет 2-карточный сервер с операционной системой ClearOS. Эта система содержала две важные для нашей проблемы компоненты – файрвол (iptables) и прокси-сервер (squid).
Файрвол настраивался так, чтобы резать все входящие, кроме нужных, и все исходящие.
Исходящие HTTP/HTTPS направлялись на прокси-сервер. Прокси-сервер настраивался как "непрозрачный", что позволяло использовать авторизацию для браузеров.
Таким образом, пользователи локалки ходили браузером в Интернет только через прокси и только после авторизации на нем путем ввода индивидуального логина/пароля.
В итоге получалось, что та часть "пятой колонны" ПК пользователей (виндовс), которая рвалась наружу по своим уникальным портам, просто блокировалась правилами файрвола и отмечалась в его логах, а наиболее хитро$опая часть "колонны" при попытке вырваться наружу "как все", т.е. через прокси, во-первых, получала облом по полной морде, т.к. не обладала знаниями о логинах/паролях, во-вторых, так же успешно фиксировалась в логах прокси, где впоследствии анализировалась.
То, что если ClearOS и содержал бы свою собственную "пятую колонну" (теоретически это также возможно), меня волновало меньше всего, т.к. максимум, на кого она настучать – так это на самое себя, а это невелика потеря. А если бы эта "клиаросовская колонна" попыталась ломануться на ПК пользователей, то была отражена их собственными виндовс-файрволами.
Благодаря такой защитной системе я узнал мноооого интересного о софте, установленном на ПК пользователей. Благодаря логам на сервере было изобличено и нейтрализовано множество с виду вполне полезного и благонадежного софта – всю ту тщательно замаскированную "пятую колонну", которая была готова с радостью "слить и настучать куда не следует"
Практика работы с ClearOS была самой положительной, и я уж было готов применить ее также в домашнем применение.
Но тут вмешался тов.unknown и вдребезги разбил мои чаяния по поводу совместимости этой схемы с сетью Tor.
комментариев: 48 документов: 4 редакций: 0
Я не знаю такого готового решения, которое бы решало все эти задачи:
1. Обнаруживало и блокировало в real-time попытки внешних злоумышлеников проникнуть в/или заразить систему, отображая их в удобном виде во всплывающих сообщениях.
2. Обнаруживало и блокировало деятельность "пятой колонны" – также в real-time во всплывающих сообщениях – и это меня беспокоит больше всего.
PS-1. Как сумел, так и описал, уж не обессудьте, ошибки в рассуждениях возможны.
PS-2. Часть обсуждения перенесена из
https://www.pgpru.com/forum/an....._comments=1#comments и
https://www.pgpru.com/forum/an....._comments=1#comments
и пока писал здесь, там уже что-написали.
комментариев: 48 документов: 4 редакций: 0
Из написанного "там":
Скажу вам даже больше: как старый гебист :)) я вообще никому не доверяю.
Ни подписям создателей софта, которых я в глаза не видел, ни Tor'у, ни проектам, которые содержат в своем названии слово "траст" (и трастовым банкам в том числе), ни кому вообще, даже Мюллеру. Потому что каждый человек это такая сволочь... стоит только погрузить его в соответствующие условия (пожалуй, не стоит развивать этот щекотливый вопрос дальше).
Но пользоваться приходится, и поэтому и в IT по возможности применяю наш старый "добрый" метод: каждый софт обязан стучать друг на друга, и только в этом случае мы получим лишь относительно объективную картину ситуации и происходящих в ней процессов.
PS. "Доверие" – это вообще чистое безумие.
Или иезуитский прием, чтобы облапошить собрата.
В общем, вы правильный тезис излагаете (доверяй, но проверяй) в хардкорном формате.
Лечить паранойю.
Здравия желаю, товарищ старый гебист. Помните меня? Ну, Ялта, 72 год, 14 июля? Мимо нас еще мамаша с коляской ходила, а там малыш был такой противный с флажком СССР в руке
(знал бы тогда, что там Гиркин, удавил бы на месте)Если припоминаете, то заходите, посидим, чаёк попьём, код попишем, софт потестим, в танчики поиграем.Проблема meticulousа в том, что он напоминает типажа из онекдота: скажите, уважаемый, а другого глобуса у вас нету?
Снифер + нотификатор, что может быть сложнее?
А ещё более хитрая часть колонны перехватывала ваш пароль при входе в браузере, а потом пользовалась им для слива инфы.
Вы очень похабно исказили идею того, что хочется. Правильно сформулированный вопрос есть половина ответа.
Для начала не пользовать Gnome-2, а установить минималистичный оконный менеджер. fluxbox или openbox какие-нибудь, следуя примеру SATtva'ы и unknown'а.
Снифер (tcpdump или wireshrak) + нотификатор. Можно одним скриптом выуживать данные, а другим отображать из через osd_cat.
Есть пример реалистичных правил iptables [1], там в логах всё пишется, что пожелаете. Время от времени выполняете в консоли под рутом iptables-save -c и смотрите счётчики пакетов на log-правилах. Если там не [0:0], то выполняете
Есть скрипт-команда, которая пишет в терминал в реальном времени все соединения, идущие не на заданный список IP:порт/протокол, только учтите общий момент: снифер сам по себе, блокирование правил — само по себе. Снифер покажет пакет, даже если он был заблокирован. Вам поидее нужна обработка вывода обоих. Я не знаю, есть ли готовые простые инструменты под эти цели (с GUI и всем остальным), наверняка есть, поищите. Ключевые слова вам были даны.
Помним тебя флудер, помним [2][создать], [3], [4], [5]. Помолчать можешь? Спасибо.
Спасибо, что не забываете. А зачем два раза приводить один коммент? Выборка кончилась?
Могу. Только этим и занимаюсь в основном.
Не за что. И вы заходите — посидим, чаёк попьём, код попишем,
LC посмотрим, софт потестим, в танчики поиграем — кораблики с самолётиками попускаем.комментариев: 9796 документов: 488 редакций: 5664
Я честно предупредил, что вы хотите странного, в любом случае — как-то оно заработает. Насчёт того, повысится ли от этого безопасность — вопрос спорный.
комментариев: 48 документов: 4 редакций: 0
Наверное, несложно, раз вы так спрашиваете. Тогда почему не видно этих решений в массовых ОС?
(на всякий случай еще раз отмечу, что речь в этом топике идет сугубо о Linux).
Хотел об этом написать, но потом решил доставить вам удовольствие лишний раз меня пнуть за упущение :)
Все же таких хитрых вредоносов в удельном отношении меньше. И кстати, не знаю, как передается логин/пароль от браузера на прокси – если по httpS, то они получат обломус.
Ну извините, как сумел.
Обычно так и поступаю, используя LXDE или XFCE. Но в данном случае указал Gnome по той причине, что под него больше прикладного софта, и шансов найти нужный мне для решения описанной задачи больше.
Хотя, конечно, можно юзать тот же LXDE, а нужный софт, если таковой найдется под Gnome, подтянет только нужные ему гномовские библиотеки.
Еще раз хочу обратить внимание, что хочу не просто решить описаную задачу по "пятой колонне", но решить ее, скажем так, красиво. Потому что красиво это синоним удобства и юзабельности, а в данной задаче – и вовсе целесообразности.
Поскольку я провожу время в Интернете используя Firefox/TBB (а не Lynx/Elinks), то хочу получать результаты в той же среде, что и они. Поэтому всякие там скрипты в мрачной консоли меня совершенно не прельщают – это все-таки не сервер, а десктоп.. Тем более, что в виндовозном KAVP/NOD32 эта красота присутствует как наглядный и дразнящий пример.
и т.д.
Аналогично. Еще раз: я хочу получать результаты в той же среде обитания, в которой провожу время, и не переключаться на консоль.
Иными словами – хочу получать результаты в GUI. При этом логи активности "пятой колонны", да и попыток внешних второжений удобно читать в виде веб-страниц, но всплывающие real-time сообщения – только в GUI-окошках на переднем плане, иначе их никто не заметит.
Помимо юзабельного представления, хотелось бы иметь хотя бы небольшой предварительный анализ событий, скажем, соответствующие комментарии к событиям.
Да-да, спасибо, конечно за предупреждение. Но оно ведь не решает поставленную задачу, и проблема остается в силе.
Вот! Это ключевое определение проблемы. Под "GUI и всем остальным" – такого нету.
По крайней мере мне найти не удалось, иначе бы не тратил свое и ваше время на эту дискуссию, которую затеял после длительных поисков.
комментариев: 11558 документов: 1036 редакций: 4118
Линуксовый софт способен работать под любым WM/DE. Исключение — это только приложения, являющиеся составной частью конкретной DE (типа какого-нибудь Okular для KDE), причём даже их зачастую можно запускать в сторонних DE, просто для установки они потащат за собой весь родной DE, что обычно нежелательно.
комментариев: 9796 документов: 488 редакций: 5664
Это ирония, всё достаточно сложно. SELinux — это свой метаязык с компиляцией модулей, подгружаемых с ядром. AppArmor — замороченные методики списков. И всё в таком же духе. Как чего-то отловить с дампов снифов трафика — не представляю, есть какой-то греп для tcpdump, но это поиск иголки в стоге сена. Да и зловред сначала получит локальные права, затем замаскируется скорее под плагин к браузеру, будет заворачивать свой трафик в Tor или HTTPS. Можно всё логировать и разбирать дампы всей активности, тогда на час работы в сети у вас будет уходить несколько часов ручного разбора полётов. Или закрутите гайки файрволом iptables по максимуму, чтобы всё подозрительное он скинул в лог. Тогда вам к консоли и сисадминству понадобится ещё масса скиллов по парсингу (python или perl).
Ну тогда эта система не для вас. Вообще, чтобы обнаружить взлом и компрометацию системы нужно понимать как она работает. И уметь самосостоятельно её собрать
и разобрать с завязанными глазами.Если кто-то напишет что-то для безопасности и будет заморачиваться с графическими оболочками, то я бы посчитал это дурным знаком. Ладно там, развлечения всякие, но серьёзные системные вещи — строго через консоль. Исключение — TBB и то, этого очень сильно требовала массовость распространения. Ну ещё к SELinux есть какие-то
бесполезныеграф. оболочки, потому чтоАНБRed Hat одно время очень сильно продвигала его в корпоративный сектор. Вот только все рецепты в оффблоге разработчиков опять таки про консоль.Вы всё хотите влезть на ёлку, ничего себе не ободрав. И безопасность в Linux достигается не разведением троянов с последующими попытками их отлавливать. Ещё про аудит взлома серверов я могу что-то представить, почитайте что-нибудь про это.
В этом деле никакой конкуренции западных производителей НЕТ. В каждом посылаемом шпионском пакете данных они передают свои метки по которым друг друга опознают и не стучат на шпионаж друг друга. Единственный выход: ставить внешние аппаратные схемы с собственноручно написаным ПО, просеивающим пакеты.
Потому что почти никому не нужно.
Класс B3 — довольно высокий уровень, нет этого в ОС общего назначения.
Я тоже вам могу предоставить удовольствие повариться в собственном соку без связи с внешним миром, разбирайтесь в своих «хочу» сами.
Какой вы наивный. Пароль будет перехвачен в момент ввода по типу этой или подобной процедуры, а не по сети.
Это и плохо. Это не оконные менеджеры (тем более, минималистичные).
Это удобно, юзабельно и красиво, в чём проблема?
При чём тут Lynx или elinks? Вы пишете скрипт, а результаты он, когда запущен, будет отражать, как захотите: может обои менять, может текст поверх всех окон выводить (osd_cat), может писать текст поверх обоев (root-tails). Как заскриптуете, так и будет. Наверняка есть рисовалки и с полноценными окошками, но для нотификаторов это, IMHO, хуже, чем прозрачные надписи поверх всего, не засланяющие основной текст окон. Поставьте пакет xosd-bin (или xosd, см. как он у вас в дистрибутиве называется), выполните в консоли echo "test" | osd_cat и увидете результат. Ваша цель — подсунуть вместо test нужный текст. Недавно на сайте пример был на эту тему.
Сегодня вам хочется одно, завтра — другое, послезавтра — третье, и что, будете под каждый чих готовое чьё-то GUI искать и ныть потом, что работает оно не так, как хотелось бы? Не проще ли разобраться с написанием скриптов и реализовать свои хотелки на шелле? Это полезный навык, пригодится ещё не одну тысячу раз при автоматизации тех или иных задач.
Так и не надо будет переключаться.
Формируйте скриптом txt- или html-файл, открывайте его потом, чем угодно.
Отлично, osd_cat делает это. Покурите его.
Ну какие описания вы напишете в скрипте, такие и будут.
Автору это ненужно. Он же сказал, простейший нотификатор в стиле того, что в мандриве было.
А ему больше и не надо. :)
Такие ситуации отлавливаться не будут. Предполагается, что никаких целевых эксплоитов нет и поиск идёт либо незлонамеренных утечек, либо злонамеренных, но глупых и отлавливаемых. По сути нужно время от времени парсить вывод netstat и писать список соединений, а также парсить вывод заблокированных пакетов и выводить их через osd_cat или ещё что. Задача решается за день. Можно наворотить удобств всяких в парсинге и его преобразовании, но это уже кто как пожелает, у каждого будут индивидуальные требования.
У него ж не корпоративная сеть, чтоб были такие сложности. Случайные утечки можно вручную разобрать. Я могу рассказать про успехи своего аудита. Пакетов много, но событий не так много. Либо это запуск приложения, которое пытается сделать DNS-резволинг напрямую, поэтому попытка оседает в заблокированных логах, либо при получении почты шлётся на loopback-интерфейсе нотификационный UDP-пакет на 512-ый порт (даже не подозревал, что такое есть). Больше никаких утечек обнаружено не было. По сути и то и то является штатной ситуацией. На да, я знаю, что при получении почты, к примеру, такое возникает, а при запуске какого-нибудь Psi возникает сифон по DNS. Но ничего нового из логов я на протяжении недель не узнаю, хотя время от времени в них заглядываю. Зачем мне нотификатор? Было бы интересней анализировать внешнюю активность по сниферу, чтобы знать, кто вас сканит и насколько интенсивно, но это уже другая задача.
+1