Как вы думаете, о чем повествует сказка «Снежная Королева», написанная датским специалистом по кибербезопасности Гансом Христианом Андерсеном? О смелой девочке, которая ради чистой любви к своему другу победила воплощение зимы и смерти, как считают литературоведы?
Да нет, конечно. На самом деле это достаточно подробный рассказ о расследовании начинающего ИБ-эксперта Герды инцидента с заражением Кая сложным вредоносом. Эта так называемая «сказка» написана в виде семи историй, которые достаточно четко соответствуют этапам расследования.
История первая, в которой рассказывается о зеркале и его осколках
Если вы когда-нибудь читали отчеты на нашем блоге для экспертов Securelist.ru, то, вероятно, знаете, что многие исследования часто начинаются с экскурса в историю вопроса. Так и Андерсен в первой истории рассказывает про дела давно минувших дней, которые служат первопричиной инцидента с Каем.
Согласно его данным, когда-то давно некий хобгоблин (в русском переводе — тролль) создал некое зеркало, в котором все доброе уменьшается, а внимание акцентируется на всем злом. Его ученики разбили это зеркало на миллиарды осколков, которые, во-первых, попадали людям в глаза и в сердца, а во-вторых, сохраняли свойство всего зеркала (искажали отображение реальности). Некоторые осколки люди вставляли в оконные рамы, так что искажалась вся картинка в окне. Некоторые использовали осколки в качестве линз в очках.
Мы уже знаем из сказки про Белоснежку, что под зеркалами сказочники обычно подразумевают экраны в широком смысле — телевизоры, компьютеры, планшеты, телефоны и так далее. Так что если перевести слова Андерсена с языка аллегорий на сухой научный язык, то получается, что изначально некий хакер создал некую систему, встроенный браузер которой намеренно искажал те сайты, на которые заходили пользователи этой системы.
Впоследствии же его ученики использовали куски исходного кода для заражения огромного числа пользователей, включая некие девайсы под Microsoft Windows и очки дополненной реальности.
Такое действительно уже неоднократно бывало: хрестоматийным примером можно считать эксплойт EternalBlue, утечка которого привела к эпидемиям WannaCry и NotPetya, а также нескольких других шифровальщиков. Впрочем, вернемся к нашей сказке.
История вторая: мальчик и девочка
Во второй истории Андерсен переходит к более подробному описанию одной из жертв и изначального вектора заражения. По его данным, Кай и Герда общались через расположенные рядом чердачные окошки (опять прямое указание на некий коммуникатор под Windows). Однажды зимой Кай увидел в своем окошке постороннего — прекрасную женщину, закутанную в тончайший белый тюль. Это была первая встреча Кая с хакером, который далее известен под кличкой «Снежная Королева».
Через некоторое время Кай почувствовал, что нечто кольнуло его прямо в сердце и что-то попало в глаз. Так Андерсен описал момент заражения. После того как вредоносный код попал в сердце (ядро ОС) и в глаз (устройство ввода), Кай, во-первых, резко меняет реакцию на внешние раздражители, а во-вторых, видит всю входящую информацию искаженной.
Через некоторое время он и вовсе уходит из дома, зацепившись веревкой от своих санок за сани Снежной Королевы. Проникнувшись к ней доверием, он рассказывает, что (цитата) «знает все четыре действия арифметики, да еще с дробями, знает, сколько в каждой стране квадратных миль и жителей». Казалось бы, мелкие детали. Но, как мы увидим дальше, именно это и интересовало злоумышленницу на самом деле.
История третья: цветник женщины, умевшей колдовать
Герда начинает собственное расследование и случайно сталкивается с женщиной, которая по каким-то своим причинам препятствует его ходу. По большому счету нам эта история интересна единственным моментом: колдунья расчесывает кудри девочки гребнем, после чего Герда забывает Кая.
То есть колдунья каким-то образом удаляет накопленные данные. Примечательно, что используемый старухой инструмент — гребень — нам уже знаком. В отчете братьев Гримм по инциденту с Белоснежкой мачеха использует аналогичный инструмент, чтобы заблокировать жертву. Совпадение? Или это указание на то, что данные инциденты связаны?
Как и в случае с Белоснежкой, блокировка данных с помощью гребня оказалась не перманентной — данные удается восстановить, и Герда продолжает свое расследование.
В конце третьей части отчета Герда спрашивает у разных цветов из сада колдуньи, не видели ли они Кая. Вероятно, это отсылка к старинному мессенджеру ICQ, логотипом которого (а заодно и индикатором статуса каждого пользователя) был цветок. То есть весь смысл общения с колдуньей заключался в том, что Герда пыталась через ее контакт-лист в ICQ найти дополнительную информацию по инциденту.
История четвертая: Принц и Принцесса
Этот этап расследования кажется не совсем релевантным. Герда пытается пробить Кая по государственной базе данных. Чтобы сделать это, она знакомится с какими-то воронами, которые предоставляют ей доступ в правительственное учреждение (королевский дворец).
Ни к каким результатам это не приводит, однако Герда ответственно извещает правительство о найденной уязвимости и ненадежности ворон. Принц и Принцесса закрывают уязвимость, дословно говоря воронам, что «ничуть не гневаются на них — только пусть они не делают этого впредь». Обратите внимание: не наказывают, а объясняют, что так делать не надо.
В качестве награды Принц и Принцесса снабжают Герду ресурсами (каретой, теплой одеждой, слугами). Отличный пример здоровой реакции организации на найденную исследователями уязвимость — будем надеяться, что награда не осталась единичным случаем, а превратилась в полноценную программу баг баунти.
История пятая: маленькая разбойница
В этой истории Герда предположительно попадает в лапы разбойников. На самом деле Андерсен иносказательно объясняет, что, зайдя в тупик на предыдущем этапе расследования, Герда была вынуждена воспользоваться помощью, скажем так, не совсем законопослушных сил.
Кибер-разбойники сводят Герду с ценными информаторами: голубями, которые знают, кто именно виноват в инциденте с Каем, а также с северным оленем, у которого есть адреса нужных контактов в даркнете. Однако эта помощь дорого ей стоит — она лишается большей части ресурсов, полученных в предыдущей истории.
Чтобы не подставлять исследовательницу в глазах властей, Андерсен пытается описать случившееся, как взаимодействие не по своей воле — якобы сперва разбойники ограбили Герду, и только потом, сжалившись, помогли информацией. Но получается не очень убедительно: более вероятно, что это была взаимовыгодная сделка.
История шестая: Лапландка и Финка
Далее следует финальный этап сбора необходимой для расследования информации через доставшуюся от разбойников цепочку странноватых контактов в даркнете. Олень сводит Герду с некой Лапландкой, которая пишет на сушеной треске рекомендательное послание следующему информатору — некой Финке.
Финка, в свою очередь, дает адрес командного сервера — «сад Снежной королевы». С практической же точки зрения в этой истории интересен один момент: прочтя послание от Лапландки, Финка кидает треску в суп. Потому что знает, как важно не оставлять лишних следов, и скрупулезно следует правилам OPSEC. Сразу видно опытного профессионала.
История седьмая: что случилось в чертогах Снежной королевы и что случилось потом
В седьмой истории объясняется, зачем Королеве понадобился Кай. Он сидит и переставляет обломки ледяного блока, чтобы получить красивое слово «вечность». Абсурд, скажете вы? Ничуть. Прочтите вот этот блогпост, где простыми словами рассказывают, что такое майнинг. Там говорится, что криптомайнеры, по сути, занимаются тем, что переставляют части блока информации, чтобы получить не какой попало хэш (свертку), а как можно более красивый.
То есть Кай пытается выстроить куски информации так, чтобы ее хэш сложился в слово «вечность». На этом этапе становится ясно, почему во второй истории Андерсен акцентировал внимание читателя на вычислительных мощностях Кая. Оказывается, именно они и интересовали Снежную Королеву — Кай был заражен исключительно ради майнинга. Заодно это объясняет и одержимость Снежной Королевы севером и холодом — производительная майнинговая ферма нуждается в серьезном охлаждении.
Далее Герда растапливает слезами ледяную корку в сердце Кая (то есть какими-то своими инструментами удаляет вредоносный код и возвращает контроль над ядром системы). А затем Кай сам заливается слезами, то есть активизирует встроенный антивирус, очевидно, ранее блокировавшийся зараженным модулем из ядра, и удаляет второй кусок вредоносного кода из глаза.
Концовка исследования немного смазана: вместо советов для потенциальных жертв, индикаторов компрометации системы и прочих полезных вещей Андерсен долго и нудно рассказывает, как герои возвращаются домой. Возможно, в XIX веке такой формат отчета был нормальным явлением.
Мы уже неоднократно писали, что сказочники, по сути, являются старейшими экспертами по информационной безопасности. Вот и еще одно доказательство: в сущности, «Снежная Королева» — не что иное, как подробное изложение хода расследования сложного инцидента. Также советуем ознакомиться с нашим анализом других популярных «сказок»: