Misunderstanding Computers

Why do we insist on seeing the computer as a magic box for controlling other people?
人はどうしてコンピュータを、人を制する魔法の箱として考えたいのですか?
Why do we want so much to control others when we won't control ourselves?
どうしてそれほど、自分を制しないのに、人をコントロールしたいのですか?

Computer memory is just fancy paper, CPUs are just fancy pens with fancy erasers, and the network is just a fancy backyard fence.
コンピュータの記憶というものはただ改良した紙ですし、CPU 何て特長ある筆に特殊の消しゴムがついたものにすぎないし、ネットワークそのものは裏庭の塀が少し拡大されたものぐらいです。

(original post/元の投稿 -- defining computers site/コンピュータを定義しようのサイト)

Friday, December 2, 2016

What Is Computer Security? (Short Version)

The detailed version of this, where I plan to talk about different kinds of complexity and intransigent (NP-complete) problems and such has gotten side-tracked and mired in details.

There's a bit of irony there.

But "cybersecurity" and similar nonsense is getting bandied about in the information stream again, so I'm thinking I should try writing the short version anyway.

That means I make a bunch of assertions and fail to back them up. And leave out a bunch of references to automata and algebrae and ideal machines, etc. And, at the end, I really can't make certain of the strong arguments here.

But things need to be said, even if only ten or twenty people out of the billions in the world will ever read this rant.

First, something I use as a siggie when I post from my tablet:

