stringtranslate.com

Патч (компьютерный)

Патч — это набор изменений в компьютерной программе или вспомогательных данных, предназначенных для ее обновления, исправления или улучшения. [1] Сюда входит исправление уязвимостей безопасности [1] и других ошибок , причем такие исправления обычно называются исправлениями ошибок или исправлениями ошибок . [2] [ нужен лучший источник ] Патчи часто пишутся для улучшения функциональности, удобства использования или производительности программы. Большинство исправлений предоставляются поставщиками программного обеспечения для обновлений операционной системы и приложений.

Патчи могут быть установлены либо под программным контролем, либо человеком-программистом с использованием инструментов редактирования или отладчика . Их можно применять к программным файлам на запоминающем устройстве или в памяти компьютера. Исправления могут быть постоянными (до тех пор, пока не будут исправлены снова) или временными.

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

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

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

Типы

Бинарные патчи

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

Исправления для другого программного обеспечения обычно распространяются в виде файлов данных, содержащих код исправления. Они считываются утилитой исправлений , которая выполняет установку. Эта утилита изменяет исполняемый файл целевой программы — машинный код программы — обычно путем перезаписи его байтов байтами, представляющими новый код исправления. Если новый код помещается в пространство (количество байтов), занимаемое старым кодом, его можно разместить путем перезаписи непосредственно поверх старого кода. Это называется встроенным патчем. Если новый код больше старого, утилита исправления добавит загрузочные записи, содержащие новый код, в объектный файл исправляемой целевой программы. При запуске исправленной программы выполнение направляется на новый код с инструкциями ветвления (переходы или вызовы), исправленными в том месте старого кода, где требуется новый код. На ранних 8-битных микрокомпьютерах, например Radio Shack TRS-80 , операционная система включает в себя утилиту PATCH/CMD, которая принимает данные исправлений из текстового файла и применяет исправления к исполняемым двоичным файлам целевой программы.

Код исправления должен иметь место в памяти для выполнения во время выполнения. Встроенные исправления не представляют сложности, но когда требуется дополнительное пространство памяти, программисту приходится импровизировать. Естественно, если программист патчей — это тот, кто первым создал код, подлежащий исправлению, это проще. Опытные программисты заранее планируют эту необходимость, резервируя память для последующего расширения, которая остается неиспользованной при создании последней итерации. Другие программисты, не участвовавшие в исходной реализации и стремящиеся внести изменения позже, должны найти или освободить место для любых необходимых дополнительных байтов. Наиболее благоприятным обстоятельством для этого является ситуация, когда подпрограмма, подлежащая исправлению, представляет собой отдельный модуль. В этом случае программисту патчей нужно просто настроить указатели или индикаторы длины, которые сообщают другим компонентам системы о пространстве, занимаемом модулем; затем он может свободно заполнить это пространство памяти своим расширенным кодом исправления. Если подпрограмма, подлежащая исправлению, не существует в виде отдельного модуля памяти, программист должен найти способы сжать подпрограмму, чтобы освободить достаточно места для расширенного кода исправления. Типичные тактики включают сокращение кода путем поиска более эффективных последовательностей инструкций (или путем перепроектирования с использованием более эффективных алгоритмов), сжатие строк сообщений и других областей данных, перенос программных функций в запоминающее устройство (например, наложение дисков) или удаление программных функций, которые считаются менее важными. важнее, чем изменения, которые будут установлены вместе с патчем.

Небольшие исправления машинного кода в памяти можно применять вручную с помощью утилиты системной отладки, такой как отладчики DDT CP/M или отладчики DEBUG MS-DOS . Программисты, работающие на интерпретируемом BASIC, часто использовали команду POKE, чтобы изменить функциональность системной службы или самого интерпретатора.

Исправления исходного кода

Патчи также могут распространяться в виде модификаций исходного кода. В этом случае патчи обычно состоят из текстовых различий между двумя файлами исходного кода, называемых « diffs ». Эти типы исправлений обычно создаются в рамках проектов программного обеспечения с открытым исходным кодом . В этих случаях разработчики ожидают, что пользователи сами скомпилируют новые или измененные файлы.

Большие патчи

Поскольку слово «исправление» означает небольшое исправление, для крупных исправлений может использоваться другая номенклатура. Объемные исправления или исправления, которые существенно изменяют программу, могут распространяться как « пакеты обновлений » или «обновления программного обеспечения». Microsoft Windows NT и ее преемники (включая Windows 2000 , Windows XP , Windows Vista и Windows 7 ) используют терминологию «пакета обновления». [3] Исторически IBM использовала термины «FixPaks» и «Corrective Service Diskette» для обозначения этих обновлений. [4]

История

Лента с программами для Harvard Mark I 1944 года , одного из первых цифровых компьютеров. Обратите внимание на физические заплатки, используемые для исправления пробитых отверстий путем их закрытия.

Исторически сложилось так, что поставщики программного обеспечения распространяли патчи на бумажной ленте или на перфокартах , ожидая, что получатель вырежет указанную часть исходной ленты (или колоды) и вставит (отсюда и название) заменяющий сегмент. В более поздних версиях патчей использовалась магнитная лента. Затем, после изобретения съемных дисковых накопителей, исправления поступали от разработчика программного обеспечения на диске или, позже, на компакт-диске по почте . Благодаря широкодоступному доступу в Интернет конечным пользователям часто стала доступна загрузка исправлений с веб-сайта разработчика или посредством автоматических обновлений программного обеспечения. Начиная с Mac OS 9 от Apple и Windows ME от Microsoft , операционные системы ПК получили возможность автоматически получать обновления программного обеспечения через Интернет.

Компьютерные программы часто могут координировать исправления для обновления целевой программы. Автоматизация упрощает задачу конечного пользователя – ему нужно только запустить программу обновления, после чего эта программа гарантирует, что обновление цели происходит полностью и правильно. Пакеты обновлений для Microsoft Windows NT и ее преемников, а также для многих коммерческих программных продуктов используют такие автоматизированные стратегии.

Некоторые программы могут обновляться через Интернет практически без вмешательства пользователя. Обслуживание серверного программного обеспечения и операционных систем часто происходит таким образом. В ситуациях, когда системные администраторы контролируют несколько компьютеров, такая автоматизация помогает поддерживать согласованность. Установка исправлений безопасности обычно происходит таким образом.

Приложение

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

В случае операционных систем и серверного программного обеспечения исправления играют особенно важную роль в устранении дыр в безопасности. Некоторые критические исправления связаны с проблемами с драйверами. [5] Исправления могут требовать предварительного применения других исправлений или могут требовать предварительного или одновременного обновления нескольких независимых компонентов программного обеспечения. Чтобы облегчить обновления, операционные системы часто предоставляют средства автоматического или полуавтоматического обновления. Полностью автоматические обновления не смогли получить широкую популярность в корпоративных вычислительных средах, отчасти из-за вышеупомянутых сбоев, но также и потому, что администраторы опасаются, что компании-разработчики программного обеспечения могут получить неограниченный контроль над своими компьютерами. [ нужна цитата ] Системы управления пакетами могут предлагать различные степени автоматизации исправлений.

Использование полностью автоматических обновлений стало гораздо более распространенным на потребительском рынке, во многом из-за того , что Microsoft Windows добавила их поддержку [ когда? ] , а пакет обновления 2 для Windows XP (доступный в 2004 году) включил их по умолчанию. Осторожные пользователи, особенно системные администраторы, склонны откладывать установку исправлений до тех пор, пока не проверят их стабильность. Microsoft (W)SUS поддерживает это. В случае крупных исправлений или значительных изменений дистрибьюторы часто ограничивают доступность исправлений квалифицированным разработчикам в качестве бета-тестирования .

Применение исправлений к прошивке сопряжено с особыми трудностями, поскольку зачастую требует предоставления совершенно новых образов прошивки, а не применения только отличий от предыдущей версии. Патч обычно состоит из образа прошивки в виде двоичных данных вместе со специальной программой, предоставляемой поставщиком, которая заменяет предыдущую версию новой версией; Обновление BIOS материнской платы является примером распространенного исправления прошивки. Любая непредвиденная ошибка или сбой во время обновления, например отключение питания, может привести к невозможности использования материнской платы. Производители материнских плат могут предусмотреть меры предосторожности для предотвращения серьезных повреждений; например, процедура обновления может создать и сохранить резервную копию прошивки на случай, если она определит, что основная копия повреждена (обычно с помощью контрольной суммы , такой как CRC ).

Видеоигры

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

Иногда компании выпускают игры, зная, что в них есть ошибки. Журнал Scorpia журнала Computer Gaming World в 1994 году осудил «компании — их слишком много, чтобы их перечислять, — которые выпускают некачественные продукты, зная, что им можно обойтись патчами и обновлениями, и которые делают « платных тестеров» для своих клиентов». [6]

В разработке программного обеспечения

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

