Технологический Болт Генона
9.74K subscribers
3.5K photos
462 videos
222 files
4.45K links
До Декарта никогда не существовало рационализма.

Музыкальный Болт Генона: @mus_b0lt_Genona
Мемный Болт Генона: @mem_b0lt_Genona
Кадровый Болт Генона: @kadr_b0lt_Genona
Генеалогический Болт Генона: @gen_b0lt_Genona
Обратная связь: @rusdacent
Download Telegram
Разработка SSH3 стала результатом полного пересмотра протокола SSH, проведённого отдельной группой исследователей независимо от OpenSSH и других проектов, развивающих реализации классического протокола SSH. В SSH3 семантика классического протокола SSH реализована через механизмы HTTP, что позволило реализовать некоторые дополнительные возможности и обеспечить скрытие связанной с SSH активности среди другого трафика.

При использовании SSH3 сервер неотличим от HTTP-сервера и принимает запросы на 443 сетевом порту (HTTPS), а трафик SSH3 сливается с типовым HTTP-трафиком, что затрудняет проведение атак, связанных со сканированием портов и выявлением SSH-серверов для подбора паролей. Для усложнения совершения атак на серверы SSH3, кроме знания сведений о наличии сервера на заданном IP-адресе, может задаваться секретный путь-идентификатор SSH3-сервера. Без обращения с корректным идентификатором сервер обработает ответы как обычный HTTPS-сервер и не выдаст факт наличия возможности подключения по SSH3. Например, при задании идентификатора "e6ae772cbdaafd6918865cc2ce449dae" подключиться к серверу можно только по URL "https://192.0.2.0:443/e6ae772cbdaafd6918865cc2ce449dae", а если идентификатор указан некорректно, сервер выдаст штатную ошибку "404".

Из расширенной функциональности SSH3 упоминается возможность использования для аутентификации сертификатов X.509 и методов OAuth 2.0/OpenID Connect, помимо классических методов SSH; поддержка перенаправления UDP-портов через SSH-туннель в дополнение к возможности перенаправления TCP-портов (например, для проброса QUIC, DNS и RTP); использование расширенных функций протокола QUIC, таких как миграция соединений без разрыва подключения и установка multipath-соединений для распараллеливания трафика по нескольким маршрутам.
. . .
Время реакции на клавиатурный ввод для уже установленных сеансов в SSH3 и SSHv2 находится на одном уровне.


Представлен SSH3, вариант протокола SSH, использующий HTTP/3
https://www.opennet.ru/opennews/art.shtml?num=60300
👍30🔥14🙈5🤔4👎2🌭1
This media is not supported in your browser
VIEW IN TELEGRAM
🗜 Смотрите какой клёвый pastebin сервис, работающий по SSH и доступный как в tui, так и в веб-морде... https://snips.sh/

А ещё, всё это можно развернуть на собственном сервере, судя по всему:

https://github.com/robherley/snips.sh

#tui #pastebin #ssh
👍23🤗2
Trying to adapt observability tools into security tools generally increases overhead (e.g., adding extra probes) which negates the main reason I developed these using eBPF in the first place. That would be like taking the wheels off a car to help make it float. There are other issues as well, like decreasing maintainability when moving probes from stable tracepoints to unstable inner workings for TOU tracing. Had I written these as security tools to start with, I would have done them differently: I'd start with LSM hooks, use a plugin model instead of standalone CLI tools, support configurable policies for event drop behavior, optimize event logging (which we still haven't done), and lots more.


eBPF Observability Tools Are Not Security Tools
https://brendangregg.com/blog/2023-04-28/ebpf-security-issues.html
👍6
Why we built Corrosion

We built Corrosion specifically for service discovery across a large global network, replacing Consul’s central state database with eventually consistent state distributed across our hosts.
. . .
How Corrosion works

In a nutshell, Corrosion:

- Maintains a SQLite database on each node
- Gossips local changes throughout the cluster
- Uses CR-SQLite for conflict resolution with CRDTs
- Uses Foca to manage cluster membership using a SWIM protocol
- Periodically synchronizes with a subset of other cluster nodes, to ensure consistency

