LINUX.ORG.RU

Взламываем контроллеры флешек, чтобы превратить их в клавиатуры

 ,


8

3

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

Все инструменты доступны на Github: https://github.com/adamcaudill/Psychson

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: beastie (всего исправлений: 2)

Ответ на: комментарий от vi0

а как быть с флешками, которые воткнуты в момент включения компа? они же могут поменять boot-device на себя и "пропатчить" трояном твою систему.
тут нужен какой-то физический переходник-выключатель, который активирует флешку только из уже запущенной системы по програмному сигналу. ну и правила для udev

teod0r ★★★★★
()
Ответ на: комментарий от vi0

что произойти может не всё что угодно, а только то, что может USB.

Например, иметь закороченный 5v на линию данных.

aplay ★★★★★
()
Ответ на: комментарий от teod0r

Может лучше переключатель для USB-порта: обычный, доверенный.

На недоверенном:

  • Можно флешки
    • Но нельзя запускать с неё программы (noexec), в том числе загрузочные)
  • Нельзя сетевые карты, модемы (или с ограничениями: сеть считается «недоверенной»).
  • Можно принтеры, сканнеры (но в списках обозначаются как недоверенные и имеют какой-нибудь более другой значок)
  • Нельзя устройства ввода (или с ограничениями)
vi0
() автор топика
Ответ на: комментарий от aplay

Если USB сделано на уму и чести, то всё должно быть OK.

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

vi0
() автор топика

Вобще не напугали. У меня есть только одна флешка с которой ставил систему. Остальной обмен данными давно уже только через сеть. Если есть физический доступ к компьютеру нафиг ненужно `rm -rf /` через флешкоклаву слать, достаточно воспользоваться топором.

FutureBoy
()
Ответ на: комментарий от aplay

Скорее всего дефект в биосе.

А штука с внезапными клавиатурами - это не дефект в ПО, а «by design».

Дефектов много - где-то было сказано, что если «затейничать» с прошивкой Wi-Fi адаптера, то «соседние» компьютеры с Wi-Fi могут начать сыпать Kernel Panic'ами, BSoD'ами и т.д..

vi0
() автор топика
Ответ на: комментарий от MrClon

вот сидишь ты за компом
и тут херакс - тыкнул флешку, а она оказалась клавой
или может ты воткнул клаву? линукс то не телепат, поэтому потверждаешь и все
а при включении флешки пихать не надо))
или в udev указать правило на порт с клавой

ubuntuawp ★★
()

А ЕЩЁ МОЖНО ВЗЛОМАТЬ МАШИНУ ВЫТАЩИВ ИЗ НЕЕ ЖОСТКИЙ ДИСК И ЗАПИСАВ ТУДА ВРЕДОНОСНУЮ ИНФОРМАЦИЮ!!! ОКАЗЫВАЕТСЯ, ОТ ЭТОГО НЕ ЗАЩИЩАЮТ ДАЖЕ ПРАВА ЗАПИСИ UNIX!!! ДЕВЧАТА Я В ШОКЕ!!!!! а еще можно монтировкой по экрану е

anonymous
()

Очевидное решение - нахер USB-флешки, пользоваться обычными картами памяти + читалкой.

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

anonymous
()
Ответ на: комментарий от greenman

Вижу, санитары подоспели.

Давно пора, вся тема - какая-то оргия журналистов со слоупоками.

handbrake ★★★
()
Последнее исправление: handbrake (всего исправлений: 1)
Ответ на: комментарий от crowbar

Флешка же не умеет память читать?

А это хорошая мысль, кстати. Правда, разрабы дистрибутивов ещё не скоро почешутся. Для этого надо будет, скорее всего, патчить ядро и X-сервер.

proud_anon ★★★★★
()
Ответ на: комментарий от ubuntuawp

Как подтверждать-то? Свежеобнаруженной клавиатуре доверять ещё нельзя, другой клавиатуры может и не быть. Мышаком, но мышак можно так-же эмулировать, и можно неплохо угадать где именно будет нужная кнопка.

Флешка может быть воткнута в комп до включения. Или вовремя загрузки.

Я за вариант с «введите код». В качестве поблажки можно сразу доверять единственной клаве найденной во время загрузки системы.

Такое поведение, в отличии от выделенных под клаву USB портов, можно реализовать искаропки в ОС, при-этом не сильно напугав хомячков.

MrClon ★★★★★
()
Ответ на: комментарий от anonymous

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

MrClon ★★★★★
()

читал о таком в «хакере» в бородатом году

anonymous
()
Ответ на: комментарий от dikiy

а как это сделать? Я в этом udev слабо шарю.

200$

anonymous
()
Ответ на: комментарий от anonymous

++ недавно с этим столкнулся

anonymous
()
Ответ на: комментарий от anonymous

Когда писал то сообщение, думал про FireWire и то, как я на всякий случай выключал в нём DMA.

Но в USB же оно более ограничено? Или в USB 3.0 что-то добавили?

Также IOMMU вроде должно как-то улучшить безопасность в этом направлении.

vi0
() автор топика
Ответ на: комментарий от MrClon

ты читаешь глазами или жопой? подтвердить с ОСНОВНОЙ клавиатуры, подключенной при включении
Или правило udev на доверенный USB-порт

ubuntuawp ★★
()
Ответ на: комментарий от Valkeru

Keyboard not found, press F1 to continue.

Если речь о замене сломаной клавиатуры, то лучше сделать аппаратный выключатель на материнке, позволяющий использовать новое устройство ввода и пожертвовать удобством, чем оставлять всё как есть.

tlx ★★★★★
()
Ответ на: комментарий от Vinni_Pooh

USB-флешка Sandisk косит под жёсткий диск, Nokia N8 любит претворяться под сидиром.

anonymous
()
Ответ на: комментарий от tlx

Ты удивишься, но аппаратные средства гарантирующие функционал usb мыши только как мыши, а клавы - только как клавы уже есть.

handbrake ★★★
()
Ответ на: комментарий от ubuntuawp

Основной клавиатуры в общем-то может и не быть (USB порты бывают не только на десктопах).
В общем-то как правило когда к компу подключают клавиатуру другой клавиатуры у компа нет.

Решил я клаву поменять, старую отключил, новую подключил, а уютненькая убунта мне и выдаёт «Keyboard not found. Press F1 to continue».
Чего теперь, ребутаться что-бы новая клава стала «подключённой при включении».
Вернуть старую клаву не вариант, при повторном подключении она будет такой-же не доверенной новой. Можно выдумать эвристики с портом и моделью клавы, но эвристики это не есть хорошо.
Как определить настоящую клаву, если при загрузке из две?

Вариант с доверенным портом не тиражируется. Для себя сойдёт, но как поведение по умолчанию не канает.

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Тян постоянно пихают в свои щелки чужие мпх, собственно для этого мпх и нужны. Сейчас конечно набегут труЪ тян которые расскажут что никогда не пустят к своей щелке чужих мпх и вообще живут одни в бункере в 40 метрах под землёй. /fixed

anonymous
()
Ответ на: комментарий от anonymous

сам давись этой гнилью

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

anonymous
()
Ответ на: комментарий от vi0

2. Старая клавиатура - хорошо, новая клавиатура - введите капчу;

PS/2 рулит в этом плане, в него флешку не воткнёшь.

kas501 ★★★
()
Ответ на: комментарий от anonymous

Тян постоянно пихают в свои щелки чужие мпх

И если вы мне скажете что это плохо…
Хотя там тоже хватает проблем с безопасностью.

MrClon ★★★★★
()
Ответ на: комментарий от teod0r

Не слышал о таком, но думаю можно спаять фиговину которая будет разбирать и фильтровать USBшный протокол. Эдакий фаервол.
Разумеется без libastarl такая коробочка не сможет определить как выглядит устройство выдающее себя за клаву, так-что дропать придётся например всё что не флешка.

MrClon ★★★★★
()

Обычные USB-флешки, оказывается, тоже компьютеры

С разморозкой !

robot12 ★★★★★
()
Ответ на: комментарий от vi0

А кому реально нужно компрометировать ваши данные? Вы действительно думаете, что получать с небольшим шансом данные случайного человека стоят того, чтобы извращаться с самодельной флешкой? Вирусы и трояны пишут из-за массовости. То есть 1 программа позволяет получить сразу десятки и сотни тысяч приватных данных. И среди них по теории вероятности может попастатся что-то интересное, либо тупо хватит количества (несколько сотен почтовых аккаунтов можно продать спамерам например, но один единственный никому не нужен). В случае с злонамеренным железом его производство слишком затратно и не масштабируется. К тому же юзер вполне может запалить неладное и уничтожить флешку (таким образом она не пойдёт дальше по рукам). В общем, профита нет.

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

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

безопастность

я угадал аппрувера без прочтения новости, а вы?

maloi ★★★★★
()
Ответ на: комментарий от MrClon

Окей. Внимание вопрос: кто мне даст такую волшебную флешку? Кому это нужно? Кулхакер Вася? Ему потребуется потратить деньги и силы, чтобы сделать кастомный девайс? Слишком много чести для меня. А потом виндовые комбинации клавиш не сработают в моём KDE и он обломается.

KivApple ★★★★★
()
Ответ на: комментарий от MrClon

Просить ввести рандомный код, прежде чем принимать нажатия с клавиатуры. Флешка то никак не узнает что вводить.

Кстати, что насчёт фейковых usb сетевых карт, а не клавиатур?

nuke666
()

Кстати, компьютер типичного пользователя винды представляет из себя такое зрелище:

1) Всё жутко лагает из-за кучи мусора в автозагрузке (особенно это касается ноутбуков)

2) Мусор в вариантах действия автозапуска от тех же программ

3) Софт типа Yandex.Диска и Dropbox (который ставится если не снять галочки в установщиках других программ, либо вообще предустановлен на ноутбуке и хотя не нужен юзеру исправно работает) при втыкании флешки предлагает выгрузить фотки с неё в облако, закрывая собой остальные окна

Я слабо представляю как можно в таких условиях что-то сделать чисто с помощью виртуальной клавиатуры. Банально совершенно не понятно через сколько секунд после втыкания появится окошко, где надо нажать Enter, будет ли выбран именно пункт «Запустить приложение с устройства» и не будет ли в этот момент активно другое окно. Слишком маленькая задержка сделает эксплойт неработоспособным на большинстве компьютерах хомячков, а большая не применима вообще, потому что юзер закроет окошко через несколько секунд, ибо ему работать надо, а не на него смотреть.

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

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.