Вопросы безопасности LaTeX - PullRequest
       4

Вопросы безопасности LaTeX

0 голосов
/ 29 октября 2010

У меня есть план по разработке общедоступного интерфейса, который позволит пользователям отправлять git-репозитории на сервер и заставлять сервер компилировать источники латекса в репозитории и возвращать сгенерированные файлы. Мне интересно, о каких проблемах безопасности мне нужно знать?

План на данный момент:

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

Ответы [ 3 ]

2 голосов
/ 29 октября 2010

Вы планируете брать пользовательские данные и запускать их через LaTeX для генерации документов.Это потенциально еще один аспект проблемы безопасности использования неэкранированных пользовательских данных в качестве исполняемого кода.Это проблема со всем, что построено на основе архитектуры Тьюринга - данные и инструкции взаимозаменяемы.Без этого наши машины были бы менее мощными.

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

Какими будут цели атакующего?Почему я хотел бы специально ориентироваться на вашу систему, по сравнению с гораздо более легкими, менее висящими фруктами?Планируете ли вы делать что-то еще на своем сайте, например, обработку платежей по кредитным картам, размещение секретных документов или оскорбление какого-либо религиозного / этнического / культурного меньшинства?На вашем месте я бы принял упомянутые вами меры предосторожности (низкоуровневая учетная запись пользователя) и, возможно, потратил бы 15 минут на размышления о целесообразности экранирования пользовательских данных в контексте LaTeX, а затем продолжил с этим.Никто не собирается тратить на вас время и ресурсы, если это не чисто академическое упражнение.Есть много вещей, которые были бы намного проще с более высокой отдачей.

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

Батлер Лэмпсон сказал: Планирую выбросить одну;ты все равно будешь.Если в функции системы есть что-то новое, первая реализация должна быть полностью переделана для достижения удовлетворительного (то есть, приемлемо небольшого, быстрого и поддерживаемого) результата.

Единственное единственноеВ дополнение к этому я бы сказал, маленький, быстрый, ремонтопригодный и безопасный .

Брайан Дж. Стинар

1 голос
/ 29 октября 2010

Вы должны принять во внимание \ write18, поскольку он может выполнять системные скрипты!

0 голосов
/ 29 октября 2010

Я думаю, что безопасность должна быть принята во внимание при компиляции латексных файлов, поскольку этот пост, кажется, указывает: http://johannes.sipsolutions.net/Projects/new-moinmoin-latex/security-considerations

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...