В проектах с открытым исходным кодом авторы обычно получают исправления, или многие люди публикуют исправления, которые исправляют определенные проблемы или добавляют определенные функции, например поддержку местных языков за пределами локали проекта. В примере из ранней разработки ядра Linux (известного публикацией полного исходного кода) Линус Торвальдс , первоначальный автор, получил сотни тысяч патчей от многих программистов для применения к его исходной версии.

HTTP-сервер Apache изначально развивался как ряд патчей, которые Брайан Белендорф сопоставил для улучшения NCSA HTTPd , отсюда и название, подразумевающее, что это набор патчей ( «патч-сервер» ). В FAQ на официальном сайте проекта указано, что название «Апачи» было выбрано из уважения к индейскому племени апачей . Однако объяснение «неоднородного сервера» изначально было дано на веб-сайте проекта. [7]

Варианты

Исправление

Исправление или обновление Quick Fix Engineering (обновление QFE) — это единый накопительный пакет, включающий информацию (часто в виде одного или нескольких файлов), используемую для устранения проблемы в программном продукте (т. е. ошибки программного обеспечения). Обычно исправления создаются для решения конкретной ситуации клиента. Microsoft когда-то использовала этот термин, но остановилась в пользу новой терминологии: выпуск для общего распространения (GDR) и выпуск для ограниченного распространения (LDR). Blizzard Entertainment , однако, определяет исправление как «изменение, внесенное в игру, которое считается настолько критическим, что его нельзя отложить до регулярного обновления контента».

Точка выпуска

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

Временное исправление программы

Временное исправление программы или временное исправление продукта (PTF), в зависимости от даты, — это стандартная терминология IBM для обозначения одного исправления ошибки или группы исправлений, распространяемых в форме, готовой к установке для клиентов. ПТФ иногда называли «ЗАП». [8] Иногда клиенты иронически объясняют эту аббревиатуру как постоянное временное исправление или, что более вероятно , это исправление , потому что у них есть возможность сделать PTF постоянной частью операционной системы, если исправление устранит проблему.

Исправления безопасности

Исправление безопасности — это изменение, вносимое в актив для устранения слабости, описанной уязвимостью. Это корректирующее действие предотвратит успешную эксплуатацию и устранит или уменьшит способность угрозы использовать конкретную уязвимость в активе. Управление исправлениями является частью управления уязвимостями  — циклической практики выявления, классификации, устранения и смягчения уязвимостей.

Исправления безопасности — это основной метод устранения уязвимостей безопасности в программном обеспечении. В настоящее время Microsoft выпускает свои исправления безопасности раз в месяц, а в других операционных системах и проектах программного обеспечения есть команды по безопасности, которые выпускают наиболее надежные исправления программного обеспечения как можно скорее после объявления об уязвимости. Обновления безопасности тесно связаны с ответственным раскрытием информации .

Эти исправления безопасности имеют решающее значение для обеспечения того, чтобы бизнес-процессы не были затронуты. В 2017 году компании столкнулись с программой-вымогателем WannaCry , которая шифрует файлы в определенных версиях Microsoft Windows и требует выкуп через BitCoin. В ответ на это Microsoft выпустила патч, останавливающий запуск программы-вымогателя.

Service Pack

Пакет обновления, SP или пакет функций (FP) включает в себя набор обновлений, исправлений или улучшений программного обеспечения, поставляемых в виде одного устанавливаемого пакета. Компании часто выпускают пакет обновлений, когда количество отдельных исправлений для данной программы достигает определенного (произвольного) предела или когда выпуск программного обеспечения оказывается стабилизированным с ограниченным количеством оставшихся проблем на основе отзывов пользователей и отслеживания ошибок, таких как Багзилла . В крупных программных приложениях, таких как офисные пакеты, операционные системы, программное обеспечение баз данных или управление сетью, нередко пакет обновления выпускается в течение первого или двух лет после выпуска продукта. Установка пакета обновления проще и менее подвержена ошибкам, чем установка множества отдельных исправлений, особенно при обновлении нескольких компьютеров по сети, где пакеты обновлений являются обычным явлением.

Неофициальные патчи

Неофициальный патч — это патч для программы, написанной третьей стороной вместо оригинального разработчика . Подобно обычному патчу, он устраняет ошибки или недостатки. Примером могут служить исправления безопасности, вносимые специалистами по безопасности, когда официальное исправление, выпущенное самими производителями программного обеспечения, занимает слишком много времени. [9] [10] Другими примерами являются неофициальные патчи, созданные игровым сообществом для видеоигры , которая перестала поддерживаться. [11] [12]

Патчи с обезьянками

Исправление обезьян означает локальное расширение или изменение программы (затрагивающее только работающий экземпляр программы).

Горячее исправление

Горячее исправление , также известное как оперативное обновление или динамическое обновление программного обеспечения , представляет собой применение исправлений без выключения и перезапуска системы или соответствующей программы. Это решает проблемы, связанные с недоступностью услуги, предоставляемой системой или программой. [13] Этот метод можно использовать для обновления ядра Linux без остановки системы. [14] [15] Патч, который можно применять таким образом, называется « горячим патчем » или « живым патчем» . Это становится обычной практикой в ​​сфере мобильных приложений. [16] Такие компании, как Rollout.io, используют метод swizzling для доставки горячих исправлений в экосистему iOS. [17] Еще один метод горячего обновления приложений для iOS — JSPatch. [18]

Поставщики облачных услуг часто используют «горячие» исправления, чтобы избежать простоев у клиентов при обновлении базовой инфраструктуры. [19]

Слипстриминг

В вычислительной технике слипстриминг — это процесс интеграции исправлений (включая пакеты обновлений ) в установочные файлы исходного приложения, чтобы в результате можно было напрямую установить обновленное приложение. [20] [21]

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

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

Системы обновления программного обеспечения

Запрос на обновление программного обеспечения Sparkle в macOS

Системы обновления программного обеспечения позволяют пользователям и разработчикам программного обеспечения управлять обновлениями. Сообщается, что во время киберпандемии Petya в 2017 году система обновлений финансового программного обеспечения MeDoc была скомпрометирована с целью распространения вредоносного ПО через свои обновления. [22] [23] В блоге Tor эксперт по кибербезопасности Майк Перри утверждает, что детерминированные распределенные сборки, вероятно, являются единственным способом защиты от вредоносных программ, которые атакуют процессы разработки и сборки программного обеспечения и заражают миллионы машин в одном, официально подписанном, мгновенное обновление. [24] Менеджеры обновлений также позволяют быстро и широко применять обновления безопасности. Менеджеры обновлений Linux, такие как Synaptic, позволяют пользователям обновлять все программное обеспечение, установленное на их компьютере. Такие приложения, как Synaptic, используют криптографические контрольные суммы для проверки исходных/локальных файлов перед их применением, чтобы гарантировать устойчивость к вредоносному ПО. [25] [26]

Смотрите также

