- PVSM.RU - https://www.pvsm.ru -

Самоуничтожение флэш-памяти

Самоуничтожение флэш-памяти - 1

Секретные ключи и пароли доступа — самая конфиденциальная и чувствительная к утечке информация. Для максимальной сохранности её можно держать в надёжном хранилище, в зашифрованном виде и/или с разделением секрета по схеме Шамира [1]:

Утилита horcrux разбивает файл на несколько зашифрованных частей (например, 5), а для дешифровки нужно найти и соединить несколько из этих частей (например, 3)

Утилита horcrux разбивает файл на несколько зашифрованных частей (например, 5), а для дешифровки нужно найти и соединить несколько из этих частей (например, 3)

На случай транспортировки файлов можно предусмотреть дополнительную меру безопасности: самоуничтожение накопителя. Существуют специальные SSD-накопители [2] и USB-флэшки с такой функцией. При желании, электронная схема для самоуничтожения памяти собирается самостоятельно [3].


Уничтожение SSD-диска

Недавно компания Team Group выпустила линейку SSD-накопителей P250Q-M80 [2] с уничтожением данных одним нажатием кнопки на корпусе ПК. Возможно, это первое серийное изделие такого рода.

Самоуничтожение флэш-памяти - 3

В зависимости от времени нажатия кнопки активируется один из двух режимов уничтожения данных: программный и аппаратный. Статус уничтожения отображается в реальном времени по индикации светодиода. В документации [4] написано, что изделие защищено тайваньским патентом № M662727.

Самоуничтожение флэш-памяти - 4

Накопители выпускаются в формате M.2 PCIe, интерфейс PCIe Gen4 x4. Доступны модели объёмом 256 ГБ, 512 ГБ, 1 ТБ, 2 ТБ. Внутри установлены 112-слойные чипы 3D TLC NAND. Скорость последовательного чтения/записи: 7000/5500 МБ/с. Максимальное энергопотребление: 3,3 В × 1358 мА. Габариты 80×22×3,5 мм.

Выжигание чипов производится скачком напряжения и сопровождается задымлением:

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

Cамоуничтожение USB-флэшки по биоимпедансу

Ранее в открытом доступе публиковалась инструкция [3] по производству самоуничтожающихся USB-флэшек.

Самоуничтожение флэш-памяти - 5

Идея в том, чтобы USB-флэшка гарантированно уничтожила конфиденциальную информацию, если попадёт в руки злоумышленника. Как отличить владельца от злоумышленника? Тут автор придумал интересный фокус: USB-флэшка производит уничтожение, если не смочить пальцы перед прикосновением. От этого зависит электрическое сопротивление кожи (биоимпеданс). Этот параметр и запускает триггер.

Самоуничтожение флэш-памяти - 6

В техническом описании микросхемы флэш-памяти указано, что максимальное напряжение, которое она может выдержать — 4,6 В. Поэтому энтузиаст решил сконструировать в электрической цепи удвоитель напряжения [5] с номинальных 5 В от USB-порта.

Самоуничтожение флэш-памяти - 7

Схему измерения биоимпеданса автор позаимствовал из книги «Искусство электроники» [6]. Если сопротивление кожи низкое (500 кОм или меньше), мы можем предположить, что пальцы мокрые. Наверняка есть специализированные чипы для измерения биоимпеданса, но из-за дефицита чипов он использовал обычные компоненты.

Вот как устроена схема:

Самоуничтожение флэш-памяти - 8

В качестве микроконтроллера здесь используется ATtiny25, всё приложение поместилось в 55 строк кода:

#include <avr/io.h>

// PWM PA6
// ADC PA1
// LED PA2

const float R2 = 747e3;   // R2 in schematic
const float Rth = 0.4e6;  // If r > 1Mohm, finger not wet.

void init_pwm() {
   DDRA |= (1 << PA6);                    // PA6 as output
   OCR1A = 0x0000;
   TCCR1A |= (1 << COM1A1);               // set non-inverting mode
   TCCR1A |= (1 << WGM11) | (1 << WGM10); // set 10bit phase corrected PWM Mode
   TCCR1B |= (1 << CS11);                 // set prescaler to 8 and starts PWM
}

void set_pwm(float voltage) {
   OCR1A = ( voltage / 5 )* 0x400;
}

void init_adc() {
    ADMUX &= ~(1 << REFS0); // Use 5V as reference
    ADMUX &= ~(1 << REFS1);
    ADMUX |= (1 << MUX0);   // Use ADC1 (PA1)
    ADCSRB |= (1 << ADLAR); // Left adjusted (8bit) operation alright
    ADCSRA |= (1 << ADEN);  // Enable ADC
}

float read_adc() {
    float voltage;
    ADCSRA |= (1 << ADSC);
    while(ADCSRA & (1 << ADSC)) {};
    voltage = ADCH;
    voltage = voltage * 5 / 0xff;
    return voltage;
}

int main(void) {
    DDRA = 1 << PA2; // LED

    init_pwm();
    init_adc();

    while(1)
    {
        float v, r = 0;

        v = read_adc();
        set_pwm(v);
        r = v * (R2/2.5);

        (r > Rth) ? (PORTA &= ~(1 << PA2)) : (PORTA |= 1 << PA2);
    }
}

Испытание проекта на макетной плате со смоченными пальцами:

Самоуничтожение флэш-памяти - 9

Конечно, облизать пальцы перед прикосновением — это очень необычный триггер, так что при желании схему можно модифицировать на своё усмотрение. Все чертежи и исходный код опубликованы в открытом доступе.

Автор: GlobalSign_admin

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ssd/436083

Ссылки в тексте:

[1] с разделением секрета по схеме Шамира: https://habr.com/ru/companies/globalsign/articles/776520/

[2] специальные SSD-накопители: https://industrial.teamgroupinc.com/en/products-detail/p250q-m80/

[3] собирается самостоятельно: https://rootkitlabs.com/2022/08/31/I-m-Building-a-Self-Destructing-USB-Drive-Part-2/

[4] документации: https://industrial.teamgroupinc.com/en/document-detail/0/p250q-m80/

[5] удвоитель напряжения: https://en.wikipedia.org/wiki/Voltage_doubler

[6] «Искусство электроники»: https://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521809266

[7] Источник: https://habr.com/ru/companies/globalsign/articles/964636/?utm_campaign=964636&utm_source=habrahabr&utm_medium=rss