ai-bolit.php
------------

http://www.revisium.com/ai/
audit@revisium.com
skype: greg_zemskov

Изменения в версии 20130201
- новые сигнатуры
- файл отчета запрещен к индексированию
- в имени файла отчета добавляется случайное число для защиты от подбора имени
- добавлен .aknown файл для Wordpress 3.5.1

Изменения в версии 20130122 
- новые сигнатуры, добавлено несколько исключений из ложных срабатываний
- новые доверенные файлы от cms: .aknown.* (instantcms, invision power board)
- ограничение на максимальное кол-во пустых ссылок в отчете (сейчас отображается 1000, чтобы сэкономить память)
- исправлена ошибка с подсчетом кол-ва сканируемых файлов
- разделен отчет "подозрительных" файлов: подозрительные .php и подозрительные .js
- отображается список скрытых файлов (начинающихся с "точки")

Изменения в версии 20121221 (теперь больше вариантов опознать вредоносный код и меньше ложных срабатываний)
- полностью переделан механизм поиска вредоносного кода, сигнатуры основаны на "гибких паттернах" (регулярных выражениях)
- добавлен расширенный механизм исключений (доверенные файлы для DLE, WORDPRESS и JOOMLA в файлах .aknown.*; доверенные URL в файле .aurlignore)
- добавлена настройка, позволяющая фильтровать то, что будет в отчете (маски отчета)
- много новых и свежих сигнатур шеллов, вирусов и дорвеев
- исправлена ошибка поиска невидимых ссылок
- отображение в отчете найденных символических ссылок
- отображение в консоли статистики по найденным проблемам

Изменение в версии 20121106
- новые сигнатуры, включая несколько троянов в бесплатных темах wordpress
- автоопределение версии Wordpress, DLE, ShopScript Premium и Bitrix
- поиск "чувствительных" файлов и директорий (раскрывающих версии установленного ПО, временные файлы с экспериментами), которые следовало бы удалить
- исправлен Warning с ereg()

Изменение в версии 20121014
- новые сигнатуры шеллов и вирусов (170 новых сигнатур шеллов и вирусов)
- игнорирование символических ссылок на каталоги и файлы (на случай зацикливания)
- добавился блок показа конфигурации PHP при запуске из браузера
- реализована проверка на тип сборки PHP. Из командной строки работает только когда есть php-cli.
- улучшена обработка внешних include
- новое имя файла отчета: AI-BOLIT-REPORT-<дата>_<время>.html
- улучшенное отображение прогресса сканирования в командной строке
- добавлен режим отладки скрипта DEBUG_MODE

Изменение в версии 20120902
- обновлена база сигнатур
- часть директорий можно исключить из сканирования, добавив их в .adirignore файл (поддерживаются фрагменты и метасимволы регулярных выражений) 
- улучшен алгоритм поиска подозрительных файлов с сигнатурами <?php и <%
- добавлена возможность запуска полного сканирования из браузера через аргумент "&full"
- добавлен поиск исполняемых файлов linux в сканируемых папках

Изменение в версии 20120729
- обновлена база сигнатур
- изменен алгоритм детектирования подключений внешних скриптов

Изменение в версии 20120715
- снипеты у шеллов
- обнаружение вставок вида include 'http://hckerexternal.site.ru/1.txt'
- улучшена проверка наличия кода php в непхп файлах и поиск base64 последовательностей
- новые сигнатуры
- исправление ошибок

Изменение в версии 20120701
- улучшена обработка невидимых ссылок
- новые сигнатуры

Изменения в версии 20120628
- ускорена работа с файлами
- новые сигнатуры

Изменения в версии 20120624
- небольшие исправления
- новые сигнатуры

Изменения в версии 20120623
- добавилось несколько десятков новых сигнатур шеллов
- улучшена обработка невидимых ссылок
- теперь по-умолчанию при запуске из командной строки выполняется сканирование всех файлов на сигнатуры


Изменения в версии 20120622

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


Изменения в версии 20120614 
- добавлены 3 сигнатур шеллов
- добавлена проверка на PHP CGI Exploit в .htaccess


Изменения в версии 20120613 
- добавлены 6 сигнатур шеллов
- добавлены 3 сигнатуры JS вирусов
- добавил вызов set_time_limit(0) в скрипт
- исправлена работа с расширениями для php
- учитывается .phtml при проверке на сигнатуры, добавлено расширение .khtml
- добавлено детектирование auto_append_file/auto_prepend_file в .htaccess
- вывод списка найденных невидимых ссылок
- добавил определение stripos, если ее нет в PHP
- исправлено несколько мелочей
 

Изменения в версии 20120512
- добавлен алгоритм дешифрования ASCII последовательностей перед проверкой сигнатур
- три новых сигнатуры JS вируса
- одна сигнатура шелла
- добавлена проверка .phtml и .shtml по-умолчанию
- исправлена ошибка отображения файлов с невидимыми ссылками

Изменения в версии 20120430
- новые сигнатуры вирусов и шеллов
- исправлена ошибка сканирования списка файлов
- исправлена ошибка подсчета файлов в каталоге для вычисления дорвеев
- корректная работа с русскими сообщениями при работе через веб и при запуске из командной строки
- выставляется принудительно кодировка utf-8
- добавлены сниппеты для javascript вирусов и некоторых видов редиректа в .htaccess
- немного улучшен дизайн отчета
- сообщение о найденных больших файлах выдается только при полном сканировании

Изменения в версии 20120422
- добавлен режим работы из командной строки "php ai-bolit.php --help"
- при запуске из командной строки: сохранение отчета в файл или отправка его по email, прогресс выполнения
- красивый размер файлов
- затраченное время на сканирование
- ограничение на сканирование файлов меньше указанного размера (по-умолчанию, < 10 Mb)

Изменения в версии 20120418
- новые сигнатуры шеллов
- новые сигнатуры javascript вирусов
- добавлена проверка на стартовые сигнатуры PHP в не-php файлах. Например, когда встраивают PHP код в .htaccess.
- в предупреждениях показывается фрагмент кода и маркер найденной подозрительной последовательности

Изменения в версии 20120414
- переработан и оптимизирован алгоритм обхода папок и сканирования
- функция scandir заменена стандартной opedir/readdir

Изменения в версии 20120413
- добавлена сигнатура спам-скрипта
- вместе с файлами отображается дата и время создание файла
- файлы .js добавлены к списку сканируемых обязательно
- добавлена эвристика для анализа троянов в javascript 
- добавлена проверка кол-ва директорий дорвеев
- запуск с паролем из браузера и без пароля из командной строки

Изменения в версии 20120411
- добавлены проверки на Mainlink, SetLinks, Liex
- добавлены 15 новых шелл-сигнатуры
- добавлены проверки на вредоносный код, инжектируемый в Joomla
- сигнатуры закрыты в base64, чтобы не ругались антивирусы
- добавлена проверка на актуальность версии (актуальность = 1 неделя)
- добавлен блок "Donation"

Изменения в версии 20120410
- добавлены сигнатуры шести новых шеллов
- проверка на то, что текущая директория доступна для чтения

Изменения в версии 20120409

- добавлена задержка при сканировании SCAN_DELAY (можно увеличить в скрипте)
- добавлены новые сигнатуры
- закомментированные строки в .htaccess не учитываются при анализе
- добавлены расширения .tpl, .inc в список обязательных для сканирования
- добавлена кодировка windows-1251

Изменения в версии 20120408

- расширена база сигнатур
- анализ кода продажных ссылок на сайте
- предупреждение о большом кол-ве .php или .html файлов в каталоге
- причесал UI
- анализ .htaccess на предмет редиректов
- анализ .htaccess на предмет дорвеев

Более старые изменения

- здесь летопись обрывается...