The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект TCP Stealth стал ответом на деятельность спецслужб по..., opennews (ok), 22-Авг-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


10. "Проект TCP Stealth стал ответом на деятельность спецслужб по..."  +/
Сообщение от Нанобот (ok), 22-Авг-14, 15:06 
а если бы использовали TCP_MD5SIG, можно было бы добиться аналогичного результата без необходимости патчить йадро
Ответить | Правка | Наверх | Cообщить модератору

49. "Проект TCP Stealth стал ответом на деятельность спецслужб по..."  +4 +/
Сообщение от pavlinux (ok), 22-Авг-14, 18:16 
Чукча не читатель, чукча песатель?

https://gnunet.org/sites/default/files/tcp_stealth_3.16_1.diff


+#ifdef CONFIG_TCP_STEALTH
+u32 tcp_stealth_sequence_number(struct sock *sk, __be32 *daddr,
+                u32 daddr_size, __be16 dport)
+{
+    struct tcp_sock *tp = tcp_sk(sk);
+    struct tcp_md5sig_key *md5;
+
+    __u32 sec[MD5_MESSAGE_BYTES / sizeof(__u32)];
+    __u32 i;
+    __u32 tsval = 0;
+
+    __be32 iv[MD5_DIGEST_WORDS] = { 0 };
+    __be32 isn;
+
+    memcpy(iv, (const __u8 *)daddr,
+           (daddr_size > sizeof(iv)) ? sizeof(iv) : daddr_size);
+
+#ifdef CONFIG_TCP_MD5SIG
+    md5 = tp->af_specific->md5_lookup(sk, sk);
+#else
+    md5 = NULL;
+#endif
...

Ответить | Правка | Наверх | Cообщить модератору

104. "Проект TCP Stealth стал ответом на деятельность спецслужб по..."  +/
Сообщение от pavlinux (ok), 24-Авг-14, 01:48 
То есть никто не заметил, что посаны массив iv[] - обнуляют, а на sec[] - забили ...

+    __u32 sec[MD5_MESSAGE_BYTES / sizeof(__u32)];
+    __be32 iv[MD5_DIGEST_WORDS] = { 0 };

... а меж тем после его заполнения ...

 
    for (i = 0; i < MD5_DIGEST_WORDS; i++)
        iv[i] = le32_to_cpu(iv[i]);
    for (i = 0; i < MD5_MESSAGE_BYTES / sizeof(__le32); i++)
        sec[i] = le32_to_cpu(((__le32 *)tp->stealth.secret)[i]);


... и  работы функции

    md5_transform(iv, sec);

Ну а это любимое занятие всех чайников (либо косящих под чайников) - добавить
свою супер-криптохрень после известных алгоритмов, и обязательно с XOR.
md5_transform() им мало, он верят в свою чистую карму и чувствуют что постигли Харикришну :)

    isn = cpu_to_be32(iv[0]) ^ cpu_to_be32(iv[1]) ^
          cpu_to_be32(iv[2]) ^ cpu_to_be32(iv[3]);

    if (tp->stealth.mode & TCP_STEALTH_MODE_INTEGRITY)
        be32_isn_to_be16_ih(isn) =
            cpu_to_be16(tp->stealth.integrity_hash);

    return be32_to_cpu(isn);
}


массив sec[] остаётся в памяти, с некриптованным кодом tp->stealth.secret[]
...

Ну децкий сад - посаны упорно верят в XOR.


((__be16 *)iv)[6] ^= dport;

И эта, массив iv[MD5_DIGEST_WORDS] (см. выше) состоит из 4 элементов!!!
Где они 7-ой накопали???? Вроде от преобразования BIG-ENDIAN<->LITTLE-ENDIAN
размеры массива не изменяются :)

#define MD5_DIGEST_WORDS 4
http://lxr.free-electrons.com/source/include/linux/cryptohas...
---
Вся функция - иммитация бурной деятельности, тупа заменяется на:  


u32 tcp_stealth_sequence_number(void) {

    return be32_to_cpu(get_random_int());

}


Какой-то троян от АНБ, ну в жопу...

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру