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

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

12.05.2016, 13:00. Показов 1034. Ответов 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
6859 / 3791 / 1026
Регистрация: 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
6859 / 3791 / 1026
Регистрация: 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
6859 / 3791 / 1026
Регистрация: 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
6859 / 3791 / 1026
Регистрация: 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
6859 / 3791 / 1026
Регистрация: 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
6859 / 3791 / 1026
Регистрация: 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
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru