Search
Write a publication
Pull to refresh
134
0
Александр Борзунов @hx0

User

Send message

Как «русские хакеры» пытались узнать о новых санкциях против России: изучаем CVE-2015-1701

Reading time6 min
Views44K
Об этой уязвимости нулевого дня в Windows стало известно еще 20 апреля, когда компания FireEye и агентство Bloomberg сообщили о неудачной кибератаке на правительственное ведомство зарубежного государства, обсуждавшее с США политику санкций против России. В причастности к содеянному, а также в попытках взлома спецслужб НАТО, госорганов Грузии, Польши, Венгрии в FireEye обвинили «русских хакеров» из группировки APT28.

Атака была реализована с помощью ранее неизвестных уязвимостей CVE-2015-3043 в Adobe Flash и CVE-2015-1701 в Windows. Пользователя отправляли по ссылке на зараженный сайт, где скрипт JavaScript с помощью Flash-уязвимости подгружал в компьютер исполняемый файл, который посредством дыры CVE-2015-1701 в Windows повышал привилегии и похищал ключи шифрования.

Компания Adobe в течение считанных часов устранила уязвимость во Flash, но в Microsoft не торопились и выпустили патч только накануне. В этом материале мы расскажем об основных особенностях данного бага.

Ценная gSharedInfo


Сначала следует описать некоторые структуры и механизмы, используемые для эксплуатации CVE-2015-1701 уязвимости. Без печально известной win32k.sys не обошлось и на этот раз, поэтому первым делом остановимся на структуре win32k!tagSHAREDINFO, которой отвечает символ win32k!gSharedInfo, а также на типе данных HWND, который с ней очень тесно связан.



Наша gSharedInfo хранит указатели на различные связанные с окнами структуры и, что самое замечательное, многие из этих структур отображены в пользовательское пространство (смаплены в юзер-мод, по-нашему), причём соответствующий символ user32!gSharedInfo с некоторых пор (либо с висты, либо с семёрки) стал экспортируемым.
Читать дальше →

Tesla приобрела производителя автозапчастей в штате, где запрещены продажи электромобилей Tesla

Reading time1 min
Views13K


Tesla Motors приобрела мичиганскую компанию Riviera Tool. Ранее в Мичигане были запрещены продажи электромобилей этой компании, поскольку, по законам штата, производитель автомобилей не может продавать их напрямую. Продажи должны идти через дилера, а Tesla Motors отказывается работать с посредниками.

Теперь Tesla зашла в Мичиган через купленную компанию. Насколько можно понять, права продавать электромобили Tesla Motors все равно не получает. Но вот детали и инструменты для своих электрокаров Tesla продавать может без проблем.
Читать дальше →

Дениел Таммет — Различные способы познания

Reading time1 min
Views11K


У Дениела Таммета лингвистическая, числовая и визуальная синестезия. Его восприятие слов, цифр и цветов смешано. Эта особенность создает новый способ восприятия и понимания мира. Автор книги «Рожденный в синий день» делится своими картинами и своей страстью к изучению языков и позволяет ненадолго заглянуть в свой необычный ум.


Оригинальное видео

P.S. В комментариях вы можете предложить интересное видео на перевод и озвучивание.

API от Microsoft вычисляет возраст и пол по фотографии

Reading time1 min
Views54K


В рамках рекламы своего нового API по распознаванию лиц Microsoft запустила развлекательный сайт how-old.net. На сайте каждый желающий может загрузить фотографию человека. Алгоритм, определив, где на фото находится лицо, выдаст своё предсказание по поводу предполагаемого возраста и пола человека, запечатлённого на фотографии.


Молодцом вообще

Судя по отзывам, алгоритм работает не идеально – кому-то программа выдала правильный возраст, у кого-то ошиблась лет на 15 (лично мне возраст завысили на 6 лет). Однако, во-первых, это только начало, во-вторых, возраст определяется практически верно, хоть и с некоторой погрешностью, а в-третьих, это ещё не все возможности технологии под названием Face API. Кстати, в определении пола система ошибается гораздо реже.
Читать дальше →

Как 276 000 беременных женщин достались одному мужчине. Что-то типа Success Story

Reading time8 min
Views11K


«Ты всегда будешь жалеть о том, что занялся этим слишком поздно, даже если начнешь делать вовремя» — (автор)


Интригующий заголовок, не правда ли? Дочитайте статью до конца и вы поймете, что я не шучу.
Я, как и многие другие, постоянно задаю себе этот вопрос: от чего зависит успех? И что такое вообще — успех? Существует ли универсальная формула, благодаря которой можно достичь успеха? Каким образом моему проекту «Счастливая беременность» удалось попасть в ТОП–30 платных приложений в России и держаться более двух лет в лидерах в русском разделе Медицина в AppStore?
Читать дальше →

Бет Шапиро — Древние ДНК: что это такое и чем могло бы быть?

Reading time1 min
Views9.3K


Бет Шапиро – профессор факультета экологии и эволюционной биологии Университета Санта-Круз в Калифорнии. Будучи эволюционным биологом, она использует геномику, чтобы лучше понять сложные отношения между окружающей средой и эволюцией видов. Бет – пионер в новой области под названием «древние ДНК», много путешествует по Арктике, собирая кости давно умерших существ, включая мамонтов, лошадей, а также вымерших гигантских медведей. Используя ДНК, извлечённую из этих останков, она надеется выяснить, как среда влияет на эволюцию и почему некоторые виды более склонны к вымиранию, чем другие.


Оригинальное видео

P.S. В комментариях вы можете предложить интересное видео на перевод и озвучивание.

Делаем скриншоты правильно: практические советы

Reading time8 min
Views190K
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)

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

Ведь кажется, что скриншот — это “секунда работы, Alt+PrintScreen и Ctrl+V!”. Некоторые клиенты удивляются, когда слышат, что скриншот в мануале может стоить и $2 и даже $5.

В этой статье я расскажу, как правильно делать скриншоты, почему это не просто “два клика” и какие подводные камни встречаются на пути неопытного скриншотера. Рассматривайте ее как чеклист или список практических советов для тех, кто документирует ПО. Надеюсь, это поможет вам избежать разочарований и порадовать юзеров красочными понятными картинками.
Читать дальше →

(Архив) 10 причин попробовать Матрешку

Reading time3 min
Views27K
image

1. Чистый JavaScript и HTML


Многие фреймворки пытаются починить веб, создавая собственный язык программирования. Идея Матрешки проста: с вебом всё в порядке. Вся логика, которую пишет программист, находится, как и должна, в JavaScript файлах, а HTML остаётся языком разметки гипертекста. Шутка об HTML программисте должна остаться шуткой.

2. Минимум сущностей


Матрешка не требует создания избыточных сущностей. Благодаря простому синтаксису привязок, связь между JavaScript и HTML может быть описана там же, где и логика. Программисту не требуется задумываться сразу о нескольких вещах, размышляя о балансе полномочий объектов. Вопрос где прописать обработчик: во “вьюхе” или в контроллере отпадает сам по себе. Хотя, никто не запрещает разделить данные и контроллер, разместив их в разных JS файлах.

3. Работай с данными, забудь о представлении


Попробовав популярный (но уступающий под натиском более современных продуктов) фреймворк Backbone, сталкиваешься с серьезным неудобством: объявляя данные, зависящие от UI и UI, зависящий от данных, вам, как правило, требуется создать два обработчика события. Один ловит изменения данных, второй ловит пользовательские действия. Проблема подкрепляется еще тем, что HTML элементы, как правило, совершенно идентичны в рамках приложения: input, select, кастомные виджеты из jQuery UI могут многократно встречаться на странице. Программисту, который реализует еще одну “единицу” приложения (например, форму), приходится пользоваться “копипастой”.

С Матрешкой всё намного проще. Вам нужно лишь однажды объявить привязку (в одном месте, а не в двух), затем работать с данными (как с обычными JavaScript объектами), забыв, что у нас вообще есть представление.
Читать дальше →

10 заповедей программирования без эго

Reading time3 min
Views57K
image«Программирование без эго» — перевод понятия egoless programming. Смысл в том, что разработчик осознанно отодвигает эго на второй план ради эффективности в работе. При разработке Web-payment.ru — сайта о платежных системах с каталогами и мониторингом обменников — мы стараемся руководствоваться этими принципами. Если кто-то благодаря этому посту тоже начнет применять их в своем проекте, мы будем очень рады, ведь они помогают избежать конфликтов и несут в себе добро. Перевод и редактура moigagoo.

О программировании Стивен начал говорить с отцом за 2 недели до его смерти. Стивену было 22, он изучал графдизайн в колледже и почти получил степень бакалавра. Его отцу было 62 — больше, чем большинству отцов. Когда он только начинал программировать в Теннессийском техническом университете в 60-е, то писал код на Фортране на перфокартах. Знал он очень много.

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

Когда Стивен приехал домой на каникулы, отец рассказал ему про 10 заповедей программирования без эго. Он распечатал их, и вдвоем со Стивеном они обсудили каждый пункт. Из-за внезапной смерти отца Заповеди стали одной из немногих программистских тем, которые Стивен успел обсудить вместе с ним. Возможно, именно поэтому они ему так запомнились.
Читать дальше →

Гомоморфное шифрование

Reading time3 min
Views53K

Что это такое?


Полностью гомоморфное шифрование (Fully Homomorphic Encryption) очень долго было самым ярким открытием в молодой и бурно развивающейся области Computer Science — криптографии. Вкратце, такой тип шифрования позволяет делать произвольные вычисления на зашифрованных данных без их расшифровки. Например, гугл может осуществлять поиск по запросу не зная, что это за запрос, можно фильтровать спам, не читая писем, подсчитывать голоса, не вскрывая конверты с голосами, делать DNA тесты, не читая DNA и многое, многое другое.
image
То есть, человек/машина/сервер, производящий вычисления, делает механические операции с шифрами, исполняя свой алгоритм (поиск в базе данных, анализ на спам, и т.д.), но при этом не имеет никакого понятия о зашифрованной внутри информации. Только пользователь зашифровавший свои данные может расшифровать результат вычисления.

Здорово, правда? И это не из области фантастики — это то, что уже можно «теоретически» воплотить в жизнь.

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

Страница about:about в Firefox

Reading time4 min
Views55K
То, что иногда наблюдается в адресной строке пустой страницы «about:blank», для Мозиллы стало философией доступа к ресурсам браузера. Мало кто знает об этой философии, кроме просвещённых монахов, для которых адресная строка менее священна и более инструментальна, чем для остальных. Но трудно запомнить всё разнообразие свойств этой строки. Приоткрыть окно к просветлению помогает мантра «about:about». Сейчас, на момент версии 37, она открывает 34 варианта продолжений ссылок после двоеточия. Есть и недокументированные.

Шутники потирают руки: можно вызывать самые натуральные озадачивающие странички минимальными усилиями. Но есть и ряд полезных страниц. Цель списка ниже — выделить долю полезных страниц для продвинутого пользователя браузера.
Читать дальше →

Читаем электронные книги на английском без словарей и переводчиков

Reading time3 min
Views99K
1. Интро. Личное



Я готовлюсь к языковому экзамену IELTS (International English Language Testing System) — пожалуй, самому популярному
тесту на знание английского. Если хочется эмигрировать, найти работу в международной компании — диплом IELTS очень пригодится. Шкала оценок — от 0 (от испытуемого не удалось получить даже внятного мычания) до 9 (экcперт — испытуемый чертовски хорош и может устроиться даже редактором лондонской газеты).

Для учебы, например, в США, нужно не менее 6.5 баллов (бывает и 6, но не часто), для работы — 7 и выше. А для эмиграции, допустим, в Канаду — чем выше оценка, тем лучше. Мой прогнозируемый балл перед сдачей теста — 5.5. Значит, что я могу читать газеты, смотреть кино, вести беседы в знакомых ситуациях, писать ответы на письма. Но для работы в центральном офисе Гугла явно недостаточно.

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

Генерация кода во время исполнения или «Пишем свой JIT-компилятор»

Reading time18 min
Views29K

Современные компиляторы очень хорошо умеют оптимизировать код. Они удаляют никогда не выполняющиеся условные переходы, вычисляют константные выражения, избавляются от бессмысленных арифметических действий (умножение на 1, сложение с 0). Они оперируют данными, известными на момент компиляции.
В момент выполнения информации об обрабатываемых данных гораздо больше. На её основании можно выполнить дополнительные оптимизации и ускорить работу программы.
Оптимизированный для частного случая алгоритм всегда работает быстрее универсального (по крайней мере, не медленнее).
Что если для каждого набора входных данных генерировать оптимальный для обработки этих данных алгоритм?
Очевидно, часть времени выполнения уйдёт на оптимизацию, но если оптимизированный код выполняется часто, затраты окупятся с лихвой.
Как же технически это сделать? Довольно просто — в программу включается мини-компилятор, генерирующий необходимый код. Идея не нова, технология называется “компиляция времени исполнения” или JIT-компиляция. Ключевую роль JIT-компиляция играет в виртуальных машинах и интерпретаторах языков программирования. Часто используемые участки кода (или байт-кода) преобразуются в машинные команды, что позволяет сильно повысить производительность.
Java, Python, C#, JavaScript, Flash ActionScript — неполный (совсем неполный) список языков, в которых это используется. Я предлагаю решить конкретную задачу с использованием этой технологии и посмотреть, что получится.
Читать дальше →

Задача про четыре стакана

Reading time3 min
Views47K
В комментариях к моему посту, одним из пользователей был задан интересный вопрос. Суть его такова: Имеем 4 стакана, с одинаковым объемом воды. 2 из них с горячей, 2 — с холодной. Смешиваем стаканы с горячей и холодной водой. Ждем 10 мин и смешиваем оставшиеся. Вопрос: в какой смеси вода будет горячее?

