Telegram Web
Accelerate State of DevOps 2024

"Миллиард" страниц про AI.

За наводку спасибо @IT_Friday

Сам отчёт в комменты закину.
Технологический Болт Генона
🫡 Removal of (mostly Russian) email addresses from MAINTAINERS Posted Oct 21, 2024 13:57 UTC (Mon) by paulbarker (subscriber, #95785) Parent article: Kernel prepatch 6.12-rc4 This was merged for v6.12-rc4: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/...…
Предлагаю создать Министерство Linux'а.

Минцифры планирует создать собственное Linux-сообщество для разработчиков из стран, готовых сотрудничать с Россией. Такое решение — реакция на отстранение российских разработчиков от мирового IT-сообщества
. . .
Панченко указал, что будет правильно, если новый форк Linux будет сделан сообществом стран, а не отдельной страной. «Это прибавит веса и авторитета. Но чтобы это сообщество заработало, России придется в нем быть лидером и донором программного кода и экспертизы в его разработке. Но есть важное препятствие — в России не так много разработчиков такого уровня, чтобы мы могли полностью взять на себя ответственность за ядро операционной системы. Поэтому важно срочно растить свои кадры», — рассуждает Панченко.
. . .
Идея Минцифры создать собственное Linux-сообщество выглядит слишком амбициозно, считает член совета директоров российского разработчика НТЦ ИТ РОСА и компании «Рутек» Сергей Кравцов. «Не стоит ожидать, что в официальной ветке Linux будут приняты изменения от российского сообщества. Основные решения относительно развития ядра Linux, по сути, будут оставаться международным сообществом, даже если Минцифры организует локальную команду разработчиков», — считает он.

Минцифры предложило создать собственное Linux-сообщество
https://www.rbc.ru/technology_and_media/28/10/2024/671e424c9a7947704249be2c
В последний месяц разработчики, использующие Trivy для сканирования контейнеров, столкнулись с серьёзной проблемой: при попытке загрузить базу данных уязвимостей из GitHub Container Registry (ghcr.io) возникает ошибка TOOMANYREQUESTS. Это связано с тем, что GitHub начал ограничивать количество подключений к своему реестру, что негативно сказывается на работе Trivy и создаёт дополнительные трудности для разработчиков.

https://habr.com/ru/companies/flant/news/854318/

В посте зря трагедию рисуют

На самом деле Trivy выкладывает ещё базы в
- https://hub.docker.com/r/aquasec/trivy-db/tags
- https://gallery.ecr.aws/aquasecurity/trivy-db

Это можно увидеть в их Actions
          declare -A registries=(
["ghcr.io"]="${lowercase_repo}"
["public.ecr.aws"]="${lowercase_repo}"
["docker.io"]="${lowercase_repo}"
)

https://github.com/aquasecurity/trivy-db/blob/main/.github/workflows/cron.yml#L87C1-L92C1

Для того, что бы указать БД не по умолчанию используйте ключ --db-repository.

А ещё вот вам кусочек GitLab pipeline (написанный своими руками 🌝), которым можно перекладывать к себе в registry базу Trivy

variables:
TRIVY_DB_ARCHIVE_NAME: "db.tar.gz"
TRIVY_DB_EXTERNAL_TAG: "2"
TRIVY_DB_EXTERNAL_IMAGE: "ghcr.io/aquasecurity/trivy-db:${TRIVY_DB_EXTERNAL_TAG}"
TRIVY_DB_ARTIFACT_TYPE: "application/vnd.aquasec.trivy.config.v1+json"
TRIVY_DB_ARTIFACT_META: "application/vnd.aquasec.trivy.db.layer.v1.tar+gzip"
TRIVY_DB_INTERNAL_IMAGE: "${CI_REGISTRY}/path/trivy-db:latest"


pull-push-trivy-db:
image: ${CI_REGISTRY}/tools/oras:latest
stage: build
script:
- docker login --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
- /oras pull "${TRIVY_DB_EXTERNAL_IMAGE}"
- /oras push --artifact-type "${TRIVY_DB_ARTIFACT_TYPE}" "${TRIVY_DB_INTERNAL_IMAGE}" "${TRIVY_DB_ARCHIVE_NAME}:${TRIVY_DB_ARTIFACT_META}"


в дальнейшем тоже используйте ключик --db-repository, который будет указывать на ваш registry.

Если что, то посмотреть как с публикацией и управлением базами работает Trivy можно тут
https://github.com/aquasecurity/trivy-db/blob/main/.github/workflows/cron.yml#L81

А вообще, собирайте базы сами и держите их при себе 🌝
Forwarded from Lenix
Коллеги, добрый день
Решили поделиться опытом фаззинга dhcp сервера с помощью фаззера nyx-net. Перед нами стояла задача пофаззить dnsmasq, причём функционал, отвечающий за dhcp сервер. Мы решили, что данная цель хорошо подходит для того, чтобы потренироваться фаззингу клиент-серверных приложений с сохранением состояния (Crusher, AFLNet, StateAFL, SGFuzz). Мы давно хотели попробовать запустить [SGFuzz](https://github.com/bajinsheng/SGFuzz), но он к сожалению работает только с tcp протоколами, а dhcp протокол работает на udp. Поэтому сначала мы решили попробовать запустить AFLNet.

Fuzzing dnsmasq with AFLNet
AFLNet - это graybox фаззер, который позволяет тестировать имплементацию протоколов в сетевых серверах или клиентах. AFLNet выступает в качестве клиента, отправляя серверу смутированные пакеты. При этом фаззер учитывает не только покрытие кода тестируемого проекта, но и его состояние. Состояние сервера определяется с помощью кода возврата в ответе от сервера (например, код 200 в HTTP протоколе). При этом в качестве начального корпуса фаззер использует записанные с помощью tcpdump (или другой утилиты для захвата сетевого трафика) пакеты.
Таким образом, AFLNet пытается обеспечить максимальную имитацию реальных условий использования целевой программы. Ведь фаззить сетевое приложение с помощью стандартных подходов зачастую оказывается довольно сложно, так как какую-нибудь отдельную функцию сложно выделить из приложения из-за глобального состояния сервера. Поэтому в некоторых случаях настройка фаззинга сетевого приложения с помощью AFLNet является в разы проще чем стандартными фаззерами (AFL++, LibFuzzer).
Но к сожалению, у AFLNet есть большой недостаток - скорость фаззинга:
- AFLNet передаёт пакеты по сети, что довольно медленно в условиях фаззинга.
- AFLNet использует задержку по времени для инициализации сервера. То есть AFLNet ждёт определённое количество времени для инициализации сервера прежде чем отправить пакет.
- AFLNet использует задержку по времени чтобы дождаться ответа от сервера. То есть фаззер будет просто ждать некоторое время ответа от сервера и если ответа не поступило, то только после истечения этого таймаута фаззер завершит сессию.
Всё это приводит к очень низкой скорости фаззинга (в наших условиях было ~10 запусков в секунду).

Fuzzing dnsmasq with nyx-net
Мы решили посмотреть, какие существуют альтернативы AFLNet, которые позволяют нам решить перечисленные проблемы. Нас заинтересовал инструмент nyx-net. Nyx-Net - это snapshot based graybox фаззер, основанный на фаззере nyx. Использование снепшотов для фаззинга позволяет решить озвученные проблемы:
- nyx-net подменяет общение по сети на работу с shared memory. Этот механизм используется не только для увеличения скорости доставки тесткейса до целевой программы, но и для определения состояния сервера (например, сервер готов к считыванию пакета).
- nyx-net отслеживает вызовы чтения и записи в сетевой сокет. Таким образом, фаззер создаст базовый снепшот (root snapshot) перед вызовом функции для чтения из сокета. В дальнейшем при фаззинге фаззер будет откатываться до этого базового снепшота, чтобы начать новую сессию. Такой метод позволяет избежать задержки по времени при инициализации серевера.
- nyx-net создаёт возрастающие (incremental) снепшоты. То есть после отправки нескольких пакетов фаззер может сделать снепшот и потом откатываться уже до этого состояния, а не до базового снепшота. Таким образом, фаззеру не нужно воспроизводить цепочку пакетов, чтобы исследовать, как ведёт себя сервер в открытом состоянии при получении новых пакетов.
Но к сожалению, в nyx-net не было реализовано функции для подмены вызова recvmsg(), которая используется в dnsmasq для чтения сообщения и дополнительной информации из сокета. Поэтому мы написали свой патч, который эмулирует работу этого вызова, и отправили его разработчикам.
Таким образом, у нас получилось увеличить скорость фаззинга dnsmasq с помощью Nyx-Net примерно в 450 раз по сравнению с AFLNet. Поэтому рекомендуем добавить этот фаззер в свой набор инструментов.
Отличный пост про то как исследователь распотрошил наушники и нашёл много интересного в них, в том числе и что-то похожее на spyware

Close to a year ago, I stumbled upon the Kekz Headphones, which seemed like an interesting approach on the whole digital audio device space. They claimed to work without any internet connection and all of the content already on the headphones itself. They are On-Ear Headphones, which work by placing a small chip (I call them “Kekz” or “Cookie”) into a little nook on the side and it plays an audio story. I was intrigued, because there were some speculations going around, how they operate with those “Kekz”-Chips.

I invite you to join me on a journey into the inner workings of those headphones. We will talk about accessing the encrypted files on the device, breaking the crypto and discovering disclosure of data from customers.
. . .
Open Questions

- What is the full functionality of the Jieli-Chip? These chips are strange and challenging to identify. I only guessed which Chip it could be and got lucky with the HID Interface through the Windows Application

- What does the other Jieli-Chip on the other PCB Do?

- A full application to create a custom SD Card with a content manager to not only support the content already present on the Kekz Headphones, but furthermore all non-taken directories.

- Are there more HID commands?

- How good is the Geolocation Data sourced from a Laptop, which is probably triangulated Wifi Signals? Do the 30m-500m from the privacy policy hold up, or can it be narrowed down?

- What is this PII Data in the Azure cosmos database?


Reverse Engineering and Dismantling Kekz Headphones
https://nv1t.github.io/blog/kekz-headphones/
Технологический Болт Генона
Коллеги, добрый день Решили поделиться опытом фаззинга dhcp сервера с помощью фаззера nyx-net. Перед нами стояла задача пофаззить dnsmasq, причём функционал, отвечающий за dhcp сервер. Мы решили, что данная цель хорошо подходит для того, чтобы потренироваться…
Так как уже больше трёх человек спросили в личке откуда я форварднул вчерашний пост про фаззинг и где такими вещами занимаются, то решил рассказать на канале. Мало ли кому ещё интересно будет.

Есть такое движение сторонников РБПО (Разработка Безопасного Программного Обеспечения), в котором несколько направлений. Выражу их список через чаты в телеге 🌝

@sdl_static - чат, посвященный вопросам компиляторики и статического анализа (в первую очередь безопасный компилятор/Svace/Svacer, но не только)

@sdl_dynamic - чат, посвященный вопросам динамического анализа (в первую очередь Crusher/Sydr/Casr/Блесна/Natch, но не только). Собственно, вчерашний форвард сделан из него.

@sydr_fuzz - чат пользователей фаззера Sydr

@ispras_natch - чат системы определения поверхности атаки Natch

@sdl_flood - чат флудилка на тему безопасной и качественно разработки - то, что не укладывается в темы указанных выше чатов

@SDL_Community_SPb - локальный чат Питерской ветки сообщества

Так же рядом со всей этой движухой проводится открытая конференция ИСП РАН, которая является ежегодной и там регулярно появляются интересные доклады. Например, список докладов за 2023 год можно посмотреть тут https://www.isprasopen.ru/2023/#Agenda

В этом году она тоже будет проходить в декабре, так что кому интересно можно подавать свои доклады и регистрироваться https://www.isprasopen.ru/

Так же напоминаю про "Центр исследований безопасности системного программного обеспечения" https://www.tgoop.com/tech_b0lt_Genona/4755, который идейно очень близок и сильно пересекается по группам интересов.

Вроде, ничего не забыл и покрыл тему, но если что задавайте вопросы в личку или в комментах.
Мы к себе в Luntry (https://luntry.ru/) ищем Auto QA Engineer (Middle/Senior)

Про нас:
- Делаем продукт для observability и security Kubernetes
- Разработка и поддержка высоконагруженной системы, обрабатывающий большие потоки данных с кластеров Kubernetes

Требования:
- Знание методов и методик тестирования
- Опыт написания автотестов
- Опыт тестирования web-приложений (frontend & backend)
- Опыт работы в командной строке linux-подобных операционных систем
- Знание Python, SQL
- Опыт работы с системами контроля версий
- Опыт работы с системами учета багов

Всякие печеньки и ДМС присутствуют.

Вакансия на hh - https://spb.hh.ru/vacancy/109640019

Писать можно мне в личку - @rusdacent
Forwarded from Ever Secure (Aleksey Fedulaev)
Запись созвона сообщества

Смотреть 📺Youtube | 💰Boosty

Немного ссылок от Толи:
Доклад на БЕКОН 2024 - "Латаем огрехи в образах приложений с помощью Kubernetes"
Слайды, ВК, YouTube

Доклад на DevOpsConf 2023 - "Локальная инфраструктура для разработки K8s-native ПО"
Слайды, Видео

Доклад на HighLoad++ 2022 - "eBPF в production-условиях"
Слайды, Видео, Расшифровка доклада

Материалы воркшопа SafeCode 2024 Autumn
https://www.tgoop.com/tech_b0lt_Genona/4783

Доклад на OFFZONE 2023 - "Как мы SBOM генерировали и к чему пришли"
Слайды, Видео

Cozystack + Aenix
https://cozystack.io/ + https://www.tgoop.com/cozystack
https://aenix.io/ + https://www.tgoop.com/aenix_io

Создание собственного base-образа Docker с ОС Linux
https://tbhaxor.com/create-docker-base-image/

И чуть-чуть моих:
Доклад на Heisenbug 2023 Autumn - "7 раз отрежь, 1 раз отмерь"
Слайды, Видео

📹YT | 📺RT | 📺VK | 💰Bty
👀@ever_secure
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня будет стрим из Томского хакспейса "Akiba" в 18:00 (время UTC+7:00), 14:00 по МСК.

Список докладов

- Артефакты нейровокодеров
Докладчик: @Jl4cTuk
Узнаем какие артефакты оставляют модели синтеза речи, как с этим борются и живут.

- Основы электроники для начинающих радиогубителей.
Докладчик: @Alkekseevich
Доклад о том как я вкатился в электронику с нуля. Расскажу о том какие знания необходимы, а так же про траекторию развития в данной отрасли.

- SIGKILL 'Em All: цель и путь сигналов в Linux.
Докладчик: @g1inko
Как доставляются сигналы? Что они такое, и какие бывают? И из-за чего процессы могут стать не убиваемыми?

- NixOS: Что это и как с этим жить.
Докладчик: @M4maI
На докладе познакомимся с NixOS, что это за дистрибутив, как с ним работать и узнаем как его использовать в CTF

- ХэСС
Докладчик: @var1m
Что ты знаешь про ХэСС? Точно?

- Жизнь и смерть tcp сокета в ядре Linux.
Докладчик: @Daniil159x
Думаю, все так или иначе работали с TCP. Посмотрим как оно работает под слоями абстракций.


Ссылка на трансляцию
https://www.youtube.com/live/nbOsBA3BYPE

Чат хакспейса @hackspace_tomsk
Технологический Болт Генона
🫡 Stiver, ты был хорош. Согласно его последней публикации, Stiver ушёл из жизни с помощью эвтаназии, разрешённой в Германии. «Если не отпишусь в понедельник, значит сработало :)», — сказано в сообщении. Умер создатель онлайн-библиотеки Flibusta https://…
Вот это внезапно

On October 20, the original author of the Fernflower Java decompiler, Stiver, passed away after a long fight against glioblastoma.
. . .
Twenty years ago, he developed a deep professional interest in Java virtual machine internals. You may remember his research blog posts, like this one (in Russian) from 2006 about how to tweak the Java class hierarchy using Unsafe when Java 1.5 was just released. Around 2008, Stiver became fascinated by Java decompilation.
. . .
Stiver decided to write his own decompiler as a side project. To overcome the weaknesses of existing alternatives, he took a different approach. After reading the bytecode, he constructed a control-flow graph in static single-assignment form, which is much better to express the program semantics abstracting the particular shape of bytecode. At the beginning of this project, Stiver knew little about static analysis and compiler design and had to learn a lot, but the effort was worth it. The resulting decompiler produced much better results than anything available at that time. It could even decompile the bytecode produced by some obfuscators without any explicit support.
. . .
Stiver did the main development himself between 2008 and 2010. The first public version became available in May 2009 as a web service. A user could upload an individual CLASS file or a whole JAR file and get the decompiled result. The decompiler quickly gained popularity – during the first four months, users decompiled more than half a million Java classes. There was no public standalone version, but Stiver sent it privately to a few Beta testers.
. . .
In 2013, JetBrains approached Stiver with a suggestion to include Fernflower in IntelliJ IDEA. Part of the deal was making Fernflower open source. Everything went well, and the contract was signed. On July 11, 2014, the early access version of IntelliJ IDEA 14 was released, including the decompiler for the first time. You can still see the initial import of the Fernflower source code in the IntelliJ IDEA Git history, on March 4, 2014.
. . .
As Fernflower became open source, many other tools in the Java world used it – you can find a number of forks on GitHub. The Java team at JetBrains is constantly improving Fernflower, but it’s still mainly Stiver’s code.
. . .
Thank you, Stiver! We are deeply saddened by the loss of such a brilliant pioneer whose work and dedication had such a lasting and profound impact.

In Memory of Stiver
https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/

Спасибо подписчику за ссылку
2024/11/04 03:06:50
Back to Top
HTML Embed Code: