Pull to refresh

Comments 32

Ничего не понял.

Вот делаю я make bzImage — этот файл теперь вирус? Ибо появился у меня в домашнем каталоге, мимо всех систем управления версиями…
Это решаете только Вы. После того, как Вы собственноручно создали файл с исполняемым кодом, Вы можете как объявить его эталоном, так и не делать этого.

Например, если Вы скомпилировали ядро с некими тестовыми целями (добавив или исключив те или иные функции по сравнению с заданными для машины, на которой выполнялась компиляция), объявлять эту версию эталоном для данной машины нецелесообразно.

Если Вы, напротив, уверены в корректности ядра именно для данной машины, смело декларируйте, что это эталон для данной машины. С этого момента — по правилам: бэкап, MD5, верификация и т.п. (детали зависят от того, какие именно Вы установили правила в Вашей корпоративной или домашней компьютерной системе). В серьезной организации MD5 файла записывается в журнал с подписью ответственного руководителя. Для бытового компьютера это не имеет смысла.
Вы меня не так поняли. Что нужно использовать нормальную систему управления пакетами я не возражаю.

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

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

Если коротко, то ключ к решению поставленной Вами задачи — CIO с многолетним опытом. Самое главное — человеческий фактор. Хороший специалист разработает систему для небольшой программистской компании за 2-3 недели (т.е. в пересчете на зарплату CIO, эта работа стоит всего лишь порядка 1-1,5 дорогого ноутбука). Если, конечно, речь идет о производстве шутеров, веб-сайтов или офисного ПО, а не бортовых ПЛК для авиации. Если будет производиться что-то более серьезное, чем шутеры, то себестоимость разработки рабочей среды, конечно, будет намного больше. Очень важная деталь — инструкции для всех сотрудников и механизм координации их работы.

В упор не вижу сложности. У меня тут три человека программистов сидят — совсем простые рабочие места — убунта и две макоси, гит, меркуриал и, собственно всё.

Да и у меня в ~/repo тоже много всего лежит. Главное, чего я не могу понять, нафига на это всё накручивать всякие сложности? Зачем сложно, если можно сделать просто?
Мы не даем рекомендаций применительно к конкретным проектам. Тем более, что Вы профессионал и не видите сложности в создании надежной системы. То, что удалось Вам, не удалось сотням компаний, в том числе международного уровня.

Тема статьи — вопросы формализации определения компьютерного вируса. Эта тема не имеет отношения к конкретным операционным системам, названиям каталогов, количеству рабочих мест в компании и так далее.
Можно уточнить, что именно не удалось? Я вот вижу, вполне нормально коммитят в репозитории (тот же гитхаб) — и всё отлично.
Им не удалось обеспечить безопасность от вирусов, от хакеров, от проникновения в систему извне.
Это сильно смахивает на шарлатанство.

«Вы все скоро мучительно умрёте, если не поставите наш чудо-антивирус всего за $9.99»

Многим компаниям просто насрать. Ставят триал касперыча, когда сдыхает, ставят нодъ, etc. Щас аверов развелось многа, на год точно хватит.

А дальше переставить винду. Ну или забить. Если аккуратно работать, никаких вирусов не будет. Я не юзал антивирусы никогда. Ставлю несколько патчев на винду типо 08-067 и всё ок.

Пару раз заражался вирем — один раз собственным, ещё один раз ковырялся в дебагере и запустил его, немного просчитавшись. Почистил систему и всё снова стало нормально. Тока было это лет 5 назад)
Существует эпичная книжка — Варфоломей Собейкис «Азбука ХАКЕРА 3: Компьютерная вирусология»
Нагугливаетсо по filetype:pdf
В этой книжке дано наиболее кошерное определение вирьков
Прям распечатывай да вешай на стенку

Алсо есть прикольный цикл статеек от Billy Becelbu, который мона откопать тута
wasm.ru/publist.php?list=6

А вот что касается текста поста…

> Вирус был определен как рекурсивная функция, соответствующая некоторым описанным критериям и выполняющая отображение («map») эталонной программы на другую, считающуюся зараженной.

Такой херни даже самые тупые преподы по матану не говорили. Хотя по умению мутить воду с ними врядли кто-то может потягаться.
Читайте первоисточник. Мы привели ссылку на оригинал работы Адлемана.
Даю определение. Вирус это то, что считает вирусом антивирус!!! )) И попробуйте доказать обратное.))
Вы правы: и такое определение, безусловно, имеет право на существование в рамках довольно широкой сферы применения :)
«Вирус — это %блаблабла% %блабла% %блаблабла% %бла%». Именно так сей пост можно вкратце охарактеризовать. Нудная хрень.
Если это Вам не интересна, просто скажите, что это не интересно Вам. Я почитал всю статью, вполне познавательно.
Вы говорите про журнал, а вы не знаете что даже бекапы забывают делать.
Знаем :) Но BitDefender — это европейская компания. Одна из наших миссий — способствовать повышению общей культуры применения информационных технологий на всех рынках, где мы работаем.
Позвольте и мне подкинуть пару строчек.

В статье речь идет почему-то только о вирусах, изменяющих код других исполняемых файлов (или скриптов). Если бы все было так просто — антивирусы были бы не нужны, достаточно на уровне ОС запретить изменение компонентов ОС, скриптов и исполняемых файлов (кроме изменения программой самой себя при обновлении с оф. сайта).

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

Лучший способ борьбы с вредоносными программами (при этом не уменьшая функциональности компьютера) — минимизировать наносимый пользователю вред, а имеенно:

— запретить полностью программам модифицировать компоненты ОС (верифицируемая загрузка + драйверы только с подписями производителя + отзыв драйверов, код которого выполняется до згрузки этих самых драйверов)
— запретить программам модифицировать любые файлы в системе, кроме своих собственных и явно указанных пользователем
— запретить возможность скрытого (без информирования об этом пользователя) запуска любых приложений. Также, запретить возможность программам скрытно выполняться в фоновом режиме без информирования пользвоателя. Сделать возможным надежное завершение пользователем программы и порожденных ей процесов в любой момент.
— Пользователь должен иметь возможност в любой момент надежно удалить любую программу
— установка в систему новых программ возможна только с явного согласия пользователя.

После этого, получается абсолютно безопасная среда (безопасная не считая ошибок в компоненте ОС, управляющем загрузкой драйверов и распределением полномочий), в которой можно выполнять любой код, ставить любые программы (и ходить на любые сайты, да) без риска заразиться. Правда, возможность просить данные кредитной карты, отправить СМС, провести ДДОС- или любую другую сетевую атаку, разослать спам у программы остается. Но она не может этим нанести вред пользователю, так как если он заметит, например, замедленеие работы, или повышенное потребление трафика, он может завершить и удалить программу.

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

Если отправку платных СМС и подписку на СМС-услуши сделать возможной толкьо через сайт оператора, мошенники (и опреаторы правда тоже) не смогут получать доходы путем непоного информирования пользвоателя о реальной стоимости и получателе услуги.

Для борьбы с фейковыми антивирусами (которые якобы находят вирусы и просят денег) тоже достаточно запретить прием платежей по картам через сомнительные сайты и анонимные платежные системы. Ну и плюс, если все будут знать что система защищена от вирусов, никто не станет покупать этот фейковый антивирус :)

Ну а что касается спама, и ДДОС-атак, ну да, программы могут делать это скрытно, и что? Если они не замедляют и не нарушают работу системы, кому это мешает? Никому. Некоторые пользвоатели даже, возможно будут рады, например, нанести вред вражескому государству или какому-нибудь исламисткому сайту.

Конечно, тут остаются маленькие шансы для фишинга, нахождения уязвимостей в механизме защиты ОС, но все равно, массовые эпидемии вирусов будут невозможны, тем более что среди вирусописателей и хакеров грамотых людей мало, большинство из них пишут свои недовирусы на каком-нибудь Дельфи, и ломают сайты через примитивные SQL-инъекции, знакомые каждому школьнику, с таким уровнем знаний к хорошо защищенной системе им за всю жизнь не влезть.

Ну а получатели СПАМа и жертвы ДДОС-атак смогут задуматься о переходе на более новые и проработанные сетевые протоколы, а не на митовское старье 40-летней давности. В любом случае, защищаться от сетевых атак и спама должен получатель и инфраструктура, а не обычный пользвоатель сети.

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

Читайте следующие выпуски нашего блога. Их будет много, и в каждом будет затронута та или иная актуальная проблема теории или практики ИБ.
> считать вирусом любое внедрение постороннего кода
А как быть с интерпретаторами скриптов, например в браузерах. С одной стороны это не внедрение, т.к. код браузера не меняется, с другой — посторонний код исполняется.
Подумайте, каким образом на Вашем компьютере оказалась программа, готовая исполнить все, что ей будет велено извне, из Сети? :) Зачем Вы на это согласились? Как именно Вы, соглашаясь, планировали обеспечить свою безопасность в Сети?

ActiveX, Flash Player, множество других аналогичных проектов — в основе всех их лежит идея готовности клиента исполнять все, что поступит с сервера. Практика последних 15 лет показывает, что не помогают ни сертификаты, ни песочницы, ни другие ухищрения.
Код пишут на разных языках, не только на asm. Пишут на С, на JS и других скриптовых языках. Можно на shell писать. Это все называется кодом, только уровни исполнения разные.
Знаете, Ваши тексты мне напоминают вот это гениальное произведение: www.55522.ru/
Несмотря на критику, спасибо за ссылку :) Произведение и в самом деле отличное :)
Интересно… Но, мне думается, поздновато.

Сейчас malware в 99.9% реализован не как вирус, а как червь или троян — так?

Потому матмодель червей и троянов будет гораздо интереснее читать.
Так и хочется вспомнить великие слова «зри в корень»…

Вирус это в первую очередь компьютерная программа. Более того, безобидная но дырявая программа может исполнять обязанности трояна. Единственное отличие многих «нормальных» программ, лишь то что человек установил их себе добровольно.

Таким образом:
— Что такое вирус?
— Это набор байт
— Как его обнаружить?
— Как и любую другую программу, запускается значит программа.
— Как отличить что программа вирус?
— Со 100% уверенностью никак.
… а пока лучшие умы антивирусных компаний ломают голову над формально правильным определением вируса, их модные технологии эвристики и антивирусного краудсорсинга демонстрируют катастрофически низкое качество работы. «Какова вероятность что это вирус? 50/50 — либо вирус, либо нет.»

Говорю как разработчик программы, домен которой вот сейчас висит в вашем (битдефендоровском) малваре листе. Плохо вы работаете, господа. Надо не теорию в интернетах постить, а делом заниматься и следить за качеством своих продуктов.
Такого рода вопросы не решаются в блогах. Если Ваша разработка несправедливо попала в черный список какой-либо антивирусной компании, свяжитесь с ее представителями в Вашей стране. Возможно, выяснится, что угрозы нет. Вы уже звонили в представительство BitDefender?
Давайте я вас арестую за изнасилование, до суда пару недель посидите в камере, а потом вы будете доказывать что это не вы?

Ложное срабатывание наносит непоправимый ущерб репутации продукта, и огромные денежные убытки которые физически невозможно даже подсчитать. Это как раз тот случай когда «лучше отпустить десять виновных, чем посадить одного невиновного»
Наверное тон моего сообщения произвел неправильное впечатление :) Я в общем-то хочу указать на проблему, которая реально существует и чем больше антивирусные компании отходят от типичных сигнатурных срабатываний к эвристикам и краудсорсингу (для этого же вы пытаетесь в своем посте определить что есть суть вирус, не из чистой философии же? :)) — тем острее эта проблема становится.

Так вот. На самом деле вот эта проблема ложных краудсорсинг срабатываний по отношению к именно нашему софту — она есть практически у всех зарубежных антивирусов, которые пытаются (или не пытаются) войти на российский рынок. То есть идея простая — видят лсп и автозагрузку — вирус! Мы пытались одно время как-то это решать, но потом поняли, что собственное время дороже одного процента пользователей симантека, битдефендера и прочих. Опять таки этой проблемы нет у топ3 антивирусов российского рынка.

Понятно, что вся эвристика и краудсорсинг это статистика в чистом виде. опустил порог срабатывания — больше детектов, больше ложных срабатываний, выкрутил назад — меньше дектектов, меньше ложных срабатываний. Но наверное все же в консерватории что-то не так, раз у лидеров это работает нормально, а у вас — нет.

Так что пока у вас нет значимой доли на рынке, нас эта проблема беспокоит постольку-поскольку. Нас детектят как вирус, мы публично отвечаем пользователям, что они используют плохой антивирус и что его следует поменять на что-то более приличное :) Так что тут паритет. Но по-хорошему, перед тем, как придумывать вирусам формальные определения и загонять их в свои анализаторы, антивирусным компаниям следовало бы хорошо подумать, какие проблемы эта стратегия будет порождать, и как их устранять. А вот это пока не очень наблюдается.
О, как интересно! Это что ж за программа у вас такая, с «автозагрузкой»? )) Может правильно в ней антивирусы видят нечто не-хо-ро-шее? )) Оч. хочется взглянуть. Вы бы рассказали народу о своей чудо-программе, представили ее на суд общественности…
Вы правда программист? Есть сомнения… Тут рассказали о том, как два файла сравнивать. Это азы, между прочим, это даже дети на информатике проходят. Сравнить два exe-файла, оригинал А и рабочий файл Б. Если отличаются, значит подозрение на вирус, надо восстановить Б из резервной копии А. И вы на полном серьезе решили, что это называется «эв-ри-сти-ка-ми»? ))))) Еще в MS-DOS команда такая была, fc /b. Не слышали, нет? ))
Ох, если вам сравнение двух файлов «эвристиками» кажется, то я бы от ваших программ держался подальше, на всякий случай )) Кстати, они хоть в официальных магазинах продаются? Коробочные версии есть? Или что-то самодельное? Ссылочку можете предоставить? ))
Меня не очень интересуют мнения о моей деятельности людей с кармой -20 и без каких-либо профессиональных знаков отличия в профиле. Судя по сотне ваших комментариев единственная область, в которой вы хоть что-то умеете — это троллинг. Да и то весьма посредственно, раз ваши провокации не срабатывают.
Так что у вас пока кишка тонка претендовать на бытность судом общественности.
Sign up to leave a comment.