Боронин Сергей — независимый IT-эксперт http://sboronin.ru Главное, что должен сделать преподаватель, — это донести концептуальное понимание изучаемого предмета. Такой подход позволяет быстро ориентироваться в проблемах, возникающих на практике, и самостоятельно их решать, а не пытаться приспособить к жизни заложенный преподавателем шаблон. Только так можно подготовить специалистов, способных справиться с самыми разными ситуациями и найти неординарные и эффективные решения. И именно в таких специалистах заинтересован бизнес. А их отсутствие приводит к кадровому голоду. Wed, 23 Feb 2022 22:59:55 +0000 ru-RU hourly 1 Реализация стратегии «Defence-in-Depth» http://sboronin.ru/2022/02/24/%d1%80%d0%b5%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d1%81%d1%82%d1%80%d0%b0%d1%82%d0%b5%d0%b3%d0%b8%d0%b8-defence-in-depth/ Wed, 23 Feb 2022 22:54:34 +0000 http://sboronin.ru/?p=288 Читать далее ]]> Идеология «Defence-in-Depth», имеющая военное происхождение, успешно зарекомендовала себя в качестве одной из лучших практик в области ИБ.

Ее главное преимущество — многоуровневая защита, обеспечивающая безопасность на каждом из следующих уровней:
• Данных
• Приложений
• Хостаa
• Внутренней (локальной) сети
• Внешнего периметра
• Физической защиты
• Политик, процедур и регламентов
В зависимости от специфики активов, которые требуется защищать, может потребоваться учесть следующие аспекты: конфиденциальность, целостность, доступность, аутентификацию и/или неотказуемость.
Обеспечение конфиденциальности в зависимости от уровня осуществляется разными защитными мерами, например:
• На уровне политик, процедур и регламентов прописываются организационные меры по работе с конфиденциальной информацией с учетом требований нормативной документации и/или существующих стандартов.
• На уровне физической защиты обеспечивается защита контролируемой зоны от проникновения посторонних, здесь в ход идут замки, охрана, видеокамеры, датчики движения, шредеры для бумаг и т. п.
• Для обеспечения конфиденциальности на внешнем периметре используются средства криптографической защиты, такие как VPN и сетевые протоколы, защищенные TLS.
• Конфиденциальность во внутренней сети обеспечивается средствами контроля доступа домена Active Directory и протоколами защищенными средствами TLS.
• Для защиты конфиденциальности на уровне хоста используются: механизмы локального контроля доступа, шифрования дисковых разделов и/или баз данных, изоляции процессов, очистки оперативной памяти и файлов на жестком диске, фиксации документов, отправляемых на печать, а также, контроля съемных носителей.
• Приложения, для ограничения доступа могут использовать одну из следующих моделей: контроль доступа на основе ролей, дискретный доступ и мандатный доступ.
• Для защиты конфиденциальности на уровне данных используется их криптографическая защита.
Обеспечение целостности на разных уровнях также имеет отличия:
• Регламентируется политика резервного копирования, применяемые подходы и технологии.
• На уровне физической защиты обеспечивается безопасное хранение резервных копий в закрытом помещении.
• Для обеспечения целостности на внешнем периметре также применяются криптографические протоколы.
• Целостность во внутренней сети обеспечивается с использованием централизованного решения по резервному копированию и восстановлению, что охватывает файловые системы, базы данных и образы виртуальных машин.
• Целостность на уровне хоста реализуется резервным копированием настроек операционной системы и приложений.
• Целостность на уровне приложений обеспечивается за счет транзакционных механизмов предоставляемых системами управления базами данных и их поддержкой на уровне соответствующих библиотек и фреймворков.
• Целостность данных обеспечивается рядом технологий: использованием криптографических хэш-функций, транзакциями и резервным копированием.
Для обеспечения доступности на каждом из уровней применяюся следующие подходы:
• Прорабатываются и подготавливаются Service Layer Agreement’s (SLA) – соглашения об уровне обслуживания для ключевых корпоративных сервисов
• На физическом уровне обеспечивается бесперебойное электроснабжение из нескольких независимых источников (резервным источником, как правило, является дизельный генератор), наличие резервного интернет-канала, помещений для серверных, систем кондиционирования и т. д.
• На внешнем периметре для обеспечения доступности сервисов используются: MultiWAN (подключение нескольких интернет-каналов к одному интернет шлюзу), BGP (протокол позволяющий использовать провайдеронезависимые IP-адреса таким образом, чтобы в случает пропадания интернет-соединения через одного провайдера, интернет-трафик прозрачно переключился бы на второго провайдера).
• На уровне локальной сети используется совокупность следующих мер: горячее/холодное резервирование серверов и сетевого оборудования, bonding (объединение каналов связи) и использование источников бесперебойного питания для серверов, сетевого и периферийного оборудования.
• На уровне хоста упор в повышении доступности делается путем настройки параметров IP-стека, настройкой локального брандмауэра и использовании технологии syncookie`s (технология защиты от SYN Flood атак).
• На уровне приложений повышение доступности достигается выбором более стойких к нагрузке решений, например, замена Apache на Nginx.
• На уровне данных их доступность в большей степени обеспечивается избыточностью при их хранении: RAID-массивы, кластерные файловые системы и сетевые хранилища данных.
Механизмы аутентификации, в свою очередь, также имеют отличия от уровня к уровню:
• На уровне политик, процедур и регламентов определяется политика паролей, а для наиболее критичных для бизнеса сервисов и требования двухфакторной аутентификации.
• На физическом уровне роль механизмов выполняют физические и электронные замки и турникеты с «двухфакторной аутентификацией», например, по электронному пропуску и фотографии (сверку по фотографии осуществляет сотрудник охраны).
• На внешнем периметре может использоваться VPN-сервер с двухфакторной аутентификацией клиента, а, например, в случае WEB-сайта двухфакторная аутентификация клиентов по логину/паролю и через Google-аутентификатор или по SMS.
• На уровне локальной сети безопасная аутентификация осуществляется с использованием протоколов Kerberos и Radius (для беспроводных клиентов).
• На уровне хоста используется локальная аутентификация средствами операционной системы, где для защиты базы данных паролей используются криптографические хэш-функции.
• На уровне приложений может осуществляться как отдельная аутентификация, тогда информация об учетных записях берется из соответствующей базы данных, так и централизовано, с использованием доменной аутентификации, на основе подхода Single-Sign-On (единожды пройдя аутентификацию, входить везде).
• Для аутентификации данных используются механизмы электронной подписи, что требует инфраструктуры открытых ключей, а при наличии юридически значимого электронного документооборота, потребуются квалифицированные сертификаты, выданные аттестованным удостоверяющим центром, при работе с которыми используются сертифицированные криптосредства.
И, наконец, требования неотказуемости (в некоторых переводах это называется неотрекаемостью), реализуются не на всех уровнях и требуют:
• Удостоверяющий центр (это могут быть как аттестованный удаостоверяющий центр, так и соответствующие роли домена Active Directory или его аналога на основе FreeIPA – решения с открытым исходным кодом).
• Средства генерации ключей и проверки подписи, например, КриптоПро,VipNetCSP или несертифицированный аналог с открытым исходным кодом, такой как easy-rsa).
• Закрытые ключи и парные к ним сертификаты (квалифицированные и/или неквалифицированные).
После систематизации требований получился следующий список мер, сгруппированных по уровням.
Разработка необходимых политик процедур и регламентов
В зависимости от специфики организации, состав нормативных документов требования которых должны быть учтены, может существенно различаться. Так, для государственных и муниципальных информационных систем основной упор необходимо делать на ФЗ №149 и Приказ ФСТЭК №17 и ПП №211, а для негосударственных (коммерческих компаний) необходимо соблюдение ФЗ №152, ПП №1119, №512, №687 и т. п. Кроме требований нормативных документов следует учитывать требования стандартов серии ISO-27000 и ГОСТ-ов на их основе.
При подготовке документов не следует забывать, что результирующий пакет документов нужен не только для того, чтобы удовлетворить требования регуляторов, но и для снижения негативного влияния «человеческого фактора».
Внедрение физических мер защиты и контроля
Кроме стандартных мер обеспечения безопасности на физическом уровне, таких как замки, турникеты, охрана, видеокамеры, датчики движения, шредеры, жалюзи, необходимо ограничить доступ в помещения в которых размещаются серверы и сетевое оборудование (маршрутизаторы и коммутаторы), кондиционеры или системы климат-контроля, резервный источник электропитания и резервный интернет-канал.
Защита внешнего периметра
Внешним периметром традиционно считаются узлы имеющие «реальный IP-адрес» (т. е. не принадлежащий диапазону частных IP-адресов). В качестве защитных мер используются: межсетевой экран с контролем состояния соединений и система предотвращения вторжений.
Межсетевой экран с контролем состояния соединений
В зависимости от специфики организации (государственная, муниципальная, имеющая отношение к критической информационной инфраструктуре) может потребоваться обязательное использование сертифицированного ФСТЭК межсетевого экрана в соотвествии с государственным реестром защиты информации https://fstec.ru/tekhnicheskaya-zashchita-informatsii/dokumenty-po-sertifikatsii/153-sistema-sertifikatsii/591-gosudarstvennyj-reestr-sertifitsirovannykh-sredstv-zashchity-informatsii-n-ross-ru-0001-01bi00
Если же, речь идет о коммерческой организации, то можно использовать и несертифицированные решения и здесь есть богатый выбор из бюджетных маршрутизаторов начиная от Huawei и заканчивая Mikrotik.
При почти полном отсутствии бюджета, можно использовать одну из бесплатных сборок с открытым исходным кодом (PFSense, OpenSense, Zentyal). Для обеспечения отка
Система предотвращения вторжений
В случае необходимости использования сертифицированной системы предотвращения вторжений необходимо делать выбор с учетом требуемого профиля защиты.
В остальных случаях можно использовать богатый спектр решений на тему IDS/IPS из представленных на рынке, тем более, что большинство из них в своей основе строятся на решениях с открытым исходным кодом, таких как Snort и Suricata. Так, Cisco ASA в качестве IDS/IPS используют модифицированную версию Snort, а IDS Континент построен на основе Suricata.
Таким образом, при нехватке бюджета на приобретение коммерческих IDS/IPS-решений, можно взять за основу оригинальные Snort или Suricata и настроить их в соответствии с требованиями корпоративной политики безопасности.
Внедрение мер по защите локальной сети
На самом деле, как минимум, часть мер по защите локальной сети уже внедрена, например, большинство организаций в локальных сетях используют доменную инфраструктуру на основе Active Directory, что означает централизованные механизмы аутентификации, авторизации и контроля доступа. Тем не менее, ввиду долгой истории своего существования, Active Directory поддерживает и устаревшие протоколы аутентификации, такие как NTLMv1, NTLMv2 и MS-CHAPv2, а также устаревшие протоколы файлообмена, такие как SMBv1 и SMBv2. Поэтому немаловажно убедиться, что поддержка этих протоколов отключена, и если это не так, то как можно скорее отключить их поддержку (при условии отсутствия устаревших версий Windows и приложений, из-за которых требуется поддержка унаследованных протоколов). Для защиты подключения к корпоративной сети через беспроводные точки доступа следует использовать протокол Radius.
При отсутствии доменной инфраструктуры или при необходимости ее замены по причине импортозамещения можно использовать FreeIPA – решение с открытым исходным кодом.
В дополнение к этому, необходимо перевести сервисы на использование их критозащищенных версий на основе TLS, например: HTTPS, FTPS, STMPS, POP3S/IMAPS и т.д..
В качестве меры по обеспечению конфиденциальности рекомендуется внедрение DLP-системы, выбор которой определяется потребностями организации и ее финансовыми возможностями. Например, лидером рынка является InfoWatch, а в бюджетном сегменте выступают такие решения как StaffCop и Стахановец.
Для оперативного выявления попыток сканирования сети и сетевых атак, целесообразно внедрение honeypot’a и SIEM/SoC-системы (и для того и другого существуют реализации с отрытым исходным кодом), что позволит облегчить выявление следов аномальной активности.
В качестве меры обеспечения целостности необходима единая, централизованная система резервного копирования, например, Veam Backup, либо, в случае жестких финансовых ограничений, решение с открытым исходным кодом, такое как Bacula.
Для централизованной защиты от вредоносного ПО рекомендуется корпоративная редакция антивирусного ПО, такого как Kaspersky Security Center или ESET NOD32 Secure Enterprise.
Защита на уровне хоста
Для защиты на уровне хоста рекомендуется использовать комплексное решение, например такое как Kaspersky Endpoint Security (Windows/Linux) или ESET Endpoint Antivirus (Windows/MacOS), которые обеспечивают:
• Поведенческий анализ работы приложений
• Автоматическую проверку съемных носителей
• Защиту от сетевых угроз
• Защиту от Web-угроз и фишинга
• Контроль устройств
• Защита от вредоносного ПО
Кроме того, для защиты от эксплойтов, включая «Zero day exploits» рекомендуется использование таких средств защиты как:
• Enhanced Mitigation Experience Toolkit (EMET) для Windows
• GRSecurity/PAX для Linux (LKRG) требует пересборки ядра
• Linux Kernel Runtime Guard (поддержка ядер 3.x+)
• Tyton: Linux Kernel Mode Rootkit Hunter (для ядер 4.4.0.31+)
Защита на уровне приложений
Приложения могут поддерживать собственные механизмы аутентификации, авторизации и контроля доступа. Наиболее распространены следующие механизмы контроля доступа:
• Доступ на основе ролей — при котором членство пользователя в роли, определяется на основе разрешенных для него типов операций над данными.
• Дискретный доступ — конкретный доступ субъекта к конкретному объекту.
• Мандатный доступ — доступ субъекта к объектам определяется метками, которыми обладают субъект и эти объекты.
Защита данных
Для обеспечения конфиденциальности данных используется шифрование папок и файлов или разделов жесткого диска. В Windows для шифрования папок и файлов поддержвается EFS (Encrypted FileSystem), а для шифрования разделов — Bitlocker. В Linux для шифрования папок и файлов есть две реализации(eCryptFS и EncFS), а для шифрования разделов — LUKS. Для контроля целостности данных используются криптографические хэш-функции (они проверяют целостность информации и открывают потенциальные возможности для систем цифровой подписи).

]]>
Новый бесплатный семинар «Возможности ядра Linux» http://sboronin.ru/2013/05/28/%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%b1%d0%b5%d1%81%d0%bf%d0%bb%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d0%bc%d0%b8%d0%bd%d0%b0%d1%80-%d0%b2%d0%be%d0%b7%d0%bc%d0%be%d0%b6%d0%bd%d0%be%d1%81%d1%82/ Mon, 27 May 2013 22:07:19 +0000 http://sboronin.ru/?p=241

]]>
Согласно маркетинговым исследованиям, в текущем году спрос на Linux-специалистов значительно вырастет. http://sboronin.ru/2013/02/28/%d1%81%d0%be%d0%b3%d0%bb%d0%b0%d1%81%d0%bd%d0%be-%d0%bc%d0%b0%d1%80%d0%ba%d0%b5%d1%82%d0%b8%d0%bd%d0%b3%d0%be%d0%b2%d1%8b%d0%bc-%d0%b8%d1%81%d1%81%d0%bb%d0%b5%d0%b4%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/ http://sboronin.ru/2013/02/28/%d1%81%d0%be%d0%b3%d0%bb%d0%b0%d1%81%d0%bd%d0%be-%d0%bc%d0%b0%d1%80%d0%ba%d0%b5%d1%82%d0%b8%d0%bd%d0%b3%d0%be%d0%b2%d1%8b%d0%bc-%d0%b8%d1%81%d1%81%d0%bb%d0%b5%d0%b4%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/#comments Thu, 28 Feb 2013 07:53:50 +0000 http://sboronin.ru/?p=224 Читать далее ]]>

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

По результатам опроса 850 менеджеров по найму персонала и 2600 профессионалов по Linux, исследователи отметили, что нехватка квалифицированных кадров приводит к повышению зарплат для разработчиков Linux по сравнению с другими специалистами IT-индустрии. Так, в среднем зарплата Linux-специалистов увеличилась на 10%, тогда, когда по отрасли в целом — только на 5%.

Респонденты заявляют, что в текущих условиях очень трудно найти отвечающих требованиям работодателя специалистов по Linux. 75% разработчиков отметили, что за последние полгода получили хотя бы одно предложение о смене рабочего места. Кроме того, 93% менеджеров по найму персонала сообщили, что планируют в ближайшие 6 месяцев принять на работу новых специалистов.

Подробнее ознакомиться с отчетом экспертов Linux Foundation можно здесь.

В марте 2013 года HeadHunter опубликовал результаты собственных исследований которые подтверждают данные Linux Foundation, но применительно к российским реалиям.

linux-hh1_L

 

 

 

 

 

 

Рис. 1. Динамика предлагаемых зарплат по Москве для СПО-специалистов, 2009—2013 гг. (тыс. руб.). Источник: HeadHunter, март 2013 г.

 

linux-hh2_L

 

 

 

 

Рис. 2. Динамка вакансий ИТ-специалистов и СПО-специалистов по России (I кв. 2010 г — 100%, I кв. 2013 г — прогноз). Источник: HeadHunter, март 2013 г.

 

]]>
http://sboronin.ru/2013/02/28/%d1%81%d0%be%d0%b3%d0%bb%d0%b0%d1%81%d0%bd%d0%be-%d0%bc%d0%b0%d1%80%d0%ba%d0%b5%d1%82%d0%b8%d0%bd%d0%b3%d0%be%d0%b2%d1%8b%d0%bc-%d0%b8%d1%81%d1%81%d0%bb%d0%b5%d0%b4%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/feed/ 1
Приглашаю на новый курс «Разработка драйверов устройств в Linux» http://sboronin.ru/2013/02/20/%d0%bf%d1%80%d0%b8%d0%b3%d0%bb%d0%b0%d1%88%d0%b0%d1%8e-%d0%bd%d0%b0-%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%ba%d1%83%d1%80%d1%81-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%b4%d1%80/ http://sboronin.ru/2013/02/20/%d0%bf%d1%80%d0%b8%d0%b3%d0%bb%d0%b0%d1%88%d0%b0%d1%8e-%d0%bd%d0%b0-%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%ba%d1%83%d1%80%d1%81-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%b4%d1%80/#comments Wed, 20 Feb 2013 10:12:20 +0000 http://sboronin.ru/?p=218 Читать далее ]]>  

Разработка драйверов устройств в LinuxКоллеги, хочу рассказать Вам о новом курсе: «Разработка драйверов устройств в Linux»
Ядро Linux используется в большинстве современных смартфонов за счет применения в популярной платформе Android. Кроме того, не следует забывать и про лидирующее положение Linux в сегменте суперкомпьютеров (469 из  топ 500 суперкомпьютеров под данным www.top500.org), второе место в сегменте интернет-серверов и высокую популярность в корпоративном сегменте.
На создание курса меня сподвигло как лидирующее положение Android-устройств на рынке, так и потребности производителей отечественных контроллеров для различных государственных котрактов, ведь такие компании готовы платить очень хорошие деньги.
Курс рассчитан на программистов окончивших курс «Программирование в Linux на C/C+» или имеющих эквивалентную подготовку.

Цель курса знания и навыки, необходимые для разработки драйверов устройств для ОС Linux:

  • Понимание отличий драйверов устройств от прикладного ПО
  • Специфику и ограничения присущие драйверам устройств
  • Понимание влияния ошибок в драйверах устройств на безопасность всей системы в целом
  • Понимание отличий в реализации символьных драйверов устройств от блочных
  • Особенности файловой системы /proc и специфику работы с ней
  • Конкуренция и ситуация гонок в ядре, проблемы и их решения
  • Аспекты связанные с совместимостью, специфика использования стандартных типов данных
  • Опыт, достаточный, чтобы начать работать в качестве системного программиста Linux и разработчика драйверов под платформу Android

Ознакомиться с программой курса можно по ссылке.

]]>
http://sboronin.ru/2013/02/20/%d0%bf%d1%80%d0%b8%d0%b3%d0%bb%d0%b0%d1%88%d0%b0%d1%8e-%d0%bd%d0%b0-%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%ba%d1%83%d1%80%d1%81-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%b4%d1%80/feed/ 1
Новый бесплатный вебинар «Специфика разработки многопоточных приложений в Linux на С/С++» http://sboronin.ru/2012/12/12/%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%b1%d0%b5%d1%81%d0%bf%d0%bb%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d0%b2%d0%b5%d0%b1%d0%b8%d0%bd%d0%b0%d1%80-%d1%81%d0%bf%d0%b5%d1%86%d0%b8%d1%84%d0%b8%d0%ba%d0%b0-%d1%80/ Wed, 12 Dec 2012 20:45:50 +0000 http://sboronin.ru/?p=204 Читать далее ]]> Разработка приложения для операционной системы Linux – одна из самых востребованных и высокооплачиваемых IT-специальностей. Если Вы хотите получить эту специальность или совершенствовать уже имеющиеся у Вас навыки, Вам поможет бесплатный вебинар «Специфика разработки многопоточных приложений в Linux на С и С++» Центра компьютерного обучения «Специалист» при МГТУ им. Н.Э. Баумана!
В ходе вебинара Вы узнаете отличия многопоточной программы от мультипроцессной (основанной на вызовах fork). Вы познакомитесь с проблемами, возникающими при разработке многопоточных приложений – «ситуацией гонок» (race conditions) и «мертвыми блокировками» (deadlocks). Вы научитесь решать эти проблемы на примере классической задачи об обедающих философах.
Вебинар пройдет 13 декабря 2012 года с 18.00 до 19.00 часов.
Запись по ссылке

]]>
Приглашаю на бесплатный вебинар по безопасности http://sboronin.ru/2012/11/05/%d0%bf%d1%80%d0%b8%d0%b3%d0%bb%d0%b0%d1%88%d0%b0%d1%8e-%d0%bd%d0%b0-%d0%b1%d0%b5%d1%81%d0%bf%d0%bb%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d0%b2%d0%b5%d0%b1%d0%b8%d0%bd%d0%b0%d1%80-%d0%bf%d0%be-%d0%b1%d0%b5/ Mon, 05 Nov 2012 15:02:23 +0000 http://sboronin.ru/?p=198 Читать далее ]]> В ходе вебинара Вы получите обзор средств обеспечения безопасности операционных систем UNIX (Linux/FreeBSD) и Windows силами системных администраторов:

Вы узнаете о классических мерах защиты операционных систем, к которым относятся брандмауэры и прокси-сервера, а также применение криптографии.
Вы познакомитесь с мерами, предотвращающими эксплуатацию уязвимостей ОС. Для Linux это патчи GRSecurity/PAX, для Windows – Enhanced Mitigation Experience Toolkit.
Вы получите четкое представление о том, какие меры необходимо принимать для сдерживания в случае успешного взлома – это chroot, SELinux/AppArmor для Linux и МАС для FreeBSD.

Эти знания не только помогут Вам получить первоначальные знания по обеспечению безопасности ОС UNIX (Linux/FreeBSD) и Windows, но и спланировать Ваше дальнейшее обучение в Центре «Специалист» для получения квалификации системного администратора или специалиста по информационной безопасности.

Ссылка на вебинар: Как защитить Вашу операционную систему?

]]>
UNIX — от основ до виртуозности! http://sboronin.ru/2012/04/30/unix-%d0%be%d1%82-%d0%be%d1%81%d0%bd%d0%be%d0%b2-%d0%b4%d0%be-%d0%b2%d0%b8%d1%80%d1%82%d1%83%d0%be%d0%b7%d0%bd%d0%be%d1%81%d1%82%d0%b8/ Mon, 30 Apr 2012 14:00:23 +0000 http://sboronin.ru/?p=194

]]>
IT-аудиторы выбирают курс «Обеспечение безопасности UNIX(Linux/FreeBSD)» http://sboronin.ru/2012/03/11/it-%d0%b0%d1%83%d0%b4%d0%b8%d1%82%d0%be%d1%80%d1%8b-%d0%b2%d1%8b%d0%b1%d0%b8%d1%80%d0%b0%d1%8e%d1%82-%d0%ba%d1%83%d1%80%d1%81-%d0%be%d0%b1%d0%b5%d1%81%d0%bf%d0%b5%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/ http://sboronin.ru/2012/03/11/it-%d0%b0%d1%83%d0%b4%d0%b8%d1%82%d0%be%d1%80%d1%8b-%d0%b2%d1%8b%d0%b1%d0%b8%d1%80%d0%b0%d1%8e%d1%82-%d0%ba%d1%83%d1%80%d1%81-%d0%be%d0%b1%d0%b5%d1%81%d0%bf%d0%b5%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/#comments Sun, 11 Mar 2012 10:22:44 +0000 http://sboronin.ru/?p=176 Читать далее ]]> Было очень приятно узнать, что не только системные администраторы, но и  IT-аудиторы, которые профессионально занимаются анализом защищенности корпоративных сетей  получили массу ценных знаний и навыков от курса «Обеспечение безопасности UNIX(Linux/FreeBSD)»

На снимке только очные выпускники курса, еще четверо обучались в режиме вебинара.

Занятия проводились на примере локальной сети виртуальной корпорации «Skynet», что позволило на практике обкатать все технологии заявленные в программе курса.  Отдельная благодарность Владимиру Кудашеву за предложения по развитию курса и очень теплые отзывы, привожу их как есть:

«Unix-системы снова открылись в новом качестве. Подобно алмазу, каждая грань открывает мне новые возможности и потенциал, заложенный в этих операционных системах. Чем больше я познаю *nix_системы, тем больше убеждаюсь, что потенциал этот бесконечен и неисчерпаем, равно как и способность человека творить.  Открытость систем позволяет реализовать и расширить этот потенциал. «

«Курс объясняет каким образом можно использовать качества и приемущества *nix-систем для обеспечения функций информационной безопасности и безопасности самой системы в целом. «

«В данном курсе  Сергей Сергеевич открыл слушателям ещё одну сторону своей деятельности, а может и своего увлечения :-) Было как всегда интересно. Я получил  удовольствие от всех его  курсов.»

 

]]>
http://sboronin.ru/2012/03/11/it-%d0%b0%d1%83%d0%b4%d0%b8%d1%82%d0%be%d1%80%d1%8b-%d0%b2%d1%8b%d0%b1%d0%b8%d1%80%d0%b0%d1%8e%d1%82-%d0%ba%d1%83%d1%80%d1%81-%d0%be%d0%b1%d0%b5%d1%81%d0%bf%d0%b5%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/feed/ 1
C 27-го февраля стартует курс «UNIX (Ubuntu/FreeBSD). Уровень 3. Безопасность и взаимодействие с Microsoft Windows» http://sboronin.ru/2012/02/21/c-27-%d0%b3%d0%be-%d1%84%d0%b5%d0%b2%d1%80%d0%b0%d0%bb%d1%8f-%d1%81%d1%82%d0%b0%d1%80%d1%82%d1%83%d0%b5%d1%82-%d0%ba%d1%83%d1%80%d1%81-unix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd/ Tue, 21 Feb 2012 13:39:11 +0000 http://sboronin.ru/?p=173 Читать далее ]]> Хорошая новость для выпускников курсов «Linux (Ubuntu). Уровень 2. Использование UNIX-систем в качестве серверов в Internet» и/или «UNIX (Ubuntu/FreeBSD). Уровень 3. Обеспечение безопасности UNIX». C 27-го февраля стартует курс «UNIX (Ubuntu/FreeBSD). Уровень 3. Безопасность и взаимодействие с Microsoft Windows», который необходим администраторам сетей на основе доменов Active Diсtory, т.к. дает глубину понимания таких технологий, как OTP (OPIE), RADIUS (IAS), KERBEROS, GSSAPI и NTLM, а также возможностям, которые предоставляет LDAP. После этого курса администратор уже перерастает статус «шамана» т.к. он понимает «природу вещей», происходящих в доменe. И это лишь побочный эффект… Цель данного курса — дать концептуальное понимание механизмов, лежащих в основе Active Directory, их сильные и слабые стороны с позиций информационной безопасности. Курс не только учит интегрировать UNIX-cистемы в домен, но и рассматривает способы применения UNIX для усиления безопасности Active Directory. Рассматривается на курсе и использование Linux/FreeBSD-сервера в качестве контроллера домена для сетей Windows, а также плюсы и минусы данного решения. Учитывая тот факт, что сейчас 90% сетей являются гетерогенными (используют разные ОС как минимум на серверах и корпоративных шлюзах) можно сказать про него — must have. Ссылка: http://www.specialist.ru/course/yun3-b

]]>
Куда пойти учиться сисадмину и безопаснику? http://sboronin.ru/2012/01/08/%d0%ba%d1%83%d0%b4%d0%b0-%d0%bf%d0%be%d0%b9%d1%82%d0%b8-%d1%83%d1%87%d0%b8%d1%82%d1%8c%d1%81%d1%8f-%d1%81%d0%b8%d1%81%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d1%83-%d0%b8-%d0%b1%d0%b5%d0%b7%d0%be%d0%bf%d0%b0/ Sun, 08 Jan 2012 20:44:05 +0000 http://sboronin.ru/?p=169 Читать далее ]]> Хотим мы этого или нет, но более 90% сетей являются гетерогенными. Этот факт специалисту по безопасности можно и нужно использовать для того, чтобы осложнить жизнь потенциальному злоумышленнику, ведь не секрет, что львиная доля вредоносного ПО рассчитана на операционные системы семейства Windows, поэтому применение Linux и FreeBSD в ключевых узлах инфраструктуры позволит остановить эпидемии вредоносного ПО и атаки хакеров специализирующихся на решениях от Microsoft. Таким образом, грамотно спланированная гетерогенная сеть предъявляет более высокие требования как к квалификации обслуживающих ее инженеров, так и к знаниям и опыту, которые необходимы для ее взлома.

Но и UNIX-системы эффективны лишь при грамотной настройке и эффективном использовании имеющихся в них защитных механизмов.

В настоящее время, на рынке есть множество специалистов умеющих настраивать те или иные сервисы в Linux и/или FreeBSD, но лишь небольшой процент из них способны адекватно защитить сервисы, которые они представляют. Не в меньшей степени важна способность грамотного проектирования инфраструктуры с учетом с бизнес-процессов компании и связанных с ними рисков.

В статье «Четыре периметра безопасности» представлены основаные на best-practice рекомендации по использованию защитных механизмов в современных операционных системах, статья «Уязвимости в программном коде и методы противостояния им» описывает как работают эти механизмы и какие есть ограничения по их использованию, а статья «Разруха не в клозетах, а в головах» иллюстрирует проблемы с разработкой описанные в Анатомии уязвимостей.

Курс «Обеспечение безопасности UNIX(Linux/FreeBSD)» позволяет на практике освоить защитные механизмы UNIX-систем, а для систем на платформе Microsoft есть курс «M2810 Основы сетевой безопасности».

Важность обеспечения непрерывности бизнеса трудно переоценить и курс «Создание отказоустойчивых решений средствами UNIX (Linux/FreeBSD)» покрывает потребности связанные с этой задачей, а для решения задач связанных с интеграцией систем в гетерогенных сетях служит курс «UNIX(Linux/FreeBSD) Безопасность и взаимодействие с Windows».

Для удобства тех, кто заранее планирует свое обучение есть линейки курсов, каждая из которых готовит специалистов на заявленный уровень квалификации:

Эти линейки курсов не только готовят Вас к престижной международной сертификации Linux Professional Institute, но и дают практический опыт необходимый, чтобы обеспечивать поддержку сетевой инфраструктуры для компании средних размеров.

]]>
Уязвимости в программном коде и методы противостояния им http://sboronin.ru/2011/11/03/%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d0%b8-%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%bd%d0%be%d0%bc-%d0%ba%d0%be%d0%b4%d0%b5-%d0%b8-%d0%bc%d0%b5%d1%82%d0%be%d0%b4/ http://sboronin.ru/2011/11/03/%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d0%b8-%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%bd%d0%be%d0%bc-%d0%ba%d0%be%d0%b4%d0%b5-%d0%b8-%d0%bc%d0%b5%d1%82%d0%be%d0%b4/#comments Thu, 03 Nov 2011 01:24:13 +0000 http://sboronin.ru/?p=143 Читать далее ]]> Если гора не идет к Магомету, то Магомет сам идет к горе (крылатая фраза).

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

Первым бастионом на пути злоумышленника являются брандмауэры и прокси-сервера, ограничивающие доступ к потенциально уязвимым сервисам на основе Access Control Lists (ACL). Для защиты сервисов от некорректно сформированных пакетов применяется нормализация трафика. Крайне важно, чтобы настройкой списков контроля доступа занимался человек хорошо понимающий принципы их работы и специфику защищаемых сервисов.

Тем не менее, эти механизмы практически не спасают в ситуациях, когда следует обеспечить безопасность общедоступного сервиса использующего разрешенный порт и протокол, такого как DNS, web-сайт, ftp-сервер, почтовая система или B2B-система.

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

Следующей категорией идут механизмы, предназначенные для ограничения возможностей злоумышленника в случае успешной эксплуатации уязвимостей. Рассмотрим эти механизмы на примере операционных систем Linux и FreeBSD.

Весьма эффективным является Mandatory Access Control (MAC) во FreeBSD, он позволяет реализовать различные уровни секретности по аналогии с тем, как это организовано у спецслужб, то есть данные подразделяются на совершенно секретные, секретные, конфиденциальные и несекретные и сотрудники (а в нашем случае программы) в зависимости от принадлежности к подразделению и назначенного им уровня допуска имеют или нет к ним доступ.

В Linux есть две аналогичные (конкурирующие) технологии:

Стремительно набирает популярность Apparmor — программный инструмент упреждающей защиты, основанный на политиках безопасности (известных также как профили для приложений), которые определяют, к каким системным ресурсам и с какими привилегиями может получить доступ то или иное приложение. в AppArmor включён набор стандартных профилей, а также инструменты статического анализа и инструменты, основанные на обучении, позволяющее ускорить и упростить построение новых профилей.

Традиционным средством изоляции процессов является подмена для них корневого каталога (chroot), что позволяет изолировать сервисы друг от друга в случае взлома одного из них. При использовании этой техники, процессы не должны иметь полномочий суперпользователя, т. к., в противном случае, злоумышленник сможет воспользоваться second chroot чтобы выйти из chroot, поэтому для сервисов требующих административных привилегий целесообразно использовать средства виртуализации на уровне ОС, такие как Jail во FreeBSD и OpenVZ/LXC в Linux.

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

  • контроля

  • запрета исполнения в сегменте

    • данных

    • кучи

    • стека

  • запрета доступа к процессам других пользователей

  • запрета second chroot

  • рандомизации адресного пространства

Данный механизм (ядро c его поддержкой называется Hardened-ядром, впервые реализованным для Gentoo Linux) позволяет эффективно противостоять многочисленным атакам основанным на переполнении буфера и некоторым другим типам атак, но он требует чтобы сами приложения были написаны аккуратно, что делает его практически неприменимым на десктопах и ограниченно применимым на серверах, т. к. разработчики далеко не всегда достаточно аккуратны даже при создании сетевых демонов. Таким образом, несмотря на свою крайне высокую эффективность Hardened-ядро не применимо в 70% случаев из-за неаккуратного программирования присущего многим opensource-разработчикам.

Чтобы усугубить, картину хотелось бы обратить Ваше внимание на то, что не смотря на многообразие защитных механизмов не все из них совместимы между собой, так например, придется выбирать между Hardened-ядром (с поддержкой RBAC), SELinux или AppArmor, так как это конкурирующие технологии. Точно также, OpenVZ не тестировался на совместную работу с AppArmor и SELinux.

Не меньшее влияние на применимость защитных механизмов оказывает прикладное ПО, так почти все популярные Web-панели написанные на PHP (например ISPConfig) не дружат c AppArmor или SELinux, а JIT-компилятор для Python’a не совместим c Hardened-ядром.

Если подвести итоги, то специалист по безопасности UNIX-систем должен знать все средства обеспечения безопасности доступные на используемой им платформе и уметь выбрать наилучшее их сочетание для решаемой им задачи. Курс «UNIX (Ubuntu Linux/FreeBSD). Уровень 3. Обеспечение безопасности UNIX» предназначен для того, чтобы сориентировать системного администратора или офицера по безопасности в доступном ему инструментарии и получить навыки применения этих инструментов для построение периметровой защиты на всех 4-х уровнях

]]>
http://sboronin.ru/2011/11/03/%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d0%b8-%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%bd%d0%be%d0%bc-%d0%ba%d0%be%d0%b4%d0%b5-%d0%b8-%d0%bc%d0%b5%d1%82%d0%be%d0%b4/feed/ 1
Мастер-класс «Анатомия веб-проектов, прожиточный минимум компетенции для стартапера» http://sboronin.ru/2011/10/20/%d0%bc%d0%b0%d1%81%d1%82%d0%b5%d1%80-%d0%ba%d0%bb%d0%b0%d1%81%d1%81-%c2%ab%d0%b0%d0%bd%d0%b0%d1%82%d0%be%d0%bc%d0%b8%d1%8f-%d0%b2%d0%b5%d0%b1-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%be%d0%b2-%d0%bf/ Wed, 19 Oct 2011 22:03:15 +0000 http://sboronin.ru/?p=140 Читать далее ]]> 25 октября в Бизнес-инкубаторе АНХ (InCube) буду проводить мастер-класс «Анатомия веб-проектов, прожиточный минимум компетенции для стартапера».

Перед руководителем проекта, у которого есть средства и разработчики, стоит масса сложных задач: выбрать средства разработки, спланировать архитектуру, распределить задачи, организовать работу. Если вы не чувствуете уверенности в этих вопросах, добрать нужных знания поможет мастер-класс «Анатомия веб-проектов, прожиточный минимум компетенции для стартапера».

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

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

Будут рассматриваться следующие вопросы:

  • Классификация веб-проектов
  • Сильные и слабые стороны средств разработки
  • Влияние масштаба проекта на выбор средств разработки
  • Влияние технических решений на новые этапы инвестиций
  • Типы хостингов, в том числе в облаках
  • CMS, типы CMS
  • Фреймворки, их типы и ограничения
  • Поддержка различных браузеров и ее окупаемость
  • Типы лицензирования их выбор, проверка нарушения авторских прав

Внимание! Мастер-класс платный. Стоимость участия 1250 руб.

Мастер-класс пройдет 25 октября в бизнес-инкубаторе АНХ InCube (проспект Вернадского, 82. Академия Народного Хозяйства, схема проезда).

Регистрация на мероприятие.

]]>
С 31-го октября стартует курс «UNIX (Ubuntu/FreeBSD). Уровень 3. Безопасность и взаимодействие с Microsoft Windows» http://sboronin.ru/2011/10/18/%d1%81-31-%d0%b3%d0%be-%d0%be%d0%ba%d1%82%d1%8f%d0%b1%d1%80%d1%8f-%d1%81%d1%82%d0%b0%d1%80%d1%82%d1%83%d0%b5%d1%82-%d0%ba%d1%83%d1%80%d1%81-unix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5/ http://sboronin.ru/2011/10/18/%d1%81-31-%d0%b3%d0%be-%d0%be%d0%ba%d1%82%d1%8f%d0%b1%d1%80%d1%8f-%d1%81%d1%82%d0%b0%d1%80%d1%82%d1%83%d0%b5%d1%82-%d0%ba%d1%83%d1%80%d1%81-unix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5/#comments Mon, 17 Oct 2011 22:26:04 +0000 http://sboronin.ru/?p=138 Читать далее ]]> Хорошая новость для выпускников курсов «Linux (Ubuntu). Уровень 2. Использование UNIX-систем в качестве серверов в Internet» и/или «UNIX (Ubuntu/FreeBSD). Уровень 3. Обеспечение безопасности UNIX». C 31-го октября стартует курс «UNIX (Ubuntu/FreeBSD). Уровень 3. Безопасность и взаимодействие с Microsoft Windows», который необходим администраторам сетей на основе доменов Active Diсtory, т.к. дает глубину понимания таких технологий, как OTP (OPIE), RADIUS (IAS), KERBEROS, GSSAPI и NTLM, а также возможностям, которые предоставляет LDAP. После этого курса администратор уже перерастает статус «шамана» т.к. он понимает «природу вещей», происходящих в доменe. И это лишь побочный эффект… Цель данного курса — дать концептуальное понимание механизмов, лежащих в основе Active Directory, их сильные и слабые стороны с позиций информационной безопасности. Курс не только учит интегрировать UNIX-cистемы в домен, но и рассматривает способы применения UNIX для усиления безопасности Active Directory. Рассматривается на курсе и использование Linux/FreeBSD-сервера в качестве контроллера домена для сетей Windows, а также плюсы и минусы данного решения. Учитывая тот факт, что сейчас 90% сетей являются гетерогенными (используют разные ОС как минимум на серверах и корпоративных шлюзах) можно сказать про него — must have.  Ссылка: http://www.specialist.ru/course/yun3-b

]]>
http://sboronin.ru/2011/10/18/%d1%81-31-%d0%b3%d0%be-%d0%be%d0%ba%d1%82%d1%8f%d0%b1%d1%80%d1%8f-%d1%81%d1%82%d0%b0%d1%80%d1%82%d1%83%d0%b5%d1%82-%d0%ba%d1%83%d1%80%d1%81-unix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5/feed/ 1
Внеочередной субботний курс c 26-го ноября 2011 года http://sboronin.ru/2011/10/18/%d0%b2%d0%bd%d0%b5%d0%be%d1%87%d0%b5%d1%80%d0%b5%d0%b4%d0%bd%d0%be%d0%b9-%d1%81%d1%83%d0%b1%d0%b1%d0%be%d1%82%d0%bd%d0%b8%d0%b9-%d0%ba%d1%83%d1%80%d1%81-c-26-%d0%b3%d0%be-%d0%bd%d0%be%d1%8f%d0%b1/ http://sboronin.ru/2011/10/18/%d0%b2%d0%bd%d0%b5%d0%be%d1%87%d0%b5%d1%80%d0%b5%d0%b4%d0%bd%d0%be%d0%b9-%d1%81%d1%83%d0%b1%d0%b1%d0%be%d1%82%d0%bd%d0%b8%d0%b9-%d0%ba%d1%83%d1%80%d1%81-c-26-%d0%b3%d0%be-%d0%bd%d0%be%d1%8f%d0%b1/#comments Mon, 17 Oct 2011 21:49:35 +0000 http://sboronin.ru/?p=136 Читать далее ]]> Курс «UNIX (Ubuntu/FreeBSD). Уровень 3. Обеспечение безопасности UNIX» пользуется заслуженной популярностью, что неудивительно в связи со статистикой успешных взломов в немалой степени связанной c недостаточной осведомленностью системных администраторов в вопросах безопасности UNIX-систем. Руководство УЦ «Специалист» своевременно отреагировало на запросы слушателей и в результате был запланирован внеочередной субботний курс c 26-го ноября 2011 года.

]]>
http://sboronin.ru/2011/10/18/%d0%b2%d0%bd%d0%b5%d0%be%d1%87%d0%b5%d1%80%d0%b5%d0%b4%d0%bd%d0%be%d0%b9-%d1%81%d1%83%d0%b1%d0%b1%d0%be%d1%82%d0%bd%d0%b8%d0%b9-%d0%ba%d1%83%d1%80%d1%81-c-26-%d0%b3%d0%be-%d0%bd%d0%be%d1%8f%d0%b1/feed/ 1
Рецензия на книгу «Уязвимости в программном коде и борьба с ними». Ховард М., Лебланк Д., Виега Д./ — М.: ДМК Пресс, 2011. http://sboronin.ru/2011/09/08/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-%d0%ba%d0%bd%d0%b8%d0%b3%d1%83-%c2%ab%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d0%b8-%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80/ Thu, 08 Sep 2011 00:15:48 +0000 http://sboronin.ru/?p=128 Читать далее ]]> Целевая аудитория данной книги — разработчики программного обеспечения, что неудивительно, так как Майкл Ховард и Дэвид Лебланк являются авторами нашумевшей книги издательства Microsoft Press «Защищенный код». Кроме того, авторы активно участвовали в Windows Security Push — инициативы по укреплению защиты продуктов Microsoft. Однако они не останавливаются на языках и средствах разработки, популярных на платформе Windows, но и затрагивают специфику разработки на С/С++ и Perl в UNIX-системах. Спектр операционных систем, уязвимости которых освещаются, также разнообразен: Windows, коммерческие UNIX, Linux, Mac OS X и Novell Netware.

Книга рассматривает типы ошибок (грехов — в терминологии авторов) в программном коде, которые потенциально можно эксплуатировать как уязвимости в таких языках как: C/C++, C#, Java, Visual Basic, Visual Basic .Net, Perl и Python. Причем, по каждому типу грехов (ошибок) рассматриваются следующие аспекты:

  • В чем состоит грех

  • Подверженные греху языки

  • Как происходит грехопадение

  • Греховность С/С++

  • Родственные грехи

  • Где искать ошибку

  • Выявление ошибки на этапе анализа кода

  • Примеры ошибок из реальной жизни (CVE-…,CAN-…)

  • Искупление греха (исправление ошибки)

  • Дополнительные защитные меры

Особенное внимание уделено небезопасным системным и библиотечным вызовам каждого из указанных выше языков и операционных систем.

Web-уязвимости рассматриваются в контексте SQL-инъекций и кросс-сайтовых сценариев. Применительно к Web-серверу IIS делается обзор типовых ошибок в ISAPI-расширениях на C/C++ и форм на ASP .Net.

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

Многие издания для программистов, продвигая новейшие возможности средств разработки и делая упор на технических аспектах, забывают о том, что необходимо также «ставить почерк» — то есть заботиться об обучении хорошему стилю программирования — включающему в себя заботу о качестве и безопасности кода. Было бы отлично, если бы начинающие разработчики и выпускники курсов по разработке прочитали эту книгу — ведь каждый из них сможет в новом измерении увидеть, как применять изученные технические приемы.

 

]]>
Рецензия на книгу «Защита компьютерной информации. Эффективные методы и средства. Шаньгин В. Ф. — М. : ДМК Пресс, 2010» http://sboronin.ru/2011/09/08/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-%d0%ba%d0%bd%d0%b8%d0%b3%d1%83-%c2%ab%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b0-%d0%ba%d0%be%d0%bc%d0%bf%d1%8c%d1%8e%d1%82%d0%b5%d1%80%d0%bd/ Thu, 08 Sep 2011 00:03:07 +0000 http://sboronin.ru/?p=126 Читать далее ]]> Книга позиционируется как учебное пособие для студентов вузов, но будет крайне полезна и действующим специалистам по безопасности. Ведь она содержит как самые базовые темы, такие как модель OSI и стек протоколов TCP/IP, так и рассчитанные на криптоаналитиков описания алгоритмов шифрования.

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

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

Например, глава «Модели безопасности операционных систем» не охватывает специфику мандатного контроля доступа в UNIX-системах, а также использует термин ACL применительно к классическим правам доступа, тогда как следовало бы больше внимания уделить POSIX ACL. Весьма сжато описаны и политики безопасности. Применительно к UNIX не были затронуты такие механизмы как сhroot() и применение виртуализации на уровне ОС для защиты демонов. В главе «Технологии межсетевых экранов» представлены общие подходы без углубления в специфику Cisco, MS, Linux/FreeBSD или иных поставщиков. Также «Основы технологии виртуальных защищенных сетей» и «Защита на канальном и сеансовом уровнях» представляют собой краткий обзор соответствующих протоколов.

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

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

]]>
Влияние специализации на защиту корпоративной сети http://sboronin.ru/2011/09/08/%d0%b2%d0%bb%d0%b8%d1%8f%d0%bd%d0%b8%d0%b5-%d1%81%d0%bf%d0%b5%d1%86%d0%b8%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d0%b8-%d0%bd%d0%b0-%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d1%83-%d0%ba%d0%be%d1%80%d0%bf/ Wed, 07 Sep 2011 23:54:45 +0000 http://sboronin.ru/?p=120 Читать далее ]]> Сейчас сложно найти корпоративную сеть, основанную только на решениях Microsoft, так как зачастую в качестве корпоративных шлюзов, внешних почтовых и DNS-серверов, баз данных Oracle и систем виртуализации используются Linux/FreeBSD. Да и на десктопах наметилось некое «биоразнообразие» — хотя бы за счет появления ноутбуков и планшетов от Apple.

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

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

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

Популярность нетбуков и планшетов (на которых активно используются платформа Android и Ubuntu Linux) заставила обратить внимание на Linux-системы как на пользовательскую ОС, выведя в свет не только их серверные редакции. Со статистикой по популярности Linux-дистрибутивов можно ознакомиться на www.distrowatch.com. В то же время системы на базе FreeBSD устойчивей к взлому даже с настройками по умолчанию, что делает их популярными в роли внешних интернет-шлюзов. Совместное применение FreeBSD и Linux предъявляет как высокие требования к квалификации системных инженеров, так и к квалификации злоумышленника, что удорожает стоимость взлома и снижает его вероятность.

Что должен знать эксперт по безопасности:

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

  • Понимать какое влияние оказывает человеческий фактор и каковы возможности повлиять на него с помощью регламентов, обучения и физических ограничений

  • Иметь компетенцию в технологиях обеспечения безопасности для каждой из операционных систем, используемых в компании, не забывая и об их слабостях

Например, доменная организация внутренней сети представляет собой так называемый «круг доверия», в рамках которого сервера и рабочие станции безоговорочно доверяют контроллеру домена и ни о чем беспокоятся (пока он не скомпрометирован).

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

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

 

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

  • Изоляцией приложений FreeBSD с помощью Mandatory Access Control, а Linux — AppArmor/SeLinux

  • Изоляцией приложений в рамках файловой системы, используя механизм Chroot ()

  • Применением виртуализации программного окружения средствами Jail во FreeBSD, и OpenVZ/LXC в Linux

  • Применением сетевого суперсервера для защиты сервисов

  • Использованием непривилегированных учетных записей

  • Настройкой межсетевого экрана

  • Включением ACL на прокси-сервере

  • Применением антивирусных и антиспам фильтров

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

В учебном центре Специалист при МГТУ им. Баумана выбор курсов по безопасности весьма велик. Но хотелось бы выделить среди них те два, которые ближе всего к рассматриваемой теме защиты гетерогенных сетей: «Обеспечение безопасности UNIX (Linux/FreeBSD)» и «Этичный хакинг и тестирование на проникновение».

Курс «Обеспечение безопасности UNIX (Linux/FreeBSD)» рассматривает совместное применение Linux и FreeBSD для обеспечения полноценной периметровой эшелонированной защиты. Он готовит профессионалов, понимающих образ мыслей хакеров и умеющих использовать средства обеспечения безопасности UNIX-систем таким образом, что даже попытки эксплуатации наиболее критичных уязвимостей будут малоэффективны. Обширная практика занимает большую часть времени занятий, ею предусмотрено создание каждым слушателем защищенной сети на специальном стенде. Такая практика помогает быстро прорваться через проблемы применения на практике изученных в теории принципов, что зачастую по книгам дается с трудом. Кроме того, данный курс покрывает требования по безопасности в рамках сертификации LPIC-3.

Курс «Этичный хакинг и тестирование на проникновение» созданный EC-Concil имеет целью обучить специалистов по безопасности производить тестирование на проникновения с целью выявления узких мест в защите корпоративных ресурсов. Желающие смогут подтвердить полученную квалификацию, сдав экзамен на Certified Ethical Hacker. Престиж сертификации подчеркивается тем фактом, что сейчас в мире ею обладают менее 400 экспертов.

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

]]>
Подробности о курсе «UNIX (Ubuntu/FreeBSD). Уровень 3. Обеспечение безопасности UNIX» http://sboronin.ru/2011/09/06/%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d0%be-%d0%ba%d1%83%d1%80%d1%81%d0%b5-%c2%abunix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c-3-%d0%be%d0%b1%d0%b5/ http://sboronin.ru/2011/09/06/%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d0%be-%d0%ba%d1%83%d1%80%d1%81%d0%b5-%c2%abunix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c-3-%d0%be%d0%b1%d0%b5/#comments Tue, 06 Sep 2011 17:32:04 +0000 http://sboronin.ru/?p=104 Читать далее ]]> Не секрет, что наиболее защищенными оказываются корпоративные сети с гетерогенной инфраструктурой, но надо уметь использовать средства безопасности этих систем на полную мощность.

Данный курс, в первую очередь, ориентирован на IT-руководителей и системных администраторов, которым требуется обеспечить комплексную безопасность сетевой инфраструктуры средствами UNIX (Linux/FreeBSD), а также для тех, кто планирует освоить смежную компетенцию специалиста по информационной безопасности.

В рамках курса изучаются четыре периметра безопасности и их реализация средствами UNIX-систем, что включает в себя защиту внешнего периметра, демилитаризованной зоны, локальной сети и уровня каждого из хостов. Для решения этой задачи в рамках курса используется пять виртуальных машин. Таким образом курс позволяет получить ключевые знания по обеспечению комплексной безопасности сетевой инфраструктуры средствами UNIX (Linux/FreeBSD).
Для обеспечения защиты внешнего периметра использованы следующие технологии:

  • Применение политик Apparmor для Linux и MAC для FreeBSD
  • Использование ACL на прокси-сервере
  • Возможности xinetd по защите от атак типа «Отказ в обслуживании»
  • Запуск сервисов в chroot
  • Использование возможностей SSH для защиты сервисов
    • Аутентификация с использованием публичных ssh-ключей
    • Защита сервисов средствами ssh
    • VPN через ssh

Для защиты сервисов демилитаризованной зоны и локальной сети применяется виртуализация на уровне операционной системы для Linux это — OpenVZ/LXC, а для FreeBSD — Jail. Для защиты удаленного доступа пользователей к ресурсам локальной сети используется OpenVPN. Рассматриваются средства мониторинга и аудита событий, для своевременного выявления нежелательной активности.

Особое внимание уделяется мерам по обеспечению безопасности на уровне хоста, что включает в себя:

  • Автоматизированные средства укрепления безопасности и мониторинга системных файлов
    • Bastille  — инструмент укрепления локальных политик безопасности
    • Chrootkit — поиск rootkit-ов в системе (инструмент общего назначения)
    • Rkhunter — специализированный инструмент для поиска  rootkit-ов в системе
  • Средства защиты рабочей станции
    • firestarter — управление работой брандмауэра
    • ClamTk — управление работой антивирусного сканера
    • sshfs — безопасная замена SMB/CIFS
Повышенное внимание в рамках курса уделяется систематизации полученных знаний и комплексному их использованию. Поэтому порядка 70% курса посвящается практике по усилению защиты сети. Что включает в себя построение защищенного внешнего периметра средствами FreeBSD, демилитаризованной зоны на основе Linux и локальной сети c серверами на FreeBSD, а в качестве рабочих станций применяются Windows 7 и Linux. В результате, каждый слушатель курса освоит технологии обеспечения безопасности на примере сети виртуальной корпорации «SkyNet».
]]>
http://sboronin.ru/2011/09/06/%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d0%be-%d0%ba%d1%83%d1%80%d1%81%d0%b5-%c2%abunix-ubuntufreebsd-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c-3-%d0%be%d0%b1%d0%b5/feed/ 4
Подробности о курсе «CEH: Этичный хакинг и тестирование на проникновение» http://sboronin.ru/2011/08/24/%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d0%be-%d0%ba%d1%83%d1%80%d1%81%d0%b5-ceh-%d1%8d%d1%82%d0%b8%d1%87%d0%bd%d1%8b%d0%b9-%d1%85%d0%b0%d0%ba%d0%b8%d0%bd%d0%b3-%d0%b8/ Tue, 23 Aug 2011 21:28:20 +0000 http://sboronin.ru/?p=81 Читать далее ]]>

Ключевым в данном курсе является этичное использование полученных знаний. И чтобы подкрепить этот подход, компания EC Concil требует подписания соответствующего соглашения. У EC Concil есть и возрастной ценз по записи на курсы — только после 21-го года.

Особого внимания заслуживает тот факт, что программа курса одобрена минобороны США. Информационная война идет по всему миру, и данный курс готовит офицеров для этой войны.

На пресс-конференции посвященной старту этого курса в России, которая прошла в апреле 2011 года старший вирусный аналитик Лаборатории Каспеского Сергей Голованов выразил некоторую озабоченность появлением данного курса, но признал необходимость роста квалификации антихакеров в период повышенной хакерской активности. Но наибольшее оживление вызвало выступление Дмитрия Склярова, сломавшего нашумевшую защиту DRM в PDF-файлах. Дмитрий считает себя хакером в исходном смысле этого слова, т.е.высококвалифицированным программистом, любящим свою работу. Являясь аналитиком по информационной безопасности, он подчеркивает, что без этичного поведения нельзя сохранить свои позиции в этом бизнесе. Он считает, что именно этичность могла бы возродить хакерское движениев исходном его смысле. Многие российские компании хотели бы иметь всвоем штате специалиста такого уровня.

В «Специалисте» предосталяется 7-я версия данного курса, в которой используются самые последние версии хакерских тулзов.В курсе 19 модулей, вот их полный список:

  • Введение в этический хакинг
  • Сбор информации
  • Сканирование
  • Перечисление
  • Хакинг системы
  • Трояны и бэкдоры
  • Вирусы и черви
  • Снифферы
  • Социальная инженерия
  • Отказ в обслуживании
  • Перехват сеанса
  • Хакинг веб-серверов
  • Хакинг веб-приложений
  • SQL инъекция
  • Хакинг беспроводных сетей
  • Обход систем обнаружения вторжений, фаерволлов и Honey Pot
  • Переполнение буфера
  • Криптография
  • Тестирование на проникновение

И все это за 72 академических часа, из которых 40 очно в обязательном порядке. Объем раздатки также впечатляет — отборные HackingTools на 4-х DVD. Большой плюс курса — наличие видеоматериалов с демонстрациями, иллюстрирующими использование изучаемого инструментария. В рамках курса особое внимание уделяется взлом веб-серверов и веб-приложений.

На курсе даже делается попытка взлома сайта www.certifiedhacker.com.Участникам пресс-конференции был продемонстрирован процесс определения типа используемой этим сайтом CMS-системы с помощью2ip.ru — ей оказалась OpenCMS. А модуль, посвященный взлому веб-приложений, демонстрирует как можно использовать эту информацию.

Для того, чтобы получить статус достаточно сдать один экзамен «312—50» из 150 вопросов длительностью 4 часа. Предварительные требования к курсу указаны на сайте.

]]>
По многочисленным просьбам курс перенесен на 19 сентября… http://sboronin.ru/2011/08/19/%d0%ba%d1%83%d1%80%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b5%d1%81%d0%b5%d0%bd-%d0%bd%d0%b0-19-%d1%81%d0%b5%d0%bd%d1%82%d1%8f%d0%b1%d1%80%d1%8f/ http://sboronin.ru/2011/08/19/%d0%ba%d1%83%d1%80%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b5%d1%81%d0%b5%d0%bd-%d0%bd%d0%b0-19-%d1%81%d0%b5%d0%bd%d1%82%d1%8f%d0%b1%d1%80%d1%8f/#comments Fri, 19 Aug 2011 07:24:57 +0000 http://sboronin.ru/?p=73 По многочисленным просьбам курс «Обеспечение безопасности UNIX (Linux / FreeBSD)» перенесен на 19 сентября и учитывая, что в этом году он идет не часто, у вас есть возможность записаться на обучение в этой группе.

]]>
http://sboronin.ru/2011/08/19/%d0%ba%d1%83%d1%80%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b5%d1%81%d0%b5%d0%bd-%d0%bd%d0%b0-19-%d1%81%d0%b5%d0%bd%d1%82%d1%8f%d0%b1%d1%80%d1%8f/feed/ 1
Приглашаю на курс «CEH. Этичный хакинг и тестирование на проникновение» http://sboronin.ru/2011/08/05/%d0%bf%d1%80%d0%b8%d0%b3%d0%bb%d0%b0%d1%88%d0%b0%d1%8e-%d0%bd%d0%b0-%d0%ba%d1%83%d1%80%d1%81-ceh-%d1%8d%d1%82%d0%b8%d1%87%d0%bd%d1%8b%d0%b9-%d1%85%d0%b0%d0%ba%d0%b8%d0%bd%d0%b3-%d0%b8-%d1%82%d0%b5/ Fri, 05 Aug 2011 19:30:46 +0000 http://sboronin.ru/?p=69 Читать далее ]]> По субботам, с 28-го августа в УЦ Специалист при МГТУ им Баумана буду проводить курс «CEH. Этичный хакинг и тестирование на проникновение».
Вы получите знания и навыки, необходимые для успешного выявления и устранения проблем безопасности в смешанных компьютерных сетях. Курс посвящен уникальным хакерским техникам и методам взлома в контексте применения оборонительных практик и рекомендаций, изложенных настоящими хакерами. Курс одобрен министерством обороны США и является официальной библией для сотрудников службы безопасности.

В курсе представлены подробные материалы по работе компьютерных систем и сетей. Рассмотрены типичные уязвимости сетевых протоколов, операционных систем и приложений. Описаны последовательности различных видов атак на компьютерные системы и сети, и предложены рекомендации по укреплению защищенности компьютерных систем и сетей.
Страница курса: http://www.specialist.ru/course/ceh

]]>
Курс «Обеспечение безопасности UNIX (Linux / FreeBSD)» http://sboronin.ru/2011/08/04/%d1%81-22-%d0%b3%d0%be-%d0%b0%d0%b2%d0%b3%d1%83%d1%81%d1%82%d0%b0-2011-%d0%b3%d0%be%d0%b4%d0%b0-%d1%81%d1%82%d0%b0%d1%80%d1%82%d1%83%d0%b5%d1%82-%d0%be%d1%87%d0%b5%d1%80%d0%b5%d0%b4%d0%bd%d0%b0%d1%8f/ Thu, 04 Aug 2011 19:53:17 +0000 http://sboronin.ru/?p=64 Читать далее ]]> C 22-го августа 2011 года в УЦ Специалист при МГТУ им Баумана начинается курс «Обеспечение безопасности UNIX (Linux/FreeBSD)».
Этот курс уникален, он готовит профессионалов, понимающих образ мыслей хакеров и умеющих использовать средства обеспечения безопасности UNIX-систем таким образом, что даже попытки эксплуатации наиболее критичных уязвимостей будут малоэффективны.
По мнению выпускников, курс наиболее ценен тем, что построен в виде набора практических занятий по построению эшелонированной защиты на всех четырех периметрах безопасности. Очень ценно и совместное применение Linux (Ubuntu) и FreeBSD для защиты корпоративной инфраструктуры.

]]>
Первые выпускники курса «Безопасность UNIX (Linux/FreeBSD)» http://sboronin.ru/2011/07/22/%d0%bf%d0%b5%d1%80%d0%b2%d1%8b%d0%b5-%d0%b2%d1%8b%d0%bf%d1%83%d1%81%d0%ba%d0%bd%d0%b8%d0%ba%d0%b8-%d0%ba%d1%83%d1%80%d1%81%d0%b0-%d0%b1%d0%b5%d0%b7%d0%be%d0%bf%d0%b0%d1%81%d0%bd%d0%be%d1%81%d1%82/ http://sboronin.ru/2011/07/22/%d0%bf%d0%b5%d1%80%d0%b2%d1%8b%d0%b5-%d0%b2%d1%8b%d0%bf%d1%83%d1%81%d0%ba%d0%bd%d0%b8%d0%ba%d0%b8-%d0%ba%d1%83%d1%80%d1%81%d0%b0-%d0%b1%d0%b5%d0%b7%d0%be%d0%bf%d0%b0%d1%81%d0%bd%d0%be%d1%81%d1%82/#comments Fri, 22 Jul 2011 18:26:33 +0000 http://sboronin.ru/?p=52 Читать далее ]]> Без лишнего шума и пыли центр «Специалист» подготовил профессионалов понимающих образ мыслей хакеров и умеющих использовать срества обеспечения безопасности UNIX-систем таким образом, что даже попытки эксплуатации наиболее критичных уязвимостей будут малоэффективны.

По мнению выпускников, курс наиболее ценен тем, что построен в виде набора практических занятий, по построению эшелонированной защиты на всех четырех периметрах безопасности. Очень ценно и совместное применение Linux и FreeBSD для защиты корпоративной инфраструктуры.

От себя хочу добавить, что мне очень приятно за хорошо выполненную работу по их обучению.

]]>
http://sboronin.ru/2011/07/22/%d0%bf%d0%b5%d1%80%d0%b2%d1%8b%d0%b5-%d0%b2%d1%8b%d0%bf%d1%83%d1%81%d0%ba%d0%bd%d0%b8%d0%ba%d0%b8-%d0%ba%d1%83%d1%80%d1%81%d0%b0-%d0%b1%d0%b5%d0%b7%d0%be%d0%bf%d0%b0%d1%81%d0%bd%d0%be%d1%81%d1%82/feed/ 1
Информационная безопасность и социальные сети http://sboronin.ru/2011/07/18/%d1%81%d0%be%d1%86%d0%b8%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d1%81%d0%b5%d1%82%d0%b8/ http://sboronin.ru/2011/07/18/%d1%81%d0%be%d1%86%d0%b8%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d1%81%d0%b5%d1%82%d0%b8/#comments Mon, 18 Jul 2011 13:22:13 +0000 http://sboronin.ru/?p=42 Читать далее ]]> Сегодня речь пойдет о безопасности данных, составляющих коммерческую тайну, и о самом не поддающемся контролю аспекте обеспечения ее сохранности — человеческом факторе. Здесь не будут подниматься «религиозные» споры, такие, как Windows vs Mac или Windows vs Linux, тем более, что в контексте данного выпуска это не принципиально. Эта статья о том, как пользователи сами ставят под угрозу безопасность информации, ведя себя неосмотрительно в социальных сетях.

Сейчас трудно найти пользователя Сети, который не был бы зарегистрирован ни в одной из социальных сетей. Чаще всего человек пользуется услугами сразу нескольких, например, ВКонтакте, Facebook и Twitter. Причем, если раньше для общения использовались мессенджеры (ICQ, Jabber, Skype, Google talk и другие), то сейчас площадками для такого общения выступают социальные сети.

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

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

Так какую же информацию сможет извлечь злоумышленник из социальной сети? Учитывая тот факт, что некоторые пользователи подробно освещают свою личную жизнь в социальных сетях, в них могут искать своих жертв банальные шантажисты, которым нужны деньги или корпоративные секреты работодателей.

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

Злоумышленник продумывает легенду, которой он будет пользоваться. Следующим шагом будет регистрация подставной учетной записи в той же социальной сети, которой пользуется жертва (контактное лицо компании) и наполнение ее информацией о вымышленном персонаже, который имеет те же интересы. Затем, для большего правдоподобия, он добавляет в друзья пользователей, интересующихся тем же, что и жертва, чтобы к моменту виртуального знакомства у той не возникло подозрений. Подобный подготовительный этап занимает от двух-трех дней до нескольких недель.

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

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

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

Жертва сама попросит эту утилиту!

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

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

Как пели кот Базилио и лиса Алиса в фильме про Буратино:

«На дурака не нужен нож —

Ему слегка наподпоешь

И делай с ним что хошь.

Покуда живы дураки вокруг,

Удачу мы не выпустим из рук».

]]>
http://sboronin.ru/2011/07/18/%d1%81%d0%be%d1%86%d0%b8%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d1%81%d0%b5%d1%82%d0%b8/feed/ 2
Эволюция хакинга http://sboronin.ru/2011/07/18/%d1%8d%d0%b2%d0%be%d0%bb%d1%8e%d1%86%d0%b8%d1%8f-%d1%85%d0%b0%d0%ba%d0%b8%d0%bd%d0%b3%d0%b0/ Mon, 18 Jul 2011 13:18:59 +0000 http://sboronin.ru/?p=39 Читать далее ]]> Старый ковбойский анекдот: 
— О! Да это же неуловимый Джо! 
— Правда неуловимый?! 
— Да кому он нафиг нужен! 
Для современных хакеров не существует «неуловимых Джо». 

Десятки лет совершенствуются методы взлома. Мотивы, которыми руководствуются хакеры, эволюционируют. Как же все попали в поле их интересов?

В начале 80-х хакеры протестовали против коммерциализации ПО, так как именно закрытие исходных кодов UNIX послужило началом противостояния свободного и проприетарного ПО. Данный период закончился в 1984 году, когда Ричард Столлман создал Фонд Свободного Программного Обеспечения (FSF), чем перевел конфликт на юридическую почву.

Тем не менее, первая волна хакерства привлекла к себе внимание. Оно спровоцировало вторую волну — желающих потешить свое тщеславие. Этому весьма способствовала популярность операционных систем DOS и Windows, в которых долгое время (до появления архитектуры NT) совсем не уделялось внимание вопросам безопасности.

Тем временем коммерциализировалось не только ПО, но и деятельность хакеров. Кого могут заинтересовать услуги профессионального взломщика? В корпоративном сегменте целью стало хищение данных, представляющих коммерческую тайну, или вывод из строя корпоративной инфраструктуры — все, что давало конкурентные преимущества.

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

Новую волну спровоцировало развитие спам-индустрии, которой для рассылок требовались компьютеры-зомби. Для решения данной задачи программистам стали заказывать вирусы, черви и трояны. Зараженный компьютер быстро блокировался провайдером, становясь слишком заметным своим «поведением». Гораздо сложней оказалось блокировать зараженные компьютеры, объединенные в ботнет. Разработчики ботнетов и подобного ПО стали его продавать, и таким образом хакерские продукты приобрели черты проприетарности. Стали появляться целые компании, чья деятельность сосредоточена на разработке решений для взлома. Похоже, что в эту область переметнулись те, кто в 90-е пробавлялся уличными лохотронами. За последние годы многие проявления хакерской деятельности обрели черты «разводов». Это и блокирование операционной системы с требованием отправить платное SMS для снятия блокировки или купить антивирус, который «решит эту проблему». Многие помнят таргетированные вирусы, целью которых являлись электронные кошельки. Отдельно стоит упомянуть фишинговые сайты, предназначенные для получения учетных записей пользователей.

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

DDoS

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

Традиционно считалось, что риску подвержены только компьютеры под управлением Windows, но благодаря возможностям, которые представляют социальные сети, стали уязвимы все. Ведь Facebook и Вконтаке имеют развитое API, доступное из Javascript, которое одинаково хорошо работает во всех современных браузерах и операционных системах, включая Mac OS X и Linux.

Бдительность и компетентность необходимы более, чем когда-либо, ведь технические средства, применяемые при взломе, все чаще опираются на неграмотные действия пользователей.

]]>
Анатомия уязвимостей http://sboronin.ru/2011/07/18/%d0%b0%d0%bd%d0%b0%d1%82%d0%be%d0%bc%d0%b8%d1%8f-%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d0%b5%d0%b9/ Mon, 18 Jul 2011 13:15:44 +0000 http://sboronin.ru/?p=37 Читать далее ]]> На чем основана анатомия уязвимостей? Уязвимость — это ошибка в программе, которую можно использовать для получения несанкционированного доступа к системе или отказа в обслуживании для уязвимого сервиса. Администратор, а тем более конечный пользователь, не в состоянии изменить природу вещей, зато они могут минимизировать возможность взлома системы или его последствия.

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

Однозначно подпадают под этот критерий ошибки, связанные с переполнением буфера, такие, как выход за границы диапазона для индексных массивов, переполнение стека и т.п. Не менее опасны ошибки, связанные с некорректным преобразованием типов данных. Вместе они составляют 90% всех уязвимостей, и лишь оставшиеся 10% связаны с недостатками в реализации логики программы.

Столь большой процент уязвимостей, основанных на переполнении буфера и некорректном преобразовании типов данных, не случаен. Он связан с тем, что с середины 70-х годов, когда язык С пришел на замену ассемблеру, ключевыми требованиями к ПО были компактность и высокая производительность, а вся ответственность за контроль программного кода возлагалась на программиста. Тогда это было оправдано, поскольку все серьезное ПО писалось под мейнфреймы, а персоналки еще только появлялись, и объем доступной оперативной памяти в них измерялся килобайтами.

Но время шло, мощность компьютеров выросла, появлялись языки с четкой типизацией данных и средствами контроля за переполнением буфера. Первой ласточкой был Pascal, который сочетал в себе как преимущества компилируемых языков, так и некоторые из возможностей динамических языков программирования благодаря развитой библиотеке времени исполнения, которая получила наибольшее развитие с появлением Object Pascal и его реализаций: Delphi и FreePascal.

Появление Java перевело языки программирования на новую эволюционную ступень, где программист мог абстрагироваться от архитектуры компьютера и операционной системы. Ее виртуальная машина, будучи в состоянии препятствовать переполнению буфера и ошибкам преобразования типов, тоже не решила проблему. Вышедшая в свет платформа .Net, под которую успешно перенесено большинство языков программирования и создан язык C#, тем не менее, имеет те же трудности с безопасностью.

Почему проблема осталась? Объяснение заключается в происхождении языков программирования, их своего рода «этимологии».

На чем разработана виртуальная машина Java? На С. С платформой .Net ситуация немногим лучше — она создана на С++ с использованием библиотек языка С. На чем разрабатываются компоненты современных операционных систем (а это миллионы строк исходного кода)? Тоже на C/C++, это относится и к драйверам устройств.

Львиная доля прикладного ПО разработана на С++.

Таким образом, заложенные в С источники уязвимостей все никак не прерываются. Они кочуют из этого языка во все новые средства разработки, а оттуда и во все программное и системное обеспечение.

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

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

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

Для Windows:

  • Использовать Data Execution Prevention (DEP) для защиты приложений
  • Ограничить доступ служб к объектам ОС при помощи групповых политик

Для UNIX-совместимых систем (Linux, FreeBSD и MacOS X):

  • Включить поддержку NX-бита в ядре ОС для защиты демонов и приложений
  • Использовать политики (для Linux — SELinux или AppArm, а для FreeBSD — MAC) для того, чтобы ограничить доступ демонов к системным ресурсам
  • Запускать демоны в chroot-окружении для защиты файловой системы
  • Использовать сетевой суперсервер для ограничения доступа к демонам

Таким образом, соблюдая ряд предосторожностей, можно существенно снизить риск эксплуатации уязвимостей используемого вами ПО.

]]>
Четыре периметра безопасности http://sboronin.ru/2011/07/18/%d0%bf%d0%b5%d1%80%d0%b8%d0%bc%d0%b5%d1%82%d1%80/ Mon, 18 Jul 2011 13:12:03 +0000 http://sboronin.ru/?p=33 Читать далее ]]> Считается, что ресурсы локальной сети гораздо лучше защищены от вторжения, чем сервисы, непосредственно доступные из интернета. От чего зависит реальная безопасность?

Все информационные ресурсы условно делятся на три зоны: красную, желтую и зеленую.

К красной зоне относятся хосты, имеющие реальные IP-адреса, их ресурсы являются внешним периметром, находящимся, что называется, «на острие атаки».

Сервера в желтой зоне имеют частные IP-адреса, но размещенные на них ресурсы доступны как из интернета, так и из локальной сети. Они располагаются в демилитаризованной зоне (DMZ), и только часть из них доступна через интернет.

Ресурсы локальной сети относятся к зеленой зоне и не предоставляют никакие сервисы за ее пределами.

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

Зеленая зона считается относительно безопасной, так как к ней запрещен доступ из интернета. Иллюзия безопасности усиливается при использовании домена Active Directory, который создает свой «круг доверия», используя централизованную базу данных с настройками доступа к ресурсам локальной сети. Управляющий сервер в домене называется контроллером домена. В чем же ахиллесова пята Active Directory? Некоторым приложениям для полного доступа к службе каталогов требуются административные привилегии, а следовательно, взлом любого из таких сервисов даст злоумышленнику контроль над всеми компьютерами сети.

Как правило, для снижения рисков, связанных со взломом сетевых сервисов в рамках локальной сети, используются следующие меры:

  • Для защиты Windows-серверов
    • Использование непривилегированных учетных записей для запуска сетевых сервисов
    • Установка ограничений с помощью групповых политик
    • Настройка брандмауэра Windows
    • Установка антивируса, антиспама и антитрояна
  • Для защиты UNIX-серверов (Linux/FreeBSD)
    • Использование непривилегированных учетных записей для запуска сетевых сервисов (демонов)
    • Запуск сервисов в Chroot
    • Настройка межсетевого экрана
    • Для почтовых серверов используются антивирусы и антиспам-решения
    • Для серверов, выступающих в роли интернет-шлюзов, применяются прокси-сервера

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

Например, специфика типовой настройки политик безопасности для Windows-платформ в том, что ради совместимости с предыдущими версиями многие из политик, доступных в новых версиях, остаются неактивными, то есть возможности политик редко задействуются более чем на 30 процентов. Кроме ранее перечисленных, на платформе Windows 2008 R2 доступны следующие методы защиты серверов:

  • Усиление политик безопасности там, где не требуется совместимость с предыдущими версиями Windows
  • Виртуализация серверов с использованием технологии Hyper-V
  • Виртуализация приложений с использованием технологии App-V (ранее SoftGrid)
  • Использование службы управления правами (AD RMS)
  • Рекомендуется использовать шифрование файловых систем на серверах, к которым возможен несанкционированный физический доступ

Для рабочих станций на Windows 7 также предусмотрены дополнительные возможности повышения безопасности:

  • Применение новых групповых политик в отношении непривилегированных учетных записей системы
  • Использование XP mode для запуска уязвимых сервисов
  • Настройка UAC-виртуализации
  • Развертывание клиентской части службы управления правами (AD RMS)
  • Рекомендуется использовать шифрование файловых систем так как к рабочим станциям и ноутбукам возможен несанкционированный физический доступ

UNIX-системы (Linux/FreeBSD/MacOS X) в дополнение к ранее перечисленным предлагают не менее развитые средства обеспечения безопасности:

  • Применение сетевого суперсервера для ограничения доступа к сервисам
  • Использование политик безопасности SELinux/AppArmor в Linux, MAC во FreeBSD
  • Виртуализация серверов с использованием технологий OpenVZ/LXC в Linux и Jail в FreeBSD
  • Виртуализация приложений путем совмещения помещения сервисов в Chroot и применения к ним политик безопасности
  • На файловых серверах, работающих в Windows-окружении, целесообразно использовать антивирусные средства защиты (это позволит проверить каждый файл двумя разными антивирусами — сначала на сервере, а затем на клиенте)
  • Рекомендуется использовать шифрование файловых систем на серверах, к которым возможен несанкционированный физический доступ

Рабочие станции на Linux также позволяют использовать эффективные средства защиты:

  • Использование политик безопасности SELinux/AppArmor
  • Мощный межсетевой экран (netfilter) с возможностью настройки для неподготовленного пользователя через Firestarter
  • Применение сетевого суперсервера для ограничения доступа к сервисам
  • Рекомендуется использовать шифрование файловых систем так как к рабочим станциям и ноутбукам возможен несанкционированный физический доступ

Методы защиты рабочих станций MacOS X не слишком отличаются аналогичных методов для Linux, поэтому они отдельно рассматриваться не будут. Из минусов средств безопасности MacOS X можно назвать лишь неприменимость MAC ввиду несовместимости с ней Carbon, предоставляющего API для приложений.

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

К счастью, не нужно изобретать велосипед, так как в best practice уже предусмотрено 4 периметра безопасности: внешние ресурсы (красная зона), DMZ (желтая зона), локальная сеть (зеленая зона) и, наконец, уровень хоста. Обеспечив полноценную защиту каждого хоста, независимо от того, является ли он рабочей станцией в зеленой зоне или сервером в красной зоне можно сильно повысить безопасность IT-инфраструктуры в целом. И не забывайте про превентивные меры — применение системы обнаружения вторжений вкупе с организационными мерами.

]]>
Разруха не в клозетах, а в головах http://sboronin.ru/2011/07/18/%d1%80%d0%b0%d0%b7%d1%80%d1%83%d1%85%d0%b0/ http://sboronin.ru/2011/07/18/%d1%80%d0%b0%d0%b7%d1%80%d1%83%d1%85%d0%b0/#comments Mon, 18 Jul 2011 13:06:56 +0000 http://sboronin.ru/?p=30 Читать далее ]]> Откуда берется «индийский код», являющийся причиной большинства проблем с безопасностью? Данный термин давно перестал ассоциироваться только с разработчиками из Индии и стал именем нарицательным, характеризующим программный код определенного качества.

—Что такое эта ваша разруха? Старуха с клюкой?  
Ведьма, которая выбила все стекла, потушила все лампы? Да ее вовсе и не существует. 
Что вы подразумеваете под этим словом? — Яростно спросил Филипп Филиппович… 
 М. Булгаков «Собачье сердце»

Первый ответ, который всегда приводят в его защиту — все возрастающая сложность ПО, но он выглядит неубедительно, т.к. любая сложная задача решается путем ее декомпозиции на более простые (этому учат инженеров еще в ВУЗ’e).

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

Такой ли вселенский масштаб имеет проблема роста сложности ПО?

Чтобы выявить иные причины изобилия индийского кода и терпимости к нему, вернемся в 70-е, когда появилась профессия «инженер-программист». Изначально разработка велась на ассемблере, постепенно мигрируя на язык С. Разработчик досконально знал аппаратную часть ПК, архитектуру и специфику используемой им ОС. Программы тогда занимали от пары килобайт до нескольких их десятков, и весь исходный код программист мог держать в голове, поэтому при проектировании хватало блок-схем. По мере усложнения программ сформировалась парадигма процедурного программирования, и большинство разработчиков стали активнее использовать отладчики, применение которых было не столь актуально на более ранних этапах. Программы в то время тщательно оптимизировали как по размеру, так и по скорости исполнения. Большинство программистов считали позором выпускать в свет программу с ошибками, что положительно сказывалось на качестве ПО.

К концу 80-х сформировалось второе поколение программистов, которые в основной своей массе программировали под персоналки, а не под мейнфреймы, как их предшественники. Были сформированы концепции ООП и создан C++. Методы проектирования были дополнены диаграммой классов, что повысило уровень абстракции логики программ от специфики операционной системы. Выросли и масштабы проектов, что потребовало коллективной разработки. Существующие методологии плохо справлялись с новыми проблемами, что хорошо изложено в «Мифическом человеко-месяце» (Ф. Брукс). Начались проблемы с качеством. Как ответ на них появился итерационный подход к ведению проектов.

Середина 90-х принесла с собой третье поколение программистов, которым уже не надо было экономить память и оптимизировать производительность своих программ. Ими охотно и всерьез стала применяться как оправдание «Теория ошибок», ставшая фольклором и «обросшая» разными вариациями и дополнениями наподобие «Законов Мерфи»: «Аксиома. В любой программе есть ошибки. Закон пропорциональности. Чем более программа необходима, тем больше в ней ошибок. Следствие. Ошибок не содержит лишь совершенно ненужная программа».

Рост возможностей аппаратных средств послужил толчком к лавинообразному росту сложности ПО. Требовались более крупные, чем классы, строительные блоки — компоненты, которые стали частью UML, без которого и сейчас не обходится ни одна зрелая методология. Появилась RUP — полновесная методология ведения проектов, учитывающая почти все нюансы проектной работы, но столь тяжелая, что полномасштабно применять ее могли лишь монстры типа IBM. Начали появляться методологии, которые также использовали UML, но применяли более простую модель проектного управления. Наиболее ярким примером является MSF. На рынке стала ощущаться нехватка квалифицированных инженеров.

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

Стоит ли говорить о том, что, как правило, IT-специалисты известны своим разгильдяйством и отнюдь не являются самым «лояльным» персоналом. Многие из них не очень-то терпят над собой какой-либо менеджмент. И если учесть это, будет ли удивительным, что они не любят методологии разработки, подразумевающие жесткий менеджмент, отсюда — мало кто утруждает себя изучением RUP. Методологии, требующие инженерного подхода, симпатии последней волны программистов не завоевали. Это привело к популяризации Agile-методологий, в которых не только нет жесткого управления, там отсутствует систематизация требований и архитектура. В свою очередь, это подталкивает к тому, что можно садиться и писать, не задумываясь о будущем развитии проекта, а это приводит к практически полному переписыванию системы с каждой новой версией. Отсутствие тщательной проработки архитектуры систем привело к лавинообразному росту числа уязвимостей, который мы наблюдаем в настоящее время.

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

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

Ведь нехватка квалифицированных программистов, обладающих глубокими базовыми знаниями, приводит к появлению широкой прослойки тех, кто быстро подучился востребованным на рынке технологиям. Уровень владения своим инструментарием у этих людей меньше, чем у слесарей автосервиса. Про уровень ответственности и говорить не приходится, особенно если вспомнить, что даже самые жуликоватые автослесари называют конечную цену работ, тогда как в Agile-методологиях она может оставаться открытой. Что это, как не полная безответственность за результаты своего труда? Фактически, Agile-методологии ведения проектов являются сильно упрощенными версиями традиционных. Изменилась и роль менеджера проектов, она полностью перенесена на ведущего разработчика, который вместо работы с рисками проекта зачастую просто вводит заказчика в раж мнимой легкостью добавления новых возможностей, что позволяет не фиксировать объем работ, оставляет открытой цену и сроки реализации. Роль тестировщика перенесена на разработчика (Unit-тесты), причем совершенно не учитывается тот факт, что программисты не бывают хорошими тестировщиками, так как цель программиста при тестировании — поскорее закончить все тесты и продолжить разработку, а не выявить все ошибки.

Так что помимо обучения требуются и новые методологии проектирования и разработки. Существующие в UML диаграммы не обеспечивают должного уровня взаимосвязи как между разными типами диаграмм, так и между диаграммами и проектной документацией. Чтобы в полной мере отражать требования к проекту, диаграммы становятся столь громоздкими, что на моей памяти на одном из проектов на их изучение разработчиками закладывали до 25% времени.

Нельзя давать программистам ТЗ построить Тадж Махал или пирамиду Хеопса, в качестве инструмента дав лишь каменный топор. Инструментарий должен соотноситься с масштабом и сложностью проекта. И если и есть что критиковать в разработчиках, то нельзя упускать из виду и то, что работать им приходится при отчаянной нехватке ресурсов, инструментов и знаний. Поэтому даже живой интерес, который человек мог иметь в начале карьеры, постепенно вырождается в фатализм и безразличие.

Вышеописанные проблемы не столь безобидны, как это может показаться на первый взгляд, и вносят не столь уж малый вклад в проблему качества по сравнению с ростом сложности ПО. Ремесленники активно продвигают свои методологии и, если в ближайшие 5-10 лет рынок не начнет насыщаться специалистами с инженерным подходом и способностью работать с рисками, нас ждут новые «супер Agile-методологии», в которых открытая цена проекта — это только вершина айсберга, в подводной части которого — рост числа уязвимостей в геометрической прогрессии.

Ведь по мере того, как все больше проектов разрабатываются на аутсорсе, все в большей степени новые методологии отходят о того, чтобы соблюдать интересы заказчика и снижать его риски. Раньше, когда заказчик и исполнитель чаще всего жили под одной корпоративной крышей, их интересы совпадали, и это отражали подходы к разработке. Теперь методологиям, чтобы получить поддержку, нужно дружить с потребностями исполнителей-аутсорсеров — ведь их большинство. А это означает, что необходимо снижать в первую очередь их риски и усиливать разработку манипулятивных подходов в духе тех, что применяются при продажах менеджерами проектов, которые доступно «объяснят» клиенту, что он получил именно то, что хотел, в приемлемые сроки и за приемлемый бюджет. Дурных заказчиков, ничего не подозревающих и не умеющих вдаваться в технические детали, как предполагается, на их век хватит.

Хочется думать, что это не так.

Если разработчики-разгильдяи пишут ПО под управлением никак не ограничивающих их разгильдяйство методологий, а потом его внедряют и поддерживают столь же недоученные разгильдяи, а использует офисный планктон — то напрашивается вывод о том, что мы живем в полностью разгильдяйском мире. В нем нет никаких акул бизнеса, о которых нам говорили в советском детстве — способных держать все под контролем и заставлять всех работать на износ.

«Серебряной пули» не существует? Или все-таки можно придушить разгильдяйство и ремесленничество по крайней мере в том радиусе, в котором хватает длины собственных рук?

]]>
http://sboronin.ru/2011/07/18/%d1%80%d0%b0%d0%b7%d1%80%d1%83%d1%85%d0%b0/feed/ 2
Специализация «безопасников» и ее особенности http://sboronin.ru/2011/07/18/%d1%81%d0%bf%d0%b5%d1%86%d0%b8%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f/ Mon, 18 Jul 2011 12:40:32 +0000 http://sboronin.ru/?p=20 Читать далее ]]> Несмотря на то, что формально рынок услуг по информационной безопасности и защите коммерческой тайны существует с конца 90-х, спрос на специалистов в этой области сильно превышает предложение.

Одна из основных проблем — узкая специализация «безопасников», причиной которой является эволюция системных администраторов в IT Security Officer. Большинство сисадминов специализируется в чем-то одном: Microsoft, UNIX-системы (подразумеваются Linux и FreeBSD) или Cisco. Эволюционируя в область безопасности, они обычно придерживаются своего направления.

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

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

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

Второе место по численности занимают специалисты Cisco, которых отличает хорошее знание особенностей стека TCP/IP и умение справляться с различными типами атак, основанных на специфике его реализации в различных операционных системах. Это включает в себя методы защиты от сканирования портов и некоторых типов DoS-атак. Но и они почти ничего не могут противопоставить атакам на Web-ресурсы и туннелированию трафика, поскольку те осуществляются через разрешенные порты с использованием авторизованных протоколов.

Специалистов, имеющих статус SCP, гораздо меньше, и они выгодно отличаются наличием компетенций в смежных областях. Однако, если решения Microsoft рассматривается в этой сертификации весьма детально, то механизмы обеспечения безопасности Cisco и Linux рассматриваются на самом начальном уровне.

А ведь в настоящее время, большинство банков и холдинговых структур имеют гетерогенные сети с серверами на базе открытых UNIX-систем, таких как Linux и FreeBSD, и для того, чтобы объективно оценить риски по безопасности и эффективно от них защититься, нужно уметь строить защиту, используя преимущества каждой из операционных систем. Курс «Обеспечение безопасности UNIX (Linux/FreeBSD)» создан для подготовки специалистов, способных применять комплексный подход. Он рассматривает совместное применение Linux и FreeBSD на каждом из четырех периметров безопасности, что позволяет не только многократно снизить риски проникновения злоумышленников, но и максимально перекрыть пути эскалации привилегий. Кроме того, данный курс покрывает требования по безопасности в рамках сертификации LPIC-3.

На рынке услуг по информационной безопасности наблюдается нехватка профессионалов, имеющих квалификацию не только по смежным направлениям, но и умеющих думать как хакеры и инсайдеры, что позволяет им эффективно им противостоять. Для этой цели EC-Concil создала курс «Этичный хакинг и тестирование на проникновение» на котором каждый IT Security Officer сможет пройти повышение квалификации и подтвердить ее, сдав экзамен на Certified Ethical Hacker. Престиж сертификации подчеркивается тем фактом, что сейчас в мире ею обладают менее 400 экспертов.

Еще недавно возможность получить обученных специалистов по безопасности ограничивалась курсами, предоставляемыми лишь по направлениям Microsoft, Cisco и UNIX, а самыми близкими к многопрофильному обучению были курсы «Тактическая периметровая защита предприятия» и «Стратегическая защита инфраструктуры предприятия», подготавливающие к сертификации SCP. В этом году центр «Специалист» расширил линейку курсов по безопасности. Теперь IT Security Officer может достичь вершин профессионального могущества, освоив управление гетерогенными сетями на курсе «Обеспечение безопасности UNIX (Linux/FreeBSD)» и изучить модус операнди профессиональных хакеров на курсе «Этичный хакинг и тестирование на проникновение».

]]>