SoftCraft
разноликое программирование

Отправная точка
Программирование
Windows API
Автоматы
Нейроинформатика
Парадигмы
Параллелизм
Проектирование
Теория
Техника кодирования
Трансляторы
Прочие вопросы

Разное

Беллетристика
Брюзжалки
Цели и задачи
Об авторе


Некоторые вопросы защиты информации на компьютере (c точки зрения профессионального установщика охранных систем на автомобили)


© 2005
Р.Ю. Пузиков

Вместо предисловия. Не хочу говорить читателям этой статьи, что открываю Америку в информационной безопасности. Этой темой, во всех направлениях, занимается множество специалистов, производится куча товаров и программ, вырабатываются стандарты защиты, но, на мой взгляд, не совсем «системно». Эта статья – взгляд со стороны, пусть и профессионала в области охраны автомобиля, но не компьютера, который просто устал читать, что там постоянно что-то воруют, причём очень легко и просто, и хочет сказать, что можно перенять некоторый опыт и у специалистов автосервиса. Может быть, некоторые идеи покажутся кому-то полезными, дешёвыми и простыми. Может быть, кому-то не понравятся – решать будет читатель. Ну и конечно – эта статья не описание панацеи от злоумышленников – если клиент выложил файл в сеть, а его скачал посторонний человек, то это уже халатность, а не недостаток безопасности.

Я вижу два пути в защите информации, которые можно и нужно использовать:

  1. механическая защита – самый простой способ.
  2. электронная и программная защита – самое популярное средство, например пароли.

Итак, обо всём по порядку.

Механическая защита

Во-первых, вся информация, с которой приходится работать, находится на жёстком диске. А потому зачем злоумышленнику взламывать пароли и делать множество других вещей, когда можно попросту изъять жёсткий диск, учитывая, что сделать это, в общем – то, нетрудно? И я расскажу, как усложнить жизнь злоумышленникам, которые попробуют снять жесткий диск.

Жёсткий диск – это сравнительно маленький предмет, который крепится внутри корпуса компьютера винтами. Его можно сделать несъёмным, заменив винты на клёпки (очень дёшево), или же на срывные болты. В результате жёсткий диск станет условно несъёмным (то есть, его можно будет снять с помощью инструмента, шума-гама и доброго русского мата). А компьютер целиком, в отличие от жёсткого диска, незаметно в кармане не пронесёшь. Усложнит это сделать и служба охраны.

Но если можно укрепить жёсткий диск, то почему бы тогда не укрепить и корпус компьютера? А чтобы его нельзя было разобрать и подключиться к винчестеру напрямую, достаточно несколькими металлическими уголками стянуть крышки компьютера между собой (уголки могут крепиться к корпусу клёпками или срывными болтами/гайками). Или же можно подойти к вопросу ещё более кардинально, – использовать специализированные, условно – неразборные корпуса для компьютеров, из толстого железа (до 2-3 мм и более, как сейфы). Расширим, значит, ассортимент в компьютерных магазинах!

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

Что можно добиться подобной механической защитой? Усложнение демонтажа компонентов компьютера. Без ведома руководства, это может оказаться невозможным. Нужен будет для этого и специальный инструмент – дрель, турбинка, молоток, зубило (и т.п.). А они никогда не отличались тихой работой. Теперь избежать внимания службы безопасности будет чрезвычайно сложно. Особенно при наличии автоматических средств защиты и даже обыкновенных камер наблюдения у службы безопасности – была бы служба безопасности.

Слева направо: Болт срывной с гайкой. Они же, но сорванные. Болт мебельный. Клёпка.

Сомнительно, но вполне возможно, что как следствие будет увеличен спрос именно на брендовые компьютеры – пускай и дороже, но намного надёжней. К тому же будут стремиться по этим же причинам брать компьютер на вырост – с большим винчестером, с большим количеством оперативной памяти – чтобы не пришлось делать апгрейд как можно дольше – то есть соответствовать условиям работы в неразборном корпусе.

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

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

Общий принцип работы такой сигнализации прост: вечером пользователь закончил работу с компьютером, поставил его на охрану (например, ключом или радиобрелком), пошёл домой. Утром пришёл на работу – снял с охраны и начал работать. Если во время охраны корпус компьютера пытались вскрыть или унести из помещения – сработают датчики удара или перемещения – сигнализация может передать сигнал тревоги в сеть и включить сирену. Если сирена будет автономной, она сможет работать, даже если компьютер будет полностью обесточен. Работая в металлическом корпусе, звук сирены будет отражаться и резонировать. А если сирена будет работать еще и в ультразвуке или инфразвуке… - то она будет не только привлекать внимание, но и воздействовать на психику злоумышленника – от инфразвука можно, например и умереть.

