Хочется поделиться своими впечатлениями о походе в горы и проложить некоторые параллели с жизнью.
1. Команда решает. В походе очень важно с кем ты идешь, доверяешь ли ты этим людям и готов ли ты с ними преодолевать и достигать. Каждый делает свой вклад и даже самый неподготовленный участники помогает по силам.
2. Демократии не существует. Есть главный и он решает, что делать. Да, он может советоваться с другими, но конечное решение за ним. Финальное решение не обсуждается, даже если оно выглядит неверным.
3. Будь гибким. Подстраивайся под текущие условия. Не пытайся пробить стену головой, либо придумай другой способ (другой маршрут) либо отложи до лучших времен. Нет воды? Растопи снег. Нет дров? Зажги газовую горелку. Сложно приготовить еду? Ешь сухое.
4. Не спорь с объективным. Если природа тебе говорит, что ты туда не пойдешь - не пытайся с ней спорить.
5. Большая сила - большая ответственность. Команда двигается к общей цели, если у тебя больше ресурса - помоги всей команде достичь результата. Подними чужой рюкзак, разведай тропу, поставь палатку и так далее.
6. Не делай поспешных выводов. Перед выходом в поход прогноз погоды давал дождь каждый день. В результате, все дни похода светило яркое солнце. Оффтоп. На самом деле для этого у нас есть замечательная традиция выпивать по рюмочке горячительного перед следующим днем за погоду. За более чем 5 лет традиция сбоя не дала.
7. Не всегда результат - это достижение первоначальной цели. Из-за аномального количества снега в горах, мы не дошли до конечной точки маршрута (это были красивейшие Софийские озера). При этом все насладились походом и видами, искупались в других озерах и видели много крутого.
8. Будь решителен. В походе я часто уходил на разведку маршрута вперед группы. В один из дней мы решили дойти до непростой стоянки, которая была в районе 3000 метров над уровнем моря. Мы решили поделить группу на две части: побыстрее и помедленнее, чтобы разведать, что там вообще впереди. В результате 20 минут прыгания по камням я увидел лишь снежные поля. Тем временем на часах 19:30, опускается туман, а мы посреди снежной долины без воды и стоянки, еще и рации сбоили. В итоге пришлось развернуть всю группу, не смотря на то, что я не был старшим, он остался в более медленной группе. Именно там мы встретили туров (горные козлы), которые как бы предостерегли нас от дальнейшего восхождения.
9. Будь самостоятельным. Никто за тебя не разберет палатку, не помоет посуду, не унесет мусор, не укроет вещи от утренней росы. Конечно, в команде можно что-то делегировать и попросить, но ты отвечаешь за свой комфорт и результат и никто другой.
10. Наслаждайся. Весь смысл таких мероприятий (как и любых других) в получении удовольствия и приятных эмоций. Мы видели красивейшие виды, природу, звезды, цветы, животных, все это лично у меня вызвало неописуемый восторг.
Если убрать специфичные для похода вещи, то все эти пункты очень хорошо ложатся на любую область жизни: работа, дом, хобби и так далее. Несмотря на банальность этих пунктов они сохраняют свою актуальность. Открывайте новое и будьте смелыми💪🏻
1. Команда решает. В походе очень важно с кем ты идешь, доверяешь ли ты этим людям и готов ли ты с ними преодолевать и достигать. Каждый делает свой вклад и даже самый неподготовленный участники помогает по силам.
2. Демократии не существует. Есть главный и он решает, что делать. Да, он может советоваться с другими, но конечное решение за ним. Финальное решение не обсуждается, даже если оно выглядит неверным.
3. Будь гибким. Подстраивайся под текущие условия. Не пытайся пробить стену головой, либо придумай другой способ (другой маршрут) либо отложи до лучших времен. Нет воды? Растопи снег. Нет дров? Зажги газовую горелку. Сложно приготовить еду? Ешь сухое.
4. Не спорь с объективным. Если природа тебе говорит, что ты туда не пойдешь - не пытайся с ней спорить.
5. Большая сила - большая ответственность. Команда двигается к общей цели, если у тебя больше ресурса - помоги всей команде достичь результата. Подними чужой рюкзак, разведай тропу, поставь палатку и так далее.
6. Не делай поспешных выводов. Перед выходом в поход прогноз погоды давал дождь каждый день. В результате, все дни похода светило яркое солнце. Оффтоп. На самом деле для этого у нас есть замечательная традиция выпивать по рюмочке горячительного перед следующим днем за погоду. За более чем 5 лет традиция сбоя не дала.
7. Не всегда результат - это достижение первоначальной цели. Из-за аномального количества снега в горах, мы не дошли до конечной точки маршрута (это были красивейшие Софийские озера). При этом все насладились походом и видами, искупались в других озерах и видели много крутого.
8. Будь решителен. В походе я часто уходил на разведку маршрута вперед группы. В один из дней мы решили дойти до непростой стоянки, которая была в районе 3000 метров над уровнем моря. Мы решили поделить группу на две части: побыстрее и помедленнее, чтобы разведать, что там вообще впереди. В результате 20 минут прыгания по камням я увидел лишь снежные поля. Тем временем на часах 19:30, опускается туман, а мы посреди снежной долины без воды и стоянки, еще и рации сбоили. В итоге пришлось развернуть всю группу, не смотря на то, что я не был старшим, он остался в более медленной группе. Именно там мы встретили туров (горные козлы), которые как бы предостерегли нас от дальнейшего восхождения.
9. Будь самостоятельным. Никто за тебя не разберет палатку, не помоет посуду, не унесет мусор, не укроет вещи от утренней росы. Конечно, в команде можно что-то делегировать и попросить, но ты отвечаешь за свой комфорт и результат и никто другой.
10. Наслаждайся. Весь смысл таких мероприятий (как и любых других) в получении удовольствия и приятных эмоций. Мы видели красивейшие виды, природу, звезды, цветы, животных, все это лично у меня вызвало неописуемый восторг.
Если убрать специфичные для похода вещи, то все эти пункты очень хорошо ложатся на любую область жизни: работа, дом, хобби и так далее. Несмотря на банальность этих пунктов они сохраняют свою актуальность. Открывайте новое и будьте смелыми💪🏻
👍8🦄2
Интересный факт (спасибо моему коллеге)
Если взломать TrueConf и забрать значения из ключа
Передаю привет всем счастливым обладателям TrueConf!
UPD
Эти значения можно ротировать вручную через:
Панель управления → Настройки, блок «Приложение»
- Ключ для авторизации пользовательских подключений
- Ключ для авторизации гостевых подключений
Если взломать 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 как минимум.
На заметку всем заинтересованным
Группировка 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. Пришлось прям дожать модель в этом вопросе.
Интересно то, что модель то в итоге справилась со всеми задачами (формально, кроме эмуляции, но я ее просто не дожал там, не было смысла), но только после пинков в шестеренку. Я пока не сторонник давать ИИшке автономно выполнять ИБ задачи, это хороший пример, что лучше использовать режим копайлот, а не автопилот.
Если хотите побольше послушать про наши эксперименты, приходите, там будет много интересного.
Сегодня на боевом примере разберем факапы, с которыми я столкнулся в процессе анализа достаточно непростого импланта. Модифицированный 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 оптимизацией.
Интересно, какую проблему решают таким образом? Те, кто пользуется VT для работы - продолжат им пользоваться. А отсекут таким образом, скорее всего, только админов и безопасников, для которых VT был единственным инструментом проверить файл на вредоносность (кроме антивируса с протухшими базами).
При этом альтернативу так и не вывели. Национальный мультисканер то запустили, то прибили, то опять хотели запустить, в итоге его так и нет.
Я конечно не сижу в высоких кабинетах РКН, но если с telegram хотя бы можно придумать причину, зачем его забанили (не смотря на то, что вся страна так им и пользуется), то здесь я даже причину придумать не могу.
Может кто подскажет?
UPD.
Дружно переходим на https://virustest.gov.ru. Спасибо подписчику за актуальную ссылку. Я ее не нашел на первой странице выдачи Гугла по запросу «национальный мультисканер» =(
UPD UPD.
В Яндексе на первой странице выдачи его тоже нет. Нужно поработать ребятам над seo оптимизацией.
👍3🦄1
Пришел тут студентам читать лекцию, подготовил презентацию, инженерия AI-агентов в ИБ, стильно-модно-молодежно.
Захожу в аудиторию, а там старые советские лакированные столы, зеленая доска и мел. И вот этот характерный запах аудитории, которую не открывали несколько лет.
А вы говорите AGI и побег агентов, ага...
Захожу в аудиторию, а там старые советские лакированные столы, зеленая доска и мел. И вот этот характерный запах аудитории, которую не открывали несколько лет.
А вы говорите AGI и побег агентов, ага...
👍4🦄4
Простенькая техника заметания следов за собой и как ее находить.
Представим, вы взломали какой-то сервис на Linux (что чаще всего карается по закону, не рекомендую вне учебных лабораторий) и хотите за собой зачистить следы в текстовом журнале, например, error.log веб сервера.
Вы можете сделать что-то типа такого
Таким образом вы обрезаете часть после байта 200796150 и подменяете новым файлом старый. Но есть нюанс.
1. У нового файла будет другой btime и туда ничего не будет писаться, потому что...
2. Дескриптор процесса, который пишет в error.log, например, rotatelogs, открывает поток на запись при старте, и если вы не рестартанули сервис, то поток будет писать в СТАРЫЙ inode.
Более того, сделав вот так
вы сможете легко этот дескриптор локализовать. А дальше все достаточно просто
И читаем художества злодея и новые события, которые появились после подмены.
Представим, вы взломали какой-то сервис на Linux (что чаще всего карается по закону, не рекомендую вне учебных лабораторий) и хотите за собой зачистить следы в текстовом журнале, например, error.log веб сервера.
Вы можете сделать что-то типа такого
head -c 200796150 error.log > new
mv new error.logtouch -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% считает его деньгами уже сейчас.
Интересно, конвертировалось ли высвобождение часов в финансовые показатели и как.
Буду внимательно следить за этим направлением и за тем, как Астра будет аргументировать свои заявления.
Вот что мне показалось интересным.
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