По моему печальному опыту, многие люди, включая даже тех, кто работает в сфере ИБ, считают, что атака «человек посередине» (Man in the Middle, MITM) является теоретической, и на практике не представляет реальной угрозы. Дескать, зачем сайту TLS, если это «всего лишь блог» (на WordPress, с админкой). Хотя, казалось бы, прикрутить Let’s Encrypt — дело пяти минут. Так или иначе, я подумал, что будет нелишним рассказать/напомнить о том, как легко делается MITM в современных реалиях. И для этого совсем не обязательно быть интернет-провайдером.

OpenOCD (Open On-Chip Debugger) — это открытое ПО для программирования и отладки различного железа. Допустим, к вашему компьютеру подключен один из программаторов, поддерживаемых проектом. OpenOCD позволяет сходить через программатор в некий микроконтроллер или FPGA, используя такой протокол, как JTAG или SWD. В качестве более конкретного примера, рассмотрим, как OpenOCD может быть использован для прошивки и отладки микроконтроллеров STM32.

Сегодня мне хотелось бы рассказать о небольшом устройстве, сделанном чисто для развлечения. Проект не мой, о нем сравнительно недавно рассказывалось в блоге Hackaday. Устройство представляет собой тестер Ethernet-кабелей. У меня как раз никогда не было такого тестера. Так почему бы не сделать его самому? Особенно учитывая, что почти все необходимые компоненты у меня уже были, и все равно валялись по коробкам без дела.

Беспроводные роутеры имеют несколько неприятных особенностей. Во-первых, они небезопасны, если только не разобраться с установкой OpenWrt. Во-вторых, со временем они перестают выпускаться, а значит, если ваш роутер сломается, вам придется разбираться с установкой OpenWrt на совершенно другой роутер. В-третьих, как правило, они довольно ограничены в ресурсах, а значит возложить на роутер какие-то дополнительные функции может быть проблематично. Между тем, абсолютно любой компьютер под управлением Linux может быть настроен в качестве полноценного Wi-Fi роутера, что решает проблемы безопасности, повторяемости и производительности. Для примера, рассмотрим создание беспроводного роутера на базе одноплатного компьютера Raspberry Pi.

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

Automatic Packet Reporting System, или APRS — это система, придуманная коротковолновиками в 80-ые годы и чем-то напоминающая современные SMS. Оператор любительского радио посылает в эфир текстовое сообщение с информацией о своем местонахождении, используемых частотах, погодных условиях, и так далее. Благодаря репитерам и гейтвеям, эта информация доступна не только находящимся поблизости операторам. Она пересылается, в том числе через интернет, и может быть снова отправлена в совершенно другой точке Земли.

Сегодня нас окружает множество так называемых «умных» устройств — телефонов, часов, Wi-Fi роутеров, IP-камер. Даже лампочки и зубные щетки внезапно поумнели. Само по себе это явление не обязательно плохое. Плохо то, что названные устройства часто доступны посторонним людям через интернет, Bluetooth или Zigbee. При этом производители не сильно беспокоятся об их безопасности. Во многих роутерах даже находили намеренно оставленные бэкдоры (пример 1, пример 2). Не удивительно, что мы видим появление целых ботнетов из IoT устройств. Как выяснить, нет ли в конкретном устройстве уязвимостей или бэкдоров? Давайте разберемся на примере роутера GL.iNet GL-AR750.

Благодаря заметке Изучаем Ethernet-фреймы с помощью осциллографа теперь мы знаем, как физически осуществляется передача данных по Ethernet-кабелю. Однако описанный в посте подход не слишком удобен для полноценной отладки какого-то устройства, работающего с Ethernet. Есть несколько решений этой проблемы. Например, можно воспользоваться старым Ethernet-хабом (но нынче их не так-то просто найти) или настроить зеркалирование портов на Ethernet-свиче. Но в рамках этого поста мы рассмотрим альтернативное решение, которое заключается в использовании платы Throwing Star LAN Tap.

Если вы давно почитываете этот блог, то уже знакомы по крайней мере с двумя генераторами — мультивибратором и таймером 555. Однако такие генераторы не подходят, если вам нужно получить высокочастотный сигнал. LC-генераторы, с другой стороны, способны выдавать сигналы с частотой где-то до 500 МГц. Звучит, как что-то полезное. Давайте же попробуем спаять такой генератор.

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