Fanotify — что он может дать по сравнению с inotify и что попросит взамен
Привет, Хабр! На связи Даниэль из InfoWatch, разработчик решений класса информационной безопасности. В предыдущей статье мы рассматривали задачу контроля целостности в среде Linux с помощью системного интерфейса inotify. Поговорили о ключевых недостатках, с которыми приходится сталкиваться в ходе...
DNSSEC validation на Go: написал свой validator и не до конца сошёл с ума
Я пилю VantageDNS, privacy-focused recursive DNS-резолвер с фильтрацией. Edge-фронт на Go, 10 нод по миру, миекговский miekg/dns под капотом. На каком-то этапе у меня закончились отговорки, и пришлось писать DNSSEC validator. Своими руками. Ночью. Под кофе восьмой кружки. Ниже расскажу, как устроен...
Я написал свой DNS-резолвер на Go вместо того, чтобы взять Unbound. Вот почему и что из этого вышло
Три месяца назад я начал делать NextDNS-clone для Европы. Рекурсивный DNS с фильтрацией рекламы, трекеров и malware. Первый день: открываю Unbound, читаю man, всё понятно. К вечеру понимаю, что не подходит. Через неделю пишу свой резолвер на Go и вспоминаю поговорку про человека, который решил...
Разбираем net/http на практике. Часть 2.3: Динамические маршруты, cookie-аутентификация и управление доступом
В этой статье цикла мы решим главную проблему сервиса DeadDrop: пользователь создаёт секрет, но не может его забрать. Здесь мы: 1) Научим net/http понимать динамические маршруты без фреймворков 2) Научимся подписывать куки через HMAC и узнаем, как оно работает изнутри 3) Настроим безопасное...
Разбираем net/http на практике. Часть 2.2: Архитектура и безопасность. Внедряем Clean Architecture, хэшируем пароли
Продолжаем писать сервис DeadDrop: сегодня идём от монолита к чистой архитектуре В предыдущей части мы реализовали готовый прототип, но его код был спорным: от смешанной логики до хранения секретов пользователей в открытом виде - пора вносить правки! Сегодня мы: 1) Превращаем "толстый" хэндлер в...
Разбираем net/http на практике: пишем веб-сервис DeadDrop для безопасного обмена сообщениями
Первая часть цикла «Разбираем net/http на практике»: создаём с нуля сервис DeadDrop — аналог Privnote для безопасной передачи самоуничтожающихся сообщений и файлов. На чистой стандартной библиотеке net/http разбираем основы: • запуск HTTP-сервера • маршрутизация в ServeMux • написание middleware...
Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1
JWT, SSO, OAuth, OpenID Connect — названия знакомые каждому разработчику. Но стоит спросить: «Зачем в продакшене нужен JWKS?» или «Чем отличается OAuth2 от OpenID Connect?» — уверенность сразу исчезает. В этой статье мы разберём как устроен JWT и его подпись, зачем нужны access и refresh токены,...
Как создать свой алгоритм шифрования: от идеи до готового CLI-приложения
В эпоху цифровых технологий защита информации становится одним из самых актуальных вопросов. На первый взгляд, создание собственного алгоритма шифрования может показаться задачей исключительно для элитных криптографов. Однако, понимание основных принципов, демонстрация работы алгоритма и...
Декларативная платформа управления доступом: от ролей к динамическим политикам
Зачем нужна авторизация, какие проблемы она решает и в каких ситуациях будет полезна? Рассмотрим модели организации контроля доступа и способы их реализации. Привет, Хабр! Меня зовут Олег Козырев. Senior Golang инженер в BigTech-компании, ментор и блогер. Обучаю людей backend-разработке и...
Запуск узла Hidden Lake на языке Go
Анонимная сеть Hidden Lake является в своей области уникальным и достаточно своеобразным проектом, т.к. базируется на совершенно иных методах и подходах анонимизации трафика, чем большинство ныне нам известных сетей. Из-за того, что сеть является относительно новой - она часто дополняется и...
Как организовать безопасность контейнеров на базе Open Source
Привет Хабр! Меня зовут Татьяна Хуртина, и я программист в группе внутренней автоматизации ИБ VK. Недавно я выступала на киберфестивале PHDays c докладом про наш подход для мониторинга безопасности контейнеров. На примере опыта в inhouse-облаке Дзена я рассказала, как можно использовать open source...
Fuzzing-тестирование. Практическое применение
Привет, Хабр! Меня зовут Никита Догаев, я Backend Team Lead в команде Контента на портале поставщиков Wildberries. Мы отвечаем за карточки, которые каждый день испытывают на прочность сотни тысяч продавцов из разных стран. В статье поделюсь своим опытом применения фаззинга для нагрузочных и...
Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go
Это продолжение прошлой статьи про данный алгоритм. Где я рассказывал про возможность общения между двумя пользователями без прямого обмена ключом шифрования. Я уже описывал идею создания прозрачного Open-Source мессенджера на основе этого алгоритма и хочу представить вам его самую простую...
Анонимная P2P-сеть внутри централизованного HTTPS-сервера: вшиваем паразитный трафик всеми правдами и неправдами
Государственная цензура есть многогранный монстр, закрывающий путь не только к зарубежной информации посредством блокировки ресурсов и их методов обхода, в лице Proxy, VPN, Tor, но также и постоянно пытающийся подавлять неподконтрольные безопасные и анонимные коммуникации внутри самого себя....
Поднимаем собственный узел в анонимной сети Hidden Lake
Хоть анонимные сети и являются определённого рода остатком, придатком куда большего множества всеразличных коммуникаций, тем не менее их можно рассматривать как некого рода островки приватности, абстрагированные от всего остального мира и завораживающие своей технической ухищрённостью и...
[Перевод] Реверс бинарных файлов Golang с использование GHIDRA. Часть 2
Это вторая часть нашей серии о реверс-инжиниринге двоичных файлов Go с помощью Ghidra. В предыдущей статье мы обсуждали, как восстановить имена функций в удаленных файлах Go и как помочь Ghidra распознавать и определять строки в этих двоичных файлах. Мы сосредоточились на двоичных файлах ELF, лишь...
[Перевод] Реверс бинарных файлов Golang с использование GHIDRA. Часть 1
Язык программирования Go (так же известный как Golang) с каждым днем все больше и больше программистов хотят на нем писать программы. Для хакеров этот язык программирования становится еще более привлекательным за счет кросс-компиляции для различных платформ - Windows, Linux, MacOS. Например, хакеры...
Алгоритм Diffie-Hellman: Ключ к безопасному общению
Всем привет! Давно хотел опубликовать статью тут, но никак не находил повода для хорошей статьи. Однако я уже давно веду телеграм канал по Backend разработке, в котором публикую разную информацию о Backend, рассказываю про технологии и в целом делюсь полезной информацией на другие статьи. Сегодня я...
Назад