Перейти к содержанию
  • Язык

Скорбная Лиса

Aprel Team
  • В составе

  • Посещение

Записи блога, опубликованные Скорбная Лиса

  1. Небольшая инструкция по тому, как бесплатно и легко подключить обход всех ограничений на ПК.
    Подойдет и Windows, и Linux.

    Часть 1. Клиент. (приложение, которое будет использоваться для подключения)
    Из всего, что я в последнее время перебирала, лучшим клиентом для добавления подписок, я считаю Throne. Это переделанный nekobox с вшитыми профилями маршрутизации, в которых заранее настроено туннелирование под ру-сегмент.
    Ссылка на github: https://github.com/throneproj/Throne
    Справа ищете Realises:


    Разворачиваете Assets. Пингвиноиды и без меня знают, что им качать. Для окнопоклонников (Windows) выделила прямоугольником универсальный файл установщика:


    Ура, установка прошла успешно (если вы не бройлер IQ с 7-1000). если бройлер, пишите в личку, помогу)
    Вот что вы видите:


    Теперь можно добавить подписку.
    Правой кнопкой мыши по "Default"


    Раскроется меню. В нем необходимо выбрать "Добавить новую группу".
    В открывшемся окне меняем тип со "Стандартный" на "Подписка". Откроется окошко, куда можно добавить URL подписки:




    !!!!!ВНИМАНИЕ!!!!!!
    Если берете подписку с github и аналогов вроде gitverse, то надо вставлять ссылку на raw. То есть, не просто URL из браузера копипастнуть, а взять именно RAW-хрень. Нажать на нее, откроется чистый и непорочный html:


    И вот уже ссылку на raw копируем:


    Вставляем ее сюда в Throne:


    Жмем ОК

    Готово. Подписка добавлена. Она будет видна в списке групп справа от Default
    Обноволять подписку через Ctrl+U или Правой кнопкой мыши нажать на группу, там откроется менюшка, последний пункт - "Обновить подписку"

    Часть 2. Эффективное использование
    Теперь можно пользоваться. Через Ctrl+A выделяем все подключения, доступные в подписке, окроются опции, там есть "Тест задержки выбранного профиля". Жмем.

    Фильтровать по пропускной способности можно, нажав вот сюда:


    Чтобы подключить туннелирование, необходимо прожать "Маршрутизация":


    Откроется меню Надо найти "Скачать профили" и выбрать Bypass Russia (остальные тоже можно скачать, если интересно потестить).
    Если опять прожать "Маршрутизация" и выбрать профиль Bypass Russia, то ру-сегмент будет спокойно открываться, но при этом и блокировки будут обходиться, что избавляет от бесонечного жонглирования "вкл-выкл впн"

    Ну, собственно, это все.
    Задавайте вопросы, пишите, если необходима помощь.
    Сделаем же интернет доступным, свободным и бесплатным вместе.
  2. Недавно от очень умного и доброго человека вышла статья на ХАБР, разоблачающая и окончательно доказывающая слежку национального мессенджера за трафиком.
    Однако, многие граждане РФии ужес столкнулись с настойчивыми рекомендациями, не предполагающими отказа, по установке мессенджера и регистрации в нем.
    Я, как добропорядочный гражданин, истинный патриот, влила в этот мессенджер все свои данные, протестила все его доступные функции, и вот что порекомендую.

    Лучше всего, конечно, поставить МАХ на другой телефон и сношать себе мозг. Но не у всех есть такая возможность + с двумя телефонами таскаться неудобно.
    Есть вариант попроще.
    Положи мессенджер в изолированное пространство.
    На Android это сделать очень просто в большинстве случаев.
    Для пользователей Samsung вообще придумали волшебную вещь под названием "Папка Knox". По сути, это вторая, полностью независимая система, которая никак не связана с основной. В ней можно создавать копии приложений и прятать их от основной системы.
    Логично, что принцип изоляции работает и наоборот. То есть, что лежит в папке Knox, не имеет доступа ни к фото, ни к особенным настройкам сети основной системы.

    Короче, положи МАХ в KNOX - и он не будет за тобой следить.
    Как сделать:
    в настройках найти Knox, настроить все пароли и доступа к ней
    добавить в нее МАХ, а лучше вообще все приложухи, связанные с гос.РФ
    выйти из Knox и удалить из основной системы все эти приложения

    Для пользователей Xiaomi / POCO / Redmi есть то же самое под названием Second Space. Это такая же изолированная среда с отдельными паролями и т.д. и т.п. Логика та же. Необходимо в настройках эту функцию найти, настроить, перекинуть туда все "следящие" приложения, а затем удалить эти приложения из основной системы.

    Для Huawei/Honor/Pixel / Android 15+: PrivateSpace
    Для OnePlus - Hidden Space. Эта функция также изолирует выбранные приложения от системного VPN.

    2. На Iphone такого пространства нет.
    Но можно максимально ограничить МАХ внутри самого IOS:
    Чтобы приложение не имело доступа к данным (фото, контакты, геолокация, локальная сеть), используйте настройки конфиденциальности:
    Ограничение доступа к сети (Локальная сеть):
    Перейдите в Настройки -> Конфиденциальность и безопасность -> Локальная сеть и отключите переключатель для нужного приложения. Это изолирует его от других устройств в вашей Wi-Fi сети.
    Ограничение доступа к данным:
    В тех же Настройках -> Конфиденциальность и безопасность проверьте пункты: «Фото», «Контакты», «Геолокация» и запретите приложению доступ к ним.
    Запрет фоновой активности:
    Настройки -> Основные -> Обновление контента — отключите для приложения, чтобы оно не работало, когда вы его не используете.

    Дополнительная информация: в МАХ просто невозможно сделать нормальную фотку "на паспорт". Там используется именно то фото, которое было сделано в госуслугах при прохождении биометрии. Даже красивое лицо будет выглядеть убого. Потому, состройте рожу с учетом всех требований к такому фото, что б хотя бы можно было дико и адски кекнуть при ее просмотре.

  3. "Запрет - это самая большая свобода"
    © Мизулина Елена Борисовна
    Предупреждения:

    Работает исключительно на сайты, которые были зацензурированы силами РКН.
    Для получения доступа к сайтам, которые заблокировали забугорные гей-ниггеры из-за того, что не любят Россиюшку, надо пользоваться другими вариантами.
    Я пишу про исключительно бесплатную антицензуру. Если кто-то не способен купить вэ пэ эн, он не заслужил свободного интернета.
    Запрет работает только на ПК.

    В этой части никаких объяснений не будет. Исключительно пошаговая инструкция картиночками и редкими комментариями. Просто делай, как рассказано - показано, и все должно заработать.

    Преднастройка(ВНИМАНИЕ! ОБНОВЛЕНО!)
    Зайди в свой браузер.
    Зайди в настройки браузера.

    В Chrome:
    "Конфиденциальность и безопасность" -> Дополнительные настройки -> Использовать безопасный DNS-сервер (ВКЛЮЧИТЬ) -> Выбрать поставщика услуг DNS (из выпадающего списка выбрать либо CloudFlare, либо Google):


    В Mozilla (FireFox):
    "Приватность и защита" -> Долистать вниз до "Включить DNS через HTTPS, используя:" -> Отметить "Максимальную защиту" -> Выбрать поставщика (из выпадающего списка выбрать CloudFlare):


    Часть 1. Как скачать?
    Качать тут: https://github.com/Flowseal/zapret-discord-youtube






    Извлечь содержимое zip в отдельную папку.

    Часть 2. Че это за дичь? Почему так много файлов? Как это теперь запустить?

    Ничего не трогай, с этого момента читай внимательно.
    Делай ровно так, как написано, не пропускай шаги.

    Найди внизу файл service.bat. Запусти.
    Увидишь консольку с вариантами действий. На данном этапе тебя не ебет абсолютно ничего, кроме трех вещей:


    СНАЧАЛА НАДО ЗАПУСТИТЬ ТЕСТЫ.
    Нахуя? Да потому что в разных регионах будут работать разные варианты обхода, т.е. разные конфигурации. Более того, даже если сегодня работает один конфиг, завтра твой провайдер может эту лавочку прикрыть. И надо будет тестировать и искать, какой вариант будет работать сегодня.
    Видишь последнюю строчку "Select option (0-11)"? Вот тебя просят выбрать, что ты хочешь сделать. А хочешь ты запустить тесты.
    Так что надо написать 11 без пробелов, точек, скобочек и т.д. а после стукнуть Enter


    Откроется новое окно. не пугайся. Все так и надо.
    Тебя снова попросят выбрать. Пиши 1, затем жми Enter



    Далее будет вопрос, хочешь ты просканировать все конфиги по очереди, либо какие-то отдельные. При первом запуске точно выбирай "All Configs"
    Пиши 1, жми Enter



    Тестирование займет несколько минут.
    В конце будет ответ, какой из 11 конфигов самый быстрый и рабочий для твоего региона.


    Судя по ответу, самый крутой конфиг 3-й.

    Жми любую клавишу, окно закроется.
    Останется это, опять нажми любую клавишу, чтобы вернуться в "меню с действиями".




    ЧАСТЬ 3. Запуск

    Пиши 1, жми Enter.


    Появится список всех существующих вариантов обхода (конфигураций). Тесты определили, что лучший конфиг 3-й, потому его и выбирай.
    Пиши 3 - Жми Enter



    Конфиг запустится, ничего не трогай, пока не появится внизу вот такая штука:



    ПОДКЛЮЧЕНИЕ РЕСУРСОВ АПРЕЛЯ
    Недавно ресурсы апреля были прощены и возвращены народу РФ. Однако, как долго это вообще продлится, никто сказать не сможет.
    Если после включения запрета gokino.su и aprelteam.su все еще не работают, можно немного поколдовать.

    Ищем папку "lists"
    Внутри нее файл list-general.txt
    Листаем до конца и дописываем домены апреля:



    list-general.txt
    ...
    aprelteam.su
    gokino.su

    Сохранить - закрыть

    Теперь надо снова запустить запрет. То есть, запустить Install Service - выбрать 3-й вариант обхода, дождаться ответа, что все ок.

    Теперь ресурсы должны заработать.
    В целом, таким образом можно обходить любые ограничения, которые были наложены со стороны РКН.
    Достаточно просто прописать все домены, к которым нужен доступ.

    ЕСЛИ ВСЕ ПЕРЕТЫКАЛ УЖЕ И ВСЕ РАВНО НИЧЕГО НЕ РАБОТАЕТ
    Подожди немного. Некоторым конфигам нужно время, что б врезаться в сеть. Это обусловлено самой механикой обхода DPI. Технология работает не мгновенно, не как vpn. Она маскирует трафик и пакеты. Можешь перезагрузить браузер, попить чаек, постучать в бубен. Через 5 минут все заработает.
    Если все равно нет, проверь обновления запрета.

    Ну, я думаю, уже понятно, что надо напечатать 9 и прожать Enter. Если действительно надо обновиться, тебе будет предложено перейти на github. Там чуть ниже найдешь zip и rar файлики с обнолвенным пофикшенным запретом.


    ОБНОВЛЕНИЕ ФАЙЛА HOSTS ДЛЯ ВКЛЮЧЕНИЯ РАБОТЫ ТЕЛЕГРАММ НА ЗАПРЕТЕ

    Файл hosts — это системный текстовый документ без расширения, который содержит базу данных доменных имен и их IP-адресов. Когда вы вводите адрес сайта в браузере, компьютер сначала заглядывает в этот файл, и только потом обращается к глобальным DNS-серверам.

    Умные ребята из zapret-комьюнити составили файл со списком хостов, которые надо внести в этот файл, что б zapret заработал.



    откроется блокнот со списком хостов. их все надо скопировать (Ctrl+A -> Ctrl+C)

    потом надо открыть блокнот от имени администратора. НЕ ТОТ ФАЙЛ, КОТОРЫЙ АВТОМАТИЧЕСКИ ОТКРЫЛСЯ ЗАПРЕТОМ СО СПИСКО ХОСТОВ, А ИМЕННО САМ БЛОКНОТ ОТКРЫТЬ ОТ ИМЕНИ АДМИНИСТРАТОРА

    В ОТКРЫВШИЙСЯ ПУСТОЙ ФАЙЛ вставляем список хостов, которые скопировали ранее.
    Далее "Файл -> Сохранить как..."

    Путь для сохранения: C:\Windows\System32\drivers\etc





    после того как поменять "Текстовые документы" на "все файлы", появится список файлов без расширений, в числе которых будет "hosts". Жмем на него и сохраняем, соглашаясь со всем, что пишут.

    Проверяем, что все выглядит именно так, как надо:


    Все, теперь hosts свежий. Можно включать zapret. Телега летает.
  4. Вы ждали? Нет? Но вы дождались! Очередная шизо-статья про то, о чем вы, скорее всего, вряд ли думали дольше пяти минут, а теперь имеете возможность почитать.
    Года два назад моя дисперсия стала уж совсем мрачной и печальной. Все легальные виды яда уже не могли спасти от бесконечного мрачного отчаяния, которое медленно, но верно поглощало мою душу, тело и мозг. Но луч света в конце темного туннеля забрезжил как раз тогда, когда выход через окно стал выглядеть совсем уж притягательно. Я открыла для себя китайскую литературу.

    Это было нечто совсем новое, свежее и незнакомое. В то время как мораль и совесть в западных фильмах и сериалах активно загнивали, низводя все человеческие отношения до уровня беспорядочной половой *бли, пока Голливуд плодил афроамериканских русалочек, афроамериканских средневековых королей, выпускал картины про насилие, ЛГБТ (Запрещенная на территории РФ организация) и АБВГД, рассказывал, как продавать запрещенные вещества, которыми бесконтрольно упарываются малолетки…я для себя открыла жанр сянся(китайское фентези). Там длинноволосые богоподобные мужики непревзойденной красоты летают на мечах, кидаются разенганами, самосовершенствуют душу, тело и ум, чтобы воспарить на уровень Богов, что выше царства людей. В некоторых из этих историй, пусть и была сомнительного содержания романтика, но больше всего там было невероятно интересно прописанных персонажей, политических игр, философии, магии на основе даосских учений, человеческой драмы, что не высосана из пальца, а совершенно искренне вызывает глубокие неподдельные эмоции и пр., пр. И все это на фоне распития чаев, гор, солнца под звуки флейт и гуциня. Короче, жизнь разделилась на «до» и «после». Чем глубже я погружалась в китайскую культуру через литературу, тем скорее стало ясно, что большая часть бриллиантов и шедевров просто не переводится в ру-сегменте из-за отсутствия переводчиков. И я поняла, что хочу знать этот язык, хочу поглотить эту культуру полностью.
    Так я записалась на курсы по китайскому языку – и понеслась.

    Естественно, причины изучить язык не ограничились тем, что я просто хочу потреблять еще больше контента про мужиков на мечах в халатах. Сегодня Китай развивается в сторону нового мирового гегемона, который имеет все шансы заменить Великопендосию, а потому язык этот будет полезно знать хотя бы просто на начальном уровне. РФ с Китаем постоянно активно сотрудничает в сфере торговли, энергетики, технологий, туризма и науки. Вот последнее как раз меня также заинтересовало, поскольку в моем университете китайцы отстроили целую кафедру по изучению и разработке квантовых сетей и всего, что с ними связано. По прошлым статьям понятно, что я очень неравнодушна к квантовому шифрованию и вообще к будущему квантовых технологий. Да и в целом необходимость смены обстановки в будущем заставляла меня постоянно задаваться вопросами о том, в какую страну ливнуть поработать пару лет. И на запад ехать отчаянно не хотелось, потому как в той стороне меня не привлекает буквально ничего. Ближний Восток тоже не интересен. Но, как оказалось, крайне интересен дальний. А ехать работать и жить в другую страну на длительный срок без знания языка – моветон.
    Сначала, конечно, все эти иероглифы и особенности речи воспринимались как нечто крайне тяжелое и непотребляемое. Но пару уроков спустя в голове сложилась система, по которой необходимо учить и понимать этот язык. И я в нее влюбилась. В своей жизни я учила английский, немецкий и даже пыталась обучиться французскому, но такого искреннего удовольствия от обычного процесса освоения каких-то новых элементов грамматики/письменности/произношения, не было. Может показаться, что все это мое отношение лишь первоначальный восторг, который скоро пойдет на спад. Но я действительно увлекаюсь этой идеей уже два года. И чем глубже погружаюсь в вайбы этой страны, тем сильнее влюбляюсь во все, что с ней связано.

    Итак, наверное, закончу на этом разговорную часть и распишу немного базы про китайский язык.

    Произношение
    В китайском языке (в частности, в путунхуа — стандартном мандаринском диалекте) существует четыре основных тона, а также нейтральный (лёгкий) тон. Тон — это изменение высоты голоса при произнесении слога, и он меняет значение слова, даже если звуки одинаковые.

    1-й тон — высокий ровный (высокий уровеньный)
    Обозначение: Макрон (ˉ), например: mā
    Высота: Высокая и ровная (около 5 по шкале 1–5, где 1 — низкий, 5 — высокий).
    Интонация: Голос держится на одном высоком уровне, без подъёма или спада.
    Пример: 妈妈 (māmā) — «мама»

    2-й тон — восходящий (восходяще-нисходящий)
    Обозначение: Акут (ˊ), например: má
    Высота: Начинается со среднего уровня (~3) и поднимается до высокого (~5).
    Интонация: Похоже на вопрос в английском: «Huh?»
    Пример: 麻 (má) — «конопля» или «онемевший»

    3-й тон — нисходяще-восходящий (изогнутый)
    Обозначение: Карон или гачек (ˇ), например: mǎ
    Высота: Сначала опускается (~2), затем поднимается (~4).
    Особенность: В быстрой речи часто упрощается до низкого ровного тона (особенно перед другим 3-м тоном).
    Аналогия: Как будто говоришь утвердительное «ага» в русском .
    Пример: 马 (mǎ) — «лошадь»

    4-й тон — нисходящий (резкий, падающий)
    Обозначение: Гравис (ˋ), например: mà
    Высота: Начинается высоко (~5) и резко падает до самого низа (~1).
    Интонация: Похоже на резкий приказ: «Stop!»
    Пример: 骂 (mà) — «ругать, бранить»

    Нейтральный тон (лёгкий тон)
    Не имеет собственного знака тона.
    Произносится коротко, слабо и без чёткой тональной кривой.

    Тон критически важен: mā, má, mǎ, mà — это четыре разных слова.
    Именно такой стандарт произношения был официально введён в КНР в 1958 году и с тех пор стал неотъемлемой частью изучения и использования китайского языка по всему миру. И называется он «пиньинь». Пиньинь (по-китайски: 拼音, pīnyīn, что означает «складывать звуки») — это официальная система транскрипции китайского языка, которая использует латинский алфавит для записи произношения китайских слов (в стандарте путунхуа — мандаринского диалекта).
    В пиньине, например, слово rén будет произноситься вовсе не как «рен», а как «жэн». У китайцев в целом нет звука «р». Ни в каком виде. Даже в кастрированном, как на западе, звучании.

    Письменность
    Вот тут все еще веселее, чем в произношении. Многие меня спрашивают, есть ли в китайском языке алфавит. О, нет, там не алфавит. Там все куда как круче. Это целый конструктор из отдельных деталей (ключей и черт), которые могут являться как отдельным иероглифом (один иероглиф=один слог), так и встречаться в составе более сложного иероглифа.
    Говорить об этом можно бесконечно, но приведу простой пример на Xiaomi.


    小 – xiǎo обозначает «маленький». Это весьма простой иероглиф и состоит он из нескольких черт: крюка (посередине), откидной черты влево и откидной вправо (соответственно, слева и справа). Его можно просто запомнить. Но xiǎo – это не только иероглиф, это еще и, так называемый, ключ.

    Ключ - это семантический или структурный компонент иероглифа, который часто указывает на общую тематику, значение или категорию этого иероглифа. Ключи используются как для понимания смысла иероглифов, так и для их упорядочивания в словарях.
    То есть, если вы хотели узнать, как они там словари составляют, то именно так. По ключам. И ключей этих ох как немало, но запоминаются, если постоянно с ними работать, легко.
    Например, есть ключ 木 (mù). Он обозначает «дерево» , и он есть в иероглифах, обозначающих растения или деревянные предметы
    林 (lín — роща(лес)), 桌 (zhuō — стол), 桥 (qiáo — мост)

    И вот мы переходим ко второму иероглифу в названии всеми любимой нами компании:
    米(mǐ) переводится как «рис» и, если присмотреться, то можно увидеть, что он состоит из ключа 木(mù) и двух веселых черточек сверху.

    Ну вот, собственно, думаю, на сегодня можно пока что закончить небольшую вводную в китайский. Надеюсь, всем, кто умудрился дочитать, было интересно
  5. Здорова, решила выкатить небольшой халтурный обзорчик на модели ИИ, тремя из которых сама регулярно пользуюсь.
    Честно, если б не великая математика, которая подарила нам AI-шки, я бы сдохла с голода и ненависти к себе и своей неспособности обрабатывать необходимое количество информации. В моей памяти еще свежи времена, когда надо было гулять по форумам с 20-х страниц гугла дабы узнать, почему команда source ~/.bashrc выдает какую-то срань вместо того что б нормально отработать. В ответ получать "пнх, рачелло, иди делай уроки" или советы ввести sudo rm -rf , что б все заработало (твари, ненавижу вас, надеюсь, эти калопотребители все еще сисадмины в ООО "Подзалупзавод").
    Сегодня же можно наехать на чат-гопоту с вопросом "ты че мне прислал, шерсть? почему не работает" и получить тысячи извинений и подробное разъяснение разницы между bash и zshrc.
    Благодаря AI я автоматизировала себе почти все в жизни, реализовала кучу идиотских, но при этом забавных проектов буквально за пару дней, написала диплом, множество курсовых и статей. Естественно, при работе с AI необходимо понимание предмета, ибо ошибок там море и не всегда эта дура может додуматься, в чем именно ошибка. Прискорбно, но мозги все еще приходится включать. Но все же масштабы рутинного говна, которое AI взяли на себя, переоценить невозможно. Ниже перечислю самые популярные модельки, которые используются сегодня в работе не только мной, но и многими разрабами, сисадминами, дизайнерами, музыкантами, писателями: всеми, короче. Наслаждайтес.

    ChatGPT (OpenAI)
    Разработчик: OpenAI
    Модели: GPT-3.5, GPT-4, GPT-4 Turbo
    Особенности:
    Одна из самых известных и мощных языковых моделей (LLM).
    Отличная работа с естественным языком, генерация текста, кода, диалогов.
    Поддержка множества языков, включая русский.
    Интеграция с API, плагинами, ботами, DALL·E для генерации изображений.
    Доступен через ChatGPT (бесплатная и платная версии).
    Плюсы:
    Высокое качество ответов, богатая экосистема, активное развитие.
    Минусы:
    Ограничен доступ к GPT-4 без подписки; данные могут использоваться для обучения.

    Для себя выделила, что очень сильно заколебалась врубать vpn и платить. Адекватные люди покупают аккаунт и делят его со знакомыми/друзьями, но той херней, которую я скрамливаю временами ИИ, я делиться не готова ни с кем, кроме своей совести. Безусловно, на сегодняшний день чат-гопота - лучшая на рынке, но геморрой, сопутствующий блокировкам, необходимостью вливать немало бабок, растет не по дням, а по часам, потому невольно начинаешь засматриваться на весьма и весьма перспективных китайцев.

    DeepSeek
    Разработчик: DeepSeek AI (Китай)
    Модели: DeepSeek 1, DeepSeek 2, DeepSeek Chat
    Особенности:
    Мощные открытые (open-weight) модели, конкурирующие с Llama и GPT.
    Хорошо оптимизированы под эффективность и скорость.
    Поддержка длинных контекстов (до 128K токенов).
    Бесплатны для исследовательского и коммерческого использования.
    Плюсы:
    Открытый исходный код, высокая производительность, поддержка длинных диалогов.
    Минусы:
    Меньше интеграций, чем у OpenAI; пока менее известен в западном сегменте.

    Минусы, на самом деле, вообще не заканчиваются на меншем количестве интеграций и низкой популярности. Иногда это чудо может прислать ответ полностью на китайском языке, так еще и полностью поменять обсуждаемую тему. Просишь его исправить 2 строки, а оно переписывает код с нуля, так еще и так, что оно в принципе работать перестает. Впрочем, чат-гопота тоже частенько этим грешит. Уровень ярости, который исптываешь, когда понимаешь, что две строки придется вбить РУКАМИ, описанию не поддается.

    Qwen (Tongyi Qianwen)
    Разработчик: Alibaba Cloud
    Модели: Qwen-1, Qwen-1.5, Qwen-2, Qwen-Max, Qwen-VL (мультимодальная), Qwen-Audio
    Особенности:
    Семейство моделей с открытым исходным кодом.
    Поддержка до 32768 токенов контекста.
    Мультимодальность (текст + изображение).
    Хорошо работает с китайским и английским, частично — с другими языками.
    Интеграция с экосистемой Alibaba.
    Плюсы:
    Открытые модели, масштабируемость, мультимодальность.
    Минусы:
    Пока не так популярен за пределами Китая; локализация на русском — средняя.

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

    Ну и, конечно, оставшийся зоопарк:
    Модель
    Разработчик
    Особенности
    Llama / Llama3
    Meta (Facebook)
    Открытые модели, популярны в open-source
    Gemini
    Google
    Бывший Bard, мультимодальный, интеграция с Google
    Claude 3
    Anthropic
    Длинный контекст, безопасность, высокое качество
    Mistral / Mixtral
    Mistral AI (Франция)
    Эффективные open-weight модели
    Ernie Bot
    Baidu
    Сильна в китайском языке
    YandexGPT
    Яндекс
    Российская LLM, интеграция с продуктами Яндекса
    Cohere
    Cohere
    Фокус на бизнес-решения
    Falcon
    TII (ОАЭ)
    Одни из самых мощных открытых моделей

    Из всего вышеперечисленного трогала только AI от гугла и яндекса. Полное говнище У них все еще есть точки роста
    Вывод простой. Все больше компаний активно занимаются разработкой AI и активно внедряют их в бизнес-процессы. Люди, на самом деле, и не заметили, насколько сильно изменился мир буквально за пару лет популяризации моделей машинного обучения и внедрения их в абсолютно каждую область, которая хотя бы косвенно связана с ИТ, автоматизацией и т.д. Уже сегодня сложно представить работу и жизнь без ИИ. Малолетние одинокие девочки даже заводят отношения с AI-персонажами из своих любимых книг, сериалов и аниме. Так что тем, кто все еще не научился писать промты (читай: четко формулировать запрос, ясно представляя конечный результат, который ожидается на выходе), советую поскорее освоить сей навык.
  6. Итак, сегодня я расскажу немного про то, чем занять томный вечер, если все вокруго настопиз надоело
    На просторах интернета существуют замечательные и веселые платформы, позволящие осваивать самые разные навыки.  Наверное, многие, кто меня тут знают в курсе, но я сильно угораю по пентесту. А потому решила подвезти немного контента про то, как просто и легально можно учиться и проверять свою способность что-нибудь поломать. 
    Самой популярной площадкой для обучения и тренировки пентестеров является HackTheBox, также известная как HTB. На самом деле, поломанные машины оттуда даже смотрят на ссобеседованиях. Орагнизовано все таким образом, что ты залетаешь за сайт hackthebox.com, заходишь в специальный раздел и выбираешь, какую машину попытаешься взломать. Машины - это заранее уязвимые виртуальные машины, для подключения к которым надо подключиться к сети HTB с помощью конфига .ovpn. Взлом считается засчитаным, если найти все требуемые "флаги" (Флаг - это набор символом в 16-ричном формате, который можно найти на уязвимых VM. Они находятся либо на сайте, либо в текстовых файлах, но доступны всегда только после эксплуатации тех уязвимостей, которые заложены в VM). Также каждая VM делится по "рангу". Легкие - для новичков, Сложные - для опытных ломакеров. 
    Думаю. что краткого вступления достаточно. Ниже описание того, как можно проходить такие машины. Подобные уязвимости встречаются или встречались когда-то в реальной жизни.  Я брала легкую машину, такая дыра в безопасности очень вряд ли встретится в реальных условиях, однако, в любом случае полезно как минимум поучиться пользоваться утилитами повышения привилегий, сканирования сетей и пр. 
    Итак, когда доступ к "жертве" получен, можно начинать.
    Начинаем с разведки
    Сканируем порты простой командой в специальной утилите nmap:

     
    Видим, что открыты три порта. 22-й порт используется для удаленного подключения по ssh, 21-й – для удаленного доступа к файловой системе по протоколу ftp, а на 80-м порту, скорее всего развернуто какое-то веб-приложений.
    В поисковой строке вбиваем ip-адрес target машины и действительно, попадаем в какой -то веб-интерфейс:

     
    Исследуем веб-панель и находим пункт Security Snapshot, на котором, вероятно, можно найти что-то полезное. В поисковой строке отображается id снапшота. Можно попробовать его поменять на 1 или 0.

     
    Смена id показывает самый первый снапшот, в котором есть какие-то данные, а также возможность скачать файл.

     
    Загружаем .pcap файл, который можно открыть с помощью сетевой утилиты wireshark, которая используется для анализа трафика. В файле трафик не зашифрован
    Путем нехитрого анализа находим логин и пароль пользователя Nathan.

     
    Пробуем получить с ними доступ по ssh:

     
    Получилось войти в консоль target-машины, а также заполучить первый флаг, обнаружив в файловой системе user.txt
    Чтобы получить второй флаг, скорее всего, необходимо повысить привилегии до суперпользователя.
    Для этого необходимо загрузить утилиту linpeas.sh, которая используется для обнаружения уязвимостей в ОС семейства Linux. Чтобы передать linpeas.sh на target-машину можно использовать либо протокол ftp, либо запустить сервер на атакующей VM:
    python3 -m http.server 8000 Смотрим ip атакующей машины. Нас интересует интерфейс tun0:
    ip a Теперь можно передать linpeas.sh на target-машину:

    Теперь можно запустить утилиту, предварительно дав разрешение на выполнение:
    nathan@cap:~$ chmod +x linpeas.sh nathan@cap:~$ ./linpeas.sh В Readme утилиты указано, что строки с оранжевым фоном наиболее интересны, а потому не тратим время на анализ остальных результатов и сразу ищем именно их:

    Оп-пааа, чиназес:

    Найденная уязвимость говорит о том, что есть возможность менять UID, не являясь суперпользователем. И таким образом как раз повысить привилегии и стать суперпользователем, поменяв UID на 0.
    Делаем это командой:
    /usr/bin/python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")' Теперь можем получить второй флаг:
    cat /root/root.txt
     
    Рекомендации по исправлению:
    Лучше всего никогда не давать capabilities бинарникам, которым это не нужно.
    Проверить, есть ли сейчас эта уязвимость:
    getcap -r / 2>/dev/null если есть, удалить:
    sudo setcap -r /usr/bin/python3.8 Вместо capabilities лучше использовать sudoers с нужными ограничениями.
    Также на машине есть еще несколько очевидных проблем:
    Анонимный или легко подбираемый доступ через FTP. Необходимо отключить анонимный доступ в /etc/vsftpd.conf Также  Файлы .pcap с credentials хранятся в открытом виде. Такие файлы в принципе нельзя хранить в веб-директориях. Также необходимо шифровать трафик, использовать https протоколы.  
  7. Давненько я не царапала ничего в свой блог. В последнее время как-то много всего навалилось. Магистратура душит, работы много, поездки всякие, к экзамену по китайскому надо готовиться. 
    Тем не менее, написать все же чего-нибудь хочется, потому сегодня принесу вам простой кусочек кода, который поможет найти телефон в локальной сети. 
    У меня часто происходит такая ситуация, что выходить надо было десять минут назад, а я бегаю по всей квартире, как ошпаренная в попытках вспомнить, куда засунула телефон в очередной раз. Сегодня эта проблема по-хорошему решена яндекс.станцией с ее невероятной функцией, которая по запросу “Алиса, найди телефон” просто прозванивает его. А еще эта функция есть на многих умных часах. 
    Но яндекс станция есть не у всех. А часы для поиска требуют постоянного bluetooth-соединения, что лично мне как раз и мешает искать смартфон по-человечески. Потому я придумала штуку. Можно запустить питон-скрипт на телефоне, сделав его сервером и, окончательно впав в отчаяние, прозвонить его с компа. 
    Вот, собсвтенно, код: 
    import os from flask import Flask app = Flask(__name__) # Функция для воспроизведения звука через VLC def play_sound_with_vlc(): # Замените на путь к вашему звуковому файлу os.system('vlc --intf dummy --play-and-exit ringtone.mp3') @app.route('/ring') def ring(): # Воспроизведение звука через VLC play_sound_with_vlc() return "Ringing!" @app.route('/stop') def stop(): # Остановка VLC (если это необходимо) os.system('pkill vlc') return "Stopped!" if __name__ == '__main__': app.run(host='0.0.0.0', port=2721) Теперь подробнее: 
    При переходе по адресу http://<IP-устройства>:2721/ring: Termux начнёт проигрывать ringtone.mp3.
    Вернётся ответ: "Ringing!".
    При переходе по http://<IP-устройства>:2721/stop: Termux остановит воспроизведение.
    Вернётся ответ: "Stopped!"
    Звонок пройдет даже если телефон на беззвучном.
     
    Важные условия запуска:
    1. Работает только на Android с Termux. termux-media-player – часть Termux API, поэтому код не сработает на ПК или iOS.
    2. Termux должен иметь доступ к мультимедиа. Разрешение даётся командой 
    termux-setup-storage 3. ringtone.mp3 должен лежать в той же папке, что и скрипт
    4. Не добавляла проверку ошибок. Если плеер или файл недоступен – сервер "упадёт" (т.е. у вас должен быть установлен vlc, а звук лежать в той же папке, что и скрипт).
    Как выглядит запуск в браузере:

     
    Возможные улучшения
    Поскольку вся работа реализуется через http GET-запрос, его можно воткнуть буквально куда угодно. 
    Я написала небольшое apk-приложени с одной кнопкой, что б останавливать музыку, когда телефон найден (в кнопку запихнула  http://<IP-устройства>:2721/stop)
    Также начала разрабатывать голосового помощника, который бы запускал поиск телефона по голосовому запросу, как Алиса. Реализовать получилось, но криво. Из-за слабых мощей компьютера обработка речи происходит не так быстро, как хотелось бы.  Плюс, столкнулась с проблемой поиска подходящих речевых моделей как таковых, распознавание удается, но с раза третьего-четвертого. В силу плотной занятости кейс с голосовым помощником был отложен на неопределенный срок. 
    Есть идея сделать прям физическую кнопку на стене, которая бы замыкала контакты на условной esp, а она бы уже кидала GET-запрос на поиск телефона...это смешно, кринжово, но тоже в какой-то степени можно считать за решение. 
    В общем, сделать можно что угодно. Если б еще не было так лениво...
     
  8. В этой статье я расскажу про использование Google Forms и Google Sheets для отслеживания расходов с автоматическими уведомлениями через Telegram Bot. После ввода суммы в форму бот должен отправлять сообщение с текущим статусом бюджета. 
    Все скрипты в этой работе я вставляю во вшитый в в таблицы гугл редактор скриптов, который можно найти во вкладке “Расширения” под названием “Apps Script”. Там же настраиваются триггеры, по которым эти скрипты будут работать. 
    Я уже давно пыталась найти связку между таблицами и ботом в телеграм, так как мне это было необходимо для решения множества задач. То же расписание в университете, к примеру, теперь будет реализовывать куда как легче и приятней, чем поднимать свой сервер для этой задачи и мучиться с тяжелейшей задачей переноса названия предметов в код. Изначально я рассматривала такие сервисы как IFTTT, pushbullet, однако эти капиталистические помойки были моментально посланы мной маршировать в закат сразу после требования оплатить подписку за вебхуки. 
    И вот, о чудо! Я случайно наткнулась на то, что лежало на поверхности: Google App Script.
    На сегодняшнем простом примере расчета бюджета на каждый день я покажу, каким образом можно настроить взаимодействие между телегой и таблицами. Надеюсь, это будет полезно.
    Описание пошагово:
    1. Сбор данных через Google Forms
    Сначала мне захотелось сделать так, чтобы каждый день в промежутке между 22:00 и 23:00 мне приходила ссылка на гугл формы с вопросом о том, сколько денег я потратила. Затем, по задумке, эта цифра заносится в специальный столбец и выступает главной переменной в формулах.
    Появится соблазн грузить данные формы в уже существующую таблицу, но опыт показал, что под данные формы все же лучше создавать отдельную книгу и уже в ней прописывать скрипт переноса данных в целевую таблицу:
    function onFormSubmit(e) {   // Получаем данные из формы   var formResponse = e.values; // Массив всех значений формы   var sumValue = formResponse[1]; // Предполагаем, что сумма находится в первом столбце формы   // Указываем идентификатор другой книги и лист, куда переносить данные   var targetSpreadsheetId = 'sheetpost-id';  // ID целевой книги(можно найти в url таблицы между /d/ и /edit   var targetSheetName = 'Расчеты';  // Название листа в целевой книге   // Получаем целевой лист в другой книге   var targetSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetId);   var targetSheet = targetSpreadsheet.getSheetByName(targetSheetName);   // Находим первую пустую ячейку в столбце C начиная с C3   var targetRange = targetSheet.getRange('C3:C');  // Диапазон начиная с C3   var values = targetRange.getValues(); // Получаем все значения в столбце C   var row = values.findIndex(function(row) {     return row[0] === '';  // Ищем первую пустую ячейку   });   // Если не нашли пустую строку, то используем первую пустую ячейку   if (row === -1) {     row = values.length;   }   // Записываем сумму в найденную ячейку   targetSheet.getRange('C' + (row + 3)).setValue(sumValue);  // Записываем сумму в найденную ячейку } 2. Обработка данных в Google Sheets
    После того как в нужный мне столбец инкапсулировалось значение, таблица рассчитывает оставшийся бюджет на основе введённой суммы.
    Формулы вычисляют:
    Сколько потрачено сегодня. Сколько осталось на текущий день. Сколько можно потратить завтра. Сколько было доступно в начале дня. Пример моего кода: 
    // Функция для отслеживания изменений в таблице function checkForChanges() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Расчеты"); // Лист с данными var oldSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("OldValues"); // Лист для хранения старых значений var rangeC = sheet.getRange('C3:C50'); // Диапазон для Value1 var rangeD = sheet.getRange('D3:D50'); // Диапазон для Value2 var rangeB = sheet.getRange('B3:B50'); // Диапазон для Value4 var valuesC = rangeC.getValues(); // Получаем значения из столбца C var valuesD = rangeD.getValues(); // Получаем значения из столбца D var valuesB = rangeB.getValues(); // Получаем значения из столбца B // Получаем старые значения из листа OldValues var oldValuesC = oldSheet.getRange('C3:C50').getValues(); var oldValuesD = oldSheet.getRange('D3:D50').getValues(); var updatedOldValuesC = []; var updatedOldValuesD = []; for (var i = 0; i < valuesC.length; i++) { var value1 = Math.round(valuesC[i][0]); // Значение из столбца C (округляем) var value2 = Math.round(valuesD[i][0]); // Значение из столбца D (округляем) var value4 = Math.round(valuesB[i][0]); // Значение из столбца B (округляем) // Получаем старые значения var oldValue1 = oldValuesC[i][0]; var oldValue2 = oldValuesD[i][0]; // Вычисляем Value3 как сумму value4 + Value2 (округляем) var value3 = Math.round(value4 + value2); // Если значение изменилось, и value1 не равно 0, отправляем уведомление и обновляем старое значение if ((value1 !== oldValue1 || value2 !== oldValue2) && value1 !== 0) { sendTelegramMessage(value1, value2, value3, value4); // Отправляем уведомление в Telegram // Добавляем измененные значения в массивы для обновления updatedOldValuesC.push([value1]); updatedOldValuesD.push([value2]); } else { // Если значения не изменились или value1 = 0, добавляем старые данные updatedOldValuesC.push([oldValue1]); updatedOldValuesD.push([oldValue2]); } } // Обновляем старые значения за один раз oldSheet.getRange('C3:C50').setValues(updatedOldValuesC); oldSheet.getRange('D3:D50').setValues(updatedOldValuesD); } // Функция для отправки сообщения в Telegram function sendTelegramMessage(value1, value2, value3, value4) { var token = "bot-API"; // Вставьте ваш Telegram API токен var chatId = "id"; // Вставьте ваш chat_id, в который должны быть отправлены данные из google // Формируем сообщение для отправки var message = "УВЕДОМЛЕНИЕ ОБ ИЗМЕНЕНИИ\n\n" + "Потрачено денег: " + value1 + "\n" + "Осталось: " + value2 + "\n" + "Можно потратить завтра: " + value3 + "\n" + "Было доступно: " + value4; var url = "https://api.telegram.org/bot" + token + "/sendMessage"; var payload = { chat_id: chatId, text: message }; var options = { method: "post", payload: payload }; UrlFetchApp.fetch(url, options); // Отправка сообщения в Telegram } Описание работы кода
    Цель функции checkForChanges отслеживать изменения в диапазонах столбцов таблицы Google Sheets, сравнивая текущие значения с сохранёнными старыми данными. При обнаружении изменений отправлять уведомления через Telegram Bot и обновлять список старых значений.
    Пошаговый процесс:
    1. Получение текущих и старых значений
    Текущие данные считываются из листа "Расчеты" в диапазонах C3:C50 (Value1), D3:D50 (Value2) и B3:B50 (Value4). Старые данные берутся с листа "OldValues" для диапазонов C3:C50 и D3:D50. 2. Сравнение данных
    Проход по каждой строке таблицы: Значения из текущих и старых столбцов округляются. Если значения в столбцах C или D изменились (и value1 ≠ 0), генерируется уведомление в Telegram с помощью sendTelegramMessage. Если изменений нет, старые значения остаются без изменений. 3. Вычисление Value3
    Value3 рассчитывается как сумма Value4 (данные из столбца B) и Value2 (данные из столбца D), результат округляется. 4. Обновление старых данных
    Изменённые значения записываются в массивы updatedOldValuesC и updatedOldValuesD. По завершении цикла обновляются диапазоны C3:C50 и D3:D50 на листе "OldValues", чтобы зафиксировать последние данные. Функция sendTelegramMessage Формирует сообщение с информацией: Потрачено денег (Value1) Осталось (Value2) Можно потратить завтра (Value3) Было доступно (Value4) Отправляет сообщение через Telegram API с помощью метода UrlFetchApp.fetch. Результат работы кода
    После внесения изменений в таблицу: Если данные в столбцах C или D изменились, Telegram Bot уведомляет о новых расходах и текущем состоянии бюджета. Обновляются старые значения, чтобы избежать повторных уведомлений.  
    Также отдельно можно добавить отправку сообщения по времени в бот с ссылкой на гугл форму, чтобы не забыть внести расходы за день: 
    function mySendTelegramMessage() { var token = 'bot-API'; // Ваш API Token var chatId = ''; // Ваш chat_id var message = 'Заполни форму! Если не тратилась, введи любое число. Иначе все поломается и умрет в муках (в первую очередь, ты): https://forms.gle/xxxxxxxx'; var url = 'https://api.telegram.org/bot' + token + '/sendMessage'; var payload = { chat_id: chatId, text: message }; var options = { method: 'post', contentType: 'application/x-www-form-urlencoded', payload: payload }; try { var response = UrlFetchApp.fetch(url, options); // Отправка запроса через API Telegram Logger.log('Message sent successfully: ' + response.getContentText()); } catch (e) { Logger.log('Error: ' + e.toString()); } } function createTimeTrigger() { // Создание триггера для выполнения sendTelegramMessage каждый день в 22:00 ScriptApp.newTrigger('mySendTelegramMessage') .timeBased() .everyDays(1) .atHour(22) // Установите нужное время .create(); } Вот так выглядят сообщения в Telegram:

    P.S. Это весьма сырой вариант подобной реализации, потому важно каждый день вности в форму какое-то число, хотя бы единицу, потому как если внести 0, то изменения не считаются и далее внесение данных может сильно "поплыть".
     
  9. Что ж, я поступила в магистратуру. Честно скажу, разница ощущается довольно остро. Особенно гнетет гигантский пробел в линейной алгебре, от понимания которой зависит успех сдачи экзаменов. Ну, да не такую чушь удавалось понять в сжатые сроки. Буду считать за очередной квест.
    Однако, к 1 декабря у меня уже должен быть на руках почти чистовик с курсовой по дисциплине, в которой я не просто нихрена не разбираюсь, так еще и чтобы разобраться в ней, надо быть по-настоящему умным. Или хитрым. Надо написать какую-то штуку на питоне по Machine Learning с уклоном в ИБ. И, о Боже, какое совпадение, что примерно месяц до этого я начала облизываться и погружаться в дебри такой прекрасной штуки как pwnagotchi. Наконец-то удастся совместить приятное с полезным.
    Итак, у меня примерно 6 недель на то, чтобы собрать безумный серотемный проект и выдать его не за приблуду для мамкиного хацкера, стилизованную по тамагочи, но за «рабочий инструмент для тестирования безопасности wi-fi сетей на базе искусственного интеллекта».
    Глава 1. Краткое описание.
    Pwnagotchi — это проект с открытым исходным кодом, который превращает устройства на базе Raspberry Pi (чаще всего Raspberry Pi Zero W) в автономного бота для анализа Wi-Fi сетей и захвата хендшейков (handshakes) для последующего взлома. Используя машинное обучение, Pwnagotchi оптимизирует свои действия для более эффективного сбора хендшейков, необходимых для расшифровки паролей.
    Основные особенности Pwnagotchi:
    Использует алгоритмы машинного обучения с подкреплением для максимизации эффективности, запоминая наиболее эффективные методы захвата; Постоянно анализирует сети Wi-Fi поблизости, переключается между режимами работы, чтобы собрать как можно больше данных; Выводит на экран "эмоции" в зависимости от окружающей обстановки, реагируя на изменения; Устройства Pwnagotchi могут обмениваться данными и "общаться" друг с другом, если находятся рядом. Как же работает AI?
    В Pwnagotchi используется алгоритм Q-Learning  для обучения тому, какие действия лучше всего предпринимать в зависимости от  Wi-Fi среды. Это помогает устройству накапливать как можно больше хендшейков, необходимых для взлома паролей Wi-Fi, оптимизируя процесс.
    Как работает Q-Learning в Pwnagotchi
    1.     Определение среды и состояния:
    В Pwnagotchi среда — это окружение с Wi-Fi сетями, которое меняется со временем, когда устройство перемещается или находит новые сети.
    Состояние в контексте Pwnagotchi включает данные о доступных сетях, такие как число Wi-Fi сетей вокруг, уровень сигнала, количество уже собранных хендшейков и пр.
    2.     Действия агента:
    Pwnagotchi может оставаться на месте и все равно продолжать сбор данных, может менять настройки для улучшения захвата хендшейков, а также сохранять хендшейки или менять стратегию (например, перейти в режим "умного" сканирования).
    3.     Награды:
    В прошивку  pwnagotchi заложена система наград: успешно захваченный хендшейк - +1 к карме, готчи молодец. А если устройство тратит много времени в одном и том же месте с минимальными результатами, оно получает минус к карме. 
    Такая система помогает устройству понимать, какие действия стоит повторять, а какие — нет.
    Теперь совсем немного математики
    В Q-Learning алгоритме Q-функция (или функция качества действия) служит для оценки, насколько "хорошо" или "выгодно" предпринимать определенное действие в заданном состоянии. Эта функция постепенно "учится" выбирать те действия, которые приносят максимальную награду в долгосрочной перспективе.
    Q-функция обозначается как Q(s,α ), где s — текущее состояние, а α — выбранное действие.
    Значение Q(s,α )представляет собой ожидаемую совокупную награду, если устройство начнет с состояния s, выберет действие α, а в последствии будет следовать оптимальной стратегии (выбирать лучшие действия).
    Цель Q-Learning состоит в том, чтобы найти такую Q-функцию, которая даст агенту оптимальный способ действий в любой ситуации, чтобы максимизировать общую награду.
    Чтобы обновить значение Q-функции для определенной пары состояние-действие (s,α), используется следующая формула:

    Как работает обновление Q-функции:
    1. Получение текущего значения Q(s,α)
    2. Получение награды r за выполнение действия aaa в состоянии s.
    3. Оценка будущей выгоды:
    Устройство рассчитывает максимальную будущую награду, которую он может получить, находясь в новом состоянии s′ и выбирая оптимальное действие α′.
    4. Обновление Q-функции:
    Разница между текущим значением Q(s,α) и тем, что агент ожидает получить с учетом новой информации, умножается на α и добавляется к текущему значению Q(s,α).
    Почему это работает
    Каждое обновление приближает значение Q(s,α) к его истинному значению, соответствующему сумме наград за лучший возможный путь из текущего состояния. С увеличением количества эпизодов Q-значения сходятся к оптимальным, и агент начинает выбирать действия, которые дают наилучший результат в долгосрочной перспективе.
    Ну вот, собственно, я и рассказала кратко и поверхностно о том, что собираюсь писать в своей курсовой. Естественно, объем работы ожидается колоссальный, я без понятия, как все это реализую в соло за 6 недель, но все же очень постараюсь, ибо этот проект с pwnagotchi станет просто невъе...отличной отправной точкой на пути к магистерской. 
    P.S. Да, кстати, поскольку эта штука в перспективе (если я не заленюсь) может вырасти в весьма опасную игрушку, я нарекаю его "Годжик". Кликуха необходима еще и потому, что даже пока писала эту короткую статью, утомилась печатать "p w n a g o t c h i" каждый раз. 
  10. Сегодня хочу поговорить о САМИ ЗНАЕТЕ ЧЕМ. РКН запретило распространение любой научно-технической информации на эту тему, сделаем вид, что всем не насрать.
    Нет смысла описывать техническое решение «До свидания, глубокий анализ пакетов»(далее – ДСГАП). Все, кто шарит в ИТ, понимают, что это, а кто не шарит, тому и не надо. Если коротко, то это такая утилита (или служба ОС Windows) которая позволяет обнаруживать «заглушки» созданные провайдерами по указанию РКН для блокировки небогоугодных сайтов и слать их в хуй.
    Саму тулзу можно найти на гитхабе, но она открывается в командной строке, которая у неискушенных пользователей вызывает инсульт жопы, пердечный сриступ и провоцирует неиронично потреблять контент с Rutube, что в конечном счете понижает IQ всех в радиусе километра до двузначных значений.
    Однако, и у этой ужасной проблемы нашлось решение – GUI-лаунчер для ДСГАП.
    Его, а также консольный ДСГАП можно качнуть по ссылке.
    Иметь ввиду: Микрософт начал агриться на обновление лаунчера и драйвер WinDivert, возможно ложное срабатывание Защитника Шindoшs (Defender).
    Если защитник барагозит, добавьте содержимое папки в исключения дефендера. Содержимое не вирусное, просто не только РКН не любит ушлых обходеров.
    НАСТРОЙКА
    Все просто, как пиздец.
    Сначала тыкаем в Settings и выставляем все вот эти галочки-циферки (обратите внимание на то, что язык меняется таки на русский):

    Далее можно все настройки тыкать вручную…

    ...а можно выбрать из шаблонов быстрых настроек:

    По сути, если ДСГАП резко перестал работать, то все, что требуется – поменять шаблон. Потыкать по кнопкам от 1 до User2.
    Также есть возможность создать собственный шаблон и сохранить его
    Как это работает:
    1) Делаете настройку обхода блокировок
    2) Жмете красную кнопку REC рядом с User1 или User2
    3) Ваша конфигурация будет сохранена в соответствующую кнопку быстрого шаблона User1 или User2
    Файлы конфигурации сохраняются рядом с программой.
    Общий сброс настроек в меню *Настройки* НЕ ВЛИЯЕТ на ваши сохраненные конфигурации!
     
    Надеюсь, статья была полезной, а данная утилита сделает потребление контента более комфортным
     
  11. Не так давно меня спросили в чатике: "Всмысле? А как можно вообще украсть аккаунт в Telegram?" И я решила реанимировать свою старую писанину, которую давно выкладывала на ныне похороненном ресурсе AprelTeam.
    Итак, для начала, стоит дать краткую сводку о мессенджере...
    Telegram - это бесплатное приложение для обмена сообщениями, которое было создано Павлом Дуровым в 2013 году. Одной из основных особенностей Telegram, благодаря которой мессенджер и набрал свою скандальную популярность, является упор на безопасность и конфиденциальность. Все сообщения в Telegram шифруются с использованием технологии end-to-end, что означает, что только отправитель и получатель могут просматривать содержимое сообщений.
    Но так ли безопасен и конфиденциален Telegram на самом деле?
    Разберем, в первую очередь, механику работы этого мессенджера. На уровне абстракций Telegram делится на две части: серверная и клиентская.
    Клиентская часть – это то, что доступно нам, простым смертным, т.е. само приложение на смартфоне, Telegram Desktop для ПК, Telegram Web для браузера, а также множество сторонних официальных и неофициальных клиентов.
    Серверная же часть выполняет роль хранилища. Все файлы и переписки хранятся не непосредственно на устройстве, как это, например, реализовано в том же не менее популярном WhatsApp, а на серверах Павла Дурова (что уже является для знающих людей небольшим спойлером к ответу на вопрос «А так ли все анонимно?»). Это удобно в формате того, что можно получать доступ к перепискам и медиа с разных устройств, однако стоит понимать, что комфорт и безопасность, как правило, понятия несочетаемые.
    Многие также вспомнят про функцию секретных чатов, где сообщения автоматически удаляются после определенного периода времени, выбранного пользователем. Ну, сделаем вид, что так и есть, что пара ключей RSA действительно используется лишь обычными юзерами и к этим ключам нет доступа у сотрудников Telegram, что секретные чаты нигде не хранятся, а уничтожаются. Хотя, ругань Дурова с ФСБ в 2018 году, которая даже повлекла за собой временную блокировку мессенджера на территории РФ, не на пустом месте явно возникла.
    Также примечательно исключение Telegram из блокировок Роскомнадзора по прошествии определенного периода. 
    А как воруют аккаунты telegram?
    Одна из важнейших уязвимостей, о которых хотелось бы рассказать, кроется в том, что на устройствах хранятся файлы сессии мессенджера. Это файлы, которые используются для хранения информации о текущей сессии пользователя. Они могут содержать различные данные, такие как идентификаторы сессии, ключи шифрования и другую информацию, которая необходима для поддержания соединения между клиентом и сервером Telegram.
    Эти файлы обычно создаются и используются автоматически приложением Telegram и не предназначены для прямого доступа или редактирования пользователем.
    Сделано все это для удобства, дабы при каждом новом входе в приложение, например, в Desktop-версии для ПК, не приходилось заново вводить проверочный код с телефона, пароль (если настроена двухфакторная аутентификация), либо сканировать QR-код.
    В контексте программирования, особенно при работе с Telegram API, файлы сессии могут использоваться для авторизации и поддержания сессии, что позволяет ботам и другим приложениям взаимодействовать с Telegram от имени пользователя.
    Папка со всеми этими данными называется tdata.
    В Windows ее можно найти по пути C:\Users\<UserName>\AppData\Roaming\Telegram Desktop,
    в Linux – home/<user>/.local/share/Telegram Desktop
    Для доступа не требуется ни специальных прав, ни ввода пароля
    Пример получения доступа к tdata в Linux:

    Для чайников: доступ к папке с сессией был получен под правами обычного пользователя, а не superuser.
    Это значит, что теоретически, имея под рукой лишь нейросеть, которая напишет скрипт, немного азарта и парочку трюков, можно скомуниздить папку tdata своего друга на какой-нибудь файлообменник (ну, например, MEGA), а затем и войти в его аккаунт Telegram, скопировав полученное содержимое папки tdata у себя в эту же папку.
    Может быть, кто-то даже уже успешно опробовал этот метод. (¬_¬'')ԅ( ̄ε ̄ԅ) .
    Не спасет даже двухфакторная аутентификация, так как ни пароль, ни смс-код запрашиваться не будут. Более того, и обнаружить присутствие третьего лица удастся только в том случае, если это третье лицо неосторожно прочтет сообщения, которые легитимным пользователем еще прочитаны не были, так как информация о новом устройстве отображаться тоже не будет.
    Защититься от низкоквалифицированных злоумышей теоретически можно, поставив пароль на подобные папки, а также соблюдая базовую кибергигиену.
    Пару слов об анонимности и безопасности в целом.
    Стоит понимать, что мы живем в эпоху, где деанонимизация, телефонное и интернет-мошенничество стали не просто нормой, а превратились в мем. На сегодняшний день, обычный пользователь, не соизволивший хотя бы поверхностно ознакомиться с правилами базовой кибергигиены, рискует столкнуться не только с потерей денежных средств, раскрытием собственной личности, но и с достаточно жестокой травлей, «приездом сватов» прямо по адресу и Бог знает, чем еще. Компании и раньше плевать хотели на безопасность конфиденциальных данных, но сегодня эта проблема настолько серьезная, что нет необходимости даже обладать хоть какими-то техническими навыками, чтобы вбить номер телефона в бота и получить «досье» на искомого персонажа или же зайти на сайт, загрузить фото и раздеть с помощью ИИ кого угодно. Что можно сделать с этими данными ограничивается лишь человеческой фантазией, которая у некоторых весьма богатая.
    Полностью защититься, конечно, не получится, однако хотя бы в части Telegram постараюсь дать несколько рекомендаций, как настроить приватность таким образом, чтобы усложнить жизнь «доксерам» и другим нехорошим людям в части пробива.
    Открываем настройки -> Конфиденциальность.

    Проверяем, чтобы не было никаких незнакомых «Авторизованных сайтов» и «Активных сеансов».
    Обязательно настраиваем двухфакторную аутентификацию и ставим облачный пароль. Помимо того способа, который был описан мной, есть еще множество методов кражи аккаунта, которые невозможно реализовать при наличии облачного пароля.
    Код-пароль тоже можно поставить.
    Далее самая важная часть, в которой лучше вырубить все на максималку:

    Лучше никому ничего не разрешать, а позже доверенных лиц добавлять в исключения. Ваши фото очень красивые, но по ним искать информацию еще легче, чем по id в Telegram.
    ЕСТЕСТВЕННО необходимо скрывать номер телефона. Более того, номер телефона позже можно не показывать даже тем, кого добавляете в контакты. Лучше всего, чтобы его знали только избранные по работе, лучшие друзья и семья. Больше он, поверьте, никому не нужен, кроме мошенников.
    Ну и, очень приятная и полезная для некоторых функция:

    Все незнакомцы будут улетать в некоторое сакральное место под названием "Архив", о местоположении которого, по моим личным наблюдениям, многие и не догадываются. 
    Общие советы:
    - выработайте привычку любую ссылку, любой файл, который вам прислали, перед открытием не полениться и проверить на сайте VirusTotal (гуглится, ссылку оставлять не буду). Естественно, если там все красное, то открывать файл/переходить на сайт, точно не стоит. Сначала очень сильно раздражает, лень проверять, но со временем входит в привычку и помогает избежать огромного количества неприятностей. Стоит понимать, что даже если ссылку скинул кто-то из родни, не факт, что они сами не словили себе вирус и даже не поняли этого;
    - не выкладывайте информацию о себе в интернете. Деанонимизация - это не всегда работа ботов. Часто люди и сами говорят о себе слишком много. Город, родственники, универ/школа/работа, материальное положение - обо всем этом стоит либо молчать, либо бессовестно врать. Персонажа в интернете можно заблокировать и забыть, но если он соединится с вашей физической, а не виртуальной реальностью, избавиться от него будет не так просто;
    - общайтесь нормально. Чем более агрессивную социальную позицию занимает человек, чем больше людей его ненавидят, тем скорее он станет мишенью для троллей и борцунов за честь, долг, справедливость, Родину, какого-нибудь из Богов и так далее. А когда озлобленные  хомячки объединяются с целью кого-то "наказать", у них это, как правило, получается. Потому, лучше всегда стараться оставаться в рамках адекватного общения и всеми силами стараться никого лишний раз сильно не злить.
    Безусловно, эти рекомендации не исчерпывающие, однако это та основа, которая необходима для более-менее безопасного существования в Telegram и интернете в целом.
    Анонимность, конечно, миф, однако, он стоит того, чтобы однажды сделать его правдой.
  12. Ну что ж, случилось чудо ^_^. Какой-то веселый парень решил поиграть в археолога, откопал нам скрижали древних шумеров в виде трояна семейства Kryptik и занес в чат Telegram.
    Краткий поверхностный анализ показывает, что, хотя «криптики» и славились своими способностями скрываться от антивирусов в далеком 2015, сегодня у них это получается крайне плохо (Боже мой, да даже встроенный антивирус Windows справился с детектом).


    Однако, всегда полезно копнуть в историю и вспомнить, с какими угрозами кибербезопасности сталкивались в 2к15, чтобы лишний раз напомнить себе НЕ ОТКРЫВАТЬ КАКИЕ-ТО ЛЕВЫЕ НЕПОНЯТНЫЕ ФАЙЛЫ ЧЕРТ ЗНАЕТ, ОТ КОГО, И ЧЕРТ ЗНАЕТ, ОТКУДА.
    Для начала, проанализируем те предупреждения, которые нам выкатили в Virus Total различные антивирусы. Файл был идентифицирован множеством антивирусных движков как вредоносный, что указывает на высокую вероятность того, что он действительно содержит вредоносное ПО.


    Итак, что же оно нашло:
    - HEUR/AGEN.1364986 (Эвристическое обнаружение). Это означает, что файл вредоносный на основе его поведения или характеристик, а не на основе сигнатуры уже известного вируса.
    - Win.Keylogger.Lazy-10031941-0 указывает на то, что файл может содержать кейлоггер(программу, которая записывает нажатия клавиш для кражи конфиденциальной информации).
    - Trojan.Win32.Krypt, W32/Kryptik.HXDB!tr, и другие варианты с Kryptik указывает, что файл ассоциируется с троянским вирусом семейства Kryptik
    - Trojan-Dropper.Win32.Convagent.gen и Trojan.Win32.Convagent.b!c . Это обозначение указывает на троянскую программу, которая может "выпускать" или устанавливать дополнительные вредоносные программы на зараженный компьютер.
    - Trojan.Malware.300983.susgen и Trojan:Win32/Caynamer.A!ml – различные типы троянских угроз
    - Static AI - Malicious Archive и Mal/Generic-S - общие вредоносные программы, обнаруженные статическим анализом или искусственным интеллектом.
    Самая сладенькая часть тут, конечно, про Kryptik. Тот факт, что в связке с ним летит кейлоггер и конвагент – база.
    Итак, что же такое этот Kryptik?
    Гений, миллиардер, плейбой, филантроп (на самом деле, нет).
    Троянский вирус семейства Kryptik — это тип вредоносного программного обеспечения, который известен своей способностью уклоняться от обнаружения антивирусными программами. Он относится к категории троянов, что означает, что он маскируется под законное программное обеспечение, чтобы обмануть пользователей на его установку. После активации в системе, Kryptik может выполнять ряд вредоносных действий, включая кражу данных, установку других вредоносных программ и предоставление удаленного доступа к зараженному компьютеру.
    Вот несколько ключевых характеристик вируса семейства Kryptik:
    1. Вирусы Kryptik часто являются полиморфными, что означает, что они могут изменять свой код при каждой установке, чтобы избегать обнаружения антивирусными программами, которые обычно ищут определенные сигнатуры в коде.
    2. Чтобы скрыть свое присутствие, Kryptik может использовать руткиты — вредоносные программы, которые помогают скрыть вредоносное ПО от пользователя и антивирусных программ, изменяя стандартное поведение операционной системы.
    3. Вирусы Kryptik могут использовать различные методы, чтобы обойти механизмы защиты, включая обфускацию кода, эксплуатацию уязвимостей и использование уклончивых сетевых протоколов.
    4. Они могут воровать личные данные, такие как логины и пароли, данные кредитных карт и другую конфиденциальную информацию.
    5. Зараженные машины могут быть присоединены к ботнету, сети зараженных компьютеров, которые могут быть управляемы злоумышленниками для проведения DDoS-атак, распространения спама или майнинга криптовалют.
    6. Трояны Kryptik могут предоставлять злоумышленникам удаленный доступ к зараженному устройству, что позволяет проводить различные вредоносные операции без ведома пользователя.
    7. В некоторых случаях Kryptik может обновлять себя для установки дополнительного вредоносного ПО или для обновления своих компонентов до последних версий, чтобы избежать обнаружения и устранения.
    Из-за всех этих уклончивых техник, вирусы семейства Kryptik являются сложной и серьезной угрозой. Для защиты от них важно использовать надежное антивирусное программное обеспечение, регулярно обновлять операционную систему и другие программы, а также соблюдать осторожность при загрузке подозрительных файлов на свой компьютер.
     
     
  13. У многих честных подписчиков всеми нелюбимого нами Я-сервиса была ситуация, когда попадался где-то на стороне просто великолепнейший трек, который очень бы хотелось видеть у себя в плейлисте, но, к сожалению, в Яме его не оказывалось.  Как обычно, все и всегда связано с очередной капиталистической вонючей помойкой под названием "авторские права".
    Хочу поделиться костылем, как добавить удаленный из Ямы трек, чтобы он был у Вас в плейлисте и на ПК, и на телефоне. 
    Свой трек можно загрузить с ПК, открыв любой плейлист, в который хотим добавить наш трек. И, по кнопке "Загрузить" спокойно добавляем его.
    В моем случае это будет удаленный шедевр из Атаки Титанов под название XL-TT. Найти его где-либо в принципе крайне сложно. Чтобы получить mp3-версию пришлось качать ее с YouTube. 



    Казалось бы, успех....

    ....НО....
    При попытке прослушать трек в мобильной версии Ямы может резко возникнуть ошибка, мол "этот трек недоступен, потому что авторские права и бла-бла-бла". А слушать-то, в основном, хочется именно с телефона. 
    Как фиксить:
    1. Удаляем трек из Ямы, который не прошел по АП.
    2. Берем наш mp3-файл на ПК, жмем по нему правой кнопкой мыши, летим в "Свойства" во вкладку "Подробно":

    Видим, что, оказывается, в мета-данных файла сохранена вся информация и об исполнителе, и полное название. 
    Все это надо удалить и, по возможности, заменить на другое. 
    4. Тапаем по "Удаление свойств и личной информации":
    5. Выбираем этот пункт, внизу жмем "ОК" :

    6. Теперь ищем созданную копию файла без мета-данных(копия файла помечается очень просто, словом "копия" в конце названия), которая появилась и снова переходим в "Свойства" - "Подробно":

    7. Справа, напротив "Название", "Исполнитель" и тд и тп тапаем и вписываем все, что душе угодно:

    Затем жмем "Применить" и "ОК".
    8. Переименовываем файл.
    9. Заливаем на Яму
    10. Вуа-ля - трек доступен теперь и в плейлисте на телефоне. 
     
    Вот, собственно, и все, что я хотела рассказать. Всем спасибо, кто читал, пользуйтесь, кому полезно. ❤️
  14. Ура! Вы скачали Element! Но что дальше?
    Даю небольшую инструкцию для новичков по регистрации в Element без почты и подключению к пространству в matrix, если ссылки не работают, а vpn включать лениво.
    Вот что видит пользователь при запуске Element впервые:

    Пропускаем лишние вопросы: 

    В графе "где будут храниться Ваши переписки" указываем matrix.org:

    Однако, может возникнуть ситуация, при которой Element не даст создать учетную запись без ввода адреса электронной почты. 
    Если не хотите даже на время делиться адресом своей личной почты, можно воспользоваться сервисом временного почтового ящика.
    Например, вот этим: https://temp-mail.org/ru/
    Схема простая. Просто вводим тот e-mail, который выдает Tempmail и затем переходим по ссылке, которую на него пришлет Element:

     
    И вот Вы внутри)
     
    В настройки можно зайти, нажав на свою аватарку в левом верхнем углу. Чтобы удалить почту, необходимо перейти "Настройки - Общее - Электронная почта и номера телефонов"

    Готово. Электронной почты больше нет.
     
    Как подключиться к нашему пространству APRELTEAM, не переходя по ссылке:
    Переходим обратно на главную страницу с чатами и тыкаем на квадрат с карандашиком, выбираем "Обзор комнат":

     
    В поиске вводим: #aprelteam:matrix.org

    Тыкаем на найденное пространство и присоединяемся: 

    Добро пожаловать!
     
     
  15. Ну что, мальчики и девочки, давненько я не щитпостила в свой блог, пора исправить это досадное недоразумение.
    Ранее я уже поверхностно рассказывала про pwnagotchi – проект, которым был вдохновлен небезызвестный FlipperZero. Спустя несколько месяцев мне удалось познакомиться с ним поближе, мерзко обесчестить опенсурсный ai и более глубоко разобраться в механиках работы алгоритмов обучения с подкреплением.
    Во-первых, ChatGPT нагло соврал, когда сообщил, что pwnagotchi работает на Q-Learning. Он может, но не по умолчанию. По умолчанию он юзает алгоритм A2C.
    Во-вторых, обучать модель все же куда как легче и быстрее на рандомно генерируемых данных, т.к. в реальных условиях получение данных извне может быть связано с множеством ограничений, включая недостаток доступных Wi-Fi сетей, ограниченные возможности оборудования, длительное время сбора, закон 🙄🥱.
    Генерировать необходимо состояния агента, включая:
    -  число деаутов (deauth, deauthentication) отправленных агентом за эпоху (деаут-пакеты используются для отключения устройств от их точки доступа Wi-Fi, чтобы инициировать повторное подключение, что позволяет агенту перехватывать хендшейки);
    - Количество успешных ассоциаций агента с точками доступа Wi-Fi. Если число ассоциаций велико, агент активно работает с точками доступа;
    - Число перехваченных хендшейков (handshakes) за эпоху. Хендшейк — это ключевой элемент для атаки на WPA/WPA2 сети, так как он содержит данные для последующего подбора пароля. Большое значение указывает на продуктивность агента;
    и т.д.
    Для реализации данной задачи используется скрипт на языке Python, который создает случайные значения для параметров эпохи, сохраняя их в формате JSON для дальнейшего анализа и использования в обучении. Использование JSON для хранения данных упрощает их обработку, анализ и передачу между системами.     
    Этот формат интуитивно понятен и позволяет быстро увидеть структуру данных, также он относительно компактен, что позволяет эффективно хранить даже большие объемы данных без избыточной информации, используя минимально возможное количество символов.
    Результат первого обучения модели на сгенерированных данных в виде графика.

    Параметры:

    Изменение количества эпох
    Для проведения первого «эксперимента» с изменением параметров модели в части количества эпох необходимо скорректировать следующий блок кода в файле train.py.
    Изначально в работе рассматривается 10 эпох. Для того, что б посмотреть, как количество эпох влияет на модель, меняем его на 50:
    if __name__ == "__main__": logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") dataset_path = 'random_data.json' agent = MockAgent() environment = Environment(dataset_path=dataset_path, agent=agent) rewards = [] params_log = [] state = environment.reset() for epoch in range(50): action = environment.action_space.sample() state, reward, done, _ = environment.step(action) rewards.append(reward) params_log.append(environment.last['params']) if done: break Результаты:

    Изменение функции расчета награды
    Второй «эксперимент» направлен на изучение влияния изменения функции вычисления наград на итоговые результаты. Для этого код в файле reward.py был изменен.
    Данная функция вычисляет награду на основе нескольких параметров, характеризующих поведение агента и его взаимодействие с окружающей средой, используя вероятностные и пропорциональные зависимости. С математической точки зрения функция включает дроби, где числители и знаменатели нормализуют параметры состояния. В основе формулы лежит произведение доли успешных рукопожатий (num_handshakes), активного времени (active_for_epochs), и вероятности избегания нежелательных состояний (blind_for_epochs и missed_interactions), все из которых делятся на общее количество эпох или взаимодействий для нормализации. Дополнительно учитываются эмоциональные параметры (sad_for_epochs и bored_for_epochs), которые уменьшают награду, если их значения велики. Эти параметры тоже нормализуются через общее число эпох, и их влияние нивелируется, если они меньше заданного порога. Использование множителей 1e−20 предотвращает деление на ноль.
    Результаты:

    Очевидно, что изначальная функция расчета награды работала куда более качественно. Зато можно дальше поиграться с математикой и вывести формулу под уникальную задачу, если возникнет такая необходимость.
    Изменение нормализации и денормализации данных
    Третий «эксперимент» раскрывает влияние различных методов нормализации данных на итоговые результаты обучения. Для этого в файле parameter.py были произведены следующие изменения:
    1. Добавление динамической регулировки диапазона параметра (adjust_bounds)
    Метод adjust_bounds изменяет диапазон значений параметра (min_value, max_value) в зависимости от текущей эпохи. Это позволяет адаптировать параметры во время тренировки в зависимости от прогресса.
    Логирование этих изменений помогает отслеживать, как изменяются параметры на разных этапах обучения:
    def adjust_bounds(self, epoch): """ Динамически изменяет диапазон параметра в зависимости от текущей эпохи. :param epoch: Текущая эпоха. """ self.min_value = max(self.min_value - epoch * 0.1, -100) self.max_value = min(self.max_value + epoch * 0.1, 100) logging.info(f"Parameter {self.name}: Adjusted bounds to [{self.min_value}, {self.max_value}]") С каждым новым шагом эпохи диапазоны значений параметров будут изменяться, что полезно для исследования влияния параметров на обучение.
    2. Изменение вычисления "размера пространства" (space_size)
    Метод space_size теперь учитывает возможный сдвиг (с учетом scale_factor), который определяется в зависимости от минимального значения параметра.
    scale_factor корректируется в зависимости от минимального значения параметра:
    def space_size(self): return self.max_value + self.scale_factor Это позволяет более гибко масштабировать пространство действий, учитывая сдвиг диапазона значений.
    3. Добавление шума при преобразовании действия в значение параметра (to_param_value)
    В методе to_param_value добавлен случайный шум в значение параметра:
    self.value += random.uniform(-0.05, 0.05)  # Добавление шума Вводя случайный шум, создаются небольшие флуктуации в значениях параметров, что может улучшить обучение за счет случайных отклонений, увеличивая разнообразие состояния.
    4. Нелинейное преобразование в методе denormalize
    Метод denormalize теперь включает нелинейное преобразование:
    nonlinear_scale = normalized**2  # Нелинейное преобразование Это означает, что значение параметра будет изменяться не линейно, а в квадрате нормализованного значения. Это может позволить более точно настроить параметры с меньшими изменениями в их значениях.
    5. Учет важности параметров в denormalize
    В методе denormalize добавлена учет важности параметров из метаданных (meta):
    importance = self.meta.get('importance', 1.0) value *= importance Важность параметров может влиять на их итоговое значение, что позволяет учитывать, какие параметры важнее для модели.
    Результаты:

    Анализ результатов показал, что изменение подхода к нормализации и денормализации данных меняет распределение значений параметров, особенно в их крайних пределах, т.е. важно предварительно обрабатывать данные для успешного применения методов машинного обучения. Корректная нормализация позволяет улучшить как точность, так и стабильность модели усиленного обучения.
    Очевидно, Pwnagotchi – крайне перспективный проект, который можно превратить в очень и очень мощный инструмент автоматического тестирования безопасности. Горизонты простираются в огромном количестве направлений, причем не только в сторону написания плагинов, добавления всяких программно-аппаратных приблуд или «взломов» Bluetooth и IoT. У него есть возможность интеграции с такими титанами ИБ, как Wireshark и Metasploit. Однако, потребуется немало времени и умственных усилий, чтобы разобраться в этом проекте. Не каждый готов тратить на такое время и силы...
    Как здорово, что большую часть времени мне все равно нехер делать, и я, скорее всего, продолжу вас тут радовать своими щитпостами.
  16. В общем, влечу в щитпостинг с ноги и поделюсь с вами тем, чем увлеклась буквально в последний год обучения в универе. А именно, прогоню пару матов (очень поверхностно) про постквантовые алгоритмы шифрования. Ниже кусок моей статьи, с которой я выступала на универской конференции (некоторые заголовки и формулировки изменены). Возможно, кому-то будет интересно.
    Одним из последствий стремительного прогресса в сфере технологий является рост числа угроз информационной безопасности. Сегодня мир стоит перед новой проблемой, которая возникла из-за активного развития квантовой механики. Создание достаточно мощного квантового компьютера может радикально изменить подходы к решению определенных вычислительных задач. Такие компьютеры представляют угрозу для существующих криптографических алгоритмов, ставя под сомнение безопасность коммуникационных протоколов, аутентификационных процедур, систем цифровых подписей и надежность блокчейн-записей, как это отмечается в многочисленных исследованиях . Еще в 1994 году был предложен алгоритм факторизации чисел на квантовом компьютере, который показал, что если у перехватчика данных будет квантовый компьютер, то он сможет намного быстрее решить задачу разложения чисел на простые сомножители. Это происходит не потому, что квантовый компьютер быстро работает, а потому, что ему нужно меньше операций для того, чтобы решить эту задачу.
    Алгоритм RSA (Rivest-Shamir-Adleman) – это ассиметричный алгоритм шифрования, в основе которого как раз лежит математическая задача факторизации больших чисел. Сегодня он очень активно используется для защиты программного обеспечения, при обмене данными, а также в областях, где необходимо верифицировать отправителя. Кроме того, на RSA базируется защищенный протокол HTTPS, использование которого в России достигло 98% по данным Яндекс.Радара.
    Безопасность таких алгоритмов, как RSA и ECC - Elliptic Curve Cryptography (криптография на эллиптических кривых) зависит от вычислительной сложности решения задач, которые легли в их основу при создании. С появлением квантовых компьютеров они станут уязвимыми. На Рис.1 представлено влияние квантовых вычислений на современные алгоритмы шифрования. Это значительно увеличило интерес государств к созданию квантового компьютера, многие крупные корпорации сегодня вкладывают огромные суммы в технологии, основанные на принципах квантовой механики. Все это ставит перед учеными задачу разработать защиту от новых сверхмощных технологий, которые могут быть использованы с целью кражи конфиденциальных данных.
    Пара слов о квантовой механике в криптографии
    Квантовая криптография является областью науки, основанной на двух ключевых принципах квантовой механики: принципе неопределенности Гейзенберга и квантовой запутанности. Принцип неопределенности Гейзенберга утверждает, что невозможно одновременно точно измерить две взаимосвязанные величины, такие как координату и импульс частицы. Этот принцип играет важную роль в криптографии, так как позволяет создавать надежные шифры, основанные на квантовых свойствах частиц. Квантовая запутанность, в свою очередь, описывает явление, при котором квантовые системы взаимодействуют таким образом, что состояние каждой системы не может быть описано независимо от состояния другой, даже на больших расстояниях. Это свойство квантовой механики позволяет создавать криптографические протоколы, обеспечивающие высокий уровень безопасности передачи информации.
    Впервые концепция использования квантовых элементов для обеспечения безопасности передачи данных была выдвинута Стивеном Визнером в 1970 году. Через десять лет, под влиянием идей Визнера, Чарльз Беннет из IBM и Жиль Брассар из Университета Монреаля предложили схему передачи секретных ключей с использованием квантовых объектов (Рис.2). В 1984 году была выдвинута идея о создании принципиально надежного квантового коммуникационного канала. В результате возникла схема BB84, согласно которой два пользователя, Алиса и Боб, обмениваются фотонами с разной поляризацией через квантовый канал для передачи сообщений.

    Любые попытки перехвата ключей злоумышленником, названным Евой, приведут к изменению состояния фотонов и, как следствие, к искажению сообщения с ключами. После передачи Алиса и Боб используют открытый канал для сравнения и обсуждения части переданных сигналов, и, в случае стороннего вмешательства, обнаружить его. Если ошибок не будет, они могут быть уверены, что информация была передана случайным и секретным образом, и что она защищена от всех известных методов криптоанализа.
    В квантовой криптографии речь идет не об алгоритмах шифрования и дешифрования данных, а об алгоритмах распределения ключей. Ключ – это последовательность бит, которая должна быть одинаковой и у отправителя, и у получателя. Именно этот набор бит необходимо держать в секрете, так как с помощью него злоумышленник получает возможность расшифровать передаваемую информацию.
    В протоколе BB84, который был предложен Беннетом и Брассаром в 1984 году базируется на принципе квантовой неопределенности. Согласно этому принципу, берется четыре квантовых состояния, которые образуют два базиса, любая попытка измерения которых приведет к изменению всей системы, т.е. будет обнаружено постороннее вмешательство. Состояния одного и того же базиса должны быть ортогональны, двух разных – неортогональны.
    В BB84 носителям информации являются фотоны. Их поляризуют под углом в 0, 90, 45 или 135 градусов. Измерить возможно только сам базис:
    - вертикальная поляризация (0 и 90 градусов)
    - диагональной поляризация (45 и 135 градусов)
    В условных обозначениях вертикальной поляризации присваивается «+», в диагональной – «x».
    Кодируются состояния следующим образом:

    Кодирование происходит в несколько этапов:
    1.  На первом этапе отправитель (Алиса) случайным образом выбирает последовательность фотонов с разной поляризацией, формирует набор фотонов и передает его легитимному получателю (Бобу):

    2.  Боб измеряет поляризацию поступающих к нему фотонов, но для каждого фотона базис измерений выбирается также случайно:

    3.  Далее Боб передает Алисе по открытому каналу связи информацию о том, какие базисы он выбрал, обозначая их, согласно Таблице 1, как 0 и 1:

    4.  Сравниваются исходная последовательность Алисы и полученная последовательность Боба. Совпадения фиксируются.

    Видим, что примерно в 50% случаев результаты будут совпадать.

    5. После этого Алиса и Боб снова связываются по открытому каналу и выясняют, какие базисы у них совпали. Информация о несовпавших базисах отбрасывается. Последовательность совпавших базисов становится открытым ключом:

    Открытый ключ получается одинаковым и у Алисы, и у Боба.
    Данный алгоритм гарантирует, что злоумышленник не сможет при перехвате восстановить ключ, по крайней мере, незаметно для Алисы и Боба. Если попытаться перехватить фотоны, то, поскольку выбранный Алисой Базис злоумышленнику неизвестен, то он может только выбирать его случайно, как делает Боб, но измерение поляризации приводит к изменению состояния вектора состояния. Злоумышленник не сможет после измерения отправить тот же самый фотон Бобу, так как не знает, в каком состоянии он был изначально. Также он не сможет просто скопировать передаваемый фотон, согласно теореме о запрете квантового клонирования. Таким образом, если нарушитель что-то попытается сделать с фотонами, то Алиса и Боб получат разные ключи, т.е. будет обнаружено постороннее вмешательство.
    В практической реализации данного алгоритма все же есть ряд серьезных проблем, о которых я расскажу в записи про "Практическую реализацию". Проспойлерю, что из-за "темнового шума" на сегодняшний день используют не поляризацию. Фотоны фазируют.

Последние посетители 0

  • Ни одного делегата форума не просматривает данную страницу

Важная сводка

Мы разместили cookie-файлы на твоё устройство, чтобы помочь сделать этот форум лучше. Ты можешь корректировать своё управление cookie-файлами, или же продолжить без каких-либо корректировок.

Иконка перчаток с несколькими звуками
Иконка перчаток

Досье

Навигация

Розыск

Розыск

Настройка push-извещений браузера

Chrome (Android)
  1. Нажми на значок замка рядом с адресной строкой.
  2. Нажми Разрешения → Извещения.
  3. Корректируй свои предпочтения.
Chrome (Desktop)
  1. Нажми на значок замка в адресной строке.
  2. Выбери Управление сайта.
  3. Разыщи Изввещения и корректируй свои предпочтения.