Pull to refresh
81
0

Пользователь

Send message

Играем с огнем: запускаем произвольный код на девелоперском iPhone 7

Reading time16 min
Views17K

image


Под Новый год к нам в руки попал программатор JC PCIE-7. В процессе использования выяснилось, что его функционал ограничен, однако вещица оказалась с двойным дном. Внутри этого программатора мы обнаружили плату iPhone 7 специальной отладочной версии. За новогодними приключениями в мире исследования и отладки «яблочной» продукции – добро пожаловать под кат!

Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments9

Нейросети. Куда это все движется

Reading time7 min
Views40K

Статья состоит из двух частей:


  1. Краткое описание некоторых архитектур сетей по обнаружению объектов на изображении и сегментации изображений с самыми понятными для меня ссылками на ресурсы. Старался выбирать видео пояснения и желательно на русском языке.
  2. Вторая часть состоит в попытке осознать направление развития архитектур нейронных сетей. И технологий на их основе.

Понимать архитектуры нейросетей непросто


Рисунок 1 – Понимать архитектуры нейросетей непросто


Все началось с того, что сделал два демонстрационных приложения по классификации и обнаружению объектов на телефоне Android:


  • Back-end demo, когда данные обрабатываются на сервере и передаются на телефон. Классификация изображений (image classification) трех типов медведей: бурого, черного и плюшевого.
  • Front-end demo, когда данные обрабатываются на самом телефоне. Обнаружение объектов (object detection) трех типов: фундук, инжир и финик.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments50

Старый компьютер, Windows 7, 1 Гб оперативки, Firefox и интернет

Level of difficultyMedium
Reading time127 min
Views139K
Несмотря на пройденное время, многие по прежнему ещё пользуются Windows 7. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows 7 или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

Так как оптимизация такого старого оборудования носит комплексный характер, статья будет состоять из нескольких глав:

— Firefox
— Дополнения к браузеру
— Драйверы
— Windows 7
— BIOS
— Советы по аппаратной части
Читать дальше →
Total votes 53: ↑37 and ↓16+21
Comments961

Процессоры «Байкал» поступают в розничную продажу

Reading time3 min
Views148K


Российские процессоры «Байкал» вскоре можно будет купить в рознице, причем цена на них снижается в четыре раза. Начало продаж запланировано на первый квартал 2018 года, именно тогда в розничных магазинах появятся первые партии отечественных чипов, о чем сообщает Cnews. Процессоры Baikal-T1 будут продавать в составе оценочных плат семейства БФК 3.1 (блок функционального контроля). Их выпускает компания «Байкал электроникс» — разработчик чипов.

Фактически, БФК представляет собой одноплатный компьютер без графической подсистемы. Для визуального отображения информации плату можно без проблем подключить к внешнему монитору, тогда видео станет обрабатываться центральным процессором. Ранее такие платы стоили около 200 тысяч рублей. Сейчас БФК 3.1 упадут в цене до 50 тысяч рублей.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments438

Пришло время для открытых и свободных процессоров?

Reading time5 min
Views18K
Раскрытие уязвимостей Meltdown и Spectre снова привлекло внимание к багам на аппаратном уровне. Многое сделано для улучшения (всё ещё слабой) безопасности нашего программного обеспечения, но всё напрасно, если оборудование даёт сбой. Процессоры в наших системах по-прежнему, в основном, проприетарные и уже преподнесли ряд неприятных сюрпризов (например, в движке Intel Management Engine). Поэтому встаёт естественный вопрос о переходе на железо open-source, как мы сделали с нашим программным обеспечением. Такой переход вполне возможен и даёт ряд преимуществ, хотя и не является панацеей.

Учитывая сложность современных процессоров и свирепый рынок, где они продаются, их разработка по принципам open-source может показаться необычной идеей. Но в этой области уже есть серьёзные инициативы; так что идея свободного дизайна CPU — не просто фантазия. Небольшое исследование темы выявляет несколько проектов; хотя дальнейший список явно не полон.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments44

7 лет хайпа нейросетей в графиках и вдохновляющие перспективы Deep Learning 2020-х

Reading time14 min
Views34K


Новый год все ближе, скоро закончатся 2010-е годы, подарившие миру нашумевший ренессанс нейросетей. Мне не давала покоя и лишала сна простая мысль: «Как можно ретроспективно прикинуть скорость развития нейросетей?» Ибо «Тот, кто знает прошлое — тот знает и будущее». Как быстро «взлетали» разные алгоритмы? Как вообще можно оценить скорость прогресса в этой области и прикинуть скорость прогресса в следующем десятилетии? 



Понятно, что можно примерно посчитать количество статей по разным областям. Метод не идеальный, нужно учитывать подобласти, но в целом можно пробовать. Дарю идею, по Google Scholar (BatchNorm) это вполне реально! Можно считать новые датасеты, можно новые курсы. Ваш же покорный слуга, перебрав несколько вариантов, остановился на Google Trends (BatchNorm)

Мы с коллегами взяли запросы основных технологий ML/DL, например, Batch Normalization, как на картинке выше, точкой добавили дату публикации статьи и получили вполне себе график взлета популярности темы. Но не у всех тем путь усыпан розами взлет такой явный и красивый, как у батчнорма. Некоторые термины, например регуляризацию или skip connections, вообще не получилось построить из-за зашумленности данных. Но в целом тренды собрать удалось.

Кому интересно, что получилось — добро пожаловать под кат!
Читать дальше →
Total votes 100: ↑99 and ↓1+98
Comments50

Апгрейд отладочной платы с процессором Baikal-T1: добавляем SD-карту

Reading time2 min
Views7.3K
С апреля прошлого года в открытой продаже доступны отладочные платы BFK3.1 c процессором Baikal-T1 на борту. Всё бы хорошо, но у этой отладки нет штатной возможности подключать SD-карту.

Нам потребуется 30 минут времени, паяльник, и внешний модуль Catalex-Micro-SD-Card-Module стоимостью 5 штук за 300 рублей — и вопрос снят.

Вот пошаговое руководство, как добавить SD-кард ридер на BFK3.1. Всё описываемое опробовано на практике. Использовался самый свежий на данный момент SDK 4.16, размещенный на официальном сайте «Байкала». В SDK версии 4.14 и младше это работать не будет.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

CreateRemoteThread для Linux

Reading time46 min
Views14K

Мицуха несёт новые потокиВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.


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


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


Для понимания текста потребуются базовые знания о системном программировании под Linux: язык Си, написание и отладка программ на нём, осознание роли машинного кода и памяти в работе компьютера, понятие системных вызовов, знакомство с основными библиотеками, навык чтения документации.

Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments27

Отлаживаем развертывание ПО со strace

Reading time14 min
Views11K


Моя основная работа — это, по большей части, развертывание систем ПО, то есть уйму времени я трачу, пытаясь ответить на такие вот вопросы:


  • У разработчика это ПО работает, а у меня нет. Почему?
  • Вчера это ПО у меня работало, а сегодня нет. Почему?

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


Поэтому вместо обычных инструментов для отладки вроде gdb у меня есть другой набор инструментов для отладки развертывания. И мой любимый инструмент для борьбы с проблемой типа "Почему это ПО у меня не пашет?" называется strace.

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

Сверхновые нейтрино. Как они рождаются, как мы их ждем, и почему это интересно

Reading time11 min
Views21K
image

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

Расскажу немного о том, что собственно за звери такие «сверхновые», зачем они испускают нейтрино, почему эти частицы так важно зарегистрировать и, наконец, как это пытаются сделать с помощью обсерваторий на южном полюсе, на дне Средиземного моря и Байкала, под горами Кавказа и в Апеннинах.

По ходу дела узнаем что такое «урка-процесс» — кто у кого что ворует и почему.
Total votes 46: ↑46 and ↓0+46
Comments31

Поиск уязвимостей в Samsung TrustZone, или AFL зафаззит все

Reading time18 min
Views8.8K


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


Посмотрим на одну из таких технологий — ARM TrustZone. Ее реализации содержат огромный объем кода, и чтобы искать в них уязвимости, нужен какой-то автоматический способ. Задействуем старый проверенный метод — фаззинг. Но умный!


Будем фаззить специальные приложения, которые появились с введением технологии TrustZone — трастлеты. Чтобы подробно описать выбранный нами способ фаззинга, сначала обратимся к теории про TrustZone, доверенные операционные системы и взаимодействие с обычной операционной системой. Это недолго. Поехали!

Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments8

Что случится с покупками в зарубежных интернет-магазинах с 1 января 2020 года

Reading time6 min
Views142K


Чехарда! Новые законы то принимаются, то отменяются, постоянно идут десятки предложений из самых разных углов, от руководства таможни до Минэкономразвития. Условия перевозки посылок меняются с незавидной регулярностью. Вот краткое содержание этого кордебалета, если интересно.


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

Читать дальше →
Total votes 89: ↑85 and ↓4+81
Comments255

Флеш-ускорители PCI-E от 800GB до 6.4TB: от рассвета до жизни в обычном ПК/сервере

Reading time6 min
Views44K


Были времена, когда накопители на основе флэш-памяти стоили настолько дорого, что как накопители их даже никто и не рассматривал. Десятки тысяч долларов. Они позиционировались как нечто революционное, способное придать космическую скорость системам хранения данных. Прямо как Intel Optane в последнее время, но о нём пока не будем, пока ещё слишком дорог.

Наверное, тогда маркетологи и придумали такое название как Flash Accelerator (флеш-акселератор или флеш-ускоритель).

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

