CIBC Credit Card Fraud Department: You’re doing it wrong

This morning I received a text message purporting to be from CIBC:

BRAD,¡
Please call CIBC at 1-866-454-4339 to verify recent transactions on your credit card ending in¡XXXX.

Yes, the ¡s were part of the text message, and I’ve X’ed out the last four digits in my credit card.

This text came from the number “242-222”. I signed up for CIBC alerts via text message, and they’ve all come from this number, but there’s nothing guaranteeing that CIBC did in fact text me to get me to call them. In fact, if you search for 1-866-454-4339, you don’t get any CIBC webpages in your results.

It’s very nice that CIBC has this service. It was actually a legitimate request, as someone ordered over $1000 worth of stuff from walmart.com using my credit card.

But CIBC is doing it wrong. There is nothing on this text message verifying that this is actually CIBC. Sure, they get the last four digits of my credit card right, but those are all over the place, and they’re not considered to be sensitive data, which means that vendors do not need to do anything special to store them. It would be rather trivial to get the last four digits of my credit card number, my name, and my phone number, and then send a spoofed SMS. If I were naive, I’d call the number listed in the text message, tell them my full credit card number, and they’d be off to the races.

Never trust a text message, voicemail, or email that asks you to call a random phone number to verify any sort of personal information. Never. Always call a number that you know for a fact is linked with the company in question. For CIBC, you can either look at the back of your credit card or look up customer contact numbers on their website.

What CIBC should do is change their text message to read:

BRAD, please call CIBC Credit Card Services at the number listed on the back of your Visa card to verify recent transactions on your card ending in XXXX.

It’s a simple change but one that would help make people less likely to fall for phishing attacks.

CIBC should also list the 1-866-454-4339 number on their website, proving that it is actually a CIBC number. I didn’t call that number because there’s no way of verifying that it’s actually CIBC.

In fact, this text message raises all kinds of red flags that CIBC themselves ask you to watch out for:

A phishing text message may request that you send personal information back to the sender through text message or call a phone number.

In order to increase the chances of a response, messages may imply a sense of urgency or an immediate risk to bank accounts or credit cards if you fail to answer.

CIBC Credit Card Fraud Department, you’re doing it wrong. Even according to your own website.

Update: But wait, there’s more!

Querying for slashes in Elasticsearch 0.90

If you upgrade Elasticsearch from 0.20 to 0.90, any queries you previously made
using a front slash will fail with an error similar to:

