Резюме докладов на Microsoft Secure Software Development

holiday-inn_moscow_lesnaya

13 декабря в центре Москвы прошла конференция Microsoft для профессионалов в области разработки современного доверенного программного обеспечения – Microsoft Secure Software Development Conference. В России конференция этого международного формата была проведена впервые. Стоит отметить, что в этом году Microsoft заметно расширили и повысили качество мероприятий для технических специалистов в России. Весной впервые в России прошла крупнейшая конференция Microsoft по разработке программного обеспечения – Microsoft DevCon’11. Буквально месяц назад, опять же впервые в России, прошла главная конференция Microsoft, посвященная ее технологиям и продуктам – Microsoft TechEd Russia 2011. И завершается год также новой конференцией. Соответственно, теперь эти крупные мероприятия будут проводиться ежегодно.

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

Помимо непосредственного участия, была возможность наблюдать за происходящим с помощью прямой трансляции. Судя по небольшому количеству отзывов в Twitter, #mssd привлекла более узкий круг специалистов, нежели предыдущие конференции. Честно говоря, не знаю, будут ли опубликованы записи докладов на TechDays. Официального заявления об этом не видел, но будем надеяться. Microsoft официально подвели итоги конференции 16 декабря в статье Защищенное ПО для российской индустрии, в которой обещали опубликовать записи докладов. 21 декабря обещание было исполнено. Что странно, традиция публикации записей на TechDays в этот раз была нарушена организаторами: чтобы посмотреть видео с конференции, зайдите на официальный сайт конференции (первая гиперссылка в этой заметке) и нажмите огромную кнопку “Записи докладов”. Честно говоря, удобство просмотра с помощью предоставленного там приложения Silverlight совсем не то, что на TechDays.

Цель и формат данной заметки аналогичны описанию докладов предыдущих конференций Microsoft, ссылки на которые я привел в начале заметки. Я расскажу, какие доклады я посетил и что интересного там узнал. Разумеется, все доклады посетить я не смог, так как они одновременно шли по 2 секциям. Кроме того, по личным обстоятельствам я опоздал на конференцию, приехав практически уже к обеду. Соответственно, я смогу рассказать только о той части послеобеденных докладов, которые я выбрал. Вы можете ориентироваться на мои субъективные оценки содержания доклада и мастерства докладчика, которые я указываю ниже после краткого описания содержания доклада.

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

Безопасность окружения. Защита среды разработки от внутренних угроз

Андрей Иванов, Дмитрий Сергеев, Microsoft

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

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

Изоляцию окружения может обеспечить инфраструктура виртуальных рабочих столов – VDI (Virtual Desktop Infrastructure), в которой разработчики удаленно подключаются к рабочим станциям, которые представляют собой виртуальные машины с установленной клиентской операционной системой, с произвольных клиентских устройств. При этом исключается хранение важной информации на локальных дисках клиентских устройств, на порядки усложняется кража и несанкционированный доступ к рабочим станциям.

Хорошо, изолировались от внешних угроз. А как быть с нарушителями внутри? Необходимо шифровать данные.

На сетевом уровне можно воспользоваться сетевым драйвером (агентом) IPSec, который обеспечит шифрование и фильтрацию IP-пакетов, а также обеспечит принуждение к использованию доверительных соединений. В итоге, обеспечивается защита от перехвата пакетов, изменения данных, подмены адресов или учетных данных, атаки “человек посередине”. Кроме того, IPSec можно использовать для сегментации сети.

На уровне дисковых накопителей можно воспользоваться технологией BitLocker, ставшей доступной в Windows 7, обеспечивающей физическое шифрование всего диска. BitLocker использует чип TPM (Trusted Protected Module), защищает информацию на дисках (в том числе и системном), проверяет целостность загрузочных компонент и предусматривает возможность восстановления. Для шифрования USB-накопителей можно воспользоваться возможностью BitLocker To Go, которая поддерживает FAT, защищается паролем или смарт-картой, осуществляет автоматическую разблокировку и также предусматривает сценарий восстановления. В случае необходимости работы с данными на Windows XP на USB-носитель может быть установлена специальная программа.

На уровне файловой системы можно воспользоваться старым и простым сервисом шифрования данных – EFS (Encrypting File System).