Мотивация


  • Хотелось ли вам за разумные деньги купить SSD размером в несколько терабайт?
  • Чтобы ресурс был на десятки петабайт?
  • Такой, что что бы вы ни делали, вы бы не смогли его исчерпать?
  • При этом с защитой по питанию и сделанный из самых качественных деталей и самой стойкой памяти?

Поехали!
Total votes 82: ↑80 and ↓2+78
Comments97

Опенсорсный чип OpenTitan заменит проприетарные корни доверия Intel и ARM

Reading time6 min
Views13K


Некоммерческая организация lowRISC при участии Google и других спонсоров 5 ноября 2019 года представила проект OpenTitan, который называет «первым опенсорсным проектом по созданию открытой, качественной архитектуры микросхем с корнем доверия (RoT) на аппаратном уровне».

OpenTitan на архитектуре RISC-V — микросхема специального назначения для установки на серверах в дата-центрах и в любом другом оборудовании, где нужно обеспечить аутентичность загрузки, защитить прошивку от изменений и исключить вероятность руткитов: это материнские платы, сетевые карты, маршрутизаторы, устройства IoT, мобильные гаджеты и др.

Конечно, подобные модули есть в современных процессорах. Например, аппаратный модуль Intel Boot Guard является корнем доверия в процессорах Intel. Он по цепочке доверия верифицирует подлинность UEFI BIOS перед загрузкой ОС. Но вопрос, насколько мы можем доверять проприетарным корням доверия с учётом того, что у нас нет гарантий отсутствия багов в дизайне, а проверить его нет возможности? См. статью «Доверенная загрузка Шрёдингера. Intel Boot Guard» с описанием того, «как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику использовать эту технологию для создания в системе неудаляемого (даже программатором) скрытого руткита».
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments10

Выявляем процессы с дисковой активностью в Linux

Reading time13 min
Views75K
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments90

Краткий обзор нового MikroTik hAP AC2

Reading time5 min
Views183K
image

В марте 2018 наконец-то в продажу поступила новинка от MikroTik — hAP AC2 (в кодировке вендора RBD52G-5HacD2HnD-TC. Этот аппарат давно ждали фанаты, долго и заранее обсуждали на форумах предполагаемые эксплуатационные характеристики. Для низкой цены SOHO-сегмента, наиболее ожидаемыми были реализованные в нём:

  • два радиомодуля 2.4GHz и 5GHz диапазона
  • пять гигабитных ethernet-портов
  • аппаратное ускорение шифрования AES-128,256
  • четырехядерный CPU ARMv7 с частотой 716MHz
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments65

Введение в эксплоитинг и реверсинг (уже не с нуля) с использованием IDA FREE и других бесплатных инструментов

Reading time5 min
Views19K
Привет, Хабравчане.

Для тех кто не знает, совсем недавно Рикардо начал новый курс, который посвящен реверсингу и эксплоитингу. Это продолжение предыдущего оригинального авторского курса, который закончился на 67 главе. Я узнал про курс сразу, так как Рикардо подписал меня на свою рассылку КрэкЛатинос. После появления этой новости я сразу побежал искать папочку с английским переводом и очень обрадовался когда нашел его там. Над английским переводом постарался человек под ником Fare9, за что ему честь и хвала. Также я хочу передать привет и сказать спасибо Ильфаку Гильфанову за его прекрасный инструмент, которым пользуются в каждой стране. Перед ним я снимаю шляпу и делаю низкий поклон.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments30

Самостоятельная диагностика жестких дисков и восстановление данных

Reading time22 min
Views240K
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


Читать дальше →
Total votes 101: ↑99 and ↓2+97
Comments114

Технический анализ эксплойта checkm8

Reading time27 min
Views33K

С большой вероятностью вы уже слышали про нашумевший эксплойт checkm8, использующий неисправимую уязвимость в BootROM большинства iDevice-ов, включая iPhone X. В этой статье мы приведем технический анализ эксплойта и разберемся в причинах уязвимости. Всем заинтересовавшимся — добро пожаловать под кат!

Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments12

Как LLVM оптимизирует функцию

Reading time10 min
Views9.8K
Оптимизирующий AOT-компилятор обычно структурирован так:

  1. фронтенд, преобразующий исходный код в промежуточное представление
  2. конвейер машинно-независимой оптимизации (IR): последовательность проходов, которые переписывают IR для устранения неэффективных участков и структур, которые не могут быть непосредственно преобразованы в машинный код. Иногда эту часть называют middle-end.
  3. Машинно-зависимый бэкенд для генерации ассемблерного кода или машинного кода.



В некоторых компиляторах формат IR остаётся неизменным на протяжении всего процесса оптимизации, в других его формат или семантика меняется. В LLVM формат и семантика фиксированы, и, следовательно, возможно запускать проходы в любой последовательности без риска неверной компиляции или аварийного завершения работы компилятора.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments12

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, System Software Engineer