1
2
3
4
5
6
7
8
9
10
11
"error" : "SearchPhaseExecutionException[Failed to execute phase [query],
  total failure; shardFailures {[tJ5MGSY_RnOHfeAN2O8gnQ][twitter][2]:
  SearchParseException[[twitter][2]: from[-1],size[-1]: Parse Failure [Failed to
  parse source [{\n   \"query\":{\n      \"query_string\":{\n
  \"query\":\"user:kimchy/banon\"\n      }\n   }\n}]]]; nested:
  QueryParsingException[[twitter] Failed to parse query [user:kimchy/banon]];
  nested: ParseException[Cannot parse 'user:kimchy/banon': Lexical error at line
  1, column 18.  Encountered: <EOF> after : \"/banon\"]; nested:
  TokenMgrError[Lexical error at line 1, column 18.  Encountered: <EOF> after :
  \"/banon\"]; }{[tJ5MGSY_RnOHfeAN2O8gnQ][twitter][0]:
  ...

If you’re like me, you’re thinking “but my query doesn’t have an EOF in it, it’s
valid JSON”, and you’d be right. Your query is still valid JSON, but it’s no
longer a valid Elasticsearch query.

When Elasticsearch moved from 0.20 to 0.90, they changed versions of Lucene as
well, going from 3 to 4. Under Lucene 4, a query with a slash in it is
interpreted as a regular expression. Your regular expression starts with the
slash, but if you only have one slash, it never ends, so you get the
Encountered: <EOF> after : error.

You will need to convert your queries to escape out slashes. Thus, a 0.20 query
of:

1
2
3
4
5
6
7
{
   "query":{
      "query_string":{
         "query":"user:kimchy/banon"
      }
   }
}

…becomes this under Elasticsearch 0.90:

1
2
3
4
5
6
7
{
   "query":{
      "query_string":{
         "query":"user:kimchy\\/banon"
      }
   }
}

Note that this only affects queries; filters are seemingly unaffected.

This was raised in this Github issue.

Why I will be voting Green

Let’s face reality: the Green Party isn’t going to win the 2013 BC Election. They might win one or two seats. They’ll probably get 9-10% of the popular vote.

And that is why I’m voting for the Green Party on Tuesday.

I don’t like the first past the post elections we have in BC and Canada. It penalizes smaller parties and rewards larger ones. We always have calls by the NDP to not split the anti-Liberal vote or calls by the Liberals to not split the anti-NDP vote.

I think smaller parties deserve better say. It’s a shame that the electoral reform referendum failed in 2005 and again in 2009.

I’m voting for the Green Party in hopes that the smaller parties’ voices get a little louder. Getting 10% of the vote but 0% of the seats isn’t fair.

So why the Green Party and not the BC Conservatives? Greens are more leftist, and they don’t promote a future that’s based on fossil fuel burning. Vancouver is aiming to become the world’s greenest city by 2020, and BC should aim to become the greenest province.

They have some wingnut ideas about Smart Meters and BC Hydro (they say they’ll instruct BC Hydro to provide customers with various concerns with a wired-in Smart Meter, then say they’d place BC Hydro under the BC Utilities Commission so that the provincial government can’t interfere in the operations of BC Hydro — these two things appear to be at odds with each other), but I’m willing to let those slide.

It’s a strategic vote. I know my candidate won’t get elected, but I hope that enough people province-wide will vote Green (and enough people on Vancouver Island vote Green to elect a couple to office) so that smaller parties can get a little more recognition.

Why not the BC NDP? when I did the CBC Vote Compass the Greens and NDP were tied at the top for my results. The NDP are going to win my riding whether or not I vote for them. My Green vote is a safe one. If I lived in a riding where the Liberal stood a chance, I’d probably vote NDP, but I don’t, so I won’t.

Of course, the election isn’t for another couple of days, so I might change my mind…

Why I won’t be voting Liberal

On 11 May 2013 the Vancouver Sun published a list of 20 hot topics in the
upcoming BC election with the positions of the four major parties. Based upon
their responses, the BC Liberals have put a lot of their eggs in the Liquified
Natural Gas basket.

The BC Liberals are proposing that LNG be expanded greatly in BC over the coming
years, and the revenues from that will be fed into a BC Prosperity Fund. This
Prosperity Fund is listed in four of the twenty topics:

Housing/poverty: No specific housing promises, but creating of an
LNG-funded BC Prosperity Fund will help ease affordability problems.

Energy/pipelines/LNG: Preconditions demanded before support for Northern
Gateway, Kinder Morgan; LNG to fund new BC Prosperity Fund. Support Kitimat
oil refinery, new fracking rules.

Balanced budgets/debt: Limit government spending growth to GDP; create BC
Prosperity Fund for debt reduction; 50% of excess revenues to debt reduction.

Crown corporations: A third of new BC Prosperity Fund revenues to pay down
BC Ferries debt; accelerate paydown of BC Hydro and Port Mann Bridge debt.

The province currently gets some revenue from LNG. However, over the last eight
years, natural gas revenues have been overestimated five of the last eight years,
with an average error of $584 million. The most recent budget originally
overestimated natural gas revenues by $65 million before Finance Minister Mike de Jong corrected them.

With these kinds of errors in estimating natural gas revenues, the BC Liberals
are gambling on BC’s economic future. Not only that, they’re doing it with a
fossil fuel, in the same month that carbon dioxide levels have passed 400ppm.
We need to reduce the amount of fossil fuels we dig up and burn, not increase.
The BC Liberals are proposing burning and polluting our way to prosperity, which
in this day and age is the last thing we should be doing.

This isn’t the only reason I’m not going to vote for the BC Liberals, but it’s a
fairly major reason.