Как стать автором
Обновить
2
0.4

Пользователь

Отправить сообщение

Сегментация данных — это не больно. Применяем ML-модели в аналитике

Время на прочтение8 мин
Количество просмотров1.6K

Как именно пол, возраст или семейное положение пользователей влияют на наши продуктовые метрики? 

Ответить на подобные вопросы помогает решение задач в духе «сегментация чего-либо по имеющимся данным».

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

Альтернативный вариант — использовать собственный инструмент сегментирования, созданный на базе ML-модели под конкретный набор задач. 

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

Читать далее

Сервер туманного гейминга или проблемы на ровном месте за 30 руб./ч

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров6.3K

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

Читать далее

Telegram MTPROTO Proxy — всё что мы знаем о нём

Время на прочтение4 мин
Количество просмотров289K
image

Сразу после событий с блокировками Telegram в Иране и России, в бета-версиях мессенджера начал появлятся новый тип Proxy, а если быть точным, новый протокол — MTProto Proxy.

Этот протокол был создан командой Telegram для решения проблем обхода блокировок, но так ли он хорош?
Читать дальше →

Сквозное шифрование в облаках. Уязвимости — во всех сервисах

Время на прочтение3 мин
Количество просмотров5.3K


В наше время большинство пользователей хранят файлы в том или ином облачном хранилище: Google Drive, Яндекс.Диск, Dropbox, OneDrive и т. д. Благодаря низкой стоимости такие сервисы очень популярны. Их аудитория оценивается более чем в 4 млрд человек, а объём хранимых данных — порядка экзабайта. Почти все провайдеры шифруют файлы на своих серверах. Но если сам провайдер скомпрометирован, такая система не обеспечивает никакой защиты.

Поэтому отдельные сервисы реализовали сквозное шифрование (E2EE), когда не сервер, а пользователь контролирует ключи шифрования.

В основном, эти сервисы предлагают услуги для коммерческих клиентов. Например, MEGA, Nextcloud, Sync, Tresorit, Seafile, Icedrive и pCloud. К сожалению, реальность далека от рекламных заявлений. Независимое исследование показало, что все перечисленные провайдеры страдают от уязвимостей и архитектурных изъянов.
Читать дальше →

5 способов получить RCE на практике

Время на прочтение9 мин
Количество просмотров3.4K

Для специалистов в области offensive security обнаружение уязвимостей удалённого выполнения кода (RCE) является настоящей жемчужиной как для black-box проектов, так и для white-box. Такие уязвимости могут проявляться по-разному, но также существуют общие подходы для их обнаружения.

В этой статье мы рассмотрим распространённые методы получения RCE, включая SQL-инъекции, командные инъекции, path traversal, Local File Inclusion (LFI) и уязвимости в загрузке файлов. Для каждого вектора атаки мы приведём примеры и реальные случаи из моей практики, чтобы продемонстрировать их влияние.

Читать далее

Корпус для домашнего NAS сервера. Как это было…

Время на прочтение4 мин
Количество просмотров33K

Всем привет! Эта статья продолжение первой, опубликованной раннее Домашний NAS сервер, где была разработана электроника и проведено первоначальное тестирование.

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

В данной статье будут описаны разработка и сборка корпуса, надеюсь будет интересно!

Читать далее

Создаем эмулятор Sega Mega Drive на C++

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров25K

В этой статье описано создание эмулятора 16-битной приставки Sega Mega Drive на C++.

Будет много интересного: эмуляция процессора Motorola 68000, реверсинг игр, графика на OpenGL, шейдеры, и многое другое. И все это на современном C++. В статье много картинок, можно хоть на них посмотреть.

Blast Processing!

Выжимаем максимум скорости из PHP

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

При запуске PHP-приложений крайне важно правильно выбрать веб-сервер. Чтобы объективно оценить производительность популярных решений, мы проводили тестирование не на искусственных данных, а на реальных примерах. Наша цель не заключалась в создании рейтинга веб-серверов для PHP-приложений. Мы стремились показать, в каких условиях каждый сервер сможет продемонстрировать наилучшие результаты.

Читать далее

Безопасность на высоте: как защищать API сегодня

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.7K

К 2030 году количество используемых в мире API составит около 2 миллиардов. Это в 8 раз больше, чем в 2018 году. Рост числа открытых точек увеличивает количество уязвимостей, угроз и прогнозируемых атак. По оценкам экспертов, к 2026–2027 годам рост прогнозируемых атак на API составит 156% от сегодняшнего состояния.

Меня зовут Денис Кириллов, я главный архитектор решения Platform V SOWA в СберТехе. Сегодня я хотел бы рассказать о лучших практиках защиты API в современном мире. Эта тема довольно обширная, поэтому я разделил её на два материала. В первой статье рассмотрим принципы безопасности API, спецификации API и как они влияют на безопасность. Поговорим о проверке объектов на соответствие спецификации и о том, как она помогает снизить риски из списка Тор-10 API Security Risks.

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

Материал будет полезен специалистам в области информационной безопасности, сопровождения и разработки.

Читать далее

Может ли Orange PI 5 Plus с 32 ГБ памяти заменить домашний/офисный ПК?

Уровень сложностиПростой
Время на прочтение40 мин
Количество просмотров25K
Orange Pi 5 Plus 32GB

Производительность ARM процессоров каждый год увеличивается и все ближе к x86 процессорам. Компания Apple давно отказалась от процессоров Intel в пользу процессоров собственной разработки на ARM архитектуре. Но домашний/офисный ПК это не только процессор, но и софт, драйвера, и подключение любых устройств из коробки. Компания Shenzhen Xunlong Software вначале 2023 г. выпустила одноплатный компьютер Orange PI 5 Plus на базе высокопроизводительного процессора Rockchip RK3588 с 32 ГБ ОЗУ и возможностью подключения NVMe SSD дисков. По техническим характеристикам такой одноплатный компьютер сопоставим с домашним/офисным ПК. Проверим на сколько комфортно работать за таким одноплатником, смотреть YouTube, видео, и конечно же поиграем, установим Steam от Valve. Но самое главное оценим работу системы «из коробки» т.е. без танцев с бубном. Вначале рассмотрим характеристики Orange PI 5 Plus, затем процессор Rockchip RK3588, установку и настройку системы, подключение периферийных устройств, и посмотрим, на сколько хорош Linux на ARM для домашнего использования. В итоге рассмотрим какие существуют преграды замены текущих x86 систем на ARM.
Читать дальше →

Экономика хостера — не, она устроена не так, и зачем действительно мы запускали спутник

Время на прочтение10 мин
Количество просмотров7.2K

Я тут иногда рассказываю про то, как устроен хостинг в блоге VDS-хостинга (знаю, для многих это уже неожиданно), а вы часто спрашиваете, почему у меня волосы на груди окрасились зачем нужны промотарифы за 40 и 130 рублей. И ещё:

  • Зачем хостинг запускает свой спутник.
  • Дидосим ли мы клиентов, чтобы продать им услугу DDoS-защиты.
  • Сколько мы тратим на рекламу.

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

  • На рекламу и маркетинг мы тратим 11,21% от общих расходов.
  • Софт — 15,79%.
  • Дата-центры — 11,36%.
  • ФОТ — 10,24%.
  • Железо — 9,62% + кредиты в разных формах на него — 18,97% (я видел отчётность Хетзнера, у них кредитная нагрузка выше).
  • IP-адреса — 5,91%.
  • Налоги — 5,75% (иногда здесь тоже короткий кредит, чтобы не вынимать сумму из оборота).

Возможно, неожиданным для вас будет то, что лицензии на ПО стоят примерно столько же, сколько аренда места в ЦОДах по миру, и что айпишники вообще-то занимают существенную долю затрат хостера.

Сейчас объясню.
Читать дальше →

Игрушечный ботнет на JavaScript под BitBurner

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров3K

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

Мы не станем вредить, а вирус напишем в компьютерной игре BitBurner. Писать вирусы - плохо, но изучать - интересно.

Научим вирус распространяться по сети и выполнять команды - запускать и останавливать программы, атаковать другие компьютеры, использовать ресурсы жертвы в личных целях.

Читать далее

Небезопасная десериализация в PHP: Как создать собственный эксплойт

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров5K

