Как стать автором
Обновить
65
0
Сергей Прилуцкий @BoogerWooger

Software Researcher

Отправить сообщение
Я имел в виду, что если файл чист, а антивирь его забанил (false positive) — это не так страшно, как если файл заражен, а антивирь его пропустил (false negative).

Вы правы, классических вирусов сейчас практически нет, оно и понятно, писать их очень накладно, а профита не так много, как, например, в случае оперативного эксплойтинга какой-нибудь новой дырки. Я, собственно, поэтому статью и написал именно про вирусы, вряд ли я смогу рассказать про руткиты, трояны и malware больше, чем уже написано на хабре.
Мне кажется, что в антивирусной компании дерутся за каждый новый полиморф, т.к их очень мало и разбирать их намного интересней чем клепать сигнатуры для десятков тупых неизменных бинарей.

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

Про угрозы, с которыми Mail.Ru имеет дело я не смогу написать, т.к. не работаю в отделе безопасности, сам бы почитал с удовольствием
Уважаемые читатели, не хочу обидеть ничьих чувств к моей любимой компании. Ваши комментарии очень классные и остроумные, но я бы предпочел комментарии от программистов.
причем тут вообще Guard.Mail.ru?
Поправил, спасибо.
Спасибо за спасибо. Антивирусы, помимо общих алгоритмов противостояния вирусам и в плане производительности тоже достойны уважения. Оптимизировать сравнение по сотне тысяч сигнатур на произвольных данных задачка очень непростая, поэтому когда жалуются «этот свинский антивирь съел весь процессор» мне антивирус немного жалко, он же работает, старается…
Я занимался этим вопросом около шести лет назад и под Linux. После анализа нескольких вирусных движков, и, учитывая, что подавляющее большинство исполняемых файлов в Linux скомпилированы и слинкованы стандартными компиляторами, удалось в эвристик затолкать пару десятков признаков, которые показывали точность около 90% (т.е. 90% сэмплов, зараженных вирусами эвристик считал зараженными). Но это палка о двух концах, этот же самый эвристик ругался на файлы, с коммерческой защитой — поэтому думаю, что если бы мне удалось собрать 100 экземпляров здоровых защищенных файлов, эвристик на 90% из них ругался бы тоже. В антивирусных базах для борьбы с этими «false positive» есть специальные «хорошие» сигнатуры, которые говорят антивирусу, что это защита, а не вирус.

Поэтому называть эвристик отдельным механизмом детектирования не совсем правильно, он работает только в комплексе с другими методами. Например — нашли нестандартный пролог файла, значит надо запустить дизассемблер, посмотреть куда ведут переходы из пролога, и уже там «пошуровать» сигнатурным, например, сканером. Я во второй статье напишу про эвристик намного более подробно. Надеюсь, ответил на вопрос.
Угу, именно так. Если писать код, прыгать с шаблона в код и обратно тремя кнопами мне, например, не очень удобно. Субъективно, конечно, но очень хотелось эдакий xterm под Windows
Спасибо, ух полезная тема! Чувствую, что почитав комментарии к своей статье, легко сгенерирую новую :)
Да, здесь:
screen -t AUTO1 /bin/bash
ты именуешь табы (AUTO1, AUTO2 и т.п, например:

screen -t CONSOLE1 /bin/bash
screen -t MYSQL1 <запуск bash с открытием консоли>
screen -t PERL1 /bin/bash
screen -t PERL2 /bin/bash

а если тебе надо, чтобы в названиях табов было больше всякой полезной инфы(пути может, серваки, и т.п.), возишься вот с этой строкой в .screenrc_<твойпроект>

# эта строка как раз рисует табы внизу, в строке состояния, подсвечивает текущий и т.п.
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{y}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'

для этого читаешь доку по «hardstatus» в screen. Как я сказал, я ленивый и стырил эту строку у отцов
Открытие мускуля у меня сделано алиасом, и реализовано как раз в разделах «if PROJ=='auto'», я не стал приводить их из соображений безопасности. И одна и та же команда открывает в разных проектах разные консоли.

Спасибо, подумаю, надо только выбрать какой-нибудь кейз поконкретней. Вообще за «потрогать боевой SQL сервер» у нас расстреливают уже давным-давно, доступ есть только к read-only реплике, а multiplexing вообще что-то не могу сообразить к чему прикрутить в процессе разработке
У нас один очень большой бесперебойник на всех :)
выдают, просто многие предпочитают стационарные компы
да, народ хвалит, обязательно заценю, спасибо
12 ...
9

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность