CWE Top 25 2021. Что такое, с чем едят и чем полезен при статическом анализе?
Впервые поддержка классификации CWE появилась в PVS-Studio с релизом 6.21, который состоялся 15 января 2018 года. С тех пор прошло уже очень много времени, и хотелось бы рассказать об улучшениях, связанных с поддержкой этой классификации в последних версиях анализатора. Читать дальше →...
Как я познал «Гармонию» и попробовал программировать на устройстве для иллюстраторов
Привет, Хабр! Меня зовут Лавров Сергей (@lavs). Я разрабатываю мобильные приложения под Android и iOS, преподаю IT в двух университетах и уже 15 лет изучаю новые технологии, а также языки программирования, которых знаю более десятка. В этот раз я выступлю в непривычной для себя роли обзорщика: меня...
Врываемся в мобильный пентест (Ч1)
Всех приветствую, на связи Алексей и сегодня я расскажу как я загорелся идеей создания мобильного мультитула для пентеста! В этой части мы посмотрим на каком этапе разработка сейчас, что уже умеет приложение и что будет в будущем! Наливайте стакан лимонада, а может чего-то крепкого - это уже на...
Пишем паническую кнопку под андроид (Часть 2)
Заглядываем под капот, решаем проблемы и баги. Как все устроенно и что используется - ответы тут! С вами Алексей и сегодня речь пойдет именно от этом.. Читать далее...
Пишем паническую кнопку под Android (Часть 1)
В этой части я коротко расскажу о мотивах и с чего начиналась разработка. Меня зовут Алексей и я желаю вам приятного чтения! Идея Тут все произошло более чем спонтанно зимнем вечером — я на тот момент ещё junior java developer с опытом не более двух месяцев листал новости. И без упоминания ужасных...
Как мы создали облачный сервис для управления и контроля за маршрутами обходов на предприятиях
Для многих крупных предприятий обход определенного маршрута для проверки и снятия показателей с оборудования является неотъемлемым рабочим процессом, однако зачастую для большинства исполнителей процесс прохождения маршрутов является просто ненужной формальностью. На предприятиях куча различных...
Меняем промежуточное представление кода на лету в Ghidra
Когда мы разрабатывали модуль ghidra nodejs для инструмента Ghidra, мы поняли, что не всегда получается корректно реализовать опкод V8 (движка jаvascript, используемого Node.js) на языке описания ассемблерных инструкций SLEIGH. В таких средах исполнения, как V8, JVM и прочие, один опкод может...
Гибкая авторизация с помощью Casbin и PERM. Практический пример
После написания предыдущей статьи по языку PERM и библиотеке Casbin, возникли вопросы. Причем не у одного человека, и я хотел ответить сначала в комментарии, но понял, что объем материала выходит за рамки обычного комментария, поэтому изложу этот ответ в виде отдельной статьи. Я долго не мог понять...
RBAC? ABAC?.. PERM! Новый подход к авторизации в облачных веб-службах и приложениях
Данная статья преследует цель рассказать о новом походе к авторизации в облачных решениях, в основе которого лежит использование интерпретируемого языка определения политики управления доступом — который называется языком моделирования PERM (PML). Данный язык можно использовать для выражения...
[Из песочницы] Архитектурные подходы к авторизации в серверных приложениях: Activity-Based Access Control Framework
Сегодня поговорим об секьюрити в web (да, наверное, и не только) приложениях. Прежде чем описывать подходы и фреймворки расскажу небольшую предысторию. Предыстория За много лет работы в IT приходилось сталкиваться с проектами в самых разных сферах. У каждого проекта были свои требования к...
Hack The Box. Прохождение Dyplesher. Memcached, Gogs, RCE через создание плагина и LPE через AMQP
Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье мы получим хеши пользователей благодаря memcached, разбираемся с GIT репозиториями, пишем плагин с бэкдором на Java, анализируем трафик и повышаем привилегии благодаря RabbitMQ. Подключение к...
Как влючить шифрование в JetBrains Projector
Projector — это способ запускать IntelliJ IDEA на удалённом сервере. Недавно я писал об этом статью, но умолчал о важной для любого параноика вещи — шифровании данных на вебсокете. Генерация и подкладывание ключей — довольно муторный кусок работы. Тут придётся познакомиться с особенностями Docker и...
[recovery mode] Подтверждение входа с помощью Telegram на Spring Boot
Недавно столкнулся с проблемой: все приложения используют Telegram-бота в качестве подтверждения входа в аккаунт, а мое — нет. Я был настроен серьезно и провёл уйму времени в интернете в поиске туториала, но меня ждало разочарование. Задача сложная и имеет много подводных камней, а туториалов —...
[recovery mode] Управление клиентскими сертификатами в Heroku
Допустим, наше Java приложение размещено на платформе "Heroku", и ему требуется подключиться к HTTP серверу, требующему предоставление Клиентского Сертификата. В этой статье мы рассмотрим вопросы безопасного размещения клиентских хранилищ ключей в облаке, используя переменные окружения. Читать...
Как подружить Telegram-бот с OpenId Connect
Представим себе ситуацию: аналитики компании Foobar Inc. провели тщательное исследование конъюнктуры рынка и бизнес-процессов компании и пришли к выводу, что для оптимизации издержек и многократного увеличения прибыли Foobar кровь из носу требуется Telegram-бот компаньон, способный подбодрить...
Введение во взаимную аутентификацию сервисов на Java c TLS/SSL
Вопросы авторизации и аутентификации и в целом аспектов защиты информации все чаще возникают в процессе разработки приложений, и каждый с разной степенью фанатизма подходит к решению данных вопросов. С учетом того, что последние несколько лет сферой моей деятельности является разработка ПО в...
Статическое тестирование безопасности опенсорсными инструментами
Уязвимости в своём коде хочется находить как можно быстрее, а значит нужно автоматизировать этот процесс. Как именно автоматизировать поиск уязвимостей? Существует динамическое тестирование безопасности, существует статическое — и у обоих свои преимущества и недостатки. Сегодня подробно разберёмся...
[Из песочницы] Безопасность в AEM – это вопрос платформы или способа внедрения?
Автор: Андрей Пинчук | Certified Senior AEM Developer Представьте ситуацию: вы спокойно спите и видите свой третий сон, как вдруг раздается телефонный звонок — недовольный клиент жалуется, что вся система недоступна. Согласитесь, подобные события — дискомфорт для жизни AEM-разработчика, всей...