Positive Technologies corporate blog
Information Security
Website development
Comments 47
+1
А не проверяли вы режим киоска встроенный в windows 8.1 с каким ни будь Metro приложением?
+1
Пока в практике ни одного киоска с восьмеркой не попадалось. Вообще, на YouTube можно найти проблемы и с Linux-терминалами, правда там ошибки немного другого рода — например, «дрова» сенсорного экрана кривые и при определенных нажатиях ОС получает SEGFAULT и уходит в ребут.
+25
Если ось при падении киоск-приложения не показывает десктоп с вкусняшками и правами админа, а молча уходит в ребут и запускает киоск обратно — это хорошая, годная ось.
+7
Вы не попадали в обидную ситуацию, когда засовываете >$1000 единоразово в банкомат, а он молча уходит в ребут, не дав ни чека, ни сделав зачисления на счёт. Разбирательство длилось несколько месяцев, в течение которых деньги не были потрачены на те цели, на которые выделялись и при этом потеряли в стоимости из-за инфляции. Ребут — слишком крайняя мера. Не мешало бы всем причастным больше думать головой при написании софта, чтобы до ребута не доводить и обрабатывать максимальное число ошибок корректно.
+7
ОК, приложение УЖЕ упало. Если это хорошее, годное приложение, то оно перед падением записывало все свои действия в лог, и при перезапуске сможет этот лог поднять и завершить либо корректно откатить транзакцию. От ОС тут уже ничего не зависит.

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

И в обоих вариантах наилучшим решением будет ребутнуться и запустить приложение обратно.
+1
Поэтому ему нельзя дать упасть «УЖЕ». Я на этом заостряю внимание. ОС действительно не должна быть «при чём». А если всё так, как вы обозначили, то да — безусловно ребут.

«А помрёт — так помрёт»
© Виктор Цой
+2
Удивляюсь, почему до сих пор в терминалах, в устройствах приема банкнот, не стоит памяти с минимальным контроллером. В такую память можно автономно записывать все введенные купюры, а затем, когда терминал завершил транзакцию, — по отдельной команде терминала ставить им флаг (своего рода «гасить»). Соответственно, не погашенные таким образом купюры легко отследить (удаленно и почти моментально), и сотрудникам техподдержки предпринять какие-либо меры (создать тикет, провести до конца платеж и т.д.).

Сейчас же, по сути, купюроприемник лишь дает информацию терминалу, какого номинала бумажку в него вставили, а также ведет счетчик на случай переполнения ящика.
+2
Пробовал. Забудьте как недоразумение все эти «режимы киоска» в винде. В восьмерке этот режим — это IE со всеми его дырами и доступной боковой панелью. Чтобы заюзать что-то свое — это там надо очень извратиться.
В общем случае надо делать так (работает на любой версии Windows):
1. Создаем ограниченного юзера.
2. В реестре ему прописываем следующее:
[HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
«Shell»=«path\to\my\programm.exe»
Вот теперь это будет настоящий режим киоска. Если приложение упадет — будет просто черный экран. Проводник можно запустить при подключении клавиатуры и далее Win+R / Ctrl+Alt+Del. Впрочем, можно и это отрубить — записав в ScancodeMap другие клавиши. По использованию браузеров в качестве оболочки: вполне можно использовать хром — там есть возможность отключения рамок и кнопок окна. Но в целом скудноват. Использую NodeWebkit: он как раз с настоящим режимом киоска и куда более широкими возможностями — nodejs со всеми её плюшками. Ну конечно он прекрасно работает в линуксе =)
Хотелось бы отметить, что кроме винды, в кисоках могут быть баги и со стороны сборщиков/конструкторов железа — доступные сетевые или юсб порты, например.
0
Да, только подмена shell'а, только хардкор. Ещё есть замечательный раздел RestrictRun. А есть вообще интереснейший вариант, запуск приложения как службы, без выполнения входа в систему. Правда не все приложения таким образом работают корректно.
+34
Основная беда публичных терминалов с сенсорными экранами — <пропущена неважная информация> Windows.

Согласен
+4
Если подходить объективно, то основная проблема — низкая квалификация администраторов/инсталляторов таких устройств. Можно и из Windows сделать весьма устойчивую к подобным взломам вещь, просто нужно иметь кое-какие знания и, главное, желание. А с подходом «тяп-ляп, и так сойдет» из любой ОС можно решето сделать.
+1
Кстати да, на Windows CE и XP Embedded миллиарды промышленных устройств работают десятилетиями и проблем нет.
+1
Спасибо, хорошая статья.

В Украине стоят практически одинаковые терминалы, которые элементарно вскрываются по аналогичному алгоритму. Часто сталкивался, но на статью меня не хватило. А у вас — все здорово вышло.
+3
А если это еще и платежный терминал, то можно поменять таблицу купюр или перепрошить купюроприемник.
Вставляешь 10 рублей, ПО воспринимает ее как 5000, например. Но так делать нельзя.
0
да, именно платежных похожих терминалов я встречал не меньше сотни по Украине. И часто возникало подобное желание, но… Да, так делать нельзя.
С другой стороны, возможно это как-то растормошит администратора.
+2
«Органы» это точно растормошит. Хоть на Украине, хоть в России, хоть в Зимбабве, просто число необходимых тормошений от страны может отличаться )
+2
Сам, периодически, пишу софт для киосков. Подобные косяки, как правило, всплывают при переходе с Windows XP (Embedded) на 7 и старше. Там добавили различные жесты, в т.ч. и долгое нажатие. Так что тут зависит уже от настройки системы, все эти свистелки сразу выключаю, но иногда не знаешь, куда поставят твою программу и кто будет настраивать. Поэтому пишу на WPF, там с такими манипуляциями сложнее.

Рекомендуем также использовать embedded сборки ОС, которые лишены ряда недостатков безопасности стандартных версий — в частности, не используют рабочий стол
Сколько сборок Embedded видел, везде рабочий стол на месте. :) Приходится ручками заменять в реестре shell с Проводника на свою программу.
0
есть embedded linux ;-) ну и возможностей кастомизации на несколько порядков больше
0
сейчас по моему идеально для внедрения андройд коробки. Дешевые, маленькие, без вентиляторов, софт на выбор.
0
ну как бы все коробки на Allwinner A10/20 и т.п. гарантированно работают в диапазоне температур 0-50+
Тем более драйвера для таких железок есть и под linux и под android
0
А что там будет при минусе? Помоему только плюсы — сверхпроводимость) и охлаждение. Ну только разве что… конденсат может возникнуть да и только…
0
Сверхпроводимость!? Вы на пару порядков в числах наверное ошиблись?)

Википедия описывает диапазоны температур промэлектроники. Еще информация о температурных диапазонах и стендах для испытания. Также здесь уже была статья «Микроэлектроника для космоса и военных»

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

Окисление контактов и КЗ от конденсата, ну и не надо забывать о свойствах сплавов, припоев и т.п. «Оловянная чума»

Может DIHALT поделится своими знаниями по поводу рабочего диапазона температур электроники?
0
Оловянная чума это некорректный пример. Где вы чистое олово в электронике видели?
0
Согласен, что идиализированно. Лишь как пример изменения свойств припоя под действием низких температур
0
Извините, я не совсем понял ваш ответ.
Если я правильно понял, то вы высказали опасение, что железо под управлением андроида не будет работать в минусовых температурах. Но ведь обычные андроидофоны работают зимой на улице в минус, так ведь? У них проблема только в расходе батарейки, что не является здесь критичным параметром.
0
Тут вопрос не к операционной системе, а к надежности работы электронной части. Смотрите комментарий

Не уверен что телефоны работают без проблем при -25 -30 достаточно долго. Компоненты, монтаж, конструктив, влагозащищенность… Вы много бесхозных работающих андроидфонов на морозе видели?)
+1
Однажды удалось выйти в систему банально кликнув на сообщение об ошибке подключения к сети :)
0
Thinstation c загрузкой образа по pxe, или с flash. Всё кастомизируется — например Firefox + plugin kiosk. Правда не стоит забывать и о iptables. Без брандмауэра, элементарно в несколько кликов можно выйти на google и т.д.
0
А как насчет лицензий Windows для терминалов? Что, лицензию берут что ли на все? И не проще было бы хотя бы из-за лицензии использовать GNU/Linux? Почему на терминалах Windows?
0
Про эти терминалы не знаю. Я про платежные.
Скорость, а не возможность.
0
Помню еще году в 1997-1998 на Комсомолке стояла диковинка — похожий на нынешние платежные терминал с картой Москвы. Только там еще был встроенный принтер, на который теоретически можно было напечатать карту, но реально бумага в нем закончилась и больше ее не заправляли. Собственно, у него я открыл эту уязвимость в виде кнопки «Пуск», которая нащупывалась внизу экрана. Ощущал себя крутым хакером и казалось — вот сейчас как войду через этот терминал в сеть метрополитена! Детство-детство… Хорошо, что не поймали, «автоматчиков» тогда многих ловили, предварительно дождавшись, когда они на крупный размер наговорят, чтобы срок реальный влепить можно было.
+3
Сейчас на ВДНХ проходит выставка «Механика чуда». Стоит штук 20 сенсорных панелей LG, на всех запущен обычный флеш плеер на весь экран. Все операции контекстного меню работают, клавиатура не отключена, интернет работает полноценно. Правда туда вход платный, поэтому не так много кулхацкеров.

Потыкал одну панель, в журнале посещений IE, последние сайты — ВК, порнушка…
+2
Когда мне понадобилось сделать подобный информационный киоск в 2008 году, сразу хотел отказаться от использования Windows на данных терминалах. И реализовал на основе Slax. Из-за нехватки времени, удалось урезать его всего до 300MB, но на тот момент USB флешки уже были как минимум на 1GB, так что ими и воспользовались. Slax очень хорошо подошла, там диски монтировались только на чтение, кроме одной папки. из которой бралась только информация о калибровке для драйвера тачскрина, и ссылка на наше веб приложение, работал терминал только внутри сети, без доступа в интернет. Запускались там голый X, который сразу запускал FireFox с плагином киоска, который урезал лишние возможности. Первый запуск с такой флешки, из-за отсутствия информации по калибровке, запускал калибровщик экрана, и после запускалось наше приложение. Старт соответственно был довольно шустрый, по железа того времени. Для тех кто обслуживал эти терминалы, был сделан простой виндовый установщик, который форматировал и записывал на нее загрузчик и все необходимое для запуска терминала. Оставалось только воткнуть флешку в USB и запустить. Проблема в дальнейшем была уже с добавлением других драйверов тачскрина, и принтера, когда решили еще и печатать.
0
Забавно, те же самые проблемы что и у компьютерных клубов лет десять назад. Стабильно минимум раз в месяц детишки находили новый способ обходить блокировки и играть на халяву.
0
Ага пока я не написал програмку свою, которая пресекала все попытки.
0
Тот неловкий момент, когда видишь знакомый интерфейс киоска, который когда то совместно с дизайнером вкорячивал… Интересно совпадение оформления или нет =)
+1
В последнее время российские поликлиники активно оснащаются терминалами, в которых любой желающий может записаться на прием к врачу. Без должного внимания к безопасности терминалов мы рискуем стать свидетелями массовых утечек сведений, составляющих уже и врачебную тайну.

По больничкам не знаю, год назад ставили терминалы в налоговые местные. Софт писала одна уральская контора. (Все под виндой, качество работы так себе).
Но данных интересных там тупо нет. Максимум что можно получить — ФИО, дата на которую запланировано посещение (это если через интернет записываешься), причина посещения, номер окна. В поликлинике думаю тоже самое.
+1
Этих данных более чем достаточно для социального инжиниринга. Представьте, что вам звонят якобы из поликлиники, при этом точно знают не только ФИО, но и когда, к кому и по какому поводу вы записаны на прием. Доверие будет стопроцентное, а что с этим доверием делать — уже вопрос задач злоумышленника.
Only those users with full accounts are able to leave comments.  , please.