Результаты летней стажировки в Digital Security. Отдел исследований

Компания Digital Security в конце апреля этого года объявила об открытой стажировке в трех самых технических отделах: исследований, анализа защищенности и безопасности бизнес-систем.

Отзыв Евгения Рассказова (студента 4 курса нашей кафедры) о стажировке в Digital Security.
Тема: «Реализация программно-аппаратной части для MITM-атак и fuzzing knx-tp»

Интервью:

1. Почему решили стажироваться именно в DSec? Чем привлекла вас компания?

О компании знаю давно, поскольку знакомые из вуза стажировались у вас, некоторые остались работать. Положительные отзывы со стороны знакомых, которые полностью оправдали себя.

2. Понравилась ли стажировка? Что особенно запомнилось? Насколько реальность совпала с вашими ожиданиями?

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

3. Расскажите о своей задаче/задачах.

Моей задачей на стажировке была реализация программно-аппаратной части для проведения MITM-атак и fuzzing KNX-TP. Ее выполнение я начал с изучения KNX. Что это? Как работает? Какова структура пакетов, бегающих по сети? Как можно со всем этим взаимодействовать?

Трансивер KNX-TP для RaspberryPi

Изучив работу ETS5, я собрал KNX-сеть и настроил её работу. Вооружившись осциллографом и логическим анализатором, я наблюдал работу KNX-TP сети на более низком уровне. Следующей моей целью было сделать проект печатной платы KNX-трансивера на основе чипа NCN5120 для Raspberry PI. В качестве САПР был выбран Altium Designer. Разобравшись с AD и изучив работу NCN5120, я принялся за проектирование платы. В процессе возникали разные трудности в работе с AD, но плата была завершена и отправлена в производство. В итоге, мы получили плату с двумя NCN5120, что позволяло вклиниваться в разрыв линии связи в KNX-TP. Благодаря этому, возникла возможность реализации MITM-атаки. Плата подключается к Raspberry PI с помощью SPI. В процессе углубленного изучения Raspberry PI выяснилось, что инструмент не поддерживает работу SPI в режиме slave (скорее даже не он, а сам Linux не поддерживает SPI slave, хотя можно так же заметить, что и процессор на Raspberry PI может сделать slave только на 1 из 2 SPI, что нас тоже не особо устраивает), а NCN5120 работает только в режиме master. Было решено написать программную реализацию SPI slave. После попыток работы с Python было решено реализовать все на чистом C. К сожалению, поставки комплектующих задержали, и собрать до конца работающую плату не удалось. Как следствие, протестировать работу программного SPI slave вместе с платой так же не получилось.

4. Показались ли интересными задачи, над которыми вы работали в процессе стажировки? Было ли что-то, чем вы хотели заняться, но не удалось?

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

5. Готовы ли вернуться в компанию на стажировку или на работу?

Как стажер — скорее нет, чем да. А как сотрудник — с удовольствием.

Источник