Американское правительство таким образом снимает с себя обязательства помогать американским организациям в соблюдении их интересов, если они работают с контрагентами на спорных территориях. В противном случае американскому правительству пришлось бы взаимодействовать с фактическим правительством спорной территории, таким образом признавая его законным владельцем.
Вероятно, разница в том, что в описанных вами случаях скрапинга данные копировались из публичного источника в базы данных обвиняемых. В этот момент и нарушается право на копирование (copyright).
При просмотре данных из источника через необычный клиент не предполагает копирования, кроме как в технических, транзитных целях, что разрешено законодательством большинства стран. Иначе нельзя было бы использовать кеши и оперативную память.
Проблема не в том, что Сбер обрабатывает данные, а в том, что он доверяет целостности скриптов, запускаемых в контексте его страницы на компьютере пользователя, загружаемых с серверов сторонних организаций. Если возникнет гипотетическая ситуация, что злоумышленник сможет подменить скрипт google analytics/rutarget/… (например, если он администрирует те сервера, где он лежит), то станет возможным, например, редактирование полей формы платежа перед тем, как она будет отправлена из браузера на сервера Сбера.
а вы при этом знаете, в чем будет отличие от bash ./commands.txt?
В том, что команды будут выполнены в том же окружении, будто их ввели прямо в этот шелл с клавиатуры; bash ./commands.txt, напротив, запустит новый процесс:
$ foo() { echo This is function foo.; }
$ cat commands.txt
foo
$ source ./commands.txt
This is function foo.
$ bash ./commands.txt
./commands.txt: line 1: foo: command not found
Там работает гипервизор (lv1), который реализует интерфейс вызовов (hypercall) для GameOS (ядро, lv2), в которой работают XMB и игры, как пользовательские приложения. Сетевой стек, реализованный в lv2, определяется nmap с помощью OS detection using TCP/IP fingerprinting, как NetBSD 4.X. Интерфейс системных вызовов lv2 совсем не похож на BSD. В качестве формата исполняемых файлов используется модификация ELF, использующая криптографическую подпись (ECDSA) и хеши (SHA1, HMAC-SHA1) для контроля целостности и симметричное шифрование (AES-256-CBC, AES-128-CTR). Жёсткий диск зашифрован (но никому ещё не удалось заставить работать geli), а таблица разделов (storage region table) не похожа ни на одну из тех, что поддерживала FreeBSD.
А ssh-agent решает другую задачу — он хранит в памяти расшифрованные приватные ключи, предоставляя клиенту интерфейс (через сокет) для загрузки новых ключей, получения их списка и подписи данных. Атаку из рассказа действительно можно выполнить через ssh-agent, если пользователь настроил свой ssh-клиент так, чтобы он пробрасывал этот сокет на удалённый сервер — так делают, чтобы не копировать свой приватный ключ, когда требуется заходить на более удалённый сервер через другой, по цепочке. Пока жива ssh-сессия, злоумышленник может воспользоваться этим интерфейсом и установить ещё одно соединение. От этого можно защититься, требуя интерактивного подтверждения каждый раз, когда используется интерфейс агента.
Предположим, что сервер уже знает логин клиента, и они договорились об аутентификации через метод «publickey», а сервер передал клиенту некое случайное число. Тогда сервер находит все публичные ключи, владельцу которых авторизован доступ и предлагает их клиенту. Клиент выбирает любой из них и подписывает соответствующим ему приватным ключём случайное число, сгенерированное сервером. Таким образом, клиент доказывает, что он владеет приватным ключём, не раскрывая его.
При просмотре данных из источника через необычный клиент не предполагает копирования, кроме как в технических, транзитных целях, что разрешено законодательством большинства стран. Иначе нельзя было бы использовать кеши и оперативную память.
В том, что команды будут выполнены в том же окружении, будто их ввели прямо в этот шелл с клавиатуры; bash ./commands.txt, напротив, запустит новый процесс:
$ foo() { echo This is function foo.; }
$ cat commands.txt
foo
$ source ./commands.txt
This is function foo.
$ bash ./commands.txt
./commands.txt: line 1: foo: command not found