Search
Write a publication
Pull to refresh
4
0
Send message

Блеск и нищета WebAssembly

Level of difficultyHard
Reading time20 min
Views13K

Всем привет! Сейчас за окном осенние деньки 2024 года. Вещает Пройдаков Евгений. Сейчас я руковожу группой разработки среды исполнения языка eXtraction and Processing в R&D департаменте Positive Technologies.

Доменно специфичный язык eXtraction and Processing является важной частью движка поведенческого анализа, используемого в таких продуктах Positive Technologies, как MaxPatrol SIEM и PT ISIM. Сегодня хотелось представить вашему вниманию выжимку нашего R&D процесса в экспериментах с WebAssembly.

Узнаем, что такое WebAssembly. Поймём, как его можно встроить в программный продукт. Коснёмся инструментов разработки и сред исполнения WebAssembly. А также в рамках одной статьи пройдём путь от постановки задачи до результатов по разработке среды исполнения для доменно специфичного языка программирования.

Кроме того, мы разберем некоторые проблемы, которые могут появиться у вас при попытке собрать и отладить большой С++ проект под WebAssembly. Материал может быть особенно полезен тем, кто хочет использовать WebAssembly за пределами веб‑браузера.

Более подробно про сам язык eXtraction and Processing можно почитать в прошлой статье цикла от моего коллеги Михаила Максимова.

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

На старт, внимание, поехали!

Книги, которые стоит почитать ИТ-архитекторам. Часть 2

Reading time4 min
Views20K

Привет, Хабр! Это Саша Бардаш, главный архитектор интеграционных платформ в МТС Диджитал. В прошлый раз я рассказывал о пяти книгах, которые стоит почитать начинающему ИТ-архитектору. Большое спасибо всем, кто читал. Были интересные комментарии на тему, какие еще книги почитать — кое-что из этого я добавил в свою новую подборку. Итак, под катом пять книг, которые будут интересны уже более опытным ИТ-архитекторам. Что ж, поехали!

Читать далее

Как сделать идеальный газон для гольфа: боремся с американской установкой SubAir и побеждаем

Level of difficultyEasy
Reading time5 min
Views2.4K

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

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

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

Читать далее

Небольшая хитрость для простого взаимодействия Rust и C++

Level of difficultyMedium
Reading time10 min
Views4.6K

На работе я переписываю запутанный C++ код на Rust.

Из‑за активного использования коллбеков (вздох), Rust иногда вызывает C++, а C++ иногда вызывает Rust. Все это благодаря тому, что оба языка предоставляют C API для функций, которые можно вызывать со стороны противоположного языка.

Это касается функций; но как быть с методами C++? Представляю вам небольшую хитрость, благодаря которой можно переписать, без головной боли, один метод C++ за раз. И, кстати, это работает независимо от языка, на который вы переписываете проект, это не обязательно должен быть Rust!

Читать далее

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

Level of difficultyEasy
Reading time5 min
Views5.8K

В 1971 году английский физик-математик и лауреат Нобелевской премии Роджер Пенроуз предложил, как можно извлечь энергию из вращающейся чёрной дыры. Он утверждал, что это можно сделать, создав своего рода «упряжь» вокруг аккреционного диска чёрной дыры, где падающая материя разгоняется до скорости, близкой к скорости света, что приводит к выделению энергии в нескольких длинах волн. С тех пор многие исследователи предполагают, что продвинутые цивилизации могут использовать этот метод (процесс Пенроуза) для энергетической подпитки своей цивилизации и что это может быть явным технопризнаком – признаком работы внеземного разума — который мы можем засечь.

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views66K

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

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

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

Читать далее

Необычные приёмы отладки, которые браузер от вас скрывает

Level of difficultyMedium
Reading time8 min
Views19K

Список неочевидных, но при этом полезных хаков, которые позволят использовать отладчик вашего браузера1 более полноценно. Для понимания материала статьи потребуется как минимум средний уровень владения инструментами разработчика.
Читать дальше →

Распаковывая Valkey или миллион RPS на BSD-клоне Redis

Level of difficultyMedium
Reading time7 min
Views7.1K

В этот статье мы поделимся некоторыми результатами тестирования производительности Valkey (BSD-клон Redis). TL;DR: он действительно по ядрам скейлится лучше Redis и мы сделали миллион запросов с одного инстанаса.

