Содержание к диссертации
Введение
1 Постановка задачи и методы ее решения 6
1.1 Постановка задачи 7
1.1.1 Основные понятия 7
1.1.2 Постановка задачи 8
1.1.3 Особенности сетей, подключенных к Internet, с точки зрения компьютерной безопасности 9
1.1.4 Причины существования угроз безопасности 10
1.2 Методы решения поставленной задачи . 15
1.2.1 Обзор общих методов решения задач обеспечения компьютерной безопасности 15
1.2.2 Проблемы существующих математических моделей в области обеспечения компьютерной безопасности . 17
1.2.3 Основы мер обеспечения безопасности и построения комплексной системы безопасности компьютеров и сетей, подключенных к Internet 18
2 Средства защиты информации, предоставляемые ядрами UNIX-подобных операционных систем 20
2.1 Определение используемых понятий 22
2.2 Использование возможностей виртуальной файловой системы для защиты данных 23
2.3 Защита процессов 37
2.3.1 Защита виртуальной памяти процессов 37
2.3.2 Безопасность системы доставки сигналов процессам 40
2.4 Использование комбинации различных средств ядра Linux в комплексной системе безопасности сети 42
3 Прикладное программное обеспечение для UNIX-подобных операционных систем и проблемы защиты информации 45
3.1 Общие принципы сравнения и оценки прикладных программ с точки зрения безопасности 46
3.2 Организация безопасной доставки электронной почты 48
3.3 Система аутентификации пользователей и авторизации доступа к сервисам 53
3.4 Анализ общераспространенного прикладного программного обеспечения и разработка комплексной системы обеспечения безопасности компьютерных систем 59
4 Анализ Internet протоколов с точки зрения компьютерной безопасности и защиты коммуникаций 63
4.1 Модель сети 64
4.2 Вопросы безопасности, связанные с Internet Protocol (IP) 66
4.3 Вопросы безопасности, связанные с User Datagram Protocol (UDP) 74
4.4 Вопросы безопасности, связанные с Transmission Control Protocol (TCP) 77
4.5 Перспективы защищенной передача данных с помощью IP протоколов 84
5 Прикладные протоколы удаленного доступа в UNIX-подобных операционных системах и защита информации 86
5.1 Вопросы безопасности использования протокола TFTP 87
5.2 Безопасность использования протокола NFS 92
5.3 Безопасность использования протокола TELNET 93
5.4 Безопасность использования протокола RLOGIN 94
6 Административные меры в области компьютерной безопасности 96
Заключение
- Особенности сетей, подключенных к Internet, с точки зрения компьютерной безопасности
- Использование возможностей виртуальной файловой системы для защиты данных
- Организация безопасной доставки электронной почты
- Вопросы безопасности, связанные с User Datagram Protocol (UDP)
Введение к работе
Несанкционированный доступ к информации в компьютерных сетях превратился сегодня в одну из серьезнейших проблем, стоящих на пути развития телекоммуникационной среды и информационной инфраструктуры общества. Страны, где вычислительные системы и компьютерные сети проникли во все сферы человеческой деятельности, особенно страдают от последствий компьютерных злоупотреблений. В США ежегодный ущерб от действий злоумышленников составляет несколько миллиардов долларов. В 1997 году проблемами защиты инфраструктуры от атак через компьютерные сети в США занималась специальная комиссия при президенте. В России, с развитием информационных технологий и общественных сетей передачи данных, тоже начинает ощущаться важность создания и развития надежных средств обеспечения информационной безопасности.
Вопросы обеспечения информационной безопасности в закрытых компьютерных системах успешно разрабатываются на протяжении значительного периода времени. Первые серьезные научные работы в этой области появились, по-видимому, в середине 70х годов. Первые итоги в этой области были подведены в руководящих документах Министерства обороны США в середине 80х ([15]).
Обеспечение безопасности в открытых компьютерных сетях, таких, как Internet, не имеет долгой истории и мощной исследовательской базы. Отсутствие некоторых обязательных требований к безопасности систем (которые присущи закрытым компьютерным системам, обрабатыв?тощим государственную конфиденциальную информацию), компромиссный характер решений задач безопасности в открытых сетях, вызванный функциональными требованиями к ним, разнообразие программного обеспечения — все эти причины привели к отсутствию единой методологии решения задач обеспечения безопасности в открытых компьютерных сетях. В закрытых информационно-вычислительных системах высо ко эффективными являются административные и технические средства. В Internet и других открытых сетях вследствие их специфики основная нагрузка обеспечения безопасности возлагается на программное обеспечение.
Недостаточная изученность методов решения задач обеспечения безопасности в сетях, подключенных к Internet, в сочетании со значительным ущербом от деятельности злоумышленников, замедление развития Internet вследствие нерешенности проблем защиты ее ресурсов — все это ставит проблему развития программных мер безопасности сетей в разряд важных и остро актуальных.
Цель работы
Целью диссертационной работы является разработка комплекса мер и реализация программного обеспечения информационной безопасности компьютерных систем и сетей, подключенных к Internet.
Научная новизна
Научная новизна диссертационной работы состоит в следующем:
1) разработана и реализована система обеспечения безопасности компьютеров и сетей в Internet, включающая
• модифицикацию ядра Linux,
• доработку основных пакетов прикладного программного обеспечения, в том числе средств админинистрирования, сервисов аутентификации и электронной почты,
• систему обеспечения безопасности сетевых коммуникаций на базе протоколов семейства TCP/IP;
2) предложены и обоснованы методы оценки программного обеспечения с точки зрения информационной безопасности, включающие анализ технологий проектирования и используемых средств управления доступом, а также методы усиления безопасности компьютерных систем, вытекающие из критериев такой оценки;
3) сформулированы принципы определения степени защищенности коммуникаций в IP средах от различных видов угроз и предложены методы организации безопасной передачи данных.
Практическая ценность
Реализованная комплексная система обеспечения компьютерной безопасности в течение почти 2х лет эксплуатируется в сети MSUNet Московского государственного университета им. М. В. Ломоносова.
Представленные в работе анализ средств управления доступом к информации в UNIX-подобных системах, оценки безопасности сетевых протоколов, конкретных реализаций сервисов удаленного доступа и общераспространенных программ предназначены для использования как разработчиками программного обеспечения, так и администраторами при проектировании сетей и выборе используемого в них программного обеспечения. Разработанные автором методы и средства решения задач обеспечения безопасности позволяют заметно улучшить защищенность информации в открытой компьютерной сети.
Большая часть созданного и модифицированного программного обеспечения находится в открытом доступе и может быть использована в любых сетях, подключенных к Internet.
Апробация работы
Основные положения и результаты диссертации докладывались на Ежегодной международной конференции пользователей кириллического Т Х а "CyrTUG 97" (1997 г.), Международной научно-методической конференции "Новые информационные технологии в университетском образовании" (1998 г.), Всероссийской научно-методической конференции "Телематика 98" (1998 г.), на семинаре "Перспективные сетевые технологии" МГУ (1998 г.), на семинаре "Актуальные проблемы компьютерной безопасности" Управления "А" Главного управления безопасности связи Федерального агенства правительственной связи и информации при президенте РФ (1999 г.).
Публикации
Основные положения разработанного автором комплексного подхода к обеспечению безопасности компьютерной сети изложены в следующих работах:
• Савочкин А. В. "Анализ сетевых протоколов семейства TCP/IP с точки зрения компьютерной безопасности", Материалы Международной научно-методической конференции "Новые информаци онные технологии в университетском образовании", Новосибирск, 1998, с. 169.
• Савочкин А. В. "Проблемы защиты информации в сети Internet", Труды Ежегодной международной конференции пользователей кириллического Т Х а "CyrTUG 97", Протвино, 1997, с. 150-156. а также в тезисах
• Васенин В. А., Савочкин А. В. "Комплексный подход к защите информации в глобальных компьютерных сетях. Опыт сети MSUNet", Тезисы докладов Всероссийской научно-методической конференции "Телематика 98", 1998, с. 57.
• Васенин В. А., Савочкин А. В. "Проблемы и методы защиты информации на компьютерах в глобальной компьютерной сети (на примере сети MSUNet Московского университета)", тезисы доклада Научно-технической конференции профессорско-преподавательского состава, научного и инженерно-технического состава, Московский технический университет связи и информатики, Москва, 1998.
Структура и объем диссертации
Диссертационная работа состоит из введения, 6 глав, заключения, одного приложения и содержит библиографию (80 наименований). В конце текста работы приведено оглавление, список иллюстраций и список таблиц. Общий объем диссертации составляет 124 страницы.
Структура работы отражена в оглавлении.
Особенности сетей, подключенных к Internet, с точки зрения компьютерной безопасности
Для того, чтобы более точно определить поставленную задачу, необходимо сформулировать основные отличия сетей, подключенных к Internet, с точки зрения организации их безопасности по сравнению с закрытыми корпоративными и локальными сетями.
Важнейшей отличительной особенностью сетей, подключенных к Internet, является тот факт, что решение задач обеспечения безопасности сети практически целиком возлагается на программно-аппаратные средства. Средства физического ограничения доступа пользователей к компьютерам и оборудованию (т. е. оборудование специальных помещений для работы с данной информацией, определение режимов этой работы и т. п.) являются в таких сетях неэффективными.
Потенциальную возможность доступа к ресурсам сети имеет любой пользователь Internet, находящийся в любой точке земного шара, причем моменты и интенсивность доступа к той или иной информации заранее неизвестны. В связи с этим используемое в Internet программное обеспечение должно разрабатываться качественно и аккуратно. При разработке программного обеспечения для работы в Internet предположение о том, что пользователь программы использует ее в соответствии с ее назначением, недопустимо. В общем случае, о целях и мотивах субъекта, инициировавшего запрос к удаленным ресурсам, не может быть сделано никаких предположений. Поэтому любой запрос должен проверяться и обрабатываться самым тщательным образом. Отсутствие понимания этой особенности всеми авторами программного обеспечения, применяемого для работы в Internet, является причиной успеха многих атак.
Другой особенностью обеспечения безопасности сетей, связанных с Internet, является высокая скорость развития программного обеспечения и технологий. Новые технологии преодоления систем защиты информации появляются каждые полгода, и арсенал используемых злоумышленниками средств пополняется каждые 2-3 месяца. Поэтому, решая задачи обеспечения безопасности в таких сетях, особенно важно постоянно контролировать появление новых средств защиты информации и новых типов атак.
Четвертой особенностью является недостаточная осведомленность разработчиков и пользователей сетевого и системного программного обеспечения для работы с Internet в вопросах компьютерной безопасности. С одной стороны, такая недостаточная осведомленность провоцирует злоумышленников на атаки и при отсутствии общепринятых методов борьбы с злоумышленниками позволяет им чувствовать себя в безопасности. С другой стороны, недостаточное внимание пользователей и производителей к вопросу о защищенности информации и компьютеров в сети влечет заметную нехватку на рынке безопасного программного обеспечения.
Для того, чтобы точнее определить решаемые в работе задачи, необходимо точнее определить, почему угрозы безопасности являются возможными.
Несанкционированный доступ к информации может быть получен вследствие 1) ошибок пользователей или администраторов компьютерной системы; 2) ошибок в используемом программном обеспечении.
К ошибкам первого типа относятся, например, отсутствие необходимых ограничений на доступ к информации в системе, использование легко предсказуемых паролей или передача паролей третьим лицам, использование программного обеспечения не в соответствии с его документацией и заявленными требованиями на условия работы. Ошибки первого типа возникают вследствие недостаточного внимания пользователей и администраторов к вопросам обеспечения безопасности, невнимательного изучения документации к программам, инструкций и руководств. По некоторым оценкам ([6]), более половины случаев реализаций угроз безопасности происходят из-за ошибок первого типа. Однако с ростом количества сетей и их пользователей, пострадавших от злоупотреблений возможностями сетей, озабоченность пользователей и администраторов проблемами безопасности возрастает. По мнению автора, количе ство ошибок первого типа может быть сведено к минимуму с помощью административных мер.
Пользователь или администратор компьютерной системы, изучивший необходимые руководства все же не может чувствовать себя в безопасности. Даже при правильной (т. е. соответствующей документации) эксплуатации программного обеспечения несанкционированный доступ к информации в системах является вполне возможным вследствие ошибок в самом программном обеспечении. По материалам, представленным в [61], можно.заключить, что ежегодно обнаруживаются несколько сотен ошибок, непосредственно сказывающихся на безопасности информации в системах. Список таких ошибок, наличие которых подтверждено производителями программного обеспечения, можно найти в [59].
Следуя [58], ниже будет представлен анализ и систематизация распространенных ошибок в программном обеспечении и причин их появления. Психологические проблемы разработчиков
При написании обычной программы целью разработчика является получение программой определенного результата при правильном ее использовании и корректных исходных данных. Однако существуют классы программного обеспечения, которое обязано корректно отрабатывать любые, в том числе и некорректные, данные. Одном из таких классов является программное обеспечение, функционирующее на границе между различными областями доступа. Такое программное обеспечение имеет доступ к другому объему информации, чем субъект, являющийся источником входных данных для программы.
Примером программы, функционирующей на границе между различными областями доступа, является программа просмотра электронной почты. Она получает исходные данные от отправителей сообщений, которые, вообще говоря, не имеют доступа к монитору, за которым получатель читает эти сообщения, и к диску на рабочей станции получателя.
При написании таких программ разработчик должен позаботиться о том, чтобы сделать определенные действия невозможными вне зависимости от исходных данных и способа использования программы. Иными словами, такая программа должна функционировать корректно не при некоторых, а при любых исходных данных.
Использование возможностей виртуальной файловой системы для защиты данных
Основными объектами файловой системы являются регулярные файлы, директории, устройства ввода-вывода и символические ссылки. Полный список объектов файловой системы приводится в параграфе 2.2.6.
Вся файловая система имеет структуру дерева, узлами которого являются директории, а листьями — файлы и другие объекты.
Устройства ввода-вывода делятся на 2 класса — блочные (буферизуемые) и символьные (небуферизуемые). На файловой системе обычно присутствуют блочные устройства, соответствующие жестким дискам, CD ROM, устройства чтения-записи магнитной ленты, и символьные устройства, соответствующие терминалам, сериальным и принтерным портам.
Для регулярных файлов существует возможность создать 2 и более «жестких» («hard») ссылок с разными именами на один и тот же файл. При этом переименование или удаление одной из ссылок не влияет на статус остальных ссылок на этот же файл.
Символические ссылки представляют собой объекты файловой системы, хранящие в себе некоторый путь по файловой системе в символьном виде. Файловые операции над объектом-ссылкой переадресуются и производятся над объектом, на который указывает ссылка. При этом разбор пути и поиск объекта, на который указывает эта ссылка, происходит при выполнении файловой операции, а не при создании ссылки. Символические ссылки представляют собой крайне удобный и полезный механизм для администрирования системы.
Доступ к каждому объекту файловой системы (включая устройства ввода-вывода) определяется установленными для этого объекта правами доступа. Для объекта устанавливается пользователь-собственник и его права доступа к объекту, группа пользователей и ее права доступа и права доступа остальных пользователей. Права доступа каждой из категорий пользователей могут устанавливаться независимо друг от друга и представляют собой битовую маску из трех битов: «R», «W» и «X». Бит «R» определяет возможность чтения информации и «W» — возможность записи. Для регулярных файлов бит «X» определяет право на его исполнение как исполняемого модуля. Для директорий бит «X» определяет право на поиск в директории объекта с заданным именем.
Правом на изменение битов, определяющих права доступа, обладают собственник объекта и суперпользователь. Правом на изменение собственника или группы обладает только суперпользователь. Более полный список файловых операций и правил определения прав на их выполнение изложен в параграфе 2.2.6.
Следует отметить тот факт, что создание объектов в данной директории, переименование или удаление существующих объектов требует наличия прав на запись в директорию, с одной стороны, и не требует каких-либо прав доступа к самому объекту.
Как уже было отмечено, в UNIX-подобных системах существует возможность создания нескольких ссылок на один и тот же файл. Создание и удаление ссылок требует прав на запись в ту директорию, где ссылка создается или уничтожается. Удаление файла и перевод использованного им дискового пространства в свободное осуществляется при уничтожении последней ссылки на этот файл.
При управлении UNIX-подобной системой часто возникает следующая проблема. Предположим, есть необходимость разрешить пользователю доступ на запись к части информации, хранящейся в некоторой базе данных. При этом пользователю нельзя предоставить право на запись ко всей базе. Типичным примером такой базы является присутствующий во всех UNIX-подобных системах файл /etc/passwd. Этот файл содержит базу с информацией о всех пользователях системы, включающую: регистрационное имя пользователя, его UID (user identifier — идентификатор пользователя), его GID (group identifier — идентификатор группы), его пароль, информацию о его фамилии, телефоне и т. п. Пользователю следует разрешить вносить изменения в запись с его личными данными (фамилия, телефон), разрешить изменять себе пароль, причем устанавливаемый пользователем пароль не должен быть слишком коротким или простым, и запретить пользователю изменять какую-либо другую информацию в данной базе.
Подобные задачи решаются в UNIX-подобных системах путем написания специальной программы для управления пользователями информацией в базе и присвоения этой программе дополнительных прав по сравнению с правами, имеющимися у пользователя. В соответствии с этими дополнительными правами данная программа имеет право на запись в базу, а сам код программы осуществляет требуемый контроль за тем, чтобы пользователь вносил изменения только в заданные записи и поля базы.
Дополнительные привилегии делегируются программе путем установки собственником исполняемого файла пользователя с дополнительными полномочиями, и установкой на исполняемом файле специального бита — SJSUID. Бит SJSUID, выставленный у исполняемого файла, означает, что при запуске этой программы задаче будет выставлен эффективный UID, равный UID собственника файла. Весьма часто в качестве такого UID выступает UID суперпользователя — 0.
Подобным же образом и для решения похожих задач используется бит SJSGID, означающий, что при запуске программы задаче будет выставлен эффективный GID, равный GID группы, к которой относится файл.
Системы, имеющие понятие SJSUID и SJSGID флагов у исполняемых файлов, имеют очевидные ограничения на использование этих флагов, призванные обезопасить систему от получения несанкционированного доступа к данным путем оперирования с такими файлами.
Организация безопасной доставки электронной почты
Пакет «QMAIL» состоит из более чем 40 программ с документированным интерфейсом и взаимодействием между ними. Разделение функций пакета между несколькими исполняемыми модулями обеспечивает высокую безопасность и устойчивость к ошибкам.
Наиболее важными являются следующие программы, входящие в состав пакета. qmail-smtpd — программа для приема сообщений электронной почты по протоколу SMTP от других узлов сети. Она запускается процессом inetd или каким-либо другим сервером для приема TCP соединений. Для каждого полученного сообщения qmail-smtpd запускает процесс qmail-queue для помещения его в очередь. Узел-отправитель сообщения получает подтверждение о приеме после того, как сообщение будет помещено на постоянный носитель информации в системе (жесткий диск), qmail-inject — программа Для отправки сообщений электронной почты локальными пользователями системы. Переданное ей сообщение помещается в очередь программой qmail-queue. qmail-send — программа, управляющая очередью и отправляющая сообщения. Сообщения, адресованные локальным пользователям системы, передаются процессу qmail-lspawn, а сообщения, адресованные пользователям других систем, процессу qmail-rspawn. Процесс qmail-send контролирует загрузку системы и обеспечивает не более, чем заданное количество процессов локальной и удаленной доставки почты одновременно. Доставленные сообщения удаляются с помощью процесса qmail-clean, qmail-lspawn — программа, управляющая доставкой сообщений локальным пользователям. Для доставки одного сообщения конкретному пользователю запускается процесс qmail-local с полномочиями этого пользователя. Пользователь через контрольный файл в своей домашней директории может управлять доставкой своей почты. Приходящая на его имя почта может быть помещена в почтовый ящик, почтовую директорию, отправлена на другой адрес либо передана указанной пользователем программе для дальнейшей обработки, qmail-rspawn — программа, управляющая доставкой сообщений, адресованных на другие узлы сети с помощью протокола SMTP.
Преимущества и недостатки пакета
Ниже приведены -особенности дизайна и реализации пакета «QMAIL», сделавшие этот пакет удобным и защищенным средством обработки и передачи электронной почты, и принесшие ему заслуженную популярность.
Отличительной особенностью пакета является продуманная орга низация кода, существенно уменьшающая возможности для не санкционированного доступа. Уделяя особое внимание безопасно сти, автор пакета пишет: «Безопасность не является целью, это — абсолютно необходимый элемент. Доставка почты критична для пользователей; она не может быть выключена [на время, необходи мое для устранения ошибок], поэтому она должна быть абсолютно безопасна.»
Среди процессов, участвующих в обработке почты, только процесс qmail-local выполняется с дополнительными привилегиями. Они нужны этому ему для приобретения полномочий пользователей системы при доставке им почты в почтовые ящики или директории. Пакет «QMAIL» имеет только одну «setuid» программу (qmail-queue), которая временно приобретает полномочия пользователя qmail для помещения сообщения в очередь. Тем самым в пакете лишь незначительная часть кода выполняется с полномочиями большими, чем полномочия вызывающего этот код. По сравнению с пакетом «sendmail», например, объем кода с дополнительными полномочиями в пакете «QMAIL» более чем на порядок меньше. Это означает значительное уменьшение потенциальной опасности ошибок в коде.
В пакете отдельно реализованы большинство стандартных библио течных функций. Эта реализация позволяет избежать некоррект ной работы пакета вследствие ошибок в libc.
Особую ценность представляет реализация функций работы со строками. Во многих приложениях именно работа с текстовыми строками служит источником ошибок. Многие из этих ошибок являются следствием неудачного интерфейса функций sprint f(), strcpyQ и других. Большинством исследователей в области компьютерной безопасности признана опасность этих функций. Отсутствие вызовов этих функций является частью современного стиля безопасного программирования.
Тщательно продуманный интерфейс строковых операций в пакете «QMAIL» делает распространенные ошибки обработки строк синтаксически невозможными.
Существенное снижение количества ошибок в коде при значительном уменьшении потенциальной опасности каждой из них и делает пакет «QMAIL» столь привлекательным с точки зрения безопасности.
Важным преимуществом «QMAIL» является отказоустойчивость. Все переданные почтовой системе сообщения помещаются в оче редь и не удаляются оттуда до доставки сообщения адресату либо до отправки его по обратному адресу в случае неудачи. Письма, до ставка которых не удалась ни на адрес получателя, ни на обратный адрес, переадресуются почтовому администратору. «QMAIL» имеет защиту от зацикливания почты. Она защищает как -от циклов между серверами, так и от локальных циклов и циклов с участием адреса почтового администратора.
Предложенная D. J. Bernstein схема хранения почты, доставленной пользователям, в почтовых директориях (maildirs) защищает сообщения от потери или повреждения в случае выхода системы из рабочего состояния в момент доставки почты.
Благодаря хорошему стилю, код «QMAIL» корректно реагирует на исключительные ситуации и внешние ошибки, что защищает сообщения от потерь при передаче и доставке. Пакет «QMAIL» обладает исключительно высокой производитель ностью. По измерениям автора пакета, даже на крайне малопроиз водительном оборудовании «QMAIL» способен локально доставить более 200 000 писем в сутки. Недостатком пакета является жесткая лицензия на его распространение, не позволяющая независимым авторам распространять модификации данного пакета. Пакет «QMAIL» используется на всех почтовых серверах и принимающих почту станциях ядра сети MSUNet.
Вопросы безопасности, связанные с User Datagram Protocol (UDP)
Каждая передача данных на сервер или с сервера инициируется запросом на чтение файла или запросом на запись файла. Если сервер принимает запрос, начинается передача самих данных блоками установленного размера. Каждый блок данных должен быть подтвержден получателем путем отправки квитанции. Новый блок данных не будет отправлен до тех пор, пока получение предыдущего блока не будет подтверждено. В случае потери пакета посылающая сторона повторит передачу по истечении определенного промежутка времени. При этом обе стороны обмена рассматриваются и как получатели, и как отправители — одна сторона отправляет данные и получает квитанции, а другая отправляет квитанции и получает данные.
В процессе обмена данными идентификаторами получателя и отправителя служат пары {address,TID), где address обозначает адрес сетевого узла, a TID — идентификатор приложения-отправителя или получателя внутри узла сети. В процессе обмена данными TID передаются как значения полей порта отправителя и порта получателя в UDP да-таграмме. Для установления логического соединения первый пакет должен содержать в качестве TID получателя число 69 (десятичное). Стан дарт [38, п. 4] требует выбирать в качестве начального значения TID при первой отправке пакета случайное значение. В дальнейшем при передаче данных каждая сторона придерживается выбранного значения TID.
Авторизация доступа к данным по протоколу TFTP
Протоколом TFTP не предусмотрена передача в пакетах с запросами на чтение или запись данных информации для аутентификации запрашивающей стороны. Поэтому источниками информации о запрашивающей стороне являются только IP адрес (известный из IP заголовка); порт на узле отправителя (известный из UDP заголовка); имя файла, к которому осуществляется обращение.
При реализации TFTP сервера могут использоваться один или несколько из соответствующих способов аутентификации.
1. Проверка IP адреса на принадлежность списку адресов, которым разрешен доступ к информации на сервере.
Данная проверка не может достоверно определить отправителя запроса, так как протокол IP не предусматривает контроля за адресом источника. Проверка не защищает от попыток несанкционированного доступа к информации с использованием фиктивного IP адреса источника. Обстоятельства, упрощающие или усложняющие реализацию отправки запроса, обсуждаются в разд. 5.1.3.
2. Проверка имени запрашивающего узла на принад лежность списку разрешенных имен узлов.
Данная проверка является менее достоверной, чем рассмотренная в предыдущем пункте. Кроме отсутствия возможности достоверно определить адрес отправителя, достоверная трансляция IP адреса в имя узла сложно реализуема. Для надежной трансляции адресов необходимо исключить возможность использования в процессе этой трансляции внешних DNS серверов. Техническая сложность этого решения, как правило, является чрезмерной по сравнению с выигрышем с точки зрения безопасности.
3. Проверка номера порта на принадлежность диапа зону зарезервированных портов.
Большинство UNIX-подобных систем резервирует порты с номерами от 0 до 1023, и для использования этих портов необходимы дополнительные привилегии. Предполагается, что привилегированная программа, имеющая доступ к зарезервированным портам передаст достоверную информацию о пользователе. В случае, если сервер доверяет программному обеспечению на системе пользователя, эта переданная информация может использоваться для аутентификации. Следует отметить, что такой способ аутентификации имеет два существенных недостатка. Во-первых, при его использовании достоверность аутентификации доступа к ресурсам сервера ставится в зависимость от пользовательского программного обеспечения, что является слабым местом в безопасности информации и, как правило, возникающий в связи с этим риск является недопустимым. Во-вторых, использование этого способа аутентификации требует, чтобы пользовательское программное обеспечение имело дополнительные привилегии, что существенно снижает безопасность в системе, на которой работают пользователи и всей сети в целом.