Search
Write a publication
Pull to refresh
-12
0

Системный инженер

Send message

Веб-безопасность 201

Reading time12 min
Views11K

Сегодня — вторая часть теории, которую рассказал эксперт по информационной безопасности и преподаватель Иван Юшкевич (https://twitter.com/w34kp455) провел мастер-класс по безопасности на конференции РИТ++ на платформе hacktory.ai.

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

Сегодня рассказ будет о CSRF, XSS и XXE.

Читать далее

Как я работал в Дубае

Reading time19 min
Views116K


Предисловие


Здравствуйте, меня зовут Александр Зеленин, и я инженер-программист. В 2018 году я получил приглашение в Дубай в компанию Careem (поглощён Uber’ом за 3.1ккк$) архитектором/тимлидом в команду по финансовому взаимодействию с водителями.


В этой статье я постараюсь покрыть все ключевые темы проживания в ОАЭ: от вакансий и интервью до ипотек и бессрочного резидентства с конкретными цифрами на конец 2020 года и ссылками на релевантные сервисы. Секции не упорядочены и могут читаться в любом порядке.

Как там, в Дубае?

Запросы в PostgreSQL: 2. Статистика

Reading time19 min
Views36K

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

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

Читать далее

Как вредонос Trisis может парализовать целый завод, и есть ли шанс от него защититься

Reading time13 min
Views5.2K

Обнаруженный в 2017 году вредонос Trisis до сих пор остается настоящим кошмаром для промышленности. Его цель – вывести из строя систему противоаварийной защиты предприятия, лишив автоматику и персонал возможности оперативно реагировать на аварию (от остановки оборудования до выброса ядовитых веществ). К счастью, первая атака Trisis была неудачной – хакеры выдали себя, а исследователи узнали о новой угрозе. Как же работает этот опасный вредонос, можно ли защитить от него системы ПАЗ – разберемся в этом посте.

Читать далее

Продвижение услуг разработки в Европе

Reading time13 min
Views4.6K

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

Читать далее

500 миллионов строк кода: как софт съест автоиндустрию

Reading time21 min
Views19K
image


TL;DR


  • У некоторых автопроизводителей есть сотни тысяч потенциальных комбинаций сборки отдельной модели автомобиля.
  • Ford F-150, содержат 150 миллионов строк кода.
  • В автомобилях Volvo 2020 года около 120 ЭБУ и 100 миллионов строк исходного кода. 10 миллионов условных операторов, 3 миллиона функций, которые вызываются в 30 миллионах мест в исходном коде.
  • В 2017 году 40% стоимости нового автомобиля можно отнести на полупроводниковые электронные системы, что вдвое больше, чем в 2007 году. К 2030 году эта сумма приблизится к 50%.
  • Сегодня в каждый новый автомобиль упакован полупроводниками на сумму около 600 долларов, состоящих почти из 3000 микросхем всех типов.
  • Автомобильный сетевой жгут, к которому могут быть прикреплены тысячи компонентов, может содержать более 1500 проводов общей длиной 5000 метров и весом более 68 кг.
  • 40% бюджета на производство автомобиля с момента его разработки до начала производства можно отнести на счет системной интеграции, тестирования, проверки и валидации.
  • По оценкам VW, только 10% программного обеспечения в его автомобилях разрабатывается собственными силами. Остальные 90% вносят десятки поставщиков, а у некоторых OEM-производителей это число, как сообщается, достигает более 50.
  • Почти 60% затрат на рабочую силу при ремонте столкновения с транспортным средством с расширенными функциями безопасности связано с электроникой транспортного средства.
  • 2019 год стал рекордным: 15 миллионов автомобилей были отозваны из-за дефектов электронных компонентов. Половина отзывов связана с дефектами программного обеспечения.
  • В GM 90 инженеров на постоянной основе работают над разработкой средств кибербезопасности.
  • 25 гигабайт данных в час — трафик внутри автомобиля

Читать дальше →

UUID версии 7, или как не потеряться во времени при создании идентификатора

Reading time7 min
Views42K

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

Хотя, подобные решения, не всегда хороши. В отличие от обыкновенных цифровых значений, которые легко кешировать и сортировать, UUID не так гибки в использовании. UUID версии 7 предназначен как раз для того, чтобы разобраться с подобными проблемами.

Добро пожаловать в мир сортированых UUID

Язык сетевого программирования P4. Часть 1: обзор возможностей и настройка SONiC-P4

Reading time11 min
Views6.1K

Эта первая часть обзорной статьи, в которой мы разбираемся с молодым языком программирования P4: что это такое, для чего он нужен и чем лучше прочих систем обработки пакетов. Конечно, будет и практика: примеры программирования и обзор железа с поддержкой P4. А на десерт — пошаговая настройка виртуального коммутатора Sonic-P4. Поехали!

Язык P4 или Programming Protocol-Independent Packet Processors — общедоступный сетевой предметно-ориентированный язык для описания плоскости данных в сети. Изначально его разрабатывали для программирования плоскости пересылки сетевых коммутаторов, но постепенно охватили и другие сетевые элементы: роутеры, сетевые интерфейсные карты и т.п.

Читать далее

Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!»

Reading time14 min
Views133K

Дисклеймер: все события являются вымышленными, а совпадения - случайными

Все они были мертвы. Последний выстрел поставил жирную точку в этой истории. Я снял палец с курка — всё было кончено.

Макс Пэйн

Именно эта цитата из одной из культовых игр всплыла у меня в голове в тот момент, когда я сдал фичу заказчику и закрыл в Jira заключительную задачу в спринте, осознав, что заветное «ты прошёл испытательный срок» у меня в кармане. Для меня это было настоящее событие, сродни принятию в тайный орден, крещению, духовному посвящению.

Моё путешествие в IT наконец-то дошло до несгораемой суммы. Я, как и тысячи других до меня, кинувший работу ради мечты, добился-таки своего. Мама смотрела на меня с гордостью, а друзья — с завистью! Недоброжелатели же захлёбывались от желчи, ведь стало понятно, что я неиллюзорно переиграл и уничтожил всех дешёвок :) А сам стал иметь VIP-статус недешёвки, ведь мой работодатель уже побежал насыпать мне 100500 килорублей в секунду на мой швейцарский счёт.

