Блог

Безопасность AirMiles

В Северной Америке есть такая популярная программа AirMiles, где дают поинты за шопинг в магазинах партнёров. Среди партнёров есть даже Amazon и Apple, так что размах программы я думаю объяснять не нужно. Наверно это самая популярная система заработка поинтов. 

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

До сих пор на сайте AirMiles можно было увидеть свой баланс просто указав номер своего аккаунта. Не нужно указывать даже пароля, только номер, который состоит из 11 цифр и пин код из 4 цифр. То есть всего существует 9999 вариантов пин кодов. Сколько времени займёт перебор? 

Google доверяет Мексике

Интересно, что когда я ездил в Мексику и использовал там свой ноутбук для проверки почты, то я без проблем мог заходить в gmail и проверять там что угодно с мексиканским IP. 

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

То есть моему входу в сеть из Мексики google не удивился, а поездке в США удивился. Возможно ты скажешь, что Мексика очень много используется для отдыха и это нормально, что Канадец оказался там. Но США тоже много используется канадцами для отдыха и даже для работы. На много чаще, чем Мексика.

Нужен ли антивирус Windows компьютеру?

Я недавно в новостях заметил, что кто-то там сказал, что антивирусы компьютерам не нужны и даже вредят. Кажется это был какой-то бывший разработчик Mozilla Firefox. Сейчас гугланул и наткнулся на новость, что такого же мнения вроде бы придерживаются в Google. 

Если честно, я тоже считаю, что антивирусы вредят, они отнимают ресурсы, которых иногда просто не хватает. Но я не хожу по сомнительным сайтам, а работаю 16 часов в сутки. Но даже при этом я за последние лет 10 дважды подхватывал какую-то заразу и дважды в Chrome, правда под разные платформы - Windows и Mac.

Недавно мне принесли компьютер, который очень сильно тормозил. Я заменил на нем жёсткий диск на SSD, переустановил Windows, и все залетало. Приносят мне этот компьютер через неделю, а там целый рассадник всяких вирусов. Встроенный антивирусник Microsoft не смог продержаться даже такого короткого периода. 

Знаю что такое SQL Injection, но не знаю, как защитится

Снова заметка основана на результатах интервью, которые мне приходится проводить. Я кажется уже писал, что один из вопросов, который я спрашиваю - что такое SQL Injection и как от нее защищаться. Меня сильно удивляет, что в наше время не все знают, что такое SQL Injection и чем она опасна. Из-за этого наверно и появляются дырявые сайты. 

Больше всего удивляет, когда люди знают, что такое SQL Injection, но не знают, как от нее защищаться вовсе. Для меня идеальным ответом является - используй параметры. Но не могу понять, как вообще нельзя придумать даже простого способа защиты типа - убирать одинарные кавычки. Даже не нужно говорить про замену одинарной кавычки на две одинарных, просто убрать их. Хотя бы что-то можно придумать?

Подключил VPN домой

Мне тут пришлось тестировать, почему реклама становится причиной того, что видео не работает, а зависает. Когда я тестировал из Канады, то у меня Google даже не пытался запускать рекламу, наверно потому что рекламодателей не так много. И чтобы реклама работала, мне явно нужен был коннект в США.

Как заставлять пользователя менять пароли

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

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

Но я не видел политики на смену пароля.  Я работал в PCI окружении с кредитными картами и даже там я мог каждые три месяца менять пароль и менять в нем только одну цифру. Я не мог использовать тот же самый пароль дважды, но мог менять его незначительно. Я не админ и не знаю, в Windows есть возможность настраивать политику, чтобы пользователи не выбирали новый пароль, который будет на 80% совпадать с предыдущим. 

Ограничения для повышения производительности

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

Первое предложение от технического директора стало ограничение на сервере приложений количества возможных подключений к базе данных. Таким образом мы освободим количество подключений на SQL Server и нагрузка сократится. Я говорю, а если сервер приложений не сможет подключиться из-за отсутствия доступных подключений к базе, то приложение сгенерирует ошибку, и пользователь увидит не очень приятную страницу. Готовы на это? Конечно же нет.

Следующее предложение от технического директора: ну давайте тогда установим таймаут на соединение с сервером приложений. Если пользователь не получил ответа от сервера приложений в течении 30 секунд, разрывать соединение. Я говорю - хорошо, пользователи начнут видеть таймауты. Это лучше?

Спамеры не звонят дважды?

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

Сейчас залез в папку спама и посмотрел, что у меня там есть. Сразу же на первой странице увидел несколько повторов. На мой взгляд, как раз спамерам не составляет труда отправить письмо два раза и даже три, они же не делают это вручную. 

А вот с нормальными письмами как раз начнутся проблемы. Допустим, что мне кто-то на сайте написал письмо через форму обратной связи. Я на него отвечу, отправлю ответ и тут же удалю. Если в ответ на отправку придет какое-то Delivery Error, я просто проигнорирую это и никогда не буду пытаться повторить ответ, потому что пользователь мог просто ошибиться, при указании своего e-mail, а я буду писать письмо дважды. Почтальоны далеко не всегда пишут дважды. 

Программисты из Индии не знают про SQL Injection

Я уже писал, что я провожу на работе интервью и я уже общался с не менее 6 программистами, по имени и по истории работы они явно из Индии. Только один из них смог правильно ответить, как нужно защищаться от SQL Injection. Большинство из этих супер программистов, архитекторов на вопрос о том, как защититься от инъекции говорят, что для этого нужно искать и убирать любые SQL инструкции типа SELECT, UPDATE или DELETE. В двух случаях вообще я не услышал ничего внятного, ответ был - там я использовал что-то, не помню что. Как так?

На этой неделе впервые выходец из Индии на вопрос про SQL Injection ответил, что нужно использовать параметры или хранимые процедуры. Меня аж шокировал этот ответ, я просто не ожидал его. Просто я начинаю интервью с простых вопросов и одним из первых идет: чем отличается static метод от других. У парня явно плохой английский и сложно было его понимать, но на такой вопрос он ответил, что у класса должен быть только один static метод. Я сразу же поставил минус и минусы летели почти на каждый мой вопрос. 

Самый сложный вопрос безопасности

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

О блоге

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

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне