• Как я взломал паяльник
    +1
    Откровенно разочаровался качеством китайской прошивки. Буду делать открытую, переписанную с нуля.

    Есть подвижки в этом направлении?

  • Как ускорили PostgreSQL 10
    0

    pgAdmin3 я пользовался много, так как не профессиональный DBA.
    А вот от 4-ого стойкий рвотный рефлекс. Видимо надо осваивать psql.

  • Как ускорили PostgreSQL 10
    +3

    вот только pgAdmin4 движется в другом направлении...

  • Самодельные диммеры для систем домашней автоматики
    0
    Так она вся и осталась на реле. Недавно собеседование проходил в аффилированную с ЖД контору — там сразу сказали: реле это очень надежно, и очень надолго.
  • Обнаружена новая Alina – вредоносная программа для POS-терминалов
    0

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


    В вашем случае банк должен был вернуть деньги. Вернули?

  • Обнаружена новая Alina – вредоносная программа для POS-терминалов
    0

    Нельзя сделать полную копию чипа. Нет такой возможности.


    А снятие денег точно было по чипу? не по магнитной полосе?


    Я тока один случай знаю, когда удалось обмануть проверку ПИН кода чиповой карты, и то это был оффлайн ПИН. И на банкомате он не сработает.

  • Обнаружена новая Alina – вредоносная программа для POS-терминалов
    0

    Скопировать криптографические ключи и ПИН с карты невозможно. Этого функционала просто нет в карте.


    Вопрос в том, как сняли бабло — в банкомате? или вывели в электронный кошелек? или просто товара накупили?

  • Обнаружена новая Alina – вредоносная программа для POS-терминалов
    0

    Закрытый ключ не покидает карту НИКОГДА.


    Скорее всего скопировали данные карты и цифры с обратной стороны карты, так называемый CVV.

  • Приведение типов. Наглядное отличие static_cast от dynamic_cast
    0

    Хм… А у меня у одного последний пример не компилится?
    error C2683: 'dynamic_cast': 'A' is not a polymorphic type

  • Юнит-тесты. Быстрый старт – эффективный результат (с примерами на C++)
    0

    Отличная статья, показывающая что и как надо рефакторить в старом проекте для внедрения UnitTest-ов.


    А главное теперь есть хороший пример, чтобы пресечь возражения такого рода: "Ну тут чтобы протестировать надо пол-проекта переписать :("

  • Один безопасный пароль на все случаи жизни
    0

    Может это шутка такая?

  • Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
    0

    И, кстати, еще и с битами можно безопасно работать при таком объявлении.

  • Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
    +2

    О каких кругах идет речь? Можно хоть ссылочку, чтобы почитать объяснение такому замусориванию кода?


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


    Когда я вижу конструкцию sizeof(char)*n — то сразу вижу, что человек не понимает смысла этой конструкции, а потому его код надо проверять с двойным вниманием и усердием. А это расход моего времени… и вот я уже незаметно превращаюсь в того психопата...

  • Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
    +2

    Я бы ещё тогда проверил разницу между sizeof('\0') на С компиляторе, и на С++ компиляторе.
    Вот тут хорошо описано.

  • Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
    +3

    Вообще-то по стандарту С sizeof(char) = 1. В стандарте С++ — ровно точно также.

  • Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
    +5

    А мне одному глаза режет от sizeof(char)?

  • Пьеса «Технический долг»
    +86

    Притча "Менеджер и программист"


    Человек, летящий на воздушном шаре, обнаружил, что потерялся. Он спустился немного ниже и заметил на земле женщину. Спустившись ещё чуть ниже, он обратился к ней:
    — Простите, не могли бы вы помочь? Я договорился с другом встретиться час назад, но не знаю, где сейчас нахожусь.
    — Вы находитесь на воздушном шаре в 30 футах от поверхности Земли, между 40 и 41 градусом северной широты и между 59 и 60 градусом западной долготы ответила женщина.
    — Вы, должно быть, программист?
    — Да, а как вы догадались?
    — Вы мне дали абсолютно точный ответ, но я совершено не представляю, что делать с этой информацией, и я всё ещё потерян. Откровенно
    говоря, вы мне совершенно ничем не помогли.
    — А вы, наверное, менеджер?
    — Да. А вы как догадались?
    — Вы не знаете, где находитесь и куда направляетесь. Поднялись вы туда, благодаря воздуху. Вы дали обещание, которое не представляете, как выполнять, и ожидаете, что люди, которые находятся ниже вас, решат ваши проблемы. И, наконец, сейчас вы в том же самом положении, в котором находились до встречи со мной, но почему-то теперь в этом оказалась виновата я.


    Просто почему-то вспомнилось...

  • Как «PunkeyPOS» крадет информацию с банковских карт
    0
    Я не понял — вопрос это или утверждение… но попробую ответить.

    Банк заинтересован в том, чтобы таких случаев утечки данных не происходило. Тут уже упоминали про PA-DSS, есть еще и PCI-DSS, который банки проходят с определенной периодичностью. В ходе этой сертификации, специальными людьми проверяется ВСЁ, что связано с приёмом и обработкой карточек (да и не только).

    Так вот, если происходит утечка данных, то PCI присылает «зондер-команду» для разбора ситуации. И такая команда будет стоить банку ОЧЕНЬ дорого во всех смыслах.

    В результате:
    — Поставщик ПО кровно заинтересован обеспечить безопасность данных карточки, иначе ему отвечать перед банком. О том что поставщик об этом заботиться свидетельствует наличие сертификата PA-DSS.
    — Банк кровно заинтересован обеспечить безопасность данных карточки, потому что для него такие утечки представляют огромные риски (финансовые и репутационные).

    И получается, что контроль тут очень серьезный.
  • Как «PunkeyPOS» крадет информацию с банковских карт
    0
    Если коротко: да.

    Вопрос кто является хозяином терминала? Как правило это банк, но банк не пишет софт сам (за редким исключением).
  • Как «PunkeyPOS» крадет информацию с банковских карт
    +3
    Про Verifone ничего не скажу, потому что не знаком.

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

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

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

    На картинке терминал для приема карточек. Это Ingenico IPP320. В него никакой сторонний софт просто не может быть загружен.

    По тексту статьи становиться понятно, что речь идет о ПО, которое реализует кассовый функционал — компьютерная касса. Так это обычный компьютер, с обычными проблемами. И если ПО старое, а судя по всему именно так и есть, то вопросам безопасности внимания никто не уделял.

    А так, в современных решениях, чтение карты должно осуществляться именно на терминале как на картинке, а не на кассовом аппарате. В этом случае таких утечек просто не будет. Это, о чем написал JediPhilosopher.