Category: it

Category was added automatically. Read all entries about "it".

2009

AVAST

В далёком 2014-м я сделал ошибку в конфигурации домена www.bobukh.com, и на него налипли нездоровые субдомены.

AVAST, известный антивирусный продукт, начал на мой домен ругаться. Вполне справедливо. К сожалению, он почти никак не намекал, в чём же именно состояла проблема. Формулировку можно было понять так, будто бы сайт загрязнён вирусами -- что точно мимо. Но что я честно пытался поискать. Попытки submit feedback, или написать им, дабы разузнать подробнее, не привели ни к чему. Тишина в ответ.

Результат. У меня ушли месяцы, чтобы вычислить проблему. Которая потом была устранена за час. Если бы AVAST не молчал гордо на мои запросы, интернет стал бы более безопасным местом значительно раньше.

Collapse )
2009

Космические лучи и хакеры

Космические лучи -- это энергичные частицы, прилетающие к нам из космоса. Изредка среди них встречаются настоящие монстры с энергиями до ~1020 электронвольт. Это, для наглядности, энергия упавшего со стола молотка. Только вот заключена она не в молотке, а в одном-единственном невидимом протоне.

До сих пор не совсем понятно, откуда берутся частицы с такими сумасшедшими энергиями. К счастью, они очень редки -- за всю историю их и видели-то всего пару десятков штук. Большинство же космических лучей обладают куда более приличествующими для микрочастиц энергиями в 0.1 - 1 ГэВ. Но им и этого вполне хватает, чтобы, врезаясь в земную атмосферу, расколошмачивать вдребезги встреченные атомы и порождать многокилометровые ливни радиации из вторичных частиц.

Львиная доля энергии ливней поглощается воздухом и грунтом. Меньшая оседает в наших телах, внося примерно 13%-й вклад в фон естественного облучения на поверхности Земли. А совсем крошечная доля влетает в чипы компьютерной памяти. И некоторые из этих частиц обладают достаточными силёнками, чтобы взять и перевернуть один битик памяти из нуля в единицу. Ну или наоборот.

Сотрудники IBM прикидывают, что один такой переворот ("bit flip") случается разок в месяц на 256 мегабайт памяти. В работе, о которой пойдёт речь ниже, приводится цифра "от 3-х ошибок в месяц до 3-х в час на 4 гигабайта памяти" -- правда, это включая сбои, вызванные не только естественной радиацией.

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

Наконец, совсем-совсем уже редко переворот битика может оказаться и нескорректированным, и "осмысленным". Именно про этот эффект рассказал Artem Dinaburg на конференции DEFCON ещё в 2011-м году. Там было подробно, я же перескажу кратенько.

В Интернете есть такие штуки, называются DNS-сервера. Вся их работа, по сути, состоит в том, чтобы переводить запросы в виде читаемых людьми URL-ов (например, www.bobukh.com) в IP-адреса, более удобные машинам (в данном случае, 50.135.11.217). Так вот. Сбой битика может произойти в памяти DNS-сервера. И так, что Вы наберёте в адресной строке www.microsoft.com, а сервер (из-за этого сбоя) начнёт искать IP-адрес ресурса, отличающегося от заказанного одним-единственным битиком (например, www.mic2osoft.com). Что из этого получится? Скорее всего, ничего интересного. В природе нет такого домена, Вы увидите "sever not responding", хмыкните и перезагрузите страницу. Но что если бы такой домен существовал, а на нём и вправду жила бы какая-нибудь страница?

Эта страница, в таком случае, загрузится в Ваш браузер. И с его точки зрения, равно как и всей операционной системы, она будет принадлежать домену www.microsoft.com! Она будет иметь те же права исполнять скрипты, что и этот домен. Она будет иметь доступ к его cookies (придумали ли уже, наконец, хоть какой-то благозвучный русский термин для этого слова?) Она сможет доступаться ко всем данным, к которым имеет доступ исходная страница. Скажем, читать и посылать Вашу почту, если бы www.microsoft.com был почтовым доменом и Вы бы автоматически в него логинились. В более общей терминологии, произошло бы нарушение Same Origin Policy, с серьёзными и хорошо известными специалистам по безопасности последствиями.

Это теория. Но возможна ли подобная атака на практике? Artem Dinaburg поставил эксперимент. Зарегистрировав с полсотни доменов, отличающихся от самых широкопосещаемых ошибкой в одном-единственном бите (но не одной клавишей на клавиатуре, чтобы исключить опечатки), он принялся ждать:


И дождался. На эти адреса действительно стали приходить запросы. Десятки в день:


Эффект есть!

Справедливости ради надо отметить, что большинство ошибок в памяти вызываются всё-таки не радиацией. Причина номер один -- банальный перегрев электроники, номер два -- плохое качество "железа". С некоторой натяжкой их вклад даже различим статистически, например, как отклик числа запросов из местности на температуру в ней. А радиация отвечает, грубо, где-то за 10% этих "переворотов". Но они есть!

Вот такая связь между космической астрофизикой и компьютерной безопасностью.

Ну и в заключение -- а стоит ли об этом беспокоиться?

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

Да, если Вы -- владелец крупной компании, занимающейся рекламой в интернете. Если Вашу рекламу загружают браузеры сотен миллионов людей, то некоторым из них может и не повезти. А виноватыми сочтут Вас, ведь во всех логах прописано, что зараза пришла с того же домена, что и Ваша реклама. Так что, может, стоит проверить, не зарегистрированы ли уже кем-то домены, отличающиеся от Вашего всего на один бит?
2009

(no subject)

Есть анекдот: чем программист отличается от нормального человека? А тем, что для него "чему равно 'дважды два четыре'?" -- осмысленный вопрос, с ответом true :)

И другой:

-- Ты будешь пить чай или кофе?
-- Да.

Можно смеяться, но ответ, заметим, корректен. Человек сообщает, что да, либо чай, либо кофе он пить будет :)

А вот живой пример от Windows. При определённых условиях она выдаёт это сообщение при попытке перетащить мышкой файл из zip-архива в другую папку:



На первый взгляд кажется, что в диалоге ошибка. Раз спрашивают "move or copy" то, наверное, на кнопках именно эти опции надо указать вместо "Yes" и "No". Ан нет! Там всё правильно. Windows интересуется именно тем, хотим ли мы {перенести или скопировать}, уж как получится, файл.

Тоже, похоже, настоящий программист делал ;))