Pull to refresh
0
@AlexZavgorodniyread⁠-⁠only

User

Send message

Тонкое искусство запросов, или как вежливо обратиться с просьбой на английском

Reading time6 min
Views21K

Все мы в работе часто сталкиваемся с необходимостью обратиться к кому-то за помощью. В английском языке разницу между вежливой просьбой и требованием что-то сделать бывает сложно уловить, поскольку здесь действуют устоявшиеся правила, основанные больше на обычаях и общепринятых нормах, чем на логике. Тем не менее, очень важно чувствовать эту разницу. Неправильным обращением мы можем не только не добиться желаемого результата, но и обидеть собеседника. Как вы, наверное, уже знаете, в английском языке, в отличие от многих других, просто добавить "please" недостаточно. Наш коллега Scott Boyce, EPAM Language Trainer, рассмотрел несколько способов написания запросов на английском и разобрал распространённые ошибки. 

Статья будет особенно полезна тем, кому по работе приходится часто общаться на английском языке. 

Read more
Total votes 9: ↑8 and ↓1+8
Comments13

След протектора: как киберпреступники прятали стилеры в презентации от «подрядчика МГУ»

Reading time5 min
Views5.1K


"Привет из МГУ. М.В.Ломоносов,
Внимание: по рекомендации вашей компании мы выступаем в качестве подрядчика МГУ. М.В.Ломоносова под руководством доктора философских наук. Виктор Антонович Садовничий. Нам нужно ваше предложение по нашему бюджету на 2020 год (прилагается). Подайте заявку не позднее 09 ноября 2020 года. Спасибо и всего наилучшего
".

Получатель этого странного послания, даже очень далекий от научных кругов, сразу обратит внимание на две вещи: как безграмотно оно написано, а, во-вторых, ректор МГУ может быть философом лишь по состоянию души — Виктор Антонович на самом деле доктор физико-математических наук, но никак не философских.

СERT Group-IB подтвердил догадку — сентябрьские почтовые рассылки от имени руководства МГУ им. М.В. Ломоносова — фейковые, более того они несли «на борту» популярные вредоносные программы для кражи данных (Data Stealer) — Loki или AgentTesla . Однако сегодняшний пост не про них, а об одном незаметном помощнике — протекторе, которые защищает программы-шпионы от обнаружения. О том, какие техники использует этот протектор и как аналитикам удалось сквозь них добраться до исполняемого файла AgentTesla, рассказывает Илья Померанцев, руководитель группы исследований и разработки CERT-GIB .
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments1

Эффекты травления

Reading time7 min
Views7.9K

До недавнего времени я думал, что люди, которые верят в прямоугольные печатные проводники, примерно столь же нормальны, как те, кто верит в квадратные волны и плоскую землю. Однако, когда меня еще раз спросили об этом, я понял, что всё не так очевидно, как мне казалось прежде, – причем не только для новичков, но и для всех остальных. За последние годы я изучил множество книг по проектированию печатных плат и целостности сигналов, но, читая большую часть отраслевой литературы, вы не узнаете, что проводники имеют не прямоугольную, а какую-то другую форму. Интересно, правда?
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments5

Что нужно знать про арифметику с плавающей запятой

Reading time14 min
Views951K


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

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Total votes 245: ↑242 and ↓3+239
Comments75

Одинарная или двойная точность?

Reading time6 min
Views75K

Введение


В научных вычислениях мы часто используем числа с плавающей запятой (плавающей точкой). Эта статья представляет собой руководство по выбору правильного представления числа с плавающей запятой. В большинстве языков программирования есть два встроенных вида точности: 32-битная (одинарная точность) и 64-битная (двойная точность). В семействе языков C они известны как float и double, и здесь мы будем использовать именно такие термины. Есть и другие виды точности: half, quad и т. д. Я не буду заострять на них внимание, хотя тоже много споров возникает относительно выбора half vs float или double vs quad. Так что сразу проясним: здесь идёт речь только о 32-битных и 64-битных числах IEEE 754.

Статья также написана для тех из вас, у кого много данных. Если вам требуется несколько чисел тут или там, просто используйте double и не забивайте себе голову!

Статья разбита на две отдельные (но связанные) дискуссии: что использовать для хранения ваших данных и что использовать при вычислениях. Иногда лучше хранить данные во float, а вычисления производить в double.
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments121

Самые частые грабли при использовании printf в программах под микроконтроллеры

Reading time8 min
Views23K
Время от времени в моих проектах приходится применять printf в связке с последовательным портом (UART или абстракция над USB, имитирующая последовательный порт). И, как обычно, времени между его применениями проходит много и я успеваю напрочь забыть все нюансы, которые требуется учитывать, чтобы он нормально работал в крупном проекте.

В данной статье я собрал свой собственный топ нюансов, которые возникают при использовании printf в программах под микроконтроллеры, сортированный по очевидности от самых очевидных к полностью неочевидным.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments26

Man-in-the-Middle: советы по обнаружению и предотвращению

