Символы-невидимки
19 апреля 2018
Сколько символов в абзаце? Любой пользователь наверняка удивится такому вопросу. Это же элементарно: все символы видны, их можно пересчитать даже вручную. Но не всё так просто.
Во-первых, есть символы, которые просто не видны.
Многие знают или слышали, что в компьютерной типографике существуют непечатные символы, т. е. фактически невидимые. Причем это не какой-то баг или фишка, а вполне нормальное поведение – быть невидимыми. В настоящий момент одной из общепринятых и стандартизированных кодировок текста является UTF-8, она используется практически на любом современном сайте. В ней ценно и то, что там присутствует целая куча невидимых символов! Например, один из них – Zero Width Space (U+200B). Вот он: "". Видите? Нет? А он есть.
https://habrahabr.ru/post/243351
Текстовый редактор может просто отрендерить текст с таким символом, а может предпринять какие-то действия, чтобы сделать его заметным.
Конечно же, отображение зависит не только от редактора, но ещё и от шрифта.
Как такие символы можно использовать?
Вспомнилось, как много лет назад я иногда злоупотреблял такими символами, чтобы побыстрее исчерпать трафик или квоту на объём БД у своей «жертвы». Например, пишу фразу «Привет! Как дела?», а внутри спрятаны тысячи невидимых знаков. Короткое сообщение начинает «весить» достаточно много.
«Антивирусная правДА!» уже писала о почтовых бомбах, но как назвать бомбу в тексте?
«Поиграться» с невидимыми символами могут и шпионы:
… а нельзя ли сделать некий текст полностью невидимым?
Каждый байт строки мы превращаем в трёхзначное восьмеричное число и заменяем каждую цифру на один из невидимых символов.
И вирусописатели:
Первый способ делал код похожим на JavaScript, второй совершенно не похожим, а третий сделает код вообще невидимым.
Код будет состоять из двух частей: видимая честь – можно использовать что-нибудь описанное выше для её обфускации, и невидимая часть.
Если с видимой все ясно, то секрет невидимой вот в чем: имеющийся «плохой код» (иначе зачем его прятать) мы пропускаем через наш обфускатор-изчезатор, который превращает видимый скрипт в невидимый, т. е. в строку, состоящую из знаков табуляции (бит 1) и пробелов (бит 0).
То есть, преобразуя код специальным образом, вы прячете его на ровном месте. Тому, кто откроет код, будет видна лишь часть, ответственная за извлечение и распаковку/преобразование вредоносного кода. Сам же исходный код будет невидим. Нет его и всё.
Естественно, антивирус код найдет и разберет – на то он и программа, но пользователь будет в недоумении и, возможно, сочтет файл безвредным.
Примеры в студию
Пускай будет такой код:
alert("Hello world!");
После скармливания кода обфускатору (приводить и разбирать код не буду, в нем нет ничего интересного), на выходе получается что-то вроде:
Обратите внимание на то, что точка с запятой находится внутри кавычек, хотя на самом деле это не так (можно проверить почти в любом текстовом редакторе, например Sublime ).
Вот так выглядит в результате функция декодирования:
var revealJS = function(s){return s.match(/(.{4})/g).map(function(b){return b.split('').map(function(i){return Array.apply(null,{length:10}).map(Number.call,Number).concat('abcdef'.split(''))[''.split('').indexOf(i)]})}).map(function(c){return String.fromCharCode(0+"x"+c.join(''))}).join('')}
Хотите посмотреть, как переменная helloworld из примера выглядит в браузере? Перейдите по ссылке, откуда мы скопировали эту строку. Скажем прямо - впечатляет.
Более подробно все расписано по приведенным ссылкам, рекомендуем также ознакомиться и с самими статьями, и с комментариями к ним. В частности, чтобы узнать, как подобные технологии применялись во благо.
А теперь заключение из статьи, описывающей поиск инсайдера.
В зависимости от направления вашей работы, может быть жизненно важно понимать риски, связанные с копированием текста.
Антивирусная правДА! рекомендует
В наших выпусках мы неоднократно касались вопросов, связанных с копированием ссылок или текста. Данный выпуск поднимает еще одну сторону проблемы: скопировав текст, вы сами можете перенести к себе некий код или сообщение. Может быть, оно будет безвредным, а может и нет – визуально вы этого не определите. А антивирус на зрение не полагается, ему такие приемы не страшны.
Нам важно ваше мнение
Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.
Комментарии пользователей
Денисенко Павел Андреевич
12:59:08 2018-08-03
Sany
10:33:14 2018-07-18
ArtemiyKurs
11:58:41 2018-05-16
Пaвeл
10:34:06 2018-04-20
Александр Ш.
10:23:55 2018-04-20
Людмила
09:00:17 2018-04-20
уже двоим участникам мы хотим и не можем придумать персональные трофеи. ни одно из названий не устраивает. хочется что-то совершенно особенное и памятное. и пока не получается:( Мастер стихосложения слишком обыденно что-ли, стандартно.
B0RIS
05:31:37 2018-04-20
a13x
05:19:53 2018-04-20
razgen
00:46:19 2018-04-20
Функция регистрации на сторонних сайтах через Facebook привела еще к одной значительной утечке личных данных пользователей социальной сети.
https://tvzvezda.ru/news/vstrane_i_mire/content/201804192121-5s4r.htm
МЕДВЕДЬ
23:21:28 2018-04-19
Littlefish
21:41:19 2018-04-19
В...а
21:38:36 2018-04-19
Littlefish
21:33:11 2018-04-19
Damir
21:31:11 2018-04-19
orw_mikle
21:23:47 2018-04-19
Lia00
21:19:59 2018-04-19
vla_va
20:57:26 2018-04-19
Marsn77
20:49:42 2018-04-19
Любитель пляжного футбола
20:33:00 2018-04-19
А насчёт подобного трофея участнику Biggurza - очень хорошая идея, поддерживаю!
Любитель пляжного футбола
20:27:37 2018-04-19
Toma
20:19:20 2018-04-19
Toma
20:17:00 2018-04-19
НинаК
20:15:43 2018-04-19
Любитель пляжного футбола
20:10:46 2018-04-19
Сергей
19:55:53 2018-04-19
Dvakota
19:46:10 2018-04-19
Dmur
19:32:44 2018-04-19
Геральт
19:23:07 2018-04-19
ek
19:04:46 2018-04-19
Дмитрий
18:34:19 2018-04-19
eRxXjwSGsP
17:36:35 2018-04-19
TV
17:33:08 2018-04-19
kva-kva
17:04:18 2018-04-19
Шалтай Александр Болтай
17:00:16 2018-04-19
@admin, не пора ли брать Biggurza в штат - писать эпиграфы к "АП"?
А может присудить ему трофей "Мастер стихосложения" ?
Шалтай Александр Болтай
16:47:21 2018-04-19
Короче, ставь Dr.Web и копируй все смело!
Шалтай Александр Болтай
16:41:51 2018-04-19
zsergey
16:30:17 2018-04-19
EvgenyZ
16:22:28 2018-04-19
mk.insta
16:14:32 2018-04-19
La folle
15:51:05 2018-04-19
BigVal
15:44:10 2018-04-19
Александр
14:54:40 2018-04-19
I23
14:27:23 2018-04-19
Andromeda
14:22:27 2018-04-19
I46
14:19:13 2018-04-19
Альфа
14:14:29 2018-04-19
marisha-san
13:42:08 2018-04-19
Masha
13:39:27 2018-04-19
Natalya_2017
13:17:23 2018-04-19
SGES
13:09:16 2018-04-19