Блог

Форматирование строк с SQL запросами

За окном уже скоро 2016-й год, а даже в очень больших компаниях некоторые программисты умудряются форматировать строки для SQL запросов. Блять, ну пора бы уже понять, что SQL Injection - это не шутки. Ну ладно молодые программисты делают такие ошибки. Ну ладно в небольших компаниях. Но в крупной солидной консалтинговой конторе написать Format, за такое я бы уволил. Или зарплату снизил до $5 в час, как интерну. Потому что больше такая работа не стоит. 

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

Хранить пароли на мобильном устройстве

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

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

Так как шифрование требует дешифрования, то ключ скорей всего будет хранится где-то в памяти телефона и уйдет в не добрые руки вместе с телефоном.

Сайты специалистов по безопасности

Блин, специалисты по безопасности не должны делать сайты. Сейчас смотрел несколько курсов на сайте veracode.com и меня бесит в сайте абсолютно все. Блин, я же всего лишь был в разделе eLearning где предоставляются интерактивные курсы. 

Ну да, они платные (у нас компания проплатила и всем программистам нужно пойти эти курсы онлайн) и защита интеллектуальной собственности тут необходима, но на сайте сделано всё так, как будто это банк или система управления пусками американских ядерных ракет.

Безопасность конечно же нужна, но удобство пользователя так же является очень важной составляющей любого Web сайта. Забивать на удобство и думать только о безопасности там, мне кажется очень большая ошибка.

Хакеры могут полностью контролировать Jeep Cherokee

То, что ждали уже долгие годы м о чем предупреждали уже давно - хакерам удалось получить достаточно серьезный контроль над компьютерной системой Jeep Cherokee. Как я понял, серьезных успехов удалось добиться двум инженерам - Charlie Miller и Chris Valasek. Они связались с одним из авторов Wired и продемонстрировали ему, как можно управлять удаленно автомобилями Jeep через их систему Uconnect. 

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

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

Anonymous разозлились на Канаду

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

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

Проездной на автобус на телефоне

В Торонто очень сильно распространены проездные на общественный транспорт. Проезд здесь достаточно дорогой, поэтому тем, у кого нет машины действительно выгодно купить проездной за $130 (если я правильно помню цену) и ездить без ограничения на автобусах, трамваях и метро города. 

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

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

Мониторинг ошибок ввода

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

In  any security-critical application,  the most  effective way to  implement realtime  alerting  is  to  integrate this  tightly with  the application’s input validation mechanisms  and other controls. For example, if  a cookie  is  expected to  have one of  a specifi c set of  values, any violation of  this  indicates that  its value has been modified in  a way that  is  not possible  for ordinary  users of  the application. 

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

Безопасность CVV2 и CVC2 кодов

Сегодня прочитал в интернете не совсем верное утверждение в отношении CVV2 и CVC2 кодов, которые расположены на обратной стороне кредитной карты. Это всего лишь три цифры, которые предназначены для повышения безопасности и не гарантируют, что этот код никто не уведет. 

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

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

Безопасность кредитки и Банк Тинькофф

Жена сообщила из Питера, что у нее проблемы с получением пин кода для карты Яндекса. То, что безопасность для них важнее - это хорошо, но как же удобство?

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

В общем, я описал свои мысли в курилке, и чтобы не повторяться здесь, просто оставлю линк для тех, кому интересно: http://www.funniestworld.com/Blog.aspx?id=2143.

Кто реально делает резервные копии?

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

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

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

О блоге

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

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

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

Пишите мне