В этом посте я расскажу о некоторых уловках, которыми я воспользовалась, чтобы уменьшить двоичные файлы С/С++/Python с помощью ассемблера для x86. Здесь всё крутится вокруг кодовой базы Cosmopolitan. Дело в том, что из недавнего отзыва по проекту ELKS я узнала, что мой код там всем понравился и они хотят узнать больше о том, что трюки cosmo могут дать проектам вроде «Linux-порта i8086». Я почувствовала, что мы с ребятами проекта ELKS «одной крови», ведь первое, что я написала при создании Cosmopolitan, — это загрузчик i8086, который назывался Actually Portable Executable. А ещё мне было приятно узнать, что людям, которые погрузились в эту проблему гораздо раньше меня, нравятся мои наработки в Cosmopolitan. И тогда я решила, что неплохо было бы поделиться ими с более широкой аудиторией.
kernel geek
Тенденции DDoS-атак в 4-м квартале 2021 года
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/650/aff/107/650aff107778805fa5a66dbd53f456c4.png)
Помните сентябрьскую DDoS-атаку на Хабр? К старту курса по этичному хакерству делимся отчётом Cloudflare за последний квартал прошлого года, чтобы лучше понимать, к чему готовиться сегодня.
Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c23/34c/58a/c2334c58aca9c9d966cfd8fca853d2e6.png)
На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют.
Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать.
Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.
Как получить онлайн магистратуру по CS от американского университета по цене кофе
Поговорим о: 1) том как я попал в магистратуру по Computer Science от Georgia Tech пока жил и работал в Воронеже, 2) требованиях к поступлению, 3) стоимости, 4) моих впечатлениях от курсов, которые мне читают, 5) почему я все еще продолжаю учиться после того, как начал работать в FAANG и переехал в UK.
HTB Horizontall или как достучаться до небес? #для самых маленьких
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/a82/c2b/a5c/a82c2ba5c35914a762f0fc9b568fba3f.png)
Начинаю публикацию решений машин с площадки HackTheBox. Надеюсь этот туториал станет небольшой подсказкой тем, кто только начинает свой путь в этичном взломе. Начнем....
Реализации машины в qemu
В процессе обратной разработки прошивок иногда возникает задача по ее эмуляции, например, для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qiling и подобных. Однако они поддерживают далеко не все платформы и имеют ряд ограничений для решения таких задач. При разработке эмулятора PLC я столкнулся с тем, что ни один фреймворк для эмуляции не поддерживал требуемую платформу.
Частично эти ограничения снимает разработка эмулятора на базе qemu, однако статей по этой тематике в сети достаточно мало, а официальная документация не содержит примеров реализации простых девайсов. В этой статье я хотел бы восполнить этот недостаток и поделиться своим небольшим опытом по реализации машины в qemu, чтобы сэкономить время начинающих разработчиков и исследователей безопасности, сталкивающихся с похожей задачей.
Уязвимости в Linux допускают возможность атаки «в один клик»
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/42e/5e5/dae/42e5e5daed14cc13223a1aaa4bfcfad6.jpeg)
Группа исследователей CrowdStrike Intelligence обнаружила несколько уязвимостей, влияющих на LibVNCClient в Linux. В некоторых широко используемых средах рабочего стола (например, Gnome) эти уязвимости можно эксплуатировать одним кликом мыши. Детали под катом.
Перейти с Linux на macOS и не сойти с ума
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/07a/d2e/07b/07ad2e07b3913f0c402754b6a9593a81.jpg)
Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.
Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.
Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.
Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.
Как писать bash-скрипты надежно и безопасно: минимальный шаблон
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/993/355/3cb/9933553cb802236bd8c293fb38cf5d77.png)
Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.
Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.
Минимизация файла ELF – попробуем в 2021?
![](https://habrastorage.org/webt/xt/pp/vg/xtppvgng1dwp-cirseicjxm0hj0.png)
Экспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021?
Как мы лажали, открывая очередное юрлицо — на этот раз в США
![](https://habrastorage.org/webt/tc/px/c5/tcpxc5zvup8zpn2mqsm7idotglq.jpeg)
Я тут открывал юрлицо в США и сделал всё по инструкции «как не облажаться», но облажался. Уже в новых местах, не предусмотренных инструкцией.
Главная инструкция вот тут, она написана не юристом, но сами юристы подтверждают, что получилась хорошая и на неё же ссылаются, когда нужно быстро ввести в курс дела новичка. Список того, где уже облажались русские участники УКомбината — вот.
Проект внезапно созрел и нужно было пустить инвесторов. Команда немного размазана по планете, поэтому всем было примерно всё равно, где регистрироваться. Есть вообще типовой стартаперский набор: Кипр, прибалты, США, Сингапур, Люксембург. Но не пофиг было российскому стратегу, одному из инвесторов, он хотел на родине. При этом американское корпоративное правило наиболее гибкое + накоплена большая база прецедентов, то есть оно ещё и предсказуемое. А в штате Делавер наиболее квалифицированный суд, и его решения — просто золотой стандарт отрасли. То есть если у вас есть иностранные инвесторы, стоит выбор между Европой, Кипром и США. Из Латвии и Эстонии тяжело выскакивать при росте компании (и за сладкий старт придётся платить условиями дальше), Кипр хорош, но венчурные инвесторы часто ассоциируют его с «русские что-то там мутят», поэтому Делавер.
Поскольку у нас ИТ-бизнес в России, и мы знаем правила ведения ИТ-бизнеса в России, план был такой:
- Уговаривать стратега на любую зарубежную юрисдикцию (а для них бы это был первый опыт инвестиций в зарубежный проект);
- Как только они дадут добро, за недельку зарегистрироваться, например в Делавере, и принять деньги.
А если стратега не уговорим, то уйдем во все тяжкие согласования венчурной сделки с корпоратом в правовом поле РФ, что одно из самых экстремальных развлечений, доступных бизнесмену. Я наивно полагал, что основные проблемы будут в этой части.
Но нет. Переходим к мякотке.
Циклы маршрутизации
![](https://hsto.org/webt/qe/dg/iv/qedgivbxtbv-aprh-xqdzzlcuxo.png)
Добрый день! Меня зовут Александр Зубков, я работаю в Qrator Labs и сегодня я хочу поговорить о циклах маршрутизации.
Пошаговый запуск программы в Linux x86, или как добраться до main()?
Как я «напрограммировал» себе скилл рисования диаграмм в скетч-стиле
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ee3/056/97a/ee305697a99dfa7e7275a517424db042.png)
По работе мне часто приходится рисовать разные схемы, диаграммы процессов и графики, в том числе и те, которые потом используются в качестве иллюстраций для сайта, статей и презентаций. Всё бы ничего, но есть у диаграмм и графиков, сделанных в популярных онлайн-сервисах наподобие draw.io или lucidcharts одна беда — они выглядят как-то слишком уныло и «олдскульно», в духе «90-х». Всю эту инфографику хотелось бы сделать более заметной, привлекательной и душевной (и, желательно, без привлечения дизайнера).
Так у меня возникла идея создания инструмента для отрисовки диаграмм и графиков в стиле «нарисовано от руки». Об истории создания сервиса и «подводных камнях» я расскажу в этой заметке.
Верю — не верю: скриншоты как доказательство в суде
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/8e0/fd4/5bf/8e0fd45bf13b6e1dd6e7c51e2089e6d8.jpg)
Интернет-доказательства все чаще используются в судебных спорах. Согласно ч. 3 ст. 75 АПК РФ, ст. 71 ГПК, документы, которые были получены с использованием электронных устройств, являются письменными доказательствами и могут применяться в суде. Предлагаю разобраться, как предоставить суду цифровые доказательства.
В наши дни нередко в процессе судебного разбирательства используют в качестве доказательств публикации в электронных СМИ, сообщения из мессенджеров и соцсетей. Фото и видео могут пригодиться для подтверждения фактов в суде:
• если человеку угрожают или его оклеветали;
• в случае с фактическими договорными отношениями;
• в процессе разбирательства с налоговыми органами из-за начисления штрафа за просрочку подачи обязательной отчетности, если просрочка произошла из-за сбоя компьютерной техники;
• в спорах с компаниями, которые предоставляют услуги в Сети, в частности, рекламу, создание и продвижение сайтов и т.д.;
• в иных ситуациях, когда доказательства находятся в Интернете.
Применение скриншотов в качестве доказательства при рассмотрении гражданских, административных и уголовных дел постоянно расширяется. Так, соответствующие изменения внесены в ГПК РФ (ст. 71), АПК РФ (ст. 75), КоАП (ст. 70), УПК РФ (ст. 81, 84).
Ontol: самые полезные материалы про визы О-1 и грин-карты
![image](https://habrastorage.org/webt/l2/dn/ty/l2dntyyzyrgbuoweenbiigxfhcs.jpeg)
Моя позиция такая — лучше иметь больше выбора, чем иметь меньше выбора. Я хочу максимизировать вероятность своего выживания и рассматриваю решения, которые повышают эту вероятность. Мобильность — это хорошо. Семья Айзека Азимова успела «проскочить в закрывающуюся калитку» в последний момент и поэтому у нас есть произведения великого фантаста.
Предлагаю вашему вниманию подборку материалов (онтол), которые я насобирал, чтобы купировать некоторые риски, которые присутствуют в жизни активных, интеллектуальных и предприимчивых людей. (Экономлю вам 5-10 часов поиска и фильтрации.)
Если рядом с вашим домом участились молнии, разумно запастись молниеотводом.
Онтол — это ресурс призванный помочь максимально раскрыть ваш потенциал: поступить в самый полезный для вас университет, жить в максимально эффективном месте на планете, свободно перемещаться, работать на работе мечты, читать нужные книги.
Политические риски
В нашей стране политические риски — риски, что поменяются правила игры и вы потеряете вообще всё — ровно в два раза больше чем в среднем в мире.
Из 100% уголовных дел против бизнеса :
- 43% — личный интерес сотрудников правоохранительных органов или органов власти
- 32% — ваш конкурент нашел силовиков и органы власти и «заказал» уголовное дело
- 7% — действительно нарушение закона
(из доклада 2017 года Бориса Титова, уполномоченного при Президенте России по защите прав предпринимателей, пруф)
Недавний (пару недель назад) опрос 2423 ИТишников (50% Senior, 30% Middle, 10% Junior):
- 23% в ближайшие 5 лет точно уеду (563)
- 18% уже уехал (443)
- 37% колеблюсь (900)
- 21% не собираюсь уезжать в принципе (517)
Под катом подборка личных историй получения визы О-1 и грин-карты, а также полезные каналы. (За дополнения буду признателен, присылайте самые полезные материалы про США и другие страны.)
Как в восемь раз уменьшить количество DNS-запросов в Go
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/e1e/b03/1ae/e1eb031aec9c701bb99447030a2fa609.png)
Привет, Хабр. Меня зовут Рустам. Я работаю в Ozon: админю Kubernetes и пишу на Go.
У нас очень много сервисов на Go — их количество исчисляется тысячами. Запускаются они внутри кластеров Kubernetes. А я плотно работаю с Kubernetes и заметил, что при запуске кода внутри Kubernetes для резолва одного адреса делается до десяти DNS-запросов. Это, конечно, влияет на производительность.
Я решил разобраться, как Go делает DNS-запросы. В результате мне удалось уменьшить их количество в наших проектах до одного-двух. Как у меня это получилось и можно ли использовать мой опыт в вашем проекте, я расскажу в статье.
Мастера облачного криптомайнинга: тактики группы TeamTNT
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c63/13d/a52/c6313da52f85d34d6069eda8c509dc0a.png)
Киберпреступники выбирают разные способы заработка: одни идут по пути шантажа и вымогательства, как операторы шифровальщиков-вымогателей, другие зарабатывают на человеческих слабостях, «продавая» компенсации за пандемию или предлагая вложиться в новейшую перспективную криптовалюту. Есть и те, кто не стремится к попаданию в заголовки СМИ, скрытно внедряя майнеры криптовалют в системы, до которых получается добраться. В этом посте мы расскажем о TeamTNT — группировке, которая зарабатывает на нелегальном криптомайнинге в облачных Linux-системах.
Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/c59/2ec/d9c/c592ecd9cad00d44cd87d943012f6cb8.jpg)
Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре.
Одноклассники – высоконагруженная социальная сеть, и оптимизировать под высокие нагрузки нам нужно не только сервисы, но и инфраструктуру, на которой они работают. Нередко «узким горлышком» становится сама операционная система и, в частности, механизмы распределения ресурсов ядра Linux.
В облаке на одном физическом сервере могут одновременно работать десятки контейнеров, конкурирующих за ресурсы. Чтобы обеспечить надежную и эффективную работу, необходимо управлять распределением ресурсов между контейнерами.
Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.
Information
- Rating
- 5,575-th
- Location
- Ярославль, Ярославская обл., Россия
- Registered
- Activity