1 декабря. Встреча Московского Сообщества Разработчиков, посвящённая вопросам безопасности.

mdna

В четверг, 1 декабря 2011 года в 19:00 в офисе Microsoft состоится встреча Московского Сообщества Разработчиков, посвящённая вопросам безопасности.
Это возможность услышать в Москве 2 доклада с конверенции Zero Nights!
Вход свободный и бесплатный.

Доклады

«Программные средства для SDL (Security Development Lifecycle)»
Докладчик: Иван Медведев
(Руководитель группы по созданию инструментальных средств для безопасности, Microsoft)

Доклад начнется с короткого обзора SDL (Microsoft Security Development Lifecycle) и сосредоточится на прогламмных средствах для SDL и использовании их в процессе разработки и тестирования для построения более безопасных программных продуктов. Мы рассмотрим средства моделирования угроз (Threat Modeling), анализа программных компонентов на соответствие указаниям SDL (BinScope), средства анализа атакуемой поверхности (Attack Surface Analyzer), расширение отладчика для фаззинга !exploitable и прочие инструменты.

«За кулисами Windows Update. От уязвимости к патчу.»
Докладчик: Андрей Бешков
(Руководитель программы информационной безопасности, Microsoft)

В этом докладе будет рассказано о том, как работают разные программы внутри Microsoft, направленные на взаимодействие с исследователями безопасности и брокерами уязвимостей. Как принимаются и обрабатываются данные об уязвимостях. Как происходит проверка уязвимости, поиск вариативности в уязвимостях, классификация и принятие решения о том, что дальше делать с этой уязвимостью. Так же будут освещены вопросы тестирования выпускаемых патчей. Вы узнаете, почему патчи выходят раз в месяц. Затем поговорим про обеспечение стабильного обновления более чем миллиарда систем на планете. Будут показаны наиболее частые пути появления эксплоитов в первые 30 дней после выхода патча. И рассказано о том, как MS обменивается данными с партнерами по безопасности, чтобы они могли с помощью обновлений к IDS/IPS и антивирусам защищать тех клиентов, которые не успевают обновиться за первый месяц. Также будет рассказано о влиянии 0-day уязвимостей на общий ландшафт безопасности продуктов Microsoft. Все данные, приводимые в докладе, собраны с 600 млн ПК в 117 странах мира.

Как добраться?

Офис Microsoft находится по адресу ул. Крылатская д. 17, бизнес центр «Крылатские холмы».

От метро ходят специальные маршрутные автобусы. Автобусы марки Ford (или подобные), на автобусах табличка «Krylatsky Hills».

Остановка у метро: м. Крылатская, выход из головного вагона метро, затем выход из дверей метро налево, по переходу направо. Остановка будет в 10 метрах от выхода метро. Автобусы ходят каждые 10-15 минут. Поскольку все в один автобус не поместятся, лучше приехать к метро Крылатское в 18:20-18:30 (встреча начинается в 19:00).

После того, как войдете в здание с вывеской «Microsoft» на крыше, поверните налево – так Вы попадете в офис Microsoft. Далее Вам покажут, как пройти к месту проведения встречи.

Автобусная остановка

Офис

Silverlight 5, XAML и связывание данных

В рамках on-line части конференции DevCon’11 я зыписал доклад Silverlight 5, XAML и связывание данных.

11 мая. Встреча MDNA UG: Silverlight 5, Windows Phone 7 и Azure

header

11 мая в 19:00 в офисе Microsoft Россия, после приятного праздничного отдыха, состоится встреча UG, посвещенная наиболее инновационным технологиям современности: Silverlight 5 и облака.

Расписание

  1. 5 причин использовать Silverlight 5 для создания бизнес приложений (19:00 – 20:00)
  2. Перерыв (20:00 – 20:05)
  3. Что такое облачные вычисления? (20:05 – 20:35)
  4. Обзор Windows Azure Toolkit for Windows Phone 7 (20:35 – 21:05)
  5. Пицца и приятное общение (21:05 – 21:30)

Информация о докладах

5 причин использовать Silverlight 5 для создания бизнес приложений, Сергей Пугачев

В докладе на практических примерах рассматриваются возможности Silverlight пятой и предыдущих версий, которые помогают быстро создавать полнофункциональные бизнес (Line-of-Business) приложения. Особое внимание уделяется новым возможностям Silverlight 5 и использованию WCF RIA Services.

Что такое облачные вычисления, Воробьев Илья

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

Обзор Windows Azure Toolkit for Windows Phone 7, Станислав Павлов

Долгое время занимаюсь мобильными и встраиваемыми технологиями. Ограничения по ресурсам, как самого устройства, так и его производителя, могут налагать определенные ограничения на доступные конечному пользователю мобильного устройства сервисы. Windows Azure Toolkit for Windows Phone 7 предназначен для упрощения использования возможностей облачной технологии Windows Azure на платформе Windows Phone 7.

Читать далее…

Выпущена новая версия инструментов разработчика для Windows Phone 7 (Windows Phone Developer Tools) c Copy & Paste.

Если у Вас уже установлены инструменты разработчика для Windows Phone 7, пройдите по ссылке http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277 и установите обновления в следующем порядке:

  • WindowsPhoneDeveloperResources_[language]_patch1.msp
  • VS10-KB2486994-x86.exe (Windows Phone Developer Tools Fix)

Если инструменты не установлены, сначала установите Windows Phone Developer Tools RTW, а потом уже данное обновление.

Теперь Вы можете протестировать работу Copy & Paste в эмуляторе.
Выделите в каком-либо текстовом поле нужный текст. После этого рядом с выделенным текстом появится кнопка копирования (первый рисунок). Скопировав текст, Вы можете с помощью кнопки вставки (второй рисунок), которая появляется над клавиатурой, вставить скопированный текст в любое текстовое поле любого приложения.

Прошивка для телефона, поддерживающая данную функциональность, будет выпущена в скором времени.

Кроме всего прочего, данное обновление инструментов разработчика включает исправления в элементах управления «Pivot» и «Panorama», обновление элемента управления «Bing Maps», утилиты Capability Detection Tool и Connect Tool, а также возможность в целях тестирования загружать на телефоны .xap файлы размером более 64 мб.

45 дней с Windows Phone 7. День #24. WebBrowser. Часть 2. Локальный контент.

<< День #23. Реклама в WP7 приложениях.

Это двадцать четвёртая статья серии «45 дней с Windows Phone 7».

В Дне #18 мы подробно рассматривали возможности элемента управления «WebBrowser». После этого мне было задано достаточно много вопросов, преимущественно о том, как загружать локальные ресурсы, в первую очередь картинки, в данный элемент управления. Если картинка находится на удалённом web сервере, то проблем нет. Мы просто пишем её Url адрес. Но что делать, если картинка находится в ресурсах приложения? Ведь метод «NavigateToString» браузера не позволяет задать местоположение, загружаемых ресурсов.

На помощь нам приходит изолированное хранилище. Мы уже рассматривали данную тему в Дне #15. В изолированное хранилище можно положить HTML страницы и ресурсы к ним, такие как картинки, а после этого отобразить данные страницы в элементе управления «WebBrowser».

Отображение в «WebBrowser» страниц из изолированного хранилища.

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

private static void SaveToIsoStore(string fileName, string text)
{
    var isoStore = IsolatedStorageFile.GetUserStoreForApplication();
    if (isoStore.FileExists(fileName))
        isoStore.DeleteFile(fileName);

    using (var sw = new StreamWriter(isoStore.CreateFile(fileName)))
    {
        sw.Write(text);
    }
}

Данная функция принимает имя и содержимое файла, который потом создаётся в изолированном хранилище.

Теперь с помощью данной функции создадим файл «fileName123.htm» и отобразим его в элементе управления «WebBrowser»:

private void WebBrowser1Loaded(object sender, RoutedEventArgs e)
{
    SaveToIsoStore("fileName123.htm", "<h1>Isolated Storage!!!</h1>");
    webBrowser1.Navigate(new Uri("fileName123.htm", UriKind.Relative));
}

Всё верно, мы можем просто передать имя файла относительно корня изолированного хранилища элементу управления «WebBrowser».

Сохранение данных из ресурсов приложения в изолированное хранилище.

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

Добавим в проект два файла: «readme.htm» и «windows-phone-7.jpg» и установим свойство «Build Action» для файлов в значение «Content».

Файл «readme.htm» – это просто html страница, на которой находится картинка «windows-phone-7.jpg»:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
</head>
<body>
<h2>Windows Phone 7!</h2>
<h3>Замечательная ОС</h3>
<img src="windows-phone-7.jpg" />
</body>
</html>

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

private static void SaveToIsoStore(string fileName, byte[] data)
{
    var strBaseDir = string.Empty;
    const string delimStr = "/";
    var delimiter = delimStr.ToCharArray();
    var dirsPath = fileName.Split(delimiter);

    var isoStore = IsolatedStorageFile.GetUserStoreForApplication();

    for (var i = 0; i < dirsPath.Length - 1; i++)
    {
        strBaseDir = Path.Combine(strBaseDir, dirsPath[i]);
        isoStore.CreateDirectory(strBaseDir);
    }

    if (isoStore.FileExists(fileName))
    {
        isoStore.DeleteFile(fileName);
    }

    using (var bw = new BinaryWriter(isoStore.CreateFile(fileName)))
    {
        bw.Write(data);
        bw.Close();
    }
}

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

private void WebBrowser1Loaded(object sender, RoutedEventArgs e)
{
    string[] files = {
                        "readme.htm",
                        "windows-phone-7.jpg"
                        };

    foreach (var f in files)
    {
        var sr = Application.GetResourceStream(new Uri(f, UriKind.Relative));
        using (var br = new BinaryReader(sr.Stream))
        {
            var data = br.ReadBytes((int)sr.Stream.Length);
            SaveToIsoStore(f, data);
        }
    }

    webBrowser1.Navigate(new Uri("readme.htm", UriKind.Relative));
}

Запустим приложение и увидим страницу с находящейся на ней картинкой:

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

Пример кода.