Среди инженеров, выросших на советских российских предприятиях, почему-то популярна мысль, что OSHW (open-source hardware) — это для лузеров и радиолюбителей. За рубежом наверняка есть инженеры, которые тоже так думают, но есть и те, кто находит места, где OSHW является прекрасным решением проблемы. Например, в апреле этого года Facebook запустил проект Open Compute Project, в рамках которого ведётся разработка полностью открытого железа для сервера дата-центра. Более развёрнутый рассказ про историю и цели проекта можно прочитать тут: How Facebook is open-sourcing its data centers and servers.
Ежемесячные архивы: августа 2011
Воркшоп по USRP — done
Спасибо всем, кто пришёл — было очень классно со всеми познакомиться. К сожалению, не всех смог сопоставить с виртуальными хэндлами вроде почты и ников. Сорри, если в следующий раз буду переспрашивать.
Судя по всему в октябре будет продолжение, но пока не знаю, что что именно. Предлагайте варианты — кому что интересно.
И ещё раз — мы приглашаем всех принимать участие в жизни хакспейса. Давайте делиться знаниями, устраивать мероприятия, делать совместные проекты. Помните, что хакспейс будет таким, каким мы с вами его сделаем.
PS Новости Neúron можно читать в твиттере: @neuronspace. Пожелания и замечания можно писать туда же, или на почту neuron@hackspace.ru, или здесь в комментариях.
PPS Ребята из МИФИ — напишите, пожалуйста, ваши контакты. Надо организовываться и делать 3D-принтер.
Chaos Communication Camp 2011
Для тех, кто пропустил CCCamp, появились записи лекций (и на ftp). Информацию о лекциях можно найти в расписании.
Кроме лекций на CCCamp было огромное количество интересных людей. Ребята из OWNI.eu сделали отличную подборку интервью с самыми интересными людьми на CCCamp и выложили их в онлайн. Мой личный топ-лист из их интервью:
- Интервью с John Gilmore — со-основателем Cygnus Solutions, со-основателем Electronic Frontier Foundation (EFF), со-основателем GnuRadio и т.д. и т.п. (wikipedia)
- Интервью с Frantisek Apfelbeck — главным вдохновителем и основной движущей силой Food Hacking Base на CCCamp.
- Интервью с James Carlson — основателем проекта School Factory, который ставит целью заменить традиционную школу более эффективными системами peer-to-peer обучения. Я к этому отношусь достаточно скептично, но в рамках School Factory Джеймс делает одно несомненно полезное дело — собирает информацию о существующих хакспейсах, помогает создавать новые и обеспечивает американским хакспейсам юридическую помощь.
- Интервью с Mitch Altman — создатель популярного гаджета TV-B-Gone, основатель хакспейса Noisebridge и т.д. и т.п.
И просто несколько роликов, чтобы хоть немного представить масштаб и атмосферу мероприятия:
- Вид на центральную часть Camp'а с квадрокоптера. Видна примерно треть всей территории CCCamp.
- CCCamp ночью. Организаторы проделали титаническую работу по созданию подсветки, которая ночью превращала CCCamp в полностью футуристический мир.
Большое количество фотографий можно посмотреть на soup.io.
Хакатон по безопасности GPRS — отчёт
Кратко — до результата мы ещё не добрались, так что если ждёте готовых результатов, то можете дальше не читать.
Как и предполагалось, ни в понедельник, ни во вторник мы до результата дойти не успели. Что успели сделать и выяснить:
- Половина времени в понедельник и часть времени по вторник ушла на то, чтобы скомпилировать весь нужный софт, разобраться, как его запускать и подогнать параметры под наше железо. Так как софт совсем не продакшн и построен по принципу лоскутного одеяла, то это было не очень быстро.
- Долго выясняли, какой какой ARFCN (Absolute radio-frequency channel number, номер физического канала) нам записывать. Так как Airprobe не поддерживает EDGE, то нам нужны были телефоны с GPRS, но без EDGE. Таких телефонов у нас всего два — Siemens C60 и Benq-Siemens C72, и ни в одном (пока) нет разлоченного NetMonitor'а. Как выяснилось с помощью NetMonitor на других телефонах, все телефоны МТС в хакспейсе висят на одной и той же соте (ARFCN 753, GSM1800), и мы стали записывать эту частоту в надежде, что наш тестовый телефон тоже будет использовать именно её. Параллельно с записью стучались с Siemens C60 на ya.ru.
- После долгого рассматривания записанных данных в Wireshark, стало понятно, что можно было вообще не напрягаться с тестовым телефоном (но это было уже в середине дня вторника): (1) все управляющие сообщения используют стандартную систему кодирования/модуляции GSM, а не EDGE, (2) вокруг достаточно телефонов, постоянно генерирующих трафик, и (3) всё, что видно на основной частоте соты (у нас ARFCN 753) — это перевод дальнейшего общения про GPRS/EDGE (Immediate Assignment) на другую частоту (у нас ARFCN 52, GSM900). Выдержки из декодированных Immediate Assignment: короткая, длинная. К GPRS относятся Immediate Assignment с упоминанием Packet Channel Description, а не Channel Description.
- Записали ARFCN 52. Его Airprobe не декодирует, но про это ниже.
- Сейчас Airprobe всегда подразумевает, что в записанном канале есть FCCH (канал синхронизации частоты) и SCH (канал синхронизации логических часов TDMA). При чтении записи Airprobe сначала ищет в записи FCCH, а затем декодирует идущий сразу за ним SCH, и только после этого может начать декодировать данные. Важно, что FCCH и SCH вещаются только на основной частоте соты, и отсутствуют на остальных частотах, на которых вещает сота. Обычный телефон, прыгая с одной частоты на другую, сохраняет синхронизацию как по частоте, так и по времени. В нашем же случае, необходимо синхронизировать записи на основной частоте и на частоте GPRS-канала, чтобы после получения синхронизации на основной частоте перескочить на запись GPRS-канала без потери синхронизации.
- Положительная новость — если не используется PDCCH, управляющий канал GPRS фиксирован на одной частоте (у нас ARFCN 52, GSM900) и одном тайм-слоте (у нас TS7), т.е. по крайней мере на этом этапе у нас не будет проблем с прыжками по частоте (hoping channels).
- На этом в данный момент всё. Дальше будем разбираться, как с помощью USRP записывать два канала одновременно (см пример rx_multi_samples к UHD), модифицировать Airprobe для работы с несколькими частотными каналами и модифицировать Airprobe для записи всех таймслотов без исключения в файл в формате, пригодном для gprsdecode.
Спаисбо всем, кто пришёл в понедельник, чтобы совместно решить задачу. Вместе всегда веселее. Отдельное спасибо Sylvain Munaut за консультации в реальном времени.
Полагаю, что мы продолжим практику таких хакатонов, когда я вернусь из очередной поездки в конце сентября.
Воркшоп по USRP в понедельник 29 августа
29 августа (понедельник) 19:00 в Neuron я буду проводить воркшоп по USRP. Начнём с самых азов, а дальше посмотрим по ходу дела. Подозреваю, что будем гооврить так же про использование USRP в целях исследования безопасности беспроводных сетей, но если будет интерес к «мирным» применениям, то поговорим и про них тоже. План-минимум — рассказать следующее:
- Что такое Software Defined Radio?
- Что такое USRP? Какие бывают USRP и чем отличаются?
- Что получается «на выходе» USRP и что с этим можно сделать?
- Как «это» обычно делают? :)
- Посмотрим простые примеры использования USRP, вроде спектроанализатора.
- далее — по заявкам.
Что-то более сложное (OpenBTS, например) скорее всего не поместится по времени и при наличии интереса будет вынесено в отдельный воркшоп. GnuRadio трогать скорее всего не будем, так как я его не очень хорошо знаю.
Приглашаем всех интересующихся — только напишите об этом заранее тут, в твиттер или в почту. Количество (посадочных) мест ограничено. :)
Хакатон по тестированию безопасности GPRS
В понедельник начиная с 17:00 у нас в хакспейсе Neuron будет открытый мини-хакатон посвящённый тестированию стойкости шифрования в московских GPRS-сетях. :) Работать будем по мотивам выступления Карстена Нола на CCCamp'11.
Что нужно будет сделать:
- Захватить GPRS-bursts. Для этого или (а) нужен телефон совместимый с osmocomBB и быстрый кабель к нему (это default железо для кода Карстена), или (б) нужно разобраться, как это прикрутить к Airprobe+USRP. Телефона для osmocomBB у меня лично нет, поэтому я буду пробовать вариант (б). Если у кого-то есть подходящий телефон и быстрый кабель к нему — дайте знать, это упростит процесс.
- Декодировать полученные bursts инструментарием Карстена. Тут (вроде бы) проблем быть не должно, хотя подводные камни никто не отменял.
- Действовать по обстоятельствам.
Для нескольких часов план достаточно агрессивный. Посмотрим, как далеко нам удастся продвинуться.
Присоединяйтесь, если у вас руки заточены под gcc и Wireshark, а голова — под быстрое решение проблем. Знание соответствующих протоколов приветствуется.
Да, кофе-чай и какое-то количество плюшек будет доступно в нашей /dev/kitchen. Остальное приносите с собой.