Я пишу программу просмотра PDF, которая использует различные библиотеки, написанные на C. Этот C-код потенциально прост в использовании.И слишком много строк для проверки.Я должен предположить, что этот код может содержать уязвимые ошибки.
Дело в том, что код C довольно прост.Поток байтов входит на одном конце, а битовый массив (также поток байтов) выходит на другом конце.
Вдохновленный Google Chrome, я думаю создать отдельный процесс, который выполняет декодирование и рендеринг страниц.В идеале это должно быть выполнено в процессе, который не имеет абсолютно никаких прав на что-либо, кроме чтения одного входного потока, который у него есть, и вывода в поток байтов (некоторая непонятная битовая карта) на другом конце.
Я думаю, что процесс не должен быть в состоянии:
- любой доступ к диску
- открытые сокеты
- ограниченный объем использования памяти
- доступ к разделяемой памяти с другими процессами
- загрузка других DLL
- ... что-нибудь еще?
Возможно ли это?Это где-то описано?