Привет, Хабр! Сегодня мы познакомимся с уязвимостями небезопасной десериализации в PHP, научимся писать эксплойты для эксплуатации уязвимости в рамках тестирований на проникновение и попробуем себя в анализе кода.

Читать далее

Как мы построили отказоустойчивую open-source-инфраструктуру для управления пользовательскими Linux-устройствами

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров7.9K

Всем привет! Меня зовут Владислав, я руководитель направления развития пользовательских Linux-систем в Т-Банке. Мы работаем над проектом Linux Desktop. 

Проект зародился во времена блокировки иностранного софта. Нам нужен был опенсорсный продукт, который никуда не исчезнет и на закроется. Но прежде чем развивать Linux Desktop, в компании нужно было выбрать систему управления конфигурациями, которая сможет выдержать больше 15 000 хостов. А еще построить инфраструктуру, которая будет отказоустойчивой и не рассыпаться, если один из ЦОДов упадет.

Расскажу, как мы создали инфраструктуру, которая контролирует системы безопасности, магазин приложений, конфигурации ядра и многое другое. А еще такая инфраструктура — запасной аэродром, если вдруг придется отказаться от западного вендора.

Читать далее

Как справляться с негативными эмоциями и почему брать их под контроль — плохая идея?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров17K

Вряд ли вы любите испытывать тревогу, страх, злость, зависть или обиду. Хочется научиться управлять своими эмоциями, вот только эмоции — не тележка в супермаркете и управляться с ними не так просто. Поговорим о том, как сделать эмоции своими союзниками и использовать себе во благо.

Читать далее

Обход OTP и захват панели администратора через Header Injection

Время на прочтение3 мин
Количество просмотров3.7K

Самое лучшее для исследователя в области баг-баунти, — это знания, который предоставляет сам процесс анализа.

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

Целью атаки стала платформа онлайн-образования, на которой была реализована аутентификация через OTP (одноразовый пароль). Когда речь идёт о входе с использованием OTP, первое, что приходит в голову: «Как это обойти?».

Сначала я попытался использовать метод перебора (brute force) и обнаружил, что была реализована защита с ограничением частоты запросов на основе IP-адреса. Это означает, что изменение IP-адреса клиента или IP-адреса, представляемого серверу, может помочь обойти это ограничение и продолжить перебор OTP.

Читать далее

Как работают файловые системы Linux-контейнеров

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K

Откуда у контейнера берётся файловая система? Чтобы разобраться, инженер Google Михал Питр воспроизвёл действия Docker и создал файловую систему своими руками. От полноценной реализации его результат отличается тем, что в нём не используется пространство имён для дополнительной изоляции. 

Под катом — перевод, который поможет разобраться, как именно Docker создаёт новую файловую систему с помощью OverlayFS.

Читать далее

Ошибки, которые я совершил, пытаясь быть «слишком правильным» в разработке

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров26K

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

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

Давайте посмотрим, как я заморачивался с вещами, которые в итоге только усложнили задачу, и что из этого получилось.

Читать далее

Катастрофическое падение производительности из-за hyperthreading

Время на прочтение4 мин
Количество просмотров28K

Недавно я писал статью - что такое 50% cpu? На системах с hyperthreading 50% cpu по метрикам означает, что большая часть ресурсов сервера уже использована. То есть cpu>50% - это уже "желтая зона", и мы ожидаем замедление всего, чего можно. Но я никогда не думал до экспериментов, что падение может быть столь катастрофическим.

Для экспериментов я использую MSSQL. Если вы не связаны с базами, прочитайте первую часть по диагонали до выводов.

Читать далее

Использование Redis в Go

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5K

Redis — хранилище из семейства нереляционных (NoSQL) баз данных. Redis является очень быстрым хранилищем данных благодаря своей архитектуре in-memory. Он идеально подходит для задач, требующих быстрого доступа к данным, таких как кэширование, очереди сообщений, сессионная информация и многое другое. Go также известен своей высокой производительностью за счет компиляции в машинный код и эффективного управления памятью.

Читать далее

Информация

В рейтинге
1 905-й
Зарегистрирован
Активность

Специализация

Information security architect
Lead
От 15 000 $
Negotiation
C++
Qt
OOP
Linux
PHP
SQL
Nginx
High-loaded systems
Designing application architecture