Технологический Болт Генона
8.3K subscribers
3.07K photos
378 videos
214 files
3.95K links
До Декарта никогда не существовало рационализма.

Музыкальный Болт Генона: @mus_b0lt_Genona
Мемный Болт Генона: @mem_b0lt_Genona
Кадровый Болт Генона @kadr_b0lt_Genona

Обратная связь: @rusdacent
Download Telegram
Давно я не бугуртил по поводу очередных ценных рекомендаций по работе с базой от рубистов.
Нет новостей от рубистов, вот и не бугуртил. Попрятались.

Но есть ЦУ от js-разрабов :)
И не от кого-нибудь, а от человека, который сделал prettier.
Для тех кто не знает - это тулза, которая сама форматирует js - код, согласно правилам в линтере.
Т.е. импакт его работы не поддается подсчету. Сэкономлены миллионы человеко-часов и миллиарды долларов.

И вот тут выходит ЭТО.

https://jlongster.com/how-one-word-postgresql-performance

Если коротко - человек узнал, что можно делать INSERT сразу нескольких строк сразу, а не по одной и поспешил рассказать об этом миру...

Не, ну допустим, что не всем это очевидно, ок (хотя, фак, как это можно оправдать). Но блин, делать поля с именами timestamp и group_id типа TEXT это как вообще?
Следующим открытием, видимо, будет то, что timestamp можно не хранить текстом и group вынести в отдельный справочник.
А потом про COPY.

Но и это еще не все.
Человек написал тулзу, которая работает с линтером, но сам, похоже им не пользуется.

await внутри for!
forEach вместо reduce!

И никто из 23.7k его фоловеров в твиттере ему не напихал!

Работает в stripe, кстати.

Короче, фак дыс щит.

PS: в анализаторе есть правила, которые выдают notice при сильном расхождение имени колонки и типа для нескольких кейсов. timestamp там тоже есть.
Тут в 4gophers закинули ссылку на пост про жизнь в Uber с Bazel https://xn--r1a.website/gophernews/1104

Я пару недель назад просматривал видосы с BazelCon 2019, коль такое совпадение, то решил поделиться этим

Вот плейлист
https://www.youtube.com/playlist?list=PLxNYxgaZ8Rsf-7g43Z8LyXct9ax6egdSj

Программа
https://conf.bazel.build/2019/schedule

Там, например, проходил bootcamp
Half-Day Bazel Bootcamp (Part 1)
https://www.youtube.com/watch?v=BGOEq5FdNUQ
Half-Day Bazel Bootcamp (Part 2)
https://www.youtube.com/watch?v=1KbfkOWO-DY
Репозиторий с примерами
https://github.com/OasisDigital/bazelcon-2019
Forwarded from Security Wine (бывший - DevSecOps Wine) (Denis Yakimov)
Finding secrets in repositories

truffleHog - open-source инструмент для поиска открытых секретов в репозиториях на GitHub. Инструмент просматривает всю история коммитов каждой ветки, проверяя каждый diff из каждого коммита на наличие секретов. Кстати truffleHog для поиска секретов использует анализ энтропии Шеннона.

Среди его аналогов - defect-secrets, GitGuardian, о котором я писал ранее.

Дополнительно:
Раскрытие секретов на GitHub: что делать после утечки учетных данных и ключей API

LeakLooker - скрипт + веб-интерфейс для постоянного поиска утечки открытых баз данных и сервисов.

#secret
TL;DR
This article explores how we can reverse engineer Docker images by examining the internals of how Docker images store data, how to use tools to examine the different aspects of the image, and how we can create tools like Dedockify to leverage the Python Docker API to create Dockerfiles from source images.


Reverse Engineer Docker Images into Dockerfiles
https://medium.com/appfleet/reverse-engineer-docker-images-into-dockerfiles-4d667874098c
> For this vulnerability, I was paid $100,000 by Apple under their Apple Security Bounty program.

Zero-day in Sign in with Apple
https://bhavukjain.com/blog/2020/05/30/zeroday-signin-with-apple/
Forwarded from DOFH - DevOps from hell
Meanwhile, Hetzner запустил клауд с апишечкой к серверам
https://www.hetzner.com/cloud

Покупка сервера на хецнере теперь выглядит так:
curl -H 'Authorization: Bearer YOUR-API-TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "name": "server01", "server_type": "cx21", "location": "nbg1", "image": "ubuntu -16.04"}' \
-X POST 'https://api.hetzner.cloud/v1/servers'
Симулятор стыковки
https://iss-sim.spacex.com/

Я не смог 🌝
Тут "дятел" в интернеты влетел
Предполагалось, что проблема затрагивает старые выпуски дистрибутивов (включая Debian 9, Ubuntu 16.04, RHEL 6/7) в которых используются проблемные ветки OpenSSL, но проблема проявилась также при работе пакетного менеджера APT в актуальных выпусках Debian 10 и Ubuntu 18.04/20.04, так как APT использует библиотеку GnuTLS. Суть проблемы в том, что многие TLS/SSL-библиотеки разбирают сертификат как линейную цепочку, в то время как в соответствии с RFC 4158 сертификат может представлять ориентированный распределённый циклический граф с несколькими якорями доверия, которые нужно учитывать. О данной недоработке в OpenSSL и GnuTLS было известно уже много лет. В OpenSSL проблема была устранена в ветке 1.1.1, а в GnuTLS остаётся неисправленной.

https://www.opennet.ru/opennews/art.shtml?num=53061

"Починил" у себя так
1. Комментим через ! строчку mozilla/AddTrust_External_Root.crt в /etc/ca-certificates.conf
2. Запускаем update-ca-certificates
Технологический Болт Генона
Тут "дятел" в интернеты влетел Предполагалось, что проблема затрагивает старые выпуски дистрибутивов (включая Debian 9, Ubuntu 16.04, RHEL 6/7) в которых используются проблемные ветки OpenSSL, но проблема проявилась также при работе пакетного менеджера APT…
В личке пока обсуждал спросили, что на счёт CentOS/RHEL. По ссылке на opennet есть, но я сюда отдельно вынесу

# trust dump --filter "pkcs11:id=%AD%BD%98%7A%34%B4%26%F7%FA%C4%26%54%EF%03%BD%E0%24%CB%54%1A;type=cert"  > /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
# update-ca-trust extract
Forwarded from oleg_log (Oleg Kovalov)
Думаю все уже наслушались про zero-day в Sign-in with Apple и выплате в 100к.

Но мне больше понравилась эта статья, где все тож самое, только по полочкам рассказывается https://aaronparecki.com/2020/05/31/30/the-real-cause-of-the-sign-in-with-apple-zero-day

тлдр:
1: Validate your form inputs!
2: Never roll your own authentication.
Прямой эфир

CDF / Антон Вайс и Cloud Native CI/CD // 02.06.2020
https://www.youtube.com/watch?v=eZKKxFbyE08
🛠 Live Patching Tools.

Сравнение livepatch-утилит, которые позволяют патчить ядро налету, уменьшая, тем самым, количество необходимых ребутов.

#livepatch #kernel #напочитать
Forwarded from Security Wine (бывший - DevSecOps Wine) (Denis Yakimov)
IAST and hybrid analysis

SAST и DAST - два основных инструмента для поиска уязвимостей в приложении. Как правило SAST из коробки - это большое количество ложных срабатываний, а DAST - это неполный набор уязвимостей, выявленных на ограниченном множестве запросов к развернутому сервере (либо такое же большое количество ложных срабатываний)

IAST (Interactive AST) должен сочетать в себе SAST и DAST, но, что из себя в конечном итоге представляет класс решений, до конца сообщество и вендоры не определились. Попробуем внести некоторую ясность и разобраться в текущих наработках.

Версии:
1) IAST - агент, отслеживающий работу приложения и сопутствующего компилятора и интерпретатора, что позволяет определить уязвимость в развернутом приложении с указание на строчку в коде. В случае с предварительно скомпилированными ПО IAST может точно определить проблему в байт-коде, что ускоряет его поиск в исходном коде. (Acuetix source)

2) IAST - инструмент, который использует SAST для формирования наборов входных данных и шаблонов ожидаемых результатов, а DAST выполняет тестирование системы на этих наборах, опционально привлекая к процессу человека-оператора в неоднозначных ситуациях (PT Blog)

3) IAST - инструмент, выполняющий тесты безопасности, для развернутого приложения основываясь на запросы-ответы в рамках функциональных тестов, проверяя, таким образом, не все приложение, а только часть (Пример ПО: Wallarm FAST)

Наиболее зрелые представители IAST на рынке - Checkmarx, Veracode, Synopsys

Из бесплатных IAST есть Contrast (не open-source, но free)
За ссылку спасибо @tech_b0lt_Genona

Вообще задача с совмещением результатов SAST и DAST сама по себе довольно интересная.
Вот некоторые мысли о создании гибридного SAST/DAST с Google Patents:
Method of correlation Static and Dynamic AST Results For A Web Application

Из блога Veracode:
A Dose of Reality on Automated Static-Dynamic Hybrid Analysis

Пример из какого-то неизвестного мне инструмента:
Examples of hybrid analysis

#iast #tools #sast #dast
How I made $31500 by submitting a bug to Facebook
How did I found SSRF in Facebook — the story of my first bug bounty

https://medium.com/@win3zz/how-i-made-31500-by-submitting-a-bug-to-facebook-d31bb046e204