Исследование Honeypot, связанное с Android - PullRequest
0 голосов
/ 08 августа 2011

Я собираюсь реализовать honeypot для Android-смартфонов в качестве исследования для моей диссертации.Я никогда не использовал Android, Java и Honeypots.Вот так я и думаю начать это.Я подумал использовать исходный код (написанный на языке C) Honeyd, который является приманкой, разработанной г-ном Нильсом Провосом.В этом случае мне нравится использовать eclipse 3.7 indigo для разработчиков Java.Но проблема в том, что даже если я преобразую исходный код Honeyd в Java, функции будут работать так же, как они работали в Honeyd.Также я собираюсь запустить android gingerbread (версия 2.3) ISO на рабочей станции VMware и попытаться установить конвертированный Honeyd внутри него как приложение .apk.после этого я собираюсь настроить виртуальную машину в сети для атаки.Также я не могу настроить приманку с высоким физическим взаимодействием, так как это опасно.так что я концентрируюсь на настройке виртуальной приманки с низким уровнем взаимодействия.У меня в голове есть вопрос:

1) преобразование Honeyd в java 2) Будет ли структура Honeyd работать на платформе Android?3) Как использовать honeypots в собственной сети за брандмауэром, как использовать этот шаг в отношении Android?4) Как дать хороший механизм оповещения?

Не могли бы вы предложить мне любую помощь по этому поводу.

1 Ответ

1 голос
/ 08 августа 2011

Вы, вероятно, можете построить существующий код на C, используя NDK.

«Надлежащим» способом было бы построить его как библиотеку и вызывать из него процесс приложения dalvik (т.е. то, что вы кодируете в java). Это также упрощает использование компонентов Java-интерфейса для механизма оповещения (в противном случае на хосте может быть приложение Java или даже что-то удаленное, которое отслеживает процесс honeypot для оповещений)

Несмотря на то, что многие из них не поддерживаются, им также удалось создать автономные исполняемые файлы командной строки с использованием цепочки инструментов ndk и запустить их. Поскольку вы имеете дело с настроенным андроидом, а не с устройством, у вас не должно быть слишком много проблем с этим - вы можете установить значения OOM killer в своем автономном процессе, и если вы хотите, вам даже не нужно запускать андроид framekwork вообще - вы можете просто запустить Linux, который лежит в основе. Хотя кто-то может спросить, в чем же тогда смысл упражнения.

По сути, если вы находитесь на настроенном «устройстве» (в данном случае виртуальном) и вам действительно не нужен какой-либо пользовательский интерфейс, то единственная вещь, которая действительно уникальна для Android, - это создание кода на C вместо бионического libc, а не более нормальный встроенный Linux; и даже в этом случае вы можете использовать другой libc, если статически создаете ссылку.

Если вы попытаетесь использовать Java-код для этого, вы, скорее всего, столкнетесь с ограничением, заключающимся в том, что нет хорошего способа предоставить root-доступ к Java-коду, поэтому вам придется либо изменить платформу, чтобы легче запускать пользовательский Java-код. кодируйте как root или измените базовый linux, чтобы позволить непривилегированному коду открывать привилегированные порты.

Честно говоря, я не думаю, что это очень хорошая идея проекта, поскольку вы говорите о том, что подвергаете конкретную платформу угрозе, которая, вероятно, не сфокусирована на ней.

...