Нови вируси, нови начини за инфекции

Next story

Засичането и блокирането на модерните вируси, независимо дали става върпос за таргетирани атаки или масови кампании, се превръща все повече на игра на котка и мишка между киберпрестъпниците и компаниите като ESET, които се борят с тях. И въпреки промените, на които ставаме свидетели при начините за реализиране на атаки, проблемът “компютърен вирус“ продължава да бъде на дневен ред. За да сме точни, огромна част от вирусите в наши дни се създават по поръчка на международни престъпни организации. Това означава, че повечето подобни атаки са ефективни в голяма степен. С други думи – хората се заразяват. А това означава доста добри печалби за индустрията, която ние наричаме киберпрестъпност.

Развитието на средствата за защита

С еволюцията на вирусите през годините станахме свидетели и на еволюция на програмите, създадени за засичането и блокирането им. Традиционната концепция за „антивирусно“ решение еволюира в нещо много по-мащабно – решения за цялостна защита. В този тип решения се включват функции като firewall, HIPS (Host Intrusion Prevention Systems), системи за родителски контрол и не на последно място – системи за защита от вируси и много други технологии. Една от причините за тази еволюция е фактът, че „лошите“ имат предимство – те се нуждаят от една малка дупка или пропуск в сигурността на операционната система, за да осъществяват атака. А потребителите и бизнеса са принудени да защитават не една и два платформи, от които могат да бъдат изложени на риск. Компаниите в сферата на информационната сигурност като ESET непрексъанто следят еволюцията на вирусите и събират нови и нови „проби“ от тях. Само сървърите на ESET Security Research Lab (изследователската лаборатория на ESET) получават и обработват средно 200,000 уникални вируса всеки ден – вируси, които са засечени проактивно от технологиите ни, базирани на технологията на NOD32, и за които не сме чували до момента. И дори не сме подозирали, че съществуват. Въпреки тази огромна цифра, тя далеч не предоставя пълна картина върху случващото се по света. Защото създателите на вируси имат достъп до всички решения за защита от тях (поне конвенционалните) и могат да променят продуктите си по начин, по който засичането им да бъде максимално трудно. Нашата работа, разбира се, е да спрем и затрудним процеса на създаване на вируси. Искаме да направим невъзможно, или поне по-трудно и скъпо, да създават вируси, които не могат да бъдат откривани от конвенционалните решения за сигурност. Това означава много повече слоеве на защита, които спомагат за създаването на цели нови стратегии за откриване на потенциални вируси, които биха могли да избегнат обикновените решения за сигурност. Една от тези стратегии е факт от много време насам – евристиката. Или засичането на потенциално опасни алгоритми в кода на приложение, което потребителят се опитва да стартира в момента. В следващите редове ще се опитаме да дадем яснота за това какви са новите техники при създаването на вируси и как ние се опитваме да се борим с тях.

Протектори, протектори

Основната техника, използвана от създателите на вируси с цел избягване на софтуер за защита е създаването на т.нар. протектори срещу засичане в реално време. Ако трябва да дадем сравнение – това са лъскави опаковки на вирусите, които се опитват да прикрият вредното съдържание на файл, който се опитвате да стартирате и да предотвратят засичането на вируса, който съдържа в себе си. Тази стратегия работи най-вече при простите антивирусни софтуери.Използването на протектори обяснява защо от стотиците хиляди семпли кодове, които получаваме всеки ден в лабораториите си, много малко съдържат реално нови функционалности. Повечето от „уникалните“ нови вируси, които анализираме, са всъщност добре познати вируси, но с нови „опаковки“. Затова, антивирусна програма, която разчита на просто засичане по сигунатура на вече познат вирус е обречена на провал, защото няма да може да погледне отвъд „опаковката“ на „новия“ вирус и няма да го засече като заплаха. Още повече, подобна тактика за засичане на вирсуи е доста неефективна. Затова и не малка част от нашите усилия са фокусирани върху разбиването на външната опаковка на вируса чрез емулация. Идеята е потенциално опасните програми да се стартират първо във виртуална стерилна среда – т.нар. sand box, където няма да могат да могат да нанесат щети на системата или потребителя, но ще трябва да се лишат от „опаковката“ си. И съответно – вирусът да се разкрие с целия си блясък и да бъде неутрализиран от системата за защита. И докато на теория това звучи просто, на практика пред тази стратегия има няколко основни проблема:
  • Вирусът може да се опита да избегне емулацията, като използва нестандартни инструкции или API функции, които емулаторът не е очаквал и не може да обработи правилно
  • Вирусът може да засече, че работи във виртуална среда и или да спре с изпълнението си, или да продължи да се покрива, за да избегне засичане
  • Дори и кодът да бъде емулиран коректно, той все още може да бъде прикрит по начин, който да скрие зловредните му функции и засичането му да бъде по-трудно
  • Емулирането или която и да било друга технология за виртуализация винаги носи риск от негативно влияние върху цялостната производителност на компютъра

Един от начините за подобряването на емулацията (като се вземат предвид описаните проблеми) е използването на „превод“ на кода на вируса. Един от най-известните банкови троянци – Zeus (разпонат от ESET като Win32/Spy.Zbot) е добър пример за това как „опаковането“ с различни проектори е доказано ефективен метод за прикриване. Този вирус е познат от поне 6 години насам, а изходният му код бе публикуван през 2011 г. Все пак Zeus често успява да избегне защитата на антивирусните програми заради различните опаковки, в които бива маскиран от новите си „създатели“. В случаите, които изследването на защитен и прикрит код преди стартирането му е неуспешно, антивирусният софтуер има още един шанс за засичане на потенциална заплаха: при стартирането му в паметта на компютъра. Тук обаче предизвикателството за компаниите е в стартирането на подходящ процес за сканиране на паметта, за да може вирусът да нанесе минимално количество щети. Нови начини на заразаВидимо, по-добрият вариант е защитата да започне още преди вирусът да е стъпил на компютъра. Има много различни начини за осъществяване на зараза, които подобно на вирусите сами по себе си са еволюирали с времето. И все пак, те могат да бъдат обобщени в две общи категории:

  • Разчитащи на действие на потребителя: жертвата е „въведена“ в зараза посредством социално инженерство
  • Без нужда от допълнителни действия: най-вече чрез използването на различни софтуерни уязвимости

Темата за социалното инженерство е твърде дълга и мащабна (а и често срещана). Затова тук ще се концентрираме върху използването на различни пробойни в софтуера, без за заразата да е необходима интеракция с потребителя. Най-типичният сценарий е свързан с просто браузване на уеб страница от страна на неподозиращия потребител. Страницата обаче е заразена от атакуващия и съдържа заразен скрипт в кода си, който е насочен срещу уязвимост (на браузъра, например). Всъщност, подобни пакети за зараза използват напълно легални инструменти – например PluginDetect, който засича версията на браузъра и инсталираните в него плъгини. И в последствие, при открита подходяща среда за зараза, вирусът директно бива стоварен и инсталиран на компютъра, без потребителят изобщо да разбере за това. Очевадната защита срещу тази тактика е „запушването“ или пачването софтуерните уязвимости колкото се може по-бързо и скоро. Но тя не винаги действа, защото производителите на софтуерни продукти не винаги успяват да отреагират навреме и да запушат пробойните (ако въобще реагират). И а пачването не е ефективно при масово разпространявани вируси, особено в първите дни от появата им. В случая може да се използва тактиката за засичане по сигнатура на вируса от софтуера за защита, но тя има същия проблем – в началото на разпространението си (или zero day периода) вирусът не е познат дори на създателите на антивирусни решения. Самите те имат нужда да го изследват и открият начин за засичане и блокиране на вируса, което също може да отнеме време. Модерните антивирусни решения идват с изцяло подобрена стратегия. Те използват проактивно засичане, което следи дори и нормалните процеси (тези, които системата така или иначе извършва при браузване, например) за подозрителна активност. Това са само част от модерните начини за разпространение на вируси. Ако искате да си ганратирате пълно решение за сигурност – опитайте безплатно ESET Smart Security за 30 дни оттук сега!