Синяя шляпа
143 subscribers
28 photos
1 video
5 files
38 links
Заметки об инфобезе, инциденты, немного вредоносного кода, архитектура и разные интересные мне вещи.
По все вопросам - @st3l1n
Download Telegram
Новый повод для радости❤️
🦄7👍3🍌2
Вчера была забавная история с ИИ (не опять, а снова).

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

Для контекста: в волейбол играет 6 человек на каждой стороне площадки, разделенный сеткой. На площадке есть 6 зон, пронумерованных от 1 до 6. В зависимости от тактики игры и умений команды можно придумывать много разных вариантов, как эту расстановку игроков формировать, так как у каждого игрока свое амплуа и можно по разному их расставлять. При этом игроки могут перемещаться между зонами во время розыгрыша. То есть начинает розыгрыш игрок в 4 зоне, а после подачи переходит в 3, например. Короче, много нюансов,
но не прям сложная математическая задача.

Я выбрал для этой задачи sonnet 5 в режиме high. Я не вдавался прям в подробности, но вкратце описал каждого игрока команды, слабые места команды и какое у кого амплуа и попросил сгенерировать расстановки на площадке с перемещениями в зависимости от амплуа (каждое амплуа, обычно, играет в определенной зоне).

В итоге ИИшка ушла в думы на 20 минут и не завершила ответ с первого раза. Было много комментариев про новый Sonnet, но чтобы на столько долго (да и токенов там улетело куча)... Это для меня было открытием. Я смотрел потом процесс рассуждений - Sonnet начал применять элементы комбинаторики к этой задаче, что, явно, было лишним.

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

В очередной раз, какой бы не казалась задача несложной и понятной, лучше обрисовать ее детально и подготовить нужные инструкции.
🔥3🦄1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🦄1
Пока админ шляется по горам всем хорошего лета и настроения🏕️
🔥10🦄2🍌1
Хочется поделиться своими впечатлениями о походе в горы и проложить некоторые параллели с жизнью.

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

2. Демократии не существует. Есть главный и он решает, что делать. Да, он может советоваться с другими, но конечное решение за ним. Финальное решение не обсуждается, даже если оно выглядит неверным.

3. Будь гибким. Подстраивайся под текущие условия. Не пытайся пробить стену головой, либо придумай другой способ (другой маршрут) либо отложи до лучших времен. Нет воды? Растопи снег. Нет дров? Зажги газовую горелку. Сложно приготовить еду? Ешь сухое.

4. Не спорь с объективным. Если природа тебе говорит, что ты туда не пойдешь - не пытайся с ней спорить.

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

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

7. Не всегда результат - это достижение первоначальной цели. Из-за аномального количества снега в горах, мы не дошли до конечной точки маршрута (это были красивейшие Софийские озера). При этом все насладились походом и видами, искупались в других озерах и видели много крутого.

8. Будь решителен. В походе я часто уходил на разведку маршрута вперед группы. В один из дней мы решили дойти до непростой стоянки, которая была в районе 3000 метров над уровнем моря. Мы решили поделить группу на две части: побыстрее и помедленнее, чтобы разведать, что там вообще впереди. В результате 20 минут прыгания по камням я увидел лишь снежные поля. Тем временем на часах 19:30, опускается туман, а мы посреди снежной долины без воды и стоянки, еще и рации сбоили. В итоге пришлось развернуть всю группу, не смотря на то, что я не был старшим, он остался в более медленной группе. Именно там мы встретили туров (горные козлы), которые как бы предостерегли нас от дальнейшего восхождения.

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

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

Если убрать специфичные для похода вещи, то все эти пункты очень хорошо ложатся на любую область жизни: работа, дом, хобби и так далее. Несмотря на банальность этих пунктов они сохраняют свою актуальность. Открывайте новое и будьте смелыми💪🏻
👍8🦄2
Интересный факт (спасибо моему коллеге)

Если взломать TrueConf и забрать значения из ключа HKEY_LOCAL_MACHINE\SOFTWARE\TrueConf\Server\Configuration (Shared Key, Shared Key With Prefix 3), то в будущем (даже после патча) можно зайти под любым юзером через веб (т. е. сделать себе токен доступа). Решение — установка TrueConf с нуля (на чистой виртуалке).

Передаю привет всем счастливым обладателям TrueConf!

UPD
Эти значения можно ротировать вручную через:
Панель управления → Настройки, блок «Приложение»
- Ключ для авторизации пользовательских подключений
- Ключ для авторизации гостевых подключений
👍4🍓1
Вещаю сегодня про ИИшки в Питере, а уже в пятницу буду в Москве рассказывать про ИИ и кибербез на классном мероприятии MWS. Приходите слушать, общаться, обсуждать)
🔥5🍓4🦄3
#ttp #APT
Группировка GOFFEE отличается умом и сообразительностью.

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

Некоторые домены, которые они оставляют - еще не существуют. Cамое интересное, что в любой момент, когда они таки зарегают такой домен, имплант, который не был найден изначально, даст им сразу же канал в зараженную ранее инфраструктуру, пусть в результате прошлого IR были найдены все ДЕЙСТВУЮЩИЕ домены.

Причем этот прием они используют уже достаточно давно, года 2 как минимум.

На заметку всем заинтересованным
👍7🦄1
Что LLM умеет реверсить, уже не новость. Но что же она все-таки не умеет?

Сегодня на боевом примере разберем факапы, с которыми я столкнулся в процессе анализа достаточно непростого импланта. Модифицированный Mythic-агент, три стадии, payload зашифрован на имени хоста жертвы, куча техник защиты типа предикатов, резолва функций по хешам etc.

Стенд: IDA Pro + MCP, opencode, GLM 5.2 self-hosted, я оператор. Две сессии (у нас было 2 семпла): 5.5 ч. работы агента, 56 моих реплик, ~800 вызовов инструментов, ≈5 тыс ₽ (на Opus 5 вышло бы ≈$165).

1️⃣ Уверенно-неверно. Нашла в payload BeaconDataParse, BeaconOutput и написала "Cobalt Strike". Дальше я сказал модели, что это точно не cobalt и пусть идет ищет дальше. Ответ: "Моя предыдущая идентификация была ошибочной, принял Beacon API за доказательство, не проверив формат протокола". При этом формат ответа был с самого начала в разборе самой модели, но она все равно абсолютно уверено рапортовала про cobalt strike .

2️⃣ Тихий пропуск. Модель сформировала красивый структурированный отчет по функционалу, вытащила конфиг, C2 домен, функционал, но есть нюанс... В семпле было 2 зашитых домена. Второй домен я нашел уже из сетевой телеметрии хоста. После просьбы проверить точнее через 5 минут находит: домен разрезан на три 8-байтовых XOR-чанка. И модель успешно его пропустила, вместе с механизмом "резервирования" этих доменов.

3️⃣ Не бережёт контекст. После сжатия сессии или, был момент, когда у меня отвалился MCP, модель заново пытается "захавать" весь декомпилированный код. В итоге шлюз сразу вылетает на ошибке переполнения входного контекста.

4️⃣ Не справилась с задачей эмуляции. Попросил проэмулировать shellcode до открытия сокета, без реальной сети. На самом деле я уже проворачивал подобные вещи, но именно в этот раз модель 20 минут пыталась поставить правильный unicorn, в конечном итоге я просто отказался от этой идеи, потому что статика дала исчерпывающий ответ.

5️⃣ Пыталась уйти от вопроса. 10:13: "при каких условиях вызывается второй домен?" Модель ушла в структуры профилей и флаги. 10:27: "давай вернёмся, это важно". 11:35: "напоминаю, мы ищем условие". 11:37: "Вы правы, я ушёл в детали". Ответ пришёл в 12:16. Пришлось прям дожать модель в этом вопросе.

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

Если хотите побольше послушать про наши эксперименты, приходите, там будет много интересного.
👍2🍓1🦄1
Говорят, что virustotal окончательно заблокирован в РФ. У меня он не открывается уже неделю, но знакомые писали, что все ок.

Интересно, какую проблему решают таким образом? Те, кто пользуется VT для работы - продолжат им пользоваться. А отсекут таким образом, скорее всего, только админов и безопасников, для которых VT был единственным инструментом проверить файл на вредоносность (кроме антивируса с протухшими базами).

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

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

Может кто подскажет?

UPD.
Дружно переходим на https://virustest.gov.ru. Спасибо подписчику за актуальную ссылку. Я ее не нашел на первой странице выдачи Гугла по запросу «национальный мультисканер» =(

UPD UPD.
В Яндексе на первой странице выдачи его тоже нет. Нужно поработать ребятам над seo оптимизацией.
👍3🦄1
Пришел тут студентам читать лекцию, подготовил презентацию, инженерия AI-агентов в ИБ, стильно-модно-молодежно.

Захожу в аудиторию, а там старые советские лакированные столы, зеленая доска и мел. И вот этот характерный запах аудитории, которую не открывали несколько лет.

А вы говорите AGI и побег агентов, ага...
👍4🦄4
Простенькая техника заметания следов за собой и как ее находить.

Представим, вы взломали какой-то сервис на Linux (что чаще всего карается по закону, не рекомендую вне учебных лабораторий) и хотите за собой зачистить следы в текстовом журнале, например, error.log веб сервера.

Вы можете сделать что-то типа такого

head -c 200796150 error.log > new
mv new error.log

touch -r <whatever legit> error.log

Таким образом вы обрезаете часть после байта 200796150 и подменяете новым файлом старый. Но есть нюанс.

1. У нового файла будет другой btime и туда ничего не будет писаться, потому что...
2. Дескриптор процесса, который пишет в error.log, например, rotatelogs, открывает поток на запись при старте, и если вы не рестартанули сервис, то поток будет писать в СТАРЫЙ inode.

Более того, сделав вот так

lsof | grep deleted

вы сможете легко этот дескриптор локализовать. А дальше все достаточно просто

cat /proc/<writer pid>/fd/<fd id> > recovered.log

И читаем художества злодея и новые события, которые появились после подмены.
👍4🔥2🦄2
На днях мне попался на глаза интересный релиз «Группы Астра» - «доверенная ИИ-среда для бизнеса»: инференс-платформа, код-агент и агентная ОС на Astra Linux.

Вот что мне показалось интересным.

1️⃣ Где лежит граница доверия?

Под доверенной ОС лежат GPU NVIDIA. Модуль ядра у NVIDIA для новых карт открыт, но значимая часть логики переехала в прошивку GSP - отдельный процессор на самой карте с прямым доступом к железу. Да и CUDA закрытая.

Драйверы NVIDIA для Astra Linux лежат в расширенном репозитории, а про его ПО Астра прямо пишет: оно стороннее, не дорабатывается под требования безопасности и не проверяется при сертификации. Такое ПО Астра советует запускать в контейнере. Рекомендация общая, но к драйверу ядра она явно неприменима.

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

2️⃣ Как строится доверие, если модель в большинстве случаев будет недоверенной (китайская, американская, европейская - неважно)? Астра сама это признаёт: в релизе заявлена защита от вредоносных действий недоверенной модели.

Но сможет ли система поймать закладку, которую модель оставит в коде? Коммит легитимный, права не нарушены. Остаётся человек, который согласует изменения, а на сотом согласовании за день он жмёт «ок» не читая. И мы возвращаемся к первому вопросу: что есть доверие?

3️⃣ Какую модель угроз закрывает изоляция ядром? Если речь о мандатном контроле целостности, он не защитит от «смысловых» атак - использования разрешённых действий для неразрешённого сценария.

В релизе заявлены ещё контроль критических действий и защита агентов от атак. Это тоже ядро или отдельный слой, который понимает смысл, вроде фильтрации промптов и других механизмов AI Firewall?

4️⃣ Отдельно интересно про код-агент. Рынок очень плотный: Claude Code, GigaCode, Kodify, Koda. А открытый OpenCode с локальной моделью ставится в закрытый контур бесплатно. Хватит ли сертификации и интеграции с сертифицированной ОС, или есть что-то, чего мы пока не знаем?

5️⃣ Расчёт ROI. Не будем привязываться к цифрам, пойдём качественно.

Астра заявляет 22 570 высвобожденных человеко-часов (хотя по их же данным трудозатраты снизились с 60 465 до 57 838 часов, то есть на 2 627). Высвобожденный ресурс, по релизу, направляется на новые проекты. Но деньгами он станет, только когда компания сократит найм или эти проекты начнут приносить выручку. А ROI 104% считает его деньгами уже сейчас.

Интересно, конвертировалось ли высвобождение часов в финансовые показатели и как.

Буду внимательно следить за этим направлением и за тем, как Астра будет аргументировать свои заявления.
👍3🦄1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3🦄1