Які способи запобігти написанню чи читанню файлів із символом «Праворуч на лівий переосмислення 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.