Кто такой счетчик ревизор
Исследуем «Ревизор» Роскомнадзора
Aqua Mine
Ревизор — программно±аппаратный комплекс для мониторинга доступа к сайтам из реестра со стороны провайдеров — берет свое начало в октябре 2015 года, когда компания «МФИ Софт», та же компания, что сделала СОРМы, выиграла тендер на разработку ПО за 84 миллиона рублей. Согласно условиям тендера, разработчик должен был предоставить работоспособное ПО под Windows и Linux и 700 аппаратных «Агентов» в срок до 14.12.2015, всего через 2.5 месяца, и, похоже, все было готово даже на пару недель раньше дедлайна. Провайдерам в добровольно-принудительном порядке уже в начале декабря предлагалось установить один из трех вариантов Ревизора: в виде образа виртуальной машины VMWare, основанной на OpenWRT 14.07, в виде программы-сервиса под Windows, либо же в виде железного «Агента», который представлял из себя маршрутизатор TP-Link MR3020 с установленным на него OpenWRT и необходимым ПО. Многие провайдеры отказывались от установки комплекса из-за того, что он не сертифицирован, а использоваться будет только им во вред, а другим устройств просто не досталось, и им пришлось установить софтовую версию.
Итак, у меня в руках последняя версия VMWare-образа и exe-файла Ревизора. Давайте же посмотрим, что внутри!
Исследование образа VM
Можем проследить процесс создания образа: первые файлы появились 23 октября, затем файлов докидывали в течение ноября, и, похоже, 16 ноября появился готовый базовый образ, который обновили и кастомизировали 9 февраля.
Процесс загрузки скриптов, относящихся к Ревизору, сделан небрежно — они просто добавлены в /etc/rc.local:
/bin/admin/admsrv меняет пароль пользователя admin путем хеширования первой строки файла /etc/agent_id, который уникальный для каждой виртуальной машины и устройства (вида DICK-BUTT-I386), без первого символа, алгоритмом MD5, и обрезает полученный хеш до 12 символов, который и будет паролем. В самом же файле /etc/agent_id защита от дурака — 28 переносов строк, которые не влезут в стандартный терминал размером 80×24. Вероятно, предполагается, что кто-то не знает про Shift+PgUp/PgDown. Этот же скрипт запускает SSH-сервер (dropbear) на порту 2222, доступный извне, на 2 минуты после старта.
Скрипт /bin/admin/pwd-sh, который используется в качестве логин-шелла (прописан в /etc/inittab для tty1 и ttyS0), использует крайне необычную технику входа — запуск SSH-клиента на localhost. Дело в том, что OpenWRT используется преимущественно в домашних роутерах, у которых нет ни экрана, ни легкого доступа к параллельному порту, поэтому пароль на доступ просто не нужен. В случае Ревизора это бы означало, что любой может получить root-доступ, просто нажав Enter для активации консоли в виртуальной машине. Как правило, для осуществления логина используют программы вроде getty, вы их видели в любом дистрибутиве, именно getty спрашивает и проверяет логин и пароль. Здесь же, по какой-то причине, разработчики не стали устанавливать getty, а просто подключались к самому себе через SSH, ведь SSH-сервер запросит аутентификацию. Поначалу я думал, что сделано это не просто так, что таким образом захотели хитро отключить вход из-под пользователя root, но нет, SSH-сервер настроен самым обычным образом.
Шеллом для пользователя admin задан скрипт /bin/admin/admcli, который позволяет выполнять следующие команды:
Пакеты из репозитория подписываются ключом «МФИ Софт», подпись проверяется средствами opkg:
Вход по SSH открыт пользователю, обладающему следующим ключом:Но где же сам Ревизор?
Обновляемся!
Файлов самого ПО в прошивке нет, они поставляются пакетом из репозитория. Загрузим список пакетов с сайта:
n01.rfc-revizor.ru/updates/openwrt-x86/common/Packages
Файл формата IPK представляет из себя архив .tar.gz со структурой DEB-пакета. Собран он неким abelyak.
Внутри пакета имеется несколько скриптов и два исполняемых ELF-файла: revizor-crypto и urlcheck. Первый совсем простой, на данный момент, насколько я понимаю, не используется, и служит для получения публичного ключа из приватного, чтобы использовать его в качестве идентификатора ноды. Файл ключа, который передается в качестве параметра этой утилите, отсутствует, и идентификатор ноды генерируется каждый раз разный.
Перейдем к главному Ревизору — файлу urlcheck. Он написан на C++, динамически слинкован, использует libevent и его OpenSSL-обертку, и обладает нижеперечисленными функциями:
- Выполнение HTTP/HTTPS GET/POST-запросов по определенному URL
- Выполнение запросов по определенному URL с заданным IP-адресом (без разрешения доменного имени через DNS)
- Выполнение нестандартных запросов для обхода DPI: добавление точки в конец домена, двойной слеш в начале URL, экранирование URL
- Определение факта блокировки сайта путем поиска совпадений регулярного выражения в теле и заголовках ответа сервера
- Отправка ICMP-запросов к определенному хосту
- Запуск traceroute до определенного хоста
- Создание SSH-туннеля до сервера Ревизора для предоставления Socks5-прокси
- Отправка журнала из syslog на сервер разработчика
- Перезагрузка устройства
Программа поддерживает IPv6 и работу через прокси.
Общение с сервером Lens, как его называют сами разработчики, происходит по протоколу JSON-RPC, для чего используется URL n01.rfc-revizor.ru/rpclens. Lens отправляет клиенту «задания», которые он должен выполнить. Каждое задание имеет идентификатор, тип, различные опции и параметры. Для проверки заблокированности веб-сайтов сервер передает клиенту белый список адресов, который на данный момент состоит из сайтов ya.ru, google.ru, cbr.ru, gov.ru, hotlog.ru, kremlin.ru, onf.ru, ria.ru, rostelecom.ru, kp.ru, и случайные URL из реестра запрещенных сайтов. Проверка выполняется путем поиска совпадений по регулярным выражениям в теле и заголовке ответа от веб-сайта. Если какие-то ссылки, которые не должны были открыться, не проходят проверки по регулярным выражениям, сервер отсылает запрос на предоставление SSH-туннеля до Socks5-прокси, который поднимается самим urlcheck, чтобы самостоятельно загрузить страницу с помощью curl, проанализировать ее, и сделать скриншот с помощью wkhtmltoimage.
Помимо заданий, сервер также может корректировать настройки Ревизора, например, изменять таймаут подключения и ожидания ответа, ограничивать количество одновременных подключений, устанавливать размер пула потоков для DNS-резолвера.
Развлекаемся!
Хоть общение с API и происходит по протоколу HTTPS, а у сервера имеется сертификат, выданный GeoTrust, Ревизор не выполняет проверку подлинности сертификата, а это значит, что ничто не помешает нам выполнить атаку типа «человек посередине», чтобы прослушивать и модифицировать проходящий трафик. По всей видимости, на сертификаты просто не хватило места в аппаратном решении: в TP-Link MR3020 памяти всего 4 МБ, а образ для x86 не стали переделывать.
Запускаем mitmproxy!
Общение с сервером начинается с команды SetMyParams, в которой клиент передает версию ПО, свой идентификатор агента и случайные 4 цифры в качестве идентификатора сессии.
Далее происходит вызов GetMyTasks, в ответ на который сервер возвращает какое-то задание для клиента. Вот пример настроек для проверки сайтов:
Как мы можем видеть, Ревизор будет определять страницы-заглушки по наличию слов «заблокирован» и «ограничен», будет искать IP-адрес заглушки провайдера ТТК 62.33.207.195 в заголовке, а также проверять статус, отдаваемый веб-сервером.
Чтобы установить SSH-туннель с клиентом, сервер посылает команду tunnel_on с портом и количеством миллисекунд, после которого его следует завершить, в качестве параметров к команде:
После этого система запускает SSH-клиент Dropbear, который часто используют во встраиваемых системах, путем совершения вызовов fork() и execv(), со следующими параметрами:
Два параметра -y отключают проверку ключа SSH-сервера (зачем?), -N и -T отключают выполнение команд, а -R включает режим проброса порта от сервера клиенту, т.е. открывает на стороне сервера заданный порт (64123) и перенаправляет запросы с него на порт 1080 клиента, на прослушивание которого настроен Socks5-сервер.
Конечно же, первым делом -R была заменена на -D, однако на все исходящие соединения возвращался ICMP Administratively Prohibited.
Если подумать, никто нам не запрещает указать несколько портов для проброса. Почему бы не воспользоваться этим моментом, и не пробросить на себя чуточку больше портов, скажем, диапазон с 1024 до 65535? К сожалению, одно соединение может пробросить около 1000 портов. Не знаю, чем вызвано это ограничение, быть может, виноваты настройки ulimit, а может и OpenSSH. Итак, Socks5-сервер запущен, 65 SSH-соединений установлено, и мы принимаем первое подключение на порт прокси!
Что же произошло? Проверяющий сервер отправляет какому-то действующему Ревизору команду tunnel_on с портом, не проверяя, используется ли он уже кем-то в системе, Ревизор подключается к серверу, но пробросить порт не может, так как мы заняли его раньше. Сервер подключается к нашему Socks5-серверу и открывает сайты, думая, что открывает их через проверяемого провайдера, у которого стоит Ревизор.
Прошу прощения у пострадавшего провайдера, у которого внезапно открылись все заблокированные сайты, да еще и из Чехии!
Вместо заключения
Скриншоты вот такой вот страницы сейчас наблюдают в Роскомнадзоре по всем заблокированным URL.
Ревизионная комиссия контролирует финансовую деятельность ТСЖ
Ревизионная комиссия контролирует, чтобы финансово-хозяйственная деятельность ТСЖ, использование ресурсов происходило в соответствии со сметами и годовыми планами, а финансовые операции были обоснованными.
Обязанности членов ревизионной комиссии изложены в ч. 2 ст. 150 ЖК РФ. Также они могут быть закреплены в положении об РК. В рамках контрольной деятельности комиссия должна:
- Минимум раз в год проверять финансовую работу ТСЖ.
- Ревизировать годовую финансовую отчётность, составленные сметы доходов и расходов товарищества, размер взносов, отчётность ТСЖ, а затем представлять заключения на ОСЧ.
- Отчитываться о своей работе перед общим собранием членов ТСЖ.
РК должна проверять не ведение бухучёта в ТСЖ, а всю финансовую деятельность товарищества, при этом должен существовать систематический контроль за работой ТСЖ.
Экранизации пьесы Н. В. Гоголя
- Ревизор — первая экранизация пьесы Гоголя (1933)
- Ревизор — вторая экранизация пьесы Гоголя (1952)
- Инкогнито из Петербурга — третья экранизация пьесы Гоголя (1977)
- Ревизор — четвёртая экранизация «Ревизора» (1982)
- Ревизор — пятая экранизация «Ревизора» (1996)
Список значений слова или словосочетания со ссылками на соответствующие статьи. Если вы попали сюда из другой статьи Википедии, пожалуйста, вернитесь и уточните ссылку так, чтобы она указывала на статью. |
Wikimedia Foundation . 2010 .
- Заяц-толай
- Жабинский, Александр Михайлович
Полезное
Смотреть что такое «Ревизор» в других словарях:
ревизор — а, м. reviseur. 1. Должностное лицо, проводяще ревизию. БАС 1. Ревизоры люди осторожные, все на бумаге, как в делегациях Австро Венгрии. Суворин Очерки 1 95. К ревизии он <Муравьев> готовился тщательно, с вечера пересмотрит все ведомости и… … Исторический словарь галлицизмов русского языка
РЕВИЗОР — (ново лат., от лат. revidere опять смотреть). 1) лицо, уполномоченное произвести ревизию. 2) офицер, заведующий хозяйственной частью на военн. корабле. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. РЕВИЗОР… … Словарь иностранных слов русского языка
РЕВИЗОР — РЕВИЗОР, ревизора, муж. 1. Должностное лицо, которое производит ревизию, обследование. 2. Должностное лицо на железных дорогах, осуществляющее контроль в отдельных отраслях железнодорожной службы (ж. д.). Ревизор движения. Ревизор тяги. Толковый… … Толковый словарь Ушакова
ревизор — контролер, инспектор; проверщик, аудитор Словарь русских синонимов. ревизор сущ., кол во синонимов: 6 • аудитор (5) • … Словарь синонимов
РЕВИЗОР — лицо, уполномоченное произвести ревизию; обследование деятельности какого либо учреждения или должностного лица. В корпоративном праве постоянный единоличный орган, избираемый общим собранием акционеров (участников общества с ограниченной… … Юридический словарь
Ревизор — лицо, уполномоченное произвести ревизию. Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
РЕВИЗОР — лицо, уполномоченное провести ревизию. Райзберг Б.А., Лозовский Л.Ш., Стародубцева Е.Б.. Современный экономический словарь. 2 е изд., испр. М.: ИНФРА М. 479 с.. 1999 … Экономический словарь
РЕВИЗОР — РЕВИЗОР, а, муж. 1. Должностное лицо, производящее ревизию (в 1 знач.). 2. В отдельных отраслях железнодорожной службы: то же, что контролер. Р. по безопасности движения поездов. Р. движения. Дорожный р. | жен. ревизорша, и (к 1 знач.; разг.). |… … Толковый словарь Ожегова
РЕВИЗОР — (Accountant officer, paymaster) лицо командного состава, ведающее хозяйством на военном корабле. В настоящее время это наименование должности отменено. Самойлов К. И. Морской словарь. М. Л.: Государственное Военно морское Издательство НКВМФ Союза … Морской словарь
А еще «Ревизор» — это известнейшая комедия Гоголя. В ней писатель показал быт и нравы маленького городишки N, своеобразной модели государства в миниатюре. Здесь, словно в капельке воды, отразились все пороки и злоупотребления чиновников и бюрократов тогдашней России: взяточничество, казнокрадство, воровство. Все это беспощадно бичует Гоголь в своем произведении. Один из основных персонажей одноименной пьесы — ревизор, маленький человечек, Хлестаков, которого все почему-то принимают за важного проверяющего, чиновника аж из самого Петербурга, который якобы всемогущ и обладает неограниченной властью. Вот ему и жалуются все друг на друга поочередно, пытаются всячески задобрить и умилостивить.
Пьесу критики называли ревизией русского общества, она заставляла (и заставляет) посмотреть на самого себя во все глаза. Недаром Н. В. Гоголь взял эпиграфом к произведению известную пословицу про зеркало и рожу.
Для чего нужны ревизии при ведении хозяйственной деятельности
Человек не идеален. Он может допускать ошибки или же быть попросту нечестным. В результате этого фактическое состояние дел на предприятии, в организации и т.д. может не соответствовать документальному. Это не только удар по имиджу организации, но и прямой путь к дестабилизации ее экономического положения.
Ревизии необходимы:
- для проверки законности и правильности ведения хозяйственной деятельности конкретных компаний и фирм;
- для проверки корректности отражения хозяйственных операций в бухгалтерских документах;
- для контроля за целевыми траншами из государственного бюджета (при их наличии);
- для выявления злоупотреблений и принятия мер по их устранению;
- для обнаружения недостатков в системе контроля;
- для выявления неиспользуемых (используемых неэффективно) резервов ТМЦ.
«К нам едет ревизор»
Слово «ревизор» обессмертил Н.В. Гоголь, написавший в 1835 году одноименную комедию. В ней рассказывается о чиновнике-авантюристе из Петербурга Иване Хлестакове, который прибыл в провинциальный город N. и выдал себя за ревизора. Фраза городничего «Я пригласил вас, господа, с тем, чтобы сообщить вам пренеприятное известие: к нам едет ревизор» стал крылатой.
Гоголь вывел образы вороватых и глупых чиновников, которые плохо исполняют свою службу и трепещут перед проверкой из столицы. Каждый из них заискивает перед Хлестаковым, а тот ловко играет роль проверяющего.
Пьеса заканчивается немой сценой, когда герои узнают о прибытии в город настоящего ревизора и понимают, что Хлестаков — самозванец.
Непонятый гений
«„Ревизор” сыгран — и у меня на душе так смутно, так странно… моё же создание мне показалось противно, дико и как будто не моё», — вскоре после премьеры писал Гоголь. И через много лет вспоминал: «Представленье «Ревизора» произвело на меня тягостное впечатление. Я был сердит на зрителей, меня не понявших, и на себя самого, бывшего виной тому, что меня не поняли. Мне хотелось убежать от всего».
В неудачной постановке Гоголь винил не только себя и зрителей, но и актёров. Больше всего он был недоволен исполнителем роли главного героя: «Дюр ни на волос не понял, что такое Хлестаков. Хлестаков сделался чем-то вроде… целой шеренги водевильных шалунов…»
Вместе с Николаем Дюром премьеру «Ревизора» представляли: Иван Сосницкий, Елена Сосницкая, Варвара Асенкова, Пётр Григорьев, Александр Мартынов, Александр Афанасьев и другие знаменитые актёры Александринского театра. Как выяснилось позже, многие из них действительно не знали, как следует играть пьесу, и недоумевали по поводу сценического воплощения своих образов.
Но самое главное, что после премьеры в Александринском театре автор ещё долгое время дорабатывал пьесу. Текст «Ревизора» в том виде, который мы читаем сегодня, был написан только к 1842 году.