Рекриптор
228 subscribers
88 photos
12 videos
3 files
263 links
Заметки на полях о практической безопасности и не только
Download Telegram
Появилась реализация на Rust алгоритма RC4OK, о котором писали ранее. Несмотря на то, что работа ещё в стадии preprint, интерес к реализации есть (ещё бы его не было с такими то характеристиками). Это хорошо

Ссылка: https://lib.rs/crates/rc4ok

#rc4ok #криптография
👍3
Работа хоть и не совсем свежая, но крайне интересная. Я бы даже сказал - отражающая тренд развития практической ИБ. Если совсем кратко, то в разных головах, включая наши, уже давно бродят мысли по поводу анализа больших графов зависимостей (или графов происхождения - provenance graphs) разного рода событий, например, на рабочих станциях. Например, известный процесс скачал какой-то файл, который был открыт другим процессом, спустя длительное время. Этот другой процесс через сутки вышел в сеть на такой-то ресурс, потом, спустя неделю, этот другой процесс создал соединение, пробежался по директориям, обратился к каким-то файлам на чтение... А потом, спустя какое-то время, появилась ещё какая-то похожая активность. По отдельности эти события малозначительны, да ещё и разделены по времени (low and slow). В общем, EDR может и пропустить (особенно, если атакующим известно, какая EDR у жертвы, им удалось её изучить, выделить шаблоны на поведение и обойти их). Но в совокупности эти события дают однозначную картину. Точнее, давали бы, если бы такие огромные быстрорастущие графы происхождения можно было бы на практике эффективно хранить и обрабатывать. Но всё-таки хранить, обрабатывать и выявлять очень хочется. Как говорится, если нельзя, но очень хочется, то можно. Здесь приходят на помощь разного рода способы "сжатия" (назову это так, чтобы долго не писать) графов с сохранением необходимой информации. Работа как раз про это. В дальнейшем к этим предварительно обработанным данным применяются классические алгоритмы Data Science для выявления аномалий. Да, ИБ, как и много другое, уверенно движется в сторону эффективной работы с большими данными и применению ИИ.
Материал хорошо проработан, много полезных ссылок. Так то работа, если немного подумать, не только про защиту рабочих станций, но и много про что ещё. Просто интересная математика, которую имеет смысл понимать. В общем, очень рекомендую. По ссылке статья, слайды и видео выступления

https://www.ndss-symposium.org/ndss-paper/unicorn-runtime-provenance-based-detector-for-advanced-persistent-threats/

#ии #почитать
🔥3
Поздравляем! Кстати, все желающие сотрудники Компании обучаются за счёт Компании
👍13🔥3🎉2
Солидная часть наших разработок делается на C и C++. Потому возникла идея здесь описать знания, которыми, на наш взгляд, должен владеть начинающий разработчик C++.

1. Стек. Как передаются аргументы в функцию. Адрес возврата. Форматы вызовов (cdecl, stdcall, fascall). Локальные переменные (почему они локальные и как это связано со стеком).
2. Массивы и динамические списки. Люди, утверждающие, что знают STL, иногда не понимают разницы между std::list и std::vector.
3. Память. Глобальные переменные, динамическая память, регистровая память, стек (уже было, но это реально важно). Очень хочется понимания страничной адресации памяти.
4. Наследование. Виртуальные функции. Таблица виртуальных методов.
5. Компиляция и линковка. Что это вообще такое.

Хорошие книжки по C++:
1. Стивен Прата, Язык Программирования C++
2. Скотт Майерс, Эффективное использование C++
3. Николаи Джосаттис, Стандартная библиотека C++. Справочное руководство
4. Вандевурд Дэвид, Грегор Дуглас, Шаблоны C++. Справочник разработчика.
5. Дейл Роджерсон, Основы COM (здесь очень хорошо описано наследование и таблицы виртуальных методов, такого нигде не видел больше)

Полезные советы начинающим:

1. Не нужно стесняться при отладке глядеть в ассемблерный код. Если хочется писать действительно серьёзные системные вещи, понимать, как оно работает под капотом, важно. Снимет массу вопросов, сэкономит кучу времени.

2. Экспериментировать лучше с линуксовым стеком

#почитать #программирование
👍10
Добавлю к предыдущему посту. Почему важно понимать низкий уровень при программировании на, казалось бы, высокоуровневом языке C++? Например, статическая локальная переменная в функции. При понимании, где она на самом деле располагается, становится совершенно понятно, почему её значения сохраняются от вызова к вызову. И сразу понятно, что там с многопоточностью. Равно как понимание, чем отличается вызов статической функции-члена класса от вызова обычной функции-члена класса, сразу даст ответ на вопросы с доступностью членов класса. Понимание низкоуровневой механики происходящего позволит не заучивать все эти вещи, а понимать, почему именно так. Как и говорил выше, это экономит кучу времени и приносит меньше страданий и себе, и людям. Так что без основ реверсинга никуда :)
А пока ещё один документ, куда имеет смысл обращаться при работе. Это стандарт C++ https://isocpp.org/files/papers/N4860.pdf

#почитать #программирование
👍6
Все побежали, и я побежал (c) :)

Все стараются подвести итоги года. Мы тоже это сделаем. Однако писать много букв лень, поэтому просто приведём ссылки, картинки и видео.

https://eprint.iacr.org/2021/136
https://eprint.iacr.org/2023/1486/

Сделано много, сделано хорошо. От брингапа материнской платы с прошивкой, device tree и всем сопутствующим до трекера объектов. Мы растём во всех смыслах. Это отлично!
👍7🎉2❤1👀1
С Новосельем, Рекрипт! Сегодня официально началась новая веха в развитии Компании. Дело, конечно, не только в новых офисах гораздо более высокой площади и класса, где можно не только эффективно работать, но и отдыхать. Дело в общем росте старых направлений и появлении новых, где мы уже показываем результаты. Дело в новых талантливых лицах, которые пополняют число сотрудников Компании. Дело в общем росте наукоёмких задач, которые мы умеем решать и решаем. Это хорошо
👍23🔥2👏1
На РусКрипто сделаем два доклада. Первый - про RC4OK, о котором писали ранее.
Второй доклад будет посвящён статическому анализу исполняемых файлов с помощью ИИ - небольшой части большой, наукоёмкой, очень важной и безумно интересной работы в интересах компании Вычислительные решения
👍8❤1🔥1
Сижу на РусКрипто, слушаю доклады. Стоило приехать хотя бы ради того чтобы понять, насколько всё-таки академическая и научная среда далеки от реальной жизни. Не всегда, но ощущение пока такое... Разрыв между теоретиками и практиками мне видится большим. Но говорят все, конечно, красиво, уверенно, энергично. Так принято.
При этом много действительно интересных и умных людей, с которыми интересно и приятно кулуарно общаться. В этом плане площадка бесценна
😁10🌚1
Channel photo updated
О_статическом_анализе_исполняемых_файлов_на_содержание_вредоносного.pdf
1 MB
Презентация одного из наших докладов на РусКрипто: "О статическом анализе исполняемых файлов на содержание вредоносного кода". Это одна из многих интересных задач, решаемых нашей лабораторией VR Protect. Огромное спасибо Лавровой Дарье Сергеевне - модератору секции. Доклады были интересными как с теоретической, так и с практической точки зрения

#ии #почитать #антивирус
👍6
Channel photo updated