<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Mark Russinovich по-русски</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mark_russinovich/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/feed.xml</link>
    <description />
    <lastBuildDate>Thu, 28 Apr 2016 05:17:52 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Выслеживание и уничтожение вредоносного ПО, требующего мзду</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/23</link>
      <pubDate>Sun, 13 Jan 2013 23:33:53 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2013/01/13/23/</guid>
      <description><![CDATA[Вредоносное ПО, пугающее пользователей (scareware) – тип ПО, маскирующегося под антивирусные...]]></description>
      <content:encoded><![CDATA[<p>Вредоносное ПО, пугающее пользователей (scareware) – тип ПО, маскирующегося под антивирусные программы, – появилось десяток лет тому назад и не собирается уходить. Цель таких программ – одурачить пользователя, демонстрируя, что его компьютер тяжело поражен вирусами, и лучший способ избавиться от них – приобрести полную версию программы, которая своими заботами любезно остановит заражение. Я писал об этом в 2006 году в сообщении «<a href="https://blogs.technet.com/b/mark_russinovich/archive/2006/01/03/3151268.aspx">Теория заговора производителей средств защиты от вредоносных программ</a>» и сегодняшние фиктивные антивирусы не сильно отличаются от прежних, зачастую представляясь пакетами с собственными логотипами и темами. Один из них даже обозначен как антивирус Sysinternals:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/4718.image_2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/4718.image_5F00_2.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3225.clip_image002_571E34ED.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3225.clip_5F00_image002_5F00_571E34ED.png" width="571" height="435" /></a></p>  <p>Изменение, произошедшее в этой индустрии за последние несколько лет, связано с тем, что сегодня большая часть пугающих программ (scareware) также становится программами, требующими мзду (ransomware). Примеры 2006 года просто изводили вас предупреждениями, что система заражена, но, тем не менее, позволяли использовать компьютер. Современное scareware, как минимум, предотвращает запуск диагностики и антивирусов, а зачастую вообще не позволяет запускать любые программы. Без специальных приемов очистки система, зараженная ransomware, позволяет лишь осуществить платеж по требованию шантажиста. </p>  <p>В этом сообщении я расскажу, как разные варианты ransomware блокируют пользователя в системе, как они выживают при перезагрузке, и как можно использовать программу <a href="https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx">Sysinternals Autoruns</a> для выслеживания и удаления самых современных экземпляров таких программ из зараженной системы.</p>  <p><b>Добыча</b></p>  <p>Перед началом охоты стоит познакомиться с ее объектом. Наиболее распространенный тип программ-вымогателей денег, вроде ложного антивируса, обычно ставит целью постоянно раздражать пользователя, а не полностью изолировать его от системы. Наиболее распространенные штаммы используют встроенные списки исполняемых программ, чтобы знать, что именно они будут блокировать, обычно включающие большинство антивирусов и даже основные инструменты Sysinternals. Они, как правило, позволяют пользователю запускать системные приложения вроде Paint, но иногда блокируют некоторые из них. При блокировке они выводят диалоговое окно с ложным сообщением о блокировке из-за заражения: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5707.image_4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5707.image_5F00_4.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8507.clip_image004_045F7F24.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8507.clip_5F00_image004_5F00_045F7F24.png" width="509" height="175" /></a></p>  <p>Но за последнюю пару лет вредоносное ПО стало более агрессивным, не занимаясь ничем, кроме вымогания денег. В этом примере компьютер полностью захватывается, блокируется доступ ко всему, кроме собственного окна, и программа требует код разблокировки для восстановления контроля над системой, который пользователь должен купить, позвонив по приведенному номеру (в данном случае, с кодом России): </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5807.image_6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5807.image_5F00_6.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5736.clip_image006_1EFBF570.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5736.clip_5F00_image006_5F00_1EFBF570.png" width="697" height="375" /></a></p>  <p>Есть вариант, когда подобным образом захватывается компьютер, но пользователя вынуждают сделать онлайн-покупки для восстановления контроля над компьютером (я не исследовал, сколько покупок возвращают контроль над ПК):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8015.image_8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8015.image_5F00_8.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1667.clip_image008_42C48130.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1667.clip_5F00_image008_5F00_42C48130.png" width="697" height="408" /></a></p>  <p>И есть еще один вид программ, который, как я считаю, также может быть отнесен к пугающему ПО, поскольку он сообщает пользователю, что в его системе скрывается детская порнография. А это может оказаться ужасной новостью для большинства людей. Распространитель таких сообщений должен думать, что страх перед необходимостью защищаться от обвинений в детской порнографии отговорит жертву от обращения к властям и убеждения их в своей невиновности, что вместо этого ей будет проще заплатить требуемую сумму.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6378.image_10.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6378.image_5F00_10.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0245.clip_image010_23618EC3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0245.clip_5F00_image010_5F00_23618EC3.png" width="697" height="524" /></a></p>  <p>Некоторые программы этого класса заходят настолько далеко, что представляются официальным правительственным ПО. Вот один экземпляр, вроде бы от французской полиции, информирующий пользователя, что на его компьютере найдены пиратские фильмы и что он должен заплатить штраф: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8037.image_12.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8037.image_5F00_12.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2018.clip_image012_77DD222E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2018.clip_5F00_image012_5F00_77DD222E.png" width="697" height="533" /></a></p>  <p>Что касается способов, которыми это ПО изолирует пользователя от компьютера, то на практике используются разные приемы. Один, наиболее общий, используется множеством ложных антивирусов, подобных Security Shield, и состоит в блокировании выполнения других программ путем отслеживания появления новых окон и насильственного прекращения соответствующих процессов. Другой способ, применяемый в примере с онлайновыми продажами, заключается в сокрытии всех окон (установке атрибута невидимости), которые не относятся к вредоносной программе. В этом случае вы можете запускать другие программы, но не можете взаимодействовать с ними. Похожий подход используется во вредоносном ПО, которое создает полноэкранное окно и постоянно поднимает его над остальными окнами системы, заслоняя собой окна других приложений. Я также наблюдал и обходной путь, когда создается новый рабочий стол и пользователь переключается на него, аналогично тому, как это делается в <a href="https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx">Sysinternals Desktops</a>, и хотя ваши программы по-прежнему работают, вы не можете переключиться на исходный рабочий стол, чтобы взаимодействовать с ними. </p>  <p><b>Находим позицию для охоты</b></p>  <p>Первый шаг очистки системы, крепко схваченной ransomware, состоит в определение места, откуда будет выполняться чистка. Все приемы блокировки делают невозможным взаимодействие с системой из зараженной учетной записи, которая обычно является главной административной учетной записью. Если пострадавшая система имеет другую административную учетную запись, а вредоносное ПО не смогло добраться до места глобального автостарта, откуда заражаются все учетные записи, то вам повезло, и вы можете выполнить очистку из нее. </p>  <p>К несчастью, большинство систем оставляют лишь одну административную системную запись, удаляя альтернативные. Резервный вариант – попробовать безопасный режим загрузки системы <a href="https://windows.microsoft.com/en-US/windows-vista/What-is-safe-mode"><i>Safe</i><i> </i><i>Mode</i></a>, который запускается при нажатии на F8 в процессе загрузки (немного сложнее в <a href="https://windows.microsoft.com/en-US/windows-8/windows-startup-settings-including-safe-mode">Windows 8</a>). Большая часть программ-вымогателей настраивается на автоматический запуск, создавая записи в ключах реестра Run или RunOnce раздела HKCU\Software\Microsoft\Windows\CurrentVersion (или вариантах HKLM), которые не обрабатываются в безопасном режиме, поэтому безопасный режим представляет собой удобную площадку для проведения очистки системы от такого ПО. Все большее число программ-вымогателей изменяет раздел HKCU\Software\Microsoft\Window NT\CurrentVersion\Winlogon\Shell (или HKLM), который обрабатывается как в режиме <i>Safe</i><i> </i><i>Mode</i><i>, </i>так и в <i>Safe</i><i> </i><i>with</i><i> </i><i>Networking</i><i>. </i>Однако режим загрузки <i>Safe</i><i> </i><i>Mode</i><i> </i><i>with</i><i> </i><i>Command</i><i> </i><i>Prompt</i><i> </i>отменяет выбор программы-оболочки из реестра, поэтому с его помощью можно перехитрить большинство современных программ-вымогателей, и он является следующей запасной позицией: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3632.image_16.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3632.image_5F00_16.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1732.clip_image014_7EAC634C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1732.clip_5F00_image014_5F00_7EAC634C.png" width="697" height="524" /></a></p>  <p>Наконец, если вредоносная программа оказывается активной даже при загрузке в режиме <i>Safe</i><i> </i><i>Mode</i><i> </i><i>with</i><i> </i><i>Command</i><i> </i><i>Prompt</i>, у вас не остается выбора, кроме как отправится на охоту из альтернативной установки Windows. При этом возможен ряд вариантов. Если у вас стоит Windows 8, то идеальный вариант – создание установки <a href="https://technet.microsoft.com/en-us/library/hh831833.aspx">Windows 8 To Go</a>, так как это полная версия Windows. Другой способ – загрузить установочный диск и нажать Shift+F10 при достижении первого графического экрана, чтобы открыть окно командной строки:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3731.image_14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3731.image_5F00_14.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8836.clip_image016_69DA6ACC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8836.clip_5F00_image016_5F00_69DA6ACC.png" width="697" height="524" /></a></p>  <p>У вас не будет доступа к Internet Explorer, и многие другие приложения не будут работать корректно в урезанном окружении Windows Setup, но вы сможете запустить инструменты Sysinternals. Наконец, можно создать загрузочный носитель <a href="https://technet.microsoft.com/en-us/library/cc766387(v=ws.10).aspx">Windows Preinstallation Environment</a> (WinPE), имеющий окружение подобное Windows Setup и использовать что-то вроде <a href="https://www.microsoft.com/en-us/windows/enterprise/products-and-technologies/mdop/dart.aspx">Microsoft Diagnostic and Repair Tooltkit</a> (MSDaRT).</p>  <p><b>Охота</b></p>  <p>Теперь, когда мы определились с объектом охоты, самое время подумать об оружии. Самое простое, конечно, использовать готовый антивирус. Если вы вошли с помощью альтернативной учетной записи или в безопасном режиме, то можете использовать стандартные продукты для онлайнового сканирования, многие из которых свободно доступны, подобно <a href="https://www.microsoft.com/en-us/download/details.aspx?id=17">Windows Defender</a> корпорации Microsoft. Если вы загружены из другой установки Windows, вам понадобиться использовать автономный сканер, подобный <a href="https://windows.microsoft.com/en-US/windows/what-is-windows-defender-offline">Windows Defender Offline</a>. Если антивирус неспособен обнаружить или вычистить заражение, вам придется обратиться к более точному и ручному оружию.</p>  <p>Утилитой, способной перерубить путы вредоносного кода в системе, является <a href="https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx">Sysinternals Autoruns</a>. Она знает более сотни мест, откуда зараза может стартовать при загрузке Windows, входе пользователя в систему, или запуске особых встроенных приложений. Способ ее запуска зависит от того, из какого окружения вы ведете охоту, но, в любом случае, она должна запускаться с правами администратора. Также Autoruns автоматически начинает сканирование при запуске, вы должны прервать его, нажав клавишу ESC, затем открыть диалог фильтрации и выбрать параметры проверки сигнатур и сокрытия всех входов Microsoft, так чтобы вредоносное ПО проявилось более отчетливо и уже после этого перезапустить сканирование:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6303.image_18.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6303.image_5F00_18.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1563.clip_image018_6668AD57.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1563.clip_5F00_image018_5F00_6668AD57.png" width="385" height="237" /></a></p>  <p>Если вы вошли с помощью учетной записи, отличной от зараженной, то необходимо указать утилите на зараженную учетную запись из меню «Пользователи» (Users). В данном примере Autoruns запускается из учетной записи Fred, но поскольку заражена запись Abby, я выбрал профиль Abby: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8015.image_20.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8015.image_5F00_20.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6232.clip_image020_1C8A25A7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6232.clip_5F00_image020_5F00_1C8A25A7.png" width="387" height="219" /></a></p>  <p>Если вы загрузились из другой ОС, то придется воспользоваться поддержкой автономной работы, которая требует указания корневого каталога целевой установки Windows и целевого профиля пользователя. Откройте диалоговое окно «Analyze Offline System» из меню File и введите соответствующие каталоги:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5277.image_26.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5277.image_5F00_26.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image022" border="0" alt="clip_image022" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4670.clip_image022_2047CA77.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4670.clip_5F00_image022_5F00_2047CA77.png" width="467" height="305" /></a></p>  <p>После сканирования системы утилитой Autoruns вы должны определить вредоносное ПО. Как я объяснял в своей презентации «<a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/SIA302">Охота за вредоносным ПО с помощью инструментов Sysinternals</a>», часто вредоносное ПО демонстрирует следующие свойства:</p>  <ul>   <li>Отсутствие иконки</li>    <li>Отсутствие описания или имени компании</li>    <li>Неподписанные Microsoft образы</li>    <li>Живет в каталоге Windows или профиле пользователя</li>    <li>Запаковано</li>    <li>Включает странные URL в свои строки</li>    <li>Имеет открытые конечные точки TCP/IP</li>    <li>Содержит подозрительные DLL или сервисы</li> </ul>  <p>Конечно, так как Autoruns просто показывает конфигурацию самостоятельно запускаемых программ, а не работающие процессы, некоторые из этих свойств не имеют значения. Тем не менее, мне удалось найти несколько дюжин вариантов современных программ-вымогателей, которые соответствуют более чем одному пункту списка, наиболее часто не имея описания или имени компании и имея случайное или подозрительное имя файла. </p>  <p>Один из недостатков автономного сканирования состоит в неверной работе проверки подписей. Это происходит потому, что Windows применяет подписывание каталогов, когда подписи хранятся в отдельных файлах, в противоположность прямой подписи в самих образах программ. Autoruns не обрабатывает автономные файлы каталогов (возможно, я добавлю такую поддержку в ближайшем будущем), поэтому все образы, подписанные через каталог, будут показываться как непроверенные и подсвечиваться красным. Так как большая часть вредоносного ПО не претендует на то, чтобы в поле компании стояло слово Microsoft, то можно попытаться выполнить первоначальное сканирование с отключенной опцией проверки кодов подписей. Ниже приведен результат автономного сканирования с отключенной проверкой подписей системы, зараженной ransomware, которое получило контроль над двумя позициями автостарта – поглядим, сможете ли вы их обнаружить: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/1184.image_28.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/1184.image_5F00_28.png"><img style="display: inline; background-image: none;" title="clip_image024" border="0" alt="clip_image024" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0820.clip_image024_40332774.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0820.clip_5F00_image024_5F00_40332774.png" width="697" height="322" /></a></p>  <p>Если вы не уверены в каком-то запускаемом файле, то можете попытаться загрузить его на сайт Virustotal.com для анализа примерно 40 наиболее популярными антивирусами, найти информацию в интернете, или посмотреть на встроенные в файл строки с помощью утилиты <a href="https://technet.microsoft.com/en-us/sysinternals/bb897439.aspx">Sysinternals Strings</a>.</p>  <p><b>Ликвидация</b></p>  <p>После того, как вы определили, какие входы относятся к вредоносному ПО, следующий шаг состоит в снятии флажка в записи autostart. Это позволит снова активировать ее после, если вы обнаружите, что ошиблись. Это не препятствует также перемещению вредоносных и любых других подозрительных файлов из каталога, в котором они помещены для автоматического запуска, в другой. Перемещение всех этих файлов с большей вероятностью разрушит вредоносное ПО, даже если вы ошибетесь с местом автозапуска.</p>  <p>Затем убедитесь, что добыча мертва, загрузив систему и войдя в зараженную учетную запись. Если вы снова увидите следы заражения, то могли что-то пропустить во время анализа Autoruns, поэтому повторите все шаги. Если это не принесет успеха, вредоносное ПО может быть более изощренной природы, например, заражая главную загрузочную запись системы, или поражая систему каким-то необычным способом, чтобы предохранить себя при перезагрузке. Есть ransomware, которое идет еще дальше и шифрует файлы, но это происходит довольно редко. К счастью авторы таких программ ленивы и не стараются сделать свои творения эффективными, так что быстрый анализ с помощью Autoruns фактически всегда приводит к смертельному исходу.</p>  <p>Удачной охоты!</p>]]></content:encoded>
    </item>
    <item>
      <title>Дело о необъяснимых FTP-соединениях</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/ftp-10</link>
      <pubDate>Mon, 12 Nov 2012 22:10:59 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2012/11/12/ftp-10/</guid>
      <description><![CDATA[Ключевой составляющей любого плана кибербезопасности является «непрерывный мониторинг», или...]]></description>
      <content:encoded><![CDATA[<p>Ключевой составляющей любого плана кибербезопасности является «непрерывный мониторинг», или возможность аудита и мониторинга через сетевое окружение, а также настройка автоматического анализа получающихся журналов для обнаружения аномального поведения, заслуживающего подробного исследования. Это часть нового менталитета «предполагаемых брешей», который признает, что не существует на 100 % защищенных систем. К несчастью, компания, оказавшаяся в центре этой истории, не имела всеобъемлющей системы мониторинга, поэтому была взломана некоторое время назад, что обнаружилось при обновлении сигнатур антивируса, удалившего заражение и привлекшего внимание к проблеме. Кроме подчеркивания, насколько слаба система безопасности во многих компаниях, данный случай иллюстрирует использование нескольких возможностей утилиты <a href="https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx">Sysinternals Process Monitor</a>, включая диалог Process Tree и одну возможность, на которую многие не обращают внимания – способность программы Process Monitor контролировать сетевую активность.</p>  <p>Дело началось, когда сетевой администратор южноафриканской компании связался со службой поддержки Microsoft Services Premier Support и сообщил, что корпоративный Exchange-сервер, работающий под управлением Windows Server 2008 R2, создает исходящие FTP-соединения. Он заметил это только благодаря предупреждению установленного в компании Microsoft Forefront Endpoint Protection (FEP) о том, что тот вычистил с сервера кусок вредоносного кода. Предполагая, что сеть может быть по-прежнему скомпрометирована, несмотря на сообщение FEP о чистоте системы, администратор проверил журналы брандмауэров, защищающих периметр компании. К своему ужасу он обнаружил FTP-соединения, исчислявшимися сотнями в день на продолжении нескольких последних недель. Вместо попытки начать собственное расследование, администратор обратился в команду консультантов по безопасности Microsoft, специализирующуюся на помощи пользователям при восстановлении после атак. </p>  <p>Инженер поддержки Microsoft, которому было поручено дело, начал с пятиминутной трассировки событий сервера Exchange, выполненной с помощью программы Process Monitor. После завершения трассировки он открыл диалог Process Tree (дерево процессов), который находится в меню Tools и показывает отношения родитель-потомок для всех процессов, попавших в текущий журнал. Он сразу увидел, что за эти пять минут были запущены 20 FTP-процессов, каждый из которых был короткоживущим, за исключением одного, остававшегося по-прежнему активным (процесс 7324 на рисунке ниже):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5582.image_2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5582.image_5F00_2.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0564.clip_image002_50F5C204.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0564.clip_5F00_image002_5F00_50F5C204.png" width="549" height="367" /></a></p>  <p>Инженер обратился к командам, запускающим FTP-процессы, выбирая последние в дереве процессов, так чтобы их детали появились внизу диалога Process Tree. Причудливым образом половина команд содержала только аргумент “-?”, который выводит справку по FTP:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0207.image_4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0207.image_5F00_4.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2100.clip_image004_209EC781.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2100.clip_5F00_image004_5F00_209EC781.png" width="296" height="138" /></a></p>  <p>Другая половина была более интересна, она содержала ключи “-i” и “-s”:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6646.image_6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6646.image_5F00_6.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5023.clip_image006_09241350.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5023.clip_5F00_image006_5F00_09241350.png" width="305" height="120" /></a></p>  <p>Ключ “-i” выключает подсказку при пересылке нескольких файлов, а “-s” предписывает выполнить FTP-команды из файла, в данном случае, из файла “j”. Желая понять, что содержит файл “j”, инженер щелкнул на кнопке “Include Process” внизу диалога Process Tree, чтобы увидеть события, связанные с файлами процесса:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/7230.image_8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/7230.image_5F00_8.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5811.clip_image008_1B8C6405.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5811.clip_5F00_image008_5F00_1B8C6405.png" width="410" height="54" /></a></p>  <p>Он просмотрел результаты, отфильтровав журнал по “j” и обнаружил местоположение файла в нескольких событиях: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8371.image_10.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8371.image_5F00_10.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0216.clip_image010_2BB82BFE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0216.clip_5F00_image010_5F00_2BB82BFE.png" width="581" height="110" /></a></p>  <p>Он перешел в каталог C:\Windows\System32\i4333, но файла там не было. Это был тупик, и он переключил внимание на родительский процесс Cmd.exe и взглянул на его командную строку. Она была очень длинной и запутанной для простого понимания: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0257.image_66994646.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0257.image_5F00_66994646.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5074.clip_image012_0F5AC411.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5074.clip_5F00_image012_5F00_0F5AC411.png" width="697" height="85" /></a></p>  <p>Он выделил ее, скопировал в буфер и вставил в Notepad, а затем разбил на составляющие, каждая из которых отделялась амперсандом “&amp;”. Результат выглядел следующим образом:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6558.SNAGHTML143cd3bc.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6558.SNAGHTML143cd3bc.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6114.clip_image014_6CB68595.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6114.clip_5F00_image014_5F00_6CB68595.png" width="571" height="285" /></a></p>  <p>Первая инструкция создавала каталог с именем i4333, а затем начиналось создание файла “j”. Команды, записанные в “j”, предписывали FTP соединиться с NUXZb.in.into4.info, зайти с именем «New» и паролем “123”, и загрузить все файлы с расширением “.exe”. После выполнения файл уничтожался и создавался командный файл, запускавший скачанные файлы, сначала с помощью Shell (параметр “start”), а затем из командной строки. </p>  <p>Краткое обращение к Whois показало, что имя хоста NUXZb относится к Protected Name Services и не содержит никакой полезной информации. Инженер отключил разрешение сетевых имен в Process Monitor и оставил в журнале исходящие FTP-соединения, чтобы увидеть IP-адрес, соответствующий разрешенному имени: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/7140.image_30.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/7140.image_5F00_30.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0654.clip_image016_3DA423F1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0654.clip_5F00_image016_5F00_3DA423F1.png" width="645" height="158" /></a></p>  <p>Определение местоположения IP-адреса в Интернет указало на IP-адрес ISP в Чикаго (теперь имя разрешается к другому IP-адресу), из чего инженер заключил, что либо соединение было со скомпрометированным сервером, либо атакующий располагался у этого ISP. Завершая анализ командной строки, он обратился к содержимому результирующего скрипта, D.bat, который по-прежнему был в каталоге и содержал единственную команду: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3404.image_14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3404.image_5F00_14.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2870.clip_image018_2B2BAD6F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2870.clip_5F00_image018_5F00_2B2BAD6F.png" width="409" height="48" /></a></p>  <p>Не случайно, 134.exe оказался тем самым выполняемым кодом, на который среагировал Forefront, как на троян удаленного доступа (remote access Trojan, RAT) в предупреждении, с которого все началось. Поэтому скрипт не может найти его, и атака – или, по крайней мере, часть ее – была нейтрализована FEP. Также имейте в виду, что атака была автоматизирована и застряла в цикле, пытаясь активироваться.</p>  <p>Следующим шагом инженера было выяснить, как был запущен процесс командной строки. Взглянув на родительский процесс в дереве, он обнаружил, что все экземпляры запускались Sqlserver.exe:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0777.image_16.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0777.image_5F00_16.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4118.clip_image020_374D2796.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4118.clip_5F00_image020_5F00_374D2796.png" width="697" height="187" /></a></p>  <p>Очевидно, это плохой знак, но не самое худшее: проверяя сетевую активность SQL Server в журнале, он обнаружил множество входящих подключений:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3021.image_26.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3021.image_5F00_26.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image022" border="0" alt="clip_image022" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2500.clip_image022_1DB5749C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2500.clip_5F00_image022_5F00_1DB5749C.png" width="697" height="412" /></a></p>  <p>Поиск местоположений IP-адресов привел в Китай, Тунис, Тайвань и Марокко:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3005.image_28.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3005.image_5F00_28.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image024" border="0" alt="clip_image024" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8080.clip_image024_27A9CA2D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8080.clip_5F00_image024_5F00_27A9CA2D.png" width="697" height="462" /></a></p>  <p>SQL Server использовался атакующим или атакующими по всему миру в странах, известных как прибежище киберкриминала. Явно настало время остановить сервер, но перед тем как сообщить администратору плохие новости и посоветовать немедленно отсоединить его от сети, он решил, что стоит потратить несколько минут и проверить безопасность SQL Server. Понимание того, как система была скомпрометирована, может помочь компании избежать этого в следующий раз.</p>  <p>Он запустил специальный файл поддержки Microsoft, проверяющий различные установки безопасности SQL Server. Скрипт проработал несколько секунд и выдал обескураживающий результат: сервер имел административную учетную запись с пустым паролем, был настроен на аутентификацию в смешанном режиме и позволял хранимым процедурам запускать окно командной строки из-за разрешения «xp_cmdshell»: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0842.image_18.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0842.image_5F00_18.png"><img style="display: inline; background-image: none;" title="clip_image026" border="0" alt="clip_image026" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0066.clip_image026_3614A085.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0066.clip_5F00_image026_5F00_3614A085.png" width="697" height="335" /></a></p>  <p>Это означает, что любой пользователь Интернета мог зайти на сервер без пароля и выполнить задачу, вроде FTP, чтобы заразить систему собственными вредоносными программами.</p>  <p>С помощью программы Process Monitor и обсуждения с администратором компании, инженер службы поддержки составил ясное представление о случившемся: администратор компании установил SQL Server на Exchange Server компании за несколько недель до инцидента. Не осознавая, что сервер находится на периметре, он открыл порт SQL Server в локальном брандмауэре, оставил его с пустым паролем администратора и разрешил xp_cmdshell. Это произошло, несмотря на то, что даже если сервер не имеет связи с Интернет, такая конфигурация оставляет его безо всякой сетевой защиты. Спустя недолгое время, автоматическое вредоносное ПО, сканируя интернет в поисках незащищенных целей, столкнулось с открытым портом SQL, заразило сервер вредоносным кодом и, скорее всего, включило его в списки ботнета. Сигнатуры FEP для нового кода были доставлены на сервер спустя некоторое время, и программа удалила заражение. Вредоносное ПО по-прежнему пыталось реинтегрировать сервер в ботнет, когда было открыто дело в службе поддержки Microsoft. Хотя компания и не узнала, сколько данных было украдено в процессе заражения (и вообще было ли хоть сколько), это был очень громкий и ясный звоночек.</p>  <p>Вы можете проверить собственные знания о кибербезопасности, пройдя мой <a href="https://www.trojanhorsethebook.com/blog/the-operation-desolation-quiz/">тест «Операция «Опустошение»</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Дело об о-о-о-ч-ч-ч-е-е-е-н-ь медленных входах в систему</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/10</link>
      <pubDate>Thu, 06 Sep 2012 23:57:28 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2012/09/06/10/</guid>
      <description><![CDATA[Дело относится к моему любимому разряду дел, в которых я использую собственные инструменты для...]]></description>
      <content:encoded><![CDATA[<p>Дело относится к моему любимому разряду дел, в которых я использую собственные инструменты для решения проблемы, затронувшей меня самого. Это дело в своей основе может коснуться каждого, особенно тех, кто много путешествует, и демонстрирует использование некоторых возможностей программы Process Monitor, о которых многие не догадываются, что делает его идеальным для описания и распространения. </p>  <p>История разворачивалась в позапрошлую неделю, когда я отправился в Орландо выступить на конференции Microsoft TechEd North America. Когда я был там, я столкнулся с пятиминутными задержками при входе в свою систему Windows 7, сопровождавшимися черным экраном:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/4048.image_2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/4048.image_5F00_2.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3513.clip_image002_5DD46959.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3513.clip_5F00_image002_5F00_5DD46959.png" width="565" height="277" /></a></p>  <p>Обычно я отношу отдельные задержки, подобные этой, на счет проблем с сетью, часто встречающихся на конференциях с их WiFi-сетью, предоставляемой отелем. Но я постоянно нарывался на эту проблему переключаясь между системой Windows 8, установленной на моем лэптопе для тестирования и проведения презентаций, и Windows 7, где находятся средства разработки. Получить заблокированный на такой промежуток времени компьютер, – мало сказать, будешь несколько раздосадован.</p>  <p>В первый раз, когда появился черный экран, я принудительно перезагрузил систему после пары минут ожидания, поскольку подумал, что она зависла. Когда я задержка случилась во второй раз, я был вынужден подождать, и столкнуться с разочаровывающим фактом, что моя система не в порядке. Когда я вышел из системы и вошел в нее снова без перезагрузки, задержки не произошло. Она случалась только после перезагрузки, которую я делал, переключаясь между Windows 7 и Windows 8. Что самое печальное, всякий раз, когда я перезагружался, я торопился на свою следующую презентацию, поэтому был вынужден терпеть неудобства в течение нескольких дней, пока наконец не нашел возможности исследовать проблему.</p>  <p>Как только выдался свободный момент, я запустил программу <a href="https://technet.microsoft.com/ru-ru/sysinternals/bb963902.aspx">Sysinternals Autoruns</a>, усовершенствованную утилиту управления автозапуском программ, чтобы запретить все образы, расположенные на разделяемых сетевых ресурсах. Из прошлого опыта запуска Autoruns на лаптопе мне было известно, что служба Microsoft IT настраивает несколько плановых задач для выполнения командных файлов, расположенных на корпоративных разделяемых сетевых ресурсах, и подозревал, что таймауты связаны с попыткой запустить их:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/4520.image_8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/4520.image_5F00_8.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8132.clip_image004_602DEB57.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8132.clip_5F00_image004_5F00_602DEB57.png" width="697" height="75" /></a></p>  <p>Я вышел из системы и вошел обратно, держа пальцы перекрещенными, но задержки по-прежнему были на месте. Следующим шагом, я попытался войти в локальную учетную запись, чтобы посмотреть является ли проблема общесистемной или связана лишь с моим профилем. Нет задержки. Это положительный знак, так как означает, что с чем бы проблема ни была связана, возможно, ее относительно легко исправить после обнаружения.</p>  <p>Теперь моей целью было установить, что удерживало от переключения на рабочий стол. Мне требовался способ увидеть, что происходит во время регистрации в системе непосредственно после загрузки. Способ, сразу приходящий в голову, – использовать <a href="https://technet.microsoft.com/ru-ru/sysinternals/bb896645.aspx">Sysinternals Process Monitor</a> для регистрации событий процесса загрузки. Process Monitor – инструмент, регистрирующий общесистемные операции с файловой системой, реестром, процессами, DLL и сетью, – способен записывать действия с самых ранних этапов загрузки до момента, когда система выключается или пока вы не запустите пользовательский интерфейс Process Monitor. Я выбрал запись загрузки из меню Options и открыл диалог записи загрузки:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3652.SNAGHTML274998d.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3652.SNAGHTML274998d.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6746.clip_image006_443CB65F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6746.clip_5F00_image006_5F00_443CB65F.png" width="475" height="270" /></a></p>  <p>Этот диалог позволяет настроить программу на сбор трассировочных событий при мониторинге загрузки, которые представляют собой периодические снимки стеков потоков. Я выбрал односекундную трассировку, надеясь на то, что если даже не замечу операций, объясняющих задержку, то смогу найти разгадку из стеков потоков, которые были активны сразу перед задержкой или когда она происходила.</p>  <p>После перезагрузки я вошел, подождал пять минут, глядя в черный экран, затем добрался до рабочего стола, где снова запустил Process Monitor и сохранил журнал загрузки. Вместо просмотра нескольких миллионов захваченных событий, копание в которых можно сравнить с поиском иголки в стоге сена, я использовал фильтр Process Monitor для поиска операций, занимающих более одной секунды и поэтому могущих вызывать замедление: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8357.SNAGHTML27bf247.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8357.SNAGHTML27bf247.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7144.clip_image008_4E4131BD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7144.clip_5F00_image008_5F00_4E4131BD.png" width="572" height="133" /></a></p>  <p>К несчастью, фильтр очистил окно вывода, перечеркнув мои надежды быстро найти ключ к разгадке.</p>  <p>Предполагая, что, возможно, последовательность процессов, запущенная при входе в систему могла вызвать что-то похожее, я открыл диалог дерева процессов из меню Tools. Этот диалог показывает взаимоотношения родитель-ребенок для всех активных процессов при записи журнала, что в случае загрузки означает все процессы, выполняющиеся во время загрузки и входа в систему. Сфокусировавшись на Winlogon.exe, интерактивном менеджере входа в систему, я заметил, что процесс Atbroker.exe запустился приблизительно тогда, когда я ввел свои учетные данные, и затем Userinit.exe выполнился, когда, наконец, возник рабочий стол:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3652.image_34.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3652.image_5F00_34.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0310.clip_image010_1D5E7A52.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0310.clip_5F00_image010_5F00_1D5E7A52.png" width="559" height="149" /></a></p>  <p>Ключ к решению загадки находился в длинной паузе между этими событиями. Я знал, что Logonui.exe просто выводит интерфейс для входа пользователя, а Atbroker.exe – просто вспомогательный механизм для перехода от интерфейса входа к сеансу пользователя, что исключает паузы, по крайней мере первоначально. Черный экран исчезает при запуске Userinit.exe, так что его родительский процесс Winlogon.exe остался под подозрением. Я настроил фильтр на включение событий только от Winlogon.exe и добавил столбец относительного времени, чтобы легко контролировать, когда случилось событие по отношению к началу загрузки. Когда я взглянул на результаты, я сразу увидел, что задержка составляет около шести минут, но в этот период времени нет активности, которая указала бы на ее причину:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6204.image_14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6204.image_5F00_14.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8203.clip_image012_79E1D5EC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8203.clip_5F00_image012_5F00_79E1D5EC.png" width="657" height="336" /></a></p>  <p>События трассировки исключаются по умолчанию, поэтому я щелкнул по кнопке фильтра событий трассировщика на панели инструментов, чтобы включить их в журнал, надеясь, что они прольют свет на проблему:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0815.image_16.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0815.image_5F00_16.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5481.clip_image014_0C0A5115.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5481.clip_5F00_image014_5F00_0C0A5115.png" width="309" height="81" /></a></p>  <p>Чтобы сократить размеры файла журнала, трассировщик Process Monitor захватывает стеки потоков, только если поток выполнялся с последнего момента, как был занесен в журнал. Поэтому я хотел взглянуть на события трассировки потока в начале задержки, но мой взгляд остановился на ежесекундно повторяющейся последовательности одних и тех же четырех потоков на протяжении всего периода существования черного экрана:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3051.image_18.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3051.image_5F00_18.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1780.clip_image016_5EA8BB44.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1780.clip_5F00_image016_5F00_5EA8BB44.png" width="321" height="401" /></a></p>  <p>Я был вполне уверен, что любой поток приостанавливался, выполнив некоторые действия в начале интервала, и находился в спящем состоянии на остальном его протяжении, поэтому скептически отнесся к тому, что любой из этих потоков имеет отношение к проблеме, но, тем не менее, стоило потратить несколько секунд, чтобы взглянуть на них. Я открыл диалог свойств события в одной из таких групп двойным щелчком на событии и переключился на страницу стека потока, почти не надеясь, что имена вызываемых функций в стеке подскажут ответ.</p>  <p>Когда я впервые запустил в системе Process Monitor, я настроил его на получение символов для образов Windows с публичного сервера символов Microsoft, используя DLL механизма отладки из <a href="https://msdn.microsoft.com/windows/hardware/gg463009.aspx">средств отладки для Windows</a>, чтобы видеть во фреймах стека осмысленные имена функций исполняемых модулей Windows, а не просто смещения в файлах. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/1423.SNAGHTML3eeaff2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/1423.SNAGHTML3eeaff2.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7558.clip_image018_42F40981.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7558.clip_5F00_image018_5F00_42F40981.png" width="509" height="382" /></a></p>  <p>Стек первого потока определяет его как поток «конечного автомата» ядра Winlogon, ожидающего какого-то неизвестного оповещения, и не содержит ничего интересного:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/7271.image_20.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/7271.image_5F00_20.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5023.clip_image020_7D3F5995.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5023.clip_5F00_image020_5F00_7D3F5995.png" width="434" height="404" /></a></p>  <p>Стек следующего потока тоже ничего не разъясняет, показывая, что поток является общим исполняющим потоком: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8345.image_24.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8345.image_5F00_24.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image022" border="0" alt="clip_image022" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2625.clip_image022_4C7C2C1D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2625.clip_5F00_image022_5F00_4C7C2C1D.png" width="434" height="335" /></a></p>  <p>Стек третьего потока оказался намного более интересным. Он был многоуровневым, включая вызовы функций Multiple UNC Provider (MUP) и драйверов клиентской распределенной файловой системы, ответственных за доступ к файловым серверам: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/1817.image_26.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/1817.image_5F00_26.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image024" border="0" alt="clip_image024" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0160.clip_image024_529352EB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0160.clip_5F00_image024_5F00_529352EB.png" width="434" height="643" /></a></p>  <p>Я промотал список дальше, чтобы увидеть фреймы, лежащие выше в стеке и имя одной из функций, <b>WLGeneric</b><b>_</b><b>ActivationAndNotifyStartShell</b><b>_</b><b>Execute</b>, подтвердило, что этот поток и отвечает за проблему, так как он запускает оболочку рабочего стола:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3554.image_28.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3554.image_5F00_28.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image026" border="0" alt="clip_image026" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3225.clip_image026_0AC1A437.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3225.clip_5F00_image026_5F00_0AC1A437.png" width="434" height="257" /></a></p>  <p>Следующая функция фрейма, <b>WNetRestoreAllConnectionsW</b>, вместе с последующими вызовами функций файлового сервера, привела меня к заключению, что Winlogon старался восстановить соответствие букв дисков файлового сервера перед тем, как продолжить запуск оболочки и дать доступ к рабочему столу. Я открыл Explorer, вспомнив, что у меня были два накопителя, отображаемые на разделяемые сетевые диски, расположенные на компьютерах внутри сети Microsoft, один для моей системы разработки, а другой для внутреннего ресурса Sysinternals, куда я публикую предварительные версии утилит. Находясь на конференции, я не имел доступа к интрасети, поэтому Winlogon не мог подсоединить их во время процедуры входа и в итоге, через много минут, выдавал:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/4456.image_32.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/4456.image_5F00_32.png"><img style="display: inline; background-image: none;" title="clip_image028" border="0" alt="clip_image028" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6864.clip_image028_62624C15.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6864.clip_5F00_image028_5F00_62624C15.png" width="572" height="116" /></a></p>  <p>Уверенный, что нашел отгадку, я щелкнул правой клавишей мыши на каждом ресурсе и отсоединил его. Я перезагрузил лэптоп, чтобы проверить исправление (точнее, обходной маневр) и к своему огромному удовлетворению убедился, что время от процедуры входа, до появления рабочего стола заняло лишь несколько секунд. Дело было закрыто! Исследовать, почему эти задержки настолько продолжительны, я не имел ни времени, ни необходимости. Мораль этой истории заключается не в самой проблеме, а в том, как с помощью инструментов Sysinternals и приемов поиска ошибок решать проблемы.</p>  <p>Прошедший в Амстердаме TechEd Europe предоставил мне возможность повторить выступление, которое было на TechEd US. Я прочитал ту же лекцию по поиску и устранению неисправностей «Дело о необъяснимом», которая была и на TechEd US, но на этот раз я имел удовольствие поделитться этим свежим случаем, произошедшим лично со мной. Вы можете посмотреть запись этой лекции среди других лекций TechEd, зайдя на страницу моих веб-кастов, на которой выложен список записей моих основных выступлений, либо обратится к непосредственным ссылкам ниже: </p>  <p><a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AZR209">Windows Azure Virtual Machines and Virtual Networks</a>    <br /><a href="https://channel9.msdn.com/Events/TechEd/Europe/2012/AZR302">Windows Azure Internals</a>    <br /><a href="https://channel9.msdn.com/Events/TechEd/Europe/2012/SIA302">Malware Hunting with the Sysinternals Tools</a>    <br /><a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/WCL301">Case of the Unexplained 2012</a></p>  <p>А также можно посмотреть записи всех выступлений на обоих мероприятиях на соответствующих сайтах: </p>  <p><a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2012">TechEd North America 2012 On-Demand Recordings</a>    <br /><a href="https://channel9.msdn.com/Events/TechEd/Europe">TechEd Europe 2012 On-Demand Recordings</a></p>  <p>Надеюсь, вам понравилось это дело!</p>]]></content:encoded>
    </item>
    <item>
      <title>Анонс романа «Троянский конь»</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/53</link>
      <pubDate>Tue, 04 Sep 2012 02:10:15 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2012/09/04/53/</guid>
      <description><![CDATA[Многие из вас прочли мой первый роман «День ноль». Это кибертриллер, где главные герои, Джефф Айкен...]]></description>
      <content:encoded><![CDATA[<p>Многие из вас прочли мой первый роман «День ноль». Это кибертриллер, где главные герои, Джефф Айкен и прекрасная Дэрил Хьюген, эксперты по компьютерной безопасности, спасают мир от разрушительной кибератаки. Отзывы на него и продажи оказались выше моих ожиданий, так что у меня были особые причины, побудившие написать продолжение – «Троянский конь», который, как я полагаю, даже более своевременен и волнующ. «Троянский конь», как и «День ноль», – это насыщенный действиями кибертриллер глобального масштаба, подвигающий Джеффа и Дэрил на борьбу за мировую безопасность и свои жизни с международными силами. Вместо того чтобы пересказывать содержимое, я предложу посмотреть видеотрейлер этого романа. </p>  <p>«Троянский конь» выйдет в свет 4 сентября, но вы можете сделать заказ уже сейчас на своем любимом онлайновом книжном магазине (в Штатах только теперь, но корейский издатель «Дня ноль» уже выкупил права на публикацию за рубежом). Найдите ссылки для заказа, почитайте еще о «Троянском коне», посмотрите мои остальные книги, загляните в мой книжный блог и найдите, где я рассказываю о своем новом сайте <a href="https://www.markrussinovich.com">markrussinovich.com</a>. Закажите «Троянского коня» и расскажите о нем своим друзьям!</p>]]></content:encoded>
    </item>
    <item>
      <title>Дело о нарушенной установке Microsoft Security Essentials на мамином компьютере</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/microsoft-security-essential</link>
      <pubDate>Thu, 19 Jan 2012 02:45:04 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2012/01/19/microsoft-security-essential/</guid>
      <description><![CDATA[Как читатель этого блога, я подозреваю, что и вы, подобно мне, являетесь обслуживающим ИТ-персоналом...]]></description>
      <content:encoded><![CDATA[<p>Как читатель этого блога, я подозреваю, что и вы, подобно мне, являетесь обслуживающим ИТ-персоналом для вашей семьи и друзей. И, спорю, многие из вас выполняют обязанности по системному обслуживанию, когда приходят в гости к родственникам или друзьям во время каникул. Каждый раз, когда я навещаю свою маму, я обычно выделяю несколько минут, чтобы запустить Sysinternals Process Explorer и Autoruns, а также просмотреть страницу Program Uninstall из панели управления и почистить мусор, неизвестно откуда накопившийся с момента моего предыдущего визита.</p>  <p>Однако на этот раз я столкнулся не просто с обычной проверкой. Мама недавно приобрела новый ПК, так что в результате я провел жуткий час, удаляя кучи OEM-овского мусора, загруженного в него (теперь я буду рекомендовать <a href="https://signature.microsoft.com/">Microsoft Signature PC</a>, который свободен от мусорных программ). Я сказал жуткий, потому, что это заняло время и потому, что даже простые приложения были сделаны как монстры, со сложной и продолжительной процедурой деинсталляции. Даже у гарантии OEM и файлов справки были полновесные процедуры установки. Ухудшая ситуацию, несколько приложений не смогли успешно деинсталлироваться либо выдавая сообщение об ошибке, либо оставляя после себя «бродячие» фрагменты, заставляя меня выслеживать их и наносить точные удары. </p>  <p>Когда чистка подходила к концу, я заметил, что антивирус, который OEM поместил на ПК, имеет годовую лицензию, после чего придется покупать новую, чтобы продолжить обслуживание. Имея на рынке прекрасные бесплатные антивирусные решения, пользователям нет причин для покупки антивирусов, так что я сразу деинсталлировал его (что, конечно, оказалось многошаговой процедурой, занявшей около 20 минут и выдавшей несколько ошибок). Затем я отправился в Интернет чтобы скачать то, что я считаю – и неудивительно, принимая во внимание мою принадлежность – наилучшим бесплатным антивирусным решением, <a href="https://windows.microsoft.com/en-US/windows/products/security-essentials">Microsoft Security Essentials (MSE)</a>. Спустя пару минут программа установки загрузилась, и запустился мастер установки. После нескольких щелчков на первых нескольких страницах он сообщил, что собирается установить MSE, но затем немедленно пожаловался на ошибку, которая не дает мастеру установки Security Essentials завершиться успешно:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8078.SNAGHTMLfe55b5c.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8078.SNAGHTMLfe55b5c.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2450.clip_image002_38B6BA15.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2450.clip_5F00_image002_5F00_38B6BA15.png" width="572" height="358" /></a></p>  <p>Предложение «перезапустить компьютер и попробовать снова» предназначено для решения проблем, вызванных вмешательством от незавершенной деинсталляции существующего антивирусного ПО (или дает надежду на то, что условия, вызвавшие проблему с неожиданной ошибкой, являются преходящими). Я только что перезагрузился, поэтому это не подходило. Щелчок по ссылке «<a href="https://windows.microsoft.com/en-US/windows/i-cant-install-microsoft-security-essentials">Получить помощь по ошибке</a>» рекомендует самые общие шаги по устранению неисправности, вроде деинсталлировать другие антивирусы, убедиться в том, что сервис Windows Installer сконфигурирован и запущен (хотя по умолчанию он не работает в Windows 7, так как запускается по требованию), и если все не сработает, обратится в службу поддержки.</p>  <p>Я предположил, что ситуация, с которой я столкнулся – достаточно редкая, и служба поддержки пользователей не сможет мне помочь (и что они скажут, если узнают, что Марк Руссинович обращается в службу поддержки?) , особенно после того как в Интернете не обнаружилось помощи по ошибке с кодом 0x80070643. Мой шурин, который также является программистом и одновременно специалистом по технической поддержке для своих соседей, заглядывал мне через плечо и подавал советы, так что я испытывал некоторое давление, пытаясь исправить ситуацию. Запустил свой любимый инструмент диагностики, <a href="https://technet.microsoft.com/en-us/sysinternals/bb896645">Sysinternals Process Monitor</a><u> (помните, «когда сомневаетесь запускайте </u>Process Monitor»).</p>  <p>Я перезапустил установку MSE, попутно записывая трассировку с помощью Process Monitor. Затем открыл представление дерева процессов программы, чтобы найти процессы, вовлеченные в предпринятую попытку установки, и идентифицировал Msiexec.exe (Windows Installer) и насколько запускающих процессов. Также я увидел, что Setup.exe запустил Wermgr.exe (Windows Error Reporting Manager), вероятно, для отправки в Microsoft отчета об ошибке:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6318.image_30.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6318.image_5F00_30.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3021.clip_image004_25D2109E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3021.clip_5F00_image004_5F00_25D2109E.png" width="284" height="398" /></a></p>  <p>Я переключил свое внимание назад к результатам трассировки и настроил фильтр так, чтобы исключить всё, кроме этих интересных процессов. Затем я начал трудоемкую работу прохождения по десяткам тысяч операций, надеясь найти иголку в стоге сена, объясняющую, почему установка подавилась ошибкой 0x80070643. </p>  <p>Когда я бегло проглядывал журнал, чтобы получить общее представление, я заметил некоторые записи в файлы журнала:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/4377.image_2B4AD3ED.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/4377.image_5F00_2B4AD3ED.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0876.clip_image006_089C42C7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0876.clip_5F00_image006_5F00_089C42C7.png" width="697" height="163" /></a></p>  <p>Однако записи в них не обнаружили ничего кроме загадочного сообщения об ошибке, приведенной в диалоге. </p>  <p>Через несколько минут я решил, что необходимо вернуться в журнале трассировки туда, где произошла ошибка, поэтому я перешел в дерево, выбрал Wermgr.exe и щелкнул «Go to event» (Перейти к событию):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6036.image_43DA713D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6036.image_5F00_43DA713D.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6131.clip_image008_63029F98.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6131.clip_5F00_image008_5F00_63029F98.png" width="697" height="128" /></a></p>  <p>Эта запись располагалась сразу после того, как setup встретил роковое условие. Затем я пролистал в журнале на несколько страниц вверх, ища следы. После нескольких минут поиска я обнаружил шаблон, встречающийся почти во всех операциях выше данной точки: Setup.exe пересчитывает все приложения, установленные системой. Я определил, что в реестре есть множество связанных с установками мест и смог определить имена приложений, найденные в колонке Details для некоторых из них. Например, здесь находится одна из OEM-программ, представляющая собой другой файл справки, выполненный как приложение, который я не догадался ранее удалить:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8081.image_40.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8081.image_5F00_40.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2018.clip_image010_378E58D1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2018.clip_5F00_image010_5F00_378E58D1.png" width="697" height="152" /></a></p>  <p>Теперь я мог быстро пробежаться по журналу, ища имена приложений. Минуту спустя я резко остановился, обнаружив то, чего я не должен был видеть – Microsoft Security Essentials:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0640.image_44.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0640.image_5F00_44.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3414.clip_image012_553FBDC3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3414.clip_5F00_image012_5F00_553FBDC3.png" width="697" height="72" /></a></p>  <p>Я знал, что не видел ее в списке установленных программ в «Панели управления» во время моего прошлого цикла деинсталляции, что я подтвердил путем повторной проверки.</p>  <p>Почему здесь были следы MSE, если она не была установлена, и фактически не устанавливалась? Я не был уверен, но после размышлений в течение нескольких минут, я пришел к заключению, что ПО, которое моя мам использовала для переноса файлов и настроек с ее старой системы, скопировало части установки MSE, которая находилась в старой системе. Вероятно, она использовала какую-то OEM-утилиту, размещенную на ПК, хотя я рекомендую использовать для этого <a href="https://windows.microsoft.com/en-US/windows7/products/features/windows-easy-transfer">Windows Easy Transfer</a>. Но на самом деле причина не имела значения в тот момент, нужно было просто успешно установить MSE, и я считал, что нашел неисправность. Я удалил все эти разделы реестра, перезапустил Setup и … столкнулся с той же ошибкой. </p>  <p>Не готовый сдаться, я сделал еще одну трассировку установки. Подозревая, что setup прерывается на других фрагментах фантомной установки, я поискал «security essentials» в новом журнале трассировки и нашел еще ссылку до момента его падения. Чтобы избежать многократного повторения этой процедуры, я зашел в реестр и выполнил тот же поиск, уничтожив пару дюжин других разделов, в которых имелось упоминание о «security essentials».</p>  <p>Я затаил дыхание и снова запустил установщик, но с тем же результатом: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/7180.image_34.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/7180.image_5F00_34.png"><img style="display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0456.clip_image014_71F932D8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0456.clip_5F00_image014_5F00_71F932D8.png" width="572" height="357" /></a></p>  <p>Код ошибки был другой, так что очевидно я несколько продвинулся, но поиск в Интернете по-прежнему не давал никаких зацепок. Я сделал еще одну трассировку и начал двигаться по операциям. Установка проделала свой финт с перечислением установленных приложений, сгенерировав десятки тысяч операций. Я просматривал журнал назад от места запуска Wermgr.exe, но быстро утомился. Я по-прежнему не мог заметить, что стало причиной неудачи, и не мог предположить, как это должно выглядеть в трассировке. Мой шурин был настроен скептически, но я сказал ему, что не сдамся. Я был мотивирован проблемой, и тем фактом, что не мог позволить ему рассказать своим сотрудникам, о том, что он наблюдал мой провал.</p>  <p>Я решил, что мне нужен журнал трассировки успешной установки, чтобы можно было определить, где начинаются расхождения. Если это единственный вариант, как в данном случае, пошаговое сравнение – очень мощный прием поиска неисправности. Я переключился на свой ноутбук, запустил виртуальную машину с Windows 7 и сгенерировал трассировку успешной установки MSE на чистой системе. Затем я скопировал журнал с маминого компьютера и открыл обе трассировки в разных окнах – одну наверху экрана, а другую внизу. </p>  <p>Совместно пролистывая трассировки, я мог синхронизовать их просто по формам, оставляемым в окне путями операций, и время от времени удостоверялся, что они синхронизированы, более внимательно рассматривая операции. Хотя это довольно трудоемко, я двигался по журналу, иногда теряя синхронизацию, но затем восстанавливал ее. Один журнал был с чистой системы, а в другой было установлено множество ПО, что вызывало небольшие различия, которые я игнорировал.</p>  <p>Наконец, спустя примерно 10 минут я нашел операцию, на которой были видны существенные различия: открытие раздела реестра HKCR\Installer\UpgradeCodes\11BB99F8B7FD53D4398442FBBAEF050F на проблемной машине возвращало в качестве результата значение SUCCESS:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/1145.image_24.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/1145.image_5F00_24.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5226.clip_image016_312736A9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5226.clip_5F00_image016_5F00_312736A9.png" width="697" height="84" /></a></p>  <p>В то время как на работающей результат был NAME NOT FOUND:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6825.image_22.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6825.image_5F00_22.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3007.clip_image018_496A2AF7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3007.clip_5F00_image018_5F00_496A2AF7.png" width="697" height="92" /></a></p>  <p>Отличающийся кусок нарушенной установки, без какой-либо ссылки на MSE, поэтому он и не был обнаружен во время моих поисков реестре. Я уничтожил раздел, и с некоторой самоуверенностью заявил шурину, что решил проблему. Затем перекрестил пальцы и запустил установку снова, молясь чтобы всё сработало, и я смог бы вернуться к праздничному веселью, которое было внизу в полном разгаре.</p>  <p>Есть, программа установки пыхтела несколько секунд и завершилась, поздравив меня с успешной интсалляцией:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8585.SNAGHTMLfe4b7cd.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8585.SNAGHTMLfe4b7cd.png"><img style="display: inline; background-image: none;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3482.clip_image020_779400E4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3482.clip_5F00_image020_5F00_779400E4.png" width="572" height="357" /></a></p>  <p>Еще одна, казалось бы, неразрешимая проблема была побеждена с помощью Sysinternals, применением нескольких приемов поиска неисправностей и некоторого упорства. Мой шурин был весьма впечатлен, и у него появилась неплохая история, когда он вернется в офис после праздников, а моя мама получила более быстрый ПК со свободным антивирусным сервисом.</p>  <p>Я сообщил об этом команде MSE и они работают над исправлением кодов ошибок и усовершенствованием программы установки, которое позволит ей стать более устойчивой к таким типам ошибок. Они также сообщили мне о дополнительных ресурсах на случай, если я столкнусь с подобными проблемами. Во-первых, это <a href="https://www.microsoft.com/download/en/details.aspx?id=13088">MscSupportTool.exe</a>, извлекающий файлы журнала установки MSE, в которых может быть дополнительная информация. А также <a href="https://answers.microsoft.com/en-us/protect/forum/protect_start/uninstalling-mse/a63b8c4b-58ed-437e-8086-fa08d80725a4">Microsoft ‘fix-it tool’</a>, который исправляет некоторые проблемы установки. </p>  <p>Я надеюсь, что ваши праздничные бдения над ПК прошли с подобным же успехом, и хочу пожелать, чтобы новый 2012 год был бы свободен от компьютерных проблем!</p>]]></content:encoded>
    </item>
    <item>
      <title>Дело об ошибке сервиса Windows Installer</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/windows-installer</link>
      <pubDate>Sun, 15 Jan 2012 10:48:26 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2012/01/15/windows-installer/</guid>
      <description><![CDATA[Этот случай произошел с сетевым администратором, которому поручили развернуть в сети клиентское ПО...]]></description>
      <content:encoded><![CDATA[<p>Этот случай произошел с сетевым администратором, которому поручили развернуть в сети клиентское ПО <a href="https://www.microsoft.com/en-us/windows/windowsintune/try-and-buy.aspx">Microsoft Windows Intune</a>. Windows Intune – это облачный сервис, управляющий системами в корпоративной сети, и сохраняющий их программное обеспечение в актуальном состоянии, а также позволяющий администраторам контролировать состояние систем через интерфейс браузера. Оно требует агента на клиенте, но на одной из машин клиентское ПО отказалось устанавливаться, выдав следующее сообщение: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/6685.image_2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/6685.image_5F00_2.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6266.clip_image0024_04F9FB68.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6266.clip_5F00_image0024_5F00_04F9FB68.png" width="359" height="219" /></a></p>  <p>Сообщение об ошибке из этого диалога переводится следующим образом: «Нельзя получить доступ к сервису Windows Installer. Это может быть из-за неверной установки Windows Installer. Для помощи свяжитесь с обслуживающим персоналом.»</p>  <p>Администратор, видевший одну из моих презентаций «<a href="https://technet.microsoft.com/en-us/sysinternals/bb963887">Случай необъяснимого</a>», где я советую: «когда не уверен, запускай Process Monitor», загрузил копию программы с сайта <a href="https://technet.microsoft.com/en-us/sysinternals/bb896645">Sysinternals.com</a><u> </u>и зафиксировал процесс неудавшейся установки. Он следовал стандартным приемам поиска неисправности, двигаясь назад по журналу и ища операции, послужившие причиной сбоя, но после получасового анализа он отказался от такого занятия и переключился на другой подход. Вместо поиска зацепок в трассировке он решил, что проще найти проблему, сравнивая трассировку отказавшей системы с трассировкой, где установка клиента прошла успешно. </p>  <p>Спустя несколько минут у него была другая трассировка событий для пошагового сравнения. Он установил фильтр, включающий только события сгенерированные программой Msiexec.exe, программой установки клиента, и продолжил сравнение событий проблемной системы, сопоставляя их с соответствующими событиями работающей системы. В конечном счете, он определил точку расхождения трассировок. Обе трассировки ссылались на HKLM\System\CurrentControlSet\Services\BFE, но в проблемной трассировке после этого шел запрос к разделу реестра ComputerName:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8838.image_4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8838.image_5F00_4.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8814.clip_image004_00BFFDD6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8814.clip_5F00_image004_5F00_00BFFDD6.png" width="697" height="129" /></a></p>  <p>С другой стороны, в трассировке работающей системы после этого продолжались операции с новым экземпляром Msiexec.exe, администратор заметил это потому, что ID процесса последующего процесса Msiexec.exe отличался от первоначального:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3566.image_12.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3566.image_5F00_12.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3146.clip_image006_4302F04C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3146.clip_5F00_image006_5F00_4302F04C.png" width="697" height="121" /></a></p>  <p>Однако по-прежнему не было ясно, что приводит к расхождению в проблемной системе. После обдумывания ситуации в течение нескольких минут он уже готов был сдаться, но внезапно в голову пришла мысль, что ответ заключен в операциях, которые скрыты из-за фильтра. Он убрал фильтр, включающий в трассировку только события от Msiexec.exe, в обоих журналах и продолжил сравнение от точки расхождения.</p>  <p>Он немедленно увидел, что в трассировке на рабочей системе было множество событий от процесса Svchost.exe, которых не было в проблемной системе. Предположив, что активность Svchost.exe не имеет отношения к делу, он добавил фильтр, чтобы исключить ее. Теперь трассировки снова были сопоставлены и включали события от Services.exe, совпадающие в обоих случаях:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5224.image_10.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5224.image_5F00_10.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8741.clip_image008_5EE3FF77.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8741.clip_5F00_image008_5F00_5EE3FF77.png" width="697" height="136" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5618.image_8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5618.image_5F00_8.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3157.clip_image010_531E9278.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3157.clip_5F00_image010_5F00_531E9278.png" width="697" height="144" /></a></p>  <p>Однако совпадающие операции не продолжались слишком долго. Всего дюжину или около того операций спустя, в трассировке проблемной системы обнаружилась ссылка на HKLM\System\CurrentControlSet\Services\Msiserver\ObjectName с ошибкой NAME NOT FOUND (имя не найдено):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/2061.image_14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/2061.image_5F00_14.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8741.clip_image012_62FDB16F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8741.clip_5F00_image012_5F00_62FDB16F.png" width="697" height="112" /></a></p>  <p>В трассировке рабочей системы присутствовала та же операция, но с успешным результатом:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/1004.image_16.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/1004.image_5F00_16.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2500.clip_image014_42B2F4F2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2500.clip_5F00_image014_5F00_42B2F4F2.png" width="697" height="138" /></a></p>  <p>Действительно, кликнув правой клавишей мыши на пути и выбрав «Перейти к…» (jump to) из контекстного меню Process Monitor он убедился, что не только параметр ObjectName пропущен в разделе реестра Msiserver проблемной системы, но и весь раздел пуст. На рабочей системе он был заполнен параметрами, требующимися для настройки сервиса Windows: </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3542.image_20.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3542.image_5F00_20.png"><img style="display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5545.clip_image016_0489B474.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5545.clip_5F00_image016_5F00_0489B474.png" width="544" height="134" /></a></p>  <p>Каким-то образом при регистрации служба MSI была повреждена, о чем сообщалось в диалоговом окне первоначальной ошибки, но без указания на то, как исправить проблему. Как была повреждена служба, вероятно, навсегда останется тайной, но сейчас главным стало ее исправление. Чтобы сделать это, администратор просто использовал Regedit для экспорта и сохранения содержимого раздела из рабочей системы в REG-файл и затем импортировал этот файл в поврежденную систему. После импорта он перезапустил установщик Microsoft Intune, и тот отработал без каких-либо проблем.</p>  <p>С помощью программы Process Monitor и усердия, администратор затратил на решение проблемы около 45 минут, без них решение проблемы могло бы обойтись ему в несколько часов, которые пришлось бы затратить на перезаливку системы из образа и восстановления приложений и настроек.</p>  <p>Другие советы по использованию Process Monitor, а также дополнительные иллюстрации к случаям поиска неисправностей можно найти в книге «<a href="https://technet.microsoft.com/en-us/sysinternals/hh290819">Windows Sysinternals Administrator’s Reference</a>», которую я недавно опубликовал совместно с <a href="https://blogs.msdn.com/b/aaron_margosis/">Аароном Марголисом</a>. Если вы прочли ее, пожалуйста, оставьте ее обзор на <a href="https://www.amazon.com/Windows-Sysinternals-Administrators-Reference-Russinovich/dp/073565672X/ref=pd_sim_b_4">Amazon.com</a>. </p>]]></content:encoded>
    </item>
    <item>
      <title>Исправляя коллизии сигнатур дисков</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/83</link>
      <pubDate>Wed, 11 Jan 2012 01:29:02 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2012/01/11/83/</guid>
      <description><![CDATA[Клонирование дисков стало всеобщим явлением по мере того, как ИТ-профессионалы стали...]]></description>
      <content:encoded><![CDATA[<p>Клонирование дисков стало всеобщим явлением по мере того, как ИТ-профессионалы стали виртуализировать физические серверы с помощью инструментов вроде <a href="https://technet.microsoft.com/en-us/sysinternals/ee656415">Sysinternals Disk2vhd</a> и использовать образ главного виртуального жесткого диска в качестве эталона для копий, создаваемых для виртуальных клонов. В большинстве случаев с образами клонированных дисков можно обращаться, не опасаясь, что у них одинаковые сигнатуры. Однако в редких случаях может случиться так, что вы присоедините клонированный диск к Windows-системе, уже имеющий диск с такой же сигнатурой, и пострадаете от последствий коллизии сигнатур, которая приведет к тому, что любая дисковая установка Windows Vista и более новой ОС станет незагружаемой. Причинами добавления нового диска обычно являются оффлайновое копирование файлов, оффлайновое сканирование на вредоносные программы и – о ирония судьбы – восстановление незагружаемой системы. Риск повреждения – причина, по которой я поместил в документацию утилиты Disk2vhd предупреждение о недопустимости подсоединения VHD, созданного с помощью Disk2vhd, к системе, которая генерирует VHD, используя собственную встроенную поддержку виртуальных дисков, добавленную в Windows 7 и Windows Server 2008 R2.</p>  <p>Я получил сообщения от людей, столкнувшихся с проблемой коллизии сигнатур дисков и обнаруживших, что в Интернете не так много ресурсов, помогающих решить ее. Поэтому в этом сообщении я приведу простые шаги, следуя которым вы сможете починить систему, которая не загружается из-за коллизии сигнатур. Также я объясню, где хранятся сигнатуры дисков, как Windows использует их и почему коллизия приводит к тому, что Windows не загружается.</p>  <p><b>Сигнатуры дисков </b></p>  <p>Сигнатура диска представляет собой четырехбайтовый идентификатор, расположенный по <a href="https://en.wikipedia.org/wiki/Master_boot_record">смещению 0x1B8 в главной загрузочной записи (MBR)</a>, записанной в первом секторе диска. Следующий снимок экрана дискового редактора показывает, что сигнатура диска на мой системе равна 0xE9EB3AA5 (величина записана в формате с порядком следования байтов начиная с младшего, поэтому байты идут в обратной последовательности – little-endian format):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/7024.image_7DA5A560.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/7024.image_5F00_7DA5A560.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1258.clip_image002_306A6359.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1258.clip_5F00_image002_5F00_306A6359.png" width="697" height="187" /></a></p>  <p>Windows использует сигнатуры дисков внутри себя для отображения объектов, подобных томам, на физические диски. Начиная с Windows Vista, система хранит их в своей базе загрузочных конфигураций (Boot Configuration Database – BCD), в которой находится информация, используемая в процессе загрузки для нахождения загрузочных файлов и параметров загрузки. При изучении содержимого BCD с помощью встроенной утилиты Bcdedit, можно найти три места, связанные с сигнатурами дисков:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/0184.image_36F14FDC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/0184.image_5F00_36F14FDC.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1715.clip_image004_173EE354.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1715.clip_5F00_image004_5F00_173EE354.png" width="697" height="584" /></a></p>  <p>В действительности BCD имеет дополнительные ссылки на дисковые сигнатуры в альтернативных загрузочных конфигурациях, вроде Windows Recovery Environment, продолжение из режима hibernate и загрузка процесса диагностирования памяти, которые не показаны в основном выводе Bcdedit. Исправление коллизий требует небольшого знания структуры BCD, которая на самом деле является файлом куста (hive) реестра, который Windows загружает в HKEY_LOCAL_MACHINE\BCD00000:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/2744.image_5D533327.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/2744.image_5F00_5D533327.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6082.clip_image006_7CEE5462.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6082.clip_5F00_image006_5F00_7CEE5462.png" width="417" height="465" /></a></p>  <p>Дисковые сигнатуры можно найти по смещению 0x38 в параметре реестра, называемом Element, в разделах 0x11000001 (<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa362652(v=vs.85).aspx">загрузочное устройство Windows</a>) и 0x2100001 (<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa362670(v=vs.85).aspx">устройство загрузки OS</a>):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/1261.image_082B973A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/1261.image_5F00_082B973A.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2870.clip_image008_6FE44E84.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2870.clip_5F00_image008_5F00_6FE44E84.png" width="616" height="242" /></a></p>  <p>Здесь показан элемент, соответствующий одной из записей вывода Bcdedit, где можно видеть ту же самую сигнатуру, которая хранится в MBR моего диска:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8688.image_75E2D077.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8688.image_5F00_75E2D077.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2055.clip_image010_074EDCE9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2055.clip_5F00_image010_5F00_074EDCE9.png" width="617" height="309" /></a></p>  <p><b>Коллизии сигнатур дисков</b><b></b></p>  <p>Windows требует чтобы сигнатуры были уникальными, поэтому когда вы подсоединяете диск с сигнатурой, совпадающей с сигнатурой одного из уже подключенных, Windows выводит этот диск в режим «offline» и не читает его таблицу разделов и не монтирует тома. Следующий снимок показывает, как административная утилита Windows Disk Management представляет отключенный диск, который я получил при подсоединении VHD, созданного с помощью программы Disk2vhd из моего системного диска, к этой же системе:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/5270.image_240788AC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/5270.image_5F00_240788AC.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7536.clip_image012_412DFA08.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7536.clip_5F00_image012_5F00_412DFA08.png" width="675" height="168" /></a></p>  <p>Если щелкнуть правой клавишей мыши на этом диске, утилита предложит перевести его в режим «Online», что заставит Windows проанализировать его таблицу разделов и смонтировать его тома:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/8816.image_35E41C79.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/8816.image_5F00_35E41C79.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3404.clip_image014_625DEFE4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3404.clip_5F00_image014_5F00_625DEFE4.png" width="302" height="177" /></a></p>  <p>Когда вы выберете пункт меню «Online», Windows без предупреждения сгенерирует новую случайную дисковую сигнатуру и присвоит ее диску, записав в MBR. После этого можно обработать MBR и смонтировать существующие тома, но когда Windows обновляет дисковую сигнатуру, запись BCD становится подвисшей, связанной с предыдущей сигнатурой, а не с новой. Загрузчик не сможет идентифицировать заданный диск и загрузочные файлы при загрузке с диска и выдаст следующую ошибку:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3618.image_5CB232B9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3618.image_5F00_5CB232B9.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3404.clip_image016_54AB33DC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3404.clip_5F00_image016_5F00_54AB33DC.png" width="697" height="524" /></a></p>  <p><b>Восстановление сигнатуры диска</b></p>  <p>Одним способом восстановления дисковой сигнатуры является определение новой сигнатуры, которую Windows присвоила диску, загрузка BCD-куста диска и ручное редактирование всех параметров реестра, которые содержат старую сигнатуру диска. Однако это трудоемкий процесс, чреватый ошибками. Иногда можно использовать команды Bcdedit для задания элементам устройства новых сигнатур диска, но этот метод не работает с присоединенными VHD и потому ненадежен. К счастью есть более простой способ. Вместо обновления BCD можно вернуть диску исходную сигнатуру.</p>  <p>Сначала необходимо определить исходную сигнатуру, вот где нам пригодятся знания о BCD. Подключите к работающей системе Windows диск, который надо исправить. Он будет доступен и Windows присвоит буквы накопителей томам на диске, поскольку никакой коллизии сигнатур пока не будет. Загрузите BCD с диска, запустив Regedit, зайдя в HKEY_LOCAL_MACHINE и выбрав из меню File пункт Load Hive: <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/3323.image_14F0A9D2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/3323.image_5F00_14F0A9D2.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0841.clip_image018_29A3200A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0841.clip_5F00_image018_5F00_29A3200A.png" width="340" height="309" /></a></p>  <p>В диалоге File перейдите на диске в скрытый каталог \Boot, который расположен в корневом каталоге тома и выберите файл с именем «BCD». Если на диске расположены несколько томов, найдите каталог Boot, вводя «x:\boot\bcd», где вместо «x:» подставляется буква соответствующего тома на диске. Когда найдете BCD, выберите имя раздела, в который он загружается, и найдите «Windows Boot Manager». Вы найдете эту надпись в разделе с именем 12000004, как здесь:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/2766.image_2D238E22.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/2766.image_5F00_2D238E22.png"><img style="margin: 0px; display: inline; background-image: none;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8863.clip_image020_13F8C1A0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8863.clip_5F00_image020_5F00_13F8C1A0.png" width="438" height="163" /></a></p>  <p>Выберите раздел с именем 11000001 в том же самом родительском разделе Elements и запишите четырехбайтную сигнатуру диска, расположенную по смещению 0x38 (помните об обратном порядке байтов).</p>  <p>С сигнатурой диска в руках, откройте административное окно командной строки и запустите утилиту управления дисками из командной строки Diskpart. Введите «select disk 2», заменив «2» на ID диска, который утилита Disk Management показывает для диска. Теперь вы готовы к последнему шагу, возвращению сигнатуре диска своего исходного значения с помощью команды «uniqueid disk id=e9eb3aa5», подставив вместо ID то, что вы увидели в BCD:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/52/36/metablogapi/7357.image_148476DD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-36-metablogapi/7357.image_5F00_148476DD.png"><img style="display: inline; background-image: none;" title="clip_image022" border="0" alt="clip_image022" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7183.clip_image022_1C2CE737.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7183.clip_5F00_image022_5F00_1C2CE737.png" width="441" height="60" /></a></p>  <p>После выполнения команды Windows немедленно переведет диск и все его тома в режим «offline» для предотвращения коллизий. Постарайтесь не переводить снова диск в «online», так как это отменит проделанную вами работу. Теперь можно отсоединить диск, поскольку его сигнатура снова соответствует BCD, и Windows будет загружаться успешно. Вы можете оказаться в ситуации, когда не будет выбора кроме как вызвать коллизию и дать Windows обновить сигнатуру диска, но, по крайней мере, сейчас вы знаете, как исправить проблему.</p>  <p>Можно подробнее прочесть о Disk2vhd в книге <a href="https://technet.microsoft.com/en-us/sysinternals/hh290819">Sysinternals Administrator’s Reference</a>, написанной мною и Аароном Марголисом.</p>]]></content:encoded>
    </item>
    <item>
      <title>Дело о загадочных перезагрузках</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/93</link>
      <pubDate>Mon, 10 Oct 2011 04:01:45 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2011/10/10/93/</guid>
      <description><![CDATA[Этот случай начался с того, что опытный пользователь Sysinternals, который работает системным...]]></description>
      <content:encoded><![CDATA[<p>Этот случай начался с того, что опытный пользователь Sysinternals, который работает системным администратором в крупной корпорации, получил от своего друга сообщение о том, что его ноутбук вышел из строя. Всякий раз, когда он подключал его к сети, его ноутбук перезагружался. Когда наш опытный пользователь получил в свои руки этот ноутбук, он первым делом проверил его работу, подключив его к беспроводной сети. Система незамедлительно перезагрузилась, сначала в безопасный режим, потом обратно в стандартный режим Windows. Он попытался загрузить ноутбук напрямую в безопасном режиме, надеясь на то, что в этом режиме проблемы не возникнет, вне зависимости от ее причины, однако попытка войти в систему приводила к автоматическому завершению сеанса работы. Вернувшись в стандартный режим, он заметил, что на ПК был установлен <a href="https://www.microsoft.com/en-us/security_essentials/">Microsoft Security Essentials (MSE)</a>, и он попытался запустить этот антивирус. Однако, двойной щелчок по иконке приложения ни к чему не привел, а двойной щелчок по соответствующей записи в разделе Programs and Features в панели управления привел к появлению следующего сообщения об ошибке:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6683.clip_image002_4AD575BC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6683.clip_5F00_image002_5F00_4AD575BC.png"><img style="display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0333.clip_image002_thumb_60230557.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0333.clip_5F00_image002_5F00_thumb_5F00_60230557.png" width="610" height="292" /></a></p>  <p>Всплывающая подсказка, появляющаяся на значке MSE при удержании на нем курсора, объяснила происходящее: ссылка указывала на поддельное расположение, вероятно, созданное вредоносной программой:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5025.clip_image004_04A46D0F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5025.clip_5F00_image004_5F00_04A46D0F.png"><img style="display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2313.clip_image004_thumb_3EBF4BBC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2313.clip_5F00_image004_5F00_thumb_5F00_3EBF4BBC.png" width="738" height="604" /></a></p>  <p>Поскольку он не мог получить доступа к сети, он не мог легко восстановить поврежденную установку MSE. Задавшись вопросом, могли ли инструменты Sysinternals ему помочь, он скопировал <a href="https://technet.microsoft.com/sysinternals/bb896653">Process Explorer</a> и <a href="https://technet.microsoft.com/sysinternals/bb963902">Autoruns</a> на USB-носитель, и затем скопировал их на ноутбук, который, по его убеждению, был заражен. Запустив Process Explorer, он увидел следующее дерево процессов:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5074.clip_image006_5A13DC58.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5074.clip_5F00_image006_5F00_5A13DC58.png"><img style="display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4338.clip_image006_thumb_279C90B4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4338.clip_5F00_image006_5F00_thumb_5F00_279C90B4.png" width="653" height="604" /></a></p>  <p>В моей презентации на конференции Blackhat, <a href="https://download.sysinternals.com/Files/SysinternalsMalwareCleaning.pdf">«Zero Day Malware Cleaning with the Sysinternals Tools»</a>, я представил список характеристик, который обычно свойственны вредоносным процессам. Среди них отсутствие значка, названия компании или описания, расположение в директориях %Systemroot% или %Userprofile%, а также наличие сжатия или шифрования. Хотя есть класс вредоносного софта, у которого эти свойства отсутствуют, большинство вредоносных программ отвечают этому описанию. Этот случай – прекрасный пример такой программы. Process Explorer ищет подписи общеупотребимых инструментов сжатия исполняемых файлов, таких как <a href="https://upx.sourceforge.net/">UPX</a>, а также эвристики, который содержат в себе метку Portable Executable, используемую системами сжатия, и выделяет найденные совпадения специальным цветом, установленным в настройках для подобных файлов (по умолчанию это цвет фуксии). Этим цветом выделилось около дюжины процессов. На снимке снизу видно, что у каждого такого процесса отсутствовало описание и название компании (хотя у некоторых из них были значки).</p>  <p>Названия многих из них либо совпадают, либо очень похожи на названия системных исполняемых файлов Windows. На скриншоте снизу выделен один такой процесс, название которого соответствует имени исполняемого файла Windows <a href="https://support.microsoft.com/kb/314056">Svchost.exe</a>, однако у него есть значок (позаимствованный у Adobe Flash) и он находится в нестандартной директории (C:\Windows\Update.1):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1682.clip_image008_797ECC94.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1682.clip_5F00_image008_5F00_797ECC94.png"><img style="display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2678.clip_image008_thumb_239E54B0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2678.clip_5F00_image008_5F00_thumb_5F00_239E54B0.png" width="454" height="168" /></a></p>  <p>У другого процесса, чье имя хоть и не совпадало ни с одним из исполняемых файлов Windows (Svchostdriver.exe), но было весьма похоже на их имена, что могло ввести в заблуждение неопытных пользователей Windows, были открыты сокеты TCP/IP на прослушивание соединений:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5824.clip_image010_7FB57D55.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5824.clip_5F00_image010_5F00_7FB57D55.png"><img style="display: inline; background-image: none;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6011.clip_image010_thumb_66A98743.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6011.clip_5F00_image010_5F00_thumb_5F00_66A98743.png" width="804" height="178" /></a></p>  <p>Не осталось никаких сомнений в том, что компьютер серьезно заражен. Autoruns показал, что вредоносные процессы использовали несколько другие точки активации, что объясняло, почему даже безопасный режим с командной строкой не работал должным образом, поскольку поддельный исполняемый файл с именем Services32.exe (еще одно имя, подобное имени настоящего системного файла) зарегистрировался как Safe Mode AlternateShell (альтернативная оболочка безопасного режима), каковой по умолчанию является cmd.exe (командная строка):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1134.clip_image012_7156B8CB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1134.clip_5F00_image012_5F00_7156B8CB.png"><img style="display: inline; background-image: none;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8078.clip_image012_thumb_7ADEDB67.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8078.clip_5F00_image012_5F00_thumb_5F00_7ADEDB67.png" width="803" height="604" /></a></p>  <p>В качестве моей первой рекомендации по очистке системы от вредоносного софта я советую запустить антивирусные утилиты, если это возможно. Подобное ПО могло бы удалить некоторые или даже все заражения, так почему бы этим не воспользоваться? Однако данная система не могла подключиться к Интернету, делая невозможным простое восстановление установки MSE или загрузку другого антивирусного приложения, такого как <a href="https://www.microsoft.com/security/pc-security/malware-removal.aspx">Microsoft Malicious Software Removal Tool (MSRT)</a>. Наш опытный пользователь видел, как я использовал Process Explorer на конференции для приостановки вредоносных процессов, поскольку в случае их завершения они могли перезапускать друг друга. Может быть, если бы он приостановил все процессы, которые выглядели подозрительно, то смог бы подключиться к сети и система не перезагрузилась бы? Стоило попытаться.</p>  <p>Щелкая правой кнопкой мышки на каждом вредоносном процессе, он выбирал Suspended из контекстного меню, чтобы приостановить его:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5857.clip_image014_6E30E2B1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5857.clip_5F00_image014_5F00_6E30E2B1.png"><img style="display: inline; background-image: none;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8883.clip_image014_thumb_3D4E2B46.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8883.clip_5F00_image014_5F00_thumb_5F00_3D4E2B46.png" width="298" height="379" /></a></p>  <p>Когда он это сделал, дерево процессов стало выглядеть следующим образом (серым цветом выделены приостановленные процессы):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7411.clip_image016_1A3DB9D6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7411.clip_5F00_image016_5F00_1A3DB9D6.png"><img style="display: inline; background-image: none;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7026.clip_image016_thumb_2C6634FE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7026.clip_5F00_image016_5F00_thumb_5F00_2C6634FE.png" width="664" height="604" /></a></p>  <p>Теперь настало время посмотреть, сработал ли этот трюк: он подключился к беспроводной сети. Бинго, никаких перезагрузок! Теперь с подключением к Интернету он загрузил MSE, установил его и выполнил полное сканирование системы. Антивирусный движок заработал, выдавая сообщения об обнаруженных заражениях. Когда сканирование закончилось, он обнаружил четыре разных вредоносных программы: <a href="https://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=Trojan%3AWin32%2FTeniel&amp;ThreatID=-2147318520">Trojan:Win32/Teniel</a>, <a href="https://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=Backdoor%3aWin32%2fBafruz">Backdoor:Win32/Bafruz.C</a>, <a href="https://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=Trojan%3aWin32%2fMalex.gen!E">Trojan:Win32/Malex.gen!E</a>, и <a href="https://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=Trojan%3aWin32%2fSisron">Trojan:Win32/Sisron</a>:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2642.clip_image018_376F73AE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2642.clip_5F00_image018_5F00_376F73AE.png"><img style="display: inline; background-image: none;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8831.clip_image018_thumb_6EF50ECF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8831.clip_5F00_image018_5F00_thumb_5F00_6EF50ECF.png" width="513" height="190" /></a></p>  <p>После перезагрузки, которая прошла заметно быстрее, чем прежде, он без проблем подключился к сети. В качестве заключительной проверки он запустил Process Explorer, чтобы посмотреть, остались ли какие-либо вредоносные процессы. К его облегчению, дерево процессов выглядело чистым:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1172.clip_image020_1CB2B1C8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1172.clip_5F00_image020_5F00_1CB2B1C8.png"><img style="display: inline; background-image: none;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3755.clip_image020_thumb_419026A7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3755.clip_5F00_image020_5F00_thumb_5F00_419026A7.png" width="578" height="604" /></a></p>  <p>Еще один случай разрешен с помощью утилит Sysinternals! Новое издание <a href="https://technet.microsoft.com/sysinternals/hh290819">Windows Sysinternals Administrator’s Reference</a> за авторством Аарона Маргозиса (Aaron Margosis) и моим собственным подробно описывает все утилиты и их функции, предоставляя вам инструменты и приемы для решения проблем, связанных с низкой производительностью, непонятными сообщениями об ошибках и сбоями приложений. И если вы интересуетесь кибербезопасностью, обратите внимание на мой технотриллер <a href="https://www.zerodaythebook.com/">Zero Day</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Дело о зависшей программе запуска игры</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/103</link>
      <pubDate>Tue, 16 Aug 2011 00:47:06 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2011/08/16/103/</guid>
      <description><![CDATA[&#160;  Мне нравится, когда люди присылают мне рассказы о случаях, в которых они использовали...]]></description>
      <content:encoded><![CDATA[<h4>&#160;</h4>  <p>Мне нравится, когда люди присылают мне рассказы о случаях, в которых они использовали инструменты <a href="https://www.sysinternals.com/"><b>Sysinternals</b></a> для успешной диагностики проблем, однако нет ничего более приятного, чем использовать их для решения проблем, с которыми столкнулся лично я. Этот случай, в частности, был забавным потому, что его решение помогло мне вернуться к приятному времяпрепровождению.</p>  <p>Когда у меня появляется свободное время, я иногда играю в компьютерные игры, чтобы расслабиться и отвлечься от повседневных забот. На протяжении последних нескольких лет моей любимой игрой является Portal. Мне так понравилась первая <a href="https://orange.half-life2.com/portal.html"><b>Portal</b></a>, что я сделал предзаказ на <a href="https://www.valvesoftware.com/games/portal2.html"><b>Portal</b><b> 2</b></a> в сети <a href="https://store.steampowered.com/"><b>Steam</b></a> как только это стало возможно, и уже через несколько часов после выпуска я играл в нее. С тех пор я играю на сделанных сторонними разработчиками картах. В прошлую субботу я открыл особенно забавную карту – победителя <a href="https://forums.thinkingwithportals.com/newspost-t3751.html"><b>конкурса игровых карт</b></a>, проводившегося в сообществе пользователей игры – однако я не смог пройти ее за один раз. Следующим утром я вернулся к своему ПК, дважды кликнул на иконке Portal 2 на рабочем столе и увидел стандартное диалоговое окно запуска игры Steam. Обычно игра запускается за несколько секунд, однако на этот раз диалоговое окно так и осталось на экране:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1651.clip_image002_6E3FC2CA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1651.clip_5F00_image002_5F00_6E3FC2CA.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6355.clip_image002_thumb_6C22C401.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6355.clip_5F00_image002_5F00_thumb_5F00_6C22C401.png" width="484" height="221" /></a></p>  <p>Я завершил процесс Steam и еще раз дважды щелкнул по иконке игры, однако диалоговое окно запуска игры опять зависло. Я записал трассировку активности из Process Monitor и посмотрел на стек потоков Steam в Process Explorer, но не увидел ничего необычного. Предположив, что конфигурационные или установочные файлы Portal 2 были повреждены, я удалил Portal 2, повторно загрузил ее и переустановил. Однако проблема осталась. Следовательно, причиной были либо Steam, либо какая-то общая ошибка Windows. Следующим шагом была переустановка Steam.</p>  <p>Сначала я зашел в диалоговое окно «Установка и удаление программ» из «Панели управления», однако дважды щелкнув на записи Steam, я увидел диалоговое окно, просящее подтвердить удаление и предупреждающее, что при этом также удалится весь локальный контент. Я не хотел теряться все мои игровые настройки или все мои установленные игры, так что я отменил удаление. Большинство MSI-установщиков имеют опцию восстановления, которая повторно устанавливает приложение без удаления пользовательских данных или настроек, так что я зашел на домашнюю страничку Steam, скачал и запустил установщик Steam. Мастер установки предложил мне опцию восстановления:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4784.clip_image004_231CA23B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4784.clip_5F00_image004_5F00_231CA23B.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0574.clip_image004_thumb_605D5702.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0574.clip_5F00_image004_5F00_thumb_5F00_605D5702.png" width="444" height="343" /></a></p>  <p>Нажав кнопку Next, я увидел сообщение, которое сообщало о сетевой ошибке при попытке чтения локального файла:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3113.clip_image006_1D9E0BCA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3113.clip_5F00_image006_5F00_1D9E0BCA.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1641.clip_image006_thumb_4829C6DA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1641.clip_5F00_image006_5F00_thumb_5F00_4829C6DA.png" width="541" height="410" /></a></p>  <p>Я снова включил <a href="https://technet.microsoft.com/sysinternals/bb896645"><b>Process</b><b> </b><b>Monitor</b></a> и записал активность системы во время неудачной операции восстановления. В сообщении об ошибке упоминался файл под названием SteamInstall[1].msi, так что я искал в файле журнала строку с этим именем. Первым совпадением было чтение данных в запросе к значению ключа реестра HKCR\Installer\Products с именем PackageName:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4278.clip_image008_0BB15230.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4278.clip_5F00_image008_5F00_0BB15230.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8562.clip_image008_thumb_1A2C4E55.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8562.clip_5F00_image008_5F00_thumb_5F00_1A2C4E55.png" width="804" height="74" /></a></p>  <p>Далее через несколько операций установщик попытался произвести чтение из папки файла, упоминавшегося в сообщении об ошибке:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2112.clip_image010_0FAB7A35.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2112.clip_5F00_image010_5F00_0FAB7A35.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8156.clip_image010_thumb_7A6D4EBF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8156.clip_5F00_image010_5F00_thumb_5F00_7A6D4EBF.png" width="804" height="62" /></a></p>  <p>То, что установщик пытался прочитать имя файла из существующего ключа реестра и расположение этого файла было в кэше Internet Explorer, навело меня на мысль, что он пытался запустить свою копию, которая выполнила начальную установку. Поскольку в первый раз я запускал установщик через IE напрямую с сайта Valve, и точно также я сделал и сейчас, папка загрузки была в кэше загрузки IE, однако с тех пор файл уже должен был быть удален.</p>  <p>Трассировка активности Process Monitor показала, что установщик считывал оригинальное значение расположения файла из реестра, так что если бы указал в реестре новую папку загрузки, я мог заставить его запускать самого себя, вместо того, чтобы искать предыдущую копию, которая сейчас отсутствует. Я просмотрел файл журнала на наличие новой папки для загрузки, ища Steaminstall.msi и путь к нему:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2318.clip_image012_3741D092.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2318.clip_5F00_image012_5F00_3741D092.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1122.clip_image012_thumb_2CC0FC72.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1122.clip_5F00_image012_5F00_thumb_5F00_2CC0FC72.png" width="804" height="69" /></a></p>  <p>Затем я вернулся к записи запроса реестра, щелкнул по ней правой кнопкой мыши, и выбрал из контекстного меню команду «Jump To». Process Monitor запустил Regedit и перешел непосредственно к ключу реестра, где я обновил значения LastUsedSource и PackageName, чтобы обозначить новую папку для загрузки:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4353.clip_image014_7767C43F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4353.clip_5F00_image014_5F00_7767C43F.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7870.clip_image014_thumb_7399F9A2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7870.clip_5F00_image014_5F00_thumb_5F00_7399F9A2.png" width="804" height="119" /></a></p>  <p>Затем я проигнорировал сообщение об ошибке установщика, которое я ранее оставил открытым, и нажал кнопку Next, чтобы снова попробовать запустить восстановление. На этот раз Steam продолжил переустановку, и мастер завершился с сообщение об успешном восстановлении:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0045.clip_image016_28E30C08.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0045.clip_5F00_image016_5F00_28E30C08.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7870.clip_image016_thumb_7B154342.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7870.clip_5F00_image016_5F00_thumb_5F00_7B154342.png" width="590" height="232" /></a></p>  <p>Скрестив пальцы, я запустил Portal 2. Диалоговое окно Steam «Preparing to Launch» на секунду появилось, после чего на экран вышла игровая заставка Portal 2: дело закрыто. Удаление и последующая повторная установка Steam и всех игр, вероятно, привели бы к тому же результату, но Process Monitor сэкономил мне много времени и, возможно, мои игровые сохранения и настройки. Всего за несколько минут я вернулся к своей любимой игре-головоломке.</p>  <p>Обратите внимание на новую книгу <a href="https://oreilly.com/catalog/0790145316974/"><b>Windows Sysinternals Administrator’s Reference</b></a>, написанную мной и Аароном Маргозисом (Aaron Margosis), в которой вы найдете другие рекомендации по использованию более чем 70-ти инструментов Sysinternals для задач диагностики и управления вашими системами Windows! </p>]]></content:encoded>
    </item>
    <item>
      <title>Анализируем вирус Stuxnet с помощью инструментов Sysinternals (часть 3)</title>
      <link>https://docs.microsoft.com/archive/blogs/mark_russinovich/stuxnet-1089</link>
      <pubDate>Thu, 09 Jun 2011 02:03:10 GMT</pubDate>
      <dc:creator><![CDATA[Russian MSDN]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mark_russinovich/2011/06/09/stuxnet-1089/</guid>
      <description><![CDATA[В первой части статьи я использовал Autoruns, Process Explorer и VMMap для статического анализа...]]></description>
      <content:encoded><![CDATA[<p>В <a href="https://blogs.technet.com/b/mark_russinovich/archive/2011/05/19/3430261.aspx"><b>первой части статьи</b></a> я использовал <a href="https://technet.microsoft.com/sysinternals/bb963902"><b>Autoruns</b></a>, <a href="https://technet.microsoft.com/sysinternals/bb896653"><b>Process Explorer</b></a> и <a href="https://technet.microsoft.com/sysinternals/dd535533"><b>VMMap </b></a>для статического анализа вируса Stuxnet на Windows XP. Эта фаза данного исследования показала, что Stuxnet инфицировал множество процессов, запустил зараженные процессы под видом исполнительных файлов системы, а также установил и загрузил два драйвера устройств. Во <a href="https://blogs.technet.com/b/mark_russinovich/archive/2011/06/01/3432702.aspx"><b>второй части</b></a> я обратился к трассировке активности, записанной во время заражения программой <a href="https://technet.microsoft.com/sysinternals/bb896645"><b>Process Monitor</b></a>, и узнал, что Stuxnet запустил несколько дополнительных процессов во время заражения. Данное исследование также показало, что Stuxnet скопировал два файла с расширением PNF в папке C:\Windows\Inf. В этой заключительной статье я применяю инструменты Sysinternals, чтобы попытаться определить назначение PNF-файлов и посмотреть на то, как Stuxnet использовал уязвимость нулевого дня в Windows 7 (уже закрытую) для запуска процессов с правами администратора.</p>  <h4>Файлы PNF</h4>  <p>Моим первым шагом в поиске подсказок, указывающих на предназначение файлов PNF, было определения размеров этих файлов. Небольшие файлы, вероятно, были бы данными, а побольше – кодом. Ниже перечислены размеры файлов PNF, которые я определил с помощью Explorer:</p>  <p>MDMERIC3.PNF 90</p>  <p>MDMCPQ3.PNF 4,943</p>  <p>OEM7A.PNF 498,176</p>  <p>OEM6C.PNF 323,848</p>  <p>Я также сделал копию печатных символов, содержащихся в файлах, с помощью утилиты <a href="https://technet.microsoft.com/sysinternals/bb897439"><b>Sysinternals</b><b> </b><b>Strings</b></a>, но не нашел значащих слов. Однако я не удивился, поскольку ожидал, что файлы будут сжаты и зашифрованы.</p>  <p>Я подумал, что посмотрев на способ, которым Stuxnet ссылается на PNF-файлы, я смог бы понять, для чего они используются. Чтобы получить более полное представление об их назначении, я записал загрузочный журнал Process Monitor перезагруженной системы после заражения. Протоколирование загрузки, которое можо включить с помощью опции Enable Boot Logging в меню Options, указывает Process Monitor фиксировать системную активность с самых ранних моментов при следующей перезагрузке и заканчивать запись либо при следующем запуске Process Monitor, либо при выключении системы:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7384.clip_image002_7DFD6FD9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7384.clip_5F00_image002_5F00_7DFD6FD9.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6724.clip_image002_thumb_1B2317E4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6724.clip_5F00_image002_5F00_thumb_5F00_1B2317E4.png" width="256" height="280" /></a></p>  <p>После записи загрузочного журнала, включающего себя повторный вход в систему, я загрузил его в одном окне Process Monitor, и первоначальную трассировку процесса заражения – во втором. Затем я сбросил фильтры в обеих трассировках, удалил дополнительный фильтр, который исключал активность процесса System, и добавил включающий фильтр для Mdmeric3.pnf, чтобы увидеть всю активность, связанную с первым файлом. Трассировка заражения включала в себя события, связанные с созданием этого файла, и ничего более, и этот файл вообще не упоминался в загрузочном журнале. Казалось, что Stuxnet не использовал этот файл во время начального заражения или последующей активации. Небольшой размер файла – 90 байт – указывает на то, что это данные, но я не мог определить его назначение на основании тех немногих фактов, которые я увидел в журнале. Фактически, этот файл мог вообще не служить какой-либо полезной цели, так как ни в одном опубликованном отчете о Stuxnet ничего не говорилось об этом файле, кроме того, что это файл с данными.</p>  <p>Далее я проделал все те же операции для Mdmcpq3.pnf. В журнале заражения я увидел, что процесс Services.exe трижды во время заражения производил запись в этот файл, однако позже к нему никто не обращался. В трассировке загрузки я увидел, что процесс Services.exe производил чтение этого файла сразу после старта:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4744.clip_image004_5F830923.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4744.clip_5F00_image004_5F00_5F830923.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7823.clip_image004_thumb_4B1D4398.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7823.clip_5F00_image004_5F00_thumb_5F00_4B1D4398.png" width="696" height="72" /></a></p>  <p>Тот факт, что Stuxnet производит запись в этот файл во время заражения и считывает его при активации во время загрузки системы, наряду с относительно небольшим размером файла указывает на то, что это могли бы быть данные конфигурации Stuxnet, и именно к этому выводу пришел формальный анализ исследователей антивирусных программ.</p>  <p>Третий файл, Oem7a.pnf, был самым большим. В моей предыдущей статье во время анализа журнала заражения я заметил, что после того, как фальшивый Lsass.exe создал этот файл во время процесса заражения, другой экземпляр Lsass.exe полностью считывал его, так же как и зараженный процесс Services.exe. Исследование загрузочного журнала показало, что Services.exe полностью считывает этот файл после старта:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/2514.clip_image006_0CD47927.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/2514.clip_5F00_image006_5F00_0CD47927.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5756.clip_image006_thumb_505C047C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5756.clip_5F00_image006_5F00_thumb_5F00_505C047C.png" width="584" height="183" /></a></p>  <p>Странно то, что эти операции чтения были первым, что сделал Services.exe, даже раньше загрузки системной библиотеки Ntdll.dll. Эта библиотека загружается раньше любого исполнительного файла пользовательского режима, так что за любую активность до этого момента должен отвечать код режима ядра. Стек показывает, что фактически они были инициированы Mrxcls.sys, одним из драйверов Stuxnet, из режима ядра:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7416.clip_image008_061149D7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7416.clip_5F00_image008_5F00_061149D7.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4101.clip_image008_thumb_5EF68A94.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4101.clip_5F00_image008_5F00_thumb_5F00_5EF68A94.png" width="322" height="312" /></a></p>  <p>Стек показывает, что Mrxcls.sys был вызван функцией ядра <a href="https://msdn.microsoft.com/library/ff559957.aspx"><b>PsCallImageNotifyRoutines</b></a>. Это означает, что Windows будет вызывать его каждый раз, когда исполняемый образ, такой как DLL или драйвер устройства, отображается в память. Здесь Windows регистрирует драйвер, который был загружен в память файлом образа Services.exe, для запуска Services.exe. Stuxnet явно регистрируется в обратном вызове, так что он может наблюдать за запуском Services.exe. Ирония здесь в том, что Process Monitor также использует этот функционал обратных вызовов для мониторинга загрузки образов.</p>  <p>Отсюда следует, что Mrxcls.sys – это драйвер, который запускает заражение процессов пользовательского режима при загрузках системы после ее первоначального заражения. Размер этого файла – 498,176 байт (487 Кб) – почти точно соответствует размеру области в виртуальной памяти, 488 Кб, из которой, как мы видели в первой части серии статей, запускались операции Stuxnet. Эта область содержала действительную DLL, так что похоже, что Oem7a.pnf – это зашифрованная дисковая форма главной DLL-библиотеки Stuxnet, и эту гипотезу подтверждают исследователи вирусного ПО.</p>  <p>Последний файл, Oem6c.pnf, вообще отсутствует в загрузочном журнале. Единственными обращениями к нему в трассировке заражения являются операции записи из начального процесса Lsass.exe, который также производит запись в другие файлы. Таким образом, этот файл был создан во время начального заражения, но никогда не считывался. Есть несколько возможных объяснений такому поведению. Первое – этот файл может быть считан при возникновении определенных обстоятельств, которые я не воспроизвел в своей тестовой среде. Второе – это файл журнала, в который записывается информации о заражении для последующего анализа разработчиками Stuxnet. Это невозможно подтвердить, основываясь на данных трассировки, однако исследователи вредоносного ПО полагают, что это файл журнала.</p>  <h4>Повышение прав в Windows 7</h4>  <p>Многие операции, выполненные Stuxnet, включая заражение системных процессов, таких как Services.exe, и установку драйверов устройств, требуют административных прав. Если бы Stuxnet не мог заражать системы, пользователи которых не обладали этими правами, его возможности к распространению были бы сильно ограничены, особенно это касается чувствительных сетей, на которые он прежде всего был нацелен, где большинство пользователей обладали стандартными правами. Чтобы получить административные права из стандартных учетных записей пользователей, Stuxnet использовал две уязвимости нулевого дня.</p>  <p>В Windows XP и Windows 2000 вирус Stuxnet использовал ошибку, связанную с проверкой индекса в Win32k.sys, которая могла быть вызвана специально настроенными файлами раскладок клавиатуры (исправлена в <a href="https://www.microsoft.com/technet/security/bulletin/ms10-073.mspx"><b>MS10-073</b></a>). Эта ошибка позволяла Stuxnet внедрить код в режиме ядра и работать с привилегиями ядра. На Windows Vista и более поздних системах Stuxnet использовал ошибку в защите доступа к файлам запланированных задач, что позволило ему получить административные права (исправлено в <a href="https://www.microsoft.com/technet/security/Bulletin/MS10-092.mspx"><b>MS10-92</b></a>). Стандартные пользователи могут создавать запланированные задачи, но эти задачи могут работать только с теми же привилегиями, что и пользователь, создавший их. Прежде, чем эта ошибка была исправлена, Windows создавала файл, сохраняющий задачу с разрешением, позволяющим стандартному пользователю изменять этот файл. Stuxnet использовал эту узявимость в своих целях, создавая новую задачу и устанавливая в результирующем файле задачи флаг, указывающий на то, что задача должна запускаться под учетной записью System, которая имеет полные административные права.</p>  <p>Чтобы понаблюдать, как Stuxnet использует ошибки в Windows 7, я для начала удалил связанное с этой ошибкой обновление на тестовой системе, и понаблюдал за процессом заражения Stuxnet через Process Monitor. После того, как журнал был получен, я проделал те же самые шаги, которые описывал в последней статье, т.е. установку фильтра, которые скрывал все операции за исключением изменяющих файлы и ключи реестра (“Category Is Write”), после чего я стал последовательно исключать ненужные события. Когда я закончил, окно Process Monitor стало выглядеть так:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/7750.clip_image010_4305559C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/7750.clip_5F00_image010_5F00_4305559C.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/3146.clip_image010_thumb_685F233D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/3146.clip_5F00_image010_5F00_thumb_5F00_685F233D.png" width="692" height="335" /></a></p>  <p>Первые события были связаны с тем, что Stuxnet копировал временные файлы, которые он ранее скопировал в PNF-файлы, в папку C:\Windows\Inf. Они сопровождались событиями Svchost.exe, которые напрямую связаны со службой планировщика задач. Процесс Scvhost.exe создает новый файл запланированной задачи в папке C:\Windows\System32\Tasks и затем устанавливает несколько связанных значений реестра. Стеки этих событий показывают, что Schedsvc.dll – библиотека, которая реализует службу планировщика задач – ответственна за эти действия:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5102.clip_image012_7765DC4A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5102.clip_5F00_image012_5F00_7765DC4A.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8345.clip_image012_thumb_126E858C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8345.clip_5F00_image012_5F00_thumb_5F00_126E858C.png" width="779" height="420" /></a></p>  <p>Несколько операций спустя Explorer записал некоторые данные в новый файл задачи:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/1884.clip_image014_26C4254A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/1884.clip_5F00_image014_5F00_26C4254A.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5125.clip_image014_thumb_293D313B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5125.clip_5F00_image014_5F00_thumb_5F00_293D313B.png" width="952" height="156" /></a></p>  <p>Эта операция должна быть невыполнима, поскольку стандартная учетная запись пользователя не должна иметь возможность управлять системным файлом. В последней статье мы видели, что кадры &lt;unknown&gt; в стеке операции указывают на работу Stuxnet:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5633.clip_image016_68D76800.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5633.clip_5F00_image016_5F00_68D76800.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/6204.clip_image016_thumb_54056F80.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/6204.clip_5F00_image016_5F00_thumb_5F00_54056F80.png" width="342" height="362" /></a></p>  <p>Последние операции в трассировке, связанные с файлом задачи, показывают, что планировщик задач удаляет данный файл, таким образом, очевидно, что Stuxnet изменяет задачу, запускает ее, а затем удаляет:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/0250.clip_image018_582F4745.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/0250.clip_5F00_image018_5F00_582F4745.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4162.clip_image018_thumb_2269DC1E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4162.clip_5F00_image018_5F00_thumb_5F00_2269DC1E.png" width="996" height="100" /></a></p>  <p>Чтобы удостовериться в том, что планировщик задач действительно запускает данную задачу, я удалил фильтр на запись и применил другой фильтр, который включает только ссылки на наш файл задачи. После этого в окне Process Monitor появилось событие, показывающее, что Svchost.exe считывает этот файл после того, как Stuxnet произвел запись в него:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8765.clip_image020_17E907FE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8765.clip_5F00_image020_5F00_17E907FE.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/4064.clip_image020_thumb_545156DB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/4064.clip_5F00_image020_5F00_thumb_5F00_545156DB.png" width="938" height="98" /></a></p>  <p>В качестве окончательного подтверждения, я посмотрел на стек операции и увидел функцию планировщика задач SchRpcEnableTask, чье название указывает на то, что она предназначена для активации задачи:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/5483.clip_image022_02E75FBE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/5483.clip_5F00_image022_5F00_02E75FBE.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image022" border="0" alt="clip_image022" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/38/metablogapi/8206.clip_image022_thumb_40281485.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-38-metablogapi/8206.clip_5F00_image022_5F00_thumb_5F00_40281485.png" width="408" height="232" /></a></p>  <h4>Stuxnet раскрыт с помощью инструментов Sysinternals</h4>  <p>В этой заключительной части моего расследования Stuxnet мне удалось использовать функцию Process Monitor по протоколированию загрузки системы, чтобы найти подсказки, указывающие цель различных файлов Stuxnet, которые он размещает в системе во время заражения. Process Monitor также раскрыл способ, которым Stuxnet использовал уязвимость в службе планировщика задач в Windows 7, чтобы открыть для себя административные права.</p>  <p>Эта серия статей показывает, что инструменты Sysinternals могут помочь в проведении оценки заражения компьютера вирусами и последующих операций, а также предоставить способ устранения заражения. Они показали многие ключевые аспекты поведения Stuxnet, включая запуск процессов, перемещение файлов, установку драйверов устройств и повышение прав доступа с помощью планировщика задач. Как я говорил в начале первой части, работа профессиональных исследователей в области безопасности заходит намного дальше, но факты, которые предоставили эти утилиты, дают точный набросок операций Stuxnet и направление для дальнейшего анализа. Один только статический анализ не дал бы такого понимания поведения вируса, или, по крайней мере, потребовал бы более получаса – столько я потратил, используя инструменты Sysinternals.</p>]]></content:encoded>
    </item>
  </channel>
</rss>