(I've done the first part of this rant before.)

A CPU is just a fancy pen.

Computer memory is just fancy paper.

The network is just a fancy backyard fence.

What's fancy about the paper? 


It can be erased and written over and over, very quickly.

It has a built-in structure, so that the pen can (must) specify where it reads and writes.

It has a regular granularity, too, but I'll skip talking about that here. It isn't unimportant, but I don't have simple ways to talk about that today. And there is plenty to talk about without it.

Now, when we talk about computer memory in this way, we include the high-speed RAM, hard disks, flash and other non-volatile semiconductor storage (USB drives, SD, etc.), and such.

In the extreme, a printer that can scan what it printed can be used as a kind of memory.

And here's another hard-to-understand bit -- the network is, in a sense, a storage device. But it is different enough that we need to treat it someone somewhat separately.

What's fancy about the pen?

It can read as well as write.

It can't understand much about what it reads and writes, but it can read.

It can perform simple arithmetic between reading and writing.

Some people don't understand that the logic that CPUs perform is actually a simpler kind of arithmetic than even addition, subtraction, multiplication, division, and copying, but it is. Reading an address and using that address to access a specific part of memory is also not, I repeat, not hard math.

Everything a computer does is built on simple arithmetic.

Which leads to one more thing. A computer can read a list of pre-defined simple mathematical operations off of that fancy paper and perform that list. It can follow a list of simple instructions.

Haven't you always, secretly, wished you could find someone who would do exactly what you told them and nothing more, nothing less, and not complain?

Heh. When we start programming computers, there's a certain thrill in finding that computers follow the instructions we give them blindly and exactly. And then we discover that we often (usually?) don't really understand the instructions we are giving them until the computer has complained at us at length.

And until we and the computer have wasted a lot of time and other resources doing what we said instead of what we meant. And then we get our backs up. "Who gave this stupid computer permission to talk back?" And we get stubborn. And proud.

Hubris was once considered a necessary attribute in computer programmers.

Bill Gates demonstrates quite a bit of hubris.

Steve Jobs sometimes demonstrated hubris, but he moderated his megalomania with a sense of what the limits of technology were, and with a sense of the limits of general human ability to make good use of the technology at the time.

What's fancy about the backyard fence?

Somebody used to say that the Internet was just a fancy telephone directory. I think I even said that a few times.

There is part of the Internet that is, in fact, very similar to a telephone directory, and web sites can look very much like extended function advertisements in telephone directories, but there's more to the Internet than just that.

It's fun to talk to our neighbor across the backyard fence. It can also be useful. And sometimes several of your neighbors can gather at the fence.

Networks can be big. The Internet is really big. Lots of people can get together and talk.

And you can use things like "social networking" to select just a part of the big neighborhood to talk to.

(The telephone directories, yes, they are the basis of the social networking organizations. I'm giving a lot of control to my life to Google by using their products. LinkedIn is a little more up front about this and a lot less reaching, but then they let Google do a lot of the reaching for them.)

In addition to the directory, the Internet is composed of billions of host machines. The concept that each computing device attached to the Internet is actually a host has been watered down and swept under the rug by a whole host of interested parties who think they can't profit if they can't pipe everyone through their application. But without those hosts, there is nothing to put in the directories.

The Internet is often described as a highway. More accurately, it would be a large system of interconnected highways and byways and sometimes the local roads. (Oh, you take the highroad and I'll take the low road. ...) More correctly, the Internet is the set of rules by which traffic on the highways and the byways and the local roads gets routed. That includes a stripped-down directory service called the domain name system (DNS), which most users of the Internet only work with indirectly.

Access to the various hosts is at best only as reliable as the directory.

When we humans want to go somewhere, we use a higher-level directory for a variety of reasons. Mostly, we don't want to remain remember details like those complicated-looking URLs and URIs and IP addresses that the domain name system deals with.

Even the name of the DNS causes us to block. What is a domain and why should we be worried? (I should expand on that in this rant, (but I evidently didn't).)

So we rely on Google and Bing and Yahoo and (if you are a certain type of geek) Duck Duck Go, and so forth.

Bing. You do understand that Microsoft wants to get you to use Bing for everything without realizing you are using their search engine, exactly as Bill Gates and Co. wanted to get you to use Internet Explorer for everything without realizing you were using their universal browser?

And Google's end-play becomes more understandable, right?

The high-level web is at best only as reliable as the search engine we let guide us around it.

All of this talk about the "semantic web" is little more than a ruse to get us to let other people do the work we should be doing for ourselves (in finding meaning in things). Search engines are good, but we should not turn all our maps over to one or two or even just a few institutions, even if those institutions are privately held companies rather than government or para-governmental entities.

We have to take a certain amount of responsibility for what we do, or why even bother doing it? -- much less bother doing it right?

Security --

Computers are just fancy pens and paper and a fancy backyard fence ...

From here, lets use a different metaphor for the backyard fence.

Computers are just fancy pens and paper and a fancy bulletin board ...

Well, that metaphor is not quite complete, either. Highway system? Getting closer, but the metaphor gets more mixed than it was originally. Let's imagine a very large backyard fence with cats walking along the top, taking messages up and down the fence, and fancy bulletin board that can be copied from and to any particular place on the fence.

Getting closer, if your mind hasn't imploded.

Anybody who can get access to your pen can write anything on your paper. And read what has been written. Anyone who can get direct access to your paper doesn't need your pen.

And anyone who can get access to your piece of fence can write whatever they want on your phone book -- uhm -- directory.

That fence is a highway. Are you going to put your company safe out on the highway? Are you going to put your internal-use-only phone book out on the highway?

There are precisely two ways to protect your paper, including your directory.

One is to keep your computer away from the backyard fence, but then it can't access the neighborhood.

The other is to use encryption, but you have to use that correctly.

How does encryption help us stay somewhat secure?

If your paper is encrypted, and only you know the key to the encryption, what happens when someone else writes something on your paper?

It's not encrypted with your key.

If it's written on your paper and it's not encrypted with your key, you can guess you didn't write it. (Well, maybe you wrote it when you were too sleepy to use your key and encryption system.)

Now you know why the OS companies lately seem to be encouraging you to use encrypted file systems, whatever those are. This is what they are trying to help you deal with. Otherwise, you will rightly blame them for telling you the OS is secure when it isn't.

But someone sneaky could guess your key. Or they could find some way to watch you using it and copy it. (Think of the guy behind you at the ATM, watching you punch in your PIN out of the corner of his eye, as one example. Good thing your bank shuffles the keypad around, isn't it? Or did you not realize that was why they were doing that?)

This is why everyone has been telling you to make up "hard" passwords. Don't use easy-to-guess or easy-to-read-over-your-shoulder passwords, PINs, and so forth.

 Oh, wait. You don't encrypt that stuff. Encryption is hard work. You let your computer do all the work.

But if you computer does all the encryption for you, nothing is gained. It will also do the encryption for the neighbor who sneaks up to the fence while you aren't watching.

Even if you do it right, access with knowledge of the password you use allows the unauthorized neighbor the ability to write what he or she wants and read what he or she wants. (That's why you protect your password, right?)

There is also an implication about knowing where to read and write, but that is not as hard as we would wish. The CPU can help the nosy neighbor with that pretty much as easily as it can help us, the rightful owners of the data. (I'll have to rant about that in more detail sometime, too.)

Okay, now you are beginning to see how important passwords and PINs are. (PINs are short passwords that can't be made hard to guess. I've tried to discuss their use elsewhere in this blog, but the simple but incomplete explanation is this:
A PIN is what the bank has you use when it's okay for the bank to shut down access to your bank account on the third bad try.
So PINs are really just another kind of password, going the other direction from pass-phrases and cryptographic keys.

How can you avoid the problems of people guessing your password?

As I explained in the rant about PINs and passwords that I linked above, you make the passwords long and avoid memes and other things everyone (including you) talks about all day long. Or you let the computer generate long streams of nonsense.

How do you remember those?

You let the computer keep them in one of its notebooks -- your "wallet" or "database of tokens" or whatever. And, so that the sneaky guy can't use your database of tokens, you encrypt it and protect it with a master password, and your master pass phrase is long and something that you think about a lot but don't talk about much.

(Please don't write your master password on a sticky note and leave it in your physical wallet or somewhere on or in your desk. At least, not unencrypted, but that's back to the encryption problem.)

Have you heard about one-time-pads (OTP)?

These are kind of cool. A one-time-pad is a list of passwords or other such tokens for a specific use. Only you and the bank (or whoever the other guy is) have the list. (You don't keep it where people can read it, okay?)

And each time you use a password, you throw it away. The next time will be the next password. So even if the sneaky guys take a movie of you using one of the passwords, that password doesn't do them any good. You can't use it again and neither can they.

You can see that you want a computer to handle OTPs, right? That's computer is the that little device that looks like a calculator, that the bank wants you to start using.

The only problem is that the bank lets a third party build those. So it's not just the bank and you. That is a problem with the way things are done now.

What the banks should do instead is basically build the devices in-house and have your local branch program yours when you go to the branch to pick it up, but that is the subject for another rant.

Actually, one of the devices I want to build is a personal OTP/password manager. That is, I want to make a design that you could look at, and then you could build it yourself. It would look something like a calculator. In fact, it might include calculator functions. But it does not hook up to the Internet.

(Or, at least, the connections is physical-wire-only, and it reminds you to take it off-line after a minute on-line. But this option really isn't good, and I only mention it to help the non-tech salescrew who will want, oh, so very much, to have that "feature" to sell theirs with.)

It could generate a list of one-time-passwords that you encrypt and take to the bank. It could copy the list to a SD card, and the bank could provide a terminal for you to plug that SD card into, to make the bank's copy. Then you and the bank can be pretty sure that only you and the bank have a copy.

And, just to be sure, the bank erases the card for you after it makes the copy, and you plug the card back into your token manager and write noise where the list used to be. (Some SD cards won't let you really erase files permanently, so the device has to use special-purpose SD cards. Forget USB flash for this.)

The idea still has problems, but it separates your passcode management from the devices that are constantly on the Internet.

Uhmm, No.

You really can't make things perfectly secure. You can just try to make getting in harder than it's worth.

Real Security

This kind of security is hard. It's doubly hard to keep in it meaningful.

Constantly checking who is looking over your shoulder is not real security, so you really should not want to be doing this kind of thing too much.

Here is the basic key to real security:

Don't be valuable.

If you have to do or be something that other people think is valuable enough to steal or kill you for, give that value away as fast as you can.

Maybe you can find time to choose worthy recipients of the value. That is commendable. But, even when you can't find worthy recipients, don't wait. Give it away.

How can this be a good thing?

YOU END UP NO RICHER THAN ANYONE ELSE!

Oh!!! Horrors!!!

If you give away the value you create, others see you doing it and some of them decide to do the same thing, too. This eventually results in a world where the things people need are available. Who is going to be motivated to kill or steal when they don't have to?

It also changes your attitude, and that is the most important protection you can get. Real security is when you know that your most valuable asset is you, yourself, and you are busy putting that asset to good use for other people.

(I rant a little about this in my freedom is not free blog (for instance, here and there, too.), but I'm not the only one who can tell you about it. Look around. It may be where you least expect it.)

[JMR201612200823: Fixed a bunch of typos and added just a little to clarify a few points.]

Thursday, October 20, 2016

People Can Write Pretty Much Anything in an E-mail Message

Remember that it doesn't take a lot of effort to write all sorts of lies in an e-mail message.

For example, I just got this e-mail message:
Molly Angel has shared OneDrive files with you. To view them, click the links or images below. 
My thoughts went something like this: 
OneDrive. Oh, yeah. Google's file sharing stuff that allows you to store thinggs on their servers and say who gets to look at them and download them. (Pushing the security feelings button.)

Cool. No, wait. Onedrive is not Google, Google's service is Google Drive.

Look up Onedrive. Onedrive is Microsoft's wannabee service.

And wait a minute. I don't know any Molly Angel. I know a song called "Johnny Angel" that Shelley Fabares made a hit record with. (Pushing the good feelings buttons, there.) But why would a Molly Angel be sharing files with me? (Very likely intending to push the prurient interest button, there.)
The first thing you should do when you receive a message from someone you don't know is doubt it. Doubt everything about it. Even if it gets through your mail filters, doubt it.

Especially if it seems to be trying to push your buttons, doubt it.

Look at the return address. mollyangel24@hotmail.com? Other than that I do not recognize the address, and the potential button pushing, not a lot of clues there.

Look at the subject. No subject. Unfortunately, a lot of my good friends fail to use the subject line any more. Sometimes I even forget. Not a lot of clues there.

Look at the "To:" line. Ah hah! Lots of addresses in there, several that have my first name in them. I know none of them. Several red flags here:
  • Sending to more than one address is convenient, but it exposes potentially private information.
  • Especially when it is people you don't know, it's exposing addresses people may not want you to know. Breech of internet courtesy.
  • Some of those have names in common with me. (icardjoel@something.2ld, etc.) 
Spammers used to put ten or twenty variations of one name in the To: field, to save money or time as they tried to find addresses of suckers, I suppose. Now it may be more of a ploy to fool your filters.

There are images in this. You don't allow images to be automatically displayed, do you?
  • First, if the images are naked or near-naked images, that's more button pushing. Get you excited enough that you forget your caution. 
  • Second, if the images are included in the message, sometimes (especially Microsoft's) mail browsers can get fooled into executing bad programs hidden in them -- virus, backdoor, trojan, keylogger, etc.
  • Third, if the image is a link to an image on some private server, the image can be monitored and, with clever tricks in the link, tell the sender that you looked at the image. If they were just guessing, they now know they have a live address that someone (you) might look at. And you didn't even click anything. (And then they send you more of this stuff.)
You can always enable images on a per-message basis if you know who sent them to you. Keep them disabled.

Unless you like to have people send you such things.

Are you that desperate for attention? That is not a good thing. If you are desperate for attention, you are going to do stupid and dangerous things.

Join a club, service organization, or even a church, where you can get face time with real people.

People you know can also do bad things to you, but they are less likely to do so. Getting to know people is an investment that they don't want to casually waste. Making new friends when they have a bad reputation gets hard for them, too.

Moving on, showing the source text for the message reveals more red flags.

The "To:" field actually does have something like fifty addresses in it.

You can see where the spammers are spoofing the dkim, spf, dmarc that are supposed to reassure you that the sender is valid.

(Of course that stuff is easy to spoof. You can write what you want in a header if you control the sending server.)

It also reveals some weaknesses in Microsoft's OneDrive.

The key to remember is that computers are just fancy paper and fancy pens. They person who controls the pen can write pretty much anything. Doubt first. Check.

Don't automatically display images.

Don't click on links unless you know the sender and are expecting him or her to send you a link, and then only if it's the kind of link you're expecting.

Other posts I've put up demonstrating the ways people try to fool you:

Tuesday, October 18, 2016

2809 Pageviews!

Complete coincidence, not meaningful at all, but interesting to me, nonetheless.

Some of my (too many) other blogs are also approaching interesting numbers.

Why is 2809 an interesting number to me?

I am a fan of the M6809 processor.

And you say, "So?"

Motorola could have jumped years into the future, if they had been willing to refrain from going head-to-head with the wrong-headed Intel engineers in their pursuit of featuritis.

The 68000 did not need all the fancy address modes from the 68020 on. For most of them, there was very little, if any, time advantage. The only real advantage was in maybe reducing register usage. Sometimes the fancy modes even took more instruction space than doing it with a few less fancy instructions. And getting a compiler to use fancy modes is always rather a headache.

What it needed was the full 32-bit branches and other things it got with the 68010 and the CPU32 parts.

And the other thing it really wanted was separate spill/fill caching on the A7 (return address) stack, to cut subroutine overhead to almost zero and push people to use run-times that split the return address and parameter stacks.

Oh, and, of course, on-chip memory management.

Those three things with the rest of what the 68K had would have basically eliminated all the competition. There would have been no need for the industry side-tour through riscville.

The 6809 could have benefited from a similar treatment: spill-fill caching on the return address stack, extending the indexes to 32 bits and running the integer math at 16 bits wide instead of 8+8, adding memory management.

I want to build a software simulator that would have those features. If I do, I'm thinking of calling it the 2809, "2" for two stacks instead of "6" for the 6800 ancestor.

Speaking of the 6800, even the 6800 (well, the 6801) with a spill-fill cached return address stack separate from the (S register) parameter stack would have cleared a lot of bottleneck code in function calls and made it easier to support high-level language run-times. (That is, made it easier to do high-level runtimes that wouldn't fight with the engineers for precious on-chip resources.)

2809.

And some other ideas for a stripped-down CPU capable of behaving itself cleanly in a multi-processing 32-bit and 64-bit address space run-time.

Daydreams.

Drowning in daydreams brought on by a coincidence in the number of page views for this blog, which will soon be 2810 or so.

No wonder I have a hard time making a living.

Tuesday, August 30, 2016

Multiple Login Methods for One User (Person)

I've ranted about this before, I'm not sure where all.

My docomo cellphones have several "passwords". They don't properly explain them, and they don't give me a good reason to remember which does what, and (the real killer), they are all "PIN" in format -- "Personal Identifying Number".
  • One is for logging in to the phone to use it as a phone, if you choose to have a PIN for that. 
  • Another is for getting into the settings like your e-mail address or the phone number you are using. 
  • Another is for accessing e-mails you have decided to save in a "secret place". (I think. I don't use it, so maybe I'm remembering wrong.) 
  • Another is for getting onto the Internet if you want to pay through the nose to do that.
  • Etc.
(I ranted about using PINs at banks a little bit once, here: http://defining-computers.blogspot.jp/2015/10/why-personal-information-in-e-mail-is.html.)

<sarcasm level="alert" />

Sure. Right. I'm sure the number 7738 identifies me. And about ten thousand slightly technical types who sometimes amuse themselves by looking at numbers upside-down. And 7734 uniquely identifies about a hundred thousand guys who get amused at getting to say naughty words where "no one will know".

<sarcasm level="off" />

4-column PINs are so weak that, if I could try your bank account once a minute for a week, I'd get in.

The gory details:
0000 to 9999 is 10,000 possible PINs to choose from.

One try a minute, 60 minutes an hour, 24 hours a day, 7 days a week is
1 × 60 × 24 × 7
or 10,080.
You can't do that at an ATM, of course. The guards would get suspicious. (And that's also why the ATM eats your card on the third bad try.)

But you could do that from the network, if the bank didn't disable your account on the third bad try.

8-digit PINs are a bit better. It takes at most 10,000 weeks, which is what, (10,000/52) about a hundred ninety years?

ATMs now use full touch-sensitive raster screens with on-screen keypads. They could easily shift from using hard-to-remember, mostly-meaningless PINs to using relatively easy to remember words for the shared secret function that allows you to use your ATM card.

Words. Or even full pass-phrases that you could change regularly and still have a chance to remember. Like:
  • "cherry ice cream" in the summer. 
  • Change it to "roast turkey wings" in the fall.
  • And, for the week of your anniversary, "loves them skooks" (for a reference to an ancient Popeye episode).
The cell phone? Well, choosing a mnemonic 4-digit PIN reduces the number of tries, actually. The math gets a little esoteric, but that's one of the reasons I don't use the secret store on my cellphone.

Microsoft Windows 8 has a place to disable password login, but it seems to entirely disable passwords when you do that.

What-The-Foulup?

I looked for an auto-login setting like you can get on Macs and Linux OSses, but I sure couldn't find it. Maybe I'm missing something, but Why-The-Friendly isn't that option right out in front?

Why entirely disable passwords ever? Isn't that a major SNAFU?

(Situation Normal, All Fouled Up. Normal for Microsoft, just like the money-magnet bureaucracy it started as and still is. Money is like pus -- it collects where the festering wounds in society are, right?)

Some people still talk knowingly about getting rid of passwords entirely. They don't seem to understand the difference between a passphrase and a password. Zero, except the user isn't as surprised that a passphrase is long. And you collect all your really long esoteric, unguessable keys into a keystore protected by a single passphrase.

("cherry ice cream" is a passphrase, if you must. Not a really good one, but better than "7738".)

Any secret token system is a secret token system -- sort-of equivalent to when the guys on your block agreed that you had to say, "The north wind blows foul." to get into the clubhouse.

Religious tokens are different, by the way. If you understand the theology well enough to be able to remember words used in certain contexts, they are definitely not hard to guess. But they are not really designed to be hard-to-guess. They aren't (supposed to be) used by some mystical system to identify/authenticate believers. They are supposed to have meaning. Lots of meaning. Deep, important meaning. Meaning that helps the believer to find his or her own way into the system of belief -- although not entirely unguided.

Kind-of-like the how password to the boys clubhouse being "Girls have cooties!" would self-identify boys to a certain extent, but later lead them (through reverse psychology) to a greater truth.

Heh.

The password you use to log in to your computer should have just enough meaning to allow you to remember it, and not enough meaning for someone else to guess it. Plus-or-minus a bit, depending on whether you want your spouse/partner/sibling/co-worker to be able to remember it, too, and so forth.

Many banks are resorting to one-time-pads stored in a little device that looks a little bit like a cheap calculator. These are almost useful. Except that the user doesn't have a lot of choice.

A one-time-pad is a list, like on a pad of paper, of a lot of hard passwords, and the user is supposed to know which to use when. Maybe you cross out the ones you've used in the past and always use the next one. The bank also has a copy, and crosses the used passwords out on its copy, too.

If I could generate my own list and give it to the bank, that could be very good.

The current state of the art, however, is to depend on the (third-party) one-time-pad manufacturer to produce said lists. I do not like bringing third parties into the transaction.

Anyway. Back to the title of this rant that went too far afield --

I want to be able to log in from the keyboard via a short password, kind of like the gesture you use on some smartphones.

And when I plug my phone into some sort of network for some maintenance, I want to have a more difficult password for it, or maybe some automated key token exchange. 

In the one case, I'm just a phone user.

In the other, I'm an administrator.

Different roles. different stuff going one. Different ways to log in.

With the phone, this could be done with basic user ids and passwords, to a certain extent.

Yes, my phone runs whatever they call the LIMO distribution of Linux now. I'm not motivated enough to get in, so they things they do to discourage me from getting in so far have kept me out. That's not quite fighting fair with the GPL.

When my desktop PC screen saver locks the screen, I don't want to use the password I use on the Internet.

Slightly different roles, different login, is what I want.

I should get motivated enough to start working out a way to do that, to set up multiple ways to log in to Linux, depending on the device or access path I'm using to log in.

Friday, July 29, 2016

SPAM: ROFL (Computer Memory iIs Fancy Paper, the CPU a Fancy Pen)

Clearing out my Unsolicited folder always gives me a few chuckles.

This one was a bit more than a chuckle:

Your Mailbox (debian-user@lists.debian.org) usage is above 100MB, prior to the general system update, CLICK HERE to Upgrade your E-mail account to avoid any blockage or deactivation.

NMSU Help desk
Copyright  2016 © New Mexico State University. All rights Reserved.
Why? you ask. What is so interesting about it? 

Here are the headers that Google shows for it when you ask for the simple display of the headers (the triangle beside the from name):


from:helpdesk@nmsu.edu <[****P]@csufresno.edu> via lists.debian.org 
to:debian-user@lists.debian.org
date:Thu, Jul 28, 2016 at 1:14 AM
subject:Mailbox is almost full
mailing list:debian-user@lists.debian.org Filter messages from this mailing list
mailed-by:lists.debian.org
encryption:Standard (TLS) Learn more


Wow! The general user mailing list for the Debian/Linux family of computer operating systems has a mailbox at New Mexico State University!

Oh, but wait. The "from" address is deliberately miss-labeled (spoofed). It claims to be the helpdesk at NMSU, but it's really a professor at Fresno State (California State University, Fresno)!

Why would a professor at Fresno State be working the help desk at NMSU? Or even pretending to be?

Beginning to see the humor here?

Let's get a better look at the headers. Over to the right of the upper reply button, there's another triangle for a pop-up menu. Click that, and select "Show original":



                                                                                                                                                                                                                                                              
Delivered-To: [****B]@gmail.com
Received: by 10.36.98.147 with SMTP id d141csp352457itc;
        Wed, 27 Jul 2016 08:36:20 -0700 (PDT)
X-Received: by 10.28.194.195 with SMTP id s186mr34931549wmf.48.1469633777622;
        Wed, 27 Jul 2016 08:36:17 -0700 (PDT)
[...]
Received-SPF: pass (google.com: manual fallback record for domain of bounce-debian-user=[****B]=gmail.com@lists.debian.org designates 2001:41b8:202:deb:216:36ff:fe40:4002 as permitted sender) client-ip=2001:41b8:202:deb:216:36ff:fe40:4002;
Authentication-Results: mx.google.com;
       spf=pass (google.com: manual fallback record for domain of bounce-debian-user=[****B]=gmail.com@lists.debian.org designates 2001:41b8:202:deb:216:36ff:fe40:4002 as permitted sender) smtp.mailfrom=bounce-debian-user=[****B]=gmail.com@lists.debian.org
[...]
Received: from [10.32.215.48] (unknown [197.211.57.1])
    by fresno-p02.merit.edu (Postfix) with ESMTPSA id AA5C670072A1
    for <debian-user@lists.debian.org>; Wed, 27 Jul 2016 11:13:22 -0400 (EDT)
Content-Type: multipart/alternative; boundary="===============1054991032=="
[...]
Resent-Date: Wed, 27 Jul 2016 15:36:11 +0000 (UTC)

You will not see this in a MIME-aware mail reader.
--===============1054991032==
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Description: Mail message body

Your Mailbox (debian-user@lists.debian.org) usage is above 100MB, prior to =
the general system update, CLICK HERE to Upgrade your E-mail account to avo=
id any blockage or deactivation.

 NMSU Help desk
Copyright  2016 =A9 New Mexico State University. All rights Reserved.

--===============1054991032==
Content-Type: text/html; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Description: Mail message body

<HTML><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=
=3Diso-8859-1"/></head><BODY><P style=3D"WHITE-SPACE: normal; WORD-SPACING:=
 0px; TEXT-TRANSFORM: none; COLOR: rgb(34,34,34); FONT: small arial, sans-s=
erif; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-str=
oke-width: 0px"><SPAN style=3D"FONT-SIZE: 16px; FONT-FAMILY: calibri, arial=
, helvetica, sans-serif; COLOR: rgb(0,0,0); font-stretch: normal">Your&nbsp=
;Mailbox (debian-user@lists.debian.org) usage is above 100MB, prior to the =
general system update,&nbsp;</SPAN><A style=3D"FONT-SIZE: 16px; TEXT-DECORA=
TION: none; FONT-FAMILY: calibri, arial, helvetica, sans-serif; COLOR: rgb(=
17,85,204); font-stretch: normal" href=3D"http://akkartec.com/images/upgrad=
e/
" target=3D_blank>CLICK HERE</A><SPAN style=3D"FONT-SIZE: 16px; FONT-FAMI=
LY: calibri, arial, helvetica, sans-serif; COLOR: rgb(0,0,0); font-stretch:=
 normal">&nbsp;to Upgrade your E-mail account to avoid any blockage or deac=
tivation.</SPAN><BR style=3D"FONT-SIZE: 16px; FONT-FAMILY: calibri, arial, =
helvetica, sans-serif; COLOR: rgb(0,0,0); font-stretch: normal"></P>
<P style=3D"WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; C=
OLOR: rgb(34,34,34); FONT: small arial, sans-serif; WIDOWS: 1; LETTER-SPACI=
NG: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"><SPAN style=
=3D"FONT-SIZE: 16px; FONT-FAMILY: calibri, arial, helvetica, sans-serif; CO=
LOR: rgb(0,0,0); font-stretch: normal">NMSU Help desk<BR>Copyright &nbsp;</=
SPAN><SPAN style=3D"FONT-SIZE: 16px; FONT-FAMILY: calibri, arial, helvetica=
, sans-serif; COLOR: rgb(0,0,0)">2016</SPAN><SPAN style=3D"FONT-SIZE: 16px;=
 FONT-FAMILY: calibri, arial, helvetica, sans-serif; COLOR: rgb(0,0,0)">&nb=
sp;</SPAN><SPAN style=3D"FONT-SIZE: 16px; FONT-FAMILY: calibri, arial, helv=
etica, sans-serif; COLOR: rgb(0,0,0)">=A9 New Mexico State University. All =
rights Reserved.</SPAN></P></BODY></HTML>
--===============1054991032==--




I ripped out a bunch of stuff that gets in the way of seeing the interesting stuff, but it looks like (maybe) an open mail relay somewhere on merit.edu networks is picking up stuff from a bot or zombie-ized PC somewhere in the same network.

And the headers are very carefully crafted to sneak this through the SPF pseudo-validation system, but I clipped most of that. (You did know that SPF leaks like a sieve, right?)

I highlighted what appears to be the business end of this, a link to an "image" (probably not a benign image, at any rate) on akkartec.com.

Anyway, hi, Professor [Name Elided]. I am sure you are not working at NMSU's help desk. (I didn't really quite Roll On the Floor Laughing.) But it does raise an eyebrow.

And it allows me to show one example of why you should never trust e-mail without some good external reason to do so. (And maybe not even then.)


Rule for Safe Mail Use -- Don't Click the Linkies-linkies

This is the first rule that should be taught everyone using e-mail:

NEVER CLICK THE LINKS!

Who knows where that link leads to?

You want to believe it leads to where the mail message text says it does. Like, maybe to your bank or workplace.

The way links work, unless you know how to take precautions, you may never know where it took you to.

Here is a link to a Visible Link.

Here's what the above link looks like when you look at the HTML source:
<a href="http://real-link.bad/">Visible Link</a>
(I hope there is never a ".bad" top-level-domain. But then, your browser might decide to add ".com" to it, too. Browsers really should not do that. Oh, yeah, I left out the target declaration, so it is a little easier to look at.)

That link could take your web browser to they guys who want to steal your money from your bank. 

Or it could take you to a rogue server put together by your worst nightmare competitors to steal your company secrets.

Did you click the links?

Did you look at the error messages and the URLs in your browser window? (You haven't given your browser permission to hide the URL, have you?)

Not that rogue html code isn't able to overwrite what's in the URL field, anyway. (What? it can? Woops. That's right. It can. Oh, dear.)

I guess you should never let anyone you don't trust write you an e-mail message in anything but plain text.
 
======

Yes, it's an inconvenient rule. 

Wearing clothes when you leave the house may sometimes feel like an inconvenient rule, too. Or refraining from sex with complete strangers, if you want a better metaphor.

======

There was a time when it was a rule for banks and financial institutions to never put links in e-mail. Unfortunately, convenience won out and practically "everybody" is doing it these days.

So, what should you do?

One thing that might help, if you are not into trying to read e-mail raw source text:
  1. Right-click the link and copy it. (Select "copy URL" or "copy link" from the pop-up menu.)
  2. Launch a text editor.
  3. Paste the URL into the text editor and look at it. 
  4. Does it looks like it should? 
  5. If you don't know what the URL should look like, look up the company or bank with your favorite search engine (google, or whatever).
  6. If it looks like a valid URL, paste it into the URL field in your web browser, and hit enter.
Here are some typical URLs, for reference:
  • web.mit.edu  Massachusetts Institute of Technolgy's main pages
  • home.byu.edu/home  Brigham Young University's front door
  • www.citi.com  Citibank's primary pages
  • www.paypal.com  Pay Pal's primary pages
But you shouldn't take my word for it. (My information might become old. Or, hey, unless you know me, you have no guarantee that I am not deliberately lying about those.)

Look up the companies you work with. Pay attention to their URLs.

And never directly click the links in e-mail.

[JMR201704211122: addendum]

There are other problems with URLS that I didn't discuss above. You will want to read this, as well:

Saturday, October 24, 2015

Why Personal Information in E-Mail Is Not a Good Idea

Postcards are fun. You can use them to keep in contact with people without having to think too hard.

I never got in that habit, and I don't tweet for pretty much the same reasons.

But they are useful to many people.

But you would never write a password or your social security number or your bank account number on one, would you?

Hey, Margot, this is the cliff I dove off today! Acapulco is GREAT! We're extending a week. Wish you were here!
And, hey, my PIN for the account at ABC Bank there in Brownfield is 7734. Can you pull out a hundred and go to the kennel for me and make sure Snickers is being well taken care of? I'd really appreciate it!

Love you loads, George.

The cat's name in the above may or may not be bad to put on a postcard, depending on whether George is using it as one of those things bits of information banks and such ask you for, to help identify you in the case of a lost password.

(And you really wouldn't use Snickers as a plain password, now, would you? Whether 7734 is a good PIN or not, well, I wouldn't use it. Banks really should quit using PINs at ATMs. Anyway.)

Now, you might put that in a letter, in an envelope. I wouldn't recommend it, but you might.

You want a fairly thick envelope if you do, to help in case someone holds your letter up to a light to read through the envelope.

And you want to fold the paper so that the sensitive information, the PIN the town name, and the bank name, are covered by as many layers as possible.

Don't make the envelope too thick, that might tempt someone to steam it open.

And write more, so that the sensitive information doesn't stick out so much. Rephrase things a little. Tell Margot about the markets you visited:
Hey, Margot, you like this postcard? This is the cliff I dove off today! Got a selfie, but the internet connection is terrible at the hotel. Still, you may get the selfie in e-mail before you get this.

Acapulco is GREAT! Fantastic markets. Good bargaining, although I'm sure we're being too nice and still paying too much.

We're having so much fun, we're extending a week.
Got a favor to ask, and I'll bet you can guess. In fact, you're probably calling me irresponsible for extending with the cat in the kennel and all.

You know where I bank? Yeah, that ABC. I'd really appreciate it if you could get some money out for me and go check up on Snickers for me. A hundred should cover the extra time and treat for him. Give him a hug for me, huh? 7734 is the number to use at the you-know-where. (I know, it's one of my stupid calculator trick numbers and anyone who knows me could guess it quickly enough if they were trying to get into my bank account.) Maybe you should change it for me while you're getting the money out.

We found this cool leather purse that we know you'll love. The motiffs look Toltec to me, but, hey, you don't have to tell anyone where I bought it, you think?

We should still make it back in time for the big soccer game.

Love you loads, and give our love to Fred and the kids.

George.
If you fold that correctly in three, there can be a layer of (mostly) non-sensitive information over both front and back of the layer with sensitive information. And the postcard can add another layer. Look at how you're folding things and putting them in the envelope.

If someone knows the information is there, it's no longer secret. But you can avoid people who don't know it's there noticing it and deciding that this letter is the one they want to steam open.

The best thing, of course, is to arrange this with Margot and the kennel before you go, so that you could just tell her, on the postcard:
Hey, Margot, this is the cliff I dove off today! Acapulco is GREAT! We're extending a week. 
Sure appreciate you looking after Snickers for us. Could you give the poor fellow a hug and my apology for leaving him there another week when you go take care of things at the kennel? 
Love you loads, George.
And if you do need to mention the bank and paying the kennel, put it in an envelope.

So, what does this have to do with e-mail?

E-mail is a lot like postcards. There is a digital "envelope", but it doesn't really cover anything. Even though they call it an envelope, it's just a few more lines of data, and anyone who can read the envelope can read what you write in the e-mail.

Who does that anyone include?

Well, system admins, the NSA, interns at your provider who have been asked to check something on the mail server, etc. Random people at your office, or roommates, etc., who have discovered certain commonly used tools like tcpdump.

Depending on the way your provider sets things up, if your neighbor is on the same provider and is experimenting with his network interface card, she may be able to put it in a mode that lets it see all the data that passes through your modem.

Encryption is one solution. But you don't know how to do that.

That's one of the reasons why, when Microsoft decided to jump on the internet and make it a bandwagon before we really had proper standard methods for encrypting and decrypting e-mail, they were behaving really irresponsibly. (Criminal negligence, in my opinion, but apparently I don't count. And now we are all criminally negligent for not fixing things.)

Now, say you are stuck. You didn't plan ahead. And you need to put your bank information in on postcards. What can you do to make things a little safer?

Five different postcards. First:
August 10th, am. Hey, Margo, look at the cliff I'm diving from here! I dove off it four times. Keep this postcard. I want it when I get back. Poor Snickers is going to miss us. Can you call the kennel and ask them to give us extra time? Luvya, George.
Second:
August 10th, pm. Margo, Just had to send you this postcard of the market here, too. Found you a nice leather purse at the fourth shop on the right, there. You'll love it! Don't lose this card, either, okay? Hugs and kisses, George
Third:
August 11th, am. Hi again, Margo! Great lunch at this cantina. Seven guitarists. Unbelievable music. Make sure you keep this card, too, okay? your little brother, George
Fourth:
August 11th, pm. Margo, do you see this bank? The seventh building on the left on this street. Doesn't it remind you of the ABC bank back home? I think I've been getting too much sun, but keep this card, too, okay? George.
Fifth:

August 12th. Margo, lovely blue ocean, don't you think? Snickers would love the beach, if not the water. Speaking of the kennel, they need money. You need a number to get it. I'm looking backwards at it in time at the postcards I just sent you. love you loads. George.
Too obscure?

Well, look how we did this. The fact that a PIN was being sent in reverse order was saved until the last. (Okay, there was a number other than the date in each, see? And the PIN is reversed, just to make it more of a puzzle.) That way, someone at the post office in Acapulco would be much less likely to copy those numbers down.

Problems?

  • Besides the obscurity? 
  • And the possibility that all five postcards end up in Margo's mailbox on the same day? 
  • Or the possibility that she just shook her head and said, "crazy little brother." and threw them all away?
  • Or that the words "save this postcard" induced someone at the NSA to take note and keep copies?
  • etc.
So, make arrangements in advance, in person, not through the mail.

E-mail has a further disadvantage, in that each server on the path from George to Margo has to make a copy to have a copy to send on. Some servers keep those cached copies around for a week. If that intern finds the messages, it's not going to be hard for him to put them together.

Never send a bank password or PIN through e-mail. Maybe no one will see it, but it's not worth the chance.

Well, if you do have to do something like that, have Margo change the PIN as soon as she's used it. (But that could be a race, to get it changed before someone can use it to steal from you.)

Of course, the bank has strictly warned you not to tell Margo your PIN, anyway. If you do and she robs you blind, it's not the bank's fault.

What if you have to send a bank account number through e-mail? Surely that's not as dangerous as a PIN?

Well, the bad guys can't use one without the other, sure. But having either one is half-way there. It's a lot closer than having neither. It's a lot safer for them to have neither.

How often can you change your bank account number?

So, make sure this kind of information never gets on the internet, by giving it to the other person directly, face-to-face. Or use properly e-mail encryption software, like PGP or gnupg.

With that warning, I'll suggest an approach that will reduce the risks somewhat.

First, tell Margo to read this blog post.

Then, split the account number into five or more parts. Say the account number is

Branch: 1723; account: 12340987

make it

17 23 123 40 987

(Note: 40, not 09.)

Multiply each part by a different number, say, 9, 3, 7, 5, 2
  • 17 * 9 = 153
  • 23 * 3 = 69
  • 123 * 7 = 861
  • 40 * 5 = 200
  • 987 * 2 = 1974

Send Margo seven messages like this:
  • I'm going to send you those sample English sentences now.
  • My father is sixty-nine years old.
  • I live at 153 Downing Street.
  • I must remind myself of the year 1974.
  • That two hundred pound bear is mine.
  • Send me 861 grams of chocolate.
  • What do you think of those samples?
She sends you a message like this:
Well, those aren't bad sentences. I got five of them. I need more.
And you send her the next set of sentences, again, in five different messages:
  • Okay, I think I found some more.
  • There are seven heavens for me.
  • I have nine lives.
  • My bonnie is three oceans away.
  • Sing mine five times, please.
  • I give myself two stars.
  • Will those do?
And she sends you a reply that she got them all.

Now, Margo knows you teach pronouns to your students in the order
I, my, me, mine, myself.
So she arranges those in the correct order:
  • I live at 153 Downing Street.
  • My father is sixty-nine years old.
  • Send me 861 grams of chocolate.
  • That two hundred pound bear is mine.
  • I must remind myself of the year 1974.
and
  • I have nine lives.
  • My bonnie is three oceans away.
  • There are seven heavens for me.
  • Sing mine five times, please.
  • I give myself two stars.
and she divides the first set by the second, to give the account number and branch number, all in one clot:
172312340987
And, since 17 and 23 were together, she guesses that the branch number is 1723.

Now you need to tell her the name of the bank.
I drive our Mitsubishi Galant to USJ last week.
If she understands, she replies
That's a long way to drive.
If she doesn't understand, she replies,
Where's USJ?
And you try again. Or you just punt and say something a bit easier from the outset, like
Oh, I like Mitsubishi UFJ for banking, how about you?

Now your bank's branch name is Senri Central, so you send a message something like
Hey, when was the last time you took a trip to Senri Central Station? There's a nice park near there.
to which she replies something like
Huh? I don't recall seeing a park there.
if she can't understand the branch name, or
Oh, yeah, that's a nice park.
if she recognizes a branch name from that and finds the branch name and number on the bank's website.

Now, there's one little bit of information left, the account name. That has to be verbatim, so she just asks you how to spell your name, and you copy the account name from your passbook into your reply.

Cloak and dagger stuff. Takes a long time, huh? And it still leaves a trail the NSA or any other bunch of spooks that can afford to monitor you can follow and probably work out for themselves.

Heh.

At minimum, if you have to send your account number through e-mail, send it in three or four separate messages, spaced somewhat apart in time, out of order.

And send the message that says what they are and gives the order in yet another message, afterwards, to make someone interested in the number have to look for it.

And, of course, never send your PIN through the e-mail.