Сервіс для сканування шкідливого ПЗ та збору даних про кіберзагрози VirusTotal виправив вразливість
Сервіс для сканування шкідливих програм і збору даних про кіберзагрози VirusTotal усунув вразливість
VirusTotal, сервіс для сканування шкідливих програм і збору даних про кіберзагрози, виправив вразливість, яка сповільнила операції відстеження загроз на своєму сайті.
Проблема торкнулася сканера YARA, компонента сайту VirusTotal, який дозволяє дослідникам безпеки шукати величезну базу даних сервісу за допомогою текстових правил.
За словами інженера-програміста і творця YARA, причиною проблеми став, здавалося б, «невинний» шаблон.
"Сам шаблон не викликав жодних підозр і виглядав як інші шаблони, які не викликають жодних проблем, але диявол ховається в minutiae. Причиною проблеми стали множинні і порівняно довгі переходи [0-60], розділені короткими і частими закономірностями 00", - сказав він.
Як пояснив фахівець, YARA використовує два алгоритми, щоб відповідати таким шаблонам. Перший являє собою більш складний алгоритм повноцінних регулярних виразів (regexp), а другий - більш простий і примітивний алгоритм для певних шістнадцяткових патернів на зразок наведеного вище.
Ці шістнадцяткові патерни можна зіставити за допомогою повноцінного алгоритму регулярного вираження, але примітивний алгоритм зазвичай швидше.
"Повноцінний алгоритм регулярних виразів працює повільніше примітивного 99% часу, але це хороша властивість: його тимчасова складність лінійна, і немає "поганих випадків", які можуть уповільнити алгоритм в геометричній прогресії. Примітивний алгоритм в більшості випадків швидший, але з часом має експоненціальне зростання. Погані випадки - це дійсно погано. Правило, яке спричинило цю проблему, є одним з тих дійсно поганих випадків", - пояснив він.
Фахівець охарактеризував проблему як дуже рідкісний випадок, з яким компанія не стикалася багато років. Проблема торкнулася користувачів VirusTotal в середу, 7 липня, коли пошук платформи за правилами YARA значно сповільнився. Тепер проблему вирішено, і VirusTotal працює нормально.