Как остановить червей раньше, чем они остановят Internet?
Кто виноват? Может ли это повториться? Насколько серьезна угроза? Как защититься сейчас и в перспективе? Все эти вопросы были заданы ведущим русским экспертам по компьютерной безопасности и производителям выдающихся решений в области антивирусной безопасности.
Кстати, если вы не интересуетесь проблемой червей – не спешите переворачивать страницу: в этой статье обсуждаются и другие интересные вещи, как мировозренческого, так и чисто практического свойства.
Червь SQLSlammer (также известный как Helkern и Sapphire) – далеко не первый, хотя и самый серьезный на сегодня случай. Уже год в сети живет червь Codered, не причиняющий столь крупного ущерба, но все же не позволяющий расслабиться никому, имеющему свой веб-сервер. Периодически возникают новые черви, распространяющиеся через электронную почту.
Для начала – кто и зачем создает таких червей? Хулиганы, экспериментаторы, профессионалы, выполняющие чей-то заказ?
Евгений Касперский, www.avp.ru (К):В целом, и те и другие. Большинство, конечно, это хулиганы, подрастающее поколение, страдающее геростратовой манией величия.
ЗАРАЗА, http://security.nnov.ru (З):Обычно — люди, которым это необходимо для самоутверждения, чтобы показать "вот какой я крутой". Именно поэтому во многих червях (особенно в почтовых) есть сведения об авторе, вполне достаточные чтобы вычислить автора. Но при этом следует различать стандартные почтовые черви и черви типа червя Морриса, Codered или Slammer, про них разговор отдельный.
Алексей Лукацкий, www.infosec.ru (Л):Я бы добавил в этот список и начинающих программистов ;-) Ведь не секрет, что многие оттачивают свое мастерство именно на т.н. разрушающих программных воздействиях, как их в свое время назвали в одной из книг по безопасности. Раньше это были вирусы. Теперь, с развитием Сети, такими воздействиями стали черви.
Cybervlad, www.bugtraq.ru (C):Менее всего я бы склонялся к заказной версии. Т.е. это, конечно, возможно, но до понимания этого, к счастью, еще не доросли потенциальные заказчики. К перечисленным выше категориям можно еще добавить экспериментаторов-исследователей, пожелавших на практике проверить «скорость распространения» (вспомним червя Морриса).
Фернандо де ля Квадра (Fernando de la Cuadra), международный технический обозреватель компании Panda Software (Panda Software International Technical Editor): (ФК):Червей и вирусы создают программисты, у которых много свободного времени и злобных намерений. Таким образом они просто пытаются заработать себе славу, хотя в то же время они скрывают авторство по причинам собственной безопасности. Обычно у них нет никаких определенных целей, кроме уничтожения информации и нарушения работы сетей. Некоторые из этих людей пытаются похищать пароли. Я убежден в том, что создатели вирусов не работают на кого-то заказчика.
Последствия червя Slammer были ликвидированы в течение суток. А сколько времени может продлиться неработоспособность Internet в результате нового червя?
К:Сколько времени? Зависит от атаки. Если это будет типа SQL Helkern — от получаса до двух часов (ровно столько, сколько потребуется админам для затыкания дыр). Если, конечно, следующая эпидемия не перекроет текущую :) Если это будет более "продвинутая" атака, то времени может потребоваться больше, поскольку придется разрабатывать более "продвинутые" фильтры для отсева вирусных запросов от запросов легальных.
З:Если предположить, что появится червь использующий уязвимость в ядре широко используемой ОС, которому не требуется наличие дополнительного ПО, если этот вирус начнет выполнять атаки на базовые маршрутизаторы или корневые DNS-сервера, то сеть может выйти из строя на довольно продолжительное время (например, порядка недели, или даже больше). Сильнее это затронет те участки сети, где нет грамотного администрирования (например сети Восточной Азии, Южной Америки и т.д.) Но, в конечном итоге это приведет к тому, что наконец-то появится механизм взаимодействия между провайдерами, который будет гарантировать, что подобное больше не повторится (как в свое время эпидемия червя Морриса положила начало компьютерной безопасности как таковой).
Л:Все зависит от того, какие дыры использует червь. Уже известны дыры в сетевых протоколах CDP, OSPF, IRDP, HSRP, BGP, MPLS и т.д. Все это может привести к тому, что вся сетевая инфраструктура будет нарушена на достаточно длительное время, которое может измеряться часами и днями (в зависимости от расторопности админов и производителей).
C:Зависит от агрессивности «зверька». Допустим, появляется зверек типа Helkern, но ориентированный не только на сервера, но и на энд-юзерские компьютеры. Админы, конечно, быстро заткнут дыры на своих серверах, поставят патчи и т.п. Безалаберность же конечных пользователей может приводить к интенсивному повторному заражению, и, если червь достаточно агрессивен, то и забиванию каналов, с логично вытекающим отсюда DoS для всех. Сколько пройдет времени, пока ВСЕ провайдеры настроят фильтры, не пропускающие червя, неизвестно.
Пользователи, в отличие от администраторов серверов, очень медленно учатся борьбе с червями. Для сравнения – опасных червей, настроенных против серверов, было всего два, а вот число опасных червей, настроенных против пользователей, давно перевалило за десяток.
ФК:Сеть Internet очень велика, поэтому черви могут лишь ухудшить условия работы в ней, но она всегда сумеет «выжить». Не стоит забывать, что сеть Internet изначально была создана с учетом возможности функционирования без какой-то части компьютеров, входящих в нее. Как показал нам SQLSlammer, Internet может быть поражен на какое-то время, но он никогда не прекратит свою работу навсегда. В худшем случае «простой» продлится лишь некоторое количество часов.
Интернет – не только средство поболтать с человеком из другого города или скачать реферат. Сегодня через Интернет идет деловая переписка, значительная часть банковских денежных переводов, и даже антивирусные программы получают информацию о новых вирусах через Internet. Какие экономические последствия может иметь червь для конкретного предприятия, провайдера, страны, мировой экономики?
Л:Достаточно вспомнить, что ущерб от ILOVEYOU в 2000 году составил 15 млрд.долларов США. Сейчас черви более опасные и, соответственно, ущерб более высок. Кроме того, уже зафиксированы случай банкротства предприятий (например, английский провайдер CloudNine в начале 2002 года) вследствие компьютерных атак. Так что последствия очень и очень серьезны. К сожалению не все это понимают и адекватно оценивают угрозу.
С:В любом бизнесе самое страшное — когда он останавливается и перестает приносить прибыль. Если банк перестает обслуживать клиентов, он не получает от них комиссионные и сам платит неустойку. У его клиентов срываются сделки, они несут убытки и так по нарастающей. Аналогичная ситуация и у провайдера. Можно придумать примеры и в других отраслях.
ФК:С экономическими последствиями часто сталкиваются компании, деятельность которых затрудняется или даже приостанавливается при атаке вируса или червя. В таких случаях организации несут значительные убытки. Следует учитывать тот факт, что компании являются последней границей сети Internet, концом цепочки. Internet провайдеры в этом смысле являются более независимыми, так как обычно они располагают большими ресурсами (соединениями и системами) для избежания проблем. Наконец, государства и мировая экономика наиболее устойчивы относительно компьютерных вирусов, ну и, конечно же, намного сильнее, чем некрупные хозяйства компаний. Однако и в случае государств существует вероятность нанесения серьезного экономического ущерба. Конечно, она очень мала, но все же существует. Если такое произойдет, то это окажет очень серьезное влияние на весь мир. Только представьте, сколько миллиардов евро постоянно вращаются в сети Internet. Если эти потоки не смогут попадать из одного места в другое, последствия будут непредсказуемыми.
Ох, не хотелось бы убедиться в справедливости предсказаний :) Теоретически, можно сделать очень большую бяку. А практически – насколько это сложно?
Л:Все зависит от целей. Если нужно завалить Интернет, то нужны нехилые знания. Если же только стоит задача насолить своей конторе (особенно если в ней нет средств защиты), то создать червя можно за несколько минут, используя генераторы червей (например, Senna Spy Internet Worm Generator или Vbs Worm Generator) или взяв за основу исходный текст того же Slammer'а.
С:Знания, конечно, нужны. Но не стоит забывать о наличии тулкитов для создания паразитов. Уровень подготовки, необходимый, чтобы сделать гадость при помощи тулкита не столь высокий, как для создания червяка «с нуля». При этом наблюдается странная закономерность: чем выше уровень знаний, тем меньше желание сделать гадость. Пока тулкиты наблюдаются в основном для почтовых червей, но где гарантия, что какая- нибудь добрая душа не изладит visual builder для Slammer-like зверюшек?
ФК:Все зависит от типа червя. Если вы имеете достаточные знания и действительно злые намерения, то серьезный ущерб может быть нанесен миллионам компьютеров. Вспомните червь «I Love You», состоящий всего лишь из нескольких строк на Visual Basic, однако нанесший огромный ущерб, или SQLSLammer, размером всего 376 байт. С другой стороны, многие действительно сложные вирусы практически ничего не делают. Все зависит от предпринимаемых на компьютерах/серверах мер и степени защищенности их систем. В сети же степень ущерба, наносимого вредоносными кодами, в большей степени зависит от воображения их создателей.
К:Увы и ах, сейчас этот процесс абсолютно бесконтролен и возможность свободно создавать червей подобных Helkern есть у любого человека. На мой взгляд события с этим червем развивались по следующей схеме. "Дыра" с SQL Server 2000 была найдена в июле 2002 г. Примерно в то же время появился пример "эксплойта". И только спустя полгода автор Helkern таки обратил на него внимание, добавил процедуру распространения и выпустил на волю.
З:Для этого, несомненно, требуется и стечение обстоятельств и специальные знания. Поэтому подобные вирусные атаки не могут быть частыми.
Перейдем к практике. Что делать, чтобы бороться с угрозой червей? Что должны сделать прямо сейчас:
- простые пользователи
ФК:Простые пользователи: учиться, учиться и еще раз учиться. Для управления автомобилем каждый должен иметь водительское удостоверение, а в сети Internet без проблем может перемещаться и семилетний ребенок. Я не призываю к введению «прав на перемещение по сети», но каждый человек с мышью в руках и экраном перед глазами должен знать, с чем он имеет дело.
- администраторы серверов и локальных сетей
З:Администраторы должны иметь высокую квалификацию (очень неплохой вариант — это обязательная аттестация любого человека, допущенного к администрированию сетевого оборудования и сетевых систем), ни в одной стране нельзя заниматься медицинской практикой, не имея специального образования. Компьютерные системы системы давно стали не менее сложными, чем человеческий организм. Администраторы должны следить за актуальностью установленного ПО. До сего момента все серьезные инциденты, связанные с червями, были напрямую вызваны безалаберностью или недостаточной квалификацией системных администраторов. Администраторы не должны верить в security through obscurity. Например, использование антивирусных программ не является защитой от вирусов или червей и не гарантирует такой защиты, хотя и является полезным. Защитой же является правильная организация работы пользователей и сетевых служб, при которой ошибка или сбой в работе пользователя или службы не повлечет серьезных последствий. В плане безопасности у червей есть одна замечательная и положительная сторона — это индикатор безопасности. Везде, где прошел червь может пройти любой атакующий. Т.е. если вашу организацию затронула эпидемия червя, вам нужно срочно предпринимать меры, вплоть до пересмотра политики безопасности и замены системных администраторов.
C:«Запрещено все, что не разрешено явно». Если придерживаться этих принципов, многих проблем можно избежать. Применительно к последнему инциденту: я с трудом могу себе представить ситуацию, в которой бы было необходимо, чтобы порт SQL-сервера был открыт наружу. Технически это реализуется установкой межсетевых экранов на границах сетей и антивирусных программ на серверах/рабочих станциях; плюс своевременное обновление антивирусных баз и установка сервиспаков и заплаток. Установка так называемых «персональных файрволов» на рабочие станции пользователей, на мой взгляд, явление вредное. Большинство из них (пользователей) не понимает зачем это нужно, как оно работает и какие ручки крутить. В результате либо открывают все подряд, либо доводят до белой горячки админов вопросами «а вот оно пытается открыть порт ХХХ, это атака, да?».
Л:Антивирус с ежедневным обновлением (лучше чаще), межсетевой экран (или нормальный ACL на роутере), система контроля содержимого почты и веб-трафика, система обнаружения атак. Про антивирусы можно говорить много и долго. Скажу только, что отличие в обнаруживаемых вирусах у разных производителей практически нет. Экраны тоже уже многим набили оскомину. Выбор здесь большой – от бесплатного ipchains до коммерческих Cisco Pix и CheckPoint Firewall-1. Контроль трафика сейчас у многих на слуху и в Россию ринулись многие западные производители, в частности Clearswift. Из систем обнаружения атак могу выделить решения Internet Security Systems, которые обнаруживают не только сетевые атаки, но и атаки на операционные системы, базы данных и рабочие станции. С целью найти дыру до того, как ее найдет червь, нужно использовать сканер безопасности. Сканеров на российском рынке представлено также много, как и МСЭ — от бесплатных Nessus и Xspider и заканчивая таким монстром, как связка Internet Scanner+System Scanner+Database Scanner+Wireless Scanner от ISS. Ну и разумеется, у админа должны быть умелые руки, чтобы все настроить соответствующим образом.
ФК:Администраторы серверов и локальных сетей: три или четыре года назад выпускаемые из университетов студенты начали гордо заявлять, что они «сетевые администраторы». Но ведь сетевое администрирование – это очень трудная работа, требующая много опыта и знаний. На сегодняшний день налицо недостаток квалифицированных администраторов, действительно понимающих, с чем они имеют дело и как решать те или иные проблемы. Выход все тот же – учиться.
К:Антивирус (с регулярным, не реже раза в день) обновлением базы данных; проверка всех присылаемых объектов (входящего трафика); немедленная установка новых патчей к используемому ПО; установка файрвола.
ФК:Panda Antivirus Appliance эффективно защищает систему от SQLSlammer! Практически все типы червей используют ту же систему распространения, что и этот. Вам просто необходимо установить действительно эффективный перехватчик информации, передаваемой по протоколам. Все остальное просто.
Многие советуют антивирусные программы как средство борьбы с червями. Допустим, червь поразил весь интернет за сутки (как было в случае с червем Slammer). Поможет ли от него антивирус, проверяющий весь трафик, если период обновления его вирусных баз — один день (типичная ситуация)?
Л:Поможет от чего? Обнаружить факт заражения? Да, поможет. Обнаружить факт распространения? Нет, не поможет.
А что делать, если очередной червь парализует работу Интернета как получать обновления для борьбы с ним? Учитывая вышесказанное, можно ли считать защиту от червей с помощью антивирусов достаточно эффективной?
ФК:А если еще и пожар в здании? OK, я шучу. Если червь приостановит работу сети Internet, никто не будет способен сделать что-либо. Несомненно, антивирус должен всегда быть обновленным, но при этом очень важен способ обновления. Даже если вы настроите антивирус таким образом, чтобы он автоматически обновлялся раз в день, у вас могут возникнуть проблемы. Необходимо иметь постоянное соединение с поставщиком вашей антивирусной системы для ее обновления всякий раз, как только это будет возможно.
Л:Антивирус — не единственное средство защиты. Как говорится, защита должна быть комплексной и эшелонированной. Если позволяют финансы, приобретите антивирусы разных производителей — высока вероятность, что червь, пропущенный одним, будет обнаружен другим. Кроме того, здесь есть одна тонкость. Вирусов в их изначальном понимании становится все меньше и меньше — основная опасность грозит от червей, троянцев и т.п. А это уже прерогатива систем обнаружения атак, которые изначально ориентировались именно на эти угрозы. Многие производители антивирусов лукавят, предлагая вам продукт, 90% функционала которого вам никогда не понадобится. Ведь у вас врядли есть операционная система DOS. А предлагаемый антивирус имеет в своей базе сигнатуры от DOS-овских вирусов. Поэтому вы платите лишние деньги. У систем обнаружения атак совершенно другая идеология и создавались они именно для корпоративного применения (в отличие от антивирусов, которые сначала окупировали автономные компьютеры и только потом медленно переползли в сеть). Т.е. IDS изначально имели функции централизованного управления, мониторинга, обновления и т.д., т.е. те функции, которые так важны в современных сетях. Многие антивирусы могут пока только мечтать о таких возможностях.
А что могут сделать провайдеры?
З:Провайдеры должны вести активный аудит своих сетей и не допускать появления открытых релеев, прокси или машин с нарушениями в системах безопасности. Активность аудита означает, что провайдер должен стремиться выявить подобные машины раньше, чем их выявят потенциальные нарушители или те же черви. Провайдеры, которые не могут поддерживать порядок в собственной сети, должны отключаться.
ФК:Провайдеры могут повысить уровень безопасности своих систем и установить антивирусные средства для предоставления своим клиентам «чистых» соединений с сетью Internet.
К сожалению, вряд ли прошедшая эпидемия – последняя. Что делать, когда начнется следующая?
З:Следовать указаниям координирующих органов — CERT, IETF, top- level провайдеров
К:Главное — не паниковать. Внимательно ознакомиться с подробностями эпидемии и последовать совету разработчика его антивирусной программы.
Червь Slammer использовал старую брешь в системе безопасности, и для борьбы с ним достаточно было установить исправление бреши. А что делать, если появится червь, использующий уязвимость, для которой в данный момент исправления не существует?
К:Теоретически это можно представить, но практически трудноосуществимо. Если же все-таки такое случится, то комбинация файрвол+антивирус вполне эффективно справится с задачей.
З:Предпринять меры для временного устранения (например временно отключить какую-либо службу или ограничить к ней доступ). Исправление в таком случае выйдет не позднее чем через 24 часа.
Л:Локализовать свою сеть или подверженные червю ресурсы от возможных воздействий. Обратиться к производителям средств защиты или к специалистам-консультантам. Ну и т.д. По большому счету, в любой компании должен быть план реагирования на инциденты, который должен предусматривать такого рода ситуации.
Как проводить профилактику червей?
К:Лучшее средство от Helkern-подобных червей — вовремя ставить патчи.
З:Необходимо разработать и реализовать политику безопасности учитывающую наличие брешей в безопасности любой компоненты. И, естественно, грамотное администрирование.
Л:Своевременно ставить патчи, использовать сканеры безопасности и нормально настроить свои средства защиты. Но главное — быть готовым в любой момент к опасности.
С:Не забывать про резервное копирование, на случай вандализма со стороны червя. А самое главное — иметь план действий в нестандартных ситуациях (кому звонить, куда бежать, за что хвататься), ибо абсолютно все предусмотреть невозможно.
Целесообразно ли вмешательство государства в решение проблемы?
К:Думаю, что да. Только у государства есть полномочия и средства, чтобы внедрить систему отслеживания и нейтрализации червей такого типа. Вообщем-то в США уже есть такой центр.
Л:Государство не способно решить такие проблемы — пример США это ярко показал. Нужны специализированные центры, которые будут решать эти вопросы. Причем такие центры нужны в каждом регионе страны, чтобы не ждать во Владивостоке помощи от Москвы. Ну и разумеется, эти центры должны координировать работу между собой. Попытка создать такие центры прописана в Концепции информационной безопасности, разработанной Минсвязи.
З:Скорее координирующих сетевых организаций.
Стоит ли надеяться, что создателя Slammer найдут? Существуют ли сегодня технические средства для реализации этого?
К:Вряд ли. Это возможно только если вирусописатель допустил грубую ошибку или намеренно раскрыл свое местонахождение. Сегодня систему регистрации пользователей в Интернет иначе как анархической назвать нельзя. Любой пользователь может зайти в нее полностью анонимно и сотворить все, что душе угодно.
З:В случае Slammer это не возможно (если его создатель сам себя где-то не проявит). Используемая в черве атака легко может быть проведена с подмененных адресов.
Л:К сожалению, в настоящее время технических способов обнаружения реального адреса злоумышленника нет. Либо он должен совершить ошибку при написании червя, либо он должен поделиться этим со своими коллегами. Только так его можно вычислить.
З:Поиск виновного — это опять же security through obscurity. Следует предпринимать меры (и в первую очередь организационные) для того, чтобы устранить саму возможность существенно повлиять на работу сети на сколь либо длительное время.
С:Я бы поставил вопрос по-другому: «а зачем?» Ноги вырвать? Не поможет. Я его ни в коей мере не оправдываю, но и смысла особого в поиске не вижу.
А если серьезно, то поимка преступников имеет некоторый эффект в борьбе с правонарушениями, иначе почему во всех цивилизованных странах есть правоохранительные органы, занимающиеся расследованием преступлений? Допустим, мы все-таки решили искать виновных. Какие технические средства нужно создать и какие изменения в структуре Сети нужно сделать, чтобы поиск виновника эпидемии был реальным?
К:Мне кажется, что реформирование Интернет в принципе невозможно. Представляете, какой крик поднимется со стороны поборников "privacy" и свободных коммуникаций?
С:Коли есть возможность, почему ей не воспользоваться? Или, пусть даже, государство кристально честное и не будет использовать эту возможность для вторжения в личную жизнь. Но где гарантии, что эта система будет защищена достаточно хорошо, чтобы в нее не пробрались те же самые преступники и не получили доступ к личной информации. Не даром Евросоюз и Канада приняли законы, ограничивающие накопление и использование персональной информации. Ключевые требования этих законов включают определение четких целей сбора информации, сбора только той информации, которая необходима для осуществления этих целей, хранение ее не более необходимых сроков и т.п. Я не собираюсь совершать ничего противозаконного, но я не буду работать в сети, в которой каждый мой пакет однозначно идентифицируется со мной и сохраняется в какой-то базе данных.
К несчастью, я сталкивался с тем, что провайдеры уже сегодня перехватывают информацию клиентов, причем не выборочно, а всю информацию (вернее, пароли на почту и FTP), просто на всякий случай. И записывают ее в базу данных, вдруг пригодится?
К:Проще и дешевле создать параллельную сеть, куда перевести все бизнес-коммуникации, и тогда Интернет перевоплотится в развлекательно-поисковый портал.
Опишите, пожалуйста, работу технических средств "модернизированного интернета", начиная с момента, когда появились первые симптомы распространения червя, и заканчивая "вычислением" виновника и процессом юридического доказательства его вины. Сколько времени нужно, чтобы реализовать такие изменения?
К:Я таких технических средств еще не видел :)
С:На внедрение средств тотальной идентификации никто не пойдет, да и бесполезно это. Данный тезис замечательно доказывается в главе «Absolute identification» прекрасной книги С. Гарфинкеля «Database Nation. The death of privacy in the 21 century». Один из основных аргументов заключается в том, что понятие идентификации человека заменяется идентификацией устройства. Посему даже если мы переделаем стандарт IP на использование цифровых подписей под каждым пакетом, мы добьемся лишь того, что доказать «подставу» киберпреступниками рядового пользователя будет практически невозможно. Если же делать это выборочно (т.е. фактически построить в качестве альтернативной сети систему виртуальных частных сетей — VPN), то под эпидемию попадет только открытая часть традиционной Интернет, и концы все равно будет не найти.
ФК:Я полагаю, что необходимо избегать любого нарушения конфиденциальности в сети Internet. Сеть Internet – это свободное пространство свободных людей. Использование систем для перехвата информации и обнаружения в ней определенного содержания (очевидно, не только вирусного), ограничивающих свободу пользователей, недопустимо. Более того, кто будет перехватывать, анализировать и хранить миллионы писем? С моей точки зрения, это больше похоже на научную фантастику, чем на реальный факт.
Наконец, какие долгосрочные меры можно предпринять, чтобы не позволить червям наносить ущерб?
З:Например, выработка законодательства предусматривающее наказание за халатное отношение к вычислительной технике и сетям. Чтобы была возможность наказать лиц, от которых происходит заражения, в том случае, если они не предпринимают мер для предотвращения дальнейшего заражения сети (причем как в плане конечных пользователей, так и в плане провайдеров). Есть же наказание за умышленное заражение обычными вирусами.
Л:Решение должно идти с двух сторон — государство и конечные пользователи. Первое не только должно создать нормальные законы (статей 272-274 УК РФ явно недостаточно), но и сделать их реально применяемыми и применимыми на практике. Конечные пользователи должны понимать всю опасность червей и уметь оказывать себе хотя бы первую помощь. Пора вводить в школах не только предмет ОБЖ, но и ОБИ (Основы безопасности Интернет).
ФК:Основной мерой является постоянное усовершенствование всех систем: серверов, рабочих станций и антивирусных продуктов, обновление их до самого современного уровня безопасности. Работа на устаревшем программно-аппаратном обеспечении является отличной почвой для различных червей, вирусов и тому подобного.
По материалам SecurityLab.
Сетевые решения. Статья была опубликована в номере 01 за 2003 год в рубрике save ass…