Красивая история, правда? Хотите так же? Тогда переходите по этой ссылке и приобретайте курс от <default_school_name>, и через Х дней мы будем трудиться вместе!

Если вы дочитали до этого места, то наверняка поняли, о чём мы сегодня поговорим. Рекламой различных интенсивов и онлайн-курсов сейчас завален весь интернет:

Читать далее

Мониторинг пет-проектов на коленке: Netdata, Monitoror, N8N

Reading time5 min
Views10K

Привет, я Паша из Ozon. В рабочее время занимаюсь тестированием поиска, а по вечерам надеваю маску инди-разработчика. И моя самая частая задача — написать скрипт → залить его на сервер → периодически мониторить, что сервер доступен. Эта статья как раз и будет строиться вокруг последнего пункта.

Вы наверняка в курсе, что существуют Grafana, Prometheus, Kibana, LogDNA и другие инструменты для мониторинга, визуализации и анализа данных. C первыми двумя я вплотную познакомился в Ozon, а про Kibana слышал когда-то давно и только в паре со словом «логи». Чтобы графики в Grafana рисовать — придется штат аналитиков нанять (ба-дум-тсс). Для пет-проекта это перебор, нужно что-то сильно проще (с точки зрения стоимости, простоты настройки и удобства). Ниже расскажу, какие готовые инструменты для мониторинга небольших пет-проектов я нашёл в пучинах интернета, а также оставлю комментарии и рекомендации по использованию.

Читать далее

Real-time мониторинг тормозящих запросов PostgreSQL своими руками за полчаса

Reading time4 min
Views17K

В моей практике не раз были ситуации, когда хотелось посмотреть, какие именно запросы долго тупили в базе в определённый (конкретный) момент времени. А может, запросы не тупили, но каких-то запросов было слишком много.


Ключевое слово — в конкретный момент времени. Например, база непонятно от чего напряглась на 5 минут, потом всё само рассосалось, и очень хочется знать, почему. Отчёты за сутки, присылаемые dba на основе pg_stats_statements, не всегда проясняют ситуацию. Другие графики и логи могут помочь. Но всё же хочется не гадать на кофейной гуще, а конкретно посмотреть, что такому-то запросу в такое-то время было плохо, или его было много.


