Юлия Омельяненко


 
Опубликовано: 1 декабря 12:11
 537
 

Про безопасность терминалов

 
 

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

Из чего состоит простой уличный платежный терминал?

1. Начинка среднего по цене ПК.

2. Вандалостойкий сенсорный экран.

3. Оболочка самого терминала:

  • основа – корпус терминала самообслуживания
  • блок питания
  • источник бесперебойного питания
  • замок высокой степени защиты Аbloу
  • замок для наружного включения/выключения питания
  • электрический запор
  • коннектор для электрического запора
  • сирена сигнализации

4. Купюроприемник.

5. Средства связи (GSM антенна).

Большинство таких устройств работает на базе Windows, в режиме такой “песочницы” или киоска, который позволяет запускать на компьютере одно основное полноэкранное приложение, заданное администратором. Функциональность терминала существенно расширяется, если выйти из режима киоска в операционную систему.

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

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

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

Бывают ситуации еще проще, когда злоумышленник просто перезагружает систему и добирается до ОС до момента, когда запустится пользовательская песочница. Разработчик может попросту не поставить запуск автозагрузки в приоритет, а злоумышленник успеет просто ее свернуть.

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

К настоящему времени часть подобных лазеек закрыта. Но далеко не все. Что можно было бы упустить с точки зрения разработчика?

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

К примеру, в обратившемся к нам за помощью магазине электроники, в котором как раз установлена система самообслуживания через терминалы, песочница была построена на базе веб-формы в уязвимой версии браузера Mozilla Firefox. Поскольку терминал был в доверенной сети, большого труда подключиться к базе данных не составило труда. На терминалах не была настроена синхронизация времени, поэтому злоумышленник, сидя в зале, создал и “предоплатил” заказ якобы накануне, а забрал его через 10 минут. Поскольку терминал был отвернут от камеры наблюдения, казалось, что человек просто долго выбирает товар. Такая проверка позволила доказать, что этот человек по факту не оплачивал ни один свой заказ и при этом нанес ущерб магазину порядка 200 000 рублей.

Теперь терминалы самообслуживания в этом магазине стоят под камерами в центре зала в поле зрения сотрудников.

Основная беда публичных терминалов с сенсорными экранами — сворачивание главного приложения и попадание нарушителя в интерфейс Windows. Разработчикам необходимо заблокировать всплывающие меню при долгом нажатии на экран (как при нажатии правой клавиши мыши) и исключить вызов окна печати, откуда можно проникнуть в панель управления Windows. Лучший вариант - модификация стандартной системы с запуском песочницы до загрузки ОС, отсутствием рабочего стола и режима проводника.

В обязательный минимум мероприятий входит проверка всех ссылок полноэкранного приложения и сторонних виджетов. Если при переходе по веб-адресу открывается новое окно браузера, следует отключить такую возможность, отредактировав код виджета и удалив ссылки. Основное приложение терминала должно всегда находиться поверх всех окон Windows: в этом могут помочь различные утилиты (например, Window On Top).

Из дополнительных мер — уникальные пароли на разных терминалах, отсутствие привилегированного доступа для стандартного режима работы устройства (запуск ОС и песочницы от имени пользователя с ограниченными правами), расположение всех терминалов в отдельном сегменте DMZ и синхронизация времени.

Юлия Омельяненко - Ведущий эксперт «Лаборатории Цифровой Форензики»