LINUX.ORG.RU

Сообщения AnMakc

 

Msk, Разработчик C++/Python (Russian Quantum Center, удаленно), 130k+

Описание вакансии

Мы ищем разработчиков ПО в группу квантовых коммуникаций. Наша группа состоит из молодых ученых и программистов, успешно реализовавших проект по квантовой криптографии.

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

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

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

С нами вы будете:

  • Участвовать в создании новых продуктов с нуля
  • Работать бок о бок с молодыми учеными и вместе воплощать идеи в жизнь
  • Использовать современные инструменты и технологии

Что будет делать кандидат

  • Участие в разработке архитектурных и технических решений
  • Разработка, тестирование и документирование кода
  • Проектирование и реализация протоколов взаимодействия для квантовых сетей
  • Реализация методов пост-квантовой защиты

Требования к кандидату

  • Опыт full-time разработки на языках С++ и Python от 2 лет
  • Умение оценивать трудоемкость задач и попадать в свои оценки
  • Опыт работы с системой контроля версий Git
  • Опыт работы с системой сборки CMake
  • Знание стандартов С++11/14
  • Опыт работы с Linux, знание bash и основных утилит
  • Понимание необходимости тестов и умение их писать

Будет плюсом

  • Опыт использования Docker
  • Опыт работы с системами виртуализации (VMWare, VirtualBox)
  • Аккаунт на github.com или на другом ресурсе, где можно посмотреть ваш код
  • Опыт написания кросс-платформенного кода
  • Знание сетевого стека Linux
  • Опыт работы с математическими библиотеками Python (numpy / scipy)
  • Понимание сетевых протоколов (в т.ч. стека IPSec)
  • Понимание протоколов маршрутизации
  • Понимание алгоритмов консенсуса (Византийский консенсус / Paxos / Raft)

Условия работы

  • Удаленная работа без строгих требований по времени, но с полной занятостью
  • Основное взаимодействие по Skype и в мессенджерах, встречи только по необходимости
  • Белая заработная плата от 130000 рублей

Дополнительные инструкции

Если Вас заинтересовала наша вакансия, пишите на почту n.pozhar@rqc.ru . В теме письма укажите “Вакансия Разработчик С++/Python с LOR", в тексте письма укажите как вы соответствуете каждому пункту из раздела “Требования к кандидату” и “Будет плюсом”, приложите резюме с описанием своего опыта. Мы в первую очередь рассматриваем кандидатов из Москвы и МО.

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

 , ,

AnMakc
()

Msk, Application Security Engineer (Russian Quantum Center, удаленно), 150k+

Описание вакансии

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

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

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

Основные направления текущей работы включают в себя:

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

Задачи

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

Требования к кандидату

  • знание алгоритмов современной криптографии
  • знания в области информационной безопасности (криптография: VPN, https, SSL/TLS, PKI, модели разграничения доступа)
  • умение работать с чужим кодом на различных языках программирования, разбираться с новыми технологиями, программным обеспечением
  • знание Linux и Windows на уровне опытного пользователя, в т.ч. внутренних подсистем (ring0, SElinux, FS, networking, virtualization/process isolation)
  • опыт разработки на языках С/C++ и Python, знание инструментов для сборки, отладки и тестирования приложений

Будет плюсом

  • опыт white-box и black-box тестирования, навыки реверс-инжиниринга, fuzzy-тестирования и опыт участия в программах bug bounty
  • опыт работы в Лаборатории Касперского и аналогичных компаниях
  • опыт разработки приложений, связанных с обеспечением информационной безопасности
  • опыт оптимизации вычислительно-сложных задач, в частности криптографических
  • знание требований ГОСТ на продукты информационной безопасности
  • знание законодательства РФ и международных стандартов по информационной безопасности;
  • наличие сертификатов CEH, OSCP и др. подтверждающих навыки;
  • знание стандартов написания безопасного кода
  • опыт имплементации практик SDL
  • выступления не тематических конференциях
  • хороший технический английский

Условия работы

  • Удаленная работа без строгих требований по времени, но с полной занятостью
  • Белая заработная плата от 150’000 рублей по результатам собеседования

Дополнительные инструкции

Если Вас заинтересовала наша вакансия, пишите на почту n.pozhar@rqc.ru . В теме письма укажите “Application Security Engineer c LOR", в тексте письма укажите как вы соответствуете требованиям вакансии и приложите резюме с описанием своего опыта. Мы в первую очередь рассматриваем кандидатов из Москвы и МО.

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

 , , ,

AnMakc
()

[kernel]Получить список блочных устройств

Приветствую.

Как в модуле ядра линукса можно получить список всех блочных устройств ?
В конечном счете необходимо получить структуру gendisk или device(а из нее - gendisk) по известному dev_t (major и minor номера устройства).
Хотел воспользоваться get_gendisk(dev_t dev, int *partno) , но она не экспортируется ядром (insmod выдает unresolved symbol:get_gendisk) хотя функция объявлена в /include/linux/genhd.h.

 

AnMakc
()

[kernel][c] Определить устройство, на котором находится файл

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

Задача такая: есть обработчик sys_open (тот который в sys_call_table)

asmlinkage long sys_open(const char __user *filename,
                         int flags, int mode);

Нужно как-то определить на каком устройстве находится файл к которому происходит обращение, а именно является оно съемным (usb-flash, usb-hdd) или же несъемным. Уже несколько дней пытаюсь рыть внутри

current->fs->pwd

Единственная полезная вещь которую смог найти это

current->fs->pwd.mnt->mnt_sb->s_bdev->bd_disk->flags

в котором установлен GENHD_FL_REMOVABLE на этот же int flags можно выйти и через

...pwd->mnt_mountpoint->mnt...

и еще несколькими путями, но в первом случае получаем всегда одинаковый набор флагов, более того, одно и то же устройство, то, которое смонтировано в корень ФС (sda1 в моем случае вместо sdd, являющегося флешкой).

Во втором же случае указатель на block_device (s_bdev) внутри super_block (mnt_sb) вообще может быть null (выяснилось после нескольких падений при попытке проверки флагов).

В итоге я не смог вытащить не только тип устройства, но и вообще само устройство.

Сейчас другим способом (костыль тот еще) получаю только имя устройства, при каждом изменении mtab, вытаскиваю из него список устройств с точкой монтирования. Но и имея имя устройства вида /dev/sdd1, не могу определить является ли оно съемным или нет.

Помогите пожалуйста советом, а если бы кто подкинул алгоритм вида

1. Получаем имя устройства из current->fs->...
2. Хэндл устройства через devfs_find_handle()
3. Флаги устройства через devfs_get_flags()
4. Проверяем флаг DEVFS_FL_REMOVABLE

То я... скажу ОГРОМНОЕ человеческое спасибо.

 ,

AnMakc
()

RSS подписка на новые темы