PrimeGuard

Материал из Project D8
Перейти к: навигация, поиск

Данный набор должен был включать в себя три программы — клиент, сервер, и средство просмотра — которые вместе могли бы превратить мобильный телефон с Java ME в систему удаленной телеметрии…

Содержание

Клиент для телефона

Выбор опрашиваемых датчиков

Собственно, основная часть набора: это приложение устанавливается на телефон, и после небольшой настройки запускается в режиме сбора данных. Отслеживается и передается следующее:

  1. показания датчиков, установленных в телефоне (можно выбрать, каких именно);
  2. нажатия кнопок на клавиатуре;
  3. объем доступной и использованной heap-памяти;
  4. имя передающего устройства;
  5. отметки времени и счетчик кадров.

Вариант применения

Предположим, что имеется некий объект (например, запертый ящик), который расположен в другом помещении, и постоянный доступ к этому объекту отсутствует. Тем не менее, непременно нужно контролировать, не творится ли с этим объектом что-то неладное, например, не пытаются ли ящик открыть? Причем желательно контролировать более-менее в реальном времени. И по возможности делать это незаметно, чтобы потенциальный злоумышленник не догадался о наличии этой «сигнализации» и, соответственно, даже не пытался ее обойти.

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

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

Описание работы

В режиме сбора данных программа маскируется под «Матрицу», и никак не реагирует на нажатия клавиш и прочие попытки взаимодействия. Для возврата в основное меню потребуется ввести первый пароль (задается в настройках, по умолчанию 1234). Второй пароль (по умолчанию 5678) позволяет просматривать журнал ошибок.

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

Собранные данные программа сразу сохраняет в файловой системе телефона, а также с заданной периодичностью отправляет их на сервер. Именно эта возможность (вместе с подключенным к телефону зарядным устройством) позволяет программе автономно функционировать месяцами, без необходимости ручной загрузки данных, да и вообще какого-либо вмешательства со стороны пользователя. Причем для работы «он-лайн» достаточно самого простейшего безлимитного тарифа: если опрашивать датчики раз в секунду (настройка по умолчанию), за день передается около 30 МБ данных.

Загрузка и список изменений

Серверный скрипт

Таковых имеется два:

  • upload.php — для приема данных, его нужно указать в клиенте
  • view.php — для просмотра журналов приема

Там же приложен файл identicon.php, который может использоваться в view.php для представления контрольных сумм в виде идентиконов. ВАЖНО: по умолчанию данные принимаются в папку data, журналы сохраняются в папку logs; эти папки нужно будет создать при копировании скриптов на сервер.

Средство просмотра

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

  • Скачать конвертер можно будет несколько позже
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Список
Инструменты