У меня есть инструмент, который распространяется бесплатно как плагин Eclipse, что означает, что я не могу отследить, кто его использует, или попросить их зарегистрироваться.
Каждый клиентский инструмент взаимодействует через JMS-брокер с одним общим сервером (написанным на Java) и может получать сообщения в ответ. Сервер подключается через Hibernate к базе данных MySQL.
В настоящее время единственным сообщением, которое отправляет инструмент, является запрос данных, и сервер получает сообщение и отправляет большую часть данных XML, представляющих элементы, клиенту, который отображает соответствующие элементы в IDE. Следовательно, я не думаю, что с сервером можно многое сделать, кроме атаки DoS.
Теперь, однако, я хочу добавить следующую функциональность: пользователь может назначить оценку конкретному элементу (идентифицированному числовым идентификатором), и на сервер будет отправлено сообщение, которое сохранит оценку как событие в таблице событий рейтинга. При поступлении следующих запросов данных средняя оценка для каждого элемента будет отправлена вместе с запросом.
Моя проблема в том, что я никогда не развертывал инструмент, использующий такой публичный сервер, как этот, даже если он скрыт JMS-брокером. Какие атаки могут быть направлены против меня и как я могу их защитить?
Существует проблема DoS, и я не знаю, как ее решить.
Существует возможность инъекции, но все мои данные являются числовыми, и я не знаю, как спящий режим работает с вещами.
Есть проблема спама или фиктивного голосования, и я не могу придумать, как решить эту проблему.
Я уверен, что есть другие ...