Так повелось в мире, что время от времени необходимо проводить исследования безопасности драйверов и прошивок. Одним из способов исследования является — фаззинг (Fuzzing). Не будем останавливаться на описании самого процесса фаззинга, для этого есть эта статья, отметим только, что в основном его используют для исследования прикладных приложений. И тут возникает вопрос: как профаззить прошивку, в частности прошивку UEFI? Здесь будет рассказано об одном из способов с использованием программного эмулятора EDKII, чтобы проводить фаззинг без развертывания аппаратных стендов. И что важно, все это сделаем в Windows.
инженер
Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг
Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи - описать, как мы пришли к дашборду для персональных стендов разработчиков.
Графические оболочки FFmpeg
Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.
Но есть люди, которые всегда предпочтут GUI. Они считают графический интерфейс «наиболее эффективным и удобным способом работы на десктопе». На самом деле они во многом правы, в том числе для специфических задач видеообработки важно сразу видеть результат.
FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Смерть от тысячи микросервисов
Как мы к этому пришли? Как мы стали вместо решения наших задач, тратить кучи денег на решение проблем, которых у нас нет?
О троице, которая хакнула настоящий поезд. Даже целых 30 поездов
Поезд, сделанный польской компанией, внезапно сломался во время техобслуживания. Специалисты были беспомощны — поезд был в порядке, только никак не хотел ехать. Доведённые до отчаяния, они вызвали на помощь команду Dragon Sector, члены которой нашли такие чудеса, о которых машинисты даже и не мечтали.
В этой истории мы отправимся в необычное путешествие. Путешествие, полное неожиданных открытий и событий, путешествие под давлением времени и больших денег, а также необычных технологий. Путешествие, в котором поезд играет самую важную роль — хотя, к сожалению, он не едет, а должен был бы. Пристегнитесь — или, по крайней мере, сядьте поудобнее, потому что дальше будут крутые повороты.
USB-флешки: заряжать нельзя игнорировать
В интернете прошла смута под названием «зачем заряжать флешку». На первый взгляд смешно, но предлагаю еще раз подумать и разобраться в вопросе. После прочтения этой статьи вы тоже начнете заряжать свои флешки.
Насколько жарко — это слишком жарко? Жара + влажность становятся опасными быстрее, чем многие думают
По мере изменения климата волны жары становятся все более интенсивными: они длятся дольше, идут чаще, а температуры всё выше. Сейчас одна такая волна проносится через Европу: в Испании и Португалии только за прошедшую неделю умерли 1100 человек. Люди просто оказались не готовы к температурам выше 35 ºС: у них в домах не было кондиционеров, а многие днем выходили и пытались работать как обычно. И получили огромные проблемы со здоровьем.
В целом по Европе за одно это лето счет идет уже на десятки тысяч. Этот год, по всей видимости, станет даже более смертоносным, чем печально известный 2003-й, когда в Европе от жары погибло 30 000 людей. Но тогда температура доходила до 37 ºС, сейчас — под тем же Парижем фиксируют уже до +42 ºС.
Видимо, люди просто не понимают, в какую погоду можно находиться на улице, как им вести себя дома, и насколько вообще всё серьезно.
Попытаемся ответить.
Графика древности: палитры, часть 1/2
Хотя пиксельная графика прошлых лет полна нюансов, несомненно, одной из её главнейших характеристик, наряду с разрешением, является палитра — ограниченный набор цветов, которым нарисовано пиксельное изображение. Уникальное сочетание цветов, доступное на отдельно взятом старом компьютере или игровой приставке, часто позволяет даже беглым взглядом отличить графику для одной платформы от другой. Техники работы с палитрами и подбор оттенков также являются визитной карточкой многих пиксельных художников прошлого и современности. Но палитра — это не просто случайный набор цветов. Это результат технических ограничений и инженерных решений, в результате которых родились необычные техники рисования, анимационные спецэффекты, и особая визуальная эстетика.
Фотохостинги с 2017 по 2023 (утрачено 57% фотографий)
С публикации прошлого текста ( «Тестирование фотохостингов на цифровой износ (21 шт)») прошло 6 лет, что позволяет провести новое исследование, но не по теме цифрового износа и конкретно по вопросу выживания цифровых архивов.
Если вы захотите сказать, что тема очевидная и общеизвестная, то вы ошибаетесь - не существует ничего очевидного, и каждый день в мире появляются люди, которые ещё не знают того, что знаем мы с вами. Поэтому, время от времени надо рассказывать то, о чём кто-то ещё не знает, снабжая это актуальными примерами.
Ну и, опять же, у меня есть эксперимент длиной в десятки лет и не плохо было бы зафиксировать его промежуточные результаты.
Время изменений: депрекация datetime.utcnow() в Python
Как-то я изучал release notes новой версии Python 3.12, и в разделе о депрекациях моё внимание привлекла следующая фраза:
utcnow()
и utcfromtimestamp()
из datetime.datetime
устарели и будут удалены в будущей версии.
Если вы следили за моими туториалами по веб-разработке, то видели, что я часто использую utcnow()
; очевидно, мне придётся переучиваться и использовать альтернативу, готовясь к неизбежному удалению этой функции (вероятно, это произойдёт спустя несколько лет, так что причин для паники нет!).
В этой краткой статье я подробнее расскажу о том, почему эти функции попали под нож и чем их можно заменить.
Что ты такое, dhclient?
Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.
Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF.
Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables.
И копать можно безгранично далеко. Но сегодня мы всё же поговорим о вещах более приземлённых и повседневных, которые лишь приоткрывают вход в эту разветвлённую сеть кроличьих нор. Мы разберём одну любопытную задачку, на примере которой ужаснёмся тому, как сложно может быть реализован такой простой протокол, как DHCP.
Как я реверс-инженерил китайский блютуз контроллер
Создание цветомузыки посредством реверс инженеринга блютуз контроллера и анализа звукового потока через golang.
Глубокий JS. В память о типах и данных
Всех нас учили, что в JavaScript есть примитивные и ссылочные типы данных. Исчерпывающая информация есть в официальной документации, а на просторах интернета полно статей на этот счет.
Теория теорией, однако, JS-код исполняется не в теории, а на практике. Точнее, его компилирует и исполняет движок JS. Таких движков существует несколько, разрабатывались они разными людьми и для разных целей. Было бы наивно предполагать, что все они полностью идентичны друг другу. А значит, время разобраться, как же на самом деле хранятся вполне конкретные данные на вполне конкретном движке JS V8.
Jenkinsfile – это не Groovy
Я не нашел в документации к Jenkins утверждения, что Jenkinsfile
пишется на Groovy, но количество отсылок к Groovy столь велико, что у многих людей создаются ложные ожидания.
Я решил написать этот пост после многократного объяснения коллегам отличий скрипта Jenkinsfile
от Groovy.
React + Three.js. Создаём собственный 3D шутер. Часть 2
Привет, дорогие пользователи мира IT!
В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.
В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.
Почему мы решили обновить протокол MODBUS RTU, которому исполнилось 40 лет и как появился его потомок – idiBus
Почему мы решили обновить протокол MODBUS RTU, которому исполнилось 40 лет и как появился его потомок – idiBus. Новый протокол по единственной причине - как результат многократного снижения цен на цифровую электронику.
Истории должны умереть
Привет, меня зовут Андрей Осягин, я Product Owner в Домклике и отвечаю за продукт «Кабинет участника сделки». Он нужен для подготовки к ипотечной сделке с момента первичного одобрения заявки и до самой выдачи кредита. MAU Домклик сейчас превышает 16 млн пользователей.
Я расскажу вам, как мы реализовали проект «Истории»: опишу вдохновение, разочарования, запуск и метрики, и отвечу на вопрос — должны ли истории умереть. Эта информация может пригодится тем, кто планирует запускать такой или похожий проект в своём продукте, или думает о том, как решить похожие задачи.
Gryffine — история одного пет-проекта
Как-то раз один знакомый сисадмин пожаловался мне на жизнь суровую. Он рассказал об одном инциденте в его конторе. Стоит оговориться, что контора небольшая и такой сущности как отдельный специалист по информационной безопасности там нет. Инцидент стандартный до банальности. Случайно заметили аномальную активность на линуксовых серверах. Подозрения сразу же подтвердились выводом команды who, который показал подключение по ssh с прокси-сервера с IP одной маленькой, но очень гордой страны. Дальше было то, что и положено в таких ситуациях, а именно: сменить доступы, понять откуда зараза по сети пошла, и что именно она делала. Доступы сменили, а вот когда полезли в логи, с удивлением обнаружил, что они уже несколько дней как пишутся в /dev/null, то есть у злоумышленника на сервере был root-доступ. Позже выяснили, что причиной была утечка пароля от аккаунта одного из сотрудников с доступом к sudo.
История, в общем-то, типичная, тысячи таких. Но меня она зацепила и побудила задаться вопросом: а как, собственно поймать хакера в тот самый момент, когда он попал на сервер впервые и пытается там закрепиться? Возможно, существуют enterprise-решения аудита и мониторинга входа на удалённую машину, но даже крупный бизнес с неохотой тратится на инфобез. Не говоря уже о небольших конторах с IT-отделом в 3,5 человека. Будем делать всё сами, благо в линуксах требуемая функциональность есть практически из коробки.
Один на 150 миллионов операций. Расследуем причины выброса времени отклика в операциях ввода-вывода
Привет! Я Александр Пищулин, перфоманс-инженер в компании YADRO. Сегодня расскажу об одном интересном случае траблшутинга в работе с системой хранения данных — он касается выброса времени отклика. Поиск причин сбоев, наверное, одно из самых увлекательных занятий в моей работе. Зачастую у подобных задач минимальная формализация подхода к решению, каждый раз может быть своего рода открытием или, если угодно, челленджем.
Так произошло и в случае, который я описываю под катом. Путь решения задачи может показаться не оптимальным, но в итоге именно он привел к неожиданной разгадке всей проблемы. Возможно, вы бы начали искать проблему иначе — предлагаю поделиться вашими соображениями или опытом в комментариях.
Information
- Rating
- 2,647-th
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity