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


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


Модераторы: Rust
  
> Обсуждение методов защиты ПО
    Цитата B.V. @
    Все советчики в этой теме забывают главное: не ломаемой защиты не существует.

    Совершенно верно.
    Однако, изготовление хитроумной защиты может иметь и другую цель,
    кроме защиты.
    -----
    Повышение квалификации разработчика и получение новых знаний.

    Эта тема была разделена из темы "Как определить, что системное время перевели назад?"
      ЫукпШ, за 11 лет жизни на Исходниках я вдоволь насмотрелся на желающих получить новые знания именно в части фантиков и бантиков, а не функционала.
        Ну, надо знать и фантики с бантиками и рюшечками.
        Среди заказчиков иногда тоже попадаются такие, кого почему-то интересует не столько функционал и удобство программы, сколько её внешний вид.
          Цитата #SI# @
          ЫукпШ, за 11 лет жизни на Исходниках я вдоволь насмотрелся на желающих получить новые знания именно в части фантиков и бантиков, а не функционала.

          Не совсем понял про бантики.. наверно совсем отстал от жизни.
          ---
          Но однажды, в одной коммерческой организации, мне сказали открытым текстом:
          - не страшно, если наляпаешь в разводке печатной платы - сам будешь переразводить.
          - прощаем, если ошибёшься в программе - будешь сам потом отлаживать.
          - если дивайс сгорит целиком - сам будешь разбираться в останках.
          Горе тебе, если будет плохой внешний вид !
          - А почему у вас так ?
          - А потому, что это лицо фирмы !
          ---
          Кстати, это довольно мучительно.
          Например, в диалог никак "не пакуется" часть элементов управления, которые
          должны быть расположены удобно и вообще всё должно быть хорошо.
          Иногда очень долго никак не получается.. :(
          ---
          Помните фильм про динозавров ?
          Зверюга ломится в дверь, а парнишка судорожно водит мышью ?
          Того программиста сожрали поделом. Естественный отбор. :)
          Сообщение отредактировано: ЫукпШ -
            У подавляющего большинства домашних компов в таблице разделов МБР винта используется только две записи из четырех (основной и расширенный разделы), т.е. свободно 30 байт. Даже если какой-то умник поставит non-DOS раздел под линукс/или как там его, то все равно останется 15 байт.
            Я воспользовался этим, когда потребовалось срочно и быстро привязать программу к конкретному компу. Там же можно хранить дату последнего запуска.
            Из плюсов: реализуется довольно легко, одним вызовом WriteFile/ReadFile; все filemon'ы идут лесом. Из минусов: нужны права для прямого доступа к диску, по дефолту стоящие на всех виндах, вплоть до XP.
              Цитата Eretic @
              Из минусов: нужны права для прямого доступа к диску
              Весьма тяжёлый минус, весьма.
              Цитата Eretic @
              в таблице разделов МБР винта используется ... все равно останется 15 байт. ... Там же можно хранить дату последнего запуска.
              В определённом смысле "расстреливать" таких 'хранителей' надо. :blush:
                Цитата Eretic @
                Из минусов: нужны права для прямого доступа к диску, по дефолту стоящие на всех виндах, вплоть до XP.

                Это не минус для инсталлятора. Вопрос другой - на прямое чтение тоже нужны права админа? Хотя тож решаемо ... драйвером. Но ТС пропал, так и не ответив че за прога.
                  Цитата Vladimir_ @
                  Т.е. чтобы было видно, что это не защита сработала, а ошибка в проге?

                  Попробуйте динамически подключить .dll библиотеку и какую-нить несуществующую функцию. Ее естественно не будет, сгенерируется исключение и прога правдоподобно вылетит.

                  Обычному пользователю будет достаточно этой правдоподобной ошибки.

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

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

                  Реверс-инженера остановят только единицы алгоритмов, которых, скорее всего, программа не стоит...
                  Мне пока только одна разумно-защищенная софтина попалась. :whistle:

                  Вот Вам правдоподобный сценарий. :)
                  Сообщение отредактировано: simsergey -
                    Цитата Eretic @
                    т.е. свободно 30 байт

                    Цитата Eretic @
                    то все равно останется 15 байт
                    Запись таблицы разделов имеет размер 16 байт.

                    Такую псевдозапись лучше не маскировать под раздел ФС Linux или любой другой. Потому что есть программы, знающие не виндловские разделы. Могут случиться накладки.
                    Под админом обычно работают дома и в мелких организациях. В крупных пользователей обычно лишают таких прав. Некоторые и дома делают так же.

                    Добавлено
                    Цитата simsergey @
                    Системный администратор с навыками программиста сможет создать библиотеку-заглушку и подсунуть к проге.
                    Не системный администратор с навыками программиста это тоже может.
                      Цитата amk @
                      Не системный администратор с навыками программиста это тоже может.

                      Я к тому, что обычно софт юзера обслуживает его системный администратор. Конечно же может :D
                        Цитата Eretic @
                        Я воспользовался этим, когда потребовалось срочно и быстро привязать программу к конкретному компу.

                        Ага, только не забываем:
                        1. Нужны админские права.
                        2. Любой вменяемый антивирь будет сильно ругаться.
                          Цитата Славян @
                          Весьма тяжёлый минус, весьма.
                          Смотря как посмотреть.
                          Цитата Славян @
                          В определённом смысле "расстреливать" таких 'хранителей' надо.
                          В чем проблемы то? Религия не позволяет использовать что-то не апишное? Так я атеист и мне пофиг на предрассудки ;)
                          Цитата amk @
                          Запись таблицы разделов имеет размер 16 байт.

                          Цитата amk @
                          Такую псевдозапись лучше не маскировать под раздел ФС Linux или любой другой. Потому что есть программы, знающие не виндловские разделы. Могут случиться накладки.
                          Не нужно ничего маскировать. Данные хранятся прямо в описателе раздела, не затрагивая код типа раздела. Отсюда и 15 байт и писать можно только в неиспользуемый описатель раздела.
                          Цитата shm @
                          Ага, только не забываем:
                          1. Нужны админские права.
                          2. Любой вменяемый антивирь будет сильно ругаться.

                          1. Верно. С другой стороны, если права урезаны, то юзер полюбому не сможет проинсталлировать программу. Значит права есть. А если есть права запустить инсталляшку, то при нужде можно и драйвер установить. Разве нет?
                          2. Не в курсе, никогда ими не пользовался. Как вариант, можно банально просканировать таблицы разделов и составить карту используемых областей диска. Неиспользуемый сектор всегда найдется. Так кода кот наплакал. И антивирь ругаться не будет, это же не МБР.

                          Вообще вариант был предложен с учетом нижеследующего:
                          Цитата Vladimir_ @
                          Тут не только без интернета, да еще на некоторых ПК стоит Windows 98!
                          Для винды 98 прямой доступ не проблема. Раз нет инета, то есть шанс, что и на других системах права не урезаны. У нас на предприятии права юзерам стали урезать только после полного перехода на XP, а до этого было как и в 98-й - бери власти столько, сколько сможешь унести (с) Борька.
                            Eretic
                            1) Process Monitor все равно покажет чтение/запись MBR, и программу сломают
                            2) Если на компе будет не одна такая программа, то они скорее всего обе работать не будут
                              Цитата Pacific @
                              Eretic
                              1) Process Monitor все равно покажет чтение/запись MBR, и программу сломают
                              2) Если на компе будет не одна такая программа, то они скорее всего обе работать не будут

                              1. Программу сломают и без него.
                              2. Если на компе будет не одна такая программа, то не факт, что система у такого юзера будет работать.

                              И вообще, нельзя трогать такие системные области. Нужно искать другие методы!
                                Цитата Eretic @
                                Так кода кот наплакал. И антивирь ругаться не будет, это же не МБР.

                                Будет. Как только ты откроешь диск на физический доступ, да еще и на запись...
                                Если честно, я бы сразу же удалил программу, которая без моего ведома лезет на диск на низком уровне, даже не взирая на все ее преимущества не дожидаясь "сюрпризов". В случае крайней необходимости поставил бы на виртуалку.
                                Сообщение отредактировано: shm -
                                  Цитата Pacific @
                                  1) Process Monitor все равно покажет чтение/запись MBR, и программу сломают
                                  Юзер, умеющий пользоваться редактором дисков и знающий формат винтов, сломает и куда более сложную защиту.
                                  Цитата shm @
                                  Будет. Как только ты откроешь диск на физический доступ, да еще и на запись...
                                  А вот я не уверен. Это стандартная АПИ-функция, используемая наверное в 9 из 10 программ. У меня нет антивиря, но если есть желание, то на пробу могу дать свой плагин к Total Commander, который при подключении обходит все физ. диски, в поиске нужной файловой системы, используя как раз прямой доступ на уровне секторов. Правда только чтение. Чтобы испытать запись, нужен носитель со специально отформатированными лог. дисками. Вот и выяснили бы реакцию антивирей на "прямой доступ к диску".
                                  Да и не логично со стороны антивиря пищать на прямой доступ к диску, так как вири уже сто лет не используют его.
                                  Цитата simsergey @
                                  И вообще, нельзя трогать такие системные области.

                                  Цитата shm @
                                  Если честно, я бы сразу же удалил программу, которая без моего ведома лезет на диск на низком уровне, даже не взирая на все ее преимущества не дожидаясь "сюрпризов". В случае крайней необходимости поставил бы на виртуалку.
                                  Это все предрассудки, запись в сектор ничем не отличается от записи в файл, просто обходится без посредника в виде ОС.
                                    Цитата Eretic @
                                    Да и не логично со стороны антивиря пищать на прямой доступ к диску, так как вири уже сто лет не используют его.
                                    Антивирус не должен пищать только если он жесточайше уверен, что ОС никак не допустит таковую запись, а мысли про "сто лет" ему должны быть фиолетовы, ибо он же не человек, а машина, а потому может помнить о такой опасности a'la "вечно".
                                      Цитата Славян @
                                      Антивирус не должен пищать только если он жесточайше уверен, что ОС никак не допустит таковую запись
                                      На это нет объективных причин. Любая ОС содержит в себе такие функции прямого доступа к диску, специально для облегчения написания различных дисковых утилит и для легкого подключения носителей с нестандартной файловой системой.

                                      Цитата Славян @
                                      а мысли про "сто лет" ему должны быть фиолетовы, ибо он же не человек, а машина, а потому может помнить о такой опасности a'la "вечно".
                                      Антивири пишут люди, а не машины. И они ориентируются в первую очередь на реальные угрозы, а не на отголоски эпохи DOS. Реальность же такова, что сегодня прямой доступ к диску не дает вирусу никаких плюшек и заражать/портить данные пользователя гораздо проще и эффективнее простыми файловыми АПИ. Соответственно и кричать о угрозе без веских оснований нет смысла. Излишняя параноидальность - это верный способ для передачи части своих клиентов своим конкурентам.

                                      Ладно, наверное пора завязывать, тема скатилась в простой оффтоп.
                                        Eretic, не совсем так.
                                        На жестком диске находятся не только файловая система, но и код загрузчика, который загружает загрузчик (как бы странно это не звучало).
                                        Он находится в каждом секторе, где находится MBR. Ну, Вы наверняка это знаете.
                                        Даже если Вы используете прямой доступ к диску через апи, у Вас появляется возможность изменять этот код. Ни одна нормальная система система безопасности не станет позволять писать, а в некоторых случая и читать диск напрямую именно из этих соображений. Она не будет разбираться в загрузочную часть сектора софтина лезет или нет, код она там правит или нет.
                                        Учитывая тот факт, что MBR уже латана и перелатана со времен доса, не стоит туда совать свой код.
                                        Есть такое понятие как "Совместимость" и "Обратная совместимость". Эти латки накладыавются с расчетом не нее., не стоит под эти латки пихать свои флаги в связи с тем, что рано или поздно то, что разработчик (в данном случае майкрософт оставил для себя пустым) может задействовать, и не обязательно с документированной для пользователя информацией.

                                        А вдруг юзер использует GPT ?) Что, сразу сообщение "Программа не поддерживает конфигурацию вашего компьютера"?
                                        Ну Вы же это и так знаете. В чем смысл?)
                                        Сообщение отредактировано: simsergey -
                                          МБР жив? :blink:

                                          Вы софсем про асм забыли и про то, как антивирь определяет вредоносный код. Пикнуть должна сама система "Куда полез!" и долбануть по башке. Никакой антивирь на такое не способен.

                                          Добавлено
                                          Цитата Vladimir_ @
                                          Простенькая программа, без инсталяшки, должна после определенной даты, хранящейся в программе, перестать запускаться.
                                          Но вот есть проблема: как можно отследить, что пользователь перевел время/дату назад?

                                          На кой тебе такое? Зачем запускать таймер относительный, когда можно запустить абсолютный?
                                            Цитата Идеал @
                                            Зачем запускать таймер относительный, когда можно запустить абсолютный?
                                            ;) Но, учитывая, что в определённом смысле всякое абсолютное суть относительное в некоей более широкой системе, мы возвращаемся к исходному вопросу автора. :oops:
                                              Цитата simsergey @
                                              Учитывая тот факт, что MBR уже латана и перелатана со времен доса, не стоит туда совать свой код.
                                              Есть такое понятие как "Совместимость" и "Обратная совместимость". Эти латки накладыавются с расчетом не нее., не стоит под эти латки пихать свои флаги в связи с тем, что рано или поздно то, что разработчик (в данном случае майкрософт оставил для себя пустым) может задействовать, и не обязательно с документированной для пользователя информацией.

                                              Тебя кто-то ввел в заблуждение ;) МБР с момента своего появления не менялось и сейчас является индустриальным стандартом. Нарваться на несовместимость здесь гораздо труднее, чем на "люли" в городском парке. Никакого пустого места там нет, все занято. Занято, но далеко не всегда используется.
                                              Цитата simsergey @
                                              Даже если Вы используете прямой доступ к диску через апи, у Вас появляется возможность изменять этот код. Ни одна нормальная система система безопасности не станет позволять писать, а в некоторых случая и читать диск напрямую именно из этих соображений. Она не будет разбираться в загрузочную часть сектора софтина лезет или нет, код она там правит или нет.
                                              Я не совсем понимаю о каких таких "системах безопасности" идет речь, мне на моем компе никто ничего не запрещает. Все последние посты - это чистая сфероконина в ваккууме, оторванная от реальности. Поэтому, предлагаю спуститься на грешную землю. Возьмем для примера такую замечательную софтину, как Acronis True Image. Она создает отдельный диск(раздел), с файловой системой FAT32. В нем хранятся сохраненные образы дисков/разделов, для последующего быстрого восстановления диска/раздела. В целях безопасности этот спец. раздел невидим системе, то есть помечен как не дос-раздел и система его просто игнорирует. Так вот, без прямого доступа к диску сделать все это просто нереально. Во первых, нужно как-то изменить таблицу партиций и добавить в нее новый раздел. Во вторых, для доступа к невидимому системой разделу системные файловые АПИ просто не годятся, нужно чтение/запись непосредственно секторов. В третьих, она подменяет загрузчик МБР на свой, чтобы пользователь имел возможность восстановить диск/раздел еще до загрузки системы. И лишиться этой красоты ради какой-то мифической безопасности?
                                              Это самый простой пример необходимости АПИ для доступа к диску на уровне секторов. Как видим, достаточно полезный. Будем и дальше утверждать о вреде алкоголизма прямого доступа к дискам?

                                              Цитата simsergey @
                                              А вдруг юзер использует GPT ?
                                              В большинстве случаев первый сектор будет содержать ... МБР, для совместимости ;) Если его нет, значит первый сектор вообще полностью в нашем распоряжении. Логика проста: раз работаем - значит система загружена; раз система загружена - значит диск нормальный; раз диск нормальный, а МБР не найден - значит имеем дело с GPT; раз на диске GPT - значит первый сектор неиспользуемый. Как-то так.
                                                Цитата Eretic @
                                                Будем и дальше утверждать о вреде алкоголизма прямого доступа к дискам?
                                                Вред определяется по фактическим результатам, а потенциальная опасность – по намерениям. Антивирусы ориентируются на последнее, потому что предотвратить вред всегда лучше, чем исправлять его результаты.
                                                Авторы потенциально опасных приложений извещают о них авторов антивирусов, чтобы те знали, что несмотря на их потенциальную опасность, они не являются вредоносными. И если те не против, они просто вносят эти приложения в свои белые списки. Этого будет достаточно, чтобы антивирус смолчал при их запуске и последующей работе. Внезапно, наверное, но при этом потенциально опасное приложение не перестаёт быть таковым, и запросто может использоваться для нанесения вреда. Фактические результаты могут настолько разочаровать пользователя, что техсаппорт не сможет его убедить в том, что причинённый вред является следствием действий его собственных кривых рук и отсутствующих интеллектуальных мыслительных процессов в его голове.
                                                Сообщение отредактировано: Qraizer -
                                                  Вы так спорите усердно, будто вирус - это нечто интеллектуальное, недоступное, ахеренно гениальное и блаблабла. Да любой дрыщь нынче напишет вам программу на том же C#, которая удалит с вашего диска все, что сможет удалится, и никакой антивирус и система не пикнет на эти действия, и никакие загрузочные сектора и всякие MBR никому нахрен не нужны. :lol:
                                                    Цитата KILLER @
                                                    напишет вам программу на том же C#, которая удалит с вашего диска все

                                                    ExpandedWrap disabled
                                                      find / -delete


                                                    :yes:
                                                    :whistle:
                                                    Сообщение отредактировано: Идеал -
                                                      Цитата KILLER @
                                                      программу ..., которая удалит с вашего диска все, что сможет удалится, и никакой антивирус и система не пикнет на эти действия, и никакие загрузочные сектора и всякие MBR никому нахрен не нужны.
                                                      Комп.вирусы, как и обычные, существуют ещё и потому, что их задача - кушать организм постепенно, а не приводить всю систему к краху мгновенно, ибо в последнем случае они будут быстро найдены и уничтожены, т.е. не получат столь широкого распространения как сейчас. :whistle:
                                                        Цитата Qraizer @
                                                        Вред определяется по фактическим результатам, а потенциальная опасность – по намерениям. Антивирусы ориентируются на последнее, потому что предотвратить вред всегда лучше, чем исправлять его результаты.
                                                        Так весь вопрос в том, что является потенциальной угрозой.
                                                        Цитата Qraizer @
                                                        Авторы потенциально опасных приложений извещают о них авторов антивирусов, чтобы те знали, что несмотря на их потенциальную опасность, они не являются вредоносными. И если те не против, они просто вносят эти приложения в свои белые списки. Этого будет достаточно, чтобы антивирус смолчал при их запуске и последующей работе.
                                                        Хм, будь я вирмейкером, я бы с толком использовал эту фичу антивирусов :P Правда есть у меня сомнения в ее существовании, ведь это же огромная дыра в антивирусе. Да и есть у меня сомнения, что антивири настолько тупы, что вопят на любой чтение/запись секторов диска.
                                                        Цитата Qraizer @
                                                        Внезапно, наверное, но при этом потенциально опасное приложение не перестаёт быть таковым, и запросто может использоваться для нанесения вреда.
                                                        Даже стандартная виндозная утилита diskpart.exe может уничтожить данные о разделах. Простой батник может удалить все файлы. У меня из-за подвисания драйверов видеокарты несколько раз портились файлы. Комп вообще опасная штука :) И слава богу, иначе это будет безделушка для домохозяек, а не рабочий инструмент.

                                                        Цитата KILLER @
                                                        Вы так спорите усердно, будто вирус - это нечто интеллектуальное, недоступное, ахеренно гениальное и блаблабла.
                                                        Эта репутация у них осталась со времен DOS, когда между вирмейкерами и Лодзинским шла настоящая интелектуальная битва за выживание/детектирование :) Те же полиморфные вирусы были гениальным решением защиты от обнаружения по сигнатуре. Винда убила этот творческий процесс на корню и все вирусы, что довелось посмотреть, были на удивление однообразны и неинтересны.
                                                          Цитата Славян @
                                                          мы возвращаемся к исходному вопросу автора. :oops:


                                                          Не печалься! Компьютеру вообще нет дела до того летосчисления, по которому мы живем. Наше летосчисление с его точки зрения нерациональное. Он что-то там свое отсчитывает, преобразует в человеко-читаемый вид и выдает человеку. Так же и программу следует запускать - со своим летосчислением, относительно начала ее жизни.
                                                          Это только придурки паниковали по поводу надуманной проблемы 2000 года. А псевдо-умники сертификаты выдавали, что компьютер продолжит работать.

                                                          :thanks:
                                                          Сообщение отредактировано: Идеал -
                                                            Цитата Eretic @
                                                            Так весь вопрос в том, что является потенциальной угрозой.
                                                            Всё, что потенциально может навредить работоспособности системы и данным пользователя в обход охранных средств ОС. Если работоспособность системы не нарушена, и данные повреждены не в обход, то юзер сам это сделал, он и виноват. Антивирусы, да и не только они, не предназначены для охраны идиотов от них самих. Но предупредить их о потенциально опасном ПО он должен, на то у него и сигнатурные базы, и эвристика.
                                                            Цитата Eretic @
                                                            Хм, будь я вирмейкером, я бы с толком использовал эту фичу антивирусов
                                                            Ну попробуй. Потом расскажешь, что вышло, ок?.
                                                            Цитата Eretic @
                                                            Даже стандартная виндозная утилита diskpart.exe может уничтожить данные о разделах. Простой батник может удалить все файлы. У меня из-за подвисания драйверов видеокарты несколько раз портились файлы.
                                                            Может. Если юзер это сделает.
                                                            Не все, но может многие, включая жизненно важные. Если юзер его запустит.
                                                            Не верю. А впрочем верю. Это же юзер с правами админа поставил нечто неподписанное, взятое с не пойми какого урла, да ещё и работающее на уровне ядра.
                                                            Сообщение отредактировано: Qraizer -
                                                              Цитата Qraizer @
                                                              Всё, что потенциально может навредить работоспособности системы и данным пользователя в обход охранных средств ОС.
                                                              В таком случае в первую очередь нужно запретить операции чтения и записи файлов, поскольку именно они в 99.9% случаев используются для вредоносных действий, а вовсе не прямой доступ к диску ;)
                                                              Цитата Qraizer @
                                                              Если работоспособность системы не нарушена, и данные повреждены не в обход, то юзер сам это сделал, он и виноват.
                                                              Извини, а почему в обход, если эти операции предоставляются самой системой?
                                                              Цитата Qraizer @
                                                              Антивирусы, да и не только они, не предназначены для охраны идиотов от них самих. Но предупредить их о потенциально опасном ПО он должен, на то у него и сигнатурные базы, и эвристика.
                                                              С этим никто не спорит. Вопрос то в другом, на каком основании вы все считаете прямой доступ к диску априори потенциально опасным? Прямой доступ - это всего лишь инструмент, который может быть как полезным, так и не очень. Записывать его сразу в опасные ИМХО неправильно. Как и любой другой инструмент. Никто ведь не отказывается от кухонных ножей, хотя ими порой режут не только хлеб?
                                                              Цитата Qraizer @
                                                              Ну попробуй. Потом расскажешь, что вышло, ок?.
                                                              Статья 33 УК РФ :huh:
                                                              Цитата Qraizer @
                                                              Не верю. А впрочем верю. Это же юзер с правами админа поставил нечто неподписанное, взятое с не пойми какого урла, да ещё и работающее на уровне ядра.
                                                              Драйвера ATI с их оф. сайта, точнее с сайта AMD. Несколько версий имели баг с аппаратным ускорением GUI. Во время работы ворда, экселя, pdf-ридера, djvu-вьюнера, dip trace, proteus и много чего другого комп в лучшем случае уходил в синий экран. Изредка комп без лишних слов перезагружался, а совсем редко намертво вис, без признаков жизни. В последних случаях и произошла порча файлов. NTFS конечно очень устойчивая система, но и она не дает 100% гарантии от таких вот сюрпризов. Отключаешь аппаратное ускорение в свойствах экрана - все работает в лучшем виде. Лишь в версии 14.4 исправили этот баг.
                                                                Цитата 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 пользователей:


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