Можно, конечно, подключить системы а ля okmeter, но okmeter стоит денег. Да ещё и отсылает запросы в чужое облако — что, понятно, не в каждой организации можно считать безопасным.


На удивление, сделать такой мониторинг самому занимает всего полчаса времени, буквально с помощью нескольких строк Go-кода и палок.

Читать дальше →

Кожа — наш персональный скафандр

Reading time15 min
Views18K
image

Фибробласты мыши. Человеческие выглядят почти так же и трудятся всю жизнь, синтезируя коллагены и другие структурные белки кожи.

Нас все время пытаются сожрать с самого рождения. Причём сейчас я говорю не про условных хищников, а про банальные бактерии и грибы. Те же низшие грибы с удовольствием проросли бы сквозь наше тело своими гифами, украсив поверхность чудесной пушистой плесенью. К счастью, наш организм не особо горит желанием стать рассадником очередного Aspergillus. Поэтому у нас есть куча различных способов защиты от враждебного окружающего мира, включая нашу крайне сложную, но эффективную иммунную защиту.

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

Сегодня будем обсуждать функции кожи и особенности её регенерации:

  • Из чего состоит кожа, и где в ней живут стволовые клетки.
  • Кожа — это лайт-версия почек.
  • Почему мы можем выдерживать значительный перегрев и переохлаждение.
  • Как правильно искать эрогенные зоны.
  • Что делает кожа после того, как в неё ткнули ножом или прокусили.
  • Нужны ли пилинги, и как это отражается на стволовых клетках.
  • Регуляторные пептиды для прямого управления регенерацией.

Читать дальше →

Заставляем компьютер выводить общие законы физики из наблюдений

Reading time5 min
Views7.2K

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

Вдохновением для этих занятий послужила замечательная статья из Science, которая убедила меня и многих других в том, что к таким задачам в принципе можно подступиться. Как и у авторов статьи, наш пример будет немного игрушечным, хоть и для совсем другой физической системы. Более того, мы ещё сильнее ограничим пространство поиска (до 2^{64} формул, что тоже немало), зато обойдёмся без 32 процессорных ядер и без GPU, а решение получим меньше чем за минуту против десятков минут или даже пары дней, как в статье. Для всего этого нам понадобится лишь 300 строк кода на C — и никаких фреймворков.

Читать далее

На пути к Матрице: как происходит исследования в области построения симуляций и искуственной жизни

Reading time10 min
Views4.4K

О проекте


ALiEn — это программа моделирования искусственной жизни, основанная на специализированном физическом и рендеринговом движке в CUDA. Он предназначен для моделирования цифровых организмов, встроенных в искусственные экосистемы, и для имитации условий (до)биотической эволюции.

Узнайте о целях проекта и о том, как начать.



Функции

  • Реалистичные физические расчеты кинематических и термодинамических процессов повреждаемых и склеиваемых твердых тел
  • Программируемый материал для моделирования цифровых организмов и эволюции
  • Встроенный графический редактор для проектирования собственных машин
  • Моделирование и рендеринг на GPU
  • Программное обеспечение с открытым исходным кодом и доступно под GNU General Public License, Version 3 (GPLv3).

Под катом два примера («Самопроверяющиеся репликаторы» и «Репликация на основе информации») применения данного программного комплекса.

Предотвращение медленных маломощных атак на приложения и API

Reading time2 min
Views2.4K

Может показаться, что медленные маломощные атаки (так называемые атаки «Low and Slow») остались в прошлом, но практика показывает, что они до сих пор активно используются злоумышленниками. В 2020 году от таких атак пострадали 65 % организаций, при этом 30 % сталкивались с ними ежемесячно. Поэтому давайте уделим им заслуженное внимание и расскажем, как они осуществляются.

Если злоумышленник хочет парализовать работу приложения, самый простой способ — передача избыточного объема трафика с целью отключения сервера приложения (распределенная атака типа «отказ в обслуживании», или DDoS). Однако сегодня существует немало технологий, способных обнаруживать и блокировать такие атаки на основе IP-адресов или сигнатур, управления квотами, а также с помощью специализированных решений для предотвращения DDoS-атак.

