6.2.3. Прозрачность и предотвращение избыточной защищенности

6.2.3. Прозрачность и предотвращение избыточной защищенности

Близким родственником присутствующей в среде программистов тенденции создавать чрезмерно сложные нагромождения абстракций является стремление чрезмерно оберегать остальных от низкоуровневых деталей. Несмотря на то, что скрывать такие детали в обычном режиме работы программы не является плохой практикой (например, в программе fetchmail ключ -v по умолчанию не используется), низкоуровневые подробности должны легко обнаруживаться. Имеется важное различие между их сокрытием и недоступностью.

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

Соблазн чрезмерно скрывать детали особенно сильно проявляется в предназначенных для конечных пользователей GUI-приложениях, таких как программы чтения почты. Одной из причин, по которой Unix-разработчики прохладно воспринимают GUI-интерфейсы, является то, что поспешность проектировщиков таких интерфейсов в стремлении сделать их "дружественными к пользователю" часто делает их безнадежно закрытыми для любого, кто вынужден решать проблемы пользователей или должен взаимодействовать с интерфейсом за пределами узкого диапазона, предсказанного разработчиком пользовательского интерфейса.

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

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

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Предотвращение перегруженности: для чего нужны несколько потоков

Из книги автора

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


9.3 Обеспечение избыточной отказоустойчивости

Из книги автора

9.3 Обеспечение избыточной отказоустойчивости Одним из методов достижения отказоустойчивости является буквальное дублирование каждого компонента. Вместо одного сервера можно установить кластер, что позволит не потерять доступ к данным при отказе в работе одного из


4. Группы ключевых процессов для уровня 5: оптимизирующий уровень Предотвращение дефектов

Из книги автора

4. Группы ключевых процессов для уровня 5: оптимизирующий уровень Предотвращение дефектов Цель 1. Планирование работ по предотвращению дефектов.Цель 2. Поиск и выявление общих причин возникновения дефектов.Цель 3. Определение приоритетов для общих причин возникновения


1.3.2. Обобщающий пример 2 — Ассоциированные файлы и предотвращение запуска второй копии приложения

Из книги автора

1.3.2. Обобщающий пример 2 — Ассоциированные файлы и предотвращение запуска второй копии приложения Расширения файлов могут быть связаны (ассоциированы) с определенной программой. Такие ассоциации помогают системе выбрать программу для выполнения различных действий с


6.2.3. Прозрачность и предотвращение избыточной защищенности

Из книги автора

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


В чём секрет защищённости Internet Explorer 8 Ника Парамонова

Из книги автора

В чём секрет защищённости Internet Explorer 8 Ника Парамонова Опубликовано 16 июля 2010 года Браузер Internet Explorer в течение долгого времени имел дурную славу одного из самых уязвимых. С выпуском восьмой версии в марте 2009 года в компании Microsoft постарались коренным


Предотвращение обмана

Из книги автора

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


Предотвращение обмана

Из книги автора

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


Предотвращение обмана

Из книги автора

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


Предотвращение обмана

Из книги автора

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


Предотвращение обмана

Из книги автора

Предотвращение обмана Когда спрашивают любую ценную, чувствительную, или критически важную информацию, которая может сослужить выгоду конкуренту или кому угодно еще, сотрудники должны быть осведомлены, что использование услуги “caller ID” в смысле подтверждения личности


Новогоднее исследование защищенности внешних интерфейсов Homo sapiens Рустем Хайретдинов

Из книги автора

Новогоднее исследование защищенности внешних интерфейсов Homo sapiens Рустем Хайретдинов Опубликовано 31 декабря 2013 В канун нового года аналитическое агентство NegativeWatch Lab представило аналитический отчёт о результатах многолетнего исследования


Предотвращение отказа от участия в обмене информацией

Из книги автора

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