Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 30

Могут ли вирусы в "мусоре" оперативной памяти извлечь что то полезное из работы других программ?

12.05.2016, 13:00. Показов 977. Ответов 11
Метки си (Все метки)

Студворк — интернет-сервис помощи студентам
новичок. Если в микроконтроллерах возможно прочитать любой участок памяти типа int a=*(int*)0x867300); то в Виндовсе такое вызывает ошибку, хотя программа компилируется нормально.
Но если записать
C++
1
2
3
4
5
6
7
int i=5;
    int *p;
    p=&i;
 
    for(int i=0; i<1000; i++)
    printf( "%c", *(p+i) );
    return 0;
и выводить все, то там не только мусор, но и разные пути к файлам и даже какие то элементы работы графической платы NVIDIA встречаются, что явно не от моей программы hellow world произошло. Интересует, могут ли вирусы подобным образом читать данные из оперативной памяти, и что то извлекать полезное из мусора? Если работает одна программа, то может ли другая программа прочитать её регистры памяти ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2016, 13:00
Ответы с готовыми решениями:

Извлечь контент из оперативной памяти
Добрый день! Возможно я ошибся разделом, но честно говоря уже весь гугл перерыл в поисках ответа, в общем есть есть видеоигра с...

Как извлечь файл из оперативной памяти?
На одном из сайтов есть около 100 страниц с апплетами Ява (расчеты в электронике) Из них только 6 страниц сохраняются вместе с апплетом...

Могут ли возникнуть проблемы при покупке указанной платы оперативной памяти
У меня есть оперативка kingston kvr1333d3n9/4g, а я хочу докупить HyperX на 4гб.Могут ли быть проблемы?И какую именно взять?

11
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
12.05.2016, 13:06
Цитата Сообщение от PeterBr Посмотреть сообщение
то в Виндовсе такое вызывает ошибку, хотя программа компилируется нормально.
Это только для пользовательского режима ошибка вылетает. Из драйвера ядра можно читать что угодно.

Цитата Сообщение от PeterBr Посмотреть сообщение
даже какие то элементы работы графической платы NVIDIA встречаются, что явно не от моей программы hellow world произошло
Ваша программа может читать только свою память, но проблема в том, что при выделении этой памяти из общего пула ничего не затирается, и поэтому там может быть все что угодно от предыдущих "хозяев".

Цитата Сообщение от PeterBr Посмотреть сообщение
Интересует, могут ли вирусы подобным образом читать данные из оперативной памяти, и что то извлекать полезное из мусора?
Могут.

Цитата Сообщение от PeterBr Посмотреть сообщение
Если работает одна программа, то может ли другая программа прочитать её регистры памяти ?
Регистры тут не при чем. А память прочитать может, если у нее есть право загрузки драйвера уровня ядра (многие вирусы работают как раз таким образом).
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.05.2016, 01:11
В "обычных" процессорах есть понятие виртуальной памяти, которого нет в микроконтроллерах. Все пользовательские процессы работают в виртуальном адресном пространстве, которое операционная система отображает на физическую память. Если в двух разных программах обратиться к одному и тому же виртуальному адресу, то в общем случае это будут обращения к разным физическим адресам. Напрямую работать по физическим адресам пользовательские программы не могут, сие можно выполнить лишь с уровня ядра операционной системы. Возможно обращение в виртуальную память другого процесса, но только через обращение к операционной системе и с учётом прав доступа

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

Вирус, конечно, может заказать себе динамическую память и попробовать в ней поковыряться, надеясь, что там что-то осталось от предыдущих программ. Но такой метод очень сомнительный, потому что ковыряться в памяти, не зная, что она из себя представляет, большой пользы не принесёт. Если бы это могло наносить ущерб, то операционная система при заказе страницы памяти попросту обнуляла бы её (а может так оно на самом деле и делается, если память отобразилась на физическую страницу, которой уже пользовался кто-то другой)

Добавлено через 1 минуту
Цитата Сообщение от PeterBr Посмотреть сообщение
Если работает одна программа, то может ли другая программа прочитать её регистры памяти ?
Может в том числе прочитать и регистры. Через операционную систему, если есть на это достаточно привилегий. Отладчик именно так и работает - посредством операционной системы он ковыряется в чужом адресном и регистровом пространстве
2
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
13.05.2016, 11:55
Цитата Сообщение от Evg Посмотреть сообщение
Вирусы, думается, являются обычными пользовательскими программами с точки зрения операционной системы.
Любой мало-мальски уважающий себя вирус уже давно имеет ядерный модуль для скрывания своего присутствия в системе (как минимум). Чисто из третьего кольца работают только всякие школьнические поделки-вымогатели.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.05.2016, 12:38
Цитата Сообщение от quwy Посмотреть сообщение
Любой мало-мальски уважающий себя вирус уже давно имеет ядерный модуль для скрывания своего присутствия в системе (как минимум)
И имеет возможность обращаться по физическим адресам или по виртуальным адресам произвольного процесса?
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
13.05.2016, 12:49
Цитата Сообщение от Evg Посмотреть сообщение
И имеет возможность обращаться по физическим адресам или по виртуальным адресам произвольного процесса?
А кто ж ему помешает?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.05.2016, 13:01
Пичаль
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
13.05.2016, 13:08
Цитата Сообщение от Evg Посмотреть сообщение
Пичаль
Ниче, в 64-битных Windows загружать неподписанные драйвера нельзя, так что теперь проще. Правда, некоторые вирусописатели используют чужие скомпроментированные ключи и поражают-таки не обновляемые вовремя системы, но это уже не так массово, как было во времена x86.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.05.2016, 13:26
Если драйверу позволено всё, то в общем случае систему практически невозможно спасти от атаки. Микроядерные операционки в этом смысле более защищённые, т.к. драйверы уже не имеют нужных привилегий, но там наверное проблемы с производительностью. Может с чем-то ещё, если "обычные" операционки по такой схеме не делают, а для вопросов защиты впихивают в интеловский процессор всё больше и больше всяких аппаратных фич
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
13.05.2016, 14:44
Цитата Сообщение от Evg Посмотреть сообщение
Если драйверу позволено всё, то в общем случае систему практически невозможно спасти от атаки.
Вот механизм ЭЦП драйверов и решает проблему. Подпись драйвера проверяет ядро. Чтобы влезть в ядро и отключить этот механизм нужен драйвер. Но зачем нам что-то отключать, если драйвер уже есть? Замкнутый круг. Приходится, конечно, производителям железа раскошеливаться на WHQL, но зато количество невыковыревоемой заразы сократилось в разы.

Цитата Сообщение от Evg Посмотреть сообщение
проблемы с производительностью
К сожалению да. Шлюзование довольно дорого. Но, с другой стороны, современные процессоры позволили начиная с Vista вынести весь GUI в userspace, что есть хороший шаг к частичной микроядерности.

Цитата Сообщение от Evg Посмотреть сообщение
впихивают в интеловский процессор всё больше и больше всяких аппаратных фич
Тут сильно не разгуляешься без потери обратной совместимости. Даже такая безобидная вещь как NXE и то сломала огромное количество софта.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.05.2016, 16:24
Цитата Сообщение от quwy Посмотреть сообщение
Ниче, в 64-битных Windows загружать неподписанные драйвера нельзя, так что теперь проще.
Проще в чём? Что свой драйвер не сможешь установить? Подпись-то не сделать.
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
13.05.2016, 16:38
Цитата Сообщение от nmcf Посмотреть сообщение
Проще в чём?
В том, что руткит простым запуском EXE-шника не подцепишь, см. тему.

Цитата Сообщение от nmcf Посмотреть сообщение
Что свой драйвер не сможешь установить?
Если разрабатываешь драйвера, запускай систему в отладочном режиме и все будет устанавливаться. 99999 из 100000 пользователей свои драйвера разрабатывать не нужно, а вот от вирусни защита как раз очень нужна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2016, 16:38
Помогаю со студенческими работами здесь

Как можно сделать так, что бы при запуске excel файла с макросом не выводилось сообщение о том что макросы могут содержать вирусы?
Может кто нибудь знает как можно сделать так, что бы при запуске excel файла с макросом не выводилось сообщение о том что макросы могут...

Ассемблер, Перемещение программ в оперативной памяти
Всем Доброго времени суток. Возникла такая проблема: нигде не могу найти дельную информацию по &quot;Перемещению программ в оперативной...

Как узнать объем оперативной памяти через реестр? (не используя сторонних программ)
мне нужно заполнить поле в базе данных значением объема оперативной памяти, на котором запускается моя программа. как его найти в реестре???

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

Задача. Найдите количество вариантов локализации вирусов в системе N последовательно-соединённых городов, с учётом того, что вирусы могут распространя
Задача 3. «Эпидемия» В придуманной стране города располагаются полукругом вокруг пустыни и соединены одной дорогой (не циклично). А в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru