Работаем с коботом Dobot M1

Год назад на Хабре выходил обзор настольного робота Dobot Magician. В этой статье я предлагаю оценить его старшего брата Dobot M1 в действии. Также я попытаюсь объяснить, почему для своего проекта выбрал именно данную модель, опишу процесс разработки демки в Qt/c++, а также некоторые неприятные моменты, с которыми столкнулся в процессе разработки.

Введение

В этом году я работал в одном самом обычном исследовательском институте. Поначалу все было довольно буднично, и год не обещал ничего интересного, пока однажды на митинге не началось обсуждение как сделать черепичную сборку солнечных элементов (shingled solar cells). В этом подходе нет ничего нового, говорят, это один из первых способов сборки панелей для космических спутников.

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

Надо отметить, что мы решили начать попроще и собирать мини-панели. Мини-панель это любая солнечная панель, которая меньше стандартной. Мы так делаем для отработки техпроцессов. Я ориентировался сначала на панели размером в 1 стандартный солнечный элемент с планами масштабирования до панели размером 2 х 2. Размер стороны одного солнечного элемента это 16 см. Соответственно, роботы нужны были с полем доступа 32 х 32 см. Точность хотелось поточнее, а цену подешевле. Так, вооружившись поисковой строкой, я начал изучать предложения. Решил, что 6 осей для проекта не нужно, хватит и 4-х, поэтому выбор сузился до роботов типа скара. Выяснил, что покупка промышленных роботов сопровождается дополнительными тратами, как проектирование безопасного рабочего пространства и выездом application engineer на место установки, который программирует робота под вашу задачу. Хорошие промышленные роботы в принципе дорогие, а услуги инженеров повысят ценник еще больше, более того, было интересно реализовать проект самому. Посему выбор сузился до коботов, коллаборативных роботов, с пониженными требованиями по безопасности и более дружелюбными для самостоятельного прототипирования. Так, я довольно быстро нашел компанию Добот. Dobot Magician я сразу же отбросил из-за размеров и точности, которая 100 мкм. Написал им запрос, чтобы дали спеки и сказали, где купить. Я выяснил что с доботами идут АПИ и их можно программировать на с++. Меня это устроило, но просто напрямую купить не вышло. К счастью, я нашел одного поставщика в Голландии, который продал мне 2 штуки за 8700 евро с ндс, с доставкой из Китая и при том взял на себя все таможенное оформление.

Фичи добота

Добот М1 позиционируется как доступный профессиональный 4-х осевой коллаборативный робот. Он может выдержать до 1.5 кг нагрузки (не проверял), имеет радиус действия до 400 мм (не везде) и точность до 20 мкм (проверял). Рабочее пространство добота видно из рисунка ниже. Не сложно заметить, что из-за особенностей дизайна есть слепая зона с радиусом чуть меньше 15 сантиметров спереди. Более того, данная карта пространства не учитывает ориентацию руки. Добот может быть или правшой или левшой, я так и не разобрался, как это можно переключать на ходу без проведения дополнительной калибровки. По умолчанию добот правша, а это значит что правая зона ограничена областью доступа 2-го сустава, когда первый сустав направлен вправо. Так что реальная область рабочего пространства что-то около 2/3 от того, что представлено на официальном рисунке.

У добота есть порты ввода-вывода: цифровые входы и выходы с уровнями на 24 В (по умолчанию уровни высокие), а также аналоговые входы. Что там за АЦП я не знаю. Порты доступны на задней панели в подставке и на самой руке для работы с насадками. На самой руке разъем я сфотографировать забыл, но он типа ВГА. Также имеется интерфейс расширения, под который можно докупить дополнительную плату. Добот подключается к ПК посредством РС-232 или по сети.

Материалы изготовления корпуса: поликарбонат, судя по всему, плюс металлическая подставка, покрашенная в черный цвет. Ощущение премиальности данная конструкция не вызывает, но и ощущения кустарности тоже. Я покупал один в полной комплектации, а один в базовой. Лазерную насадку и 3д печать я не тестировал.

