
Центр исследований и разработок Microsoft в Израиле является одним из крупнейших офисов Microsoft за пределами Редмонда. Здесь разрабатывается множество проектов, — например, Forefront Threat Management Gateway и медиаплеер Zune были созданы именно здесь.
Я работал над проектом, который изначально разрабатывался в рамках Microsoft Forefront Threat Management Gateway, а позже был перенесён в состав Windows Defender. Он был интегрирован в сетевой стек Windows 7.
Опыт работы
- Начал в 2009, закончил в 2010.
- Должность: Студент-инженер программного обеспечения.
Мои достижения
Я работал в группе, которая занималась реализацией Generic Application-Level Protocol Analyzer. По сути, мы анализировали весь входящий и исходящий трафик: разбирали пакеты, проверяли данные внутри, применяли к ним шаблоны, и в случае положительного совпадения код выполнял задачу, определённую в этом шаблоне. Задача могла быть любой: от полного сброса пакета до изменения заголовка (например, перенаправления его в отдел безопасности), изменения содержимого (например, замены слов в текстовом сообщении), сохранения пакета в файл для дальнейшего антивирусного анализа, выборки следующих пакетов для захвата полного разговора и так далее. Мы могли изменять QoS пакетов, позволяя веб-серфингу работать на полной скорости, но делая аудио- или видеозвонки нестабильными из-за низкого качества соединения. Мы могли предотвратить загрузку определённых файлов или отключить любые передачи файлов. Мы могли анализировать текстовые сообщения в Интернет-мессенджерах и, если в сообщении встречались слова «начальник» и «идиот», мы могли переслать весь разговор указанному начальнику. Нет границ для того, что можно сделать, когда ты работаешь внутри ОС на уровне сетевой подсистемы.
Основной задачей, конечно же, была предотвращение распространения вредоносного ПО. Мы могли остановить Blaster ещё до того, как он успевал заразить операционную систему. На самом деле, моя команда остановила SMB2 packet of death уже на второй день после его обнаружения. (Однако распространение исправления через Windows Update заняло некоторое время).
Одним из инструментов, которые я создал, была утилита для сравнения двух файлов определений Windows Defender. Файл определений Windows Defender зашифрован, и алгоритм шифрования хранится в секрете, так как в противном случае хакер мог бы выдать свой сервер за сервер Windows Update, загрузить туда изменённый файл определений Windows Defender и, используя возможности инструмента GAPA, которые я описал выше, получить доступ ко всему трафику ничего не подозревающей жертвы и нанести ей вред. (Представьте, например, доступ системного администратора сети к фотографиям обнажённого сотрудника, отправленным в приватном чате, с последующим шантажом). Поэтому у меня не было доступа к алгоритму шифрования. Тем не менее, мне удалось получить список элементов, включённых в файл определений, и создать удобную таблицу, показывающую, какие элементы присутствуют в обоих файлах, а какие есть только в одном из них.
Я занимался разбором протокола DNS и создал правило, предотвращающее злоупотребление пакетами для обхода ограничений безопасности. DNS-пакеты используются для выяснения IP-адреса веб-сайта по его имени. Однако в DNS-пакетах и в DNS-ответах предусмотрено поле для добавления комментариев. Добавляя особым образом сконструированные запросы в поле комментариев DNS-пакетов и указывая DNS-сервер, который поддерживает разбор этих запросов, добавляя запрошенную информацию в поле комментариев DNS-ответов, злоумышленник мог бы передавать любые данные, включая просмотр запрещённых сайтов и передачу запрещённой информации внутрь и за пределы защищённой сети. Конечно, это требует, чтобы DNS-сервер находился за пределами защищённой сети, но брандмауэры защищённых сетей редко проверяют DNS-пакеты, так как предполагается, что они не содержат комментариев.
Я также создал документацию существующего кода, используя красивые диаграммы UML.
Спустя год работы в Microsoft этот проект был наконец передан из отдела Forefront TMG в отдел Windows Defender, который находится в Редмонде. Вся наша работа была перенесена в Редмонд. Группа в израильском центре исследований и разработок была расформирована. Некоторые из моих коллег переехали в США, чтобы работать над Office под Windows Mobile, некоторые присоединились к другим проектам, а я решил уйти.