Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (31)

Лучшие ответы пользователя

Все ответы (34)
  • Книги и ресурсы по информационной безопасности

    @polarnik
    Тестировщик
    Защищённый код (Дэвид Лебланк). Есть несколько редакций книги. Книга от Microsoft, читается легче, чем труды Шнайера (да и книгу Шнайера купить сложнее). Хотя обе книги устарели по меркам ИБ, минимум половина их содержания будет актуальна ещё несколько десятков лет.

    Известная книга от Криса Касперски "Техника и философия хакерских атак". Описание книг можно посмотреть тут: kpnc.opennet.ru/allkpnc.updated.zip
    Примеры книг там же. Например, "Техника сетевых атак": kpnc.opennet.ru/tpna.full.zip

    Также советую сайт https://www.owasp.org.
    И площадки для взлома, есть несколько хороших прощадок, где можно потренироваться. Наиболее документированная площадка - OWASP WebGoat: https://www.owasp.org/index.php/WebGoat. Подсказки к прохождению есть на самом сайте-площадке. А также есть видео-версия прохождения.

    Для выстраивания знаний в структуру посмотрите cwe.mitre.org. Рассмотрите TOP 25 (эти узлы наиболее полно расписаны). Далее обратите внимание на остальные сотни возможных недостатков в ПО и вариантов защиты от них.

    Если понравится смотреть видео для OWASP WebGoat, то зайдите на securitytube.net.

    Крайне полезный проект: www.pentest-standard.org/. Какое то время занимался переводом на русский материалов этого проекта. Многому научился при этом. Основа - mind-карта. И добротное описание к узлам. Позволяет выстроить в голове план пен-теста, защиты. Тут многое предусмотрено, ни в одной книге такого не читал. Но подробной пошаговой инструкции тоже нет, надо будет домысливать.
    Ответ написан
  • Как хорошо учиться, если тяжело понимать предмет?

    @polarnik
    Тестировщик
    Когда-то научили замечательному способу. Суть - загрузить в голову информацию.
    Например, медицина или химия - много терминов, сложные формулы, выводы основаны на предположениях авторов.

    Надо прочитать книгу по предмету, как художественную литературу.

    Цель дочитать до конца. Просто читайте книгу по химии. Так вы, может, и не поймёте сразу, что такое валентность, но поймёте, что у водорода и кислорода разные степени валентности. И что у хлора тоже есть некая степень валентности. Это ещё не знания, но уже что-то. Дополнительный плюс в том, что когда вы услышите знакомое слово, то будете знать где про него написано, в какой главе какой книги.

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

    Как говорили мудрецы: "Первый шаг - половина пути".

    Потом надо общаться и читать более предметные тексты. И радоваться тому, что вы понимаете смысл. Термины соединяются в модели, тексты начинают соответствовать или несоответствовать моделям.
    Ответ написан
  • Есть ли возможность вытащить информацию о владельце сертификата из файла с расширением.sig?

    @polarnik
    Тестировщик
    Раз говорите о КриптоАРМ, то полагаю, речь об алгоритме ГОСТ. Если будете использовать OpenSSL, как советуют выше, то ищите OpenSSL с поддержкой ГОСТ. Вот соответствующая сборка: www.cryptocom.ru/opensource

    Те файлы sig, с которыми сталкивался, использовались при сдаче отчётности в электронном виде. Пара счёт-фактура + подпись, также в комплекте шел набор CRL-файлов со списками отзыва на момент подписания. Сама же подпись шла в формате, близком к формату CAdES-C (Electronic Signature with Complete Data References). Отсоединённая подпись.

    В такой подписи есть:
    • сертификат подписанта
    • сама подпись
    • штамп времени
    • цепочка сертификатов (от сертификата подписанта до сертификата головного УЦ)

    Проверить корректность подписи, проверить состояние сертификата по списку отзыва на текущий момент и получить цепочку сертификатов можно нехитрым кодом на C#:
    using System.Security.Cryptography.X509Certificates;
    using System.Security.Cryptography.Pkcs;
    public class SignChecker
    {
        public X509Certificate2Collection CheckDetachedSignatureAndGetChain
            (byte[] data, byte[] sign)
        {
            var contentInfo = new ContentInfo(data);
            //    true => DetachedSignature
            var signedCms = new SignedCms(contentInfo, true);
            signedCms.Decode(sign);
            //http://msdn.microsoft.com/ru-ru/library/aedbc064%28v=vs.110%29.aspx
            //    false => verifySignature + verifyChain
            signedCms.CheckSignature(false);
            return signedCms.Certificates;
        }
    }

    Метод проверит подпись и отозванность сертификатов и вернёт сертификаты вам для дальнейшей проверки.

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

    КриптоАРМ так и проверяет. Если же будете делать свой механизм проверки, проверяя сертификаты отдельно от подписи и штампа времени в ней, то методы CryptoAPI вернут состояние сертификатов на текущий момент времени. И сертификаты из исторических подписей, которые сегодня отозваны, но были действительны два года назад, сломают цепочку, проверка завершится неудачно.

    Перед вызовом проверки (signedCms.CheckSignature(false)), убедитесь, что у программы будет возможность работы с Интернет. Так как если возможности работы с Интернет нет (прокси, например, не настроен), то списки отзыва не загрузятся. И проверка без актуальных списков отзыва о OCSP-ответов будет всегда завершаться успешно. Даже если некоторые сертификаты уже отозваны.

    OCSP-ответы и списки отзыва кешируются. Поэтому не удивляйтесь, если они вдруг перестанут загружаться. Проверка по ним работает. Очистить кеш можно командами:
    • certutil urlcache crl delete
    • certutil urlcache ocsp delete


    Удачной отладки.
    Ответ написан
  • Какое железо выбрать для терминального сервера?

    @polarnik
    Тестировщик
    Я в таком случае проводил тестирование. Использовал четыре профиля. Терминальные клиенты идут различных версий (5.0, 6.0, 7.1) в разных версиях Windows. И разница в возможностях и скорости работы у них разная.

    Скачал себе mstsc из Windows XP и Windows 7 и тестировал на двух уровнях настроек: всё включено и более щадящий режим. Два на два - получилось четыре профиля.
    За четыре 15-ти минутных тестирования собрал данные по загруженности ОЗУ, процессора и сети.

    Также занёс в таблицу что сделал за это время (сценарий тестирования). То, что сделал на первом проходе повторил и на втором и на третьем. Одинаковость действий нужна для корректности сравнения результатов. Аутентификация, просмотр отчётов, редактирование документов, ...

    А потом рассчитывал на основе этих данных сможет ли работать 20 человек на сервере.

    Железо простое, сеть тоже простая. ПО тоже простое - подключиться к терминальному серверу, открыть новую терминальную сессию и подключиться к другому серверу (это куда меньшие требования, чем запустить 1С и офис). Тестирование показало, что мощностей сервера хватает.
    Ответ написан
  • Реально ли стать тестировщиком ПО в 39 лет, учитывая то, что основная профессия далека от IT?

    @polarnik
    Тестировщик
    Обучаю коллегу, который старше меня. Он экономист, работал на телевидении, много где. Он, пока, молчит когда идёт обсуждение архитектуры, принципов DDD или вариантов реализации новой фичи. Но каждая минута, вложенная в его обучение, экономит мне две.

    По выбору места работы - выберите среднюю компанию, наиболее крупную коммерческую из средних. В таких компаниях есть отлаженный процесс обучения. Если хотите устроиться туда, откуда никогда не увольняют - устройтесь в государственную структуру, там тоже есть ИТ.

    Что касается литературы - читайте всё, литературу для разработчиков, аналитиков, архитекторов, руководителей. Так поймёте, что хотят от инженера по тестированию. Литературу для инженеров по тестированию тоже читайте, так научитесь говорить на одном языке с коллегами.

    Если прочтёте советы выше, между строк. То увидите, что в тестирование советуют идти студентам. Среди студентов, половина из которых сменит место работы при получении диплома, будете специалистом относительно высокого уровня. Также между строк прочтите и такой совет - запишитесь на курсы, станьте студентом. Могу сказать только по своей команде, постоянно обучаемся всему подряд. Новые продукты и библиотеки, внешние внутренние курсы, книги, журналы, онлайн-обучение, ... Когда учился в университете, учился меньше.

    По сравнению зарплат разработчика и инженера по тестированию, замечу, следующее. Если разработчик работает по 16 часов в сутки, пишет лучший код, изучает всё вокруг, обучает коллег, улучшает процесс, стремиться к лучшим к отрасли. А тестировщик с тем же стажем лишь кликает по чек-листу. То зарплата тестировщика будет ниже, что логично. И это неправильно выполненное сравнение.
    Если же тестировщик прёт как танк, а разработчик лишь способен исправлять баги, создавая при этом два новых, то ситуация по зарплате будет обратной.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (1)