Для проверки работоспособности добота я использовал программу М1Студия под виндовс, которая загружается с сайта компании. Но на этом всё. Дальше, вооружившись апи, Qt и рабочей станцией с элементари ос, я сел писать демку для работы с несколькими доботами.

Пишем демку

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

Первым делом был использован метод SearchDobot() из апи, который ничего не выдавал под линухами, а в виндовс работал только если доботы были подключены по РС-232. Странно, потому что М1Студия прекрасно определяет доботов по сети. При известных ип-адресах метод ConnectDobot() работает прекрасно. Ничего страшного, подумал я, настрою роутер и да будет ип-адрес привязан к маку. На следующий день я удивился тому факту, что доботы не реагируют. Выяснилось, что при включении добот имеет рандомный мак-адрес. Это такая фича прошивки, которую пофиксили в новой версии в мае, но которую я, правда, побоялся устанавливать.

Вооружившись программой для анализа сетевых пакетов, я выяснил, что доботы отзываются на удп запрос в порт 6000 с текстом «WhoisDobotM1» удп ответом с текстом, содержащим модельный номер добота. На основе этого был написан собственный метод, который отправляет запросы по всей подсети, и в случае ответа инициализирует добота.

void MainWindow::on_buttonSearch_clicked() {     QHostAddress host;      QList<QHostAddress> list = QNetworkInterface::allAddresses();     for (int i=0; i<list.count(); i++) {         if ((!list.at(i).isLoopback()) && (list.at(i).protocol() == QAbstractSocket::IPv4Protocol))             host = list.at(i);     }      QString subnet = host.toString().section('.',0,2) + ".";      QByteArray data = "WhoisDobotM1";      QUdpSocket udpSocketSend;      udpSocketSend.writeDatagram(data);//need tocall it otherwise in Win get socket doesn't open     udpSocketSend.bind(host, 54321, QAbstractSocket::ShareAddress);      udpSocketGet.bind(host, udpSocketSend.localPort(), QAbstractSocket::ShareAddress);     connect(&udpSocketGet, &QUdpSocket::readyRead, this, &MainWindow::readUdpData);      for (int i=1; i<255; i++)         udpSocketSend.writeDatagram(data, 32, QHostAddress(subnet + QString::number(i)), 6000); } 

void MainWindow::readUdpData() {     while (udpSocketGet.hasPendingDatagrams()) {         QNetworkDatagram data = udpSocketGet.receiveDatagram();         QByteArray ip = data.senderAddress().toString().toUtf8();         QString name = QString(data.data()).section('_',0,0); // cuts "dobotM1" from "dobotM1_Dobot M1_0033\x00"         if (name == "dobotM1") {             MyDobot* a = new MyDobot();             dobot->push_back(a);             dobot->last()->initDobot(ip);             ui->listDobots->addItem(ip);             on_listDobots_activated(ui->listDobots->currentIndex());         }     } } 

Интерфейс демки довольно прост и представлен на картинке ниже.

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

class MyDobot : public QObject {     Q_OBJECT  public:     explicit MyDobot(QObject *parent = nullptr);     ~MyDobot();     void initDobot(QByteArray IPaddress);     Pose getCurrentPosition();      void goHomeSafe();     void goHome();     void goSafe();     void goPosition(float x, float y, float z, float r);     void goPositionStraight(float x, float y, float z, float r);     void goJog(int index);      void setAirPump(int status, int direction); //status 1 off 0 on; direction 0 suck 1 push     void setOutput(uint8_t address, uint8_t level);     void setMotor(int velocity, int acceleration);      alarmState getAlarms();     void clearAlarms();     void clearQueue();      QString getName();  public slots:  private:     char deviceSN[64];     char deviceName[64];     QByteArray thisDobotIP;     Pose currentPosition, futurePosition; }; 

Я решил использовать вектор с элементами моего класса для управления доботами, когда их число больше 1. В каждом элементе вектора есть переменная, которая хранит ип-адрес добота. Т.к. библиотека одна, а доботов несколько, то в каждом методе класса сначала необходимо вызывать метод подключения к конкретному доботу. Возможно, выглядит кривовато, но это все под капотом, и потом с этим классом работать очень удобно.

void MyDobot::setAirPump(int status, int direction) {     ConnectDobot(thisDobotIP, 115200, nullptr, nullptr); ... 

Движение от точки к точке в АПИ добота реализовано несколькими методами: по прямой, по кривой, и еще каким-то, который я не помню. На рисунке ниже видны две траектории движения между 2 точками. Одна это прямая линия, которая при должной калибровке устройства не раздваивается при движении взад-вперед. Вторая траектория это кривая линия, которую вы получите, потому что прошивка добота последовательно подстраивает моторы, для достижения нужной координаты. Надо отметить, что движение по прямой возможно не всегда, некоторые положения суставов не дают возможности достичь из точки А в точку Б по прямой.

Мониторинг положения добота реализован с помощью класса Qtimer, чей сигнал Qtimer::timeout привязан к моему методу MainWindow::on_getPoseTimer. Надо признаться, это так себе решение, потому что отзывчивая работа приложения с доботами возможна только если поставить таймаут 1000 мс. При более коротких таймингах начинают чувствоваться подлагивания при управлении доботами. Я заметил, что иногда добот может некоторое время потупить при получении команды, и если отправлять команды довольно часто, то вероятность попасть на потупить повышается. Возможно, виной всему постоянный вызов ConnectDobot, который может показаться излишним в данной демке, но демка писалась параллельно с основным проектом, а в основном проекте мне такая реализация очень нужна. Тем не менее, для мониторинга подключение не вызывается каждый раз, а проблема с подвисанием остается. Таймаут в 1 с, к сожалению, не дает такого плавного измерения положения добота в пространстве, которое, например, реализовано в М1Студия, но, с, другой стороны, это не важно.

В том же методе происходит и запрос на наличие ошибок. В апи добота передача кода ошибки реализована через структуру AlarmState.

struct alarmState {     uint8_t value[32]; }; 

Эта структура есть массив 8-битных элементов, и код ошибки закодирован в двоичном представлении одного из или нескольких элементов массива. Чтобы вычислить код ошибки нужно найти “1” в элементе и прибавить номер ее (единицы) разряда к 8*н элементов (содержащих или не содержащих другие ошибки) до него в массиве value. Да, ошибок одновременно может быть больше одной. Далее код ошибки нужно найти в документе, который доступен для загрузки на сайте производителя. Содержание пдфки было скопировано в текстовый файл, который прикручен к проекту как ресурс. Если код ошибки отличается от 8*32 (т.е. нет ошибки), то этот код появляется в поле ошибок и по нажатию на кнопку Alarm его описание парсится в файле, после чего выводится в текстовое поле. Кстати раскодировка ошибок и парсинг сделаны вне класса для управления доботами. Что сейчас мне кажется не совсем правильной идеей.

В комплекте с доботом идет воздушный насос, который в руководстве по эксплуатации предлагают подключить к цифровым выходам 17 и 18. Один выход управляет включением/выключением насоса, а второй — направлением движения воздуха. Таким образом, например, приводится в действие пневматический захват, который также поставляется в комплекте.

Косяки

В процессе эксплуатирования доботов я столкнулся с некоторыми неприятностями.

  1. Отверстия в подставке не сделаны под шаг отверстий в стандартной оптической макетке. С другой стороны, один раз, когда по ошибке мои доботы столкнулись друг с другом, один из них просто прокрутился вокруг оси крепежного болта, что, я думаю, позволило избежать сильных повреждений.
  2. Из 1-го пункта вытекает второй. После столкновения доботов, их оси сместились. Это было не страшно сначала, т. к. я написал метод калибровки осей доботов относительно камеры. Страшное произошло в пункте 3.
  3. Вертикальная ось тоже сместилась и теперь нормаль у меня не нормальная. Это можно задетектить камерой, если начертить доботами два перпендикуляра. Можно убедиться что из-за скошенной вертикали добот чертит ручкой теперь не его истинные оси Х и У, а их проекции. А проекции эти могут иметь угол меньше 90 градусов. В реальности это приводит к небольшой ошибке совмещений. С другой стороны, это не так страшно, потому что ошибка линейна.
  4. Прошивка доботов в принципе ок. Был небольшой косяк с мак-адресом, есть некоторые проблемы с ожиданием ответов на удп запросы, но в остальном нормально работать получается.
  5. В конструкции предусмотрена батарейка, которая нужна для сохранения последних координат после выключения добота. Когда батарейка дохнет, напряжение на ней понижается, что приводит к стиранию этих данных. Из-за этого добот загружается в состояние с ошибками. Чтобы вывести из этих состояний, нужно сначала вызвать метод очистки сообщений ошибок, а потом вызвать метод поиска «домашнего» положения. Можно заменить батарейку, благо таковая имеется в комплекте. Однако батарейка спрятана в подставке, и чтобы добраться до нее нужно было открутить 4 болта. Шлиц одного из них сбит.
  6. В своем проекте я использовал 3 листа стекла, чтобы повысить уровень столика. Так себе решение, потому что стекла кривые. Дело в том что добот начинает выдавать ошибки, когда его вертикальная ось имеет значение меньше 15 мм, и вроде бы не все функции доступны. Так что нужно, чтобы рабочее пространство было расположено чуть выше плоскости крепления доботов.

Заключение

Добот позволил мне реализовать проект по сборке солнечных элементов в черепичную мини панельку, что можно наблюдать на видео. Точность позиционирования проверялась на тех же кремниевых пластинках и была в пределе 1 пикселя по одной оси и 10 пикселей в другой. Камера в этом проекте использовалась с разрешением 20 МП, а поле охвата камеры по длинной стороне было около 17 см, не сложно посчитать что 1 пиксель соответствовал линейному размеру примерно в 30 мкм. Так уж вышло, что используемая оптика, пусть и качественная, позволяет наблюдать четко кремниевые пластины только в их центре, тогда как края пластин становятся сильно размытыми, что приводит к неопределенности в определении их граней вдоль коротких сторон, и соответственно к неопределенности определения центра пластинки. После калибровки осей я выставлял фокус камеры именно на короткие стороны пластин. Надо отметить, что там в принципе нельзя было сфокусироваться как в центре поля зрения, но все же. Из-за этого эффекта ошибка позиционирования по оси вдоль длинной стороны солнечного элемента была в пределе 10 пикселей, зато по короткой стороне всего 1 пиксель. Что соответствует примерно 300 и 30 мкм. Это позволило мне убедиться в честности спеков по точности.


ссылка на оригинал статьи https://habr.com/ru/post/467407/

Lyft запускает соревнование по по распознаванию объектов в 3D

image

Один из важнейших игроков на рынке беспилотных автомобилей на днях запустил на платформе Kaggle первое соревнование по по распознаванию объектов с 3D м призовым фондом $25000. Срок соревнования 2 месяца. Официальная статистика уже говорит о 35 участниках и 45 сабмитах.

Целью соревнования является дать толчок к исследованию серьезной и непростой задачи для беспилотных автомобилей — по распознавание объектов в 3D. Обычно исследования в данной сфере проходят за закрытыми дверями в специализированных научных учреждениях. Организаторы соревнования стремятся понизить техническую планку для вхождения желающих в эту специфическую область и дать возможность более широкой аудитории принять участие в решении непростых задач и создании новых инноваций в сфере беспилотного транспорта.

Данное соревнование кажется интересным, поскольку дает возможность взглянуть на передовые решения одной из самых актуальных проблем на текущий момент воочию и попробовать свои силы в решении этой проблемы. Для проведения экспериментов организаторы предоставили доступ к крупномасштабному набору реальных сырых данных с датчиков, полученных многочисленной флотилией беспилотных автомобилей компании в ограниченной географической области. Данные включают данные лидара, карту, изображение с камеры. Нужно предсказать трехмерные ограничивающие «коробки» (bounding volumes) и классы всех объектов в сцене.

Принять участие в соревновании может любой желающий. Всем заинтересовавшимся в соревновании желаю удачи в участии и новых достижений!


ссылка на оригинал статьи https://habr.com/ru/post/467405/

Ты — Изгой

Привет, обращаюсь к тебе, к так называемому программисту.
Как дела твои? Чествуешь ли ты ответственность за происходящее вокруг? Когда общаешься с женой/девушкой/детьми/родными? Когда общаешься с продавщицей? Когда общаешься с кондуктором? Когда тебя проверяют в аэропорту? Когда ты пытаешься снять себе очередную квартиру? Когда машины с беспилотником сбивают людей?
Твоя надежда на понимание течения твоих мыслей — бессмысленна! Как бессмысленно разговаривать с китами на языке дельфинов! «С днем программиста» — подумаешь ты, выпив пива. И в правду забыв себе сказать: «Из твоего окружения тебя понимает лишь толика!»
Тебя не замечают в прошивке роутеров, тебя не замечают в компьютерах, в операционных системах, в холодильнике, в микроволновке, тебя не замечают в телефонах, ты — zero. Прими это.
Если ты стоя в общественном транспорте видишь человека, у которого не открылся сайт — ты виноват!
Если ты стоишь перед банкоматом, и человек не смог снять денег — ты виноват!
Если человек не смог заплатить налоги — ты виноват!
Если ты, придя в гости, слышишь «ооо, этож программист, давай ка подчини миксер!»
Если ты стоя в магазине пятый в очереди думаешь «Как так? Ну неужели не понятно, что вон та кнопка!» — ты виноват!
Если поезда\машины сходят с пути — ты виноват!
Если самолёты столкнулись — ты виноват!
Если утка не долетела до юга из-за сбоя навигационной системы, из-за wi-fi — ты виноват!

Скажу тебе правду, Zero — твой новый ник!


ссылка на оригинал статьи https://habr.com/ru/post/467411/

Habr Special #18 / Новые гаджеты Apple, полностью модульный смартфон, деревня программистов в Беларуси, феномен XY

В этом выпуске:


Во время разговора мы упоминали (или очень хотели) эти материалы:


Где еще можно послушать:

  1. Эппл-подкасты
  2. Спотифай
  3. Саундклауд
  4. Яндекс-музыка
  5. ВК
  6. Ютуб
  7. Оверкаст
  8. Покеткаст
  9. Кастбокс
  10. Гугл-подкасты
  11. РСС


Участники

  • Иван Звягин, baragol
  • Адель Мубаракшин, exr
  • Николай Землянский, klauss_z
  • Далер Алиёров, daleraliyorov

Звукорежиссер
Сергей Дмитриев

Продюсер
Лев Пикалёв


Подкаст сделан при помощи «Подкастерской».


Прошлые выпуски


Делитесь в комментариях своими впечатлениями, критикой, пожеланиями, любимыми подкастами. Это здорово нам поможет. И присоединяйтесь в чатик обсудить новости недели с другими слушателями подкаста.



ссылка на оригинал статьи https://habr.com/ru/company/habr/blog/467395/

Приносить нельзя запретить: как реализовать концепцию BYOD и не нанести ущерба информационной безопасности

image

С каждым годом всё больше компаний в том или ином виде внедряют у себя концепцию BYOD. По данным исследования Global Market Insights к 2022 году объём рынок BYOD превысит 366 млрд долларов, а Cisco сообщает, что 95% организаций в том или ином виде допускает использование личных устройств на рабочих местах, причём такой подход позволяет экономить 350 долларов в год в расчёте на сотрудника. Одновременно BYOD создаёт множество сложностей для ИТ-службы и массу разнообразных рисков для компании.

Возможность выполнять рабочие задачи с помощью собственных гаджетов многие воспринимают как элемент свободы, прогрессивного подхода к взаимоотношениям компания-сотрудник и вообще типичный пример стратегии win-win. В целом нет никаких причин сомневаться: сотрудник с удовольствием использует для решения задач оборудование, которое выбрал сам, а компания получает сотрудника, который всегда на связи и выполняет работу даже в нерабочее время. По данным Frost & Sullivan, BYOD добавляет к рабочему времени сотрудников до 58 минут в день и увеличивает продуктивность на 34%.
Несмотря на все преимущества BYOD порождает проблемы — проблемы несовместимости и своевременной установки обновлений безопасности, кражи и поломки личных устройств. И это лишь небольшая часть головной боли, которую приходится терпеть во имя удобства. О том, как решить эти проблемы, сохранив баланс между безопасностью и эффективностью, поговорим в этом посте.

BYOD
Расшифровывается как Bring Your Own Device, или «принеси своё устройство». В 2004 году VoIP-провайдер BroadVoice предложил подключать к своей сети оборудование клиентов и обозначил такой способ как BYOD. В 2009 Intel «обновила» понятие BYOD, несколько расширив его значение. С лёгкой руки Intel термин стал означать использование сотрудниками компаний личных устройств для решения бизнес-задач.
Поскольку строгого определения BYOD нет, в разных организациях эту концепцию могут понимать по-разному. Например, некоторые компании разрешают сотрудникам использовать личные устройства для решения рабочих вопросов, но все расходы на связь и ремонт сотрудник несёт сам. Другие компании компенсируют эти затраты, либо подключают работников к корпоративному договору.
Поскольку в случае BYOD компания не выбирает устройства, которые используют сотрудники, в полный рост встаёт проблема совместимости. Устранить её, заодно решив вопросы финансово-правового характера, позволяет CYOD — ещё одна подобная BYOD концепция.

CYOD
Аббревиатура CYOD расшифровывается как Choose Your Own Device — «выбери своё устройство». В рамках этой концепции сотрудник может выбрать из перечня типовых устройств то, которое наилучшим образом позволит ему решать его задачи. В зависимости от корпоративной политики CYOD может разрешать или запрещать использование корпоративных устройств для личных целей.

COPE
Этот термин расшифровывается как Corporate-Owned, Personally Enabled и означает, что выбранные сотрудником устройства приобретаются компанией, но их настройкой и обслуживанием он занимается сам. Как правило, COPE предполагает и возможность использования устройства в личных целях.

РОСE
POCE — Personally owned, company enabled, «куплено сотрудником, разрешено в компании». По сути, это просто ещё одно название для BYOD.

Преимущества BYOD


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

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

Риски и угрозы BYOD


Риски, связанные с BYOD — закономерное следствие преимуществ концепции. Чем больше свободы получают сотрудники, использующие личные устройства для взаимодействия с сетью компании, тем больший потенциальный ущерб они могут нанести.

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

Уязвимости и вредоносное ПО
Очевидно, что сотрудники, работающие по схеме BYOD, будут использовать свои устройства для решения не только рабочих, но и личных задач. Завершив работу, они будут смотреть онлайн-видео, искать рефераты для детей и играть в игры, скачанные с торрент-трекеров. И с ненулевой вероятностью то же будут делать их дети.
Результат такого легкомыслия, как правило, не слишком вдохновляет: на устройстве появляются вредоносные программы — шпионы, шифровальщики и бэкдоры. При подключении к корпоративной сети весь набор малвари будет искать себе новые жертвы. И не исключено, что найдёт. Но и без этого похищенные логины, пароли и реквизиты корпоративных банковских карт не принесут пользы.
Даже если сотрудник ведёт себя ответственно, не посещает подозрительные сайты и не скачивает пиратский софт, остаётся проблема фишинговых писем, а также поддержание ОС и программ в актуальном состоянии. Используя известные уязвимости, вредоносы могут проникнуть на устройство самостоятельно либо с минимальным участием пользователя, щёлкнувшего по ссылке в письме, очень похожем на обычное письмо контрагента.

Мобильность как проблема
Разъездной характер использования оборудования в рамках BYOD означает не только повышенный риск лишиться любимого гаджета, но и риски, связанные с конфиденциальностью. Любители работать в кофейнях и других публичных местах не принимают во внимание тот факт, что
• они находятся в поле зрения посторонних людей и камер видеонаблюдения, а это значит, что пароли, которые они вводят, и документы, с которыми работают, оказываются достоянием посторонних;
• использование общедоступных сетей Wi-Fi в аэропортах и отелях несёт риск того, что передаваемая информация будет перехвачена, либо на устройство проникнет вредоносный скрипт;
• активное использование мобильного интернета в роуминге может привести к финансовым потерям.

Как защититься?


Риски, которые создаёт BYOD, невозможно полностью исключить. Но сочетая организационные и технические мероприятия, можно минимизировать или даже полностью исключить ущерб. В качестве основных способов обеспечения безопасности BYOD выделяют виртуализацию, управление мобильными устройствами, приложениями и данными, а также интеллектуальные системы защиты конечных точек.

Виртуализация
Прелесть этой технологии в том, устройство пользователя задействуется исключительно для получения доступа к виртуальному рабочему месту. Все документы и программы также располагаются там же и не копируются на устройство. Обслуживанием виртуальных рабочих мест занимаются ИТ-специалисты компании, поэтому всё, что требуется от сотрудника — держать в секрете реквизиты для доступа к корпоративной сети. Это не поможет, если на устройство проникнет шпионская программа, но исключит утечку данных при краже.

MDM, MCM, MAM и другие системы управления мобильными устройствами
Системы управления мобильными устройствами позволяют централизованно управлять всем BYOD-зоопарком, задавая ограничения на документы, на ресурсы, к которым пользователь имеет доступ и на операции, которые он может выполнять при подключении к корпоративной сети.
Например, инструмент Microsoft Intune поддерживает устройства на базе Windows, macOS, iOS, Android и позволяет администраторам:
• автоматически удалить корпоративные данные, если устройство не подключается к службе в течение заданного времени;
• установить запрет на сохранение корпоративной информации в любые расположения, кроме «OneDrive для бизнеса»;
• запросить ПИН-код или отпечаток пальца для доступа к приложениям Office;
• запретить копирование корпоративных данных из Office в личные приложения.
Подобные решения для управления мобильными устройствами предлагают Apple (Apple MDM), Citrix — XenMobile, Cisco — Meraki, Trend Micro — Enterprise Mobile Security и ряд независимых производителей.

Защита BYOD
Даже самое продвинутое управление не поможет, если на устройство проникнет малварь, поэтому в случае с BYOD в качестве обязательного компонента стоит использовать защитные решения класса XDR (X Detection and Response, где X соответствует разнообразным корпоративным средам). Такие системы способны обнаружить и помочь остановить неизвестные угрозы, обеспечивая мониторинг всех информационных систем на предприятии. Подход к XDR Trend Micro включает в себя подсистему EDR (Trend Micro Apex One), которая формирует многоуровневую защиту конечных устройств, а также сетевые продукты семейства Deep Discovery, позволяющие выявлять угрозы на узлах без агентов безопасности.

Что в итоге


Неконтролируемое применение BYOD может создать компаниям огромные проблемы. Чтобы в полной мере почувствовать все преимущества использования личных устройств для решения задач бизнеса, необходимо учитывать риски и защищать сетевой периметр и устройства пользователей. Дополнительный уровень защиты обеспечит разработка и внедрение в повседневную практику политики безопасности, на которую могут ориентироваться пользователи в процессе работы.


ссылка на оригинал статьи https://habr.com/ru/company/trendmicro/blog/467399/