• Практическая стеганография. Скрытие информации в изображениях PNG



      На хакерских конкурсах и играх CTF (Capture The Flag) иногда попадаются задачки на стеганографию: вам дают картинку, в которой нужно найти скрытое сообщение. Наверное, самый простой способ спрятать текст в картинке PNG — прописать его в одном из цветовых каналов или в альфа-канале (канал прозрачности). Для выявления подобных «закладок» есть специальные инструменты, такие как stegsolve, pngcheck и stegdetect, иногда конкурсантам приходится вручную повозиться с фильтрами в GIMP или Photoshop.

      Однако прогресс не стоит на месте — и в последнее время всё чаще используются другие способы скрытия данных, например, PNG-наполнение. Посмотрим, как это делается.
      Читать дальше →
      • +20
      • 5.6k
      • 2
    • СХД, которая не устаревает. Никогда

        image

        Поначалу история звучит довольно просто: СХД хорошо работает три года на расширенной гарантии, относительно нормально живёт четвёртый, а на пятый покупается новая вместо устаревшей. Вендоры выжимают из вас деньги повышением стоимости поддержки и всякими платными фичами вроде поддержки VDI. Можно поломать эту схему? Наверное, да.

        Компания вышла на рынок с интригующим предложением: железяка всегда работает, всегда делает это быстро, стоимость поддержки каждый год одна и та же, все фичи доступны сразу. Ну то есть просто взяли коробку и время от времени меняют в ней комплектующие так, что они устаревают примерно со скоростью замены. Раз в три года обновляются контроллеры, есть возможность замены старых дисков на более современные, т. е. занимаемое СХД в стойке место может не только расти, но и уменьшаться, при этом объём и производительность увеличиваются.

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

        image

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

        Давайте посмотрим, что получилось и как получилось. Начнём с архитектуры.

        Для начала — процедура работы с массивом не предусматривает кнопок питания. Совсем. Не понадобится. Для выключения достаточно просто выдернуть кабели из PDU.

        image
        Читать дальше →
      • Как убрать из Git-репозитория файлы с конфиденциальной информацией

        • Translation
        Файлы проиндексированы, написано сообщение коммита, данные отправлены на сервер… И вдруг хочется повернуть время вспять. В коммит попал файл, которого там быть не должно. Когда такое случается, приходит время обращаться к поисковику.

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

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


        Удаление файлов с конфиденциальной информацией из Git-репозитория (изображение большого размера)
        Читать дальше →
      • Модернизация старого PHP-приложения

        • Translation
        • Tutorial

        Недавно мне выдалась случайная возможность поработать с несколькими старыми PHP-приложениями. Я заметил несколько распространённых антипаттернов, которые пришлось исправлять. Эта статья не о том, как переписывать старое PHP-приложение на <вставьте сюда название чудесного фреймворка>, а о том, как сделать его более удобным в сопровождении и менее хлопотным в работе.
        Читать дальше →
      • Синус-лифтинг: как это делается?

        • Tutorial
        image

        Здравствуйте, уважаемые друзья! Сегодня я расскажу и покажу вам, как проводится синус – лифтинг с одномоментной имплантацией.

        ВНИМАНИЕ!-Uwaga!-Pažnju!-Attention!-Achtung!-Attenzione!-ВНИМАНИЕ!-Uwaga!-Pažnju!

        Ниже будут представлены фотографии сделанные во время операции! С видами зубов, дёсен, крови и расчлененки. Слабонервных прошу отказаться от прочтения данной статьи.
        Читать дальше →
      • Эмулятор RFID

          Эмулятор карт EM Marine



          Наверняка каждому из нас, кто хоть раз бывал в обычных офисах, было интересно, как же функционируют эти бесконтактные пропуска. В данной статье мы разберёмся с принципом работы бесконтактных карт и сделаем эмулятор буквально из трёх радиодеталей.
          Читать дальше →
        • Исследование CSS-свойства flex

          • Translation
          Вам когда-нибудь было интересно узнать о том, как работает сокращённое CSS-свойство flex? Оно позволяет задавать значения свойств flex-grow, flex-shrink и flex-basis. Я обратил внимание на то, что данное свойство чаще всего используют в виде flex: 1, что позволяет flex-элементу растягиваться, занимая доступное пространство.



          В этом материале я хочу поговорить о сокращённом свойстве flex и о тех свойствах, значения которых устанавливают с его помощью. Я собираюсь рассказать о том, когда и почему можно пользоваться этими свойствами, приведу практические примеры.
          Читать дальше →
          • +34
          • 12.1k
          • 6
        • Восторг безопасника — технология для шифрования образов контейнеров

          • Translation
          На днях поступила интересная задачка — необходимо найти способ защитить исходные данные контейнера (читай: не иметь возможности прочитать, что лежит внутри), когда он остановлен. В голову сразу пришла мысль про шифрование, а пальцы начали набирать в гугле заветные слова. Пока разбирался в теме, наткнулся на достаточно интересную статью, которую с удовольствием привожу вам.


          Читать дальше →
        • Веб-разработчику: 10 полезных инструментов

          • Translation
          Статья, перевод которой мы публикуем сегодня, посвящена 10 полезным инструментам, которые предназначены для веб-разработчиков. Автор материала считает, что это — как раз такие инструменты, которые позволяют, как говорится, «работать с умом, а не до ночи».


          Читать дальше →
          • +32
          • 16k
          • 5
        • Основы правил проектирования базы данных

          Введение


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

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

          Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

          Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
          Читать дальше →
        • Новое CSS-свойство content-visibility ускоряет отрисовку страницы в несколько раз

          5 августа 2020 разработчики Google анонсировали новое CSS-свойство content-visibility в версии Chromium 85. Оно должно существенно повлиять на скорость первой загрузки и первой отрисовки на сайте; причём с только что отрендеренным контентом можно взаимодействовать сразу же, не дожидаясь загрузки остального содержимого. content-visibility заставляет юзер-агент пропускать разметку и покраску элементов, не находящихся на экране. По сути, это работает как lazy-load, только не на загрузке ресурсов, а на их отрисовке.


          В этой демке content-visibility: auto, применённый к разбитому на части контенту, даёт прирост скорости рендера в 7 раз
          Читать дальше →
        • Советы руководителю от руководителя

          Привет, Хабр! Я управляю командами разработки уже 10 лет.

          Недавно меня попросили поделиться на внутренней конференции «секретами управления» с другими руководителями. Поводом стала низкая текучка в моём подразделении и здоровый дух внутри команды — так было на всех моих работах. Я отказался, сославшись на то, что не делаю для этого ничего особенного. Сработала внутренняя установка «не будь выскочкой».

          Потом я вспомнил, что живу в мире пустозвонов, не стесняющихся нести «знания» в массы: бизнес-консультанты без бизнеса, карьерные консультанты без карьеры, коучи по чему угодно после двухмесячных курсов от таких же коучей. Неопытные умы, наслушавшись их, думают, что так мир и устроен, а потом огорчаются, что ничего не вышло. А опытные крутят у виска и отмалчиваются.

          Поэтому выключаю тумблер «не будь выскочкой» и делюсь «секретами».



          Тут не будет стандартных «делегируй», «налаживай процесс», «стой в правильной позе на стендапе» — об этом написано уже достаточно. Будет о другом.
          Читать дальше →
        • Давление света: подтверждение 90-летней теории об импульсах фотонов



            На протяжении столетий ученые из разных уголков мира создавали самые разные теории, объясняющие те или иные процессы, явления и феномены. Некоторые из этих теорий были подтверждены или опровергнуты на практике буквально сразу после их высказывания. Другие же оставались на бумаге многие годы, ибо на момент их появления технологии не позволяли провести практические опыты. Сегодня мы познакомимся с исследованием, в котором ученые из Франкфуртского университета имени Гете (Германия) попытались понять, что есть «давление света» на самом деле, подтвердив в процессе теорию 90-летней давности. В чем именно заключалась теория, какие методики были использованы в опытах, и что нового мы узнали о фотонах? Ответы на эти вопросы ожидают нас в докладе ученых. Поехали.
            Читать дальше →
          • NNCP: лечение online- и цензуро- зависимости store-and-forward методом

            • Tutorial
            В этой статье поднят вопрос удручающей ситуации с доступностью данных в Интернете, злоупотреблением цензурой и тотальной слежкой. Власти ли или корпорации в этом виноваты? Что поделать? Создавать собственные соцсети, участвовать в сетях анонимизации, строить mesh-сети и store-and-forward решения. Демонстрация NNCP утилит для создания этих store-and-forward friend-to-friend решений.
            Читать дальше →
          • Разбираемся в физике частиц: 7) частицы – это кванты

            • Translation
            1. Шар на пружине, ньютоновская версия
            2. Квантовый шар на пружине
            3. Волны, классический вид
            4. Волны, классическое уравнение движения
            5. Квантовые волны
            6. Поля
            7. Частицы – это кванты
            8. Как частицы взаимодействуют с полями

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

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

            Мы узнали, что большинство знакомых нам полей описывают свойство среды, такой, как высота верёвки или давление в газе. Но также мы узнали, что в эйнштейновской теории относительности существует особый класс полей, релятивистские поля, не требующие среды. Или, по крайней мере, если у них и есть среда, она весьма необычная. Ничто в уравнениях поля не требует наличия какой-то среды и не говорит о том, какое свойство этой среды описывают релятивистские поля.
            Читать дальше →
            • +16
            • 13.8k
            • 1
          • Ускоряем деплой на продакшен канарейками и самописным мониторингом

              Привет, меня зовут Лёша, я работаю в SEMrush в команде SRE, которая занимается обеспечением бесперебойной работы нашего сервиса. Эта история о том, как мы разогнали деплой в 6 раз и сократили затраты на мониторинг в 3 раза. И все это через приручение канареек и самописные инструменты.

              Я расскажу, как мы улучшали релизный пайплайн с помощью канареечного деплоя. Так, за пару лет мы прошли путь от «надо бы попробовать» до самописного тулинга.

              image

              Читать дальше →
              • +12
              • 5.6k
              • 2
            • Buck-boost преобразователь с цифровым управлением на STM32F334 в режиме CC/CV

                Наиболее популярные топологии dc/dc преобразователей buck и boost имеют существенное ограничение: топология buck может лишь понижать входное напряжение, а топология boost только повышает его. Однако бывают задачи, когда диапазон входного напряжения требует одновременно работы и на повышение и на понижение, например, мы имеем вход 3...15В, а на выходе необходимо получить стабилизированные 12В. Знакомая ситуация?


                Тут возможны 2 решения:


                • С помощью преобразователя boost повысить входное напряжение из 3...15В до стабильных 15В на выходе, а затем уже с помощью топологии buck понизить напряжение до требуемых 12В;
                • Применить топологию buck-boost, которая позволяет оптимально решить данную задачу.

                Очевидным минусом первого способа является необходимость применять 2 дросселя, увеличенное количество конденсаторов и не самый оптимальный режим работы, а значит более низкий КПД. Buck-boost топология лишена данных недостатков, поэтому сегодня рассказ пойдет о ней. Чтобы было интересно, я решил не брать какой-то готовый контроллер и реализовал dc/dc преобразователь с цифровым управлением на базе STM32F334C8T6.


                Фото преобразователя


                Результат работы для тех, кто не хочет читать стену текста

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

                Читать дальше →
              • Go и кэши CPU

                • Translation

                Источник: unsplash.com

                По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике».

                Мартин Томпсон (создатель LMAX Disruptor) применил эту концепцию к программированию. Если в двух словах, то понимание базового оборудования улучшит ваши навыки, когда речь заходит о разработке алгоритмов, структур данных и так далее.

                Команда Mail.ru Cloud Solutions перевела статью, автор которой углубился в устройство процессора и рассмотрел, как понимание некоторых концепций CPU помогает принимать оптимальные решения.
                Читать дальше →
              • Почему мы больше не вернемся в офис (взгляд на удаленную работу спустя 2 месяца)

                  У нас небольшая продуктовая ИТ компания, чуть меньше 30 человек. Есть офисы в Дубне, Москве и в Таганроге, пару человек было разбросано по другим частям России. И мы до коронокризиса работали с 9 до 18, сидя на своих мягких креслах у 2-3 мониторов в офисе. Надеюсь, наша история перехода на удалёнку будет вам полезна.


                  Читать дальше →
                • Экономим на лицензиях Mikrotik CHR

                    В Телеграм-чате @router_os часто вижу вопросы о том, как сэкономить на покупке лицензии от Mikrotik, либо пользоваться RouterOS, вообще, на халяву. Как ни странно, но такие способы есть и в правовом поле.





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