• Уязвимость в протоколе SS7 уже несколько лет используют для перехвата SMS и обхода двухфакторной аутентификации


      Схема атаки с перехватом SMS-сообщения. Иллюстрация: Positive Technologies

      О критических уязвимостях в сигнальном протоколе SS7 известно уже несколько лет. Например, в 2014 году российские специалисты Positive Technologies Дмитрий Курбатов и Сергей Пузанков на одной из конференций по информационной безопасности наглядно показали, как происходят такие атаки. Злоумышленник может прослушать звонки, установить местоположение абонента и подделать его, провести DoS-атаку, перевести деньги со счёта, перехватывать SMS. Более подробно эти атаки описаны в исследовании «Уязвимости сетей мобильной связи на основе SS7» и в отчёте «Статистика основных угроз безопасности в сетях SS7 мобильной связи».

      И вот сейчас появились первые свидетельства, что хакеры с 2014 года действительно используют эту технику для обхода двухфакторной авторизации и перевода денег со счетов клиентов банков. Своё расследование опубликовала немецкая газета Süddeutsche Zeitung.
      Читать дальше →
    • Как лечат сумасшедших. 1.1 — Фармакотерапия: основы и шизофрения

        Приветствую тебя, %username%!



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

        Disclaimer: я не психиатр, а псих. Препараты всех указанных групп я тестировал на себе и наблюдал их действия (когда лежал в психушке). Кроме того, у меня есть некоторый опыт подбора фармы, однако формального образования в этой области я не имею. В связи с этим, а также с тем, что ставить себе диагноз по научпопным статьям — штука крайне неправильная в своей основе, хочу предупредить читателя о том, что, прежде, чем принимать что-либо из описанного здесь, необходимо проконсультироваться со специалистом. Если в пост набегут настоящие сварщики и обоснуют неправильность заявленных тезисов, — буду только рад.

        Если вышеизложенное вас не отпугивает, предлагаю окунуться в увлекательный мир психофармакологии. В посте много букв и картинок, предупреждаю сразу.
        Читать дальше →
      • Термоакустический двигатель – двигатель Стирлинга без поршней

        Двигатель Стирлинга – двигатель с внешним подводом тепла. Внешний подвод тепла – это очень удобно, когда есть необходимость использовать в качестве источника тепла не органические виды топлива. Например, можно использовать солнечную энергию, геотермальную энергию, бросовое тепло с различных предприятий.

        image

        Приятная особенность цикла Стирлинга – это то, что его КПД равен КПД цикла Карно [1]. Естественно у реальных двигателей Стирлинга эффективность ниже и зачастую намного. Двигатель Стирлинга начал своё существование с устройства, имеющего множество подвижных деталей, таких как поршни, шатуны, коленчатый вал, подшипники [2]. К тому же еще и ротор генератора крутился (Рисунок 1).
        Читать дальше →
      • Visual Studio Code отнимает 13% ресурсов CPU из-за мерцания курсора



          Забавная проблема #22900 на этой неделе привлекла особое внимание пользователей Github.

          Подробное описание проблемы — в репозитории редактора кода Visual Studio Code (vscode). Open source разработчик Джо Лисс (Jo Liss) известна как создатель Broccoli и других свободных библиотек. На странице проекта она обратила внимание, что Visual Studio Code использует 13% вычислительных ресурсов процессора, если окно находится в фокусе. Из-за этого впустую расходуется заряд аккумулятора на ноутбуке. Что могло бы быть причиной столь странного поведения программы?
          Читать дальше →
        • Изменение размера изображения с учётом содержимого

          • Translation

          Изменение размера изображения с учётом содержимого (Content Aware Image Resize), жидкое растяжение (liquid resizing), ретаргетинг (retargeting) или вырезание шва (seam carving) относятся к методу изменения размера изображения, где можно вставлять или удалять швы, или наименее важные пути, для уменьшения или наращивания изображения. Об этой идее я узнал из ролика на YouTube, от Shai Avidan и Ariel Shamir.


          В этой статье будет рассмотрена простая пробная реализация идеи изменения размера изображения с учётом содержимого, естественно на языке Rust.


          Для подопытной картинки, я поискал по запросу1 "sample image", и нашел её2:


          image

          Читать дальше →
        • Домашний хостинг сайтов с динамическим IP

          У меня (как и у многих web-разработчиков) имеется с десяток сайтов которые необходимо где-то размещать (хостить).

          Сайты практически не приносят прибыли, поскольку это какие-то старые работы (по разным причинам не пошедшие в продакшн), домашняя страница, сайт заведенный красивой почты и тому подобное. Но в то же время эти сайты жалко бросать, а потому приходится каждый месяц на них тратить вполне реальные деньги чтобы покупать хостинг. Деньги, прямо скажем небольшие, но тем не менее их жалко, поскольку отдачи от сайтов никакой нет.

          В то-же время в наличии имеется:

          • Домашний сервер на Ubuntu
          • Быстрый ethernet-интернет от МТС

          Но не имеется ключевого — статического IP. Если бы он был, то все было-бы намного проще и данную статью я бы точно не писал. А выдавать статический IP мой МТС абсолютно не желает (если только я не подключусь как бизнес-клиент).

          Разумеется есть всем известные Dynamic DNS сервисы вроде noip.com, но они успешно решают лишь задачу удаленного доступа к нашему серверу (по SSH или FTP), но для хостинга совершенно нам не подходят, поскольку в настройках домена на DNS-сервере нам нужно обязательно прописать A-запись с реальным IP-адресом (а не ссылку на наш виртуальный домен).
          Читать дальше →
        • ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик

            На Хабре уже как минимум дважды упоминался новый отечественный стандарт блочного шифрования ГОСТ Р 34.12 2015 «Кузнечик», ru_crypt в своем посте рассмотрел основные механизмы и преобразования нового стандарта, а sebastian_mg занимался пошаговой трассировкой базового преобразования. Но многие вопросы остались без ответа. Насколько быстр новый ГОСТ? Можно ли его оптимизировать, эффективно реализовать, ускорить аппаратно?


            GOST R 34.12 2015 with SSE2

            А если можно, то как?
          • «Правда, чистая правда и статистика» или «15 распределений вероятности на все случаи жизни»

            • Tutorial
            Статистика приходит к нам на помощь при решении многих задач, например: когда нет возможности построить детерминированную модель, когда слишком много факторов или когда нам необходимо оценить правдоподобие построенной модели с учётом имеющихся данных. Отношение к статистике неоднозначное. Есть мнение, что существует три вида лжи: ложь, наглая ложь и статистика. С другой стороны, многие «пользователи» статистики слишком ей верят, не понимая до конца, как она работает: применяя, например, тест Стьюдента к любым данным без проверки их нормальности. Такая небрежность способна порождать серьёзные ошибки и превращать «поклонников» теста Стьюдента в ненавистников статистики. Попробуем поставить точки над i и разобраться, какие модели случайных величин должны использоваться для описания тех или иных явлений и какая между ними существует генетическая связь.
            Читать дальше →
          • Современная операционная система: что надо знать разработчику

              Александр Крижановский (NatSys Lab.)


              Александр Крижановский

              Нас сегодня будет интересовать операционная система – ее внутренности, что там происходит… Хочется поделиться идеями, над которыми мы сейчас работаем, и отсюда небольшое вступление – я расскажу о том, из чего состоит современный Linux, как его можно потюнить?

              По моему мнению, современная ОС – это плохая штука.




              Дело в том, что на картинке изображены графики сайта Netmap (это штуковина, которая позволяет вам очень быстро захватывать и отправлять пакеты сетевого адаптера), т.е. эта картинка показывает, что на одном ядре с разной тактовой частотой до 3 ГГц Netmap позволяет 10 Гбит – 14 млн. пакетов в сек. отрабатывать уже на 500 МГц. Синенькая линия – это pktgen – самое быстрое, что, вообще, есть в ядре Linux’а. Это такая штуковина – генератор трафика, который берет один пакет и отправляет его в адаптер много раз, т.е. никаких копирований, никакого создания новых пакетов, т.е., вообще, ничего – только отправка одного и того же пакета в адаптер. И вот оно настолько сильно проседает по сравнению с Netmap (то, что делается в user-space показано розовой линией), и оно вообще где-то там внизу находится. Соответственно, люди, которые работают с очень быстрыми сетевыми приложениями, переезжают на Netmap, Pdpdk, PF_RING – таких технологий море сейчас.
              Читать дальше →
            • Оптимизация кода: процессор

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

              image

              В этой статье мы рассмотрим базовые техники оптимизации кода, которые могут увеличить производительность вашей программы во много раз. Мы также коснёмся устройства процессора. Понимание как работает процессор необходимо для написания эффективных программ.
              Читать дальше →
            • Биохакинг мозга: куда располагать электроды, чтобы стать умнее?

                Сейчас в поле зрения общественного внимания попадает всё больше исследований tDCS – транскраниальной стимуляции постоянным током. Довольно большое количество научных работ последних лет демонстрируют, что tDCS может улучшать когнитивные способности не только при лечении болезней, но и у совершенно здоровых людей. Среди них – реакция, внимание, память и обучение иностранным языкам. Успехи научных исследований привлекли внимание DIY сообщества, которое взяло технологию на вооружение и стало активно применять tDCS на себе.

                Однако ключевой момент для проведения электростимуляции – это правильный выбор мест прикрепления электродов к голове. Ведь стимуляция различных зон мозга приводит к принципиально разным когнитивным эффектам – в зависимости от функций этих областей. Поэтому я решил разобраться в научных статьях и выяснить, стимуляция каких зон действительно приводит к ощутимым когнитивным улучшениям и какие подводные камни здесь могут быть.

                Читать дальше →
              • Деанонимизируем пользователей Windows и получаем учетные данные Microsoft и VPN-аккаунтов


                  Если вы не видите эту картинку, то данные вашей учетной записи Windows уже скомпрометированы.

                  Введение

                  Давным-давно, когда компьютеры были одноядерными и прекрасно работали с 256 МБ RAM, а сети под управлением Windows уже использовались очень широко, ребята из Microsoft подумали, что было бы удобно аутентифицироваться только один раз, при загрузке компьютера, а доступ на внутренние ресурсы происходил бы автоматически, без ввода пароля, и сделали так называемую технологию единого входа (Single Sign-on). Единый вход работает очень просто: когда пользователь пытается получить доступ к какому-либо ресурсу с NTLM-аутентификацией (стандартный способ аутентификации в сетях Windows), ОС сразу передает название домена, имя учетной записи и хеш пароля текущего пользователя, и если под этими данными войти не удалось, показывает диалог ввода имени пользователя и пароля. Шли годы, проблемы с безопасностью реализации технологии единого входа давали о себе знать, одни из которых успешно исправляли, другие исправляли менее успешно, а о третьих почему-то совсем забыли. Так и забыли о проблеме передачи учетных данных для единого входа на SMB-ресурсы (сетевые ресурсы: файлы и папки, принтеры, и т.д.) через интернет, которую можно эксплуатировать во всех современных ОС, включая Windows 10 со всеми последними обновлениями. Об этой особенности работы стека аутентификации вспоминают каждые 1-2 года, последний раз о ней рассказывали на Blackhat US 2015, но Microsoft не спешит что-либо менять.
                  Читать дальше →
                • Загадка штормгласса — домашней метеостанции на элементной базе начала XIX века

                    Статьи про изготовление и использование домашних метеостанций публикуют на Гиктаймс регулярно. Я решил не отставать от тренда и тоже написать рассказ о метеостанции, которая висит у меня за окном — о штормглассе.

                    Если кратко, то штормгласс — это колба с раствором камфоры, использовавшаяся для наблюдения за погодой в XIX веке. Информации в сети о нём немало — но описания принципа работы обычно сводятся к эзотерическому «не получил полного научного объяснения». Несколько лет назад я прочитал о штормглассе, заинтересовался, сделал себе такой, несколько дней экспериментировал дома, потом повесил склянку за окно и уже второй год наблюдаю за её поведением в реальных условиях.


                    Такие штормглассы продают на ebay — кристаллы выглядят красиво, но по их виду я могу сказать, что штормгласс использовался вхолостую, и погоду сейчас не показывает.

                    Объяснение принципа работы оказалось невероятно простым, а сам прибор — достаточно чувствительным, чтобы я мог, глянув на него, понять, как нужно одеваться, выходя из дома.
                    Если вам интересны подробности, прошу под кат.
                  • Что такое пространство-время на самом деле?

                    • Translation
                    • Tutorial

                    Перевод поста Стивена Вольфрама "What Is Spacetime, Really?".
                    Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.


                    Примечание: данный пост Стивена Вольфрама неразрывно связан с теорией клеточных автоматов и других смежных понятий, а также с его книгой A New Kind of Science (Новый вид науки), на которую из этой статьи идёт большое количество ссылок. Пост хорошо иллюстрирует применение программирования в научной сфере, в частности, Стивен показывает (код приводится в книге) множество примеров программирования на языке Wolfram Language в области физики, математики, теории вычислимости, дискретных систем и др.

                    Содержание


                    Простая теория всего?
                    Структура данных Вселенной
                    Пространство как граф
                    Может быть, нет ничего, кроме пространства
                    Что есть время?
                    Формирование сети
                    Вывод СТО
                    Вывод ОТО (Общей теории относительности)
                    Частицы, квантовая механика и прочее
                    В поисках вселенной
                    Ок, покажите мне Вселенную
                    Заниматься физикой или нет — вот в чем вопрос
                    Что требуется?
                    Но пришло ли время?
                    Сто лет назад Альберт Эйнштейн опубликовал общую теорию относительности — блестящую, элегантную теорию, которая пережила целый век и открыла единственный успешный путь к описанию пространства-времени (пространственно-временного континуума).

                    Есть много различных моментов в теории, указывающих, что общая теория относительности — не последняя точка в истории о пространстве-времени. И в самом деле, пускай мне нравится ОТО как абстрактная теория, однако я пришел к мысли, что она, возможно, на целый век увела нас от пути познания истинной природы пространства и времени.

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

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

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

                    Во-первых, такой подход казался не слишком перспективным — хотя бы потому, что модели, которые я изучал (клеточные автоматы), казалось, работали так, что это полностью противоречило всему тому, что я знал из физики. Но где-то в 88-м году — в то время, когда вышла первая версия Mathematica, я начал понимать, что если бы я изменил свои представления о пространстве и времени, возможно, это к чему то бы меня привело.
                    Подробнее о пространственно-временном континууме...
                  • Какие из данных платформ подходят для лаборатории робототехники и интеллектуальных систем?



                      Господа! У меня уже две различные организации спрашивали совета про оборудование лаборатории роботики. Причем не для младших детей, а для старших школьников + младших студентов, с возможностью расширения до старших студентов и исследовательских проектов. То есть ожидается, что в лаборатории будут использоваться профессиональные средства разработки, а не упрощенные, наподобие Лего и недостаточно гибкого Ардуино. Кроме этого, ожидается, что роботы будут делать что-нибудь умное, с распознаванием образов и ситуаций, чтобы можно было бы назвать «лаборатория робототехники и интеллектуальных систем».

                      По этому поводу я хочу устроить обсуждение:

                      1. Ниже я перечислю несколько платформ, которые я собираюсь привезти в августе в Казахстан и в октябре-ноябре в Россию и Украину. Я знаю, что на большинстве из этих платформ кто-нибудь да построил робота. Но каких из этих платформ подходят для роботики с вашей точки зрения?

                      2. У меня не очень много опыта с моторчиками и другими активаторами. Где и что бы вы купили для преподавания робототехники (как специализации программирования встроенных систем)?

                      Восемь платформ у меня на руках:
                      Читать дальше →
                    • USB Генератор СВЧ

                      Бывает так, что одного СВЧ генератора на рабочем месте не хватает, или же им кто-то пользуется, а проверить например смеситель (усилитель, АЦП…) очень нужно. А ещё стационарные СВЧ генераторы довольно большие и тяжёлые, лично мне часто лень их переносить и освобождать место на рабочем столе. По этим причинам два года назад я сделал свой маленький генератор, первую версию.

                      Первая версия USB генератора

                      Читать дальше →
                    • Telegram: чат-культура 2.0

                        Групповые чаты в Телеграм вернули целый пласт IT- и digital-специалистов туда, откуда харкорные гики и не вылезали: во времена IRC, игр в мафию на сервере локальной сети ближайшего университета и знакомств на #talks с последующей развиртуализацией на пойнте где-нибудь в Братеево (последнее было актуально в Москве).

                        Эта статья — для тех, кто ничего не понимает в чатах, слегка понимает в чатах и знает о чатах все. Я расскажу о том, как устроены групповые чаты в Телеграм, в чем их плюсы и минусы и о том, как и зачем их использовать. И, само собой, в конце вас ждет список самых активных dev-geek-чатов Телеграма.
                        Читать дальше →
                      • Подключение MATLAB к Wolfram Mathematica

                        • Translation
                        • Tutorial


                        Вызов MATLAB из Mathematica с помощью MATLink


                        Как можно вызывать функции MATLAB напрямую из Mathematica и организовать обмен данными и переменными между двумя системами?

                        Для этого существует кроссплатформенный пакет под названием MATLink. С помощью него легко организовать вызов функций MATLAB прямо из Mathematica и передавать различные данные от одной системы другой.
                        Читать дальше →
                      • Пишем сериализатор для сетевой игры на C++11

                          Написать этот пост меня вдохновила замечательная статья в блоге Gaffer on Games «Reading and Writing Packets» и неуёмная тяга автоматизировать всё и вся (особенно написание кода на C++!).

                          Начнём с постановки задачи. Мы пишем сетевую игру (и сразу MMORPG, конечно же!), и независимо от архитектуры у нас возникает необходимость постоянно посылать и получать данные по сети. У нас, скорее всего, возникнет необходимость посылать несколько разных типов пакетов (действия игроков, обновления игрового мира, просто-напросто аутентификация, в конце концов!), и для каждого у нас должна быть функция чтения и функция записи. Казалось бы, не вопрос сесть и написать спокойно эти две функции и не нервничать, однако у нас сразу же возникает ряд проблем.

                          • Выбор формата. Если бы мы писали простенькую игру на JavaScript, нас бы устроил JSON или любой его самописный родственник. Но мы пишем серьёзную многопользовательскую игру, требовательную к трафику; мы не можем позволить себе отправлять ~16 байт на float вместо четырёх. Значит, нам нужен «сырой» двоичный формат. Однако, двоичные данные усложняют отладку; было бы здорово, если бы мы могли менять формат в любой момент, не переписывая целиком все наши функции чтения/записи.
                          • Проблемы безопасности. Первое правило сетевой игры: не доверяй данным, присланным клиентом! Функция чтения должна уметь оборваться в любой момент и вернуть false, если что-то пошло не так. При этом использовать исключения считается неважной идеей, поскольку они слишком медленные. Мамкин хакер пусть и не сломает ваш сервер, но вполне может ощутимо замедлить его беспрерывными эксепшнами. Но вручную писать код, состоящий из if'ов и return'ов, неприятно и неэстетично.
                          • Повторяющийся код. Функции чтения и записи похожи, да не совсем. Необходимость изменить структуру пакета приводит к необходимости поменять две функции, что рано или поздно приведёт к тому, что вы забудете поменять одну из них или поменяете их по-разному, что приведёт к трудно отлавливаемым багам. Как справедливо замечает Gaffer on Games, it is really bloody annoying to maintain separate read and write functions.

                          Всех интересующихся тем, как Бендер выполнил своё обещание и при этом решил обозначенные проблемы, прошу под кат.
                          Читать дальше →
                        • Инструменты Intel для создателей видео кодеков

                            imageНа Хабре в блоге Intel регулярно появляются статьи с описанием технологий и инструментов, созданных в стенах Intel. Многие из них так или иначе связаны с обработкой и анализом видео и изображений. Это такие продукты как, например, Intel Media Server Studio или Intel RealSense. Однако, существует набор инструментов, не так широко представленных в медиа пространстве, но не менее значимых для такой категории разработчиков, как создатели медиа кодеков. Именно этот пробел мы и попытаемся восполнить в данном топике. Речь пойдет про Intel Video Pro Analyzer (Intel VPA) и Intel Stress Bitstreams and Encoder (Intel SBE), а также про те возможности, что скрываются за этими названиями.

                            Для начала определимся с предметом, сущностью, с которой работают вышеназванные инструменты. Это битовые стримы. Битовый стрим – это то, что получается после того, как отработал видео энкодер. Битовый стрим – это поток битов, отвечающий спецификации того или иного кодека. Если мы заглянем в спецификацию большинства кодеков, то увидим, что этот битстрим представляет из себя ничто иное как набор синтаксических элементов данного кодека различной длины. Это, к примеру, ширина и высота картинки, профиль кодирования, коэффициенты трансформации, различные битовые флаги и т.д. Для стандарта HEVC это сотни синтаксических элементов. После кодирования эти битовые стримы доходят до пользователей, помещенные в различные медиа контейнеры – avi, mp4, mpeg ts и т.д. Но разработчики кодеков в основном работают именно с битовыми стримами. Разработчики ПО, дизайнеры, инженеры – электронщики, тестеры имеют свои инструменты для работы. Почему же разработчикам кодеков их не иметь?
                            Читать дальше →
                            • +16
                            • 5.5k
                            • 3