В начале 2021г. мир столкнулся с возвращением старой, но очень действенной техники атак — медленными маломощными атаками. К концу февраля количество атак этого типа, направленных против клиентов Radware, выросло на 20 % по сравнению с четвертым кварталом 2020 года.

Читать далее

Необычный дуалбут: ноутбук с «двойным дном»

Reading time15 min
Views86K

Не так давно на Habr Q&A я наткнулся на интересный вопрос — как сделать, чтобы два жестких диска не видели друг друга? Чтобы вирус, попав на одну систему, никоим образом не мог заразить другую. В ответах предлагали достаточно стандартные способы — использовать полнодисковое шифрование, отключить диск в диспетчере устройств и даже поставить переключатель на питание. Но что если взглянуть на задачу совершенно с другого угла и сделать всё средствами самого HDD? Да-да, сегодня мы снова погружаемся в пучины модификации прошивок и реверс-инжиниринга!
Узнать подробности

Опасности пользования онлайн-менеджерами паролей

Reading time7 min
Views28K

Введение


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

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

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

Итак, начнём.
Читать дальше →
Кто играл в Need for Speed, угадает эту мелодию с четырёх нот: э-рон-дон-дон… Драйв, эмоции на максимум, бесконечные повторы неудачных заездов и кайф после утомительного прохождения — вот с чем до сих ассоциируется у меня эта серия игр. И это те же самые слова, которые я произношу, когда меня спрашивают о работе тестировщика. Вопрос «Как вкатиться в айти?» я слышу чаще, чем «Как прожить в ІТ долгую и счастливую рабочую жизнь?». Мне удаётся сохранить вдохновение и успешно строить карьеру в quality assurance — и потому я хочу поделиться опытом, подкрепив его ссылками на актуальные тексты авторов Хабра. Итак, сегодня я — [капитан очевидность] штурман в нашей команде :) Давайте знакомиться: меня зовут Василиса (@vasenka), я работаю QС в одной из продуктовых компаний. Под катом — мой тест-драйв карьерного трека QA, а в качестве навигатора — статьи авторов Хабра.
Погнали!

SNMP MIB браузер на Perl и JavaScript

Reading time3 min
Views7.5K

Что делать на работе, если не знаешь, чем бы еще заняться? Конечно же писать на Хабр!

Благодаря нашим доблестным законодателям, дальнейшее развитие бизнеса самостоятельно - нерентабельно и мы уходим под более крупного оператора. Вот у меня и сложилась такая ситуация, что смысла дорабатывать, переписывать и исправлять свои старые проекты - нет, у "крупняка" все сервисы свои. Сижу, курю. А потом думаю, а чего сидеть-то, напишу-ка я на Хабр. Статья прошла модерацию, «И тут Остапа понесло...».

Читать далее

О классах Program и Startup — инициализация ASP.NET приложения. Часть II: IWebHostBuilder и Startup

Reading time72 min
Views11K

Это - продолжение статьи, первая часть которой была опубликована ранее. В той части был рассмотрен процесс инициализации, общий для любого приложения .NET Core на базе шаблона Generic Host. А в этой части будет рассмотрена инициализация, специфическая именно для веб-приложения. Именно в нее входят вызовы методов Startup-класса.

Если вы не читали первую часть, то рекомендую в нее заглянуть, по двум причинам. Во-первых, процесс инициализации, специфической именно для веб-приложения, существенно опирается на механизмы, рассмотренные в первой части: методы интерфейса построителя веб-приложения IWebHostBuilder в основном реализуются через вызовы методов интерфейса построителя IHostBuilder, и процесс инициализации проходит, в целом, через те же стадии, общие для любого базирующегося на Generic Host приложения .NET Core. А во-вторых, там объяснено, для чего часть информации убрана под спойлеры, и какую информацию под какими спойлером можно увидеть (и решить - а стоит ли ее смотреть).

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

Итак, кому интересен предмет статьи - добро пожаловать под кат.

Читать далее

Information

Rating
Does not participate
Location
Nordrhein-Westfalen, Германия
Registered
Activity