Также сигнализация, может также зашифровать одним из паролей пользователя данные на жёстком диске, или подать команду на шифрование на сам жёсткий диск, если он будет это уметь делать, хотя шифровать данные лучше сразу после постановки на охрану. И в любом случае – сразу после того, как сигнализация сработала на «грабёж» надо ей полностью стереть из всех буферов памяти все пароли пользователя. Это для пущей надёжности. Ведь все пароли у пользователя где-то записаны, например, в «ключе», но к этому я ещё вернусь. Если сигнализацией будет оборудован ноутбук, то появятся шансы сохранить в тайне конфиденциальные данные даже на таком рискованном устройстве.

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

При использовании радиобрелков надо учесть опыт автомобилистов. Так, нельзя использовать постоянные коды для брелков – слишком просто сканировать. Только динамические, и лучше разновидности – KEELOQ. Трудно взламываются за реальное время. Но достаточно просто «обходятся». Впрочем, это решённая проблема – стандартом «KEELOQ 2», информацию по этим вещам можно найти в Интернете, много причём. За консультациями можно попытаться обратиться, например, в отечественные фирмы «Альтоника» (http://www.altonika.com/) и «Сатурн» (http://www.saturn-ht.ru/), у которых много собственного практического опыта. В Сети можно почитать журнал «Мастер 12 вольт» (http://www.12voltsmagazine.com/).

В дополнении к сказанному выше хочу добавить, что было бы рационально использовать особенности такой системы для контроля пожаров, потопов и т.д. – несколько дополнительных датчиков не испортят корпус компьютера. Такая сигнализация может охранять и территорию/помещение, контролируя изменения объёма в помещении (обычными ультразвуковыми или радарными датчиками). А если корпус будет оборудован одной или даже несколькими видеокамерами, то появится возможность записывать изображение на жёсткий диск…

Что ещё должен сказать про механику – так как в некоторых случаях компьютер будет крепиться на стене или в «неприступных» местах – надо заранее предусмотреть возможность нормальной работы с ним, – скажем какой–то прибор в виде подставки под монитор, или даже встроенное в монитор устройство или может в столешницу. Как корпус под CD/DVD, 3,5-дюймовый дискововод, мышь, клавиатуру, наушники/колонки, USBки, кнопки POWER, RESET, и тому подобных вещей, вплоть до зарядки сотового телефона или пенала для карандашей. С проводом от рабочего стола до самого компьютера.

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

Электронная и программная защита

Сначала рассмотрим пароли – самое простое средство защиты компьютера. Но пароли считаются легко уязвимыми. Почему? Потому, что компьютер позволяет проверить множество вариантов пароля за единицу времени. И если человек может ввести пароль не меньше чем за пару секунд, то компьютер злоумышленника за это время проверит как минимум пару тысяч. Где справедливость?

Пусть «клиенту» система даёт время подумать несколько секунд, и отвечает не сразу, а опять таки с задержкой в одну – две секунды. Компьютер злоумышленника сразу потеряет всю свою «производительность» ;) А если же клиент (и злоумышленник) раз за разом вводит неправильный пароль (больше 10 раз, например), то система может увеличить время размышлений, скажем, с двух секунд до десяти. Можно и дальше увеличивать время, но, можно просто отправить клиента погулять минут на 10, или полчасика, чтобы он вспомнил пароль. При этом злоумышленник лишится совсем возможности проверять пароли. Попробуйте подсчитать, сколько времени необходимо для проверки 100 вариантов паролей при такой системе.

К тому же система, во время ввода пароля, может не просто тупо ждать, но и собирать нужную информацию о клиентеи(IP, DNS). И сохранять это в своей памяти, до проверки службой безопасности, или настоящим хозяином.

И ещё. Вдруг клиент после долгого перебора вдруг назвал верный пароль, то нельзя ли попросить его повторить ввод пароля на бис. Причём при одинаковой картинке на мониторе? – когда он не знает, правильно введён или нет пароль. А когда он уже вошёл в систему – может стоить спросить у него, перед работой, парочку контрольных вопросов? Или даже попросить ввести дополнительный пароль. Как коды PIN и PUK в сотовых телефонах.

Еще одно неудобство при вводе пароля - пользователь видит только *. Может, стоит предоставлять пользователю возможность выбора? Меня, если честно, звёздочки очень раздражают, к тому же пользователь может сам контролировать ситуацию, когда он вводит пароль, нужны ему * или нет. Но это не моя идея, просто используется очень уж редко.

Биометрия и ключи

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

Пальчики уязвимы и … опасны для владельцев (так, недавно хозяину одного крутого «мерседеса» отрубили палец, чтобы угнать машину (это он ещё легко отделался ). Иногда унизительна сама процедура получения отпечатков. В общем, данная технология не очень надёжна.

Аналогичные проекты – идентификация по сетчатке глаза, ИК-снимок сосудов руки человека и другие либо слишком экзотичны и/или дороги. Но в целом еще и слабо «обкатаны». Все это не раз рассматривалось в печати, а потому нет смысла еще раз все пересказывать.

Впрочем, отказываться от отпечатков тоже не надо. Это простое и удобное средство, которое можно использовать в качестве подтверждения при доступе к защищённым файлам и для отметки в службе безопасности когда, кто и как использовал конфиденциальную информацию. Вместо пароля, когда это не критично. То есть – биометрия, только как подтверждение права доступа к папке или файлу, и не более того. Ещё как памятка для службы безопасности, когда надо узнать, кто и что просматривал (на основе проверки соответствия пароля и пальчика). Например, когда происходит доступ к «интересным» файлам, пусть и находящимся в «условном» общем доступе, во внутренней сети фирмы.

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

Можно вернуться к теме ключей. Но не таких простых, как использовались лет десять назад на компьютере. Например, современный ключ должен быть электронным. Правда, он может быть электромеханическим, т.е. обладать секретами обыкновенного ключа и встроенной электронной начинкой. Например, перфокартного, как у многих современных замков. У фирмы Mul-T-Lock есть интерактивные перфокартные ключи (у этих ключей есть специальные подвижные элементы - магнитики). Их можно делать лишь на спецоборудовании. Электронная начинка в таком ключе может, например, сработать только после того, как ключ будет повернут. То есть ключ сможет использоваться только на одном компьютере!

Как же должна работать электроника такого ключа? Ключ вставляется в специальный разъём и происходит обмен информацией между ключом и компьютером, к которому нужен доступ. Никаких радиопередач, т.к. радиокод слишком уязвим для сканирования. Содержимое ключа – пароль(и) и небольшой банк памяти случайных чисел. Все это должно быть защищёно от копирования. Поэтому простой микросхемы памяти быть не должно – должен стоять ещё микроконтроллер, который определяет, какой пароль кому и как передавать. (как защита от «клонирования» ключа)

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

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

Итак, попробую объяснить простыми словами работу ключа.

При появлении контакта между ключом и компьютером микроконтроллер ключа посылает запрос компьютеру, состоящий из номера ключа (соответствующего имени пользователя) и пароля. Компьютер, если пароль верен и пользователь имеет право доступа, посылает в микроконтроллер ключа ответ, и, может быть, дополнительный запрос на содержимое той или иной ячейки случайных чисел в памяти ключа. Микроконтроллер ключа, проверив ответ, и если он верен, само собой посылает отзыв, и содержимое той ячейки, на которую прошёл запрос.

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

Если где-то есть нарушения в системе – пароль – ответ – отзыв, то этим вопросом по идее должна заниматься служба безопасности фирмы. И если, например, пользователь не с первого раза попадает за компьютер, то это уже может быть свидетельством встроенного в систему «жучка». Ключ даёт неверные пароли, или даёт очень медленно – его (ключ) пытались взломать, или идёт попытка взлома системы. Но не исключен и … сбой ПО. Ни один вариант не должен являться штатным для фирмы. Также как и другие возможные нарушения.

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

Права доступа

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

Лучшим выходом будет, когда все программы на компьютере обязаны зарегистрироваться ОС. В этом случае им мог бы быть присвоен статус-метка, который может быть изменён лишь владельцем компьютера или специальным, зарегистрированным ПО (что-то вроде антивирусов). И на основе этого статуса программам присваиваются их права работы на компьютере.

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

Если взлом происходит за счёт дыр в ОС – могу только посочувствовать – написать новую ОС, безопасную причём – такого героя будет трудно найти. Проще подождать, когда выйдет очередная заплатка.

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

Итог

Вот и всё, что я хотел сказать про информационную безопасность. Может, где-то я перегнул палку, где-то недосказал, но надеюсь, дал вам пищу для размышлений. Благодарю читателя, если он добрался до конца этой статьи и прочитал всё что здесь написано. Надеюсь, что хоть одна идея вам понравилась, это меня обрадует, как труд, что оказался востребован. Не судите очень строго, если некоторые идеи выглядят… чересчур радикальными, – может где-то они будут востребованы в той или иной реализации.

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