URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113062
[ Назад ]
Исходное сообщение
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено opennews , 18-Дек-17 12:59
Опубликован (https://www.twistlock.com/2017/12/13/hiding-content-git-esca.../) метод скрытия частей кода при выводе изменений при помощи команды "git diff", которая часто используется для изучения присылаемых патчей. Добавив в код escape-последовательность "[8m (http://ascii-table.com/ansi-escape-sequences-vt-100.php)" атакующий может сделать невидимой часть при выводе на экран с использованием терминала, поддерживающего команды VT100.
Проблемы также выявлены в команде "git rm", которая выводит имя удаляемого файла с обработкой escape-последовательностей в нём. Например, можно создать файл при помощи команды touch `echo -e "\e[45mTest\e[0m"` и добавить его в git-репозиторий. Escape-последовательность будет обработана при удаления данного файла через "git rm". Аналогично можно добиться обработки escape-последовательностей в git-branch при их подстановке в имена файлов в каталоге .git/refs/heads (touch `echo -e ".git/refs/heads/\e[45mTest\e[0m"`).
URL: https://www.twistlock.com/2017/12/13/hiding-content-git-esca.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=47759
Содержание
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 12:59 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,KonstantinB, 15:27 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,pavlinux, 21:18 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 22:00 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,pavlinux, 01:46 , 20-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Иван, 06:36 , 20-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,pavlinux, 23:02 , 26-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 15:28 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Вареник, 21:16 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Xasd, 14:13 , 21-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Ю.Т., 13:02 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,щи, 13:06 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Iaaa, 13:46 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 13:50 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,fr0ster, 14:14 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 14:21 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,fr0ster, 14:31 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,нэту, 14:54 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,fr0ster, 15:09 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,fr0ster, 15:10 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 15:34 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Гоги, 16:01 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 19:28 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 00:45 , 19-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 16:49 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 20:50 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Ordu, 00:05 , 19-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 15:45 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 15:49 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 16:08 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 18:43 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Борщдрайвен бигдата, 21:39 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,L29Ah, 19:52 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,pripolz, 01:52 , 23-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,Аноним, 23:04 , 18-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,nobody, 11:44 , 19-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,pavlinux, 01:50 , 20-Дек-17
- Метод подстановки троянского кода, невидимого при просмотре ...,pavlinux, 01:48 , 20-Дек-17
Сообщения в этом обсуждении
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 12:59
Ждем гитлаб/гитхаб-хейтеров, доказывающих, что "тирминал ита крута, веб ненужен вспомнити лефтпад"
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено KonstantinB , 18-Дек-17 15:27
А когда в каком-нибудь гитлабе найдут похожий метод, эксплуатируемый через HTML или какой-нибудь RTL unicode, кто кому чего будет доказывать? :-)Escape-последовательности надо экранировать точно так же, как это надо делать в вебе с HTML.
Но, конечно, нынешние разработчики гита удивляют.
Цитата:
https://www.twistlock.com/2017/12/13/hiding-content-git-esca.../
Git’s developers take
I sent an advisory to git’s security mailing list, listing all the issues I presented above. The initial responses I received were skeptical. One of the assertion suggested that the same problem can be reproduced with cat, so it is not git’s problem.
Ага, а то, что браузер интерпретирует HTML, это не проблема гитлаба? :-)
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено pavlinux , 18-Дек-17 21:18
Найди 10 отличий https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 22:00
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено pavlinux , 20-Дек-17 01:46
Через git diff повтори
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Иван , 20-Дек-17 06:36
пробел же!
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено pavlinux , 26-Дек-17 23:02
> пробел же!8 спереди или 4 сзади? :)
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 15:28
> Ждем гитлаб/гитхаб-хейтеров, доказывающих, что "тирминал ита крута, веб ненужен вспомнити лефтпад"Смотрю книгу, вижу фигу.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Вареник , 18-Дек-17 21:16
Веб, IDE и консоль - дополняют друг друга.Обсуждать код лучше с веб-ссылкой, кодить в IDE, перекидывать коммиты между ветками - в консоли.
Только глупые люди противопоставляют мягкое светлому.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Xasd , 21-Дек-17 14:13
> кодить в IDEособенно в ситуации когда эта IDE не понимает часть синтаксических конструкций (например новые) в этом коде, да? и приходится вместо того чтобы писать так как тебе хочится -- писать то что лишь умеет эта IDE
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Ю.Т. , 18-Дек-17 13:02
Кстати, о названиях и шуточках (https://www.thefreedictionary.com/git)
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено щи , 18-Дек-17 13:06
Так Линус говорил, что не умеет выбирать названия.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Iaaa , 18-Дек-17 13:46
Тут лучше: https://www.urbandictionary.com/define.php?term=Git
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 13:50
У меня в терминале сделал текст чёрным, но у меня фон прозрачный и всё было видно. Палево.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено fr0ster , 18-Дек-17 14:14
То есть diff укажет
- * Must always return a value
+ * Must always return a value
и никому это не покажется странным?
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 14:21
Почему? Строка "* Must always return a value" добавлена целиком.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено fr0ster , 18-Дек-17 14:31
> Почему? Строка "* Must always return a value" добавлена целиком.Ну например потому, что абсолютно одинаковая строка не вывелась бы так.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено нэту , 18-Дек-17 14:54
а если поменять немного каммент, то сильно легче станет?
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено fr0ster , 18-Дек-17 15:09
> а если поменять немного каммент, то сильно легче станет?Так да, просмотреть станет легче.
С другой стороны простынь прямо в консоли смотреть неудобно, а вывод через less покажет строки полностью.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено fr0ster , 18-Дек-17 15:10
>> а если поменять немного каммент, то сильно легче станет?
> Так да, просмотреть станет легче.В смысле пропустить такие строки станет легче.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 15:34
Одинаковая по отношению к чему? В примере новая строка добавляется, а не старая меняется.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Гоги , 18-Дек-17 16:01
> То есть diff укажет
> - * Must always return a value
> + * Must always return a value
> и никому это не покажется странным?Ты такой внимательный, что читаешь каждый символ? Попробуй попринимать десяток патчей в час - глаза вывалятся!
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 19:28
Ну можно же сканер настроить на отлов подобных несуразностей.
В конце концов в *никсах всегда гордились, что возможностей автоматизации вагон и маленькая тележка, а тут значит "бери больше кидай дальше"?
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 19-Дек-17 00:45
Ну теперь вот мы все в курсе и все настроим! Я у себя уже сделал. А ты?
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 16:49
от изменения конца строки будет похожая запись, могут пропустить не глядя
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 20:50
Во вменяемых проектах за изменение конца строки делают аяй.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Ordu , 19-Дек-17 00:05
Ты консольным браузером, что ли пользуешься, и не видишь картинок?Там нарисован diff, который добавляет комментарий. Вот не было комментария в сорце, а diff его добавил вместе со строчкой return 0. Случай несколько надуманный, но вообще патчи добавляющие в код комментарии попадаются довольно часто. Иногда они делают это ради добавления комментариев к существующему коду, иногда эти комментарии сопровождают добавляемый этим же патчем код.
> и никому это не покажется странным?
Любой необоснованный коммит, который делает непонятно что, покажется странным. Поэтому, естественно, что при реальном использовании коммит должен иметь видимое назначение, понятное тому, кто принимает патч, и более того, тот кто принимает патч должен согласиться с необходимостью такого патча.
Практическое использование сложно по другой причине. В ядро, например, патчи засылаются через почту, а почтовик может не обратывать esc-последовательности как esc-последовательности. На github пуллреквесты отрисовываются через html, и там лишние esc-последовательности тоже будут видны. Тут нужен довольно специфичный воркфлоу, когда работа с git идёт именно в терминале, патчи пересылаются через git pull/push (или ещё каким способом, при котором пересылаемые патчи не видны в процессе пересылки между репозиториями), и при этом не используются дополнительные обёртки, типа gitk, github, magit, и прочих.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 15:45
Так и запишем: не принимать патчи из непроверенных источников
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 15:49
Остроумно, но едва ли "defang" этих escape-последовательностей при выводе на терминал может составить проблему.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 16:08
Для некоторых станут открытием закладки в компиляторе. Компелируйте компилятор, параноики.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 18:43
Чтобы они стали для нас открытием, надо, чтобы ты показал нам реальные их примеры. А про теоретическую возможность уже не первый десяток трындят.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Борщдрайвен бигдата , 18-Дек-17 21:39
Уж не помню где, но я читал морозную историю (перевод) именно о закладке в компиляторе, найденной случайно в ходе доработки какой-то программы сотрудником в каком-то университете.
Увлекательная вещь, но я ее никак не могу найти.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено L29Ah , 18-Дек-17 19:52
В Gentoo не воспроизводится.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено pripolz , 23-Дек-17 01:52
> В Gentoo не воспроизводится.В дебиан стейбл тоже. Может это от програмки-терминала зависит?
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено Аноним , 18-Дек-17 23:04
>с использованием терминала, поддерживающего команды VT100. кто им пользуется? Я использую только графические фронтенлы для диффов вроде meld, tortoisegit и visual studio.
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено nobody , 19-Дек-17 11:44
Командное окружение гита этим и замечательно, что позволяет комфортно обходиться без GUI искаропки, в отличие от, например svn. Поставил в своё время TortoiseGit и так им и не пользовался. А вот без TortoiseSVN жить весьма уныло
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено pavlinux , 20-Дек-17 01:50
> в отличие от, например svn.За зарплату оно всё прекрасно работает, и свн, гит, меркурий, бла-бла-блах...
"Метод подстановки троянского кода, невидимого при просмотре ..."
Отправлено pavlinux , 20-Дек-17 01:48
>>с использованием терминала, поддерживающего команды VT100.
> кто им пользуется? Явно не мышкаклацкеры :)