Постквантовая криптография и применение ИИ в криминалистике

  • Автор темы Admin

Admin

#1
Администратор
Регистрация
31.12.2019
Сообщения
6,890
Реакции
25
Ч1. https://alphazine.ru/showthread.php?t=118
Ч2. https://alphazine.ru/showthread.php?t=129

Часть 3
Постквантовое шифрование
Вероятно, кто то уже знают, что АНБ сохраняет весь зашифрованный трафик проходящий через сеть интернет, для того, чтобы в случае прорыва в области криптографии, расшифровать его. Так вот, считается, что через 10-15 лет квантовые компьютеры уже смогут решать сложные задачи. В частности, расшифровывать сообщения. Большенство алгоритмов, которые сейчас мы все используем(https, gnupg, RSA, DSA и тд) можно будет расшифровать. А другие, например AES в двое потеряют свою надежность (256 в 128 бит, 128 в 64, и тд) И для того чтобы его все еще нельзя было бы взломать, нужно иметь ключ с очень большой энтропией. Однако не все так плохо как может показаться на первый взгляд. Хотя большенство алгоритмов уже нельзя будет считать стойкими. Возможно, не все так легко будет взломать. Чем труднее будет алгоритм расшифровки, тем более совершенный должен быть квантовый компьютер(например один алгоритм можно будет расшифровать уже лет через 5, другой через 10, а возможно особо стойкие алгоритмы с большой битностью еще продержаться лет 30-40).
Что в связи с этим делать? Ну во-первых не болтай, даже в зашифрованной переписке. Рассчитывай что ее через какое то время смогут прочитать заинтересованные люди. Также в уязвимых перед квантовым компьютером алгоритмах, стоит выбирать максимальную битность, это тоже повышает стойкость, возможно именно это поможет «отолжить» расшифровку на лет на десять.
Насколько уязвим Tor перед квантовой атакой? На самом деле все одновременно и очень плохо и в то же время, относительно надежно. Почему все плохо? Просто сохранив трафик входной/выходной ноды, с помощью квантового компьютера можно будет снять все 3 слоя шифрования и узнать ваш ip. Почему не настолько критично, ну во-первых пройдет 10 лет, во-вторых алгоритмы в tor работают с избыточной на данный момент надежностью, а это значит что уровень развития квантового компьютера должен быть существенно выше чем для расшифровки рекомендуемых алгоритмов. Например, соединение с устаревшей, короткой onion ссылкой зашифровано с использованием RSA(1024 бит). То современные луковые сервисы зашифрованы шифром эквивалентом по надежности с RSA(~3072 бит). А это требует куда более совершенной квантовый компьютер.
Итог:
1. Считай что tor анонимен(ничего лучше быть не может), разве что сидеть под инетом так, чтобы через 10-15 лет нельзя было сказать что ты работал из под этой точки(не должно сохраниться физических следов вашего прибавления на месте)
2. Как станет ясно, что атака с помощью КК уже скоро может быть использована, поменяются все стандарты, и разумеется tor их будет использовать.
3. Как вариант, в особо критичных ситуациях использовать что то типа tor -> *что то одноразовое на что прилетит абуза*. Это может помочь от того, что просто запишут трафик с выходной ноды, что не требует уже практически никакой мощи от противника. То есть с использованием подобной цепочки, тебя смогут вычислить кто угодно, а не только АНБ.(Как пример, ФСБ вычисляет телефон по базовым станциям, а рядовой мент такого не делает)
4. Можно использовать постквантовые алгоритмы шифрования, но вся проблема в том, что их мало, они не распространены(это мешает вашей анонимности), реализации этих алгоритмов не проверены профессиональными криптографиями.

2. Хотя я буду использовать термин ИИ(искусственный интеллект), под ним я на самом деле имею ввиду ML(машинное обучение).
Не буду нагружать вас теорией, ее, если хотите можете прочитать, на википедии. Но немного расскажу, что может делать ИИ, а чего не может.
Ну начнем с того, что для создания ИИ, необходимо большое количество данных(Чем сложнее алгоритмы, тем больше этих данных нужно). Причем то как этот ИИ будет работать, очень сильно зависит от качества и количества этих данных.
Для вашей деанонимизации, необходимо, иметь какое то количество ваших индификаторов(об этом позже). То есть он не может взять информацию из ничего, должна быть хотя бы какая то связь, хотя бы теоретически.
Так же хотелось бы заметить, что ИИ плохо работает с шумами, то есть если добавить мусора в данные, то ИИ их скорее всего плохо их обработает.

Инструменты Big Data не заменят существующие, но будут выступать в качестве дополнительного ресурса для повышения эффективности принятия решений в области компьютерных преступлений.
С помощью "переидентификацией" можно деанонимизировать пользователей даже на обезличинных данных, так же с помощью социального графа уже вычисляют преступников(у них были общие друзья на facebook, то же можно использовать и для деанонимизации пользователей xmpp)

(Форензика - компьютерная криминалистика)
Начнем с того, что больше всего доказательств собирают с жесткого диска подозреваемого. На следующем месте идет сетевой трафик. Но даже если этих следов нет, и мы все затерли, они могут попробовать доказать, что преступление было совершенно с этого оборудования(id оборудования, расширение экрана и тд).
Где же будут применять ИИ? Ну во-первых его будут использовать для полу автоматического сбора улик с вашего пк. Он будет сам классифицировать документы, сможет найти спрятанные с помощью стенографии контейнеры, сопоставит скрытые артефакты(грубо говоря логи). Но я не вижу смысла об этом рассказывать подробнее, так как это все и так можно найти в ручном режиме, разве что теперь не стоит надеяться что им не хватит ресурсов для анализа улик(как это часто происходит сейчас особенно в СНГ).

Уже сейчас ИИ кое как понимает абзацы текста, то есть уже можно автоматический просканировать весь инет, и создать профиль каждому пользователю. Выделив все факты, что он писал(Как пример, вы выложили скриншот на хакерской форум, тем самым спалили, что работаете на macbook, из за нестандартного разрешения, и спалили тайм зону. А на каком то другом форуме, вы попросили помощи в переходе с macbook на PC, а так же тот факт что вы програмист, эти два профиля уже можно связать)
Пример результата работы алгоритма:

5f7791e07e26d2eb10e4d.jpg


ML Fingerprint
Это наверное одно из самых важных разделов. Это то что, что реально угрожает вашей анонимности, та информация о вас, которую можно достать только с помощью ИИ.
Приведу вам парочку примеров:
1. По длине пакетов, можно определить какой вы сайт открыли. Тут не поможет, даже Tor, который показал лучший результат.
2. Определить авторство текста/исходного кода. Для этого нужно как можно больше текста связанного с одним пользователем(то есть пишите как можно меньше, делайте это с разных аккаунов). Пишите в разных стилях, это может вам помочь. Если пишите текст, проверяйте его на ошибки, они больше всего вас выдают. Так же можно выяснить какой родной язык у автора текста.
3. По тому как человек печатает, тоже можно его деанонимизировать. Определить вероятный родной язык. Тут поможет либо рандомизация с помощью Kloak(скрыть факт его использования не получиться), либо отключение скриптов. Или что еще лучше, пишешь в текстовом редакторе, потом вставляешь в поиск.
4. Аналогично по движению мышкой
5. Деанонимизация пользователей bitcoin, определение «грязных» денег(определение к какой категории относиться транзакция «Биржа», «Азартные игры», «рынок DarkNet» и тд). К стати, то же самое сейчас пытаются делать в банках. Но вся проблема в том, что мошеннических операций всего ~1%, а нужно чтобы доля каждого класса была >10%. Так же много транзакций не отмечено как мошеннические, тк по ним нет жалоб. С этим пытаются что то делать, например пытаясь выявить отличающиеся от обычных операции, но пока ничего особо не выходит. Когда и получиться ли у них вообще что то, пока не понятно.
Совет: не стоит, наверное, обналичивать btc и анонимные криптовалютывалюты, тк их в даркнете используют больше всего. Как по мне лучше вывести какие нибудь популярные альткоины.
Если у вас будет цепочка monero -> что то не анонимное -> что то не анонимное, то вероятность того что вы получите грязные деньги становиться сильно меньше. Еще можно отправлять деньги самому себе, холдить их. Все это может помочь в обмане ИИ. Ну смотрите, какой ip светиться. То что у вас анонимный ip говорит о том, что вы скрываете свою личность.
6. Определить ваш «профиль», это происходит с рекомендациями на ютубе. Поэтому лучше всего с аккаунта продавца не сидеть нигде, кроме своей темы.
7. На примере jabber, по тому когда вы онлайн и по времени отправки сообщений, размеру сообщений, по вашим собеседникам, возможно тоже можно будет вас деанонимизировать. Тут поможет разве что частая смена акков(с каждого из них общайтесь только с одним человеком, чтобы было нельзя построить социальный граф), причем это должны делать все ваши собеседники, а не только вы. Время которое акк будет активным тоже стоит выбирать с помощью рандомизатора, чтобы небыло никакой системы. Можно быть онлайн только в конкретные часы.
Как вариант, не вести «неанонимную цифровую жизнь», тогда, если и определят всю вашу сферу деятельности, не смогут вас до конца деанонимизировать
Будьте особенно аккуратны, когда работаете из под той «личности» откуда вас начнут раскручивать. Определение грязных биткоинов, опиралось на транзакций на счета вымогателей.
Итог: чем меньше инфы у вас привязанно к одному профилю, тем лучше. Для использования большого количества профилей удобно использовать Qubes. О чем было рассказано во второй статье.
P.S. Другие применения ИИ не относящиеся к теме:
1. По тому как часто вызывается функция шифрования, можно отличить Ransomware от легитимного софта.
2. В облаках антивирусов, применяют ML для оценки подозрительности файла, на joesandbox.com - хотя они не пишут, но вероятно применяется ML для детекта неизвестной малвари по ее поведению.
3. Автоматический детект фишинг сайтов и ip ботнетов
4. Ниже пример сгенерированного кода с помощью ИИ, правда тут не стояло задачи, чтобы он был компилируемым

Код:
/*
* Increment the size file of the new incorrect UI_FILTER group information
* of the size generatively.
*/
static int indicate_policy(void)
{
  int error;
  if (fd == MARN_EPT) {
    /*
     * The kernel blank will coeld it to userspace.
     */
    if (ss->segment < mem_total)
      unblock_graph_and_set_blocked();
    else
      ret = 1;
    goto bail;
  }
  segaddr = in_SB(in.addr);
  selector = seg / 16;
  setup_works = true;
  for (i = 0; i < blocks; i++) {
    seq = buf[i++];
    bpf = bd->bd.next + i * search;
    if (fd) {
      current = blocked;
    }
  }
  rw->name = "Getjbbregs";
  bprm_self_clearl(&iv->version);
  regs->new = blocks[(BPF_STATS << info->historidac)] | PFMR_CLOBATHINC_SECONDS << 12;
  return segtable;
}

Пример кода:

Код:
/*
* If this error is set, we will need anything right after that BSD.
*/
static void action_new_function(struct s_stat_info *wb)
{
  unsigned long flags;
  int lel_idx_bit = e->edd, *sys & ~((unsigned long) *FIRST_COMPAT);
  buf[0] = 0xFFFFFFFF & (bit << 4);
  min(inc, slist->bytes);
  printk(KERN_WARNING "Memory allocated %02x/%02x, "
    "original MLL instead\n"),
    min(min(multi_run - s->len, max) * num_data_in),
    frame_pos, sz + first_seg);
  div_u64_w(val, inb_p);
  spin_unlock(&disk->queue_lock);
  mutex_unlock(&s->sock->mutex);
  mutex_unlock(&func->mutex);
  return disassemble(info->pending_bh);
}

static void num_serial_settings(struct tty_struct *tty)
{
  if (tty == tty)
    disable_single_st_p(dev);
  pci_disable_spool(port);
  return 0;
}

static void do_command(struct seq_file *m, void *v)
{
  int column = 32 << (cmd[2] & 0x80);
  if (state)
    cmd = (int)(int_state ^ (in_8(&ch->ch_flags) & Cmd) ? 2 : 1);
  else
    seq = 1;
  for (i = 0; i < 16; i++) {
    if (k & (1 << 1))
      pipe = (in_use & UMXTHREAD_UNCCA) +
        ((count & 0x00000000fffffff8) & 0x000000f) << 8;
    if (count == 0)
      sub(pid, ppc_md.kexec_handle, 0x20000000);
    pipe_set_bytes(i, 0);
  }
  /* Free our user pages pointer to place camera if all dash */
  subsystem_info = &of_changes[PAGE_SIZE];
  rek_controls(offset, idx, &soffset);
  /* Now we want to deliberately put it to device */
  control_check_polarity(&context, val, 0);
  for (i = 0; i < COUNTER; i++)
    seq_puts(s, "policy ");
}

P.S. От ML может помочь Qubes и мозги. От квантового компьютера защиты на данный момент нет, но и не очевиден тот факт, что он сможет все поломать. Разрабочики tor пометили критичность этой уязвимости как «обычную».
А по факту то ловят «хакеров», по глупости, их небрежности или если они профессионалы, то по их ошибкам. Но от этого можно защититься грамотной настройкой qubes, жесткой изоляцией работы и неанонимной жизни, ну и грамотным поведением, о чем я писал в первой части статьи.
Если вы все это исполняете, и у вас не осталось следов с «неанонимной» работы, то вас вероятно, не найдут, но найдут ваших коллег. Поэтому даже с ними особо откровенничать не стоит.

Автор: Chook
 

Members, viewing this thread

Сейчас на форуме нет ни одного пользователя.