Pull to refresh
83
0
Павел Васильев @LuigiVampa

Разработчик / специалист по ИБ

Send message

Путешествие в мир эмуляторов микропроцессоров

Level of difficultyMedium
Reading time24 min
Views8.8K

Всем привет!

Не так давно на Хабре появился занятный пост о разработке процессора, и я понял, что созрел для своей первой статьи как раз в этом направлении.

Тема разработки эмуляторов олдскульных микропроцессоров типа того же Intel 8080 не нова. Если вы уже разбираетесь в вопросе, то для вас этот пост не будет чем-то новым, разве что вы увидите еще один подход к реализации такого проекта. Для тех, кто ничего об этом не слышал – прошу под кат.

Читать далее
Total votes 40: ↑40 and ↓0+55
Comments16

Загадка чёрной капли

Level of difficultyEasy
Reading time12 min
Views21K

Как говорится, вместо тысячи слов: по изображению выше вы сразу поймёте, о чём пойдёт речь в статье — про чёрные «капли» на платах электронных устройств.

Сейчас мы все знаем или хотя бы догадываемся, что это такое. Но были времена, когда мы не знали, что это такое. Было страшно, страшно интересно, что же это такое. Предлагаю вспомнить о тех счастливых доинтернетных временах и о простых детских забавах, когда жизнь была полна загадок, и никто из взрослых не мог подсказать и разъяснить то, с чем мы сталкивались впервые.
Читать дальше →
Total votes 140: ↑136 and ↓4+177
Comments75

Учимся читать QR-коды без компьютера

Level of difficultyMedium
Reading time4 min
Views42K

Задавались ли вы когда-нибудь вопросом, как работают QR-коды? Если да, то эта статья для вас. Здесь вас ждёт интерактивное объяснение*, которое мы составили для семинара, проводившегося в рамках Всемирного конгресса хакеров 37C3, но вы также можете использовать его самостоятельно.

Прочитав статью, вы узнаете:

  • Из чего состоят QR-коды.
  • Как декодировать QR-коды вручную (используя нашу шпаргалку).
Читать дальше →
Total votes 96: ↑93 and ↓3+116
Comments33

Можно ли получить рут при помощи одной зажигалки?

Level of difficultyMedium
Reading time13 min
Views16K
Спойлер: ДА.

Элитный инструмент для хакинга; от вас скрывают, что он уже у вас есть

Прежде чем писать эксплойт, нам нужен баг. А если багов нет, то приходится быть изобретательными — тут нам на помощь приходит внесение неисправностей. Внесение неисправностей (fault injection) может принимать множество различных форм, в том числе быть управляемым ПО повреждением данных, глитчингом питания, тактовым глитчингом, электромагнитными импульсами, лазером и так далее.

Для внесения аппаратных неисправностей обычно требуется специализированное (и дорогостоящее) оборудование. Его цена связана с высокой точностью времени и места внесения неисправностей. Для снижения цен было совершено множество отважных попыток такими проектами, как PicoEMP на основе RP2040 и вплоть до «Laser Fault Injection for The Masses». (Неожиданная популярность RP2040 связана с его низкой ценой и периферией PIO, обеспечивающей ввод-вывод с чёткими таймингами и задержками.)

Какое-то время назад я прочитал об использовании соединённой с индуктором пьезоэлектрической зажигалки для барбекю в качестве низкобюджетного устройства для внесения электромагнитных неисправностей (electro-magnetic fault injection, EMFI). Меня захватила эта идея. Я задался вопросом, а чего можно добиться при помощи такого примитивного устройства? На тот момент мне пришёл в голову лишь эксплойтинг работающей на Arduino программной реализации AES при помощи DFA. И это сработало!

Но этого мне было мало. Я хотел эксплойтить что-то более «реальное», но на то время у меня закончились идеи.

Перенесёмся в наше время: пару недель назад уже ожидалось объявление о выпуске Nintendo Switch 2. Предполагается, что системное ПО Switch 2 будет практически таким же, как и на Switch 1, а программные баги для изучения у нас закончились. Поэтому у меня возникла мотивация смахнуть пыл с моих навыков взлома оборудования, и я вернулся к мыслям о низкобюджетном EMFI.
Читать дальше →
Total votes 63: ↑62 and ↓1+85
Comments17

История глазами араба XIV века

Reading time12 min
Views11K

Сегодня я предлагаю вам посмотреть на историю глазами Абу Зейда Абдуррахмана ибн Мухаммада аль-Хадрами, более известного под именем Ибн Хальдун.

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

· Именно он по поручению гранадского эмира вёл переговоры о мире с Педро Кастильским,

· Он занимал высокие посты при дворе султана Туниса,

· Был письмоводителем при дворе султана Феса,

· Вёл переговоры между египетским султаном и Тамерланом,

· Многократно занимал должность верховного кади (верховного судьи) маликитов.

Читать далее
Total votes 50: ↑45 and ↓5+46
Comments41

Выгодоприобретатели блокировки Youtube

Reading time18 min
Views169K

Недавно возникшая тема с блокировкой (замедлением) Youtube коснулась практически каждого жителя РФ. При этом до сих пор нет ни одного прямого официального заявления о причастности к этой блокировке. Ни одно государственное ведомство не созналось в блокировке, открестился Google, открестились провайдеры интернета. На этом фоне мне показалось важным не только выявить и указать всех причастных, прямых и косвенных, но и установить, кто и в каком отношении является выгодоприобретателем от этой блокировки. Выявить, о каких денежных потоках идет речь и куда они в конечном итоге идут.

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

Читать далее
Total votes 408: ↑391 and ↓17+449
Comments450

Интероперабельность между С++ и Rust

Level of difficultyHard
Reading time13 min
Views8.3K
image

image

Этот пост основан на презентации, с которой автор выступил на конференции EuroRust 2022 в Берлине. Доступны слайды и видеозапись.

Автор, работающий в компании Slint, участвует в создании UI-инструментария, написанного на Rust. Этот UI-инструментарий может использоваться и с другими языками и экосистемами, кроме той, для которой был написан, поэтому в Slint предусмотрены API для C++ и даже для Javascript. Естественно, эти API должны восприниматься как совершенно нативные для разработчиков, имеющих дело с этими языками. Именно поэтому ребром стоит вопрос о том, как создать нативно воспринимаемые API к коду Rust для пользователей, привыкших работать с C++.

В Slint предусмотрена возможность пользоваться имеющимся кодом на C++ для дальнейшей его интеграции в другие экосистемы для разных операционных систем. Это касается таких тем, как оформление виджетов, обеспечение доступности и пр. Вот почему не менее важно открывать из мира Rust удобный доступ к коду, уже написанному на C++.

В этом посте хотелось бы исследовать оба направления интеграции между Rust и C++ и представить некоторые инструменты, используемые в Slint.
Читать дальше →
Total votes 30: ↑28 and ↓2+37
Comments1

Лента Мёбиуса мобильной разработки: что расскажут на Mobius 2024 Autumn

Reading time15 min
Views667

Что общего у мобильной разработки с лентой Мёбиуса? С первого взгляда видишь две стороны: вот же они, Android и iOS. А потом присматриваешься — и замечаешь, что одно может плавно переходить в другое.

Вот смотрите. Мы скоро проведём конференцию Mobius. Казалось бы, хабрапост с описаниями докладов логично поделить на две части, чтобы любому разработчику было удобно читать именно о «своей» платформе.

Но будет, например, доклад про корутины в Kotlin. Этот язык привычен в мире Android, однако с Kotlin Multiplatform выходит за рамки платформы. И кому тогда стоит знать про такой доклад: Android-разработчикам или всем?

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

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

Программа Mobius 2024 Autumn
Total votes 5: ↑5 and ↓0+12
Comments1

Тестирование лучших self-hosted аналогов Notion

Level of difficultyEasy
Reading time6 min
Views20K

image


Хабр, в связи с уходом Notion выросла потребность в аналогичном решении, которое бы было сопоставимо удобной Wiki, Task Manager — платформе. 


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

Читать дальше →
Total votes 46: ↑44 and ↓2+57
Comments35

Обновлено: Как я обнаружил проблемы у ЮМани (Сбербанк) с безопасностью и не получил денег за найденную уязвимость

Level of difficultyEasy
Reading time7 min
Views59K

Как известно, в России почти каждая первая финансовая организация позиционирует себя как софтверную IT‑компанию, а не просто как «банк» или «платежная система». Сегодня речь пойдет о ЮМани — подразделении Сбера, IT‑гиганта всея руси.

До того, как ЮМани стал тем, чем он сейчас является, сервис долгое время существовал как продукт Яндекса под названием Яндекс.Деньги — в те времена у меня был очень приятный опыт взаимодействия с техническим руководством компании, я неоднократно (будучи security researcher'ом) сообщал им об уязвимостях, а они, в свою очередь, оперативно это исправляли, давали обратную связь и вознаграждали за такую работу, аналогично тому, как это делали и зарубежные крупные IT‑компании в рамках взаимодействия с white‑hat хакерами. Такая вот IT‑компания здорового человека. Но с тем, как Сбербанк поглотил Яндекс.Деньги и провёл ребрендинг, проект стал превращаться, скорее, в IT‑компанию курильщика: взаимодействовать с представителями проекта в соц. сетях стало практически невозможно, какие‑либо данные на страницах о Bug Bounty программах были удалены и даже ни одного email‑адреса не оставили в качестве средства связи для сообщения об уязвимостях.

Пару месяцев назад я обнаружил уязвимость в сервисе ЮМани (о ней чуть позже) и сразу же решил сообщить о ней. Однако никаких релевантных этому форм связи, email‑адресов и т. д. я не обнаружил — способов безопасно сообщить о такой уязвимости элементарно не было на официальном сайте сервиса. Я попытался связаться с людьми, работающими в ЮМани, однако, опять же, я не получил никакой обратной связи. На этом моменте я, что называется, «забил», в надежде, что ошибку исправят и без меня, ведь не может же такая дырень оставаться незамеченной долго, правда? Спойлер: может.

Читать далее
Total votes 412: ↑403 and ↓9+472
Comments305

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

Level of difficultyEasy
Reading time8 min
Views47K

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Инструкция:
Total votes 144: ↑144 and ↓0+165
Comments135

Маршрутизация по DNS на OpenWrt

Level of difficultyMedium
Reading time10 min
Views27K

Написать данную статью меня побудили следующие обстоятельства:

Обновление ОС на своём роутере до OpenWrt 23.05, сломавшее мой предыдущий setup, где я делал роутинг по GeoIP.

Многочисленные вопросы знакомых и в дискуссиях в постах на Хабре.

Статья на Хабре, по которой я стал делать и понял, что так делать не надо.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments47

Как настроить автодополнение для команды ssh с хостами из .ssh/config

Level of difficultyMedium
Reading time5 min
Views7K

Я администрирую много серверов и параметры подключения к ним занесены в ~/.ssh/config файл. В этой статье я расскажу, как настроить автодополнение для команды ssh, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config.

Читать далее
Total votes 30: ↑28 and ↓2+33
Comments17

ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик

Reading time18 min
Views35K

На Хабре уже как минимум дважды упоминался новый отечественный стандарт блочного шифрования ГОСТ Р 34.12 2015 «Кузнечик», ru_crypt в своем посте рассмотрел основные механизмы и преобразования нового стандарта, а sebastian_mg занимался пошаговой трассировкой базового преобразования. Но многие вопросы остались без ответа. Насколько быстр новый ГОСТ? Можно ли его оптимизировать, эффективно реализовать, ускорить аппаратно?


GOST R 34.12 2015 with SSE2

А если можно, то как?
Total votes 55: ↑53 and ↓2+51
Comments47

Зачем в iPhone чип, который убивает FaceID

Level of difficultyMedium
Reading time9 min
Views53K

Разбирался я в низкоуровневой работе камер iPhone, и дошёл до FaceID — системы распознавания лиц, используемой Apple для разблокировки смартфона. И наткнулся внутри на интересную вещь: чип, единственное предназначение которого в том, чтобы вывести из строя FaceID. Навсегда.

О том, как в iPhone вообще работает FaceID, где там этот чип стоит, что именно он делает, зачем его сделали таким злым, и как в ремонте справляются с этой напастью — под катом!

Читать далее
Total votes 641: ↑640 and ↓1+758
Comments177

Криптографический алгоритм «Кузнечик»: просто о сложном

Reading time14 min
Views87K
В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java.

Кто, как, когда и зачем разработал данный алгоритм останется за рамками статьи, так как в данном случае нас это мало интересует, разве что:

КУЗНЕЧИК = КУЗнецов, НЕЧаев И Компания.



Так как криптография в первую очередь основана на математике, то чтобы дальнейшее объяснение не вызвало уймы вопросов сначала стоит разобрать базовые понятия и математические функции, на которых строится данный алгоритм.
Читать дальше →
Total votes 46: ↑39 and ↓7+32
Comments51

Процесс загрузки iPhone. Часть 1: Boot ROM

Reading time14 min
Views23K

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

Почитать
Total votes 50: ↑50 and ↓0+50
Comments5

Собираем бюджетный домашний NAS на 14 ТБ

Level of difficultyMedium
Reading time13 min
Views75K


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →
Total votes 140: ↑139 and ↓1+171
Comments261

Записки о спамерах – 2023: небинарность на службе «солидного» бизнеса

Level of difficultyEasy
Reading time9 min
Views10K

Рис. 1: часть спектра гендерной идентичности спамеров.

Я радуюсь, получая спам, ведь у меня появляется возможность пополнить бюджет любимой страны (откуда берутся деньги на пенсии, больницы, школы, домики для уточек, а теперь еще и на Counter-Strike, если вы понимаете о чем я). Каждое полученное от спамеров сообщение я аккуратно пересылаю в ФАС, давая той возможность пополнить бюджет уже не на жалкие 2-500 тысяч рублей штрафа, а вплоть до 1 миллиона, а потом наслаждаюсь материалами «расследований», проливающих свет на грязную подноготную «солидного бизнеса» и его небинарных подручных. Вранье, подтасовка документов и далее со всеми остановками – все как и в прошлом году, и ранее… и еще кое-что про протезы лапок у надзорных органов.
Читать дальше →
Total votes 96: ↑88 and ↓8+106
Comments47

Замедление YouTube с технической стороны: ограничение и обход

Reading time5 min
Views439K

Привет, Хабр!

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее
Total votes 540: ↑540 and ↓0+631
Comments438
1
23 ...

Information

Rating
4,267-th
Registered
Activity