ls
проверяет, поступает ли вывод на терминал. Если вывод не идет на терминал, то по умолчанию используется -1
. (Это можно переопределить одной из опций -C
, -m
или -x
.)
Таким образом, когда ls
используется в конвейере и вы не переопределили его другим параметром, ls
будет использовать -1
. На это можно положиться, поскольку такое поведение требуется POSIX
POSIX требует -1
по умолчанию, когда вывод не идет на терминал:
The default format shall be to list one entry per line to standard output; the exceptions are to terminals or when one of the -C, -m, or -x options is specified. If the output is to a terminal, the format is implementation-defined.
Те три параметра, которые переопределяют формат одиночного столбца -по умолчанию::
-C
Write multi-text-column output with entries sorted down the columns, according to the collating sequence. The number of text columns and the column separator characters are unspecified, but should be adapted to the nature of the output device. This option disables long format output.-m
Stream output format; list pathnames across the page, separated by acharacter followed by a character. Use a character as the list terminator and after the separator sequence when there is not room on a line for the next list entry. This option disables long format output. -x
The same as -C, except that the multi-text-column output is produced with entries sorted across, rather than down, the columns. This option disables long format output.
‘-1’
‘--format=single-column’
List one file per line. This is the default for ls when standard output is not a terminal. See also the -b and -q options to suppress direct output of newline characters within a file name. [Emphasis added]
Создадим три файла:
$ touch file{1..3}
Когда вывод поступает на терминал, GNU ls
выбирает формат с несколькими столбцами -:
$ ls
file1 file2 file3
Когда выходные данные направляются в конвейер, спецификация POSIX требует, чтобы один столбец -был значением по умолчанию:
$ ls | cat
file1
file2
file3
Три исключения, которые переопределяют поведение одного столбца -по умолчанию: -m
для разделенных запятыми -, -C
для столбцов, отсортированных вниз, и -x
для столбцов, отсортированных по:
$ ls -m | cat
file1, file2, file3
$ ls -C | cat
file1 file2 file3
$ ls -x | cat
file1 file2 file3
Атакам злой горничной особенно трудно противостоять. Вот почему физическая безопасность всегда важна так же, как и безопасность программного обеспечения.
В самых крайних случаях кто-то может заменить всю вашу машину дубликатом и зарегистрировать/передать достаточное количество нажатий клавиш, чтобы получить доступ к вашей реальной машине, прежде чем вы это поймете. Эти сценарии в конечном итоге довольно причудливы (https://www.xkcd.com/538/). Стоит понимать, что для домашнего или коммерческого пользователя доступны сбалансированные советы. Если вы являетесь правительственным чиновником с совершенно секретными документами, то, возможно, «взвешенный» совет не для вас.
Следуя определению из Википедии:https://en.wikipedia.org/wiki/Evil_maid_attack
An evil maid attack is an attack on an unattended device, in which an attacker with physical access alters it in some undetectable way so that they can later access the device, or the data on it.
The name refers to the scenario where a maid could subvert a device left unattended in a hotel room – but the concept itself also applies to situations such as a device being intercepted while in transit, or taken away temporarily by airport or law enforcement personnel.
Ваша первая линия защиты должна заключаться в правильной настройке и TPM . Правильное использование TPM вашей системы должно отбивать случайных злоумышленников, потому что, как правило, они не смогут просто заменить вашу операционную систему на «злую». Ваши ключи шифрования HD должны храниться в TPM, и TPM никогда не должен раскрывать их не -доверенной (не -подписанной )операционной системе.
Я не буду подробно объяснять, как это сделать, потому что есть варианты, и это может потребовать некоторых исследований для вашей системы. Однако обращу внимание на пару ссылок:
Самая трудная проблема заключается в том, что кто-то может установить какое-то оборудование между оперативной памятью и материнской платой и считать ключи шифрования прямо из памяти. Маловероятно, что у среднестатистического злоумышленника будет такая технология, но если вы перевозите государственные секреты через границы, то все ставки сняты.
Предполагая, что аппаратное обеспечение не было взломано,есть еще один вектор атаки, основанный исключительно на модификации ПО:Вы
Представьте два сценария:
Заметьте, что слабое звено с TPM и атакой злой горничной вы . Важно понимать, что если что-то пойдет не так, вы не должны загружать свой ноутбук, а вместо этого восстанавливаете его через отдельную машину и тщательно исследуете, что пошло не так.
Если вы действительно хотите защититься от этого (, мы вернемся кhttps://www.xkcd.com/538/здесь ), вы можете рассмотреть систему, в которой:
Только в этом случае вы можете быть (сбалансированным, а не шапочкой из фольги)уверенным, что ваш компьютер не был скомпрометирован до того, как вы введете [второй] пароль.
Вторым паролем здесь может быть двухфакторная аутентификация .