BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
Forwarded from CyberYozh
Защита от фишинга - разрабочикам на заметку

Многие простые варианты атак уже не представляют такой угрозы, как раньше. HTTPS осложнил MITM-атаки, HSTS позволяет усилить защиту соединения и мешает создавать фишинговые сайты.

В отношении электронной почты и защиты от e-mail спуфинга и фишинга ситуация обстоит похожим образом: подделать почту отправителя так, чтобы она открылась в том же gmail и не срезалась фильтрами становится все труднее.

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

Даже если хакер сможет пробиться через спам-фильтры и пришлет письмо, которое будет неотличимо от стандартного письма сервиса, кодовое слово ему никак не узнать. Для пользователя не составит труда завести привычку проверять наличие кодового слова. А для разработчиков внедрение такой функции не составит особого труда, но может спасти данные ваших клиентов.
Forwarded from CyberYozh
​​Шифрование переписок в браузере

CryptoData – браузерное дополнение с функционалом шифрования данных для браузеров Mozilla Firefox и Google Chrome.

После установки дополнения. При нажатии на значок CryptoData появляется форма для текста, который вы хотите зашифровать (или расшифровать). Используемый алгоритм шифрования AES-256 на сегодняшний день является оптимальным решением для быстрого и безопасного шифрования. Если вдруг вас потянет в настройки сменить его на RC4 (Rivest cipher), настоятельно не советую: RC4 в 2018 году уже устарел и не является достаточно безопасным. Нажимаем Зашифровать, придумываем временный ключ. Ключ надо передать собеседнику альтернативным каналом.

Нажимаем Зашифровать, придумываем временный ключ. Ключ надо передать собеседнику альтернативным каналом.

⚠️ Помните, что даже самый надежный алгоритм шифрования не будет безопасным при слабом, легко подбираемом ключе.

CryptoData поможет вам зашифровать почту в онлайн-клиентах вроде Gmail, переписки в социальных сетях, но может применяться и для шифрования сообщений в мессенджерах.
чуток про мобильные сети

Эх жаль на канале уже год нет новых видео =(

== В чем разница между 1G, 2G, 3G и 4G? Детальный обзор
https://youtu.be/uNDvnJSUHd0

== Замирание сигнала в радиоканале
https://youtu.be/Rcvs1FOFYj0
- быстрые замирания
- медленные замирания (изза метео условий)
- многолучевость (тот же сигнал со смещением во времени)
- нестабильность параметров приемника/передатчика
- ослабление сигнала в лесу вдвое больше чем в городе

== Транкинговая система мобильной связи. Радиальная система мобильной связи
https://youtu.be/w1mVd9hktXs
радиальная - каждому отдельные частоты
транкинговая - каждой сессии отдельная частота

== Handover – один из основных принципов сотовой связи.
https://youtu.be/_eeKzommA9U
возможность перехода из одной соты в другую - БС измеряет качество связи и выбирает лучшую (только в режиме приема/передачи)

== Основной принцип построения сотовой связи.
https://youtu.be/0VDWVSfiapg
сота максимального радиуса 35км !!!
в городах часто не привышает 1.5км (изза нагрузки)
- при перегрузке уменьшают мощность перегруженной БС что бы переключить на другую БС

Одна бс состоит из нескольких кластерных антенн (каждая по 120 или 60 градусов)

одни и теже частоты используются многократно в разных кластерах ! так как они используются не в соседними а сотами через одни (минимум)

== история мобильной связи
https://youtu.be/9A3aOpE9dNk
Примерно такое состояние когда весь день пытался по ману построить самопаблишинг пакета из CI гитлаба. Гдето не хватает галочки, блин
https://google.github.io/flatbuffers/
Многообещающая либа для сериализации от гугла
== SSh-протокол. Защита
https://youtu.be/RzjxuSNTGeU
ничего нового, но если коротко:
- можно посмотреть лог попыток брутфорса на серваке /var/log/btmp
- можно посомтреть лог сессий на серваке /var/log/auth.log
- юзайте RSA ключи а не пароли
- вырубайте доступ по паролю вспринципе
- hydra работает оч просто
- fail2ban очень помогает сразу отрубать айпишники которые ошибаются в попытках авторизации на сервак
- лучше закрывать 22 порт и переносить его на чтото еще пятизначное
- закрывать доступ допустимыми IP пулами
шикарный новый для меня канал по безопасности от разраба IBGroup

== Linux значит безопасно? О настройке Ubuntu для серверов и рабочих станций.
https://youtu.be/sJYa40oXJB0
- современное железо с TPM
- зашифровать весь диск с LUX
- секьюр бут!
- linux over tpm
- Kernel DMA protection!
- пароль большой и стойкий

то что у вас линукс это не значит безопасно

open source != безопасность

- обновляться ! обязательно !
- не работать под рутом
- минимизировать количество пакетов что устанавливаются
- SELinux
- AppArmor
- firewall - не юзать дефолты
- разрешить только доступ по ключам
- а нужен вообще ли доступ удаленный впринципе ?

- удалить лишние демоны и пр пакеты
- fail2ban
- жесткие полиси по бану за ошибку подключения
- ПРОВЕРЯЙ то что ставишь

== Как проверить свой айфон на слежку и взлом. Вирус Pegasus и защита вашего iOS устройства
https://youtu.be/I-ZwblCnBO4
- атаки идут в основном на встроенные приложения в ОС. остальные приложения работают в "песочницах"
- выключить IMessage
- сделать пароль больше чем 6 цифр
- отключить шторку при заблокрированном экране
== курс "Параллельное программирование"
https://youtube.com/playlist?list=PLlb7e2G7aSpQCPeKTcVBHJns_JOxrc_fT
про многопоточность, многопроцессорность, способы ускорить не толлько разбивая на много потоков, алгоритмы распределенных вычислений, opencl и пр

ШИКАРНЫЙ лектор. хороший курс


говорит быстро. поэтому больше чем в 1.5 не получилось ускорить
BufWriter<Master<'_>>
== курс "Параллельное программирование" https://youtube.com/playlist?list=PLlb7e2G7aSpQCPeKTcVBHJns_JOxrc_fT про многопоточность, многопроцессорность, способы ускорить не толлько разбивая на много потоков, алгоритмы распределенных вычислений, opencl и пр …
== Лекция 1. Введение (курс «Параллельное программирование»)
https://youtu.be/kbERSWTGtKw

___Одно ядро
SIMD - Single Instruction Multi Data
SSE - Streaming SIMD Extensions
- это доп набор регистров 8 128битных регистров для 4 чисел по 32 бит (фп)
___Много ядер
- потоки
- процессы
- вычислительный кластер (MPI, Hadoop, spark)
- *fibers

последовательный код - тот который НЕВОЗМОЖНО распараллелить = работают с ним ГАРАНТИРОВАННО в одном потоке

единица планирования в ОС это один поток

IPC - interprocess communication
- file
- mmap
- pipe
- socket

socket - дексриптор в ОС (число) и работают в ОС как с файлом, как будто через сеть

критерий (много процессов или много потоков)
- быстродействие
- защищенность памяти процесса
- надежность
- поддерживаемость

TLB - translation localside buffer - кэш соответствия виртуализации mem

boost - абстракция над Win/Posix Threads

demon поток аппа ждать не будет
== Лекция 2. Корректная работа с потоками
https://youtu.be/qA5XLTxmsP0

join ждет когда завершится тот поток который передали

что бы остановить поток раньше - послать сигнал ему

NPTL - Native Posix Threads Library

ps покажет процессы
ps -m еще покажет и потоки

user-space переходит kernel-space для того что бы спланировать/управлять новый поток (потоками заведует ОС, ОС имеет защищенную модель памяти, владеет единолично этими данными) - стараться избегать переходов

pthread_cancel просто устанавливает флаг IS_CANCELED этот флаг доступен внутри потока. сам код может решить что делать дальше. точное время завершения мы указать не можем.

поток проверяет у себя pthread_test_cancel() и если флаг выставлен то поток завершится.

pthread_cleanup_push(*f)
pthread_test_cancel()
pthread_cleanup_pop(*f)
- формирование стэка функций для корректного завершения потока (освободить ресурсы например). если был вызван pthread_test_cancel

cancelation_point
- может завершить текущий поток, договоренность

любой syscall может завершить поток

каждый вызов test_cacnel совершает переход в кернел = медленно!

НО можно сказать что он не хочет быть завершен ! есть флаг
== Лекция 3. Примитивы синхронизации
https://youtu.be/kNWSciQtHEc

MUTEX - mutual exclusion - взаимное исключение
pthread_mutex_* ВСЕГДА переводит в кернел = МЕДЛЕННО !

recursive_mutex
+ можно захватить в рамках одного потока НЕСКОЛЬКО раз (в обычном только один раз)

timed_mutex
+ захватить с ограничением по временем (типа если не удалось захватить на 10мс то не очень то и хотелось)

shared_mutex
+ захват на чтение
+ захват на чтение с возмоностью дозахвата на запись

spin_mutex
+ активное ожидание в захвате => НЕ ПРОВАЛИВАЕТСЯ В КЕРНЕЛ = бесконечный цикл в одном потоке
atomic_cas
оч полезно когда работаешь с примитивами
+ меньше вероятность блокировки при мелких операциях

CAS - Compare-and-set - compare-and-swap
и сравнивает и пытается записать если успешно. АТОМАРНА НА УРОВНЕ ПРОЦЕССОРА и возвращает успех (x86 cmpxchg)

два потока войдут в одно место НО ТОЛЬКО ОДИН сможет выполнить CAS операцию и получит там успех. поэтому второй пойдет на повторный цикл

Futex - fast userspace muTexes
Те операции которые могут быть в юзерспейсе - идут в юзерспейсе, а если не могут быть - проваливаются в кернел.
(тоже реализованы на CAS)
🔧 А вы знали, что в authorized_keys файле можно указывать не только сам ключ, но и дополнительные команды, или ограничения? Чуть подробнее об этом вот здесь: https://twitter.com/cyb3rops/status/1395009709787258882

А вообще, увидел я это в очередном, казалось бы, очевидном мануале по усилению безопасности SSH: https://blog.zsec.uk/locking-down-ssh-the-right-way/

#ssh #security #напочитать
Forwarded from oleg_log (Oleg Kovalov)
Ого какую вещь я не замечал.

Easy and simple Prometheus SLO (service level objectives) generator

https://github.com/slok/sloth
== Лекция 5. Алгоритмы синхронизации
https://youtu.be/7aabRlVERPc

lock-free - гарантируется что ни один поток не будет заблокирован

wait-free - это lock-free + гарантируется за сколько шагов завершится

мы должны гарантировать иммутабельность структуры для CAS, что бы работать с числами большими чем одно машинное слово, передавая указатель на замену в CAS