home.social

#системные_вызовы — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #системные_вызовы, aggregated by home.social.

fetched live
  1. Работают ли запреты внутри песочницы ИИ-агента?

    ИИ-агент работает в песочнице, но отдельным инструментам нужны разные права. Анализатору можно читать исходники, а менять их нельзя. Как проверить, что этот запрет действует? В экспериментах с Linux и gVisor встретились три ситуации. Механизм ограничения отсутствует, для его настройки не хватает прав или настройка проходит успешно без ожидаемого эффекта. Даже загруженная и подключённая программа фильтрации не всегда что-то фильтрует. Показываю результаты, ошибки собственных проверок и подход, который помогает проверить ограничения до запуска инструмента агента.

    habr.com/ru/articles/1089364/

    #ии #gvisor #песочницы #linux #landlock #bpf #безопасность_ии #ииагенты #системные_вызовы

  2. А точно ли вы знаете, чем занят ваш агент в песочнице?

    Агент отработал полчаса и остановился. У вас спрашивают, что он делал. Вы открываете его логи. Там аккуратный рассказ агента о себе: вызвал такой-то инструмент, получил такой-то результат, решил сделать то-то. Рассказ убедительный, потому что писала его та же модель, чьи действия вы проверяете. Вы открываете метрики платформы. Там ровно то, что платформа умеет показывать: столько-то запросов, столько-то секунд, столько-то мегабайт. Вопрос, на который нет ответа ни в одном из двух окон: откуда вообще берётся знание о том, что агент делал. Не что он про себя написал, а что он сделал.

    habr.com/ru/articles/1082448/

    #gVisor #Kata_Containers #Firecracker #eBPF #bpftrace #песочница #изоляция #системные_вызовы #AIагенты

  3. Как превратить публичный PoC в детект: разбираем эксплуатацию Dirty Frag

    Хабр, привет! На связи Алина Байрамова, аналитик-исследователь угроз кибербезопасности R-Vision. Появление новой уязвимости с рабочим публичным PoC обычно запускает привычный процесс: специалисты определяют затронутые системы, проверяют наличие обновлений и планируют установку патчей. Но до тех пор, пока инфраструктура не обновлена, необходимо понять, можно ли заметить попытку эксплуатации по доступной телеметрии. С этим не всегда все очевидно. Описание CVE и публичный PoC позволяют понять, как работает уязвимость, но сами по себе не дают готового сценария обнаружения. Эксплойт может использовать штатные механизмы операционной системы, а отдельные действия, которые он выполняет, встречаются и в легитимной активности. В этой статье разберем три публичных PoC для Dirty Frag: два варианта эксплуатации CVE-2026-43284 через ESP/XFRM и один для CVE-2026-43500 через RxRPC. Посмотрим, какие системные вызовы выполняют эксплойты, какие следы остаются в событиях Linux и какие признаки можно использовать для обнаружения эксплуатации. В результате соберем детекты для разных вариантов Dirty Frag и сравним, какие признаки остаются стабильными между реализациями PoC.

    habr.com/ru/companies/rvision/

    #Dirty_Frag #CVE202643284 #CVE202643500 #Linux #Linux_kernel #эксплуатация_уязвимостей #auditd #SIEM #threat_hunting #системные_вызовы

  4. Реализация TUN GSO в кастомном VPN-сервере на Java

    Как одна фича сократила число системных вызовов на TUN-интерфейсе моего VPN почти вдвое — а на bulk-трафике до 44 раз. В этой статье пойдет речь о том как работает TUN GSO, зачем нужен virtio_net_hdr , какие подводные камни встретились во время реализации и почему эта технология способна заметно снизить нагрузку на VPN-сервер. Статья будет полезна разработчикам VPN серверов и клиентов.

    habr.com/ru/articles/1058404/

    #TUN #GSO #virtio_net_hdr #TSO #VPN #Linux #Java #сетевой_стек #системные_вызовы #оптимизация_производительности

  5. Как программа попадает в память: от execve до main

    Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .

    habr.com/ru/articles/1036444/

    #Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик

  6. strace: отладка Linux-приложений через системные вызовы

    Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.

    habr.com/ru/companies/otus/art

    #linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace

  7. Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами

    Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: habr.com/ru/articles/1000766/

    habr.com/ru/articles/1007988/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  8. Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

    Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

    habr.com/ru/companies/vk/artic

    #Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины

  9. Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI

    В этой статье мы разберём, какие механизмы предоставляет Linux для работы с сетью и как на их основе строятся фреймворки и библиотеки, которыми мы пользуемся каждый день. К концу статьи мы напишем минималистичный WSGI -веб-сервер, с помощью которого можно запускать произвольные WSGI -приложения.

    habr.com/ru/articles/1002550/

    #сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы

  10. Linux Landlock — песочница для приложений без root

    Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор

    habr.com/ru/companies/otus/art

    #Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы

  11. Я пишу свой терминал с нуля, чтобы понять как работает компьютер

    Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.

    habr.com/ru/articles/1000766/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  12. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  13. [Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF

    Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор

    habr.com/ru/companies/otus/art

    #devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента

  14. Создание легкого shell на си

    Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .

    habr.com/ru/articles/979674/

    #shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C

  15. [Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go

    Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.

    habr.com/ru/articles/960120/

    #Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring

  16. Системные вызовы Linux, которые должен знать каждый разработчик

    Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.

    habr.com/ru/companies/beget/ar

    #системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании

  17. [Перевод] Операционная система в 1 000 строк кода (часть 4)

    Перед вами четвёртая часть серии, посвящённой написанию собственной ОС. Здесь мы реализуем и запустим собственный исполняемый файл в пространстве пользователя, а также системные вызовы для вывода символов на экран и их считывания при вводе на клавиатуре. Навигация по вышедшим частям Часть 1 Часть 2 Часть 3 Часть 4 < — вы здесь

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #программирование #операционные_системы #разработка_ос #qemu #системные_вызовы #режим_пользователя

  18. [Перевод] Как избегать типичных ошибок при встраивании ассемблерных вставок: подборка правил

    Ассемблерные вставки, используемые компиляторами GCC и Clang, опосредуют взаимодействие высокоуровневых и низкоуровневых языков программирования. Это тонкая и коварная штука. Многие попадают в расставленные здесь капканы, зачастую совершенно неожиданно для себя. В сущности, ключевое слово asm можно перевести на C и C++ как unsafe . Почти в любых руководствах по встроенному ассемблеру, в том числе, и на ужасной странице ibilio , которая десятилетиями попадает в самый верх поисковой выдачи, неисправимо фигурируют фундаментальные серьёзные ошибки, а примеры в большинстве своём некорректны . Наиболее опасно, что эти примеры обычно приводят к ожидаемым результатам! Ситуация плачевная. Эта статья — не руководство, а подборка элементарных правил, которые помогут вам избежать самых распространённых ошибок либо отловить их при ревью кода. Здесь мы сосредоточимся сугубо на расширенном , а не на базовом ассемблере , а правила в этих версиях отличаются. На первом пишут любые инструкции, относящиеся к встроенному ассемблеру, с ограничениями или затираемыми. То есть, имеем токен : в обрамлении asm . Базовый ассемблер — тупой инструмент, который используется сравнительно нечасто, в основном в самом верху файла с кодом или в “голых” функциях . Поэтому злоупотребления базовым ассемблером на практике маловероятны.

    habr.com/ru/articles/869544/

    #ассемблер #компиляторы #оптимизация #низкоуровневое_программирование #системные_вызовы

  19. [Перевод] Ассемблер для программистов на языках высокого уровня: условные конструкции

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

    habr.com/ru/companies/ruvds/ar

    #ассемблер #x8664 #язык_ассемблера #системные_вызовы #условные_конструкции #ruvds_перевод

  20. [Перевод] Ассемблер для программистов на языках высокого уровня: Hello World

    Если вы начинали изучение программирования с JavaScript, Rust, C или любого другого высокоуровневого языка, то ассемблерный код может показаться вам непонятным или даже пугающим. Рассмотрим следующий код: section .data
    msg db "Hello, World!"

    section .text
    global _start

    _start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, 13
    syscall

    mov rax, 60
    mov rdi, 0
    syscall К счастью, по второй строке мы можем понять, что он делает. Здесь нет ничего привычного нам: мы не видим ни условных операторов, ни циклов, нет никакого способа создавать функции… Да даже у переменных нет имён! С чего же вообще начать? Это небольшое введение предназначено для того, чтобы познакомить имеющих опыт в программировании с миром ассемблера. Мы обсудим основы языка и сопоставим их с конструкциями высокоуровневого программирования. Завершив прочтение этого руководства, вы сможете ориентироваться в ассемблерном коде, будете знать, где искать информацию, и даже сможете самостоятельно писать простые программы.

    habr.com/ru/companies/ruvds/ar

    #ассемблер #hello_world #x8664 #язык_ассемблера #системные_вызовы #ruvds_перевод

  21. [Перевод] Анатомия Hello World на языке C

    Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.

    habr.com/ru/companies/ruvds/ar

    #ruvds_переводы #стандартная_библиотека #системные_вызовы #дизассемблер #компиляция

  22. [Перевод] Xv6: учебная Unix-подобная ОС. Глава 4: Прерывания и системные вызовы

    Глава расскажет, как xv6 обрабатывает прерывания на RISC-V и о хитростях виртуальной памяти: как использовать ошибки доступа к страницам, чтобы оптимизировать работу ОС. Глава расскажет о копировании страниц при записи, ленивой выдаче страниц, выдаче страниц по необходимости и сбросе страниц на диск.

    habr.com/ru/articles/794326/

    #xv6 #операционная_система #прерывания #исключения #системные_вызовы #ядро #таблицы_страниц #виртуальная_память #copyonwrite #riscv

  23. [Перевод] Xv6: учебная Unix-подобная ОС. Глава 2. Устройство операционной системы

    Операционная система выполняет несколько процессов одновременно. ОС распределяет время работы с ресурсами компьютера между процессами. ОС даст каждому процессу шанс на выполнение, даже если число процессов больше числа процессоров. ОС изолирует процессы друг от друга так, что ошибка в одном процессе не нарушит работу других. ОС позволяет процессам взаимодействовать - обмениваться данными и работать совместно. Глава 2 рассказывает, как xv6 выполняет эти требования, о процессах xv6 и как xv6 запускает первый процесс.

    habr.com/ru/articles/791058/

    #xv6 #riscv #операционная_система #процесс #ядро #виртуальная_память #безопасность #монолитное_ядро #микроядро #системные_вызовы

  24. Учимся понимать события подсистемы аудита Linux

    Приветствую всех любителей изучать новое. Меня зовут Рома, и я занимаюсь исследованием безопасности ОС Linux в экспертной лаборатории PT Expert Security Center . В рамках инициативы нашей компании по обмену экспертными знаниями с сообществом я расскажу вам об известной многим администраторам системе журналирования в Linux-подобных ОС — подсистеме аудита Linux (auditd). При должной настройке она позволяет получать полную информацию о действиях, выполняемых в операционной системе. Специалистам по информационной безопасности полезно уметь расшифровывать и обрабатывать события auditd для отслеживания потенциально вредоносной активности. В связи с этим нам потребовалось организовать для них экспертную поддержку в системе мониторинга событий ИБ и управления инцидентами MaxPatrol SIEM . Подробнее

    habr.com/ru/companies/pt/artic

    #linux #kernel #siem #audit #man #security_expert_community #системные_вызовы #syscall

  25. [Перевод] Xv6 Глава 1: Интерфейсы операционной системы

    Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механизмов Unix дают удивительную свободу действий. Современные операционные системы признали успех Unix и реализуют похожие интерфейсы - BSD, Linux, macOS, Solaris, и даже Microsoft Windows. Изучение xv6 поможет понять работу и других операционных систем.

    habr.com/ru/articles/789478/

    #xv6 #операционная_система #unix #системные_вызовы #файловая_система #процесс #вводвывод #shell #каналы #ядро

Share on Mastodon

Enter the server where you have an account.