Для защиты сети организации можно использовать стандартный сервис Windows Server 2008 по защите доступа к сети – NAP (Network Access Protection). NAP поддерживает состояние “здоровья” сети, проверяя подключаемых клиентов на соответствие принятым стандартам: наличие и состояние обновления антивирусной программы, наличие и работу брандмауэра, наличие свежих обновлений операционной системы. Компьютер, удовлетворяющий требованиям системы контроля, получает доступ в сеть предприятия. Остальные не могут получить доступ или же получают доступ лишь в изолированную часть сети.

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

  • Содержание доклада: 5
  • Мастерство докладчика: 4

Безопасность облачных вычислений

Андрей Бешков, Microsoft

В начале доклада Андрей рассматривает стандартные вопросы безопасности использования облачных инфраструктур:

  1. Где географически расположены мои данные? Вопрос сложный как с точки зрения политики (различного законодательства стран, к примеру, России и готовящихся изменений в США), так и технологии (ведь гарантия физического расположения может входить в противоречие с технологией обеспечения отсутствия единой точки отказа, которая предусматривает в том числе и географическое распределение).
  2. Можно ли доверять облаку Microsoft? Да, ведь уже были прецеденты растворения облачных провайдеров: сервис перестает работать, а компания закрывается. Или, к примеру, случай выхода из строя дата-центров Microsoft и других провайдеров облачных инфраструктур по причине удара молнии, который вывел из строя общую электростанцию в Ирландии: может ли кто-то уберечь своих клиентов и себя от подобных форс-мажоров?
  3. Кто может получить доступ к моим данным? Обычные пользователи почти никогда не читают EULA (End-User License Agreement), потому многие и не знают, что, к примеру, облачный провайдер файлового хранилища DropBox оставляет за собой право использовать данные своих клиентов.
  4. Как удостовериться, что провайдер соответствует установленным правилам информационной безопасности? Microsoft обеспечивает в дата-центрах Windows Azure выполнение следующих мер: ограниченный физический доступ в дата-центр 24×7 с помощью систем контроля доступа, видео-наблюдения, датчиков движения, сигнализации и принципа “что внесли в дата-центр, должно остаться там или быть утилизировано” – благодаря чему были получены международные сертификаты ISO/IEC 27001:2005, SAS-70 Type II и другие.
  5. Что случится, если все-таки что-нибудь пойдет не так? Никто не читает SLA (Service Level Agreement), потому клиенты и не знают, что, к примеру, пользуются таким сервисом, по которому аварией, влекущей возмещение убытков, провайдер считает только случаи отказа сервиса более чем 10% пользователей клиента.

Далее Андрей бегло рассказывает про обеспечение уровней безопасности (физический, сетевой, хост, приложение и, наконец, данные) в зависимости от типа выбранной облачной инфраструктуры: IAAS (Infrastructure As A Service), PAAS (Platform As A Service) или SAAS (Software AS A Service) – чем выше уровень зрелости, тем больше вопросов безопасности на себя берет провайдер.

Далее также бегло рассматриваются сценарии использования облачной инфраструктуры Windows Azure, который представляет собой PAAS от Microsoft. Есть публичное, выделенное и частное облако. Как их соединить по сквозной аутентификации, авторизации и защите трафика? Windows Azure позволяет запустить приложение в облаке, SQL Azure позволяет хранить данные в облаке, а Windows Azure AppFabric соединяет облако с внешними сервисами.

Как видите, объявленный маркетологами лозунг: “cloud – security is done” – несколько далек от истины. Разумеется, многие вопросы берет на себя провайдер облачной инфраструктуры, но далеко не все, а также приносит новые вопросы. Здесь также важно понимать, что облачные инфраструктуры проектировались на массового клиента. Поэтому, с одной стороны, вы можете задешево получить такое качество сервиса, которое сами вряд ли сможете обеспечить у себя за те же деньги. Но, с другой стороны, если у вас повышенные требования к безопасности, то, вероятно, вам нужно раскошеливаться на свой дата-центр. Вопрос прагматики.

  • Содержание доклада: 5
  • Мастерство докладчика: 5

Программы безопасности

Андрей Бешков, Microsoft

Андрей рассказал про программы безопасности Microsoft, которые были запущены с прошлого года и которыми он в данный момент руководит в России и странах СНГ. Программы, которые не очень интересны конкретно разработчикам, я просто перечислил аббревиатурами.

  • OTIS;
  • SAFI;
  • GIAIS;
  • SUVP: программа доступа к обновлениям Microsoft за несколько недель до их публичного выпуска;
  • Техническая поддержка по инцидентам связанным с безопасностью выполняется всегда с более высоким приоритетом;
  • Тренинги CSS Security.

Доклад был коротким, а наиболее интересную тему SUVP Андрей раскрыл подробнее на следующем докладе.

  • Содержание доклада: 3
  • Мастерство докладчика: 4

Исследования Microsoft Research в области верификации программных комплексов

Елена Павлова, Microsoft

Елена рассказывает про инструменты верификации, разработанные исследовательским подразделением Microsoft Research. Все знают, что верификация – это проверка выполнения определенных формальных свойств для программы при помощи формальных методов? Теперь все: программисты вспоминают защитное программирование, утверждения, контракты, использование аспектных компиляторов и прочие механизмы – да, речь идет об этом.

Фундаментальные разработки по верификации включают:

  1. Z3 (SMT Solver): решатель булевых формул, на который опираются многие перечисленные ниже продукты. Все достаточно просто: утверждения (assert) добавляют формулы, по которым решатель может вычислить состояние соответствия (sat, unsat, unknown).
  2. Boogie: язык промежуточного уровня для верификатора.
  3. Spec#: формальный язык описания контрактов.
  4. Code Contracts: аналогичная функция, это формальный язык описания контрактов для языков .NET Framework, но в отличие от предыдущего продукта доступный для коммерческого применения.
  5. Zing: инструмент для верификации на модели (model-checker).

Разработки по верификации параллельных систем включают:

  1. VCC: верификатор аннотированных параллельных программ на языке C, который был разработан для верификации при разработке Hyper-V.
  2. HAVOC: аналогичный продукт, но доступный для коммерческого применения. Этот инструмент использовался для проверки при разработке Windows.
  3. Traver: верификатор трансформации параллельных программ (название происходит от “transformation verification”). Пока этот инструмент недоступен публично даже для академических целей.

И еще 2 продукта. Fern (Fine) позволяет проверять свойства безопасности программ на языке C#, посредством встраивания проверок внутрь типов, за счет чего контроль осуществляется обычным компилятором. SLAM является верификатором драйверов устройств.

  • Содержание доклада: 4
  • Мастерство докладчика: 3

За кулисами Windows Update. От уязвимости до обновления

Андрей Бешков, Microsoft

Очень интересный доклад про внутренние механизмы привычного нам сервиса Windows Update: организационные и технологические.

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

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

  • Содержание доклада: 5
  • Мастерство докладчика: 5

mssd

6 thoughts on “Резюме докладов на Microsoft Secure Software Development

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

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

    Нравится

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

      На самом деле для этой целевой аудитории (разработчики), доклад по программам безопасности не очень интересен, это уже уровень корпоративных архитекторов и директоров IT или R&D. 😉

      Нравится

      • С включением в эту программу все как-то не очень просто на самом деле. Мы уже второй месяц пытаемся в нее включиться. Пока безрезультатно 😦 Надеюсь Андрей сможет как-то ускорить этот процесс.

        А по поводу ее бесполезности для разработчиков вы не совсем правы. Если ваша разработка тесно взаимодействует с продуктами Microsoft, то оно более чем полезно. Разжевывать чем именно не буду, поразмыслите на досуге 😉

        Нравится

      • Вы про SUVP? Так я говорил, что разработчикам менее интересны другие программы, исключая SUVP. Собственно, это просто цититирование слов Андрея.

        Нравится

  2. Microsoft опубликовали итоги конференции: Защищенное ПО для российской индустрии.

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

    Нравится

    • Видеозаписи докладов опубликовали, почему-то не на TechDays, а на официальном сайте конференции. Указал во введении к заметке, как найти видео: указать прямые ссылки не могу — спасибо организаторам.

      Нравится

Оставьте комментарий