Рекомендации

  1. ^ ab «Microsoft выпускает самый большой за всю историю патч для программного обеспечения» . Рейтер. 14 октября 2009 г. Архивировано из оригинала 16 октября 2009 года . Проверено 14 октября 2009 г.
  2. ^ «Что такое исправление ошибок? - Определение из Techopedia» . techopedia.com . Архивировано из оригинала 3 июля 2018 г. Проверено 29 июля 2015 г.
  3. ^ «Центр пакетов обновлений и обновлений» . windows.microsoft.com . Архивировано из оригинала 1 июня 2015 г. Проверено 1 июня 2015 г.
  4. ^ «Словарь терминов». www.tavi.co.uk. _ Архивировано из оригинала 1 декабря 2016 г. Проверено 23 ноября 2016 г.
  5. ^ Лю, Ашок (июнь 2012 г.). Учебное пособие по ремонту ноутбуков Computercare: 300 случаев устранения неполадок и ремонта классических ноутбуков. АвторДом (опубликовано в 2012 г.). п. 591. ИСБН 9781477205402. Проверено 8 января 2015 г. Удалите патчи драйвера High Definition Audio KB835221 и KB888111 [...]
  6. ^ Скорпия (апрель 1994 г.). «Так ты хочешь стать героем?». Взгляд Скорпиона. Мир компьютерных игр . стр. 54–58.
  7. ^ «Проект HTTP-сервера Apache» . 15 июня 1997 года. Архивировано из оригинала 15 июня 1997 года.{{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  8. ^ «SPZAP (он же Superzap): динамически обновлять программы или данные» . Центр знаний IBM . Архивировано из оригинала 24 мая 2020 г. Проверено 23 февраля 2020 г.
  9. ^ Барвайз, Майк (16 октября 2007 г.). «Неофициальный патч для проблемы URI Windows». Служба безопасности H. Архивировано из оригинала 29 апреля 2021 г. Проверено 29 января 2012 г.
  10. ^ «Еще один неофициальный патч для IE, предложенный для устранения критической ошибки» . Компьютерный еженедельник . 30 марта 2006 г. Архивировано из оригинала 2 мая 2021 г. Проверено 9 июля 2013 г. Еще один неофициальный патч был выпущен для устранения критической ошибки в браузере Microsoft Internet Explorer.
  11. ^ Вэнь, Ховард (10 июня 2004 г.). «Сохраняя мифы». linuxdevcenter.com. Архивировано из оригинала 6 апреля 2013 г. Проверено 22 декабря 2012 г. [...] поклонники трилогии Myth пошли дальше в этой идее: у них есть официальный доступ к исходному коду игр Myth. Эта добровольная группа программистов, художников и других талантливых людей, организованная под названием MythDevelopers, посвящает свое время улучшению и поддержке дальнейшего развития серии игр Myth.
  12. ^ Белл, Джон (1 октября 2009 г.). «Открытие источника искусства». Обзор управления технологическими инновациями. Архивировано из оригинала 30 марта 2014 г. Проверено 30 декабря 2012 г. [...] что никаких дальнейших исправлений к названию не будет. Сообщество было предсказуемо расстроено. Вместо того, чтобы отказаться от игры, пользователи решили, что если Activision не собирается исправлять ошибки, то они это сделают. Они хотели спасти игру, заставив Activision открыть исходный код, чтобы ее можно было сохранить после того момента, когда Activision потеряла интерес. С некоторой помощью членов команды разработчиков, которые активно участвовали в фан-форумах, им в конечном итоге удалось убедить Activision выпустить исходный код Call to Power II в октябре 2003 года.
  13. ^ "Журнал Oracle". Oracle.com. Архивировано из оригинала 14 мая 2008 г. Проверено 4 января 2013 г.
  14. ^ «Живое исправление ядра Linux» . Архивировано из оригинала 28 октября 2020 г. Проверено 25 октября 2020 г.
  15. ^ «Живое исправление ядра Linux: что это такое и кому это нужно» . 6 марта 2020 года. Архивировано из оригинала 28 октября 2020 года . Проверено 25 октября 2020 г.
  16. ^ «Горячо или нет? Преимущества и риски удаленного горячего исправления iOS «Блог исследования угроз» . Огненный Глаз . Архивировано из оригинала 26 октября 2016 г. Проверено 26 октября 2016 г.
  17. Перес, Сара (22 сентября 2015 г.). «Rollout.io возвращает разработчикам мобильных приложений контроль над своими приложениями». ТехКранч . Архивировано из оригинала 27 ноября 2016 г. Проверено 26 октября 2016 г.
  18. ^ "bang590/JSPatch". Гитхаб . Архивировано из оригинала 4 января 2017 г. Проверено 26 октября 2016 г.
  19. ^ «Горячее обновление ядра SQL Server в базе данных SQL Azure». TECHCOMMUNITY.MICROSOFT.COM . 11 сентября 2019 г. Архивировано из оригинала 13 сентября 2019 г. Проверено 15 сентября 2019 г.
  20. Карп, Дэвид (14 июля 2008 г.). «Создание диска восстановления XP SP3». Журнал ПК . Зифф Дэвис . Архивировано из оригинала 9 января 2018 года . Проверено 7 сентября 2017 г.
  21. Терротт, Пол (7 мая 2008 г.). «Совмещение Windows XP с пакетом обновления 3 (SP3)». Суперсайт для Windows . Пентон . Архивировано из оригинала 11 декабря 2016 года . Проверено 3 декабря 2016 г.
  22. ^ Томсон, Иэн. «Вирус (кхе-кхе, Петя) отправляется по почте в FedEx, акции остановлены». Регистр . Архивировано из оригинала 1 июля 2017 года . Проверено 29 июня 2017 г.
  23. ^ «Новые векторы распространения Petya всплывают на поверхность» . Угроза. 28 июня 2017 года. Архивировано из оригинала 28 июня 2017 года . Проверено 29 июня 2017 г.
  24. ^ «Детерминистические построения, часть первая: Кибервойна и глобальный компромисс | Блог Tor» . blog.torproject.org . Архивировано из оригинала 23 июня 2017 года . Проверено 11 июля 2017 г.
  25. ^ Проффитт, Брайан (2008). Представляем Ubuntu: настольный Linux. Cengage Обучение. ISBN 978-1598637656. Проверено 11 июля 2017 г.
  26. ^ Журналы, SPH (2007). ХВМ. Журналы SPH . Проверено 11 июля 2017 г.

Внешние ссылки