Мониторинг здоровья электрическими устройствами
Небезопасность и ненадежность интернета вещей. Специфика медицинских систем мониторинга в сетях IOT. Высокоуровневая архитектура системы Medicus. Детали реализации обработки внешних данных. Безопасность IOT устройств. Меры защиты персональных данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.07.2016 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Из барометрической формулы
где M - молярная масса воздуха 0,02896 кг/моль
R - универсальная газовая постоянная 8,3143 Дж/К*моль
g - ускорение свободного падения, 9,807 м/с^2T - абсолютная температура, К
получим:
Получив высоту, сможем посчитать нормальное давление и нормальный интервал. Давление будет считаться нормальным, если будет удовлетворять неравенству
В случае обнаружения ненормальных погодных условий система должна уведомить пользователя об этом. В данном случае в качестве уведомления будем использовать выделение цветом ненормального значения.
Собирая данные о погоде, система мониторинга параметров здоровья человека может не только предупреждать пользователя о неблагоприятных погодных явлениях, но и анализируя показатели здоровья человека вкупе с данными о погоде, находить явные и неявные зависимости по этим данным. Основываясь на таких зависимостях, впоследствии система сможет вырабатывать персонализированные рекомендации. Информация о подобных зависимостях очень ценна в первую очередь для пользователя, так как она поможет ему лучше контролировать своё здоровье, а в некоторых случаях может даже свидетельствовать о наличии каких-то заболеваний.
На данном этапе, модуль аналитики находится в разработке и функционирует на стороне сервера, но уже существует аналитика по данным от календаря здорового человека. Данный модуль будет и дальше развиваться, так как имеет большой потенциал применимости и большую ценность для системы мониторинга здоровья человека.
Возможные проблемы на этапе реализации
1. Нехватка памяти.
Большое приложение требует от устройства большое количество ресурсов. Учитывая особенность реализации - разработку под мобильную платформу, здесь эта проблема встает особенно остро.
2. Особенности системы андроид. Операционная система андроид может остановиться сервис или вообще не дать сервису возможность стартовать автоматически. Всё зависит от предустановки системы и настроек пользователя.
3. Пересоздание приложения в случае нехватки памяти или в случае долгого пребывания приложения в списке открытых приложений может быть проведено в ином режиме, чем при обычном старте приложения. Приложение будет создано с последней открытой активности и критические важные этап инициализации, которые находятся в других активностях, будут пропущены.
4. Зависимость от портала. В процессе работы мобильное приложение получает большое количество разнородных данных пользователей. В таком случае есть риск появления ошибок в работе приложения в случае отказа сервера или изменения API
Постановка задачи
1. Определить функции устройства.
2. Определить какого рода информацию можно получать с таких устройств
3. Исследовать API
4. Собственными средствами или используя сторонние библиотеки попытаться получить данные с такого устройства
5. Изучить средства обеспечения безопасности
Определение функций устройства
1. Подсчет пройденных шагов, расстояния.
2. Подсчет время сна и разделение на фазы быстрого и медленного сна.
3. Функция «умного» будильника, который будет пользователя в режиме быстрого сна в интервале 30 минут от запланированного времени пробуждения.
4. Хранение всех данных на устройстве. Хранение данных максимум за 13 дней в памяти устройства и вохможность синхронизации с устройствами на базе Android 4.4 и выше и Iphone Apple 5 и выше.
5. Два режима работы пульсометра: мануальный и автоматический. В мануальном режиме пользователю необходимо одеть браслет и с помощью мобильного приложения и подключенного устройства активировать функцию измерения пульса. В автоматическом режиме во время пробежки нужно активировать режим Heart Rate и устройство начнёт собирать данные без участия пользователя. Замеры осуществляются с интервалом в 30 секунд, после тренировки браслет выдаст средний пульс.
Определение информации, получаемой от браслета.
Опираясь на функции браслета и существующее мобильное приложение, созданное разработчиками браслета, можно составить следующие предположения:
1. Информацию об активности, т.е. о пройденном количестве шагов браслет считает, связывая их в определенными промежутками времени. Определить длину одного промежутка затруднительно. Вероятнее всего промежутки, создаваемые браслетом имеют различную длину и создаются, основываясь на текущей активности: отсутствие активности, шаг, быстрый шаг, без и т.д.
2. Информация о сне так же поступает от браслета в виде промежутков быстрого, медленного сна или пробуждения.
3. Учитывая, что есть функция измерения пульса, то от браслета можно получить данные в каком-то виде: либо в виде массива данных, собранных за определенное время, либо в виде непосредственного результата измерения пульса.
4. Данные об устройстве (прошивка и т.д.)
5. Может быть есть возможность получить данные о пользователе (рост, вес, возраст и т.д.)
6. Данные о сохранённых будильниках
Исследование API
Данное устройство достаточно успешно продается и есть сведения о том, что первая версия фитнес трекера разошлась тиражом в 1 миллион экземпляров за первые 100 дней продаж. Тем не менее на официальном сайте Xiaomi и в других интернет источниках достоверного API для данного устройства в процессе исследования не найдено. Частичное описание протокола и несколько примеров взаимодействия с устройством можно найти в статье Paul Gavrikov [45]. Очевидно, что этих данных недостаточно, чтобы разработать приложение, использующее все функции данного устройства.
Так же есть несколько некоммерческих проектов разного уровня сложности и законченности. На одном из крупнейших хостингов IT-проектов GitHub были найдены следующие проекты:
1. MiBand-decompiled - это декомпилированный код первой версии официального приложения. В описании проекта есть информация о том, что данный проект можно запустить, но после запуска на моменте логина происходит ошибка, в результате которой приложение завершается. Более того, эта версия приложения ориентирована на первую версию браслета, поэтому устройство Xiaomi Mi1S может быть не совместимо с данным приложением. Последнее обновление проекта было в мае 2015 года.
2. pangliang/miband-sdk-android - библиотека для работы с Xiaomi MI1S. Главные плюс данного решения - возможность подключить к своему проекту в виде отдельного модуля. Библиотека довольно простая и понятная, легко поддается редактированию при необходимости. Все методы коммуникации с браслетом ассинхронные. Тем не менее некоторые функции не работают, а некоторые функции вообще отсутствуют. Данная библиотека может использоваться только для знакомства с устройством, использование в серьезном коммерческом проекте невозможно из-за неполной и некачественной реализации.
3. Gadget-bridge - полноценный серьезный проект, который дает конечному пользователю возможность пользоваться всеми функциями своего устройства, не используя при этом официальное приложение с закрытым кодом. Следует отметить, что проект работает не только с устройствами Xiaomi Mi и Xiaomi MI1S, но и с устройствами Pebble. В описании указаны 3 разработчика проекта. Просматривая исходный код можно составить твердое убеждение о том, что это грамотные разработчики с хорошими знаниями Android и навыками работы с Bluetooth. Тем не менее применить какие-то наработки из этого проекта довольно сложно. Размеры проекта велики, в коде множество зависимостей. Более того, доступ к данным активности (сюда относятся данные о пройденных шагах в определенные периоды времени и данные о сне) довольно непростой.
В результате поиска API и анализа существующих проектов, можно сделать следующие выводы:
1. Открытого API нет. Вместо этого есть несколько статей, частично описывающих API. Так как авторами этих статей являются третьи лица, то нет уверенности в достоверности предоставленных данных.
2. Есть некоторое количество наработок для данного устройства. Все они представляют собой либо полноценные проекты и заимствование кода из таких сложных проектов по времени и сложности почти равносильно самостоятельной разработке, либо полупрофессиональные библиотеки, неподдерживающие и половину функций устройства или не работающие вообще.
Тем не менее в проекте Медикус появились функции доступа и коммуникации с данным устройством. Частично они реализованы, используя библиотеку pangliang, описанную выше. Код библиотеки был переработан, так как данный проект был ориентирован на первую версию фитнес трекера. Без особого труда удалось:
· Получить информацию о заряде батареи
· Получить общее количество пройденных шагов за день
· Измерить пульс
· Установить вибрацию
Для доступа к данным, содержащимся на устройстве, достаточно просто установить с устройством Bluetooth соединение и начать чтение и запись данных. Единственное что может служить барьером для получения данных с устройства - отсутствие открытого API. Это ставит перед разработчиком достаточно сложную на первый взгляд проблему: нет информации о том, в каком виде следует записывать данные на устройство и в каком виде эти данные будут получены. Получая поток байт догадаться о том, как правильно интерпретировать эти данные невозможно. Тем не менее используя наработки других разработчиков, можно получать самые разные данные, программировать будильники, заставлять устройство вибрировать и многое другое.
Еще одна отличительная особенность данного устройства, играющая не в пользу безопасности - после синхронизации данных активности, они удаляются из памяти устройства. Поэтому если какой-то злоумышленник напишет приложение, позволяющее соединится с устройством, сможет украсть и стереть данные об активности пользователя, а затем довольно быстро посадить заряд батареи, запустив долгую повторяющуюся вибрацию на фитнес трекере. В данном случае отсутствие дисплея еще больше усугубляет проблему небезопасности. При синхронизации любых данных, браслет никак не оповещает пользователя, поэтому данные будут украдены, быстро, незаметно и без возможности восстановления.
На примере этого устройства, которое пользуется большой популярностью в мире, можно сделать вывод о том, что производитель не заботится о безопасности и как это не печально обеспечивает минимальную защиту только тем, что не открывает API. Производитель пытается как можно быстрее дать ответ на резко возросший спрос на носимую электронику в области здоровья и спорта, поэтому выпускает устройства с низкой степенью защиты и множеством ошибок в сопутствующем софте. Разрабатывать софт для таких умных устройств чрезвычайно сложно, так как средства коммуникации для устройств не стандартизированы, а привязываться к одному конкретному устройству рискованно - в любой момент времени API может быть изменен.
Сделав шаг на пути к стандартизации и безопасности умных устройств, информационное общество стимулирует скачек в развитии здравоохранения.
9. Безопасность IoT устройств и сетей
В результате данного проекта проведено исследование по вопросам безопасности в сфере IoT устройств и сетей. Приведены и описаны наиболее распространенные уязвимости в этой области, описаны потенциальные эффекты и риски, являющиеся следствием недостаточной защищенности IoT устройств и сетей. Основная ответственность по обеспечению безопасности лежит в первую очередь на производителях таких устройств. Но из-за повышения сложности и стоимости не все производители разрабатывают устройства с должным уровнем безопасности. На сегодняшний день низкая стоимость - главное конкурентное преимущество на рынке «умных» устройств. Вероятно, из-за отсутствия отрицательного опыта использования таких устройств или какого-либо опыта в принципе конечный потребитель не осознает все возможные риски от использования небезопасных устройств. Поэтому сейчас назрела необходимость создания правового регулирования, которое в свою очередь должно оказать давление на эту сферу IT и побудить производителей следовать рекомендациям для обеспечения безопасности в IoT устройствах и сетях.
В результате данной разработки было создано несколько модулей в мобильном приложении Medicus. Шагомер - это безопасная реализация коммуникации с аппаратным датчиком акселерометра с целью сбора данных об активности пользователя. Шагомер, как было описано ранее, работает в двух режимах: со сбором данных с аппаратного шагомера, если таковой поддерживается конкретным устройством, а также сбор данных непосредственно от датчика акселерометра. Так же реализован простой и интуитивно понятный интерфейс пользователя, состоящий из нескольких активностей. В главном окне шагомере есть 2 вкладки - вкладка текущих результатов работы шагомера и вкладка, на которой можно просматривать статистику, отраженную в виде графиков. Первая вкладка позволяет просматривать в реальном времени накопление шагов, изменение скорости движения, расстояния, увеличение израсходованных калорий и времени, а также текущее количество шагов и соответствие, установленной цели. (рис. 4) Информация в графиках представлена за 1неделю, месяц и год. (рис. 5)
Для корректного подсчета шагов, калорий и расстояния шагомер использует настройки. В настройках можно установить вес, рост и ежедневную цель для шагомера.
В результате тестирования шагомера установлено, что на устройствах Sony Xperia Z1 compact, Asus Tramsformer Pad TF300TG, Sony Xperia m, работает точно даже при выключенном экране, а так же при выключенном приложении Medicus и работающем сервисе в бэкграунде.
Рис. 5.
Рис. 6.
Сервис погоды реализован, как часть календаря здорового человека. Помимо логики обработки получаемых данных о давлении, температуре воздуха, влажности, есть внутренняя логика, руководствуясь которой, мобильное приложение делает новый запрос к серверу или отображает данные, сохраненные в базе данных. Схема работы представлена на рис 7.
Рис. 7. Схема работы модуля погоды
Для получения прогноза погоды с сервера необходимо иметь какую-то информацию о местоположении пользователя. Существует несколько способов:
· Получение геоданных, используя GPS или мобильную сеть
· Выбор пользователем города из предложенной базы городов
· Определение города пользователя по Ip адресу и по телефону, если он известен
В первом случае на сервер отправляются координаты пользователя, по которым используя сервис openWeather определяется id и имя города.
Во втором случае пользователь выбирает город (сначала вводя свою страну) и на сервер отправляется имя и id города.
В третьем случае сервер делает попытку определить местоположение пользователя самостоятельно либо по базе данных префиксов мобильных телефонов, если на сервере есть информация о номере пользователя, либо по местоположению ip адреса.
Таким образом получая id города, сервер проверяет наличие уже закешированной информации по погоде для данного региона. Если данные есть, то они отправляются клиенту, если нет то делается новый запрос на сервис погоды.
Ожидается, что в ближайшем будущем на стороне сервера будет закончена реализация модуля по совместной обработке данных поступающих с календарей и данных о погоде. Особенно от таких календарей как шагомер и медицинский журнал. Это позволит находить зависимости самочувствия и показателей здоровья от погоды для каждого отдельного пользователя. На текущий момент реализована аналитика по данным календаря здорового человека.
Рис. 8
Рис. 9
Рис. 10
Что касается безопасности, то в приложении Medicus реализовано несколько уровней защиты данных пользователя.
1. Логин и пароль аккаунта пользователя.
Чтобы пользоваться приложением Medicus пользователю необходимо создать свой собственный аккаунт. Создать его можно непосредственно в приложении. В процессе создания аккаунта из приложения необходимо указать мобильный телефон, на который будет выслан короткий код подтверждения. Это гарантирует, что данный номер телефона действительно принадлежит человеку, прошедшему регистрацию. Важно отметить, что высылаемый код имеет время жизни - всего 5 минут. По истечению времени, можно запросить новый код подтверждения.
2. Кототкий пароль.
Короткий пароль позволяет пользователю экономить время при входе в приложение Medicus. Которкий пароль - пинкод из четырех цифр. Чтобы обезопасить данные пользователя от постороннего на ввод короткого пароля дается три попытки. В случае третьей по счету неудачи происходит автоматический выход из аккаунта пользователя.
3. Использование карты NFC для доступа в Medicus.
У пользователя есть возможность заменить ввод короткого кода на использование карты NFC. Такой картой может выступать банковская карта, поддерживающая функцию бесконтактного платежа. Использование этой функции упрощает доступ для пользователя и защищает данные пользователя от третьих лиц, гораздо лучше, чем короткий пароль.
4. Шифрование
Стоит отметить, что база данных используемая в приложении защифрована и злоумышленнику не удастся получить доступ к данным, используя внешние приложения. Так же все коммуникации с сервером происходят, используя только протокол HTTPS, который обеспечивает шифрование.
В результате данного конкретного проекта был реализован шагомер, основанный на встроенном датчике телефона - акселерометре. На сегодняшнем этапе развития Интернета Вещей реализация умных устройств и сетей, на основе этих умных устройств не всегда отвечает даже минимальным требованиям безопасности. Поэтому разрабатывать мобильные и веб-приложения для коммуникации с такими устройствами значит ставить безопасность своих пользователей и имя компании под угрозу. Необходимы перемены, как в сознании людей, так и в нормативно правовой базе. Это поможет Интернету Вещей развиваться в сфере здравоохранения быстрее, а главное с минимальными рисками.
Литература
1. FTC, FTC Report on Internet of Things Urges Companies to Adopt Best Practices to Address Consumer Privacy and Security Risks. [Электронный ресурс] / Меморандум Федеральной Торговой комиссии.
2. Oltsik Jon (2014). The Internet of Things: A CISO and Network Security Perspective. [Электронный ресурс] / J. Oltsik // Aналитический отчет компании CISO от октября 2014 г.
3. Mark Stanislav (2015). Securing the Internet of Threats. [Электронный ресурс]: [Cybersecurity experts weigh in on the vulnerabilities of smart, connected device] /M. Stanislav // Ежегодный обзор журнала Intellegence
4. Megan Raposa (2015). Speed, security factors with Internet of Things. [Электронный ресурс]: [The so-called Internet of Things requires faster connectivity and presents some security risk.] /M. Raposa
5. Masato Matsuoka. (2015) Hacking Internet of things and cybersecurity of infrastructure. [Электронный ресурс]: [The word “IoT” (Internet of Things) has been a buzz word for several years now] / M. Matsuoka // блог Kaspersky Lab.
6. Mark Stanislav (2015). Securing the Internet of Threats.
7. Brian Donohue (2015). Hacking the Robotic Surgeon's Hands and Eyes [Электронный ресурс]: [A group of academic security researchers remotely hacked and took control of a robot designed to perform telesurgery]/ B. Donohue
8. Moeen Hassanalieragh, Alex Page, Tolga Soyata. Health Monitoring and Management Using Internet-of-Things (IoT) Sensing with Cloud-based Processing: Opportunities and Challenges.
9. Анатолий Ализар. (2015). Уязвимость в инфузионных помпах позволяет ввести смертельную дозу лекарства. [Электронный ресурс] /А. Ализар // блог Хакер.
10. Kate Kochetkova (2015) Сюрприз для водителя: несущийся по шоссе джип можно взломать удаленно. [Электронный ресурс] / K. Kochetkova // блог Kaspersky Lab.
11. Mario Ballano, Barcena Candid Wueest (2015). SECURITY RESPONSE [Электронный источник]:[ Insecurity in the Internet of Things]: / M. Ballano, B.C. Wueest
12. Daniel Miessler (2016) OWASP Internet of Things Project. [Электронный ресурс]: / D. Miessler
13. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith
14. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith
15. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith (дата обращения: 15.02.16)
16. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith I4_Lack_of_Transport_Encryption (дата обращения: 15.02.16)
17. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith
18. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith
19. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith
20. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith I8_Insufficient_Security_Configurability (дата обращения: 16.02.16)
21. Daniel Miessler, Craig Smith (2015) Top 10 2014-I1 Insecure Web Interface [Электронный ресурс]: / D. Miessler, C. Smith
Размещено на Allbest.ru
Подобные документы
Архитектура систем интернета вещей. Модели взаимодействия устройств интернета вещей. Связи устройство-устройство, устройство-облако, устройство–шлюз. Модель передачи данных в бэк-энд. Алгоритмы обработки данных. Проведение анализа данных в маркетинге.
дипломная работа [643,8 K], добавлен 17.06.2017Основы безопасности персональных данных. Классификация угроз информационной безопасности персональных данных, характеристика их источников. Базы персональных данных. Контроль и управление доступом. Разработка мер защиты персональных данных в банке.
дипломная работа [3,2 M], добавлен 23.03.2018Законодательные основы защиты персональных данных. Классификация угроз информационной безопасности. База персональных данных. Устройство и угрозы ЛВС предприятия. Основные программные и аппаратные средства защиты ПЭВМ. Базовая политика безопасности.
дипломная работа [2,5 M], добавлен 10.06.2011Анализ структуры распределенной информационной системы и обрабатываемых в ней персональных данных. Выбор основных мер и средств для обеспечения безопасности персональных данных от актуальных угроз. Определение затрат на создание и поддержку проекта.
дипломная работа [5,3 M], добавлен 01.07.2011Способы мониторинга качества данных. Формирование функциональных требований к системе мониторинга консистентности данных. Документирование требований к системе мониторинга консистентности данных. Написание скриптов проверок для системы мониторинга.
дипломная работа [387,3 K], добавлен 26.08.2017Характеристика комплекса задач и обоснование необходимости совершенствования системы обеспечения информационной безопасности и защиты информации на предприятии. Разработка проекта применения СУБД, информационной безопасности и защиты персональных данных.
дипломная работа [2,6 M], добавлен 17.11.2012Предпосылки создания системы безопасности персональных данных. Угрозы информационной безопасности. Источники несанкционированного доступа в ИСПДн. Устройство информационных систем персональных данных. Средства защиты информации. Политика безопасности.
курсовая работа [319,1 K], добавлен 07.10.2016Система контроля и управления доступом на предприятии. Анализ обрабатываемой информации и классификация ИСПДн. Разработка модели угроз безопасности персональных данных при их обработке в информационной системе персональных данных СКУД ОАО "ММЗ".
дипломная работа [84,7 K], добавлен 11.04.2012Технологии защиты персональных данных и их применение. Юридический аспект защиты персональных данных в России. Описание результатов опроса среди рядовых российских пользователей. Прогноз развития технологий в связи с аспектом защиты персональных данных.
дипломная работа [149,6 K], добавлен 03.07.2017Правовое регулирование защиты персональных данных. Общий принцип построения соответствующей системы. Разработка основных положений по охране личных документов. Подбор требований по обеспечению безопасности персональных данных в информационных системах.
дипломная работа [1,3 M], добавлен 01.07.2011