пятница, 26 августа 2011 г.

Расследования. Дело о поврежденном скачивании

Пара слов от Автора блога (ArkSmoke)
Как и обещал, начинаю менять тематику блога, вернее не столько менять, сколько расширять ее, а вместе с ней, надеюсь и кругозор своих читателей. У меня есть еще пара идей о наполнении блога, но сейчас я хочу показать, как люди, используя программы Марка Руссиновича, решают реальные проблемы с реальными объектами.

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

Данный пост взят от суда. К этому сайту я еще буду возвращаться.

Дело о поврежденном скачивании


Следующая ошибка возникала, когда пользователи внутренней сети пребывали установить самый свежий Flash Player от Adobe: «Internal errorABORT: Certificate authentication failed, please re-install t correct the problem. (/0)»

8-23-2011 11-48-33 AM

Была возможность запустить мою рабочую станцию, я сразу же загрузил Process Monitor, посмотреть, что можно будет найти. Сначала я не стал включать фильтр процессов, чтобы отфильтровать какой-то одиночный процесс, а посмотрел все, что были. Оказалось их более 66 тысяч, поэтому пришлось запустить фильтр. Желая просмотреть менее общие результаты, я перешел Tools > Count Occurrences (инструменты – числовые вхождения) и установил фильтр Results (результаты), стал просматривать интересующий меня NTSTATUS код:

SNAGHTML14cb2835

Просмотрев эту операцию, увидел QueryEAFile, запрос на расширение атрибутов для скаченного инстолятора Flash Player’а:

image

0xC0000052 – это файл или папка испорчена и нечитаема. Но почему же этот файл испорчен в каждом случае? Немного света на эту причину пролил случай, который я назвал Делом о Zip файле, не желающем открываться. Для подтверждения догадки, я скачал установщик еще раз и посмотрел отчет о размере загруженного файла в Internet Explorer’е:

image

Однако же, реальный размер на диске был:

SNAGHTML14ed02cbСсылка

Просмотрев все записанные операции для данного файла, увидел, что он неполностью загружен, он должен быть около 749 000 байт, на диске де он был только около 735 000:

image

На деле: мы пользуемся услугами внешних поставщиков, чтобы контролировать веб трафик. Когда файлы грузятся с интернета, они проверяются по специальным свойствам и, если во время проверки выполняется какое-то правило, закачка обрывается. В указанном выше случае, это оказался специально сжатый файл, содержащий много двоичных файлов, но не отдельный exe-шник. В данном случае, такой результат мог оказаться непреднамеренным, но фирму следовало предупредить о случившемся. В действительности же эту неприятность можно обойти, изменив настройки прокси в IE, не имеющие фильтра для веб трафика.

вторник, 23 августа 2011 г.

Для самых маленьких. ссылки на секретные документы российского правительства

Просто не сумел проигнорировать новость, располагающуюся здесь.

Это ее полная копия:

В начале августа 2011 году в поисковой выдаче Mail.ru и Google была обнаружена скрытая документация служебных ведомств и министерств РФ. На многих из выдаваемых поисковыми системами документах есть пометки «секретно».

Так, любой пользователь, введя в строку поиска текст «allintitle: для служебного пользования site:gov.ru», мог получить доступ к секретным материалам российских ведомств.

Среди доступных для всеобщего обозрения материалов оказались документы Счетной палаты РФ, Федеральной антимонопольной службы, Министерства экономического развития РФ и других государственных ведомств.

Все эти документы были размещены на интернет-ресурсе gov.ru. Этот сайт принадлежит российским правительственным органам.

По данным представителей компании Google, всего при проверке в этой поисковой системе удалось выявить около сотни секретных документов государственной важности.

На всех найденных в открытом доступе в сети файлах установлен гриф «совершенно секретно» или стоит пометка «для служебного пользования».

Кроме поисковой системы Google, ссылки на подобные документы выдает и поисковый сервис Mail. ru. Что касается популярного поисковика Яндекс, то здесь подобный запрос не дает никаких результатов. Однако здесь можно найти личные данные пассажиров российской железной дороги, а также данные покупателей интернет-магазинов и секс-шопов.

Почему так получилось? Получается и будет получатся? Про это я уже говорил здесь. Думаю, после прочтения этой новости, многие поймут, как мало они знают о поисковых системах -- не настало ли время закончить летнее каникулы и взяться за учебу.

Лично я сегодня изучал Word, хотя на профессиональном уровне знаю его уже очень давно (вот, к слову, моя работа на эту тему), так что подумайте еще раз. Да прибудет с Вами сила!

воскресенье, 21 августа 2011 г.

Арсенал для ведения кибер войн. AutoRuns

По сути дела арсенал ведения войн можно разделить, как на оборонительные и наступательные элементы. Киберпространство не исключение. Вопрос же о границах между обороной и наступлением остается более философским вопросом, чем техническим.
Но рассмотрим одну из наиболее удобных программ для ведения кибервойн - AutoRuns от марка Руссиновича.

Это мой перевод, первоначально размещенный здесь.

Это статья-руководство по использованию необходимо для грамотного ведения оборонительных действий в кибервойне.

Приступаем:

Пара слов от переводчика

Честно сказать, я и сам планировал в ближайшее время познакомить Вас с этой программой, но получив новость о выходе этой статьи, засел за ее перевод. Делать простой перевод статей о программах, которыми ты постоянно пользуешься – очень сложно. Но перевод есть перевод, поэтому все скользкие моменты и некоторые примеры из моей практики я пометил просто примечанием, по ходу изложения оригинального текста.

Так же эта статья имеет прямое отношение к моим переводам блога Марка Руссиновича – он является ее разработчиком. Я перепробовал множество средств для аудита запущенный, активных процессов – AutoRuns – самый функциональный.

Так же, только благодаря этой программе, я в свое время сумел убрать из запуска Антивирус Касперского (после полного удаления данного продукта с системы), историю этой борьбы можно посмотреть здесь.

Но а сейчас сама статья с моими замечаниями.

Пост

Утилита Sysinternals AutoRuns позволяет управлять каждым процессом и приложением, автоматически загружающимися в систему Windows.

Обычно считается, что пользователь или администратор может управлять процессами и сервисами вMS Windows 7, используя комбинацию диспетчера задач и диспетчера сервисов. Но зачем использовать два две разные утилиты, когда можно управлять процессами и сервисами, с помощью только одного инструмента? Утилита, о которой пойдет речь, разработана MS Sysinternals и называется AutoRuns.

AutoRuns позволяет управлять каждым процессом и приложением, загружающимся в Вашу систему. Включая, всепроцессы, ассоциирующиесяс:

• Logon

• Explorer shell extensions

• Internet Explorer

• Schedule tasks

• Services

• Drivers

• Winlogon notifications

• KnownDLLs

• AppInit

• Image Hijacks

• Boot Execute

• Codecs

• Sidebar Gadgets

• Network Providers

• LSA Providers

• Print Monitors

• Winsock Providers

(Это вкладки на главном меню программы, перевод не дан, чтобы не путать и использовать терминологию, принятую в MS – ArkSmoke)

Всем, вышеперечисленным можно управлять из одного окошка. Но это не весь функционал описываемой программки. Используя AutoRun, можно открыть информацию о любом запущенном процессе, просто кликнув по нему правой кнопкой. (Откроется новое окно в браузере, и запуститься поисковик. По результатам поиска можно оценить то, что это за процесс. Не забывайте статью - ArkSmoke).

Это свойство наиболее впечатляет, когда приходится работать с процессами от сторонних разработчиков. Вам проще вывести подозрительные процессы и сервисы на чистую воду, проверить, являются ли они вирусами и прочим вредоносным ПО. Как это работает? Давайте посмотрим.

Установка и запуск

Очевидно, установка не то, что должно тратить много времени. В добавок этот инструмент портативный, то есть не нуждается в установке в систему. Вы просто скачаете архив с Sysinternals, распакуете файл, и программа готова к работе на той машине, которой требуется помощь (можно использовать AutoRuns в любой системе, которую Вы администрируете).

Вам, естественно, следует использовать программку под администратором. Sysinternals реализовало это, добавив в меню файл строку «Run as Administrator». Нажав ее, Вы получите права администратора. В этом случае у Вас будет гораздо больше доступа и возможностей, по сравнению с гостевой записью.

Использование.

Когда Вы запустите AutoRuns, то увидите окно, содержащие инструменты. Здесь многочисленные вкладки. Каждая вкладка содержит специфичные сервисы, приложения и тд.


Но давайте посмотрим пошаговую инструкцию, как отключить процесс, не принадлежащий Windows и вообще MS.

Шаг 1: нажмите (так как утилита англоязычная, то пункты меню оставляю без перевода, просто буду пояснять по ходу изложения, для чего они нужны - ArkSmoke) Options | Hide Microsoft and Windows Entries – для того, чтобы не отображать процессы, принадлежащие MS, после этого File | Refresh(или F5), чтобы обновить содержимое окна. Теперь Вы видите только процессы, не относящиеся к официальным процессам MS.

Шаг 2: находим интересный Вам процесс. Это можно сделать, прокрутив скроллер всех процессов, кликнув по вкладке, ассоциируемой с данным процессом, или нажав File | Find. (стандартная Ctrl+F – тоже работает - ArkSmoke).

Шаг 3: обезвреживаем процесс. Делается это: убираем галочку напротив процесса, который Вы хотите убрать. Во время следующей перезагрузки процесс не будет грузиться – даже ничего не надо сохранять.

Проверка подписи кода.

Это одни из самых действенных методов, для проверки «злонамеренности» процесса в AutoRuns. Если у Вас какой-то процесс вызывает подозрение, то вот алгоритм проверки:

1. выберите подозрительный процесс.

2. убедитесь, что AutoRuns работает из-под администратора.

3. выберете Options | Verify Code Signatures.

4. обновите содержимое окна, нажав F5.

Убедитесь, что все процессы отображаются в виде доверенных (Verified) в колонке Publisher(издатель).

Если процесс не помечен, как доверенный, то он считается подозрительным. (Но прежде, чем принимать какое либо решение о дельнейшей судьбе подозрительного процесса, найдите о нем больше информации. Например, в моей системе AutoRuns посчитала два гаджета рабочего стола подозрительными - ArkSmoke)


В зависимости от того, сколько сервисов у Вас запускаются, процесс проверки может занять некоторое время (такой процесс очень ощутим на компьютерах с приличным сроком работы - ArkSmoke). Так что имейте это ввиду, когда пользуетесь AutoRuns. Если опция Verified стоит по умолчанию, то процесс запуска утилиты может увеличиться в разы.

Мысли на последок

А вот список причин, по которым Вам следует использовать SysInternals Autoruns. Программа позволяет не только управлять всеми процессами и сервисами, автоматически загружаемыми в систему, но и уберечь от запуска вредоносных процессов. Это простая в использовании утилита от авторитетных разработчиков.

четверг, 18 августа 2011 г.

Mark's Blog. Дело о зависшем запуске игры





« - Когда мне плохо, я работаю, - сказал он. - Когда у меня неприятности, когда у меня хандра, когда мне скучно жить, - я саж

усь работать. Наверное, существуют
другие рецепты, но я их не знаю. Или они мне не помогают. Хочешь моего совета - пожалуйста: садись работать. Слава богу, таким людям, как мы с тобой, для работы ничего не нужно кроме бумаги и карандаша...»

(А. и Б. Стругацкие, «За миллиард лет до конца све
та»).

Пусть этот эпиграф из Стругацких послужит привычным предисловием к переводу поста Марка Руссиновича. На этот раз Марк будет разбирать дело о зависшей игре. Приятного чтения, да не покинет Вас сила.

Дело о зависшем запуске игры

Конечно, мне очень нравится, когда приходят истории о том, как пользователи с помощью инструментов Sysinternals успешно разреш


ают сложные проблемы, но нет ничего приятнее, чем, используя все тот же инструментарий, решать свои собственные проблемы. В частности, этот случай оказался забавным, потому что его решение позволило мне вернуться к забавам.

Когда есть время, я время от времени играю в компьютерные игры, чтобы выпустить пар (вот такой вот каламбур - Mark). Несколько крайних лет моя любимая игрушка – Portal. Мне очень понравился первый Portal, затем я


заказал второй Portal от команды Valves, и, когда он стал доступен, я играл в него уже через несколько часов после выхода. С того времени я играю картах, которые создают любители игры. В прошлую субботу я засел за карту фаната, победителя с community map contest, но не хватило время, пройти ее за одни присест.

Следующим утром я перезагрузил свою машину, кликнул по ярлычку Portal 2, получив стандартный диалог запуска Steam. Обычно игра грузилась за пару секунд, но на этот раз диалог Steam остановился здесь:


Я закрыл этот Steam и открыл его снова, и снова диалог завис.

Я отрыл снимок активности Process Monitor’а и принялся искать в Process Explorer’е стек процессов Steam’а, но не обнаружил никаких ключей. Подумав, что конфигурация или установка Portal 2 повредилась, я удал игрушку, снова скачал ее и переустановил. Это не исправило проблемы, хотя Portal 2 был «чистым», что означало, что проблемы либо в Steam’е, либо еще в каком месте в Windows. Следующим шагом была переустановка Steam’а.


Первым делом я открыл «Удаление или изменение программ» из Панели управления, но двойной клик по Steam вызвал диалог, запрашивающий подтверждение удаления и предупреждающий, что удалится и весь контент. Не хотелось мне потерять настройки игры или же потом переустанавливать игры вообще, поэтому не стал я удалять Steam. У большинства установщиков Microsoft Installer Service (MSI – сервис установки Microsoft) есть опция «восстановить», она переустанавливает приложение без удаления данных пользователя или его конфигурации,

поэтому я зашел на домашнюю страничку Steam’а, скачал инстолятор и запустил его. Конечно же, мастер установки предложил мне опцию «восстановить» (repair option):

Нажав на кнопку «Далее» (Next button), я оказался ошарашен странным сообщением об ошибке. Появлялась сетевая ошибка! Это при попытке чтения файла, находящегося на жестком диске:

Я снова запустил Process Monitor и принялся отслеживать процессы при неудачной попытке восстановления программы. Сообщение об ошибке ссылалось на файл с именем SteamInstall[1].msi, так как я нашел в логе этого файла такую строку. Первой подсказкой оказалась значение, прочитанное в запросе ключа реестра HKCR\Installer\Products под названием PackageName

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

Инстолятр считывал имя файла с существующего ключа реестра, а место расположения файла оказался кэш Internet Explorer’а (IE’а). Сразу же возникло предположение, что инстолятор пытается запустить свою же копию со времен первого скачивания. Первоначальный файл установки запускался из папки IE с сайта Valve, точно так же, как это было сделано и сейчас, файл располагался в КЭШе IE’а, но с первой установки уже прошло время, и файл должен был бы давно удалиться.

Process Monitor показывал, что инстолятор обращается к первоначальному файлу установки, указанному в реестре, поэтому, укажи я установщику расположение только что скаченного файла, я бы смог его запустить, а не искать, где когда-то располагались старые файлы. Я просмотрел лог, ища, где располагается Steaminstall.msi, и нашел его в другом месте КЭШа:

Затем я вернулся к очереди входов реестра, кликнул правой кнопкой по нему, выбрал Jump To (перейти) из контекстного меню. Process Monitor запустил Regedit, открытый на нужном мне ключе, в котором я обновил значения LastUsedSource и PackageName на нужные мне:

После я закрыл диалог с ошибкой, который я оставлял открытым, и нажал на копку Далее (Next), пробуя исправить программу снова. На этот раз, Steam переустановился, и мастер выдал сообщение об успешной установке:


Я запустил Portal 2. на секунду вылетел диалог Steams’а «Preparing to Launch» (подготовка к запуску), и заставка Portal 2 появилась на экране. Дело распутано. Удаление и переустановка Steams’а и всех игр дали бы аналогичный результат, но Process Monitor дал возможность сэкономить время и сохранить все позиции и настройки игр. И спустя несколько минут, я вернулся к решению игровых задач разных видов.


понедельник, 8 августа 2011 г.

Mark's Blog. Решение проблем с "Sysinternals Administrator’s Reference"

Безусловно, лето - жаркая пора. Вот и я чуть выбился с ритма переводов статей из блогов, но все же взял себя в руки и постепенно вхожу в колею.

Совершенно недавно я опубликовал анонс новой книги Марка Руссиновича - Руководство Windows Sysinternals администратора.

Теперь же публикую новый перевод из официального блога Марка. Он не много перекликается с анонсом книги - человека можно и нужно понять, книга - результат большой проделанной работы. Ну что же, на этом свой комментарий заканчиваю, оставляю Вас с постом Марка. Да прибудет с Вами сила. - ArkSmoke.

Наконец мы с Аароном Маргосисем рады анонсировать долгожданный и слегка занятный релиз официального «Руководства по использованию утилит Sysinternals»(). У меня всегда в глубине души сидела идея написать такое руководство, но эта идея оставалась идеей до тех пор, пока пару лет назад Дайв Соломон (мой соавтор по книге «Windodw изнутри») не предложил осуществить ее. После нескольких неудачных попыток начать писать книгу, я все же решил, что вместе с соавтором книга напишется быстрее, и обратился к Аарону, моему хорошему другу, который долгое время уже применяет программки в своей повседневной работе в Федеральном Отделе Консалтинговых Сервисов Microsoft’а. Это оказался превосходный выбор и отличный бред для книги.

Не важно, Вы только знакомитесь с нашими утилитами или уже работаете с ними с тех пор, как я и Брайс Когсвел (мой соучредитель по Sysinternals и Winternals Software, сейчас вышедший в отставку) выпустили NTFSDOS в 1996 году, будьте уверены, что в книги Вы найдете новые идеи, мысли, которые дадут Вам заметное превосходство при решении проблем с Вашей системой.

В книге описаны более 70 инструментов, с главами, подробно описывающими большие инструменты, такие как Process Explorer, Process Monitor, и Autoruns. В книге приведены подробные описания всех функций утилит, как ими пользова

ться с подробным описанием советов и технологий. Заключительная часть книги окажется знакомой всем, кто проглядывает мог блог или видел «Дело о неизведанном» в рамках конференций, потому что эта часть книги содержит 17 реальных случаев, которые иллюстрируют, как пользователи и администраторы, знающие ОС Windows, используя инструменты от Sysinternals решают задачи, в других случаях не решаемые.

Книга в продаже только пару недель, но мы уже услышали достаточно отзывов от людей, ее купивших и сразу же начавших ее активное применение, для решения проблем, которые не давали людям нормально выспаться. Думаю, вышесказанного будет достаточно для анонса книги.

Дело о таинственном звуке

Дело это началось пару несколько недель назад, когда один пользователь начал слышать звуки от своего компьютера в спальной. Этот звук, однотонный короткий, появлялся непредсказуемо: иногда раз за день, иногда несколько раз за час. Он его слышал постоянно, постоянно же подпрыгивал к компьютеру, открывал Process Explorer, ища ключи, которые только можно, но не было открыто ни одно приложение, использующие звуки. Несколько раз ему приходилось вскакивать среди ночи, чтобы отключить колонки и спокойно поспать. Жизнь его стала расстраиваться от недостатка сна и растущего неудовольствия. На работе начались проблемы, с друзьями он вел себя тихо и в конце концов задался вопросом, а не сидит ли у него приведение.

На прошлой недели он увидел анонс книги Sysinternals. До этого он был обычным пользователем, знающим о существовании утилит Sysinternals, а тут подумал, что более глубокое понимание внутренних процессов системы позволит ему более грамотно управляться с вычислительными ресурсами на работе. Когда он добрался до главы, повествующей об Process Monitor, он прочитал, как много лет назад Дэйв Соломон обнаружив, что с помощью Process Monitor можно разрешить такой большой круг проблем, дал совет: «Когда сложно, запускай Process Monitor». Так как терять уже было нечего, он решился, следуя совету, погонять приведений в своей домашней системе.

Он настроил фильтр, чтобы тот отображал «.WAV», предположив, что призрачный звук будет храниться в общем формате. Он не знал, когда появится этот таинственный звук, поэтому ему пришлось оставить Process Monitor запущенным на несколько часов. Не зная, откуда появится звук: из виртуальной памяти или с диска, он использовал функцию drop filtered events (запоминать активные события) из записей активного фильтра. Оставив Process Monitor запущенным, он пошел прогуляться. Вернувшись с прогулки, он подошел к компьютеру, посмотреть какие же следы оставил преступник. С облегчением, он заметил, что восемь операций использовали активный фильтр:
Эти подсказки ясно показывали, что апплет беспроводного адаптера воспроизводил звуки. После всех этих манипуляций стало ясно, что компьютер большую часть времени находится в зоне действия базой точки, время от времени соединение будет пропадать. Пользователь предположил, что апплет просто информирует его о том, когда связь восстанавливается. Ожидая, что будет возможность отключения этих уведомлений, он нажал правой кнопкой мыши по трею. Ну конечно же, «Enable Internet Connected Notification» (включить уведомление о соединении с интернет) была активна:Со снятой «галочкой» компьютер перестал производить непонятные шумы, дело отправилось в архив. Как следствие: сон нашего пользователя снова стал нормальным, он смог вернуться к своим друзьям, а применение знаний, полученных из «Руководства по использованию утилит Sysinternals» сделало его настоящей звездой на работе.

пятница, 5 августа 2011 г.

Для самых маленьких. Апплет


Многие, кто меня знают, при разговоре следят за речью и не только, когда я принимаю экзамены. Да, я очень люблю гонять людей по определениям – про это уже говорил и еще скажу очень-очень много раз. Может быть потому, что в свое время (оно еще не прошло) меня заставляли учить определения, с которым работаешь дословно, ничем это не мотивируя.

Только с опытом понимаешь, зачем это надо. Но как и во всем мире, в дословном знании определений встречаются свои минусы. Иногда, читая инструкции к работе с тем или иным модулем корпоративной программы, встаешь в ступор, не понимая, о чем-таки идет речь. Лично, я не могу понять смысл подмены одних определений другими, да, не спорю, «транзакция» звучит красивее (страшнее и умнее) «подпрограммы», но только обозначают они разные вещи.

Кому интересно – посмотрите и сравните эти определения и, может быть, у вас получится рассказать мне, как их можно подменить.

Но этот пост я хочу посвятить другому определению (про транзакцию, мы еще, конечно, поговорим), но сейчас нам важнее (дня понимания нового перевода поста Марка Руссиновича) разобраться с подпрограммой.

Вдаваться в разработки программных модулей я не стану – не охота бить язык на темы многочисленных книг, а вот провести краткий ликбез, считаю своей прямой обязанностью.

Итак:

Программа — данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определённого алгоритма.

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

Эти определения взяты из ГОСТ 19781-90. Термины общепринятые – ГОСТ не отмененный. Вот только термина «апплет» в нем нет. Поэтому:

Апплет (англ. applet от application —- приложение и -let — уменьшительный суффикс) — это несамостоятельный компонент программного обеспечения, работающий в контексте другого, полновесного приложения, предназначенный для одной узкой задачи и не имеющий ценности в отрыве от базового приложения.

Или же: Элемент модульных диалоговых сред X Window System (GNOME, KDE, Xfce), Microsoft Windows, Apple Mac OS. Является приложением в машинном коде для соответствующей ОС, взаимодействует с основным приложением (менеджером окон) посредством стандартного API. Хотя обычно под апплетом подразумевают элемент, который может быть отдельно установлен, удалён или настроен пользователем, типичные примеры апплетов — часы-календарь и Языковая панель Windows, Панель управления и различные оснастки консоли MMC.

Получилось у меня пробудить Вас исследовательские жилки?