В этом году Redis, “кеш с персистентностью”, мимкрирующий под СУБД и даже умеющий работать в режиме распределенного кластера – фантастически успешный проект, да и просто пример отличного продукта – сменил лицензию. Подробное рассмотрение лицензионной политики, включающее разбор лицензий Open Source и Source Available - выходит за рамки этой статьи. Скажем лишь, что это всё продолжение битвы “против облачных провайдеров”, которые “пользуются” результатами “настоящих” open source проектов, предоставляя услуги management service.

Итак, Redis cменил лицензию, и почти сразу же сотрудники AWS (Amazon Web Services, крупнейшего облачного провайдера) в сотрудничестве с другими облаками объявили о выпуске форка, Valkey: https://valkey.io/

Читать далее

Программируем полётный контроллер на основе DIY проекта Flix

Level of difficultyMedium
Reading time19 min
Views29K

У нас в МАИ, в 8-м институте, учатся будущие разработчики IT‑продуктов и софта для авиационных систем, аэропортов, логистики и много чего ещё интересного. Один из курсов с 2023 года мы решили посвятить разработке программного обеспечения для автопилота. В курсе всё как положено, с красивыми диаграммами регуляторов, кватернионами и кодами таких проектов как Ardupilot, PX4, Betaflight, iNav и другими.

Однако, довольно сложно сразу вкатиться в тему полетных прошивок — они переполнены всякими фичами и функционалом, так что неподготовленному разработчику сложно понять как же это всё работает. Поэтому долгое время я искал такой проект, который позволяет «на пальцах» объяснить как работает прошивка полётника. Таким проектом для меня стал Flix от Олега Калачева. Про опыт сборки проекта и изучения на его основе полетной прошивки со студентами и пойдет разговор в этой статье.

Полетели !

Дядя Фёдор и методы рационального мышления

Level of difficultyEasy
Reading time21 min
Views27K

Несколько лет назад я с удовольствием прочитал фанфик «Гарри Потер и методы рационального мышления»  Элиезера Юдковского. Несмотря на подростковую направленность книжки, она получилась интересной. И умопомрачительно смешной – особенно на контрасте с оригинальным произведением.

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

Мне очень понравился формат книги Элиезера – в которой он объяснял серьезные научные концепции на примере знакомых с детства персонажей. Читая, я задавал себе вопрос: Какими бы получились «Гарри Потер и Методы», если бы Элиезер жил в России? Какую книгу он выбрал бы для основы? Приключения Буратино заняты покойным Константином Крыловым, так что остается только Незнайка и дядя Фёдор.  При этом дядя выглядит тут предпочтительнее – Незнайка слишком оторван от окружающей нас реальности, которая требует осмысления.

Взявшись писать, я решил немного осовременить исходную книгу. Мне не нравится, что современные писатели-фантасты, вместо того чтоб отвечать на заданные социумом вопросы, попрятались в виртуальные миры и носа не кажут наружу. Поэтому моему Дяде будет четырнадцать. Это интеллигентный московский подросток из хорошей семьи, который бежит в деревню – где погружается в лютую русскую хтонь…

Читать первую главу:

Что нужно знать и уметь начинающему специалисту по ремонту ноутбуков? Часть 2

Reading time4 min
Views16K

Привет, Хабр! Продолжаю публиковать статьи по ремонту ноутбуков с советами для начинающих мастеров (первая часть). Если вы уже опытный ремонтник — присоединяйтесь. Делитесь своими советами в комментариях. Хабр тем и ценен, что комментарии часто дают больше информации, чем сама статья. Но я, конечно, постараюсь сделать ее максимально полезной. Итак, поехали!
Читать дальше →

Красная команда, черный день: почему матерые пентестеры лажают в Red Team

Reading time12 min
Views15K


Как правило, заказы на Red Team поступают к уже опытным хакерским командам, которые набили руку на многочисленных пентестах. У них есть проверенные тактики и методы взлома, а также уверенность в своих силах. А ещё иногда они совершают «детские» ошибки во время первых редтимингов в карьере. Знаю это по собственному опыту.


В этой статье тряхну стариной и расскажу об одном из первых Red Team-проектов:


  1. Разберу различия между Red Team и пентестом с точки зрения исполнителя.
  2. Поделюсь приемами оффлайн-разведки и рассмотрю процесс поиска уязвимостей на примере реального кейса.
  3. Покажу типичные ошибки, которые совершают пентестеры, переходящие в Red Team.
Читать дальше →

Обзор криминалистических артефактов Windows

Level of difficultyMedium
Reading time12 min
Views19K

При расследовании инцидентов информационной безопасности на хостах под управлением Windows, специалистам приходится искать свидетельства и доказательства вредоносной активности. В типичной ситуации аналитик сталкивается с физическим диском или его образом, содержащим множество артефактов операционной системы, которые не всегда легко интерпретировать. Иногда стандартный набор артефактов может не обеспечить полный ответ на вопрос: «Что произошло в системе?». Например, если настройки аудита неправильно настроены, то необходимые события в журналах безопасности могут не записаться, или злоумышленник может успеть очистить наиболее популярные артефакты, или данные в процессе сбора или передачи могут повредиться.

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

Подробнее

Корутины? Простейшая имплементация на C, protothread и Arduino

Level of difficultyEasy
Reading time4 min
Views8.4K

*иногда хочется уйти от управляемых будней

Корутины — это функции, которые могут приостанавливать своё выполнение и возобновлять его позже, сохраняя своё состояние между вызовами. Это позволяет выполнять несколько задач одновременно без необходимости создания отдельных потоков или процессов.

Читать далее

Задача коммивояжёра в общем виде. Наибыстрейшее точное решение

Level of difficultyEasy
Reading time6 min
Views17K

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

Тут я хочу подытожить все опробованные подходы и выбрать лучший по моему мнению.

Читать далее

Как я создавал онлайн игру «нарды» (часть четвертая). Сервер

Level of difficultyEasy
Reading time6 min
Views1.4K

Всем привет!

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

Читать далее

WebTTY: Доступ по SSH через браузер, даже там, где порт закрыт

Level of difficultyMedium
Reading time9 min
Views18K

Как мы с вами знаем, SSH — надежный и безопасный протокол для удаленного управления системами, который является неотъемлемой частью работы у многих. Однако, что делать, когда стандартные порты SSH заблокированы или закрыты, например, в строго защищенных корпоративных сетях или в облачных средах с жесткой политикой безопасности? Или что делать, если под рукой есть только браузер и нет возможности использовать обычный терминал?

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

В этой статье мы рассмотрим, как WebTTY может быть использован для доступа к SSH-портам через браузер, даже если они закрыты, как его можно настроить и когда его можно использовать. Основана цель данного материала – познакомить вас с таким вариантом подключения и показать, как использовать данный инструмент. Надеюсь, что представленные примеры и объяснения помогут вам оценить его возможности и найти полезные применения в вашей практике.

Читать далее

Фреймворки для работа с данными на Rust. Часть 1

Level of difficultyEasy
Reading time5 min
Views2.4K

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

Если бы мне сказали, что я однажды заменю привычный Python или Scala для работы с данными на Rust, я бы, пожалуй, ухмыльнулся и продолжил привычное дело. Но времена меняются, и Rust вполне уверенно пробивает себе дорогу в мир больших данных. Сегодня я расскажу вам о трех фреймворках, которые делают Rust конкурентом в обработке данных.

Читать далее

VLESS vs ShadowSocks. Рассказываем про протокол, который придет на смену SS

Level of difficultyEasy
Reading time2 min
Views147K

Если вы когда-нибудь искали бесплатные outline-ключи, то вам будет полезно узнать про VLESS — новый протокол, который постепенно приходит на смену Shadowsocks. Поговорим о том, чем они отличаются и какие у них есть преимущества.

Читать далее

OSINT-разведка: идентификация пользователя по заданной местности

Reading time8 min
Views11K

В этой статье речь пойдёт о OSINT-инструменте, использующий API Telegram для определения местоположения пользователя в заданном диапазоне (от 500 метр.) благодаря включенной функции "Люди рядом" разработанный Alb310 из Project FOX. 

Рассмотрим три кейса: Аэродром в Чаплынке, Украина; военный городок в Фуэрте Тиуна, Венесуэла и ядерную программу Ирана(в частности, Бушерскую АЭС) определим что за лица там находятся, их биографию и происхождение.

Читать далее

Information

Rating
3,651-st
Registered
Activity