Reading time9 min
Views45K


Атака «человек посередине» (Man-in-the-Middle) — это форма кибератаки, при которой для перехвата данных используются методы, позволяющие внедриться в существующее подключение или процесс связи. Злоумышленник может быть пассивным слушателем в вашем разговоре, незаметно крадущим какие-то сведения, или активным участником, изменяя содержание ваших сообщений или выдавая себя за человека или систему, с которыми вы, по вашему мнению, разговариваете.

Вспомните 20-й век, когда у многих были стационарные телефоны с несколькими трубками, и один член семьи мог взять трубку во время разговора другого. Вы могли даже не подозревать, что вас слушает кто-то еще, пока он не начнет вклиниваться в разговор. В этом и заключается принцип атаки «человек посередине».
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Как защититься от переполнения стека (на Cortex M)?

Reading time8 min
Views27K
Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело.

image

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

В этой статье я расскажу о собственных изысканиях на эту тему. Поскольку я программирую в основном под STM32 и под Миландр 1986 — на них я и фокусировался.
Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments66

Как украсть деньги с бесконтактной карты и Apple Pay

Reading time24 min
Views272K
Как украсть деньги с бесконтактной карты из кармана? Насколько безопасен PayPass и Apple Pay?

В статье разбираются популярные мифы и сценарии мошенничества с бесконтактными системами оплаты на примере настоящего POS-терминала, карт PayPass/payWave и телефонов с функцией Google Pay/Apple Pay.

Рассматриваемые темы:

  • Можно ли НА САМОМ ДЕЛЕ украсть деньги, прислонившись POS-терминалом к карману? — мы попытаемся полностью воспроизвести этот сценарий мошенничества от начала до конца, с использованием настоящего POS-терминала и платежных карт в реальных условиях.
  • В чем разница между физическими и виртуальными картами Apple Pay? — как происходит связывание физической карты и токена Apple Pay, и почему Apple Pay во много раз безопаснее обычной карты.
  • Используем аппаратный NFC-сниффер (ISO 14443A) — воспользуемся устройством HydraNFC для перехвата данных между POS-терминалом и картой. Рассмотрим, какие конфиденциальные данные можно извлечь из перехваченного трафика.
  • Разбираем протокол EMV — какими данными обменивается карта с POS-терминалом, используемый формат запросов, механизмы защиты от мошенничества и replay-атак.
  • Исследуем операции без карты (CNP, MO/TO) — в каких случаях на самом деле(!) можно украсть деньги с карты, имея только реквизиты, считанные бесконтактно, а в каких нельзя.

Внимание!

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

Материалы в статье представлены исключительно в ознакомительных целях. Все сцены демонстрации мошенничества инсценированы и выполнены с согласия участвующих в них лиц. Все списанные деньги с карт были возвращены их владельцам. Воровство денег с карт является уголовным преступлением и преследуется по закону.
Total votes 329: ↑323 and ↓6+317
Comments394

Аппаратный ключ шифрования за 3$ — возможно ли это?

Reading time10 min
Views69K

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments151

Делаем ионизатор воздуха менее, чем за $10

Reading time9 min
Views61K
Перевод статьи из блога индийского инженера Амальдева В.



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

Предыстория


Я сейчас живу в Мумбаи, в квартире, выходящей окнами на очень загруженную дорогу. И с момента моего заезда сюда я борюсь с пылью, которая оседает на всём, стоит мне открыть окна. Еженедельная уборка квартиры отнимает много сил. И я решил купить очиститель воздуха для комнаты. А потом подумал: а насколько сложно будет собрать очиститель самому? Я провёл исследование и решил, что нужно сделать себе ионизатор (кстати, ионизатор и очиститель – это два разных устройства, но об этом позже). Однако потом я зарылся в текущих проблемах и так его и не собрал.
Total votes 49: ↑40 and ↓9+45
Comments99

Как и чем обеспечить приватность и безопасность. Обзор инструментов 2019 года

Reading time7 min
Views24K
image

Согласно Организации Объединенных Наций, неприкосновенность частной жизни является одним из основных прав человека. Тем не менее, большинство людей выбирают удобство и не зацикливаются на конфиденциальности.

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

Цифровые инструменты


Privacy.com


Это веб-приложение позволяет бесплатно создавать безопасные виртуальные кредитные карты. Вы можете создать его для каждой подписки или покупки через Интернет и установить лимиты и сроки действия. С этой услугой вам никогда не придется выдавать свой реальный номер онлайн-карты. Privacy.com также не продает ваши данные, они зарабатывают деньги непосредственно от карточных транзакций.
Читать дальше →
Total votes 14: ↑11 and ↓3+15
Comments31

JWT: Атака на цифровую подпись VS MAC-атака

Reading time4 min
Views6.3K
Всем привет. Ни для кого не секрет, что ежемесячно OTUS запускает несколько абсолютно новых уникальных курсов, в этом месяце в их число вошел курс «Пентест. Практика тестирования на проникновение». По устоявшейся традиции, в преддверии старта курса, делимся с вами переводом полезного материала по данному направлению.





Во время последнего пентеста я наткнулся на схему авторизации на основе JSON Web Token (или просто JWT). JWT состоит из трех частей: заголовок, полезная нагрузка, информация для верификации. Первая часть заголовка содержит имя алгоритма, который в дальнейшем будет использоваться для верификационной части JWT. Это опасно, так как злоумышленник может изменить эту информацию и таким образом (возможно) проконтролировать, какая схема будет использоваться сервером для проверки.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments1

Блокчейн: что нам стоит PoC построить?

Reading time11 min
Views6.6K
Глаза боятся, а руки чешутся!

В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализации пилотов и PoC (Proof of Concept) я предпочитаю использовать облака, т.к. к ним есть доступ из любой точки мира и, зачастую, не надо тратить время на нудную установку окружения, т.к. есть предустановленные конфигурации. Итак, давайте сделаем что-нибудь простое, например, сеть для перевода монет между участниками и назовем ее скромно Сitcoin. Для этого будем использовать облако IBM и универсальный блокчейн Hyperledger Fabric. Для начала разберемся, почему Hyperledger Fabric называют универсальным блокчейном?

image
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments2

MakiseGUI — бесплатная библиотека графического интерфейса для микроконтроллеров

Reading time6 min
Views33K

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


Назвал я её MakiseGui.


Total votes 66: ↑65 and ↓1+64
Comments57

Максимальный постоянный ток через полевой транзистор

Reading time6 min
Views51K
На просторах интернета достаточно много информации о полевых транзисторах (далее ПТ) и их параметрах, но один из довольно простых, на первый взгляд, параметров, а именно – максимальный постоянный ток, который транзистор может через себя пропустить в ключевом режиме, и не сгореть – приводится в даташитах как-то размыто и неочевидно.

В статье будет рассмотрен пример расчёта максимального тока через MOSFET SQM50P03-07 (взял первый попавшийся из своей схемы), работающий в ключевом режиме, или на участке насыщения.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments45

Изменение ёмкости керамических конденсаторов от температуры и напряжения, или как ваш конденсатор на 4,7мкФ превращается в 0,33мкФ

Reading time7 min
Views97K

Вступление: я был озадачен.


Несколько лет назад, после более чем 25 лет работы с этими вещами, я узнал кое-что новое о керамических конденсаторах. Работая над драйвером светодиодной лампы я обнаружил, что постоянная времени RC-цепочки в моей схеме не сильно смахивает на расчётную.

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

Я проверял схему в её естественной среде: в корпусе, который в свою очередь сам по себе был зачехлён чтобы имитировать кожух потолочного светильника. Температура компонентов в некоторых местах достигала более чем 100ºC. Для уверенности, и чтобы освежить память я перечитал даташит на используемые конденсаторы. Так началось моё переосмысление керамических конденсаторов.
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments26

Загрузчик с шифрованием для STM32

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

В процессе работы ставились следующие задачи:

  • Обеспечить обновление прошивки пользователем устройства с SD-карты.
  • Обеспечить контроль целостности прошивки и исключить запись некорректной прошивки в память контроллера.
  • Обеспечить шифрование прошивки для исключения клонирования устройства.

Код писался в Keil uVision с использованием библиотек stdperiph, fatFS и tinyAES. Подопытным микроконтроллером был STM32F103VET6, но код может быть легко адаптирован под другой контроллер STM. Контроль целостности обеспечивается алгоритмом CRC32, контрольная сумма расположена в последних 4 байтах файла с прошивкой.

В статье не описано создание проекта, подключение библиотек, инициализация периферии и прочие тривиальные этапы.
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments52

Реализация PPPOS на stm32f4-discovery

Reading time14 min
Views15K
Однажды передо мной возникла задача обеспечить выход в сеть Интернет на STM32 имея для этого только COM порт. Для решения этой задачи мне понадобился PPP, или, еcли быть точным, PPPoS (англ. Point-to-Point Protocol over Serial — один из способов реализации PPP, используется при подключении через COM-порт).

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

Статья описывает создание проекта для System Workbench for STM32 с нуля. Показывает пример работы с UART. Есть примеры кода для реализации PPP. Ну и конечно, пример отправки сообщения на соседний компьютер.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments9

Влияние задержки и длины выводов микросхемы и ПО на расчет общей длины/задержки проводников

Reading time4 min
Views6.1K

Система настройки и ввода ограничений (Constraint manager) в PADS Professional/Xpedition предоставляет пользователям полный контроль над всеми параметрами, которые влияют на целостность высокоскоростных сигналов. Сегодня мы разберем как можно включить в расчет общей длины проводника влияние длины и задержки (Pin Package Length and Delays) выводов микросхемы, а также влияние фактора переходных отверстий (ПО).

Все самое интересное под катом.


Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments8

Information

Rating
Does not participate
Registered
Activity