Там матан..

WordsFromText: как читать на английском с удовольствием

Reading time4 min
Views51K
Чтение в оригинале для многих является проблемой. Обилие незнакомых слов усложняет восприятие текста и приводит к потере энтузиазма. Такое происходит, когда сложность текста превосходит ваш текущий уровень, или когда вы читаете текст не по вашей тематике. Технари могут без проблем общаться на рабочие темы, но пасуют перед статьями о политике, музыке и серьёзной художественной литературой.

Цель нашего сервиса — решить эту проблему.

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

Как мы переводим слова

Ключевая цель сервиса — дать людям возможность читать и смотреть в оригинале то, что им интересно. И при этом максимально упростить работу с незнакомыми словами.

Поэтому мы сделали 2 вещи

N+4 полезных книг

Reading time5 min
Views82K


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

Начнём со «Справочника по инженерной психологии» Вудсона и Коновера.

«Справочник по инженерной психологии» — Вудсон, Коновер


Книга о том, какие бывают кнопки и рычаги, как на них нажимают люди. И как проектировать так, чтобы люди работали с системой эффективно. Радует тем, что рассматривает пользователя как базовую систему ввода-вывода, замеряя его среднюю скорость передачи информации (около 20 бит в секунду на кнопочные интерфейсы), скорости ввода и вывода.
Читать дальше →

Троичный компьютер в браузере

Reading time8 min
Views65K

000. Предыстория


В 1959 году Н. П. Брусенцов разработал для МГУ уникальную вычислительную машину «Сетунь». Она была основана на троичной системе счисления и хотя элементная база была частично двоичной, что приводило к перерасходу деталей, машина зарекомендовала себя как экономичная и надёжная. Сегодня троичную машину можно увидеть разве что в музее, двоичный код победил.

Но, как я говорил ранее, всегда найдутся люди, готовые сохранять технологии прошлого в виде эмуляторов.
Приступим.

Боинг запатентовал систему «силового поля»

Reading time2 min
Views27K
image
Представление силового поля авторами сериала Star Trek

Корпорация Боинг, известная по всему миру благодаря своему подразделению Boeing Commercial Airplanes по производству пассажирских авиалайнеров предстает сегодня с другой, непривычной для многих стороны. Кроме гражданской авиации, Боинг активно занимается в том числе и военными разработками для армии США. Например, Во время Второй Мировой Войны Боинг построил большое количество бомбардировщиков B-17, прозванных «Летающая крепость» и B-29 «Суперкрепость». Сейчас компания получила патент, а ее инженеры разрабатывают, по сути своей, силовое поле, сообщает thenextweb.
Читать дальше →

Подводная лодка для… Титана. А может машина времени?

Reading time7 min
Views20K
image

Титан — это суперхолодный спутник Сатурна: средняя температура на его поверхности — в районе минус 180 градусов Цельсия. Вода здесь не существует ни в каком виде, кроме глубоко замороженного льда. Условия совершенно не подходят для жизни человека.

Однако, как это ни странно, Титан имеет большее количество сходств с Землёй, чем любая другая планета Солнечной системы, несмотря на исполинские отличия в температурных и других климатических условиях.

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

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

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

В результате экспедиции было обнаружено много новых невероятных вещей, например свидетельства существования на Титане ледяных (водных) и нашатырных «криовулканов». Судя по переданным «Кассини» фотографиям, эти вулканы выбрасывают нашатырь на поверхность планеты.

Неудивительно, что интерес к исследованию этой загадочной планеты не угасает и сегодня в рамках возрождённого в 2010 году проекта NIAC, который ныне представлял из себя часть Программы Космических Технологий NASA, ведётся разработка концепта подводной лодки для исследования морей Титана. Строго говоря, правильнее было бы назвать её на западный манер субмариной, потому как моря на Титане состоят отнюдь не из воды, а из углеводородов — преимущественно метана и этана.

Попробуем вместе пробежаться по истории вопроса и оценить реалистичность данного проекта исходя из сегодняшнего уровня технологий.
Читать дальше →

Брайан Сингер займётся экранизацией романа Хайнлайна

Reading time4 min
Views16K


Я с детства люблю научную фантастику, и один из моих любимых авторов – это, конечно, Роберт Хайнлайн. Строгий инженерный подход, вера в разум и человечность, и в то, что кто ищет, тот всегда найдёт, очень нравились мне в его произведениях. Герои его книг – самостоятельные, думающие люди, готовые постоять за себя, своих близких, и воплотить в жизнь самые удивительные идеи.

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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity