Рубрика «linux» - 111

Пишем простой модуль ядра Linux - 1

Захват Золотого Кольца-0

Linux предоставляет мощный и обширный API для приложений, но иногда его недостаточно. Для взаимодействия с оборудованием или осуществления операций с доступом к привилегированной информации в системе нужен драйвер ядра.

Модуль ядра Linux — это скомпилированный двоичный код, который вставляется непосредственно в ядро Linux, работая в кольце 0, внутреннем и наименее защищённом кольце выполнения команд в процессоре x86–64. Здесь код исполняется совершенно без всяких проверок, но зато на невероятной скорости и с доступом к любым ресурсам системы.

Не для простых смертных

Написание модуля ядра Linux — занятие не для слабонервных. Изменяя ядро, вы рискуете потерять данные. В коде ядра нет стандартной защиты, как в обычных приложениях Linux. Если сделать ошибку, то повесите всю систему.
Читать полностью »

Приветствую! Данная небольшая статья призвана осветить некоторые аспекты применения Bash для анализа файлов в SQL-стиле. Будет интересна для новичков, возможно, опытные пользователи также найдут для себя что-нибудь новое.

Структура задачи:

  • projects
    1. project1/ — проекты
      • conf/
        • <run_configurations>*.conf — конфигурации построения отчетов по таблицам
      • reports/
        • <run_configurations>/
          • report1.json — сами отчеты, содержат статистику по таблицам Apache Hive
          • report2.json
    2. project2/
      ...

Надо: найти просроченные отчеты.

Итак, расчехляем Bash, открываем отдельный терминал для man-ов и приступаем)

Всех, кому интересно — прошу под кат.
Читать полностью »

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

image


Поэтому сегодня мы решили поделиться с вами переводом материала, автор которого рассказывает о том, как создавать и применять пэйлоады, или полезные нагрузки, предназначенные для удалённого управления различными системами, в частности — Windows, Linux и Android, с использованием msfvenom — инструмента командной строки из пакета Metasploit. Сразу хочется отметить, что к тому, что вы узнаете ниже, стоит относиться с осторожностью, помня о том, что несанкционированное проникновение в чужие системы — это неэтично и незаконно.
Читать полностью »

Со временем вендоры добавляли новые и новые инструкции в процессоры, управляющие нашими ноутбуками, серверами, телефонами и многими другими устройствами. Добавление машинных инструкций, решающих конкретные вычислительные подзадачи, является хорошим способом улучшить производительность системы в целом, не усложняя конвейер и не пытаясь нарастить частоту до запредельных величин. Одна новая инструкция, выполняющая ту же операцию, что и несколько старых, позволяет неоднократно увеличить производительность решения заданной задачи.
Новые инструкций, такие как Intel Software Guard Extensions (Intel SGX) и Intel Control-flow Enforcement Technology (Intel CET), также способны предоставить абсолютно новую функциональность.

Вопрос: действительно ли программное обеспечение использует новые наборы инструкций? - 1

Хороший вопрос заключается в том, как скоро новые инструкции, добавленные в архитектуру, достигают конечного пользователя. Могут ли операционные системы и другие приложения воспользоваться новыми инструкциями, принимая во внимание, что они, как правило, обеспечивают обратную совместимость и способность исполняться независимо от модели установленного процессора? Много лет назад использование новых инструкций достигалось с помощью пересборки программы под новую архитектуру и добавления проверок, предотвращающих запуск на старой аппаратуре и печатающих что-то вроде “sorry, this program is not supported on this hardware”.

Я воспользовался полноплатформенным симулятором Wind River Simics, чтобы узнать, в какой степени современное программное обеспечение способно использовать новые инструкции, оставаясь при этом совместимым со старым оборудованием.
Читать полностью »

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

image
Читать полностью »

3 необычных кейса о сетевой подсистеме Linux - 1

В этой статье представлены три небольшие истории, которые произошли в нашей практике: в разное время и в разных проектах. Объединяет их то, что они связаны с сетевой подсистемой Linux (Reverse Path Filter, TIME_WAIT, multicast) и иллюстрируют, как глубоко зачастую приходится анализировать инцидент, с которым сталкиваешься впервые, чтобы решить возникшую проблему… и, конечно, какую радость можно испытать в результате полученного решения.Читать полностью »

В прошлой статье я писал, как в линуксе написать драйвер для графического планшета. Но на том история не закончилась: вместе с планшетом я купил и ноутбук, на котором установлен сканер отпечатков. Сканер новый, такой, как повсеместно стоит на мобильных телефонах, маленькая прямоугольная площадка на тачпаде.
Драйвера только для Windows 10, и только на сайте производителя ноутбука. Сразу возникла мысль если и не завести его в линуксе, то хотя бы понять, как же он работает. Висит сканер на usb, вместе с тачпадом.
Читать полностью »

Перекрестное опыление: управляем Linux из-под Windows, и наоборот - 1

В прошлой статье я обещал рассмотреть механизм удаленного подключения с Windows на серверы под управлением *nix, и наоборот при помощи PowerShell. Обещанного обычно ждут три года, но я успел чуть раньше. Что ж, если хочется с верного макбука управлять гетерогенной инфраструктурой, или наоборот ― с Surface Pro рулить Linux-серверами без всяких putty, ― прошу под кат.Читать полностью »

Продолжая начатую тему хочется поделиться успешным опытом создания билингвистического Node.JS бота на Microsoft Bot Framework под Linux. От заказчика поступила задача разработать простой социальный бот в формате вопрос-ответ для большой торговой сети, однако сложность заключалась в другом — бот должен быть двуязычным: на английском и арабском. Хотя, как будет показано ниже, выбор инструментов для решения задачи сделал разработку лёгкой, приятной и интересной.
Читать полностью »

Если вы выходите в интернет со своего Linux-ноутбука, вам стоит знать об особенностях виртуальных частных сетей (Virtual Private Network, VPN). Эта технология особенно актуальна для тех, кто подключается к Сети через точки доступа, расположенные в общественных местах, однако, во многих ситуациях VPN не повредит и компьютеру, которым пользуются дома.

Лучшие VPN-решения для пользователей Linux - 1

VPN позволяет защищать данные, передаваемые из точки «А» в точку «Б». Точка «А» — это ваш компьютер. Точка «Б» — это VPN-провайдер, или VPN-система, которую развернули вы сами, либо в облаке, либо где-то ещё, например — в офисе. С VPN-сервисами можно взаимодействовать, используя множество протоколов, но их суть остаётся одной и той же: трафик, который путешествует между компьютером и VPN-сервисом, шифруется. Благодаря этому обеспечивается защита данных от перехвата на пути от пункта отправления к пункту назначения.

В ходе работы с VPN применимо множество сценариев, касающихся маршрутизации. Типичный сценарий заключается в перенаправлении всего трафика по VPN-соединению, но, кроме того, можно применить концепцию «раздельного туннелирования». При таком подходе некоторые данные идут через VPN, а другие — по обычному интернет-соединению в соответствии с правилами маршрутизации.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js