SYSCALL.ru

О велосипедах

ФИО: Косых Петр Александрович
Профессия: Системный программист Unix, программист ядра Linux
E-mail: p.kosyh at gmail dot com
Проживание: Москва
Дата рождения: 18.06.1978

Образование

2001 «МИФИ» (красный диплом)

Кафедра кибернетики. Специальность: компьютерные системы и сети.

2006 к.т.н, 5.13.19, 5.13.11 «МИФИ»

Диссертация: “Разработка и исследование файловой системы со слежением за целостностью”.

Профессиональный опыт

С 12.2009 по настоящее время

«Фактор-ТС» Нач. отдела «Прикладных задач»

Разработка крипто-маршрутизатора на базе ядра Linux. Хорошие знания сл. подсистем Linux: ipsec/xfrm, iptables, qdisc, nat. Программирование в режиме ядра.

01.2008 — 12.2009

«РУСБИТЕХ» Нач. отдела «Отдел системного программирования»

Системный программист/программист ядра Linux для Debian-based дистрибутива.

Расширение функций безопасности ядер ветки 2.6.xx. Выделение расширенных функций безопасности в отдельный модуль ядра, за счет минимальной правки исходного кода ядра Linux. Системное программирование.

01.2001 — 01.2008

«ВНИИНС» Нач. сектора, зам. нач. отдела

Ответственный за направление “Ядро и СЗИ”. Работа с ядрами Linux (2.2, 2.4 и 2.6), написание и модификация системных компонент (pam модули, glibc, syslog и т.д.).

Разработчик патча для ядра 2.4 (затем 2.6) добавляющий мандатную политику безопасности во всех подсистемах, где это необходимо (ipc, net, fs, и т.д.), подсистему полномочий (развитие capabilities Linux), развитую подсистему файлового и процессного аудита (как в WinNT), модификацию smbfs для поддержки расширенных атрибутов безопасности, безопасное удаление файлов.

http://www.linice.com — помощь при портировании этого отладчика на ядро 2.6.

Разработка крипто-средств: подсистемы шифрования сетевого трафика (фактически VPN, ядра 2.2 и 2.4), подсистемы шифрования дисков с автоматическим пере шифрованием данных “на лету” при смене ключей и журналированием (ядра 2.2 и 2.4). Каждая подсистема представляет собой модульную (расширяемую) архитектуру из драйверов и обвязки, работающей в пользовательском режиме.

Реализация отечественного алгоритма ЭЦП на эллиптических кривых и файловой системы с контролем целостности на его основе. (Диссертация: “Разработка и исследование файловой системы со слежением за целостностью”.)

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

Все разработки велись для архитектур: x86, sparc, mips, s390. Опыт программирования для SMP систем. Опыт “безопасного” программирования. Создание среды для повторяемой пересборки RPM-based дистрибутива “1 в 1”.

01.1999 — 01.2001

«Инфотекс» Системный программист

Работа в компании Infotecs, занимающейся разработкой персональных файерволлов и VPN клиентов для Linux/Windows. Работа в отделе исследований. Разработка и поддержка драйверов для Windows NT/2000. Разработка и поддержка драйверов для Linux (ядра 2.2 и 2.4). Инструментарий: SoftIce, IDA, профайлер от NuMega и т.д. Примеры проектов: драйвер крипто-акселератора, драйвер watchdog, новые компоненты драйвера поддержки VPN (разработка протоколов, программирование, отладка на стендах с развернутой сетью VPN), фильтр протокола SMB. Все драйверы кроссплатформенные (Linux/Windows). Разработка системных библиотек для работы с устройствами touchmemory, Smart Cards, USB tokens итд. Исследование проприетарных драйверов для Windows NT/2000. Разработка драйверов велась на C и C++. Безопасность Windows систем. Причина ухода — нестабильность ЗП, повышенный интерес к Linux.

01.1995 — 01.1999

«СИСТЕМПРОМ» Инженер-программист

Дизассемблирование ядра Windows NT. Цель — сертификация. Организация — СИСТЕМПРОМ. Используемые средства: SoftIce, IDA. Написание компоновщика с расширенными опциями для сборки ядра из полученного дизассемблированием кода. Часть полученной информации доступна на http://gloomy.cjb.net. Практически полностью дизассемблированы и переведены в псевдокод менеджер объектов и менеджер памяти. Описаны детали реализации остальных компонент, включая некоторые компоненты пользовательского режима. Отличное знание ассемблера x86 и архитектуры защищенного режима.