Які способи запобігти написанню чи читанню файлів із символом «Праворуч на лівий переосмислення Unicode» у своєму імені (метод підробки зловмисного програмного забезпечення)?


20

Які способи уникнути або заборонити файлам із символом RLO (праворуч на лівий переосмислення) Unicode у своєму імені (метод зловмисного програмного забезпечення для підробки імені файлів) не записуватися чи читатись на комп'ютері Windows?

Більше інформації про символ унікодування RLO тут:

Інформація про символ uncode RLO, оскільки він використовується зловмисним програмним забезпеченням:

Підсумок звіту про випадки комп'ютерного вірусу / несанкціонованого доступу до комп'ютера за жовтень 2011 р., Складене Агенцією просування інформаційних технологій, Японія (IPA) [ Дзеркало (Google Cache) ]

Ви можете спробувати цю веб-сторінку тестування символів RLO, щоб побачити, як працює символ RLO.

Символ RLO також вже вставлений у поле "Вхідний тест" на цій веб-сторінці. Спробуйте ввести там і помітити, що символи, які ви вводите, виходять у зворотному порядку (справа наліво, а не зліва направо).

У назви імен файлів символ RLO може бути спеціально розміщений у імені файлу для підробки або маскараду як такий, що має ім'я або розширення файлу, який відрізняється від того, що він насправді має. (Досі буде приховано, навіть якщо " Приховати розширення для відомих файлів " не встановлено прапорець.)

Єдина інформація, яку я можу знайти, яка містить інформацію про те, як запобігти запусканню файлів із символом RLO, - з веб-сайту Агенції просування інформації в Японії .

Чи можна рекомендувати будь - які інші хороші рішення для запобігання файлів з характером RLO в їхніх іменах з того написано або зчитуватися в комп'ютері, або спосіб попередження користувача , якщо файл з характером RLO виявляються?

Моя ОС - це Windows 7, але я шукатиму рішення для Windows XP, Vista та 7, або рішення, яке буде працювати для всіх цих ОС, щоб допомогти людям, що використовують ці ОС.


1
Дуже гарне запитання! Я також хотів би це знати. Здається, ваше посилання не працює.
— Цербер

@Cerberus Щойно з’ясував, що посилання не працює. Я сподіваюся, що це просто тимчасово вниз. Я оновлю відповідь, якщо знайду дзеркало.
— galacticninja


@Cerberus Дякую Я додав дзеркальне посилання до питання.
— galacticninja

4
They adviced to use the Local Security Policy settings manager to block files with the RLO character in its name from being run.Скажіть, будь ласка, чому це не рішення?
— Тамара Війсман

Відповіді:


3

Ви можете використовувати Усе в поєднанні з AutoHotkey для створення попередження, коли двосторонній символ управління текстом утворює частину імені файлу.

Сценарій

AlertText = A bidirectional text control character was detected in a filename.
AlertText = %AlertText%`n`nClick OK to re-hide the window.

SetTitleMatchMode RegEx
DetectHiddenWindows, On
EnvGet, ProgramFiles32, ProgramFiles

Start:
Run, %ProgramFiles32%\Everything\Everything.exe
WinWaitActive, Everything, , 5
if Errorlevel
    Goto Start
WinGet, Id, ID, A
StatusBarWait, objects, , 1, ahk_id %Id%
StatusBarGetText, Status, 1, ahk_id %Id%
Backup := ClipboardAll
Transform, Clipboard, Unicode, ‎|â€|‪|‫|‬|‭|‮
Send, ^v
WinHide, ahk_id %Id%
Sleep, 100
Clipboard := Backup
Backup =
StatusBarWait, ^(?!^\Q%Status%\E$)
Loop
{
    StatusBarWait, [1-9], , 1, ahk_id %Id%
    IfWinNotExist, ahk_id %Id%
        Goto Start
    WinShow, ahk_id %Id%
    WinRestore, ahk_id %Id%
    MsgBox, %AlertText%
    WinHide, ahk_id %Id%
}

Що це робить

Сценарій запускає Все і шукає â€Ž|â€|‪|‫|‬|‭|‮(UTF8), тобто всі сім двонаправлених символів управління текстом ( джерело ), розділених на |.

Потім сценарій приховує вікно Все і відстежує його рядок стану. Коли вона містить будь-яку цифру, відмінну від 0, знайдено збіг, відображається вікно Все, і з'являється таке поле повідомлень:

У імені файлу виявлено двонаправлений символ управління текстом.

Натисніть кнопку ОК, щоб знову приховати вікно.

Сценарій також перезапускає все, у разі якщо він закривається.

Як користуватись

  1. Завантажте , встановіть та запустіть усе.

  2. Натисніть Ctrl+ Pта перейдіть на вкладку « Томи ».

    Для всіх томів, які слід перевірити, увімкніть Монітор змін .

  3. Завантажте та встановіть AutoHotkey.

  4. Збережіть у вищезазначеному сценарії як find-bidirectional-text-control-characters.ahk.

  5. Двічі клацніть сценарій, щоб запустити його.

  6. Створіть ярлик до сценарію у вашій папці запуску .


2

Агентство по розвитку інформаційних технологій, веб - сайт Японія ( дзеркало посилання ), консультував з допомогою диспетчера настройки локальної політики безпеки , щоб блокувати файли з символу RLO в назві від бежітся.

(Я не копіюю повні інструкції, оскільки не знаю, що таке ліцензія авторського права на цей вміст.)


0

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

Можна уявити інші методи досягнення подібного результату, такі як підключення SSDT. Але єдиним надійним способом було б вищезгадане.

Для цього вам доведеться змусити когось написати цей фільтр для вас (порівняно тривіально для міні-фільтрів для розробника ядра), а потім підписати його, щоб отримати його через політику підписання режиму ядра з Vista. Якщо ви не хочете робити це останнє, ви все одно можете перевірити підписи бінарних драйверів та змінити параметри завантаження, щоб дозволити вміст, підписаний тестом, тим самим погіршуючи безпеку відповідної системи.

У світлі цієї інформації я б настійно радив вам скористатися рішенням, на яке вказували галактинінджа та Том Війсман.


2
" Я настійно радив би скористатися тим рішенням, на яке вказував Том Війсман. " Насправді це було рішення, на яке я зазначив. Я вже налаштував Windows зробити це. Як і те, що я відповів Тому Війсману, я шукаю інші рішення, які не дозволять символу RLO писати та читати, або рішення, яке автоматично сповіщатиме або попереджає користувача, якщо буде виявлено символ RLO. Боюся, у мене немає технічного ноу-хау, щоб написати описаний вами фільтр.
— galacticninja

@galacticninja: Вибачте, я виправлю це у своїй відповіді.
— 0xC0000022L

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.