На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила!
Пожалуйста, подумайте два! раза перед тем как нажать кнопку Отправить.
Убедительная просьба пользоваться поиском и ИНСТРУКЦИЕЙ, и только потом спрашивать!


  • Публикация вирусов/эксплоитов в бинарном виде запрещена!
  • Запрещается размещать прямые ссылки на зараженные сайты! (если хочется предупредить, то исправляйте HTTP://... на ХТТП://...)
  • Категорически запрещается поиск кряков/варезов/серийников, а также размещение ссылок на серийники/ключи/кряки и т.п.
  • Запрещается использование оскорбительных выражений в адрес участников коференции, в том числе и в личной переписке.


Модераторы: Rust
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> Обсуждение методов защиты ПО
    Цитата Eretic @
    В таком случае в первую очередь нужно запретить операции чтения и записи файлов, поскольку именно они в 99.9% случаев используются для вредоносных действий, а вовсе не прямой доступ к диску
    Нет. Во-первых, файловые операции находятся под контролем охранных средств ОС, во-вторых, они при необходимости легко аудируются, и журналы прозрачно фильтруются, в-третьих, их цели чётко определяются логической структурой тома в отличие от целей прямого доступа. Я что-то вообще не пойму, ты мне предлагаешь прочитать ликбез по основам безопасности, что ли? Ну так вот, держи конспект.
    Цитата Eretic @
    Извини, а почему в обход, если эти операции предоставляются самой системой?
    Предоставляется, но контролируются правами пользователя и привилегиями его учётной записи. Я же не зря в прошлом посту упомянул админа. По дефолту опасные привилегии даже у него выключены. Начиная с Висты, конечно. Повышение привилегий должно быть явным или известным антивирусу как безопасное для конкретного приложения в конкретном его месте. Иначе нужно сильно громко кричать, иногда даже резаной свиньёй. Держи следующий конспект.
    Цитата Eretic @
    С этим никто не спорит. ...
    Читай выше. Не буду повторяться.
    Цитата Eretic @
    Статья 33 УК РФ
    Это ещё почему? Если ты нашёл уязвимость в продукте Компании С Большим Именем, она тебе только спасибо скажет, когда ты ей об этом сообщишь. Конечно, если ты начнёшь эту уязвимость скрытно эксплуатировать... но ты же не начнёшь? А так это похоже на отговорку, извини.
    Впрочем, я вангую, что ничего путного из этой затеи не выйдет, т.к. все такие дыры давным-давно уже найдены и закрыты.
    Цитата Eretic @
    Драйвера ATI с их оф. сайта, точнее с сайта AMD. ...
    А, ну тогда понятно. Именно поэтому я больше 15 лет не покупаю ATI. И, боюсь, никогда не буду.
    И тем не менее, порча файлов на NTFS не может быть следствием синих экранов, если с самим носителем нет проблем. Может быть потеря сделанных изменений в них, это да, но это не порча данных.
      Цитата Eretic @
      МБР с момента своего появления не менялось и сейчас является индустриальным стандартом. Нарваться на несовместимость здесь гораздо труднее, чем на "люли" в городском парке. Никакого пустого места там нет, все занято.

      Это не так. В МБР можно найти местечко, чтобы запихнуть туда несколько байтов. Простейший вариант - там есть пара текстовых литералов "operating system", заменяем этот текст на "OS" и добываем немножко байтов на свои нужды (ну или литерал "partition table" заменяем на "PT"). Это при условии, что между кодом и собственно таблицей разделов нет зазора - а в "старых" версиях кода он есть. Ещё проще использовать пространство нераспределённых секторов - например, секторы между МБР и началом первого раздела, или нераспределённые секторы (между последним кластером и копией бут-сектора) в конце раздела.
        Цитата Qraizer @
        Нет. Во-первых, файловые операции находятся под контролем охранных средств ОС, во-вторых, они при необходимости легко аудируются, и журналы прозрачно фильтруются, в-третьих, их цели чётко определяются логической структурой тома в отличие от целей прямого доступа.
        Ты прикалываешься что ли? Доступ к секторам в винде реализован точно так же как и к файлам, а значит он тоже "находится под контролем охранных средств ОС, при необходимости легко аудируются". Что касается "чётко определяются логической структурой тома", то доступ к секторам как раз и нужен для случаев, когда эта структура не нужна. Ведь как раз отслеживание изменений этой самой файловой структуры и является уязвимым местом защиты сабжа. Решение очевидно - обойтись без нее.
        Цитата Qraizer @
        Предоставляется, но контролируются правами пользователя и привилегиями его учётной записи.
        А с этим вроде никто не спорит. Даст юзер разрешение - программа будет выполняться. Не даст - закроется самой ОС. Антивирь то здесь каким боком?
        Цитата Qraizer @
        Это ещё почему? Если ты нашёл уязвимость в продукте Компании С Большим Именем, она тебе только спасибо скажет, когда ты ей об этом сообщишь. Конечно, если ты начнёшь эту уязвимость скрытно эксплуатировать... но ты же не начнёшь? А так это похоже на отговорку, извини.
        Естественно не начну, потому что сомневаюсь в самом существовании такого механизма в антивирусах. Он попросту не нужен. Перехватив первое обращение к винту антивирь запрашивает у пользователя добро и получив его просто запоминает этот выбор, автоматом применяя его в дальнейшем. Вот и вся схема. А описанная тобой излишне сложная и ненадежная.
        Впрочем, у меня до сих пор сомнения, что антивирь вообще будет перехватывать прямой доступ к диску. Теоретически это забота системы, а не антивиря.
        Цитата Qraizer @
        Впрочем, я вангую, что ничего путного из этой затеи не выйдет, т.к. все такие дыры давным-давно уже найдены и закрыты.
        Я это слышал еще в ФИДО, по обсуждении, ЕМНИП, выхода 2-й версии др. веба, когда кое-кто доказывал, что учли все ошибки и теперь то веб непробиваем :lol: Угу, дыры в его анализаторе нашлись уже через пару недель... Идеальных программ не бывает.
        Цитата Qraizer @
        А, ну тогда понятно. Именно поэтому я больше 15 лет не покупаю ATI. И, боюсь, никогда не буду.
        И правильно делаешь. Я тоже зарекся.
        Цитата Qraizer @
        И тем не менее, порча файлов на NTFS не может быть следствием синих экранов, если с самим носителем нет проблем. Может быть потеря сделанных изменений в них, это да, но это не порча данных.
        Выброс в синий экран и не портил. Порча была при мертвых висах и внезапных перезагрузках, да и то редко, видимо крайне неудачное совпадение обстоятельств. С железом все норм, сейчас то, после установки последних дров, все работает нормально.

        Добавлено
        Цитата Akina @
        Это не так. В МБР можно найти местечко, чтобы запихнуть туда несколько байтов. Простейший вариант - там есть пара текстовых литералов "operating system", заменяем этот текст на "OS" и добываем немножко байтов на свои нужды
        Не, это уже радиолюбительский трюк, или как там у программистов называется. Я противник лезть туда, где нет четкого определения. Вот таблицы партиций - это другое дело, они обязательны и четко регламентированы.
        Цитата Akina @
        Ещё проще использовать пространство нераспределённых секторов - например, секторы между МБР и началом первого раздела, или нераспределённые секторы (между последним кластером и копией бут-сектора) в конце раздела.
        Тоже вариант. Я предлагал чуточку посложнее - просканировать все разделы и составить карту свободных секторов.
          Eretic
          Структура МБР определена строго, чётко и однозначно. И те места в области исполняемого кода, где находятся устойчиво определяемые строки-литералы, вполне доступны бинарной корректировке. Строка выводится с определённого (хардкод) смещения и до закрывающего символа (точка). Причём сюрпризов можно не бояться, код в МБР свою целостность не контролирует.
          А вот область таблицы разделов использовать не следует. Первый же запуск чекдиска вынесет оттуда всё нахрен - и хорошо, если при этом существующие разделы не превратятся в кашу... а он, кстати сказать, может.
            Цитата Eretic @
            Ты прикалываешься что ли? Доступ к секторам в винде реализован точно так же как и к файлам, а значит он тоже "находится под контролем охранных средств ОС, при необходимости легко аудируются". Что касается "чётко определяются логической структурой тома", то доступ к секторам как раз и нужен для случаев, когда эта структура не нужна. Ведь как раз отслеживание изменений этой самой файловой структуры и является уязвимым местом защиты сабжа. Решение очевидно - обойтись без нее.
            Нет, похоже это прикалываешься ты. Ну или сознательно троллишь. Ну или ты полный профан в сфере безопасности, уж извини. Реализация прямого доступа к дискам по сравнению с доступом к файлам реализована абсолютно иначе. Там даже разный стек драйверов задействован. Ну-ка попробуй... просто в DOS, чтобы никакая защита не мешала, посредством int 13h создать на FAT16-томе новый текстовой файл с содержимым "Hello, world!"
            Но это только начало. Ни диски, ни тома не защищены никакими охранными средствами ОС, кроме требования наличия привилегии SeManageVolumePrivilege у пользователя. По дефолту она присутствует только у админов и выше, но криворукие, хотя правильнее было бы сказать долбанутые на пол-головы, пользователи с правами админа могут отредактировать политики безопасности. Имея эту привилегию, убить любую файловую систему и даже целиком весь физический диск со всеми его разделами не составляет никакого труда, и ОС будет бессильна что-либо этому противопоставить. Точнее, можно научить её препятствовать деструктивным действиям, однако не существует и в принципе не может существовать формальных правил такого контроля, чтобы можно было отличить деструктивные действия зловредов от полезных действий доверенных приложений, потому что вообще-то они функционируют абсолютно одинаково.
            В противовес этому каждый объект файловой системы защищён атрибутами безопасности, которые чётко определяют права каждого идентифицируемого ОСью субъекта политики безопасности. Админ, конечно, и тут может гостеприимно раскрыть ворота первому встречному... но не будем о дебилах. И каждый такой субъект рассматривается индивидуально, ОС принимает во внимание множество его атрибутов и запрашиваемых их привилегий, прежде чем решить дать доступ или отвергнуть. В целом, неадмин навредить системе просто не состоянии, если только админ не полный олигофрен. Это просто невозможно. Но даже если админ олигофрен, просчёт на одном файле убьёт конкретный файл в конкретном каталоге на конкретном томе конкретного диска. В отличии от прямого доступа к диску, где от фатальной катастрофы на всех томах всех дисков сразу хранит одна-единственная привилегия безотносительно к остальным атрибутам субъекта.
            По-прежнему считаешь, что нет никакой разницы? Пожалуй, больше на эту тему лекций я читать не буду. Гугли литературу, читай и просвещайся сам.
            Цитата Eretic @
            Естественно не начну, потому что сомневаюсь в самом существовании такого механизма в антивирусах. Он попросту не нужен. Перехватив первое обращение к винту антивирь запрашивает у пользователя добро и получив его просто запоминает этот выбор, автоматом применяя его в дальнейшем. Вот и вся схема. А описанная тобой излишне сложная и ненадежная.
            Ну так почитай. Вот кусочек оттуда:
            Цитата
            Другими словами, наш белый список пользовательских программ — это огромная и постоянно обновляемая база знаний существующих приложений. Она содержит информацию более чем о миллиарде уникальных файлов абсолютного большинства популярных программ, в том числе офисных пакетов, браузеров, программ просмотра изображений, — в базе есть все, что только можно представить. Для того чтобы минимизировать количество случаев ложного срабатывания, мы используем данные от 450 партнеров. Главным образом это разработчики приложений, которые заранее предупреждают нас о грядущих обновлениях их программных продуктов.
            Собственно, поэтому и вангую, что ничего не выйдет.
            Цитата Eretic @
            Впрочем, у меня до сих пор сомнения, что антивирь вообще будет перехватывать прямой доступ к диску. Теоретически это забота системы, а не антивиря.
            Вообще-то да. Но так уж исторически сложилось, что ОС не заморачивается такой фигнёй, как защита дураков от них самих. Кроме того, ошибиться может и грамотный специалист, в конце-концов он просто человек, который может быть уставшим, не выспавшимся или заболевшим. Потому дополнительная защита в реальном времени, особенно интеллектуальная и обучаемая, не помешает.
            Сообщение отредактировано: Qraizer -
              Цитата Qraizer @
              Нет, похоже это прикалываешься ты. Ну или сознательно троллишь. Ну или ты полный профан в сфере безопасности, уж извини.
              Все коментировать нет смысла, т.к. похоже мы говорим о разных вещах. Прокоментирую лишь пару цитат.
              Цитата Qraizer @
              Ну-ка попробуй... просто в DOS, чтобы никакая защита не мешала, посредством int 13h создать на FAT16-томе новый текстовой файл с содержимым "Hello, world!"
              Легко. В чем проблемы то? Только я не понял к чему этот вопрос? Во первых, есть либы от самой микрософт для работы с ф/с NTFS на низком уровне. Точнее это DLL из какой-то ее старой системы. Во вторых, если программа лезет в сектора, значит ф/с ей просто не нужна. В третьих, никто не запрещает использовать те АПИ, что лучше всего подходят к данной задаче, поэтому для записи "Привет мир!" будет использована АПИ ф/с, а для модификации МБР соответственно АПИ прямого доступа. Ну и в четвертых, в самой NT-подобной ОС есть средства узнать принадлежность сектора файлу, если уж кто-то так боится что-то затереть/испортить.
              Цитата Qraizer @
              По-прежнему считаешь, что нет никакой разницы?
              Принципиальной разницы нет. Юзеру не будет легче от того, что его любимые фотки были затерты АПИ ф/с, а не АПИ прямого доступа к диску.
              Прежде чем читать ликбезы неплохо бы выяснить простую вещь - от чего чаще всего страдают данные пользователя. А то спор напомнил мне ту истерию, что развернул айфончик, выставив пьяниц за рулем в качестве вселенского зла, хотя статистика ментов прямо говорит, что по банальной невнимательности в ДТП гибнет гораздо больше людей, чем по вине выпимших.
              Цитата Qraizer @
              Ну так почитай. Вот кусочек оттуда:
              Так это не антивирусный список. Так называемые белые списки поддерживаются самой ОС, ЕМНИП начиная с XP. Сама система блокирует выполнение любых программ, чьих данных нет в списке. Антивирь просто предоставляет базу данных приложений и удобный интерфейс, чтобы пользователь сам не мучился с добавлением в нее нужных программ. Это системная фича и соответственно обойти ее гораздо труднее.
              Цитата Qraizer @
              Потому дополнительная защита в реальном времени, особенно интеллектуальная и обучаемая, не помешает.
              Все эти защиты хороши под руководством грамотного сисопа, но никак не простой домохозяйки, которая не отличит байт от бареля. В итоге всплывающие предупреждения/запросы настолько приедаются простому пользователю, что он их разрешает автоматом, даже не читая. Про детишек я вообще молчу :D

              Добавлено
              Цитата Akina @
              Структура МБР определена строго, чётко и однозначно. И те места в области исполняемого кода, где находятся устойчиво определяемые строки-литералы, вполне доступны бинарной корректировке. Строка выводится с определённого (хардкод) смещения и до закрывающего символа (точка). Причём сюрпризов можно не бояться, код в МБР свою целостность не контролирует.
              Когда вносишь изменения в чужой код, то сюрпризы очень даже возможны.
              Цитата Akina @
              А вот область таблицы разделов использовать не следует. Первый же запуск чекдиска вынесет оттуда всё нахрен - и хорошо, если при этом существующие разделы не превратятся в кашу... а он, кстати сказать, может.
              Вообще-то нормальный сканер должен просто игнорировать несипользуемые записи в таблице разделов. Уверен на счет этой утилиты?
                Цитата Eretic @
                Когда вносишь изменения в чужой код, то сюрпризы очень даже возможны.

                В данном конкретном случае никаких именно сюрпризов не будет. Всё, что может быть - это либо антивирус заблокирует внесение изменений в МБР, либо сработает защита загрузочного сектора БИОСа, буде она есть и включена.

                Цитата Eretic @
                нормальный сканер должен просто игнорировать несипользуемые записи в таблице разделов. Уверен на счет этой утилиты?

                Так то нормальные... скандиск ничего не игнорирует. Его самоуверенность - это нечто... он, не спрашивая, "лечит" и нестандартные разделы, и разделы неизвестных ему типов, а уж некорректные с точки зрения структуры записи выносит из РТ гарантированно. Не зря же ему передали на хранение гордое имя диск-дестроера, когда NDD немного поумнел...
                  Цитата Eretic @
                  Все коментировать нет смысла, т.к. похоже мы говорим о разных вещах.
                  Именно. Я говорю об архитектуре безопасной ОС, а ты несёшь ахинею от обиженного разработчика. Безусловно у безопасной ОС и обиженных разработчиков противоположные мотивации. Т.к. обиженных разработчиков из-за их лени следовать правилам хорошего тона со временем становится всё больше, ОС приходится от версии к версии ужесточать требования к безопасному программированию, из-за чего обиженные разработчики обижаются ещё больше, а добросовестным приходится переносить свои приложения на новые версии ОС, затрачивая отличные от нуля усилия.
                  Цитата Eretic @
                  Принципиальной разницы нет. Юзеру не будет легче от того, что его любимые фотки были затерты АПИ ф/с, а не АПИ прямого доступа к диску.
                  Ок. Я думаю, что если ты не видишь разницы в цифрах вероятности одного и другого и размерах повреждений от того или другого, то говорить больше не о чем. Собственно ты был бы прав, если б вероятность встретить динозавра на улице была бы 50%, но увы.
                  Так что разговор, думаю, окончен. Гугл вот там, там же и учебники.
                  Цитата Eretic @
                  Прежде чем читать ликбезы неплохо бы выяснить простую вещь - от чего чаще всего страдают данные пользователя.
                  От собственных ошибок. Потенциально опасные действия должны быть подтверждены. Это предохраняет от случайной активации небезопасного действия. Если даже после этого пользователь соглашается на вред самому себе, он это заслужил, поделом. Повторю: в задачи ОС не входит охрана дураков от них самих. Философии о нечитающих ничего "простых пользователях" оставь, пожалуйста, компьютерным сервисам, они с них кормятся.
                  Цитата Eretic @
                  Так это не антивирусный список. Так называемые белые списки поддерживаются самой ОС,
                  ...
                  ЧЁ? Нет, определённо разговор окончен. Счастливо.
                    Если вы пытаетесь защитить целую программу ее (защиту) сломают. Если вы защитите каждую функцию взлом программы будет равен написание той же программы сидя в неудобном дизасемблере. Никто из хакеров такой трудоемкой работой заниматься не будет.
                      Цитата cezar @
                      Если вы пытаетесь защитить целую программу ее (защиту) сломают. Если вы защитите каждую функцию взлом программы будет равен написание той же программы сидя в неудобном дизасемблере. Никто из хакеров такой трудоемкой работой заниматься не будет.
                      Любой уважающий себя хакер умеет обходить "трудоемщину".
                      Да и дизассемблер "неудобным" не бывает.
                      Если защищать каждую функцию одинаково - в автоматическом режиме такую защиту можно обезвредить. Если выдумывать на каждую функцию свой метод, размещать его по функциям - это сложнее. Но зависит от ценности ПО.

                      Как однажды сказал B.V. (жаль его сообщение не перенесли в тему при переносе).
                      Цитата B.V. @
                      Все советчики в этой теме забывают главное: не ломаемой защиты не существует. Весь вопрос в целесообразности взлома, а целесообразность зависит от востребованности. Если программа простая и не пользуется особой популярностью, смысла усложнять защиту никакого нет.
                        когда я только начинал писать программы :D то мне помогла эта статья

                        https://www.z-oleg.com/secur/articles/progprotect.php
                        Сообщение отредактировано: Cfon -
                          В данный момент вообще антивирус не стоит) Я так думаю - если не качать ничего из непроверенных источников, не лазить по всяким подозрительным сайтам и ничего не прицепится.
                            Луший метод защиты пишите все через GoTo
                            Даже если ваш исходник попадет в руки хакера, в нем не возможно будет разобраться ))
                              Можно еще на каждую функцию поставить оригинальную защиту. Чаще использовать проверку по таймеру.

                              Добавлено
                              Цитата
                              Все советчики в этой теме забывают главное: не ломаемой защиты не существует.

                              Но если время взлома больше или равно времени жизни среднестатистического хакера этого же вполне достаточно.
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:
                              Страницы: (3) 1 2 [3]  все


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0647 ]   [ 16 queries used ]   [ Generated: 28.03.24, 14:16 GMT ]