Способы решения проблемAvenues to Compromise

Область применения. Windows Server 2016, Windows Server 2012 R2, Windows Server 2012Applies To: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Номер закона семь. наиболее безопасная сеть хорошо администрируется.Law Number Seven: The most secure network is a well-administered one. - 10 неизменяемых законов по администрированию безопасности - 10 Immutable Laws of Security Administration

В организациях, в которых возникли серьезные события нарушения безопасности, оценки обычно считают, что Организации ограничены реальным состоянием ИТ ИТ – инфраструктуры, что может значительно отличаться от задокументированных состояний.In organizations that have experienced catastrophic compromise events, assessments usually reveal that the organizations have limited visibility into the actual state of their IT infrastructures, which may differ significantly from their "as documented" states. Эти дисперсии представляют уязвимости, которые предоставляют среде для компрометации, часто с небольшим риском обнаружения до тех пор, пока злоумышленники не попадают в среду, в которой взломщики эффективно «владеют» средой.These variances introduce vulnerabilities that expose the environment to compromise, often with little risk of discovery until the compromise has progressed to the point at which the attackers effectively "own" the environment.

Подробные оценки AD DS конфигурации этих организаций, инфраструктуры открытых ключей (PKI), серверов, рабочих станций, приложений, списков управления доступом (ACL) и других технологий позволяют выявить неправильные настройки и уязвимости, которые, в случае их устранения, могли бы предотвратить первоначальный компромисс.Detailed assessments of these organizations' AD DS configuration, public key infrastructures (PKIs), servers, workstations, applications, access control lists (ACLs), and other technologies reveal misconfigurations and vulnerabilities that, if remediated, could have prevented the initial compromise.

Анализ документации по ИТ, процессам и процедурам определяет уязвимости, появившиеся в административных рекомендациях, которые были использованы злоумышленниками для получения привилегий, которые использовались для полной компрометации Active Directoryного леса.Analysis of IT documentation, processes, and procedures identifies vulnerabilities introduced by gaps in administrative practices that were leveraged by attackers to eventually obtain privileges that were used to fully compromise the Active Directory forest. Полностью скомпрометированный лес — это тот, в котором злоумышленники подпадают не только отдельные системы, приложения или учетные записи пользователей, но и получают доступ к уровню привилегий, в котором они могут изменять или уничтожать все аспекты леса.A fully compromised forest is one in which attackers compromise not only individual systems, applications, or user accounts, but escalate their access to obtain a level of privilege in which they can modify or destroy all aspects of the forest. Когда Active Directoryная установка была скомпрометирована на этот уровень, злоумышленники могут вносить изменения, позволяющие им поддерживать присутствие во всей среде или хуже, чтобы уничтожить каталог и системы и учетные записи, которыми он управляет.When an Active Directory installation has been compromised to that degree, attackers can make changes that allow them to maintain a presence throughout the environment, or worse, to destroy the directory and the systems and accounts it manages.

Несмотря на то, что ряд часто используемых уязвимостей в приведенных ниже описаниях не является атакой на Active Directory, они позволяют злоумышленникам установить укрепиться в среде, которая может использоваться для повышения привилегий (также называемых повышением привилегий) и в конечном итоге нацелить и нарушать AD DS.Although a number of the commonly exploited vulnerabilities in the descriptions that follow are not attacks against Active Directory, they allow attackers to establish a foothold in an environment that can be used to run privilege escalation (also called privilege elevation) attacks and to eventually target and compromise AD DS.

Этот раздел документа посвящен описанию механизмов, которые обычно используются злоумышленниками для получения доступа к инфраструктуре и, в конечном итоге, для запуска атак с повышенными правами.This section of this document focuses on describing the mechanisms that attackers typically use to gain access to the infrastructure and eventually to launch privilege elevation attacks. См. также следующие разделы:Also see the following sections:

Примечание

Хотя в этом документе основное внимание уделяется Active Directory и системам Windows, которые являются частью домена AD DS, злоумышленники редко сосредоточены исключительно на Active Directory и Windows.Although this document focuses on Active Directory and Windows systems that are part of an AD DS domain, attackers rarely focus solely on Active Directory and Windows. В средах с сочетанием операционных систем, каталогов, приложений и хранилищ данных часто можно обнаружить, что системы, не относящиеся к системе Windows, также были скомпрометированы.In environments with a mixture of operating systems, directories, applications, and data repositories, it is common to find that non-Windows systems have also been compromised. Это особенно верно, если системы предоставляют "мост" между средами Windows и системами, отличными от Windows, например, к файловым серверам, к которым обращаются клиенты Windows и UNIX или Linux, каталоги, предоставляющие службы проверки подлинности нескольким операционным системам, или метадиректориес, которые синхронизируют данные в разнородных каталогах.This is particularly true if the systems provide a "bridge" between Windows and non-Windows environments, such as file servers accessed by Windows and UNIX or Linux clients, directories that provide authentication services to multiple operating systems, or metadirectories that synchronize data across disparate directories.

AD DS предназначено для централизованного управления доступом и конфигурацией, он предоставляет не только системы Windows, но и другие клиенты.AD DS is targeted because of the centralized access and configuration management capabilities it provides not only to Windows systems, but to other clients. Любой другой каталог или приложение, предоставляющее службы проверки подлинности и управления конфигурацией, могут быть назначены определенными злоумышленниками.Any other directory or application that provides authentication and configuration management services can, and will be targeted by determined attackers. Несмотря на то, что этот документ ориентирован на защиту, которая может снизить вероятность компрометации Active Directory установок, каждая организация, которая включает компьютеры, каталоги, приложения или хранилища данных, не относящиеся к Windows, должна также подготовиться к атакам на эти системы.Although this document is focused on protections that can reduce the likelihood of a compromise of Active Directory installations, every organization that includes non-Windows computers, directories, applications, or data repositories should also prepare for attacks against those systems.

Цели первоначального нарушенияInitial Breach Targets

Никто намеренно не создает ИТ – инфраструктуру, которая предоставляет Организации возможность компрометации.Nobody intentionally builds an IT infrastructure that exposes the organization to compromise. При первом создании Active Directory леса обычно поддерживалась и Current.When an Active Directory forest is first constructed, it is usually pristine and current. По мере приобретения новых операционных систем и приложений они добавляются в лес.As years pass and new operating systems and applications are acquired, they're added to the forest. Так как преимущества управляемости, предоставляемые Active Directory, будут добавлены в каталог, другие пользователи интегрируют свои компьютеры или приложения с AD DS, а домены обновлены для поддержки новых функций, предлагаемых самыми последними версиями операционной системы Windows.As the manageability benefits that Active Directory provides are recognized, more and more content is added to the directory, more people integrate their computers or applications with AD DS, and domains are upgraded to support new functionality offered by the most current versions of the Windows operating system. Тем не менее, с течением времени это происходит, даже если добавляется новая инфраструктура, другие части инфраструктуры могут не поддерживаться, а так же, как и изначально, системы и приложения работают должным образом и, следовательно, не имеют внимания, а организации начинают забыть, что они не устранили устаревшую инфраструктуру.What also happens over time, however, is that even as a new infrastructure is being added, other parts of the infrastructure might not be maintained as well as they initially were, systems and applications are functioning properly and therefore are not receiving attention, and organizations begin to forget that they have not eliminated their legacy infrastructure. В зависимости от того, что мы увидим при оценке скомпрометированных инфраструктур, чем более старая, крупная и более сложная среда, тем более вероятно, что существует множество экземпляров часто используемых уязвимостей.Based on what we see in assessing compromised infrastructures, the older, larger, and more complex the environment, the more likely it is that there are numerous instances of commonly exploited vulnerabilities.

Независимо от причин злоумышленника большинство нарушений информационной безопасности начинается с компрометации одной или двух систем за раз.Regardless of the motivation of the attacker, most information security breaches start with the compromise of one or two systems at a time. Эти начальные события или точки входа в сеть часто используют уязвимые места, которые могли быть исправлены, но не были.These initial events, or entry points into the network, often leverage vulnerabilities that could have been fixed, but were not. Отчет об исследовании уязвимости данных 2012 (дбир), который является ежегодным исследованием, созданным Группой Verizonных рисков в сотрудничество с несколькими национальными агентствами безопасности и другими компаниями, указывает на то, что 96 процентов атак были «не очень сложными», и что «97% нарушений в работе с помощью простых или промежуточных элементов управления».The 2012 Data Breach Investigations Report (DBIR), which is an annual study produced by the Verizon RISK Team in cooperation with a number of national security agencies and other companies, states that 96 percent of attacks were "not highly difficult," and that "97 percent of breaches were avoidable through simple or intermediate controls." Эти выводы могут быть прямой следствием часто используемых уязвимостей.These findings may be a direct consequence of the commonly exploited vulnerabilities that follow.

Пробелы в развертываниях антивирусных и антивредоносных программGaps in Antivirus and Antimalware Deployments

Номер закона восемь: устаревшее средство проверки на наличие вредоносных программ имеет более высокий уровень, чем отсутствие сканера.Law Number Eight: An out-of-date malware scanner is only marginally better than no scanner at all. - Десять неизменяемых законов безопасности (версия 2,0) - Ten Immutable Laws of Security (Version 2.0)

Анализ антивирусных и антивредоносных развертываний организаций часто открывает среду, в которой большинство рабочих станций настроены с включенным и актуальным антивирусным и антивредоносным программным обеспечением.Analysis of organizations' antivirus and antimalware deployments often reveals an environment in which most workstations are configured with antivirus and antimalware software that is enabled and current. Исключения обычно часто подключаются к корпоративной среде или устройствам сотрудников, для которых может быть трудно развертывать, настраивать и обновлять антивирусные и Антивредоносные программы.Exceptions are usually workstations that connect infrequently to the corporate environment or employee devices for which antivirus and antimalware software can be difficult to deploy, configure, and update.

Тем не менее, заполнение сервера, однако, в большинстве скомпрометированных сред снижается.Server populations, however, tend to be less consistently protected in many compromised environments. Как сообщило об обнаружении нарушений в данных 2012, 94 процентов всех данных приводят к снижению количества задействованных серверов, что представляет 18% увеличения предыдущего года и 69 процентов атак, зараженных вредоносными программами.As reported in the 2012 Data Breach Investigations, 94 percent of all data compromises involved servers, which represents an 18 percent increase over the previous year, and 69 percent of attacks incorporated malware. При заполнении сервера нередко обнаруживается, что установка антивирусных и антивредоносных программ настроена неправильно, устарела, неправильно настроена или даже отключена.In server populations, it is not uncommon to find that antivirus and antimalware installations are inconsistently configured, outdated, misconfigured, or even disabled. В некоторых случаях антивирусные и Антивредоносные программы отключаются административным персоналом, но в других случаях злоумышленники отключают программное обеспечение после взлома сервера с помощью других уязвимостей.In some cases, the antivirus and antimalware software is disabled by administrative staff, but in other cases, attackers disable the software after compromising a server via other vulnerabilities. Когда антивирусное и антивредоносное по отключено, злоумышленники затем набросают вредоносные программы на сервере и сосредоточиться на распространении компромиссов между заполнением сервера.When the antivirus and antimalware software is disabled, the attackers then plant malware on the server and focus on propagating compromise across the server population.

Важно не только обеспечить защиту систем с помощью текущей, комплексной защиты от вредоносных программ, а также отслеживать системы для отключения или удаления антивирусных и антивредоносных программ и автоматического перезапуска защиты при отключении вручную.It is important not only to ensure that your systems are protected with current, comprehensive malware protection, but also to monitor systems for disabling or removal of antivirus and antimalware software and to automatically restart protection when it is manually disabled. Несмотря на то, что антивирусные и Антивредоносные программы могут гарантировать предотвращение и обнаружение всех заражений, правильно настроенная и развернутая реализация антивирусной и антивредоносной программы может снизить вероятность заражения.Although no antivirus and antimalware software can guarantee prevention and detection of all infections, a properly configured and deployed antivirus and antimalware implementation can reduce the likelihood of infection.

Незавершенная установка исправленийIncomplete Patching

Номер закона 3. Если вы не будете поддерживать исправления безопасности, ваша сеть будет недоступна для вас.Law Number Three: If you don't keep up with security fixes, your network won't be yours for long. - 10 неизменяемых законов по администрированию безопасности - 10 Immutable Laws of Security Administration

Корпорация Майкрософт выпускает бюллетени по безопасности во второй вторник каждого месяца, хотя в редких случаях обновления безопасности выпускаются между ежемесячными обновлениями системы безопасности (они также называются обновлениями по внешнему каналу), когда уязвимость определена для обеспечения срочного риска для систем клиентов.Microsoft releases security bulletins on the second Tuesday of each month, although on rare occasions security updates are released between the monthly security updates (these are also known as "out-of-band" updates) when the vulnerability is determined to pose an urgent risk to customer systems. Независимо от того, настраивает ли компьютер Windows использование Центр обновления Windows для управления исправлениями системы и приложений или крупной организации, использует программное обеспечение для управления, такое как Microsoft Endpoint Configuration Manager для развертывания исправлений в соответствии с подробными иерархическими планами, многие клиенты своевременно исправляют свои инфраструктуры Windows.Whether a small business configures its Windows computers to use Windows Update to manage system and application patching or a large organization uses management software such as Microsoft Endpoint Configuration Manager to deploy patches according to detailed, hierarchical plans, many customers patch their Windows infrastructures in a relatively timely manner.

Однако в некоторых инфраструктурах есть только компьютеры Windows и приложения Майкрософт, а в скомпрометированных средах часто обнаруживается, что стратегия управления исправлениями в организации содержит пробелы.However, few infrastructures include only Windows computers and Microsoft applications, and in compromised environments, it is common to find that the organization's patch management strategy contains gaps. Системы Windows в этих средах не установлены в соответствии с исправлениями.Windows systems in these environments are inconsistently patched. Обновления для операционных систем, отличных от Windows, обновляются регулярно, если вообще.Non-Windows operating systems are patched sporadically, if at all. Коммерческие приложения, работающие за пределами полки (Котс), содержат уязвимости, для которых существуют исправления, но они не были применены.Commercial off-the-shelf (COTS) applications contain vulnerabilities for which patches exist, but have not been applied. Сетевые устройства часто настраиваются с использованием учетных данных по умолчанию и не обновляются в течение года после установки.Networking devices are often configured with factory-default credentials and no firmware updates years after their installation. Приложения и операционные системы, которые больше не поддерживаются поставщиками, часто остаются работающими, несмотря на то, что они больше не могут быть исправлены для уязвимостей.Applications and operating systems that are no longer supported by their vendors are often kept running, despite the fact that they can no longer be patched against vulnerabilities. Каждая из этих неисправленных систем представляет еще одну потенциальную точку входа для злоумышленников.Each of these unpatched systems represents another potential entry point for attackers.

На потребителей ИТ были добавлены дополнительные трудности в том, что устройства, принадлежащие сотрудникам, используются для доступа к корпоративным данным, и организация может иметь немало контроля над установкой исправлений и конфигурацией персональных устройств сотрудников.The consumerization of IT has introduced additional challenges in that employee owned devices are being used to access corporate owned data, and the organization may have little to no control over the patching and configuration of employees' personal devices. Оборудование корпоративного класса обычно поставляется с корпоративными возможностями настройки и функциями управления, за счет чего меньше выбора в индивидуальной настройке и выборе устройств.Enterprise-class hardware typically ships with enterprise-ready configuration options and management capabilities, at the cost of less choice in individual customization and device selection. Оборудование, ориентированное на сотрудников, предлагает более широкий спектр изготовителей, поставщиков, аппаратных средств безопасности, функций безопасности программного обеспечения, возможностей управления и параметров конфигурации, а также многие корпоративные функции могут вообще отсутствовать.Employee-focused hardware offers a broader range of manufacturers, vendors, hardware security features, software security features, management capabilities and configuration options, and many enterprise features may be absent altogether.

Программное обеспечение для управления исправлениями и уязвимостьюPatch and Vulnerability Management Software

Если для систем Windows и приложений Майкрософт установлена действующая система управления исправлениями, часть уязвимой уязвимости, которая была создана, была устранена.If an effective patch management system is in place for the Windows systems and Microsoft applications, part of the attack surface that unpatched vulnerabilities create has been addressed. Однако, если не установлены системы сторонних разработчиков, сторонние приложения, сетевая инфраструктура и устройства сотрудников, также постоянно обновляются исправления и другие исправления, инфраструктура остается уязвимой.However, unless the non-Windows systems, non-Microsoft applications, network infrastructure, and employee devices are also kept up-to-date on patches and other fixes, the infrastructure remains vulnerable. В некоторых случаях поставщик приложения может предоставлять возможности автоматического обновления; в других случаях может потребоваться разработать подход к регулярному извлечению и применению исправлений и других исправлений.In some cases, an application's vendor may offer automatic update capabilities; in others, there may be a need to devise an approach to regularly retrieve and apply patches and other fixes.

Устаревшие приложения и операционные системыOutdated Applications and Operating Systems

"Вы не можете рассчитывать на устаревшую операционную систему в течение шести лет, чтобы защитить вас от атак на шесть месяцев.""You can't expect a six-year-old operating system to protect you against a six-month-old attack." -Information Security Professional с 10-летним опытом защиты корпоративных установок- Information Security Professional with 10 years of experience securing enterprise installations

Несмотря на то, что "получить текущий, оставаться актуальным" может показаться маркетинговой фразой, устаревшие операционные системы и приложения создают риск во многих ИТ-инфраструктурах Организации.Although "get current, stay current" may sound like a marketing phrase, outdated operating systems and applications create risk in many organizations' IT infrastructures. Операционная система, выпущенная в 2003, может по-прежнему поддерживаться поставщиком и поставляется с обновлениями для устранения уязвимостей, но эта операционная система может не содержать функции безопасности, добавленные в более поздних версиях операционной системы.An operating system that was released in 2003 might still be supported by the vendor and provided with updates to address vulnerabilities, but that operating system might not contain security features added in newer versions of the operating system. Устаревшие системы могут даже потребовать ослабления определенной AD DS конфигурации безопасности для поддержки меньших возможностей этих компьютеров.Outdated systems can even require weakening of certain AD DS security configuration to support the lesser capabilities of those computers.

Приложения, написанные для использования устаревших протоколов проверки подлинности поставщиками, которые больше не поддерживают приложение, обычно не могут быть использованы для поддержки более надежных механизмов проверки подлинности.Applications that were written to use legacy authentication protocols by vendors who are no longer supporting the application usually cannot be retooled to support stronger authentication mechanisms. Однако домен Active Directory организации по-прежнему может быть настроен для хранения хэшей LAN Manager или обратимо зашифрованных паролей для поддержки таких приложений.However, an organization's Active Directory domain may still be configured to store LAN Manager hashes or reversibly encrypted passwords to support such applications. Приложения, написанные до появления новых операционных систем, могут работать неправильно или вообще в текущих операционных системах, что требует организации поддерживать старые и более старые системы, а в некоторых случаях — полностью неподдерживаемое оборудование и программное обеспечение.Applications written prior to the introduction of newer operating systems may not function well or at all on current operating systems, requiring organizations to maintain older and older systems, and in some cases, completely unsupported hardware and software.

Даже в тех случаях, когда Организации обновили свои контроллеры домена до Windows Server 2012, Windows Server 2008 R2 или Windows Server 2008, обычно приходится искать значительные части заполнения рядового сервера под управлением Windows Server 2003, Windows 2000 Server или Windows NT Server 4,0 (которые полностью не поддерживаются).Even in cases in which organizations have updated their domain controllers to Windows Server 2012, Windows Server 2008 R2, or Windows Server 2008, it is typical to find significant portions of the member server population to be running Windows Server 2003, Windows 2000 Server or Windows NT Server 4.0 (which are completely unsupported). Чем длиннее организация обслуживает системы старения, тем больше превышаются различия между наборами функций, тем больше вероятность, что рабочие системы будут не поддерживаться.The longer an organization maintains aging systems, the more the disparity between feature sets grows, and the more likely it becomes that production systems will be unsupported. Кроме того, поддерживается более длинный Active Directory лес, тем больше мы видим, что устаревшие системы и приложения в планах обновления отсутствуют.Additionally, the longer an Active Directory forest is maintained, the more we observe that legacy systems and applications are missed in upgrade plans. Это может означать, что один компьютер, на котором работает одно приложение, может вызвать уязвимости уровня домена или леса, так как Active Directory настроена для поддержки устаревших протоколов и механизмов проверки подлинности.This can mean that a single computer running a single application can introduce domain- or forest-wide vulnerabilities because Active Directory is configured to support its legacy protocols and authentication mechanisms.

Для устранения устаревших систем и приложений необходимо сначала сосредоточиться на их идентификации и каталогизации, а затем определить, следует ли обновить или заменить приложение или узел.To eliminate legacy systems and applications, you should first focus on identifying and cataloging them, then on determining whether to upgrade or replace the application or host. Хотя найти замены для очень специализированных приложений, для которых не существует ни поддержки, ни способа обновления, может быть трудно, вы можете использовать концепцию «творческого уничтожения» для замены устаревшего приложения новым приложением, которое предоставляет необходимые функции.Although it can be difficult to find replacements for highly specialized applications for which there is neither support nor an upgrade path, you may be able to leverage a concept called "creative destruction" to replace the legacy application with a new application that provides the necessary functionality. Планирование компромиссов описано более подробно в разделе «Планирование компромисса» далее в этом документе.Planning for Compromise is described in more depth in "Planning for Compromise" later in this document.

Неправильные настройкиMisconfiguration

Закон номер 4. Установка исправлений безопасности на компьютер, который никогда не был защищен с помощью, не имеет смысла.Law Number Four: It doesn't do much good to install security fixes on a computer that was never secured to begin with. - 10 неизменяемых законов по администрированию безопасности - 10 Immutable Laws of Security Administration

Даже в средах, где обычно хранятся актуальные и исправленные системы, мы обычно выявление пробелов или недопустимых настроек в операционной системе, приложениях, выполняющихся на компьютерах, и Active Directory.Even in environments where systems are generally kept current and patched, we commonly identify gaps or misconfigurations in the operating system, applications running on computers, and Active Directory. Некоторые недопустимые настройки предоставляют уязвимости только локальный компьютер, но после признания компьютера злоумышленники обычно сосредоточиться на дальнейшем распространении компромисса между другими системами и, в конечном итоге, к Active Directory.Some misconfigurations expose only the local computer to compromise, but after a computer is "owned," attackers usually focus on further propagating the compromise across other systems and eventually to Active Directory. Ниже приведены некоторые распространенные области, в которых определяются конфигурации, представляющие риск.Following are some of the common areas in which we identify configurations that introduce risk.

В Active DirectoryIn Active Directory

Учетные записи в Active Directory, которые чаще всего используются злоумышленниками, являются членами групп с самыми высокими привилегиями, такими как члены групп "Администраторы домена" (DA), "Администраторы предприятия" (EA) или "встроенные Администраторы" (BA) в Active Directory.The accounts in Active Directory that are most commonly targeted by attackers are those that are members of the most-highly privileged groups, such as members of the Domain Admins (DA), Enterprise Admins (EA), or built-in Administrators (BA) groups in Active Directory. Членство в этих группах следует уменьшить до наименьшего допустимого количества учетных записей, чтобы атака этих групп была ограничена.The membership of these groups should be reduced to the smallest number of accounts possible so that the attack surface of these groups is limited. Можно также исключить "постоянное" членство в этих привилегированных группах. то есть можно реализовать параметры, позволяющие временно заполнять эти группы, только если требуются права уровня домена и леса.It is even possible to eliminate "permanent" membership in these privileged groups; that is, you can implement settings that allow you to temporarily populate these groups only when their domain- and forest-wide privileges are needed. Если используются учетные записи с высоким уровнем привилегий, их следует использовать только в определенных, защищенных системах, таких как контроллеры домена или защищенные административные узлы.When highly privileged accounts are used, they should be used only on designated, secure systems such as domain controllers or secure administrative hosts. Подробные сведения, помогающие реализовать все эти конфигурации, приведены в сокращении Active Directoryнойуязвимости.Detailed information to help implement all of these configurations is provided in Reducing the Active Directory Attack Surface.

При оценке членства в группах с наибольшим числом привилегированных пользователей в Active Directory мы часто нашли чрезмерное членство во всех трех группах с наибольшим уровнем привилегий.When we evaluate the membership of the highest privileged groups in Active Directory, we commonly find excessive membership in all three of the most- privileged groups. В некоторых случаях организации имеют десятки и даже сотни учетных записей в группах DA.In some cases, organizations have dozens, even hundreds of accounts in DA groups. В других случаях организации размещают учетные записи непосредственно во встроенных группах администраторов, что подумывает, что Группа «менее привилегированных», чем группа DAs.In other cases, organizations place accounts directly into built-in Administrators groups, thinking that the group is "less privileged" than the DAs group. Нет.It is not. В корневом домене леса часто встречается несколько постоянных членов группы EA, несмотря на тот факт, что привилегии EA редко и временно требуются.We often find a handful of permanent members of the EA group in the forest root domain, despite the fact that EA privileges are rarely and temporarily required. Нахождение повседневной административной учетной записи пользователя во всех трех группах также распространено, несмотря на то, что это эффективно избыточная конфигурация.Finding an IT user's day-to-day administrative account in all three groups is also common, even though this is an effectively redundant configuration. Как описано в разделе уменьшение Active Directoryуязвимой зоны, является ли учетная запись постоянной участником одной из этих групп или ее всех, учетная запись может использоваться для компрометации и даже уничтожения среды AD DS, а также систем и учетных записей, управляемых ИТ.As described in Reducing the Active Directory Attack Surface, whether an account is a permanent member of one of these groups or all of them, the account can be used to compromise, and even destroy the AD DS environment and the systems and accounts managed by it. Рекомендации по безопасной настройке и использованию привилегированных учетных записей в Active Directory предоставляются в целях уменьшения Active Directoryуязвимой зоны.Recommendations for the secure configuration and use of privileged accounts in Active Directory are provided in Reducing the Active Directory Attack Surface.

На контроллерах доменаOn Domain Controllers

При оценке контроллеров домена часто настраиваются и управляются не так, как рядовые серверы.When we assess domain controllers, we find often find them configured and managed no differently than member servers. Контроллеры домена иногда запускают те же приложения и служебные программы, установленные на рядовых серверах, а не потому, что они необходимы на контроллерах домена, но так как приложения являются частью стандартной сборки.Domain controllers sometimes run the same applications and utilities installed on member servers, not because they're needed on the domain controllers, but because the applications are part of a standard build. Эти приложения могут обеспечить минимальную функциональность на контроллерах домена, но значительно добавляют параметры конфигурации, которые открывают порты, создают высокопривилегированные учетные записи служб или предоставляют доступ к системе пользователям, которые не должны подключаться к контроллеру домена для любых целей, кроме проверки подлинности и групповая политика приложения.These applications may provide minimal functionality on the domain controllers but add significantly to its attack surface by requiring configuration setting that open ports, create highly privileged service accounts, or grant access to the system by users who should not connect to a domain controller for any purpose other than authentication and Group Policy application. В некоторых случаях злоумышленники использовали средства, уже установленные на контроллерах домена, не только для получения доступа к контроллерам домена, но и для изменения или повреждения базы данных AD DS.In some breaches, attackers have used tools that were already installed on domain controllers not only to gain access to the domain controllers, but to modify or damage the AD DS database.

При извлечении параметров конфигурации Internet Explorer на контроллерах домена мы обнаружили, что пользователи выполнили вход с учетными записями с высоким уровнем привилегий в Active Directory и использовали учетные записи для доступа к Интернету и интрасети с контроллеров домена.When we extract the Internet Explorer configuration settings on domain controllers, we find that users have logged on with accounts that have high levels of privilege in Active Directory and have used the accounts to access the Internet and intranet from the domain controllers. В некоторых случаях учетные записи настроили параметры Internet Explorer на контроллерах домена, чтобы разрешить загрузку интернет-содержимого, а остальные служебные программы были загружены с веб-сайтов и установлены на контроллерах домена.In some cases, the accounts have configured Internet Explorer settings on the domain controllers to allow download of Internet content, and freeware utilities have been downloaded from Internet sites and installed on the domain controllers. Конфигурация усиленной безопасности Internet Explorer включена для пользователей и администраторов по умолчанию, но мы часто наблюдаем, что отключено для администраторов.Internet Explorer Enhanced Security Configuration is enabled for Users and Administrators by default, yet we often observe that is has been disabled for Administrators. Когда учетная запись с высоким уровнем привилегий обращается к Интернету и скачивает содержимое на любой компьютер, этот компьютер подвергается серьезному риску.When a highly privileged account accesses the Internet and downloads content to any computer, that computer is put at severe risk. Если компьютер является контроллером домена, вся установка AD DS подвергается риску.When the computer is a domain controller, the entire AD DS installation is put at risk.

Защита контроллеров доменаProtecting Domain Controllers

Контроллеры домена должны рассматриваться как критически важные компоненты инфраструктуры, что обеспечивает более строгую и более жесткую настройку, чем файлы, печать и серверы приложений.Domain controllers should be treated as critical infrastructure components, secured more stringently and configured more rigidly than file, print, and application servers. Контроллеры домена не должны запускать программное обеспечение, которое не требуется контроллеру домена для работы, или не защищает контроллер домена от атак.Domain controllers should not run any software that is not required for the domain controller to function or doesn't protect the domain controller against attacks. Контроллерам домена не следует разрешен доступ к Интернету, а параметры безопасности должны быть настроены и принудительно применены групповая политика объектами (GPO).Domain controllers should not be permitted to access the Internet, and security settings should be configured and enforced by Group Policy Objects (GPOs). Подробные рекомендации по безопасной установке, настройке и управлению контроллерами домена предоставляются в целях защиты контроллеров домена от атак.Detailed recommendations for the secure installation, configuration, and management of domain controllers are provided in Securing Domain Controllers Against Attack.

В операционной системеWithin the Operating System

Номер закона 2. Если злоумышленник может изменить операционную систему на компьютере, это больше не ваш компьютер.Law Number Two: If a bad guy can alter the operating system on your computer, it's not your computer anymore. - Десять неизменяемых законов безопасности (версия 2,0) - Ten Immutable Laws of Security (Version 2.0)

Хотя некоторые организации создают базовые конфигурации для серверов различных типов и разрешают ограниченную настройку операционной системы после ее установки, анализ скомпрометированных сред часто приводит к обнаружению большого количества серверов, развернутых в нерегламентированном режиме, и настраивается вручную и независимо.Although some organizations create baseline configurations for servers of different types and allow limited customization of the operating system after it's installed, analysis of compromised environments often uncovers large numbers of servers deployed in an ad hoc fashion, and configured manually and independently. Конфигурации между двумя серверами, выполняющими одну и ту же функцию, могут быть совершенно разными, если ни один из серверов не настроен безопасно.Configurations between two servers performing the same function may be completely different, where neither server is configured securely. И наоборот, шаблоны базовой конфигурации сервера могут постоянно применяться принудительно, но они также постоянно настроены. Это значит, что серверы настроены таким образом, что создает ту же уязвимость на всех серверах заданного типа.Conversely, server configuration baselines may be consistently enforced, but also consistently misconfigured; that is, servers are configured in a manner that creates the same vulnerability on all servers of a given type. Некоторая конфигурация включает в себя такие рекомендации, как отключение функций безопасности, предоставление учетным записям избыточных прав и разрешений (особенно учетных записей служб), использование идентичных локальных учетных данных в системах и разрешение установки неавторизованных приложений и служебных программ, которые создают уязвимые места.Misconfiguration includes practices such as disabling of security features, granting excessive rights and permissions to accounts (particularly service accounts), use of identical local credentials across systems, and permitting installation of unauthorized applications and utilities that create vulnerabilities of their own.

Отключение функций безопасностиDisabling Security Features

Организации иногда отключают брандмауэр Windows в повышенной безопасности (WFAS) из-за того, что в WFAS трудно настраивать или требовать интенсивную работу в рабочей конфигурации.Organizations sometimes disable Windows Firewall with Advanced Security (WFAS) out of a belief that WFAS is difficult to configure or requires work-intensive configuration. Однако начиная с Windows Server 2008, когда какая-либо роль или компонент устанавливается на сервере, она по умолчанию настроена с минимальными привилегиями, необходимыми для функционирования роли или компонента, а брандмауэр Windows автоматически настраивается для поддержки роли или компонента.However, beginning with Windows Server 2008, when any role or feature is installed on a server, it is configured by default with the least privileges required for the role or feature to function, and the Windows Firewall is automatically configured to support the role or feature. Если отключить WFAS (и не использовать на своем месте другой брандмауэр на основе узла), организации увеличивают область атаки для всей среды Windows.By disabling WFAS (and not using another host-based firewall in its place), organizations increase the attack surface of the entire Windows environment. Брандмауэры периметра обеспечивают некоторую защиту от атак, непосредственно направленных в среду из Интернета, но они не обеспечивают защиту от атак, которые используют другие векторы атак, такие как атаки типа "диск-от " или атаки, полученные от скомпрометированных систем в интрасети.Perimeter firewalls provide some protection against attacks that directly target an environment from the Internet, but they provide no protection against attacks that exploit other attack vectors such as drive-by download attacks, or attacks that originate from other compromised systems on the intranet.

Параметры контроля учетных записей (UAC) иногда отключены на серверах, так как административные сотрудники находят запросы на вмешательство пользователя.User Account Control (UAC) settings are sometimes disabled on servers because administrative staff find the prompts intrusive. Несмотря на то, что в Служба поддержки Майкрософт статье 2526083 описываются сценарии, в которых UAC может быть отключен в Windows Server, если только не выполняется установка Server Core (если контроль учетных записей отключен при проектировании), не следует отключать контроль учетных записей на серверах без тщательного рассмотрения и исследования.Although Microsoft Support article 2526083 describes scenarios in which UAC may be disabled on Windows Server, unless you are running a server core installation (where UAC is disabled by design), you should not disable UAC on servers without careful consideration and research.

В других случаях параметры сервера настроены на менее безопасные значения, так как организации применяют устаревшие параметры конфигурации сервера к новым операционным системам, например к применению базовых планов Windows Server 2003 на компьютерах под управлением Windows Server 2012, Windows Server 2008 R2 или Windows Server 2008 без изменения базовых показателей для отражения изменений в операционной системе.In other cases, server settings are configured to less-secure values because organizations apply outdated server configuration settings to new operating systems, such as applying Windows Server 2003 baselines to computers running Windows Server 2012, Windows Server 2008 R2, or Windows Server 2008, without changing the baselines to reflect the changes in the operating system. Вместо того, чтобы применять старые базовые показатели сервера к новым операционным системам, при развертывании новой операционной системы ознакомьтесь с изменениями безопасности и параметрами конфигурации, чтобы убедиться, что применяемые параметры применимы и подходят для новой операционной системы.Rather than carrying old server baselines to new operating systems, when deploying a new operating system, review security changes and configuration settings to ensure that the settings implemented are applicable and appropriate for the new operating system.

Предоставление чрезмерных прав доступаGranting Excessive Privilege

Почти во всех средах, за которые мы оценены, избыточные привилегии предоставляются локальным и доменным учетным записям в системах Windows.In nearly every environment we have assessed, excessive privilege is granted to local and domain-based accounts on Windows systems. Пользователям предоставляются права локального администратора на рабочих станциях, рядовые серверы выполняют службы, для которых настроены права, помимо необходимых для работы, а группы локальных администраторов в пределах заполнения сервера содержат десятки или даже сотни локальных и доменных учетных записей.Users are granted local Administrator rights on their workstations, member servers run services that are configured with rights beyond what they need to function, and local Administrators groups across the server population contain dozens or even hundreds of local and domain accounts. Компрометация только одной привилегированной учетной записи на компьютере позволяет злоумышленникам нарушать учетные записи каждого пользователя и службы, которые подключаются к компьютеру, а также собирать и использовать учетные данные для распространения компромисса к другим системам.Compromise of only one privileged account on a computer allows attackers to compromise the accounts of every user and service that logs on to the computer, and to harvest and leverage credentials to propagate the compromise to other systems.

Несмотря на то, что Pass-The-hash (PTH) и другие атаки по краже учетных данных находятся повсеместно, это обусловлено тем, что существует свободное средство, позволяющее легко и без труда извлечь учетные данные других привилегированных учетных записей, когда злоумышленник получит доступ к компьютеру на уровне администратора или системы.Although pass-the-hash (PTH) and other credential theft attacks are ubiquitous today, it is because there is freely available tooling that makes it simple and easy to extract the credentials of other privileged accounts when an attacker has gained Administrator- or SYSTEM-level access to a computer. Даже без инструментов, позволяющих собирать учетные данные из сеансов входа в систему, злоумышленник с привилегированным доступом к компьютеру может просто установить средства ведения журнала нажатия клавиш, которые захватывают нажатия клавиш, снимки экрана и содержимое буфера обмена.Even without tooling that allows harvesting of credentials from logon sessions, an attacker with privileged access to a computer can just as easily install keystroke loggers that capture keystrokes, screenshots, and clipboard contents. Злоумышленник с привилегированным доступом к компьютеру может отключить антивредоносное по, установить rootkit-программы, изменить защищенные файлы или установить вредоносные программы на компьютере, который автоматизирует атаки, или превратить сервер в узел загрузки диска .An attacker with privileged access to a computer can disable antimalware software, install rootkits, modify protected files, or install malware on the computer that automates attacks or turns a server into a drive-by download host.

Тактика, используемая для расширения нарушений, находящихся за одним компьютером, может быть различной, но ключ для распространения компромисса — это приобретение высокопривилегированного доступа к дополнительным системам.The tactics used to extend a breach beyond a single computer vary, but the key to propagating compromise is the acquisition of highly privileged access to additional systems. Уменьшая количество учетных записей с привилегированным доступом к любой системе, вы сокращаете область атаки не только на этом компьютере, но и атакующий злоумышленник, который получает ценные учетные данные с компьютера.By reducing the number of accounts with privileged access to any system, you reduce the attack surface not only of that computer, but the likelihood of an attacker harvesting valuable credentials from the computer.

Стандартизация учетных данных локального администратораStandardizing Local Administrator Credentials

У специалистов по безопасности есть много споров о том, есть ли в переименовании учетных записей локального администратора на компьютерах Windows значение.There has long been debate among security specialists as to whether there is value in renaming local Administrator accounts on Windows computers. На самом деле важна учетная запись локального администратора, настроена ли для них одинаковое имя пользователя и пароль на нескольких компьютерах.What is actually important about local Administrator accounts is whether they are configured with the same user name and password across multiple computers.

Если учетная запись локального администратора имеет то же значение на разных серверах, а пароль, назначенный учетной записи, также настроен на то же самое значение, злоумышленники могут извлекать учетные данные учетной записи на одном компьютере, на котором был получен доступ к администратору или СИСТЕМному уровню.If the local Administrator account is named to the same value across servers and the password assigned to the account is also configured to the same value, attackers can extract the account's credentials on one computer on which Administrator or SYSTEM-level access has been obtained. Злоумышленнику не нужно первоначально нарушать учетную запись администратора. им требуется только компрометация учетной записи пользователя, который является членом локальной группы администраторов, или учетной записи службы, настроенной для запуска от имени LocalSystem или с правами администратора.The attacker does not have to initially compromise the Administrator account; they need only compromise the account of a user who is a member of the local Administrators group, or of a service account that is configured to run as LocalSystem or with Administrator privileges. Затем злоумышленник может извлечь учетные данные для учетной записи администратора и воспроизвести эти учетные данные при входе в сеть на других компьютерах в сети.The attacker can then extract the credentials for the Administrator account and replay those credentials in network logons to other computers on the network.

Если на другом компьютере есть локальная учетная запись с тем же именем пользователя и паролем (или хэшем пароля), что и учетные данные учетной записи, то попытка входа в систему завершается успешно и злоумышленник получает привилегированный доступ к целевому компьютеру.As long as another computer has a local account with the same user name and password (or password hash) as the account credentials that are being presented, the logon attempt succeeds and the attacker obtains privileged access to the targeted computer. В текущих версиях Windows встроенная учетная запись администратора отключена по умолчанию, но в устаревших операционных системах учетная запись включена по умолчанию.In current versions of Windows, the built-in Administrator account is disabled by default, but in legacy operating systems, the account is enabled by default.

Примечание

Некоторые организации намеренно настроили учетные записи локального администратора, чтобы они были включены в том случае, если все остальные привилегированные учетные записи заблокированы в системе.Some organizations have intentionally configured local Administrator accounts to be enabled in the belief that this provides a "failsafe" in case all other privileged accounts are locked out of a system. Однако даже если учетная запись локального администратора отключена и нет других учетных записей, которые могут включить учетную запись или войти в систему с правами администратора, систему можно загрузить в безопасный режим, а встроенную учетную запись локального администратора можно снова включить, как описано в Служба поддержки Майкрософт статье 814777.However, even if the local Administrator account is disabled and there are no other accounts available that can enable the account or log on to the system with Administrator privileges, the system can be booted into safe mode and the built-in local Administrator account can be re-enabled, as described in Microsoft Support article 814777. Кроме того, если система по-прежнему успешно применяет объекты групповой политики, объект групповой политики можно изменить на (временно) повторно включить учетную запись администратора, или настроить группы с ограниченными правами, чтобы добавить учетную запись домена в локальную группу администраторов.Additionally, if the system still successfully applies GPOs, a GPO can be modified to (temporarily) re-enable the Administrator account, or Restricted Groups can be configured to add a domain-based account to the local Administrators group. Можно выполнить восстановление, и учетную запись администратора можно снова отключить.Repairs can be performed and the Administrator account can again be disabled. Для эффективного предотвращения нарушения безопасности бокового смещения, использующей встроенные учетные данные локального администратора, уникальные имена пользователей и пароли должны быть настроены для учетных записей локального администратора.To effectively prevent a lateral compromise that uses built-in local Administrator account credentials, unique user names and passwords must be configured for local Administrator accounts. Сведения о развертывании уникальных паролей для учетных записей локального администратора с помощью объекта групповой политики см. в разделе решение для управления паролем встроенной учетной записи администратора с помощью объекта групповой политики на сайте TechNet.To deploy unique passwords for local Administrator accounts via a GPO, see Solution for management of built-in Administrator account's password via GPO on technet.

Разрешение установки неавторизованных приложенийPermitting Installation of Unauthorized Applications

Номер закона один: если злоумышленник может убедить вас запустить свою программу на своем компьютере, он больше не является вашим компьютером.Law Number One: If a bad guy can persuade you to run his program on your computer, it's not solely your computer anymore. - Десять неизменяемых законов безопасности (версия 2,0) - Ten Immutable Laws of Security (Version 2.0)

Независимо от того, развертывает ли Организация согласованные базовые параметры на серверах, не следует разрешать установку приложений, которые не являются частью определенной роли сервера.Whether an organization deploys consistent baseline settings across servers, the installation of applications that are not part of a server's defined role should not be permitted. Разрешая установку программного обеспечения, не являющегося частью назначенных серверу функций, серверы становятся непреднамеренной или вредоносной установкой программного обеспечения, увеличивающего контактную зону для атак на сервер, вводит уязвимости приложения или нестабильность системы.By allowing software to be installed that is not part of a server's designated functionality, servers are exposed to inadvertent or malicious installation of software that increases the server's attack surface, introduces application vulnerabilities, or causes system instability.

приложения;Applications

Как было сказано ранее, приложения часто устанавливаются и настраиваются для использования учетных записей, которым предоставлено больше прав, чем требуется приложению.As described earlier, applications are often installed and configured to use accounts that are granted more privilege than the application actually requires. В некоторых случаях в документации приложения указано, что учетные записи служб должны быть членами локальной группы администраторов сервера или должны быть настроены для работы в контексте LocalSystem.In some cases, the application's documentation specifies that service accounts must be members of a server's local Administrators group or must be configured to run in the context of the LocalSystem. Это часто не так, потому что приложению требуются эти права, но, поскольку определение прав и разрешений, необходимых учетным записям службы приложения, требует инвестиций за дополнительное время и усилия.This is often not because the application requires those rights, but because determining what rights and permissions an application's service accounts need requires investment in additional time and effort. Если приложение не устанавливается с минимальными привилегиями, необходимыми для функционирования приложения и его настроенных функций, система становится уязвимой для атак, использующих привилегии приложения без каких-либо атак на саму операционную систему.If an application does not install with the minimum privileges required for the application and its configured features to function, the system is exposed to attacks that leverage application privileges without any attack against the operating system itself.

Отсутствие защищенных методов разработки приложенийLack of Secure Application Development Practices

Инфраструктура существует для поддержки рабочих нагрузок бизнеса.Infrastructure exists to support business workloads. Если эти рабочие нагрузки реализованы в пользовательских приложениях, очень важно обеспечить разработку приложений с использованием оптимальных методов защиты.Where these workloads are implemented in custom applications, it is critical to ensure that the applications are developed using secure best practices. Анализ основных причин инцидентов в масштабе предприятия часто показывает, что первоначальный компромисс влияет на пользовательские приложения, в частности те, которые работают в Интернете.Root-cause analysis of enterprise-wide incidents often reveals that an initial compromise is effected through custom applications-particularly those that are Internet facing. Большая часть этих компромиссов достигается за счет взлома известных атак, таких как атака путем внедрения кода SQL (скрытых) и атаки с использованием межсайтовых сценариев (XSS).Most of these compromises are accomplished via compromise of well-known attacks such as SQL injection (SQLi) and cross-site scripting (XSS) attacks.

Внедрение кода SQL — это уязвимость приложения, которая позволяет пользовательским входным данным изменять инструкцию SQL, которая передается в базу данных для выполнения.SQL Injection is an application vulnerability that allows user-defined input to modify a SQL statement that is passed to the database for execution. Эти входные данные могут быть предоставлены через поле в приложении — параметр (например, строка запроса или файл cookie) или другие методы.This input can be provided via a field in the application, a parameter (such as the query string or a cookie), or other methods. Результатом этого внедрения является то, что инструкция SQL, предоставляемая базе данных, является принципиально отличной от той, которую планировал разработчик.The result of this injection is that the SQL statement provided to the database is fundamentally different than what the developer intended. Возьмем, к примеру, общий запрос, используемый при вычислении комбинации имени пользователя и пароля:Take, for example, a common query used in the evaluation of a user name/password combination:

SELECT userID FROM users WHERE username = 'sUserName' AND password = 'sPassword'

Когда сервер базы данных получает это сообщение, он указывает серверу на то, что он просматривает таблицу "Пользователи", и возвращает любую запись userID, в которой имя пользователя и пароль совпадают с указанными пользователем (предположительно через форму входа).When this is received by the database server, it instructs the server to look through the users table and return any userID record where the user name and password match those provided by the user (presumably via a login form of some kind). Естественно, цель разработчика — возврат действительной записи только в том случае, если пользователь может предоставить правильные имя пользователя и пароль.Naturally the intent of the developer in this case is to only return a valid record if a correct user name and password can be provided by the user. Если указано неверное значение, сервер базы данных не сможет найти соответствующую запись и вернуть пустой результат.If either is incorrect, the database server will be unable to find a matching record and return an empty result.

Проблема возникает, когда злоумышленник делает что-то непредвиденное, например предоставление собственного SQL вместо допустимых данных.The issue occurs when an attacker does something unexpected such as providing their own SQL in place of valid data. Поскольку SQL интерпретируется на лету сервером базы данных, встраиваемый код будет обрабатываться так, как будто разработчик поместил его самостоятельно.Because SQL is interpreted on-the-fly by the database server, the injected code would be processed as if the developer had put it in himself. Например, если злоумышленник вводит в качестве пароля учетную запись администратора для идентификатора пользователя и XYZ или 1 = 1 , результирующая инструкция, обрабатываемая базой данных, будет выглядеть следующим образом:For example, if the attacker entered administrator for the user ID and xyz OR 1=1 as the password, the resulting statement processed by the database would be:

SELECT userID FROM users WHERE username = 'administrator' AND password = 'xyz' OR 1=1

Когда этот запрос обрабатывается сервером базы данных, все строки в таблице будут возвращены в запросе, так как 1 = 1 всегда будет оцениваться как истинное, поэтому не имеет значения, является ли правильное имя пользователя и пароль известными или предоставлены.When this query is processed by the database server, all rows in the table will be returned in the query because 1=1 will always evaluate to True, thus it doesn't matter if the correct username and password is known or provided. В большинстве случаев в итоге пользователь будет входить в систему как первый пользователь в базе данных пользователя; в большинстве случаев это будет пользователь с правами администратора.The net result in most cases is that the user will be logged on as the first user in the user's database; in most cases, this will be the administrative user.

Помимо простого входа в систему, такие инструкции SQL можно использовать для добавления, удаления или изменения данных, а также для удаления (удаления) целых таблиц из базы данных.In addition to simply logging on, malformed SQL statements such as this can be used to add, delete, or change data, or even drop (delete) entire tables from a database. В самых крайних случаях, когда скрытых сочетается с чрезмерным уровнем привилегий, можно запустить команды операционной системы, чтобы обеспечить возможность создания новых пользователей, загрузки средств атаки или выполнения других действий, выбираемых злоумышленниками.In the most extreme cases where SQLi is combined with excessive privilege, operating system commands can be run to enable the creation of new users, to download attack tools, or to take any other actions of the attackers choosing.

В случае межсайтовых сценариев уязвимость появилась в выходных данных приложения.In cross-site scripting, the vulnerability is introduced in the application's output. Атака начинается с злоумышленника, предоставляя приложению неправильно сформированные данные, но в данном случае неверно сформированные данные находятся в виде кода скрипта (например, JavaScript), который будет выполняться браузером жертвы.An attack begins with an attacker providing malformed data to the application, but in this case the malformed data is in the form of scripting code (such as JavaScript) that will be run by the victim's browser. Использование уязвимости XSS может позволить злоумышленнику запускать любые функции целевого приложения в контексте пользователя, запустившего браузер.Exploit of an XSS vulnerability can allow an attacker to run any functions of the target application in the context of the user who launched the browser. Атаки XSS обычно инициируются с помощью phishing-сообщений. пользователь должен щелкнуть ссылку, которая подключится к приложению, и запустить код атаки.XSS attacks are typically initiated by a phishing email encouraging the user to click a link that connects to the application and runs the attack code.

XSS часто используется в интерактивных банковских операциях и сценариях электронной коммерции, когда злоумышленник может совершать покупки или передавать деньги в контексте пользователя с злоумышленником.XSS is often exploited in online banking and e-commerce scenarios where an attacker can make purchases or transfer money in the context of the exploited user. В случае целевой атаки в пользовательском веб-приложении управления удостоверениями оно может позволить злоумышленнику создать свои удостоверения, изменить разрешения и права и привести к нарушению безопасности системы.In the case of a targeted attack on a custom web-based identity management application, it can allow an attacker to create their own identities, modify permissions and rights, and lead to a systemic compromise.

Хотя полное обсуждение межузловых сценариев и внедрения кода SQL выходит за рамки этого документа, проект Open Web Application Security (OWASP) публикует 10 лучших списков с подробным описанием уязвимостей и контрмер.Although a full discussion of cross-site scripting and SQL injection is outside the scope of this document, the Open Web Application Security Project (OWASP) publishes a top 10 list with in-depth discussion of the vulnerabilities and countermeasures.

Независимо от инвестиций в систему безопасности инфраструктуры, если плохо спроектированные и написанные приложения развернуты в этой инфраструктуре, среда становится уязвимой для атак.Regardless of the investment in infrastructure security, if poorly designed and written applications are deployed within that infrastructure, the environment is made vulnerable to attacks. Даже хорошо защищенные инфраструктуры часто не могут обеспечить эффективные меры противодействия атакам этих приложений.Even well-secured infrastructures often cannot provide effective countermeasures to these application attacks. Если решить проблему, плохо спроектированные приложения могут потребовать, чтобы учетным записям служб были предоставлены чрезмерные разрешения для работы приложения.Compounding the problem, poorly designed applications may require that service accounts be granted excessive permissions for the application to function.

Жизненный цикл разработки защищенных приложений (Майкрософт) (SDL) представляет собой набор структурных элементов управления процессами, которые позволяют повысить уровень безопасности, начиная с момента сбора и расширения жизненного цикла приложения до тех пор, пока не будет списано.The Microsoft Security Development Lifecycle (SDL) is a set of structural process controls that work to improve security beginning early in requirements gathering and extending through the lifecycle of the application until it is decommissioned. Такая интеграция эффективных элементов управления безопасностью не только важна с точки зрения безопасности, но крайне важна для обеспечения безопасности приложений и планирования эффективности.This integration of effective security controls is not only critical from a security perspective, it is critical to ensure that application security is cost and schedule effective. Оценка приложения на наличие проблем безопасности при эффективном кодировании требует организации принимать решения о безопасности приложений только до или даже после развертывания приложения.Assessing an application for security issues when it is effectively code complete requires organizations to make decisions about application security only before or even after the application has been deployed. Организация может устранить недостатки приложения перед развертыванием приложения в рабочей среде, затратами и задержками, а также развернуть приложение в рабочей среде с известными дефектами безопасности, предоставляя Организации возможность компрометации.An organization can choose to address the application flaws before deploying the application in production, incurring costs and delays, or the application can be deployed in production with known security flaws, exposing the organization to compromise.

Некоторые организации размещают полную стоимость устранения проблем безопасности в рабочем коде выше $10 000 за каждую неполадку, и приложения, разработанные без эффективной SDL, могут усреднить более десяти проблем с высокой серьезностью в 100 000 строк кода.Some organizations place the full cost of fixing a security issue in production code above $10,000 per issue, and applications developed without an effective SDL can average more than ten high-severity issues per 100,000 lines of code. В больших приложениях затраты быстро переключаются.In large applications, the costs escalate quickly. Многие компании, напротив, устанавливают тест производительности менее чем одной проблемы в 100 000 строк кода на заключительном этапе проверки кода SDL и не дают нулевых проблем в приложениях с высоким уровнем риска в рабочей среде.By contrast, many companies set a benchmark of less than one issue per 100,000 lines of code at the final code review stage of the SDL, and aim for zero issues in high-risk applications in production.

Реализация SDL повышает безопасность, включая требования к безопасности на ранних этапах сбора и проектирования приложения, что обеспечивает моделирование угроз для приложений с высоким риском; требует эффективного обучения и мониторинга разработчиков; и требует четких, единообразных стандартов кода и рекомендаций.Implementing the SDL improves security by including security requirements early in requirements gathering and design of an application provides threat modeling for high-risk applications; requires effective training and monitoring of developers; and requires clear, consistent code standards and practices. Побочный результат SDL — значительные улучшения в области безопасности приложений, а также снижение затрат на разработку, развертывание, Обслуживание и списание приложения.The net effect of an SDL is significant improvements in application security while reducing the cost to develop, deploy, maintain, and decommission an application. Хотя подробное обсуждение разработки и реализации SDL выходит за рамки этого документа, ознакомьтесь с подробными инструкциями и сведениями в разделе жизненный цикл разработки системы безопасности Майкрософт .Although a detailed discussion of the design and implementation of SDL is beyond the scope of this document, refer to the Microsoft Security Development Lifecycle for detailed guidance and information.