Укрепить часто неправильно используемую аутентификацию java.net.InetAddress

Мы используем Fortify для статического анализа кода. Одной из проблем, о которых сообщает сканирование Fortify, является «Часто неправильное использование: аутентификация». Проблема помечается для всех случаев использования одного из следующих методов класса "java.net.InetAddress".

getAddress()
getByName(bindAddress)
getHostName()
getHostAddress()
getCanonicalHostName()
getLocalHost()
getAllByName()

Каково идеальное решение для того же самого?

Один из возможных способов предлагается здесь. есть ли другие способы решения этой проблемы.

Спасибо


person param83    schedule 04.09.2013    source источник
comment
Вопрос неясен, используете ли вы в настоящее время детали InetAddress для аутентификации и спрашиваете, какую аутентификацию следует использовать вместо этого?   -  person Qwerky    schedule 04.09.2013
comment
У нас есть процесс Java (диспетчер), который будет иметь ссылку на список других серверов, выполняющих аутентификацию. Как правило, клиент обращается к Dispatcher и получает список серверов аутентификации, на которые клиент будет пересылать запросы аутентификации. Теперь getHostAddress используется Dispatcher для определения IP-адреса сервера аутентификации, который будет возвращен клиенту. Таким образом, при атаке с подделкой DNS злоумышленник может получить запросы аутентификации, содержащие учетные данные. Итак, мне интересно, как справиться с этим сценарием.   -  person param83    schedule 05.09.2013
comment
@ param83 Пожалуйста, поделитесь примером, если вы можете решить эту проблему.   -  person Laxminarayana Challagonda    schedule 18.01.2017


Ответы (1)


Уязвимость фактически просто предупреждает вас как разработчика, чтобы вы не доверяли их выходным данным. Одним из эффективных способов определить, является ли сервер тем, за кого себя выдает, является использование SSL. Похоже, что в вашем приложении вы просто получаете список серверов и пересылаете им запрос на аутентификацию. Если пользователь затем подключается через SSL для аутентификации на машинах, это, вероятно, не должно быть проблемой (пока соединение не разрешено с самозаверяющими сертификатами)

person lavamunky    schedule 07.01.2014