Мы выпустили новый релиз PVS-Studio – 7.18. В этой заметке расскажем, как развиваем security-направление, зачем нужна новая система типов в C++ анализаторе, как улучшили анализ кода для embedded-систем и не только.
Новости
Проблемы с поиском в интернете нужной программы
Поиск нужной программы (без знаний о ее названии, а только по функционалу) усложняется год от года. Это происходит из-за того что:
1. Большое количество программ.
2. За счет поисковой оптимизации, на первых строках по ключевым словам выводятся в только информация которая была оптимизирована под поисковые запросы. Т.е. на первых позициях будут либо платные программы, либо условно-бесплатные. А полностью бесплатные программы будут на нижних строках поиска.
3. Большое количество дублированной информации.
4. Большое количество одинаковых сайтов с одинаковыми программами.
5. Большое количество почти одинаковых программ.
Если нет точного названия программы, а только лишь нужный функционал, то может оказаться так, что на первых строках будут лишь платные программы или одна и та же программа (просто на разных сайтах), а бесплатных программ или другие программы (мало популярные) может не быть в первых строках поиска. В результате чего может сложиться впечатление, что других программ нет или поиск будет длиться слишком долго, что может надоесть. Вот и получается, что выбор программ искусственно ограничивают.
Пример:
Год назад искал программу для записи с экрана, через поиск нашел достаточно большое количество разных программ. Протестировал несколько и выбрал одну нормальную (полностью бесплатную). Недавно опять понадобилась подобная программа, и я через поиск (на домашнем ПК) пытался ее найти. Так вот (т.к. забыл название той программы и она была на офисном компьютере) потратил около часа, перепробывал несколько программ, но найти ту или более менее подходящую не смог. Потом взяв на офисном компьютере название программы, придя домой тут же ее нашел.
Почему результаты UX-исследований не идут в работу
Меня зовут Михаил Правдин, я руковожу отделом исследований в Авито. Моя команда изучает пользовательский опыт, чтобы клиенты получали от продуктов только приятные впечатления. В этой статье расскажу, почему результаты UX-исследований не всегда идут в работу. Материал будет полезен всем, кто проводит исследования и работает с пользовательским опытом: дизайнерам, исследователям, продакт-менеджерам и аналитикам.
Обход антивирусов в теории и на практике: краткий обзор способов и тестирование обфускаторов
Прошлой осенью я протестировала программное обеспечение для обхода антивирусов, которое применялось на различных тренировках у нас на киберполигоне. Для исследования я выбрала несколько инструментов обфускации и проверила, смогут ли общедоступные средства антивирусной защиты — Microsoft Defender, Kaspersky Total Security и VirusTotal — обнаружить вредоносную нагрузку в файлах после их обработки обфускаторами.
Исследование проводилось исключительно в образовательных целях для организации киберучений: на Национальном киберполигоне мы помогаем будущим специалистам по кибербезопасности и тем, кто уже работает в отрасли, без риска реального ущерба оттачивать на практике навыки defensive security. Участники учений тренируются на эмулированной инфраструктуре предприятий различных отраслей выявлять цепочки атак, сценарии которых повторяют действия реальных злоумышленников, в том числе и обход антивирусов.
Сегодня я поделюсь результатами моего исследования и заодно кратко опишу другие методы обхода антивирусов. Cтатья может быть полезной пентестерам и другим специалистам по кибербезопасности, желающим убедиться в работоспособности доступных методов обхода антивирусов, которые можно найти в открытых источниках.
Parallel Nested Loops Join
По материалам статьи Craig Freedman: Parallel Nested Loops Join
Перевод Ирины Наумовой
SQL Server распараллеливает Nested Loops Join, распределяя в случайном порядке строки внешней таблицы по потокам вложенных циклов. В данном случае, речь идёт о строках, которые поступают первыми, и мы их видим вверху, на графическом плане запроса. Например, если на входе соединения вложенных циклов имеется два потока, каждый поток получит приблизительно половину строк. Потоки проходятся по строкам внутренней таблицы соединения (то есть, по строкам, поданным во вторую очередь, мы их видим ниже в плане запроса), точно по такому же алгоритму, как это было бы реализовано в сценарии с последовательной обработкой строк. Таким образом, для каждой обрабатываемой потоком строки внешней таблицы, поток обеспечивает соединение своей внутренней таблицы, используя эту строку в качестве источника коррелированных параметров. Это позволяет потокам работать независимо друг от друга. При этом для внутренней таблицы соединения вложенных циклов SQL Server не добавляет операторы параллелизма и работу с ней не распараллеливает.
Как дата-сайентистам эффективно сотрудничать с дата-инженерами
Junkyard Blues by Papaya-Style
Иногда дата-сайентистам и дата-инженерам сложно понять друг друга. И тогда первые получают не те данные, а вторые занимаются непонятными или даже невыполнимыми задачами.
Команда разработки облачной платформы VK Cloud Solution перевела статью бывшего дата-инженера, которая стала дата-сайентистом. Она рассказывает, как этим специалистам прийти к взаимопониманию и эффективнее работать над общими задачами.
Какой язык программирования учить в 2022 году: армянский или грузинский?
За последний месяц IT-отрасль в России пережила серьезный стресс. По оценкам РАЭК в ближайшее время из России эмигрируют около 100 000 ИТ-специалистов, не говоря о том, что за первую волну эмиграции их число составляло приблизительно 80 000. Мы видим, что люди, которые идут на подобные шаги, часто местом релокации выбирают в основном страны ближнего зарубежья. Так сложилось, что у меня большое количество друзей и знакомых в Закавказском регионе и есть реальное представление о том, как протекает жизнь после последних событий и в Армении, и в Грузии. Поэтому я решил написать статью, посвященную именно этим двум странам, где я попытаюсь проанализировать жизнь до и после ИТ-нашествия, перспективы отрасли, а также финансовые аспекты пребывания в обеих странах.
Мечтают ли алгоритмы о финансовой отчётности: новый способ работы с ФО в ВТБ
Финансовая отчетность (ФО) — штука предельно ответственная. Получаемая от бизнеса ФО постоянно нужна банку для организации повседневной деятельности. Но процесс получения важной для нас отчётности омрачается тем, что работа с ФО — это монотонный неэффективный конвейер, на поддержание которого банковские служащие тратят тысячи человекочасов. ВТБ использует электронные инструменты получения ФО, такие как: ФНС, 1С, Коробочное решение распознавания. Это основные направления развития, но сегодня они не покрывают всю потребность в клиентской ФО.
Меня зовут Андрей Ходяков, я работаю с неструктурированными данными в управлении моделирования КИБ СМБ в банке ВТБ. И в этом материале я расскажу, как мы искали и нашли собственное решение для борьбы с рутиной ФО.
ИК-управление самодельными устройствами
Картинка для привлечения внимания :-)
В последнее время мы довольно сильно привыкли к тому, что в разнообразных самоделках на базе Arduino / esp32 используется управление, основанное на радиочастотах. Тем не менее иногда применение такой технологии управления может быть не совсем удобно хотя бы потому, что радиообстановка может быть сложной — например, если вы находитесь в густонаселённом месте (во дворе многоэтажного дома). Однако зачастую совсем без управления «или сложно, или совсем грустно». И в этой статье мы поговорим как раз о том, как можно реализовать альтернативный способ управления вашими самодельными устройствами.
Сортировка подсчётом или почему этот способ игнорируют?
Как я изобрёл весьма быстрый велосипед и узнал, что на нём уже кто-то ездит.
Алиасы в bash для быстрого набора команд Git
Командный интерпретатор bash позволяет задавать произвольные алиасы для разных команд и выражений. Алиасы не являются командами сами по себе, но им, как и командам, можно передавать аргументы. Алиасы позволяют сделать вызов громоздких команд очень простым, с легко запоминающимися названиями.
Использовать Git я привык исключительно из консоли, но на ввод длинных команд с разными аргументами тратится значительное количество времени. Поэтому я ввёл практику использования алиасов. Для безопасных команд я использовал короткие алиасы, которые по сути стали горячими клавишами, а для функциональных — простые короткие слова из состава команд Git. Если команда опасная, то можно сделать её в два слова, написанных через дефис, для исключения случайного ввода. На самом деле, использование алиасов для работы с Git широко практикуется, я решил лишь преподнести отдельный вариант подборки алиасов, которые для меня оказались очень удобными.
Паттерны природы: сегментация экзоскелета беспозвоночных как вдохновение для более прочных материалов
Современное общество разительно отличается от того, что было несколько веков назад. Изменения, которые претерпел наш вид, связаны не только со сменой культурных, религиозных и политических предпочтений, но и с развитием технологий. Прогресс коснулся как жизни государств в целом, так и жизней отдельных индивидов. Машины вместо лошадей, светодиоды вместо свечей, смартфоны вместо голубиной почты и т.д. Другими словами, развитие наук и последующее развитие технологий повлияло без малого на все. Это же можно сказать и о строительстве. Без тех знаний, что есть у нас сейчас, мы бы не смогли возвести дома, которые своими крышами ловят облака. При этом источником столь полезных знаний может быть не только осознание каких-то основоположных законов естественных наук, но и наблюдения за представителями флоры и фауны. Ученые из университета Монаша (Австралия) обнаружили необычные свойства экзоскелетов беспозвоночных, которые могут помочь создать более устойчивые к повреждениям материалы для строек будущего. Что именно они нашли, как это можно применить в строительстве, и при чем тут экология? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Перенос нейронной сети из PyTorch на Google Coral
Всем привет! Меня зовут Антон Расковалов и мы с командой отдела перспективных исследований «Криптонит» решили проверить, можно ли использовать Google Coral в решении наших задач. Приобретённым опытом делюсь в статье ниже.
Санкции вынуждают пересматривать подходы к организации ИТ-инфраструктуры, в том числе — искать альтернативу облачным ИИ-платформам. Одним из вариантов является использование специализированных ускорителей с нейропроцессорами, которые физически находятся на стороне клиента. Даже на фоне санкционного давления их можно купить на AliExpress и оплатить банковской картой, выпущенной на территории России.
Данная статья посвящена переносу нейронных сетей написанных на одном из самых популярных фрэймворков, PyTorch, на Google.Coral, один из самых "производительных ускорителей"
Меню Joomla 3 в админке Joomla 4
Многим ещё не привычна структура меню в админке Joomla 4 и поэтому появился модуль Phoca Top Menu Module. Однако, того же результата можно добиться штатными средствами и сделать структуру меню панели администратора как у Joomla 3, она становится почти такая же. Да и в принципе, к построению админки можно относиться так же, как и к шаблону сайта для фронта.
Нужно зайти в Система - Модули панели управления - Admin menu. В нём есть "Тип предустановки" меню. Включаем "Альтернативное главное меню".
Агрегаты
Я считаю, что именно агрегаты из Domain-Driven Design лежат в основе поддерживаемых информационных систем. Однако эта концепция малоизвестна за пределами DDD-сообщества и довольно сложна для понимания, поэтому я решил написать очередной пост посвящённый агрегатам. В основном для чтобы структурировать собственное понимание агрегатов и создать "методичку" для своих команд, но и широкой общественности, я надеюсь, этот пост тоже может быть полезен.
Недельный геймдев: #65 — 10 апреля, 2022
Из новостей: Unreal Engine 5 вышел из альфы, CryEngine 5.7, бесплатная версия Articy:Draft 3, вышла бета-версия Inkscape 1.2.
Из интересностей: начальная сцена «Короля Льва» воссоздана в Substance 3D Designer, Elden Bike, обсуждение в Твиттере консолидации игровых движков, какие инструменты использовались при работе над Satisfactory.
2 месяца всей командой на Кипре: стратсессия, открытие нового офиса и многое другое
Привет, Хабр! Сегодня тема релокации одна из наиболее актуальных. В этой статье о переезде компании на Кипр рассказывает Алексей Один, CEO международной платформы по автоматизированному найму ИТ-специалистов Skipp. Подробности, как перевести всю команду в сжатые сроки и что нужно знать перед поездкой - под катом.
Как мы кикшеринг взломали
В этой статье я поведаю вам кейс о взломе одного из крупнейших сервисов шеринга самокатов путем подмены TLS сертификатов и использования Python и mitmproxy.
Все хуки и концепты React в одной статье
В первую очередь React это JS библиотека, а не полноценный фреймворк, так что для создания полноценного веб приложения тебе нужно знать много дополнительных вещей, чтобы использовать их вместе с React. В этой статье пойдет речь о React концептах, хуках и, конечно 😊 , хороших практиках.
Эффективное хранение графов: матрицы смежности
Так случается, что ограничения не позволяют нам хранить матрицу смежности графа размером n^2. В данной статье я описал, как уменьшить этот размер в 8 раз для ориентированного графа и в 2 раза для неориентированного. Битовая и треугольная матрицы смежности - вот что такое эффективное хранение.