Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

articles:hw-vs-sft [2017/09/05 02:55] (текущий)
Строка 1: Строка 1:
 +====== hw-vs-sft ======
 +<​sub>​{{hw-vs-sft.odt|Original file}}</​sub>​
 +
 +====== __аппаратные и программные комплексы на арене безопасности__\\ сравнительный анализ достоинств и недостатков ======
 +
 +крис касперски,​ no-email
 +
 +**на рынке присутствует множество защитных механизмов всех мастей:​ брандмауэров,​ систем обнаружения вторжений,​ ****honey-pot'​****ов и т. д. в грубом приближении их можно разделить на аппаратные и программные решения,​ между которыми развернулась нешуточная борьба в умах пользователей,​ внезапно оказавшихся в шкуре буриданового осла, стоящего на равном расстоянии между двух одинаковых кучек сена. но философские концепции нас волнуют меньше всего и гораздо интереснее сопоставить надежность,​ расширяемость,​ совокупную стоимость владения и другие потребительские критерии,​ без указания конкретных торговых марок, чтобы автора не обвинили в ****PR'​****е и рекламе**
 +
 +===== введение\\ /* полоса 2, колонка 1 */ =====
 +
 +Если бы одна технология обладала бы неоспоримыми преимуществами перед всеми остальными,​ то конкурирующие решения давно бы вымерли как мамонты. Известное рыночное правило гласит:​ если имеется явный фаворит,​ захвативший ~69% рынка, то никакой проблемы выбора нет и все ОК. Имеющиеся альтернативные решения сосредоточены в экзотических нишах, где на их позиции никто не покушается,​ и потребители таких продуктов обычно заранее знают, что им нужно (в конце концов,​ мы обсуждаем не покупку нового холодильника,​ а введение в строй сложного комплекса,​ характеристики которого должны быть досконально изучены инженерами,​ иначе о какой IT-индустрии вообще идет речь?​!).
 +
 +Наличие многочисленных конкурирующих решений с близкими характеристиками,​ порождает… нет, отнюдь не свободу,​ а _проблему_ выбора,​ поскольку с ходу очень трудно разобраться какие характеристики нам действительно нужны, а какие только мешают. Независимые обозреватели очень часто используют так называемые интегрированные тесты, в которой каждой характеристике присваивается свой "​вес"​ (взятый,​ как правило,​ с потолка),​ после чего мы получаем набор скалярных коэффициентов,​ представленный в виде симпатичной диаграммы,​ знакомство с которой зачастую приводит в ужас.
 +
 +Какой, например,​ вес имеет легкость управления?​ Вопреки распространенному заблуждению — ровным счетом никакого! Мы же не о прикладных программах говорим,​ а о защитных комплексах,​ ориентированных на автономную работу,​ предполагающую минимум планового обслуживания. А это значит,​ что все технические проблемы можно возложить на специалистов (администраторов и прочий IT-персонал),​ чтобы знали, что они не даром своей хлеб едят. Концепция "​купил железку,​ воткнул,​ все заработало"​ подходит только для SOHO-офисов и создает лишь видимость безопасности,​ поскольку,​ конфигурация по умолчанию очень мало от чего защищает. Крутись,​ не крутись,​ а для грамотной настройки все равно потребуется глубокие знания сетевых протоколов и методов хакерских атак. То есть, другими словами,​ потребуются специалисты. А у специалистов свои понятия и чем больше "​ручек"​ и органов управления у девайса – тем легче он поддается настойке!!!
 +
 +Или вот другой пример. Плотность монтажа. Да, действительно,​ аппаратные решения,​ как правило,​ обладают более высокой плотностью монтажа,​ что позволяет развертывать мощные "​вычислительные центры"​ даже на скромной площади. Но… проблема нехватки свободного пространства в России (в отличии,​ например,​ от Японии) носит локальный,​ а не глобальный характер и потому весомость данного критерия варьируется в очень широких пределах и должна определяется каждым потребителем индивидуально.
 +
 +Никаких интегрированных тестов! Никаких религиозных войн "​железо"​ против "​софта"​. Задача автора состоит в том, чтобы показать когда выгоднее использовать то или иное решение. Причем,​ в большинстве случаев оба решения рекомендуется использовать совместно друг с другом.
 +
 +===== >>>​ сравнение аппаратных и программных решений\\ /* полоса 2, колонка 2 */ =====
 +
 +  - **плюсы аппаратных решений:​**
 +    - более низкая цена по сравнению с программными;​
 +    - отсутствие необходимости в постоянном обслуживании;​
 +    - предсказуемая производительность при пиковой загрузке;​
 +    - намного более высокая сложность атаки с захватом управления;​
 +    - компактность,​ что актуально для серверов с высокой плотностью монтажа;​
 +  - **минусы аппаратных решений:​**
 +    - сложность (или невозможность) обновлений;​
 +    - невозможность адаптации под конкретные нужды;
 +    - зачастую намного более бедная функциональность;​
 +===== >>>​ рисунки к статье\\ /* полоса 2, колонка 2, 3 */\\ /* полоса 6, колонка 2 */ =====
 +
 +{{hw-vs-sft_Image_0.png}}
 +
 +Рисунок 1 типичная схема устройства аппаратного брандмауэра/​IDS
 +
 +{{hw-vs-sft_Image_1.jpg}}
 +
 +Рисунок 2 внешний вид аппаратного брандмауэра Barracuda Firewall
 +
 +{{hw-vs-sft_Image_2.jpg}}
 +
 +Рисунок 3 Cisco 2600 со снятой крышкой (маршутизатор со встроенным брандмауэром)
 +
 +{{hw-vs-sft_Image_3.jpg}}
 +
 +Рисунок 4 беспроводной мультимедиа сервер/​VPN-роутер от OvisLink
 +
 +{{hw-vs-sft_Image_4.jpg}}
 +
 +Рисунок 5 аппаратный NetgearsBreakthroughSSLVPNGateway
 +
 +{{hw-vs-sft_Image_5.jpg}}
 +
 +Рисунок 6 а теперь для контраста — брандмауэр,​ собранный на основе ПК. Сколько тут лишних деталей!!!
 +
 +
 +
 +{{hw-vs-sft_Image_6.jpg}}
 +
 +Рисунок 7 аппаратный файловый сервер,​ собранный на основе двух жестких дисков,​ подключенных к микроконтроллеру,​ поддерживающему RAID, Ethernet и немного памяти,​ куда вмещается урезанный Linux с Самбой
 +
 +{{hw-vs-sft_Image_7.jpg}}
 +
 +Рисунок 8 аппаратный файловый сервер в собранном виде
 +
 +{{hw-vs-sft_Image_8.png}}
 +
 +Рисунок 9 логотип,​ который по праву мог бы красоваться на многих "​аппаратных"​ решениях
 +
 +===== внутри коробки\\ /* полоса 3, колонки 1, 2, 3 */ =====
 +
 +"​Аппаратное решение"​ по большому счету это всего лишь раскрученный брэнд. Чисто аппаратные решения уже давно перевелись в природе. Аппаратной может быть реализация регистра сдвига (на триггерах),​ но любое мало-мальски сложное устройство гораздо легче, выгоднее и дешевле собрать из микроконтроллера,​ нагрузив его программным обеспечением. В частности,​ современные жесткие диски поддерживают развитую операционную систему,​ а их прошивка имеет модульную организацию,​ где каждый модуль борется с другими модулями за память,​ процессорные ресурсы,​ порты ввода/​вывода и по возможности максимально обстрагивается от деталей реализации конкретной модели жесткого диска, чтобы производитель мог использовать его и в других винчестерах. То есть без операционной системы — никуда.
 +
 +Сами процессоры еще операционной системой не обзавелись,​ но работы в этом направлении уже ведутся. Повсеместно используется схема: RISC-ядро плюс ПЗУ, хранящее микрокоды,​ реализующие логику машинных команд. От процессоров с загружаемым набором команд нас отделяет всего лишь один шаг.
 +
 +Возьмем "​аппаратный"​ брандмауэр и залезем внутрь его. Что мы увидим?​ Как правило микроконтроллер с поддержкой Ethernet и несколько микросхем оперативной памяти плюс ПЗУ в котором зашито что-то очень похожее на NetBSD или слегка изуродованный Linux. Жесткий диск может быть, а может и отсутствовать,​ поскольку BSD способна грузиться прямо из ПЗУ, сохраняя конфигурации в энергонезависимой памяти,​ что предотвращает крах системы,​ ибо падение лечится простой перезагрузкой (примечание:​ NetBSD обычно используется потому,​ что она портирована под рекордное количество платформ и в отличии от Linux'​а допускает коммерческое использование с закрытой архитектурой).
 +
 +Ну, и чем эта штука отличается от обыкновенного ПК? BSD/Linux можно загружать и с Read-Only носителей,​ исключая случайную или преднамеренную порчу кода операционной системы. К тому же вместо NetBSD мы можем установить намного более защищенную OpenBSD, атаковать которую в разы сложнее. В чем же разница?​!
 +
 +С технической точки зрения — ПК, будучи многоцелевым устройством,​ чрезвычайно избыточен,​ а потому его себестоимость намного выше себестоимости узкоспециализированного брандмауэра,​ собранного на базе минимум микросхем и решающего всего одну, поставленную перед ним задачу — фильтрацию пакетов на основе заданных политик. В предельно вырожденной ситуации для этого потребуется всего лишь один микроконтроллер с Ethernet'​ом,​ ну и микросхемами обвязки. Программное обеспечение — BSD, Linux ну или гибрид того и другого. Никаких лицензионных отчислений! Стоит все это будет — копейки. Конечно,​ брандмауэр,​ установленный на высокоскоростных каналах,​ требует достаточно мощного процессора (но не x86, т. к. в этом случае львиная доля команд последнего останется незадействованной),​ буферной оперативной памяти и еще много чего, но даже в этом случае соотношение производительность/​себестоимость будет обгонять ПК.
 +
 +С другой стороны,​ если у нас уже есть ПК, то, установив на него брандмауэр,​ из все той же OpenBSD, мы получим защитный комплекс практически даром. Естественно,​ настраивать его нам придется своими руками,​ выкидывая все лишние компоненты из OpenBSD, которые могут быть атакованы. В конечном счете, от всего ПК у нас останется только брандмауэр,​ причем,​ без какой-либо поддержки со стороны производителя. И все технические проблемы,​ возникающие при эксплуатации "​самоделки"​ — это _наши_ проблемы.
 +
 +Напротив,​ покупая аппаратный брандмауэр,​ мы приобретаем законченный продукт,​ готовый к употреблению и поставщик обязан своевременно исправлять все проблемы. В частности,​ выпускать заплатки,​ обновления… Стоп! Какие такие обновления?​! Если код операционной системы зашит в ПЗУ, то обновить его практически невозможно. Энергонезависимая память дает гораздо большее пространство для маневра,​ но все-таки имеет свои ограничения. В частности,​ заснуть туда поддержку новых протоколов (которые появились в Висте и в Server 2008) навряд ли удастся,​ поэтому,​ "​программный"​ брандмауэр в этом плане намного более предпочтительнее.
 +
 +К тому же, как показывает практика,​ большинство администраторов либо вообще никогда не устанавливают заплатки на аппаратные брандмауэры,​ считая их пуленепробиваемыми,​ либо же эти заплатки выходят с большим запозданием,​ и хотя при некоторой сноровке их можно изготовить и самостоятельно — ведь брандмауэры,​ как правило,​ основаны на открытых операционных системах,​ — эти операционные системы сплошь и рядом существенно "​изуродованы",​ а, точнее,​ заточены под конкретную конфигурацию и потому заплатка с официального сайта разработчиков оси туда скорее всего просто не встанет.
 +
 +Тоже самое относится и к новым версиям. Если раньше от брандмауэра требовалось всего лишь поддерживать конфигурируемые политики доступа,​ то теперь брандмауэры объединили с антивирусами,​ научив их распознавать сигнатуры червей и блокировать заразу еще на подходе. Эвристические технологии отсекают многие виды атак и делают массу других полезных вещей, позволяя блокировать зловредный трафик,​ маскирующийся под полезный. Пользователи программных брандмауэров находятся на гребне волны, приобщаясь к миру самых передовых защитных технологий. Как только какой-то брандмауэр оказывается скомпрометированным,​ его разработчики ищут пути усиления защиты и очередная хакерская атака захлебывается в приступах бессильной ярости.
 +
 +Что же касается аппаратных брандмауэров,​ то их в этом случае приходится просто выбрасывать на свалку или же… надеяться,​ что раз нас и раньше никто не атаковал,​ то и в будущем все будет ОК. Но в таком случае,​ брандмауэр вырождается в психологическое средство защиты.
 +
 +Впрочем,​ аппаратный брандмауэр это не обязательно "​выделенный компьютер"​. Высокая степень интеграции современных микросхем привела к тому, что полнофункциональные брандмауэры стали встраиваться практически куда угодно,​ например,​ в DSL-модемы. Насколько они надежны?​ Хм, риторический вопрос. Надежны-то они, быть может и надежны. Если порт закрыт,​ то просочиться сквозь него никак не получится,​ разве что мы имеем дело с ошибкой реализации,​ которые встречаются достаточно часто. И самая распространенная из них — при установке исходящего TCP/IP соединения c WEB-узлом (например) операционная система клиентского компьютера открывает локальный порт, который открывается так же и на брандмауэре. И ось, и брандмауэр,​ принимая пакеты,​ проверяют номер TCP-последовательности,​ затрудняя посылку "​левых"​ пакетов от злоумышленника,​ однако,​ популярные оси не проверяют IP-адрес отправителя и это (по идее) должен делать брандмауэр,​ но дешевые брандмауэры,​ интегрированные в DSL модемы,​ этого не делают,​ а потому могут быть атакованы (хоть и не без труда). Еще они не ведут логи, не поддерживают гибкую политику управления доступом… в общем, отсекают лишь пионеров и прочих вандалов.
 +
 +===== персональные брандмауэры\\ /* полоса 4, колонка 1, 2, 3 */ =====
 +
 +Брандмауэр,​ установленный на отдельном узле (независимо от того, программный он или аппаратный),​ мы будем называть выделенным. Выделенные брандмауэры радикальным образом отличаются от персональных и сравнивать их все равно что сопоставлять телевизор с магнитофоном. Персональный брандмауэр,​ устанавливаемый непосредственно на клиентском узле, вопреки распространенным заблуждениям,​ не реализует подмножество функций выделенного брандмауэра. Скорее наоборот.
 +
 +Выделенные брандмауэры достаточно трудно обойти снаружи защищаемой сети, но пробить их изнутри — плевое дело. Рассмотрим крайне недемократичный выделенный брандмауэр,​ на котором открыт всего лишь один 80й порт для исходящих соединений. Предполагается,​ что сотрудники организации будут ходить по сайтам,​ включенных в список разрешенных. Насколько надежна такая защита,​ при условии,​ что брандмауэр свободен от ошибок реализации?​
 +
 +Она _абсолютно_ ненадежна! Выделенный брандмауэр не знает какое приложение устанавливает соединение по 80му порту. Это может быть не только IE, Горящий Лис или Опера, но так же и злобный червь или даже хакерский shell. Однажды заброшенный на компьютер (например,​ через почтовую рассылку или дыру в том же IE) он сможет передавать любые данные во внешний мир. И "​белый"​ список WEB-узлов тому не помеха. Практически все такие узлы имеют форумы,​ гостевые книги, WEB-mail'​ыили какие бы то ни было другие "​трансферы"​ данных. Даже если червь не может соединиться непосредственно с хакерским узлом, он заходит на один из "​белых"​ сайтов,​ оставляет там зашифрованное послание,​ которое читает хакер, и пишет еще одно — с командами для червя, который забирает их оттуда под "​неусыпным"​ взором выделенного брандмауэра с точки зрения которого "в Багдаде все спокойно"​.
 +
 +Персональные брандмауэры,​ установленные на клиентских компьютерах,​ обладают полной информацией обо всех устанавливаемых соединения и просто так передать данные на открытый 80й порт уже не получится,​ потому что с 80й портом общаться может только IE, Лис или Опера. Даже если червь попытается проникнуть в адресное пространство доверенного приложения и установить соединение от его имени (или передать данные в контексте уже установленного соединения),​ персональный брандмауэр немедленно распознает эти махинации и забьет тревогу (если, конечно,​ это хороший брандмауэр).
 +
 +Так же многие персональные брандмауэры берут на себя функции антивирусов,​ проверяя целостность исполняемых файлов и сканируя сетевые пакеты на предмет известных сигнатур. Еще они ведут логи соединений,​ грабят трафик (для последующих разборов полетов) выступая в роли снифферов,​ распознают некоторые наиболее популярные шаблонные атаки (т. е. берут на себя функции систем обнаружения вторжений — IDS) и делают массу других полезных дел, отображая красивые диаграммы сетевой активности. Политики управления доступом обычно ничуть не хуже, чем у выделенных брандмауэров. Словом,​ не жизнь — а самая настоящая сказка.
 +
 +Возникает резонный вопрос:​ если персональные брандмауэры столь хороши,​ то зачем нам нужны выделенные да еще и аппаратные?​ Не пора ли их выкинуть на свалку?​! Увы! Персональный брандмауэр не слишком надежная конструкция,​ чтобы ей было можно доверять безопасность корпоративной сети и в одиночку с хакерами ему ну никак не справится.
 +
 +Персональный брандмауэр закрывает порты, но не затыкает дыры (за исключением тех дыр, которые могут быть заблокированы путем закрытия портов,​ как это было, например,​ в случае со службой DCOM RPC). Так же брандмауэр не защищает от человеческих ошибок (например,​ открытия исполняемого файла присланного в качестве вложения). Если компьютер,​ на котором установлен персональный брандмауэр,​ тем или иным образом скомпрометирован,​ то зловредный код можно запросто отключить персональный брандмауэр,​ даже если брандмауэр работает на уровне ядра, а хакер захватил всего лишь прикладной уровень третьего кольца. Дезактивировать драйвер с третьего кольца возможно лишь при наличии прав администратора и с явного согласия самого драйвера. А как быть, если дальше прав обычного пользователя хакер так и не продвинулся?​
 +
 +На помощь атакующему приходит тот факт, что многие персональные брандмауэры хранят политики доступа либо в файлах,​ либо в ветвях реестра,​ доступных на запись всем желающим это раз. Оконная подсистема Windows представляет собой одну сплошную дыру и менее привилегированные приложения могут беспрепятственно посылать сообщения окнам и элементам управления более привилегированных приложений,​ имитируя мышиный или клавиатурный ввод, посредством которого можно отключить брандмауэр через его пользовательский интерфейс (естественно,​ для этого хакер должен знать брандмауэр "в лицо",​ однако,​ учитывая,​ что брандмауэров не так уж и много — это не такая уж и сложная задача). Самая универсальная атака работает по следующему сценарию:​ зловредный код ломится в сеть, одновременно с этим сканируя список окон на предмет появления новых диалогов,​ и, если таковые появляются,​ ищет кнопку с надписью "​yes"​ и "​давит"​ на нее путем посылки соответствующего сообщения. Просто,​ но чрезвычайно эффективно. Можно даже сказать убийственно эффективно.
 +
 +Выходит,​ что персональные брандмауэры хороши только для отражения атак извне. Если же компьютер скомпрометирован,​ то персональный брандмауэр задержит лишь наиболее тривиальные экземпляры малвари,​ написанные "​пионерами"​ (коих кстати,​ большинство). Что же касается аппаратного брандмауэра то, в силу его простоты (читай:​ отсутствия "​лишних"​ запчастей) атаковать его очень сложно и хотя в общем случае он не препятствует прохождению трафика из внутренней сети во внешний мир, наличие логов позволяет проанализировать ситуацию и установить причины атаки.
 +
 +Аппаратный брандмауэр,​ хранящий код операционной системы в ПЗУ и использующий ОЗУ исключительно в качестве буферной памяти,​ скомпрометирован не может быть в принципе,​ ибо хакеру просто негде разместить shell-код,​ однако,​ следует помнить,​ что удаленное изменение политик контроля за трафиком все-таки возможно,​ как возможно создание хитрых пакетов,​ проходящих сквозь брандмауэр вопреки всем запретам.
 +
 +Таким образом,​ настоятельно рекомендуется использовать гибридные решения — выделенный аппаратный брандмауэр (или машрутизатор/​DSL модем с функциями брандмауэра),​ охраняющий периметр сети и персональные брандмауэры,​ установленные на каждой клиентской машине. Естественно,​ это затрудняет администрирование и вызывает необходимость обучения персонала,​ чтобы на каждый запрос они машинально не давили "​yes",​ но по другому организовать защищенную систему просто не получается. Использование всего лишь одного типа брандмауэров будет ущербным решением.
 +
 +===== слово экспертам\\ Thomas Ptacek co-founder of Matasano Security\\ /* полоса 5, колонка 1 */ =====
 +
 +{{hw-vs-sft_Image_9.jpg}}
 +
 +Рисунок 10 Thomas Ptacek
 +
 +**Q:​ ****представьтесь пожалуйста**
 +
 +A: Я являюсь соучредителем фирмы Matasano Security, специализирующейся на безопасности и занимающейся независимым тестированием различных защитных комплексов,​ а так же разработкой новых методов обхода брандмауэров,​ IDS и т. д.
 +
 +**Q:​ ****каким решениям вы отдаете предпочтение:​ программным или аппаратным?​**
 +
 +A: нет универсального ответа на поставленный вопрос. Все зависит от целей, которые вы ставите,​ и ресурсов,​ которыми вы располагаете. Практически все продукты,​ представленные на рынке, имеют право на существование и большинство из них довольно прочно удерживаются в своих нишах. Как в боксе существуют различные весовые категории,​ так и в защитных комплексах бессмысленно сравнивать дешевый SOHO-брандмауэр,​ встроенный в десяти мегабитный DSL-модем,​ с брандмауэром,​ подключенным к магистральному каналу и обрабатывающему сотни тысяч соединений одновременно. Эта истина кажется очевидной,​ до тех пор, пока SOHO-потребитель,​ решивший приобрести дорогую "​железку"​ с ужасом не обнаружит,​ что без высокооплачиваемого администратора она ничем не лучше Windows Firewall.
 +
 +**Q:​**** хорошо,​ давайте отсечем ****SOHO****-рынок и сосредоточимся на крупных компаниях**
 +
 +**A:​ **насколько крупных?​ если у компании имеется развитая локальная сеть, то скорее всего у нее имеется и маршутизатор и бьюсь о заклад,​ что в 9 из 10 случаев это будет CISCO, а раз так, то в него _уже_ встроен брандмауэр и никакого дополнительного железа или программного обеспечения покупать не требуется. Естественно,​ мы говорим об отражении тех атак, против которых брандмауэр,​ собственно говоря,​ и предназначен. Наличие брандмауэра не устраняет необходимость установки антивирусного программного обеспечения,​ систем обнаружения вторжений и т.д., поскольку брандмауэр это всего лишь _часть_ огромного защитного комплекса. Можно провести такую аналогию:​ мы врезаем железную дверь (брандмауэр),​ но забываем установить решетки на окнах. Дальше мысль развивать?​
 +
 +**Q:​ ****какие брандмауэры легче ломаются:​ программные или аппаратные?​**
 +
 +**A:​** программные брандмауэры доступы для изучения всем желающим,​ а таких желающих очень много. Как следствие — дыры обнаруживаются постоянно. Аппаратный брандмауэр невозможно скачать по Сети, его необходимо купить или получить к нему доступ на работе (если только босс даст добро на эксперименты с ним), в результате чего круг лиц, соприкасающихся с аппаратными брандмауэрами,​ существенно сокращается и потому они потенциально намного более безопасны. С другой стороны,​ если в популярном аппаратном брандмауэре обнаруживается дыра, а установка обновлений конструктивно не предусмотрена,​ то это означает,​ что вам нужно копить деньги на новую "​железку"​. А в случае программных брандмауэров достаточно своевременно устанавливать свежую заплатку.
 +
 +===== BlueKnight, Development Project Management\\ /* полоса 5, колонка 2 */ =====
 +
 +{{hw-vs-sft_Image_10.jpg}}
 +
 +Рисунок 11 BlueKnight
 +
 +**Q:​ ****представьтесь****пожалуйста**
 +
 +A: я руковожу отделом по разработке ядерных компонентов программных брандмауэров и систем обнаружения вторжений,​ а так же прошивок к аппаратным системам защиты
 +
 +**Q:​ ****какое из двух обозначенных решений по вашему является наиболее защищенным?​**
 +
 +A:​ аппаратные комплексы,​ построенные на базе микропроцессоров или процессоров с архитектурой отличной от x86, намного более защищены в силу того, что подавляющее большинство хакеров знакомы только с x86 и написать shell-код для другого процессора они просто не в состоянии,​ особенно если это заказной процессор со слегка измененной системой команд,​ документация на которым распространяется только под NDA и который использует оперативную память только в качестве буферов для хранения данных,​ среди которых нет никаких указателей,​ то есть, даже если в прошивке имеется ошибка переполнения буфера — максимум чего может добиться хакер: затереть заголовок соседнего пакета,​ чтобы он проскользнул сквозь брандмауэр вопреки назначенным политикам доступа,​ но это крайне маловероятно,​ поскольку содержимое буферной памяти хаотично и чрезвычайно трудно предсказуемо. И хотя в наших лабораториях нам удалось воспроизвести такую атаку, это был чисто лабораторный эксперимент. Сомневаюсь,​ что кому-то удастся реализовать его в условиях дикого Интернета,​ особенно если хакер не располагает полной информацией об устройстве брандмауэра.
 +
 +
 +
 +**Q:​**** ****TCP/​IP**** стек — очень сложная штука. Какие реализации вы используете?​**
 +
 +A: мы используем BSD стек, взятый из NetBSD и доработанный под наши нужды. Теоретически,​ это означает,​ что любая дыра, обнаруженная в стеке NeBSD, так или иначе затрагивает и наши продукты (а точнее продукты наших партнеров,​ поскольку мы выпускам не сами брандмауэры,​ а лишь ядерное программное обеспечение для них, поверх которого набрасывается еще много вспомогательного кода). Поэтому,​ мы интенсивно работаем в этом направлении,​ предугадывая возможные дефекты BSD стека и устанавливая дополнительные уровни защиты. Машинный код находится в области памяти недоступной для записи,​ а в оперативной памяти нет никаких указателей,​ которые можно было бы затереть. В оригинальной NetBSD все не так и для удаления указателей из кучи нам потребовалось написать свой собственный аллакатор,​ но это уже корпоративная тайна ;)
 +
 +**Q:​**** то есть, защищенность ваших продуктов основана на закрытости их архитектуры?​**
 +
 +**A:​**** **надеюсь,​ что меня не закидают помидорами,​ если я отвечу "​да",​ но когда покупатель получает "​коробку",​ устройство которой ему не известно и из которой очень сложно вытянуть программный код, то для поиска дыр требуются специализированные инструменты и солидные вложения,​ в то время как защитный комплекс,​ построенный на базе ПК, может ковырять каждый парень из гаража,​ отсюда — и огромное количество дыр, обнаруживаемых чуть ли не ежедневно.
 +
 +===== Jesse AdelmanSenior Linux/UNIX Systems Administrator\\ /* полоса 5, колонка 3 */ =====
 +
 +**{{hw-vs-sft_Image_11.jpg}}**
 +
 +Рисунок 12 Jesse Adelman
 +
 +**Q: ****представьтесь,​ пожалуйста**
 +
 +**A: **я администрирую локальную сеть предприятия,​ насчитывающего свыше тысячи компьютеров,​ управляемых десятком серверов,​ нуждающихся в защите как изнутри (инсайдеры),​ так и извне (хакеры).
 +
 +**Q:​ ****какие защитные комплексы вы предпочитаете:​ программные или аппаратные?​**
 +
 +**A:​ **аппаратные. И вот почему. Во-первых,​ они требуют минимум обслуживания (в общем случае не требуют обслуживания вообще),​ во-вторых,​ потребляют намного меньше энергии,​ что критично при питании от UPS, в-третьих (и это самое главное) в документации на всякий аппаратный комплекс обозначена пиковая мощность,​ а программные решения,​ воздвигнутые на базе ПК с OpenBSD, обладают совершенно непредсказуемыми характеристиками и их параметры приходится вычислять эмпирическим путем, причем,​ наличие жестких дисков с файловыми системами,​ подверженными фрагментации,​ вызывает неуклонную деградацию производительности,​ а нормальных дефрагментаторов для OpenBSD нет и неизвестно когда они появятся,​ поэтому,​ приходится оставлять солидный задел по мощности. Другой серьезный недостаток программных защитных комплексов:​ очень плохая поддержка со стороны производителя. Даже в случае коммерческих пакетов,​ производитель ПО стремится спихнуть все проблемы на "​железо"​ и очень трудно доказать,​ что железо тут ни при чем. Фактически,​ мне самому приходится искать источник проблем занимаясь "​обратным проектированием"​ (или, попросту говоря,​ хакерством),​ а потом тыкать разработчиков носом в их дерьмо,​ которое они все равно не собираются исправлять. Open Source проекты это вообще ужас и сплошной кошмарный сон. Документации нет и не предвидится. Стоимость enterprise систем намного превышает цену аппаратных железок. Считается,​ что мы платим за поддержку. Но вот только где эта поддержка?​ Документация представляет собой бессистемное собрание различных отрывочных заметок,​ написанных совершенно непроходимым языком. Текста много — смысла мало. И хотя это всего лишь мое личное впечатление (с которым многие наверняка не согласятся и приведут кучу контраргументов),​ я предпочитаю аппаратные решения.
 +
 +**Q:​ ****из сказанного непонятно — используете ли вы программные решения или нет?**
 +
 +**A:​ **естественно использую,​ поскольку далеко не все защитные комплексы можно (или целесообразно) реализовывать на аппаратном уровне. Аппаратные системы долго проектируются и потому слишком консервативны,​ а для эффективного отражения атак нужно быть подвижным как ртуть, оперативно реагируя на новые типы атак, поэтому,​ при всей моей антипатии к программным решениям полностью отказаться от них увы не получается.
 +
 +===== /* полоса 6, колонка 1 */\\ фотографии экспертов =====
 +
 +===== заключение\\ /* полоса 6, колонка 3 */ =====
 +
 +Статья не дает исчерпывающего ответа на вопрос — какие же решения все-таки стоит использовать. Аппаратные комплексы обладают массой преимуществ и уважаемые эксперты,​ имеющие богатых опыт их промышленной эксплуатации,​ это полностью подтверждают,​ однако,​ признают,​ что без программных решений дело все равно не обходится и в итоге побеждает дружба,​ то есть гибридные системы.
 +
 +Однако,​ понятие гибридности отнюдь не сводится к одновременному использованию нескольких типов брандмауэров,​ соединенных последовательно или параллельно,​ поскольку это приводит к многочисленным конфликтам и лишь ослабляет (а отнюдь не усиливает!) общую защищенность. В частности,​ персональные брандмауэры представляют собой весьма соблазнительный объект для атаки, позволяющий в ряде случаев проникнуть в ядро с прикладного уровня. Ошибки в драйверах антивирусов,​ брандмауэров и IDS – вполне распространенное явление,​ избежать которого не смог ни один производитель.
 +
 +А потому,​ чем больше защитных систем у вас установлено,​ тем выше вероятность атаки. Правильно спроектированный комплекс обороны должен содержать минимум компонентов,​ причем,​ каждый из этих компонентов должен быть по возможности изолирован от всех остальных. Простой пример. Если программный брандмауэр установлен на WEB-сервере,​ то атаковав WEB-сервер (а количество ошибок в WEB-серверах достаточно велико),​ злоумышленник сможет воздействовать и на сам брандмауэр,​ отключив все защиты и проникнув в локальную сеть. Чтобы этого не произошло,​ брандмауэр следует расположить на отдельном узле, изолированным от всех остальных.
 +
 +Решения типа "​все в одном"​ с экономической точки зрения выглядят чрезвычайно соблазнительными,​ но идут в разрез с понятиями безопасности,​ особенно если они воздвигнуты на серийных процессорах,​ хорошо известных всем хакерам. С другой стороны,​ популярные аппаратные комплексы испытывают те же самые проблемы. Интерес к аппаратным взломам со стороны хакеров неуклонно растет и существуют достаточно серьезные опасения,​ что рост дыр может принять лавинообразный характер,​ а потому от приобретения "​железок"​ не поддерживающих обновлений микрокода все-таки лучше воздержаться.
 +
 +