alexander zelenkov alexander zelenkov

21 сентября 2021 г.

Длину ввода всегда необходимо проверять до передачи данных модулю регулярных выражений. В противном случае из-за неэффективных операций возврата могут возникнуть слабые места в безопасности приложения.

alexander zelenkov alexander zelenkov

19 сентября 2021 г.

Если сущность имеет конструктор без аргументов, это, скорее всего, означает, что ее инициализация основана на сеттерах. А это становится потенциальным источником проблем. Инициализация на основе сеттеров может оказаться неполной, а неполная инициализация делает объекты несогласованными.

alexander zelenkov alexander zelenkov

19 сентября 2021 г.

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

alexander zelenkov alexander zelenkov

16 сентября 2021 г.

Если смоделировать пароль в виде доменного примитива и реализовать его как объект одноразового чтения, получится страховочный механизм, который даст вам знать, если пароль начнет каким-то образом утекать.

alexander zelenkov alexander zelenkov

16 сентября 2021 г.

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

alexander zelenkov alexander zelenkov

31 августа 2021 г.

Целостность данных заключается в обеспечении их согласованности и точности на протяжении всего жизненного цикла.

alexander zelenkov alexander zelenkov

30 августа 2021 г.

Проверяйте предусловия для всех публичных методов — по крайней мере убедитесь в том, что они не принимают null в качестве аргументов.

alexander zelenkov alexander zelenkov

30 августа 2021 г.

Работу с некорректными данными и развитие аномальных ситуаций нужно быстро останавливать, пока это не привело к проблемам с безопасностью.

alexander zelenkov alexander zelenkov

30 августа 2021 г.

Злоумышленников не заботят ваши крайние сроки и приоритеты — слабо защищенную систему можно взломать независимо от того, почему и в каких обстоятельствах она создавалась

alexander zelenkov alexander zelenkov

25 августа 2021 г.

Объект-значение всегда должен оставаться неизменяемым и формировать целостную концепцию.

alexander zelenkov alexander zelenkov

25 августа 2021 г.

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

alexander zelenkov alexander zelenkov

25 августа 2021 г.

Данные, пересекающие семантическую границу, представляют особый интерес с точки зрения безопасности, так как в ходе этого процесса может неявно измениться значение термина, что чревато появлением уязвимостей.

alexander zelenkov alexander zelenkov

21 августа 2021 г.

Доменная модель — это не просто упрощенная версия реальности: недостаток деталей компенсируется дополнительной строгостью.

alexander zelenkov alexander zelenkov

21 августа 2021 г.

Модель — это упрощенная версия реальности, которую мы все же можем воспринимать как корректное представление реальной вещи.

alexander zelenkov alexander zelenkov

21 августа 2021 г.

Модель — это упрощенная версия реальности, из которой убрано все то, что вам не нужно.

alexander zelenkov alexander zelenkov

19 августа 2021 г.

Дефект безопасности в виде нарушенной бизнес-целостности может существовать в промышленной среде на протяжении длительного времени, вызывая финансовые потери.

alexander zelenkov alexander zelenkov

19 августа 2021 г.

В ходе моделирования не забудьте обсудить верхние пределы — это всегда позволяет получить интересную информацию.

alexander zelenkov alexander zelenkov

19 августа 2021 г.

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

alexander zelenkov alexander zelenkov

19 августа 2021 г.

простая вещь — представление количества с помощью обычного целого числа — может вызвать серьезные проблемы с безопасностью.

alexander zelenkov alexander zelenkov

19 августа 2021 г.

С подозрением относитесь к моделированию, которое заканчивается словами «это целое число»!

alexander zelenkov alexander zelenkov

19 августа 2021 г.

Никогда ни в коем случае не представляйте деньги в виде числа с плавающей запятой!

alexander zelenkov alexander zelenkov

19 августа 2021 г.

Один из аспектов безопасности относится к целостности данных: это означает, что данные не должны меняться или генерироваться несанкционированным образом.

alexander zelenkov alexander zelenkov

9 августа 2021 г.

Согласно закону Постела и шаблону проектирования Tolerant Reader, когда системы взаимодействуют между собой, реализация приема данных должна быть либеральной, а реализация их отправки — консервативной15.

alexander zelenkov alexander zelenkov

9 августа 2021 г.

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

alexander zelenkov alexander zelenkov

9 августа 2021 г.

Проблемы с безопасностью принято считать страшными и сложными, но если поставить во главу угла проектирование, сложность внезапно исчезает. Это в основ­ном объясняется тем, что грань между обычными программными дефектами и ошибками безопасности стирается, если уделять внимание предметной области, а не выбору контрмер

alexander zelenkov alexander zelenkov

3 августа 2021 г.

Многим разработчикам сложно разобраться во всех деталях замысловатых уязви­мостей, поэтому они относят себя к категории профессионалов, которые не занимаются безопасностью. Безопасность — это не их прерогатива. Однако большинство разработчиков понимают и ценят проектирование, и если с его помощью можно обеспечить безопасность, то оказывается, что создавать безопасное ПО может каждый.

alexander zelenkov alexander zelenkov

3 августа 2021 г.

Мы считаем, что, если основное внимание при разработке уделяется проектированию, безопасность может превратиться из навязанного требования в естественный аспект этого процесса. Мы также убеждены, что это позволяет не только преодолеть многие недостатки традиционного подхода или избежать их, но и получить определенные преимущества.

alexander zelenkov alexander zelenkov

3 августа 2021 г.

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

alexander zelenkov alexander zelenkov

3 августа 2021 г.

спросить у своих специалистов в предметной области о значении имени пользователя в контексте текущего приложения (рис. 1.4).
Обсудив этот вопрос, вы приходите к выводу о том, что имя пользователя должно содержать только символы [A-Za-z0-9_-] и иметь длину от 4 до 40 символов. Это продиктовано тем, что считается нормальным именем пользователя в создаваемом приложении. Вы исключаете символы < и > не потому, что они могут быть частью XSS-атаки в случае, если имя пользователя выводится в браузере. Скорее, отвечаете на вопрос: «Как должно выглядеть имя пользователя в этом контексте?» В

alexander zelenkov alexander zelenkov

3 августа 2021 г.

Проектирование — это руководящий принцип, по которому создается система, и применять его можно на всех уровнях, от кода до архитектуры. К нему относится любой вид деятельности, требующий сознательного принятия решений.

alexander zelenkov alexander zelenkov

3 августа 2021 г.

Позже к этим трем факторам присоединился еще один: отслеживаемость (traceability, T) — это необходимость знать, кто и когда получал доступ к данным или изменял их.

alexander zelenkov alexander zelenkov

3 августа 2021 г.

В классической информационной безопасности обычно выделяют три основных требования: конфиденциальность, целостность и доступность (confidentiality, integrity, availability — CIA).

alexander zelenkov alexander zelenkov

3 августа 2021 г.

Смысл желания пользователя был не в наличии элемента безопасности, а в удовлетворении определенного требования — в данном случае конфиденциальности (скрытом хранении). При реализации этой истории важно было понимать, что изменения кода, относящегося только к одному способу доступа к изображениям, недостаточно. Защитить необходимо все пути доступа,

alexander zelenkov alexander zelenkov

3 августа 2021 г.

Чтобы получить настоящую безопасность, необходимо перестать думать о ней как о наборе возможностей. Безопасность следует воспринимать как требование, охватывающее разные функции

alexander zelenkov alexander zelenkov

3 августа 2021 г.

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