Ответы пользователя по тегу Информационная безопасность
  • Является ли мой алгоритм криптостойким? Если нет, то где его уязвимость?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Шифрование происходит следующим образом:

    Создается хеш ключа с помощью SHA512(его размер = 16 байт).
    Для каждого из 16 блоков хеша создается случайное число с помощью Random, используя значение блока в качестве начального числа.
    Создается массив байтов того же размера, что и ввод, и заполняется случайными числами.
    Каждый байт ввода XOR-суммируется с соответствующим байтом массива байтов.

    У этого алгоритма есть как минимум следующая уязвимость: если кто-то может получить пару "фрагмент открытого текста" - "соответствующий шифртекст" хотя бы для какого-нибудь открытого текста и заданного пароля, то он сможет расшифровать соответствующий фрагмент из любого текста зашифрованного с тем же паролем. Просто поксорив результат с известным фрагментом открытого текста и с соотвтетсвующим ему шифртекстом.
    Ответ написан
    4 комментария
  • Как решать подобные задачи по криптографии?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как решать подобные задачи по криптографии?

    Для начала прочитать условия и заглянуть в код. Увидеть в нём вот это:
    key_val = b""
        seed_val = plain_text[0]
        random.seed(seed_val)
        for i in range(16):
            key_val += random.randrange(1, 255).to_bytes()

    понять, что key_val однозначно генерируется из первого символа открытого текста.

    Флаг имеет формат вида ntcontest{FLAG_VALUE}

    Я не понял эту часть, имеется в виду, что первый символ открытого текста флага -- 'n'? Если так, то вообще решение в одно действие, если нет, то в любом случае можно организовать перебор всех возможных первых символов, генерировать по ним key_val, расшифровывать им и проверять, что первый символ полученного текста совпадает с символом использованным для генерации ключа.
    Ответ написан
    Комментировать
  • Как при помощи AppArmor выдать доступ только к одной папке?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Нужно, чтобы у /server/script.sh был доступ только к папке /server, но при выполнении скрипта с этим конфигом он спокойно читает содержимое из /var/log

    Невозможно на уровне ядра ОС отличить выполнение скрипта от выполнения интерпретатора этого скрипта. Ядро выполняет /bin/sh (или что у этого /server/script.sh написано в шебанге), а не сам /server/script.sh.
    Ответ написан
    Комментировать
  • Какой язык программирования лучше подходит для встраиваемых решений с требованием к повышенной надёжности и безопасности?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Какой язык программирования лучше подходит для встраиваемых решений с требованием к повышенной надёжности и безопасности?

    Максимально выразительный, который подходит для встраиваемого решения по остальным параметрам (доступность для данной платформы/быстродействие/размер программы/...).
    Почему? Потому что (Steve McConnell, "Code Complete"):
    Industry average experience is about 1–25 errors per 1000 lines of code
    for delivered software. The software has usually been developed using a hodge-podge
    of techniques (Boehm 1981, Gremillion 1984, Yourdon 1989a, Jones 1998, Jones 2000,
    Weber 2003). Cases that have one-tenth as many errors as this are rare; cases that have
    10 times more tend not to be reported.


    Поразительно, как дружно Иван Шумов Владимир Коротенко и Developer отвечают на какой-то другой вопрос. Народ, ну? Вы серьёзно не видите разницы между "какой язык лучше подходит" и "какой язык решает проблемы"?
    Ответ написан
  • Нужен ли ASSEMBLER специалисту по информационной безопасности?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Нужен ли ASSEMBLER специалисту по информационной безопасности?
    ...
    В интернете все разделились на 2 лагеря: одни говорят, что он устарел и на замену ему пришли высокоуровневые языки программирования...

    Нужен ли алфавит специалисту по информационной безопасности?
    ...
    В интернете все разделились на 2 лагеря: одни говорят, что алфавит устарел и на замену ему пришли эмодзи...
    Ответ написан
    3 комментария
  • Как получить доступ к файлу в пользовательской папке внутри рутовой в Ubuntu?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Мне казалось, что если моя, как пользователя, папка и файлы лежат внутри чужой, то я все равно смогу иметь к ним доступ.
    Возможно, это не так. Если да, то почему?

    Это не так. Для того чтобы иметь какой бы то ни было доступ к файлу нужно иметь доступ 'x' к каждому каталогу в пути до этого файла. Т.е. для доступа к файлу /root/.crons/whatever нужно иметь 'x' к /root и 'x' к /root/.crons.
    Ответ написан
    Комментировать
  • Как поддерживается безопасность при выполнении команд через ssh?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Когда мы пытаемся выполнить команду (впринципе без разницы какую, пускай будет ls -la) (пункт 4)
    делаются ли какие-то дополнительные проверки на сервере с точки зрения безопасности?

    Нет. Пользователь зашедший по ssh ничем не отличается от обычного локального пользователя.

    Может кто-то подскажет какой алгоритм выполнения команды на удаленной машине? (При условии что мы уже подключились к серверу).

    Достаточно посмотреть в вывод команды pstree:
    ├─sshd(700)─┬─sshd(8208)───sshd(8214,jcmvbkbc)───bash(8215)───ssh(8231)
    │           └─sshd(8232)───sshd(8238,jcmvbkbc)───bash(8239)───pstree(8244)

    чтобы понять, что после подключения по ssh, sshd (демон ssh, процесс 8238) запускает login-shell (процесс 8239), который показывает приглашение ввода ($). Когда в нём набирается команда pstree (процесс 8244), шелл просто запускает эту команду.
    Ответ написан
    6 комментариев
  • Как перевести это предложение с английского, или чем подделка пакета отличается от инъекции?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему инъекцию делать можно, а подделывать нельзя?

    Потому что будучи посередине можно инъецировать в соединение ранее перехваченные пакеты (replay). Но чтобы подделать пакет нужно знать ключ.
    Ответ написан
    Комментировать
  • Безопасно ли держать все файлы на сервере с CHMOD 777?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Если всё ставилось через apt то можно попробовать следующую команду:
    find /var/cache/apt/archives -name '*.deb' -print0 | sudo xargs -0 dpkg -Gi
    Она переустановит последние версии пакетов из кэша apt.
    Ответ написан
    Комментировать
  • Какая разница между WPA2-PSK security и WPA2-AES+TKIP?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вы странный вопрос задаёте: PSK (pre shared key) -- это способ аутентификации: общий пароль известный станции и точке доступа, а TKIP (temporal key integrity protocol) -- это способ шифрования и обеспечения целостности данных, это независимые вещи.
    Ответ написан
    Комментировать
  • Адекватная литература по ЯП VHDL?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    FPGA Prototyping by VHDL examples. PDF легко гуглится.
    Ещё хорошая книжка по основам: Digital Design and Computer Architecture. Тоже легко найти.
    Ответ написан
  • Какие существуют программы шифрования файлов для Linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    вот вам ещё пара ключевых слов: LUKS (утилита cryptsetup) -- для создания криптоконтейнеров, и openssl (команда enc) -- для шифрования отдельных файлов.
    Ответ написан
    Комментировать
  • SYN Flood DOS Attack. Как разобраться, что к чему и почему не работает?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Какой-то бардак в исходниках:
    struct tcphdr *tcph = (struct tcphdr *) (datagram + sizeof (struct ip));

    что за struct ip?
    iph->tot_len = sizeof (struct ip) + sizeof (struct tcphdr);

    htons?
    iph->check = csum ((unsigned short *) datagram, iph->tot_len >> 1);

    не iph->tot_len >> 1 а sizeof(*iph)

    А вообще вы ограничьтесь посылкой одного пакета и посмотрите на него в каком-нибудть tcpdump или wireshark.
    Ответ написан
  • Скрыть адрес вызываемой функции. С/C++?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    компилятор упорно не хочет вычислять выражение &((int*)f)[3] при компилировании

    Что говорит?

    имя функции - это константа на момент компиляции

    Ложное утверждение. Адрес функции становится известен только на этапе линковки, а если функция импортирована из dll -- то только в момент загрузки. Если линковка релоцируемая, то адрес может измениться в момент загрузки. Другое дело, что константная строка в этом смысле мало отличается от функции.

    Сложная конструкция должна выглядеть вот так:
    void (*fptr)(int) = (void(*)(int)) (((int*)f) + 3);
    Вариант с (f+3) компилироваться не будет, т.к. арифметика указателей не работает с указателями на функции.

    В линуксе эта конструкция компилируется и работает.
    Ответ написан
    5 комментариев
  • Насколько безопасно хранить ключ encfs в Dropbox, YandexDisk, etc?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Если в вашем пароле меньше энтропии, чем в ключе, то подбирая пароль можно быстрее добраться до ваших данных.
    Ваш К.О.
    Ответ написан
    Комментировать