Features

- A flexible API to read from and write to Corrosion's store using SQL statements
- File-based schemas with on-the-fly updates
- HTTP streaming subscriptions based on SQL queries
- Live population of configuration files from Corrosion state with user-defined Rhai templates
- Storage and propagation of state from locally registered Consul services, replacing the central database with Corrosion's distributed state
- Secure peer-to-peer communication with the QUIC transport protocol (using Quinn)

Gossip-based service discovery (and more) for large distributed systems.
https://github.com/superfly/corrosion

Это проект от fly.io и есть запись стрима где как раз подробно разбирается gossip

Solving distributed systems challenges in Rust
https://www.youtube.com/watch?v=gboGyccRVXI
6
Forwarded from Cybred
Разработчики любят писать микросервисы для "перекладывания JSON". Стандарт устоявшийся и, как правило, не сулит проблем. Но так ли это на самом деле?

Возьмем небольшое приложение с двумя микросервисами:
Cart — реализует бизнес-логику корзины
Payment — используется для обработки платежей

Cart написан на Python с Flask и принимает ID товаров с их количеством. Попробуем отправить в него запрос с двумя одинаковыми ключами:
"cart": [
{
"id": 0,
"qty": 5
},
{
"id": 1,
"qty": -1,
"qty": 1
}
]

Сервис провалидирует JSON в соответствии со схемой jsonschema.validate(instance=data, schema=schema). Убедится, что id: 0 <= x <= 10 and qty: >= 1. На этом этапе не будет ошибки (не смотря на то, что один из отправленных qty не подходит под условие), поскольку Flask использует стандартный JSON-парсер из Python, а тот сериализует данные, отдавая приоритет последнего ключа (qty = 1).

Дальше провалидированный JSON отправляется в микросервис Payment.

А микросервис Payment написан уже на Go и использует другой парсер buger/jsonparser. Он уже не валидирует JSON (ведь валидация была на предыдущем шаге), но использует приоритет первого ключа (qty = -1). Считает итоговую сумму total = total + productDB[id]["price"].(int64) * qty и генерирует чек.

Мы смотрим в чек, который вернулся в ответе, и видим ошибку. Нам будет отправлено шесть товаров стоимостью 700 долларов, но с нас взяли только 300 долларов, из-за расчетов со вторым ключом.

Такие ошибки возникают из-за того, что существует много стандартов JSON:
1. json.org
2. IETF RFC 4627
3. ECMAScript 262
4. ECMA 404
5. IETF RFC 7158
6. IETF RFC 7159
7. JSON5
8. HJSON

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

Полезные ссылки:
https://seriot.ch/json/parsing.htmlбольшая таблица-сравнение: как разные парсеры обрабатывают разные значения.
https://bishopfox.com/blog/json-interoperability-vulnerabilities я рассказал только об одном баге, но их гораздо больше: здесь можно почитать обо всех остальных.
https://github.com/a1phaboy/JsonDetect расширение для Burp для определения того, какой парсер используется.
🔥34🆒5❤‍🔥21👍1🤡1🌚1
Я ранее писал о том, что к Flipper'у камеру прицепили (https://xn--r1a.website/tech_b0lt_Genona/3545)

И там в комментариях справедливо вспомнили камеру для Game Boy.

Теперь её тоже к Flipper'у прикрутили 🌝

Исходный код и описание тут
https://github.com/EstebanFuentealba/MALVEKE-Flipper-Zero/blob/main/flipper_companion_apps/applications/external/malveke_gb_live_camera/README.md

И вообще этот репозиторий посвящён интеграции устройств Game Boy с Flipper Zero.
😱9🔥4👍1💊1
Выложили доклады с NDC TechTown 2023

Плейлист
https://www.youtube.com/playlist?list=PL03Lrmd9CiGdBvVUXpZCKK88-Vpd5VwEo

Отмечу один прикольный доклад

This talk will go over what it means to play video games with the assistance of tools and show a few examples of how this can be done using C++.

From games that support creating tools to injecting your own code into a game.


Playing Video Games One Frame at a Time
https://www.youtube.com/watch?v=Z1Nf8KcG4ro

По наводке от @dereference_pointer_there
👍21
🫡

В развиваемом компанией Intel открытом телефонном стеке oFono, используемом для организации осуществления звонков, передачи данных через сотового оператора и отправки SMS в таких платформах, как Tizen, Ubuntu Touch, Mobian, Maemo, postmarketOS и Sailfish/Aurora, выявлены две уязвимости, позволяющие организовать выполнение кода при обработке специально оформленных SMS-сообщений. Уязвимости устранены в выпуске oFono 2.1.

Обе уязвимости вызваны отсутствием должной проверки размера внешних данных в коде декодирования SMS-сообщений в формате PDU, что можно использовать для записи данных за пределы выделенного буфера. Первая уязвимость (CVE-2023-4233) проявляется в функции sms_decode_address_field(), а вторая (CVE-2023-4234) в decode_submit_report().


https://www.opennet.ru/opennews/art.shtml?num=60326
11😁2🦄2🫡1
Новая запись 4
Хорошая история про развод.

OZON сливает персональную информацию хуй пойми кому и рассказывает, что это нормально.
👍126🙈2
Идея заключается в том, чтобы переложить юридическую ответственность за ошибки в исходном коде с разработчиков открытых проектов на поставщиков конечных коммерческих продуктов на основе этого кода, т.е. сместить ответственность с того, кто разрабатывает код, на того, кто зарабатывает на этом коде. Например, если компания использует сторонний открытый код в своём продукте и ошибка/уязвимость в этом коде привела к нанесению ущерба пользователю, то отвечать в такой ситуации и возмещать ущерб должен производитель переданного пользователю коммерческого программного продукта, а не разработчик открытой библиотеки.

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

В нынешней практике для снятия с себя юридических рисков достаточно наличия в лицензии предупреждения "AS IS", в котором заявлено, что разработчик не несёт ответственности за ошибки, не даёт никаких гарантий на работоспособность кода и не принимает обязательств по решению проблем, а потребитель соглашается использовать код на свой страх и риск. Отсутствие гарантий от разработчиков стимулировало развитие бизнес-модели на основе платной технической поддержки, которая доминировала на раннем этапе становления экосистемы СПО.

Предложение по перекладыванию ответственности за ошибки в открытом коде
https://www.opennet.ru/opennews/art.shtml?num=60273
👍19🤡2
Выложили запись митапа от @sysadminka, который проходил 19 декабря

00:01:52 Станислав Столбов, DevOps в Magnit Tech - Обязанности DevOps инженера
00:43:00 Вадим Исаканов, команда развития Боцман Клик / STsoft — Как искать работу в DevOps/Infra

https://www.youtube.com/watch?v=_FMMy4Dnp9A

Ссылка на GH от Вадима Исаканова для собеса
https://github.com/vadimisakanov/open-infrastructure/tree/master/hire

Слайды скину в комментарии
👍4👎1🤡1🥱1
Если вы не знали, то в Linux есть реальная проблема - отсутствия каталога "Program Files"

Мне даже описывать сложно, что там происходит, кроме как - 💊

Многие вероятно знают, что в Linux просто нет места для портативного софта, в папке пользователя хранить приложения не принято, а домашний каталог быстро превращается в помойку, в системных папках всё ограничено правами доступа, и куда деваться разработчикам? Подстраиваться и переучивать огромную массу "вендузятников" делать по другому? Я не собираюсь подстраиваться ущемляя себя в возможностях!


Решаю характерную для Linux проблему отсутствия каталога "Program Files"
https://overclockers.ru/blog/Hard-Workshop/show/125630/reshaju-harakternuju-dlya-linux-problemu-otsutstviya-kataloga-program-files
+
https://github.com/Shedou/Chimbalix/blob/main/Chimbalix-portsoft/portsoft/ReadMe!.txt
💊52🤡25👎6👍1
Полностью тут

Year in Review 2023
Explore worldwide trends that shaped our Internet this year
https://radar.cloudflare.com/year-in-review/2023
👍4