Я пытаюсь разработать приложение, способное обнаруживать вредоносное приложение для платформы Android с помощью поддерживающих векторных машин (SVM). Я могу получить много системной информации из инструментов "logcat" и "strace", но теперь я не знаю, как можно обнаружить настоящие вредоносные приложения. Кто-нибудь знает, как стабильно/записывать нормальное поведение устройства с помощью этих инструментов, я имею в виду, получать информацию с устройства и устанавливать шаблон поведения.
С наилучшими пожеланиями
У вас всегда будет проблема с определением поведения вредоносного приложения: Kymie M.C. Tan, Roy A. Maxion, "Почему 6?" Определение операционных пределов Stide, детектор вторжений на аномалии, "sp, pp.188, 2002 IEEE Symposium on Security and Privacy, 2002
Но если вы действительно хотите попробовать, возможно, отправная точка здесь: "Обнаружение вторжений с использованием последовательностей системных вызовов" . S. Hofmeyr, S. Forrest, A. Somayaji Journal of Computer Security Vol. 6, pp. 151-180 (1998)
Для Windows API обычно люди просматривают последовательность, чтобы определить свои наборы действий. Вы можете найти документы/исследования, сделанные на этом тоже для платформы Android.
что делать, если вы сначала используете набор вредоносных вызовов в Android, а не профилируете обычные.
Также обратите внимание: если вы используете неконтролируемую классификацию, он не знает, какие данные он классифицирует
Интересно, если это возможно...
Как вы хотите оценить, нормально ли поведение для приложения? Планируете ли вы "этап обучения", где все, что делает определенное приложение, записывается (если это возможно без права доступа root в первую очередь!), А затем сохраняется как "профиль" "нормального поведения" этого приложения?
Скажите, что вы записываете любое поведение приложения, например инструмент для размещения значков на рабочем столе. Теперь скажите, что это приложение также предлагает функцию прямого вызова одного из ваших любимых контактов, для этого вам потребуется разрешение на доступ к вашим контактам и создание фонотеков. Если эта функция вряд ли используется, вы, вероятно, не будете записывать ее во время "обучения" этого приложения и оцениваете приложение как злонамеренное, когда оно пытается позвонить.
А что, если приложение показывает вредоносное поведение во время "этап обучения", где вы не можете обнаружить его, потому что вы еще не определили "нормальное поведение"?
Похоже, что "нормальное поведение" должно быть где-то сохранено, чтобы оценить приложение перед его установкой, и оно начинает действовать странно или выполняет нежелательные действия. Но опять же: то, что нужно одному пользователю, может быть совершенно нормальным для другого...
Меня интересуют любые причудливые решения, которые люди придумывают, но я думаю, что это будет сложно...