Архив от 19 августа, 2010

В Москве на Ходынке рабочие повредили кабель спецсвязи, из-за того, что он не был указан в документации в связи с высокой секретностью (http://lenta.ru/news/2010/08/16/liason/). Этот случай – очень хорошая иллюстрация опасности подхода «Security through obscurity» (безопасность путем сокрытия). Система, построенная на этом принципе может содержать уязвимости, но, разработчики или владельцы системы считают, что о них никто не узнает. Но на самом деле, об уязвимостях узнают, и в первую очередь отнюдь не разработчики этой системы.

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

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

Алгоритм шифрования A5/1 (http://en.wikipedia.org/wiki/A5/1), применяемый в GSM сетях, изначально держался в секрете, однако в 1994 году некоторые детали реализации алгоритма утекли в широкие массы, а в 1999 году он был полностью раскрыт реверс-инженирингом телефонного аппарата. Алгоритм оказался настолько некриптоустойчив, что на данный момент GSM передачи можно перехватывать при помощи оборудования за $1500 (http://www.securitylab.ru/news/396052.php).

Компания Cisco Systems скрывала детали реализации своих протоколов маршрутизации, пока в мае 2004 года не были украдены исходные коды операционной системы, которая работает на их маршрутизаторах. В результате анализа кода было выявлено множество уязвимостей в протоколе EIGRP, что подвергло риску множество владельцов оборудования Cisco. (http://www.securitylab.ru/vulnerability/source/243482.php)

Случается люди кладут свою секретную информацию на веб-сервер, не защищая ее паролем и беспечно полагая, что об этом сервере никто не узнает, если они о нем никому не скажут (не будут создавать DNS имя, создатут секретную папку с секретным именем, поднимут веб-сервер на нестандартном порте и проч.). Сетевые сканеры (cheops-ng, firewalk, nmap) довольно быстро находят такие заначки, и их секретная информация быстро становится достоянием общественности. Аналогично, «секретные» URL оседают в истории броузеров, оказываются в HTTP referer, и, довольно быстро, Google и другие поисковые машины их индексируют.

Открытость системы, как правило увеличивает уровень ее безопасности. Согласно Эрик Реймонд сформулировал «закон Линуса», который гласит «при достаточном количестве глаз баги выплывают на поверхность» (given enough eyeballs, all bugs are shallow). Если система открыта, довольно много экспертов захотят на нее посмотреть и если в ней есть уязвимости, об этом будет известно довольно быстро, как правило до того, как ей будут пользоваться миллионы клиентов.