Как можно было действительно получить уязвимую информацию от раздела подкачки?

Когда я гуглю этот вопрос, я только надеваю весь вид информации, как защитить уязвимые данные, как зашифровать подкачку, и насколько "опасный" мог быть должен сохранить "нормальную" подкачку в системе Linux.

Но я не мог найти программное обеспечение, метод или, "как к", чтобы действительно быть (считанным) любая часть данных из раздела подкачки.

Таким образом, мой вопрос, будучи "нормальным" гражданином, живущим в Западной Европе, действительно необходимо вытереть или зашифровать подкачку на моем компьютере? И перед кем-то отвечают на "да", у меня может быть exemple о том, как я мог протестировать и просочиться своя собственная подкачка, так, чтобы я мог на самом деле видеть, какие данные незащищены несмотря на мой зашифрованный дом?

8
задан 8 April 2014 в 14:04

2 ответа

будучи "нормальным" гражданином, живущим в Западной Европе, действительно необходимо вытереть или зашифровать подкачку на моем компьютере?

Это - личное мнение, то, которое зависит от того, насколько Вы оцениваете конфиденциальность своих данных, и насколько Вы хотите защитить свои данные из того, чтобы быть выставленным, если это должно было попасть в руки взломщика. Предположим, что у Вас есть ноутбук, и однажды он украден - как, вероятно, который является вором, попытался бы извлечь пароли или ключи шифрования или в других отношениях частные данные, и Вы заботитесь? Много людей не заботится, но некоторые делают. По общему признанию большинство воров просто продало бы ноутбук за непосредственную финансовую выгоду, но существуют случаи, где взломщик мог бы быть мотивирован для движения далее в попытке получить доступ к самим данным.

И перед кем-то отвечают на "да", у меня может быть exemple о том, как я мог протестировать и просочиться своя собственная подкачка, так, чтобы я мог на самом деле видеть, какие данные незащищены несмотря на мой зашифрованный дом?

Память любого процесса могла потенциально быть выгружена к области подкачки. Утечка памяти может быть опасной - очевидный пример, который видит быть Heartbleed - Как я использовал Heartbleed для кражи частного crypto ключа сайта. Память, которая выставляется Heartbleed только, принадлежит одному единственному процессу, тогда как память, потенциально выставленная Вашей областью подкачки, принадлежит каждому процессу. Вообразите процесс, содержащий закрытый ключ или список паролей (например, веб-браузер) выгружаемый - те объекты появятся, в простом тексте, в области подкачки. Извлечение их является вопросом отсеивания через память для конкретных шаблонов данных - это мог быть простой текст данные ASCII, видимые через strings, или это могло быть более включено, как в Heartbleed (где тест - то, что некоторые последовательные байты являются делителем общественности crypto ключ). Если у Вас есть зашифрованный / домашний раздел, то очевидной вещью искать является блок данных, который формирует ключ шифрования, который разблокирует данные пользователя.

Рабочий пример:

  • сделать bash -c 'echo SECRET=PASSWORD > /dev/null; sleep 1000' создать процесс удара с некоторыми секретными данными по его стеку

  • сделать sysctl vm.swappiness=100 увеличить swappiness (не необходимый, но может сделать пример легче),

  • выполненный top -c, нажмите f, включите столбец SWAP, нажмите q, чтобы пойти обратно вверх представление процесса, прокрутить вниз, пока Вы не будете видеть bash -c процесс

  • в другом терминале сохраните программу Chimnay Kanchi из Linux: Как создать нагрузку для системной памяти?кому: usemem.c, скомпилируйте его gcc -o usemem usemem.c, и выполненный usemem & неоднократно в терминале. Это израсходует блоки 512 МБ памяти за один раз. (Не имеет значения, что заставляет память быть выгруженной, это могло быть использование нормальной системы, убежавший процесс или преднамеренное нападение, конечным результатом является то же),

  • наблюдайте вершину, ожидайте bash -c быть подкачанным (ПОДКАЧИВАЮТ значение столбца> 0)

  • теперь выполненный strings /dev/sdaX | grep SECRET где X Ваша подкачка parititon

  • Поздравления - Вы просто извлекли "секретные" данные из раздела подкачки. Вы будете видеть несколько копий СЕКРЕТНОГО текста, сопровождаемого "паролем", копии, которые включают полную командную строку, пропущенную от родительского процесса удара, главного процесса и 'удара-c' процесс. Строки, которые не включают полную командную строку, просочились из 'удара-c' процесс.

  • Доказать, что секретная утечка от памяти процесса и не только командная строка, добавляет строку unsigned char secret[] = "SECRET=XXXX"; к usemem.c (чуть ниже unsigned long mem; строка). Перекомпилируйте и работайте usemem & неоднократно, и strings /dev/sdaX | grep SECRET снова. На этот раз Вы будете видеть 'XXXX' секрет пропускаться.

10
ответ дан 16 November 2019 в 17:41

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

Так для начала необходимо прочитать некоторые статьи практической разработки программного обеспечения и шифрования данных.

Начинают читать эту статью: http://www.ibm.com/developerworks/library/s-data.html?n-s-311

Hope это помогает.

-1
ответ дан 16 November 2019 в 17:41

Другие вопросы по тегам:

Похожие вопросы: