лучший антивирус и о крИпте



Лекция#20 Антивирусы и Крипт  
Лектор : realbin
[17:05:33] <realbin> В этой лекции рассмотрим работу антивирусов и поговорим о крИпте. 
[17:05:56] <realbin> Без четкого понимания работы этих двух компонентов наше обучение, несомненно, выглядело бы несовершенным, неполным. 
[17:06:03] <realbin> Пожалуй, начнем с антивирусов. 

[17:06:41] <realbin> Традиционно, небольшой эскурс в историю: первые антивирусы появились в середине 80-х годов прошлого века как противодействие заражению интерпретируемым и исполняемым файлам в среде MS-DOS. 
[17:07:03] <realbin> В те давние времена вирусы распространялись довольно медленно. От пользователя к пользователю через дискеты. 
[17:07:23] <realbin> Сигнатуры же, в свою очередь, гораздо быстрее посредством сетей (локальных типа NNTP, BBS и прочих). 
[17:08:00] <realbin> Этот сценарий разыгрывался довольно долго, вплоть до начала 2000-х годов. В начале 2000-х проникновение интернета было весьма велико и распространение вирусов перешло на новый уровень. 
[17:08:11] <realbin> Теперь антивирусы не могли опередить вирусы в принципе. 
[17:08:29] <realbin> В это же время широкое распространение получила ОС на ядре Windows NT (Windows 2000/NT). 
[17:08:51] <realbin> Таким образом, адресное пространство обычных программ стало надежно отделено от кода ОС, ее ядра и ее данных. 
[17:09:10] <realbin> Самое главное изменение заключалось в том, что в это время написание вирусов стало бизнесом. 
[17:09:40] <realbin> Примечательно, что вирусы как таковые, по большому счету, были вытеснены зловредами другого рода - всякими червями, троянцами, локерами и прочими. 
[17:10:09] <realbin> Здесь как раз антивирусы и начинают кардинально проигрывать войну за чистоту системы, так как противостоять заражению троянцем они не в состоянии. 
[17:10:47] <realbin> Предотвратить файловое заражение - да, а вот внедрить исполняемые модули в ОС - никак нет. Ничего больше не спасает, что бы антивирусы не делали. Ни поведенческие блокировки, не эвристика. 
[17:10:56] <realbin> Теперь немного околоюридического ликбеза. 
[17:11:20] <realbin> Так как мы - люди умные и прогрессивные, то должны различать понятия “антивирус” и “антивирусная система безопасности”. 
[17:11:51] <realbin> Примечательно, что с юридической точки зрения, регуляторы во всем мире не пришли к единому мнению относительно дефиниции, что же есть вредоносная программа. 
[17:12:04] <realbin> Соответственно, они и не знают, от чего же надо-таки защищаться. 
[17:12:15] <realbin> В то время как “анивирус” для них что-то понятное. 
[17:13:07] <realbin> Так, антивирусом может считаться программное обеспечение для обнаружения компьютерных вирусов, общей профилактики от нежелательных и считающимся вредоносными программ, восстновления модифицированных этими программами данных и предотвращения заражения системы. 
[17:13:53] <realbin> По факту же, если называть вещи своими именами, антивирус - это программа, которая делает вид, что ищет вредоносы, в действительности же просто замедляет работу вашей системы, сильно подгружая комп и лишая его производительности. 
[17:14:26] <realbin> Чтобы не быть голословным, процитирую ниже выдержку из Приказа Федеральной службы по техническому и экспортному контролю (ФСТЭК) от 11 февраля 2013 г. под №17: 
[17:15:40] <realbin> “Меры по антивирусной защите должны обеспечивать обнаружение в информационной системе компьютерных программ либо иной компьютерной информации, предназначенной для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты информации, а также реагирование на обнаружение этих программ и информации” 
[17:16:03] <realbin> Кто хочет, может ознакомиться с полным текстом этого документа по ссылке: https://rg.ru/2013/06/26/gostajna-dok.html 
[17:16:26] <realbin> Есть ряд других определений, но все они примерно одинаковы, поэтому особой нужды в их детальном анализе я не вижу. 
[17:17:12] <realbin> Хочу лишь отметить, что ни одна из тех дефиниций не говорит нам, когда именно антивирусная программа должна выявить вредоноса, хотя во всех определениях четко указано, что основная задача любого антивируса - это ловля зловреда. 
[17:17:25] <realbin> Когда и как это осуществляется, увы, никто сказать не может. 
[17:17:46] <realbin> То есть получилась ситуация, когда они знают с чем бороться, но не знают и не регламентируют как именно. 
[17:18:48] <realbin> Такое введение обусловлено тем, что я методично подвожу вас к основной мысли: если основные моменты взаимодействия антивирусного ПО и якобы защищаемой системы не задекларированы, то вполне ожидаемо, что производители этого ПО под видом антивируса будут втюхивать редчайшее (а иной раз, и очень опасное) гавно! 
[17:18:56] <realbin> Чем они, к слову, успешно и занимаются. 
[17:19:06] <realbin> Антивирусы скорее вредны, нежели приносят пользу. 
[17:19:12] <realbin> Что должен делать антивирус? 
[17:19:27] <realbin> Во-первых, он должен обеспечивать защиту от всех типов вредоносных программ. 
[17:19:51] <realbin> Во-вторых, исправно получать обновления новых сигнатур, успешно находить и устранять ранее не обнаруженные зловреды. 
[17:20:00] <realbin> Со вторым пунктом могут быть большие проблемы. 
[17:20:14] <realbin> Так в чем разница между антивирусом и системой антивирусной защиты? 
[17:21:02] <realbin> В первом случае это всего лишь ПО, которое якобы защищает нас от зловредов, в то время как второй вариант - это комплексные действия, набор программ, настройки ОС и/или иные процедуры, нацеленные на профилактику заражения вашей системы. 
[17:21:18] <realbin> Эта теория не обязательна, но ее не мешает знать. Уж доколе мы решили стать профи.

[17:21:35] <realbin> Я все это к чему? Вы прекрасно можете обойтись и без антивируса, вот основной посыл. 
[17:21:49] <realbin> Он вам нужен только для “излечения”, если что-то нехорошее хапанули. 
[17:22:00] <realbin> Гораздо важнее и проще - не допускать заражения вовсе. 
[17:22:56] <realbin> Чтобы подлить масла в огонь, скаже еще вот что. Антивирусы по дефолту воспринимаются как доверенные приложения и не рассматриваются как источники дополнительной угрозы. Так как антивирусные процессы в система являются привилегированными и не имеют никаких, по сути, ограничений. 
[17:23:12] <realbin> Именно этот факт делает антивирусы одной из главных мишеней для взломщиков. 
[17:23:33] <realbin> Последние годы появилось огромное количество эксплоитов, нацеленных на работу антивирусов. Делайте выводы. 
[17:23:48] <realbin> Впрочим, закончим с философией и обратимся к алгоритмам работы антивирусов. 
[17:23:55] <realbin> Ведь что есть антивирус по сути? 
[17:24:20] <realbin> Это (в теории) и сканер, и резидентная защита, и проактивная защита, и эвристика, и песочница и фаервол. Все в одном флаконе. 
[17:24:45] <realbin> По каждому из данных направлений работы можно было бы написать не просто лекцию, а целую серию лекций и книгу в придачу. 
[17:24:59] <realbin> Но сначала остановимся и более детально разберем функцию сканирования. 
[17:25:54] <realbin> Сама по себе она не может выявлять и локализовывать вредоносы “на лету” и предотвращать подключение к небезопасным сайтам. Дело в том, что функция этого компонента - проверка определенного файла и отчет, нужен ли этот файл нам или нет, представляет ли он угрозу или нет. 
[17:26:01] <realbin> Теперь о работе самих антивирусов. 
[17:26:20] <realbin> Антивирусные программы призваны защитить компьютер от нежелательных и вредоносных приложений. 
[17:26:37] <realbin> В зависимости от угрозы, антивирус включает либо реактивную, либо проактивную защиту. 
[17:27:06] <realbin> Реактивная защита представляет из себя защиту от уже известных угроз: анализируются участки кода и сопоставляются с сэмплами вредоносного кода. 
[17:27:31] <realbin> Чтобы этот тип защиты работал исправно и был максимально успешным, базы (сигнатуры) должны обязательно регулярно обновляться. 
[17:28:13] <realbin> Когда антивирусный аналитик обнаруживает нового вредоноса, создается новая сигнатура, которая может быть основана как на конкретно взятом участке кода (или целом коде), так и на каких-то определенных данных. 
[17:28:29] <realbin> Часто сингнатуры базируют на первых исполняемых байтах новонайденной малвари. 
[17:29:04] <realbin> Как мы можем видеть, данный метод основывается на ретроспективном анализе уже изученного вредоносного кода и совсем неэффективен для обнаружения новых вирусов и прочей малвари. 
[17:29:39] <realbin> Проактивная же защита эта та защита, которая призвана оградить систему от ранее неизвестных зловредов путем анализа их поведения и основываясь на паттернах в коде зловреда. 
[17:29:56] <realbin> Такая защита должна быть эффективной против незначительно видоизмененных вредоносов. 
[17:30:19] <realbin> Проактивка обеспечивается специальным модулем под названием “эвристический анализатор”, так называемая эвристика. 
[17:30:51] <realbin> Основной недостаток эвристики - это ложные срабатывания. Часто проактивка воспринимает легитимную программу как потенциально нежелательную и блокирует ее. 
[17:31:13] <realbin> Как уже говорилось, одна из основных функций антивирусов - постоянное сканирование того, что входит в систему. 
[17:31:26] <realbin> На умном языке это называется “сканирование в фоновом режиме”. 
[17:31:51] <realbin> В данном режиме антивирус сканирует все файлы, загружаемые на защищаемый компьютер: все файлы, все архивы, и RAR, и ZIP. 
[17:32:05] <realbin> Прежде чем запустить тот же самый EXE файл, антивирус его “сканирует”. 
[17:32:39] <realbin> Сканирование в данном случае подразумевает под собой, грубо говоря, сравнивание кода запускаемой программы с кусками вредоносного кода, имеющегося в архивах антивируса. 
[17:33:02] <realbin> Антивирус также будет пытаться симулировать саму программу с целью выявления потенциально вредоносного поведения. 
[17:33:37] <realbin> Если один из двух факторов антивирусу не нравится, он не дает вам запустить программу. Если же все в порядке, с точки зрения антивируса, то вы спокойно запускаете программу. 
[17:34:12] <realbin> Основной плюс эвристического анализа -  поиск потенциально вредоносного кода. Иными словами, той малвари, которая еще не изучена, и сигнатуры для которой еще не существуют. 
[17:34:53] <realbin> Следующая функция антивируса - “полное сканирование”. Его, как правило, не надо проводить если антивирус запущен постоянно. Логично запустить полную проверку при первичной установке антивирусной программы. 
[17:35:17] <realbin> При обнаружении вредоносной программы или файла, зараженного каким-то вирусом, антивирус может произвести ряд действий: 
[17:35:32] <realbin> - попытаться вылечить зараженный файл (удалить зловредный участок кода); 
[17:36:00] <realbin> - отправить файл в карантин (если инфицированный файл содержит важную информацию, его в дальнейшем можно будет попытаться вылечить вручную); 
[17:36:25] <realbin> - удалить файл (если предыдущие варианты не подходят или не увенчались успехом, антивирус может удалить инфицированный файл); 
[17:36:38] <realbin> - оставить все как есть (можно ничего не делать… и молиться)). 
[17:36:54] <realbin> Как правило, антивирусы запускаются вместе с системой и защищают ее постоянно. 
[17:37:16] <realbin> А вообще, самый лучший антивирус, это Linux! + инструменты аудита (rkhunter, chkrootkit, Loki, Linis и др.) 
[17:37:26] <realbin> Настоятельно вам рекомендуем переходить на линь) 
[17:37:40] <realbin> Разобравшись с работой антивирусов, плавно переходим к вопросу их обхода. 
[17:37:48] <realbin> Что делать чтобы обойти антивирусы? 
[17:38:02] <realbin> Обход как таковой можно разделить на два больших и серьезных процесса. 
[17:38:45] <realbin> Сокрытие кода, который может быть идентифицирован как нежелательный (как правило, достигается путем шифрования), и создание загрузчика так, чтобы он не обнаруживался как вирус и не обходился посредством эмуляции. 
[17:39:03] <realbin> Для обхода сигнатурного анализа достаточно изменить существующий код (или написать новый). 
[17:39:35] <realbin> Поэтому полиморфные вирусы наиболее актуальны. Они написаны таким образом, что могут сами, в автоматическом режиме изменять свой код, при этом еще и шифруя его. 
[17:40:01] <realbin> Таким образом, создается возможность для генерации нового бинарного ключа или для идентификации другой, особенной сигнатуры. 
[17:40:25] <realbin> Чтобы обойти эвристику, проще всего скрыть весь вредоносный код. Чаще всего используют шифрование, ибо самый легкий способ 
[17:41:03] <realbin> Срабатывания антивируса можно будет избежать, если двоичный код не вызовет у него подозрений, а загрузчик-расшифровщик не станет выполнять, по его мнению, каких-либо вредоносных действий. 
[17:41:46] <realbin> Основная сложность состоит в обходе динамического анализа. Когда малварь запускается в песочнице и ее анализируют совместно, при помощи предыдущих двух методов: сравнивание с сигнатурами и эвристическим анализом. 
[17:41:55] <realbin> Сокрытие от динамики состоит из двух моментов. 
[17:42:09] <realbin> Первый - механизм саморасшифровывания должен быть необнаруживаемым. 
[17:42:22] <realbin> Второй - фаза расшифрования не должна быть исполнена антивирусом. 
[17:42:46] <realbin> Есть несколько тонкостей и ограничений в работе антивирусов, которые криптер может и должен использовать в своих целях. 
[17:43:23] <realbin> Так, при динамическом анализе сканирование происходит на очень высоких скоростях и, в этой связи, имеет жесткие ограничения для количества операций в каждом отдельном сканировании. 
[17:43:39] <realbin> При эмуляции окружения спецификации устройства и окружение вредоноса неизвестны. 
[17:44:00] <realbin> Наконец, эмулируемое окружение имеет некоторые спецификации, которые могут быть обнаружены вредоносом. 
[17:44:23] <realbin> Крипт - дело сложное: требуется заменить очень и очень многое, от описания процесса до названия в автозагрузке. 
[17:44:46] <realbin> Все методы обхода антивирусов неплохо задокументированы, и ваш криптер обязан их знать. Будем считать, что это так. 
[17:44:57] <realbin> Нам, для общего понимания хватит небольшого ликбеза. 
[17:45:02] <realbin> Инъекции кода. 
[17:46:25] <realbin> Представляют из себя внедрение кода в другой процесс. Как правило, это осуществляется посредством dll-инъекций, однако, есть и ряд других методов. Основной трудностью данного способа является поиск метода выполнения нашего кода. Это довольно сложный подход и требует продвинутого навыка у криптера. Тут даже употребление слова “криптер” не совсем верно. Скорее, это вирусописатель, кодер, реверсер и криптер в одном флаконе. 
[17:46:31] <realbin> RunPE- метод. 
[17:47:13] <realbin> Метод заключается в замене кода процесса при его запуске в другом процессе на желаемый вами код. Разница с инъекциями в том, что при в первом случае мы получаем отдельный процесс, а в RunPE мы подменяем уже существующий. 
[17:47:45] <realbin> Эти два способа реально трудоемки и сложны, а поэтому я даже не надеюсь на то, что аутсорсный криптер возьмется за нечто подобное (банально нет квалификации). 
[17:48:08] <realbin> Соответственно, ниже мы рассмотрим более тривиальные методы, которые под силу большинству криптеров средней руки. 
[17:48:47] <realbin> Я упоминал о временном ограничении, отведенным антивирусу на проверку кода. Самым простым способом будет растянуть максимально требуемое время для полного сканирования нашего вредоносного кода. 
[17:49:07] <realbin> Как пример, это может быть выделение 100 млн. байтов памяти. Любая эмуляция поднимет лапки кверху. 
[17:49:36] <realbin> Минус в том, что хорошая система мониторинга может поднять красный флаг. Зато сигнатуру писать не на чем. Строк-то никаких нет, на чем основываться? 
[17:50:06] <realbin> Дальше можно попытаться открыть несуществующую веб-страницу. Этот метод часто используется, чтобы понять, находится ли малварь в песочнице или нет. 
[17:50:34] <realbin> Есть еще более простые методы, и ваш аутсорсный криптер, скорее всего, парень именно из этих: шифровка секции кода по константе, например. 
[17:50:53] <realbin> На самом деле, вы должны задать вопрос своему криптеру, как он криптует. Посредством чего? 
[17:51:04] <realbin> И он должен вам внятно ответить, что именно он делает. 
[17:51:41] <realbin> Если будет отнекиваться и в грубой форме намекать на то, что вам это не надо - скорее всего, это школотрон, использующий автоматические склейщики, автокрипторы и прочую ересь. В бан его. 
[17:52:00] <realbin> Ну, и напоследок, на какие онлайн антивирус анализаторы нельзя заливать криптованный файл? 
[17:52:05] <realbin> novirusthanks.org 
[17:52:06] <realbin> virustotal.com 
[17:52:12] <realbin> virusscan.jotti.org 
[17:52:13] <realbin> virscan.org 
[17:52:18] <realbin> metascan-online.com 
[17:52:30] <realbin> www.virusimune.com.br 
[17:52:41] <realbin> Можете отписать в телегу @darki_dick очень не плохой криптор, только детет от есет32, а так файл держиться очень долго
[21:02:21] <Mexanik29> в общем , криптование это сложная штука для новичков и нужны профи для этого. Я хотел бы спросить есть для простых пользователей альтернатива криптованию? 
[21:03:01] <Lektor> Альтернатива криптованию файла-вируса = не криптовать его :D 
[21:03:15] <Lektor> Но в таком случае отстук сильно упадёт 
[21:03:25] <Lektor> Ибо многие используют антивирусы 
[21:03:36] <Lektor> Но в целом если софт хороший и обновляемый, с чисткой билда 
[21:03:45] <Lektor> Тоа отстук 60+ процентов и без крипта может быть 
[21:03:56] <Lektor> Но есть сервисы по крипту 
[21:03:59] <Mexanik29> ясно, спасибо за лекцию 
[21:04:11] <Mexanik29> про сервисы понятно 
[21:04:25] <Mexanik29> Еще лекции будут? 
[21:04:26] <Lektor> Им отдаём и за оплату (в среднем 15-20 дол.) получаем полностью криптованый файл 
[21:04:32] <Lektor> Это последняя 
[21:04:39] <Mexanik29> ясно, спасибо

Комментариев нет:

Отправить комментарий