Разработка Telegram-бота для поиска ПО | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №51 (446) декабрь 2022 г.

Дата публикации: 21.12.2022

Статья просмотрена: 101 раз

Библиографическое описание:

Дворцов, Н. В. Разработка Telegram-бота для поиска ПО / Н. В. Дворцов, Д. И. Травин. — Текст : непосредственный // Молодой ученый. — 2022. — № 51 (446). — С. 11-14. — URL: https://moluch.ru/archive/446/98115/ (дата обращения: 24.04.2024).



Ключевые слова: программа, программное обеспечение, OSINT, обработчик событий, бот, поиск.

Кто владеет информацией, тот владеет миром.

Натан Майер Ротшильд (1777–1836), немецкий бизнесмен

Студенческая жизнь айтишника требует не столько большого количества программного обеспечения, сколько оперативный доступ к нему. Конечно, большую часть потребностей способен удовлетворить вуз, но из-за сложившийся политической ситуации студенты вынуждены пользоваться многими программами только в университете ввиду того, что удаленный доступ также работал на компонентах недружественных к РФ стран.

Разумеется, можно просто потратить чуть больше времени на прямой поиск в интернете нужной программы (OSINT, open-source intelligence, разведка на основе открытых данных), но часто это отнимает немалый объем времени и ставит риск поражения вашего компьютера вредоносным ПО.

Мы же как студенты информационной безопасности решили разработать собственную систему по обмену программным обеспечением. Система представляет из себя бота для Telegram, html-страницу, по которой программа осуществляет парсинг (принятое в информатике определение синтаксического анализа) и систему хранения данных, в нашем случае программ.

Первым делом наша команда провела анкетирование, в котором мы искали ответ на вопрос «А нужна ли такая система?».

Вопросы анкеты.

Рис. 1. Вопросы анкеты.

В анкету мы включили вопросы, конкретизирующие проблемы, возникающие у студентов при поиске ПО как то: затраченное время, круг необходимых программ, действия по поиску.

Эти данные мы учли при разработке бота. Он должен быть быстрым, безопасным, охватывать максимальное число программ и не требовать специальной настройки. Поэтому нами и был выбран Telegram в качестве платформы для осуществления работы модели «пользователь-СХД».

Таблица с результатами анкетирования

Рис. 2. Таблица с результатами анкетирования

Для разработки программы мы выбрали язык Python 3.8.6. Его синтаксис и функции наиболее удобны для обработки требуемых параметров. Основным двигателем бота выступила библиотека telebot.

Первоначально нами рассматривалась библиотека aiogram из-за встроенных возможностей оплаты через привязку карты и безопасную транзакцию внутри самого Telegram. Но в ходе начальных этапов тестирования было принято решение отказаться от нее из-за сложностей с монтажом платежной системы и конфликта с нашей html-библиотекой, а также проблем с быстродействием при массовой нагрузке.

Сбои в работе aiogram возникли при 28 подключениях, а у telebot — 40.

Рис. 3. Сбои в работе aiogram возникли при 28 подключениях, а у telebot — 40.

Весь функционал бота реализуется по средствам двух обработчиков событий: message_handler(commands= ['start']) — реализует обработку приветствий (/start — начало общения) и обработку четырехкнопочной клавиатуры, которая служит для осуществления навигации внутри бота; message_handler(content_types= ['text']) — реализует обработку текстовых обращений к боту и нажатия на кнопки.

Для создания клавиатуры используется метод ReplayKeyboardMarkup. Для создания клавиш — KeyboardButton

Рис. 4. Для создания клавиатуры используется метод ReplayKeyboardMarkup. Для создания клавиш — KeyboardButton

Строки 29–30 содержат в себе обработчик событий и советующую функцию

Рис. 5. Строки 29–30 содержат в себе обработчик событий и советующую функцию

В боте также присутствует система оплаты, которая на данном этапе реализована через считывание и проверку ботом никнейма пользователя Telegram. То есть пользователь оплачивает подписку и модератор в течение 24 часов с момента оплаты открывает доступ к функциям системы. В дальнейшем данную схему планируется дорабатывать.

Поиск нужной программы производится через нажатие нужной кнопки с названием программы из меню, прикрепленного к сообщению, которым отвечает бот на запрос пользователя.

По своей сути такая система аналогична прямому вводу названия в текстовое поле диалога, однако она не предусматривает ошибки, которые может допустить пользователь при вводе названия программы.

Но в целом, поиск по ключевым словам, является более удобным, хотя и менее точным. Такая функция будет добавлена в дальнейших версиях программы.

Теперь же перейдем к части, касающейся обратной связи.

Как и было сказано выше, в нашей программе для поиска используется парсинг данных с html-страницы.

Парсинг состоит из трех этапов:

  1. Поиск
  2. Извлечение
  3. Сохранение

Для реализации поиска мы использовали библиотеки beautifulsoup4, requests и pandas.

Первым этапом формируется get-запрос по структуре r = requests.get(‘ссылка’). Далее при помощи аргумента text получаем весь html-код нашей страницы.

Теперь при помощи ограничения параметров добиваемся получения ссылок на программу в зависимости от введенного названия. Каждая ссылка содержит свой уникальный id:

Рис. 6

После чего пользователю выдается соответствующая ссылка, по которой он может скачать программу, и которая является абсолютно безопасной.

Основные термины (генерируются автоматически): OSINT, обработчик событий, программа, программное обеспечение, бот, нужная программа, поиск.


Ключевые слова

программное обеспечение, программа, поиск, OSINT, обработчик событий, бот

Похожие статьи

Применение инструментов OSINT для выявления уязвимостей...

Данная тенденция стала наиболее актуальной с применением инструментов OSINT.

Инструменты OSINT не являются программами взлома, а лишь вспомогательным дополнением к

Платформа OSINT Framework не является полноценным инструментом поиска, но она

Данные события возникают на системном и сетевом уровнях, носят нежелательный характер и...

Применение инструментов OSINT для повышения безопасности...

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

В целях повышения защиты собственного предприятия могут быть предложены следующие инструменты OSINT, представленные ниже.

Создание программы для сканирования уязвимостей...

Рис. 4. Модель взаимодействия программы. Механизм сканирования выполняет соединение с сервером через ссылку, предоставленную пользователем через параметр, анализируя входные параметры, чтобы найти соответствующий механизм сканирования (или атакующего).

Системы сбора информации в аспекте кибербезопасности

Он поддерживает специфические для платформы источники, такие как журнал событий

обеспечивающее централизованное управление журналами и являющееся программным обеспечением для мониторинга сети.

– Система должна иметь автоматизацию способов поиска угроз.

– Агент — небольшая программа, работающая на удаленной конечной точке.

Интернет-угрозы и способы защиты от них | Статья в журнале...

Троянская программа (также — троян, троянский конь) — вредоносная программа, распространяемая людьми...Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на...В нужный момент по команде владельца ботнета такая программа активизируется и...- ᐧРегулярно выполняйте обновления программного обеспечения.

Использование чат-ботов в различных сферах повседневной жизни

Slack чат — кроссплатформенное приложение ориентированное на корпоративное пользование. Боты в этой системе — помощники в организации корпоративных встреч и планов, помощники в аналитике, в выполнении рутинных задач и инструменты для контроля рабочего процесса.

Современные системы автоматизированного динамического...

Вредоносные программы являются одной из самых серьезных угроз компьютерной

Под вредоносными программами можно понимать специальный класс программного

из гостевой системы и передаче управления гипервизору (возникновение событий, приводящих к VMExit).

При поиске вредоносного программного обеспечения методом обнаружения изменений...

Аналитический обзор методов обнаружения вредоносных...

Проекты. Меню. Поиск.

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

Существует большинство методов обнаружения вредоносных программных средств, для

обнаружения вторжения кодируют данные об атаках и правила импликации «если... то», а также подтверждают их, обращаясь к контрольным записям событий.

Анализ методов обнаружения вредоносных программ

Выделены и рассмотрены основные методы обнаружения вредоносных программ.

При этом, классическое сканирование предполагает поиск вредоносных программ по их

При поиске вредоносного программного обеспечения методом обнаружения изменений

изначально проверяемый программный комплекс должен быть установлен из доверенного источника.

Похожие статьи

Применение инструментов OSINT для выявления уязвимостей...

Данная тенденция стала наиболее актуальной с применением инструментов OSINT.

Инструменты OSINT не являются программами взлома, а лишь вспомогательным дополнением к

Платформа OSINT Framework не является полноценным инструментом поиска, но она

Данные события возникают на системном и сетевом уровнях, носят нежелательный характер и...

Применение инструментов OSINT для повышения безопасности...

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

В целях повышения защиты собственного предприятия могут быть предложены следующие инструменты OSINT, представленные ниже.

Создание программы для сканирования уязвимостей...

Рис. 4. Модель взаимодействия программы. Механизм сканирования выполняет соединение с сервером через ссылку, предоставленную пользователем через параметр, анализируя входные параметры, чтобы найти соответствующий механизм сканирования (или атакующего).

Системы сбора информации в аспекте кибербезопасности

Он поддерживает специфические для платформы источники, такие как журнал событий

обеспечивающее централизованное управление журналами и являющееся программным обеспечением для мониторинга сети.

– Система должна иметь автоматизацию способов поиска угроз.

– Агент — небольшая программа, работающая на удаленной конечной точке.

Интернет-угрозы и способы защиты от них | Статья в журнале...

Троянская программа (также — троян, троянский конь) — вредоносная программа, распространяемая людьми...Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на...В нужный момент по команде владельца ботнета такая программа активизируется и...- ᐧРегулярно выполняйте обновления программного обеспечения.

Использование чат-ботов в различных сферах повседневной жизни

Slack чат — кроссплатформенное приложение ориентированное на корпоративное пользование. Боты в этой системе — помощники в организации корпоративных встреч и планов, помощники в аналитике, в выполнении рутинных задач и инструменты для контроля рабочего процесса.

Современные системы автоматизированного динамического...

Вредоносные программы являются одной из самых серьезных угроз компьютерной

Под вредоносными программами можно понимать специальный класс программного

из гостевой системы и передаче управления гипервизору (возникновение событий, приводящих к VMExit).

При поиске вредоносного программного обеспечения методом обнаружения изменений...

Аналитический обзор методов обнаружения вредоносных...

Проекты. Меню. Поиск.

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

Существует большинство методов обнаружения вредоносных программных средств, для

обнаружения вторжения кодируют данные об атаках и правила импликации «если... то», а также подтверждают их, обращаясь к контрольным записям событий.

Анализ методов обнаружения вредоносных программ

Выделены и рассмотрены основные методы обнаружения вредоносных программ.

При этом, классическое сканирование предполагает поиск вредоносных программ по их

При поиске вредоносного программного обеспечения методом обнаружения изменений

изначально проверяемый программный комплекс должен быть установлен из доверенного источника.

Задать вопрос