The Newest Online Privacy Threat: Canvas

Tuesday 22 July 2014 4 comments

As a part of the various options webmasters have for displaying content in your browser, something called “canvas” can also be used for tracking. In essence, the webpage can instruct your browser to draw a picture that is not displayed. That picture tends to be unique with each user because of the various combinations of browser, fonts, screen resolution and other similar factors. The picture can be analyzed and a unique signature can be created from it. Every time you visit a website with similar code (provided by advertisers), that same unique ID can be generated afresh. Thus, simply visiting the various sites using that same browser guarantees you can be tracked even if you clean your cache totally between the various sites. The fingerprint is unique to your browser and can be recognized by servers wherever you go.

I’m sure someone could write a JScript that could block this function, but I know next to nothing about writing JScript. I suppose you could also write your own CSS code that blocks such use of canvas, but again, I know too little about that. I’ve seen it used to block various other kinds of elements, but I don’t know enough to use it as more than a very blunt instrument. Something like this:

img[src*="gif"] { display: none !important; }

in a user stylesheet that loads in your browser would simply block all GIF images from displaying. I don’t think there’s a way to refine that so that it only blocks, say, animated GIF images. If someone knows how to craft CSS or JScript to block those hidden canvas fingerprinting elements, I’d love to know.

Meanwhile, I note that using browsers incapable of running JScript will go a long way to blocking this tracking trick, but it also makes some websites hard to read. For the most part, I read almost all websites using Lynx, which is plain text. If some crazy webmaster blocks Lynx, I find Elinks often works in its place, another kind of plaint text web browser. The linked article from RT notes that someone is working on a special Chrome browser extension called “Chameleon” that would block such privacy threats. I suppose if you know how to use things like AdBlock or other tools for blocking specific sources, you could block the primary domains from which the canvas fingerprinting bits are injected.

It’s not like we can blame anyone in particular. Users demand more eye-candy and browser developers deliver, working in concert with webmasters to come up with more ways to please the eye. Each new trick carries vulnerabilities in the sense that more complications add more weaknesses. The basic rule of CompSec has always been that user convenience and entertainment always comes at the price of greater vulnerability. It’s always convenience versus security; increase one and you lose the other. So the most secure email, for example, is webmail viewed in a plain text browser. The most secure browser is plain text only. The most secure OS has no GUI.

The war on privacy continues unabated.

Addenda: Compliments of a Slashdot commenter, another thought that hadn’t occurred to me –

Depending on what you mean by “block”, there may or may not be a properly satisfactory answer: “Block” as in “make this specific mechanism fail” is the relatively easy question. If the attacker can’t manipulate a canvas element and read the result, it won’t work. So the usual javascript blockers or more selective breaking of some or all of the canvas element (the TOR browser apparently already does this for methods that can be used to read back the contents of a canvas element, so you can still draw on one but not observe your handiwork) will do the job. Unfortunately the attacker doesn’t actually care about making your browser draw a picture, they care about achieving as accurate a UID as they can. Given that, you might actually make yourself more distinctive if your attempt to break a given fingerprinting mechanism succeeds. In the case of the TOR browser, for instance, attempts to read a canvas will always be handled as though the canvas is all opaque white. This does prevent the attacker from learning anything useful about font rendering peculiarities or other quirks of your environment’s canvas implementation; but it’s also a behavior that, for the moment at least, only the TOR browser has. Relatively uncommon. Possibly less common than the result that you’d receive from an unmodified browser. That’s the nasty thing about fingerprinting attacks. Fabricating or refusing to return many types of identifying information is relatively easy (at least once you know that attackers are looking for them); but unless you lie carefully, your fake data may actually be less common (and thus more trackable) than your real data.

So the trick is to block in such a way that makes you indistinguishable from enough other users that you are lost. Then again, maybe the question needs to take a different direction. If you can’t prevent fingerprinting, what can you do to avoid some of the negative consequences?

CentOS 7: Home Networking

Monday 21 July 2014 Leave a comment

CentOS is a lot smarter than you might expect. It knows when it is connected to a home router. The new firewall quickly adjusts and generally does the right thing.

However, it won’t automatically allow you to link to the other computers on your home network. It’s defensive by nature and pretty tight. Once you tell the firewall things are okay for this or that, it will relax just a bit.

Let’s say that you have at least one other computer on your home network running Windows. This is not about Windows, so you’ll have to research how, but your Winbox can share files and any peripherals attached to it with your CentOS 7 machine (start by reading this for XP/Vist and this for Win7). The nickname for the protocol Linux uses to talk to Windows is called “Samba” which is taken from the abbreviation SMB (server message block). By default, it’s likely your CentOS machine is running a Samba client. It simply needs permission from the firewall to use it on the home network.

In your main menu, find the system administration tool for the firewall. It will demand your root credentials. The window that will open is pretty complicated, but we only need to worry about one thing: In the window pane on the left, select “home” — it’s the zone of operations CentOS knows comes from home networking traffic. In the window pane on the right, scroll down to find “samba-client” and select that box. The firewall immediately opens that channel for traffic only inside the router network.

Now test it by opening your file browser window. Look for something that indicates the Network connections and click that. Find the icon for Samba shares. Click and it should offer you a list of the Windows networks. By default, Windows computers will be set up to use “workgroup” as the name for this. Click that icon and you should find a list of Windows computers within that default workgroup. If you attempt to connect to any Windows “host” listed there with whatever name you gave it when you set it up (like “winbox”), you’ll need a name and password for any of the accounts on that machine. You can have your file browser window remember the password so you can log on at will. Once logged in, you can browse the file system as if it were your own on CentOS.

I’m not going to detail here the chase to find printer drivers for Linux; it’s pretty complicated. CentOS 7 comes with most of those available. You can find more at this page. Also, note that several major printer manufacturers have begun offering their own special Linux drivers, so do your own research. So let’s assume for now you know you have a Linux driver for a printer connected to your Winbox.

When you run the printer setup tool on CentOS, one of the options is a network printer using Samba (SMB). Click that option and fill in the information as required for your Windows Samba share. This assumes you’ve set up things on your Winbox to share and have given the printer share a simple name — I used “winprint.” Thus, it was a simple matter of smb://winbox/winprint for me. Then I chose the appropriate driver and set it up using the tool on CentOS. I was able to print a test page in just a couple of minutes.

The key was simply getting the firewall to open up for the samba client.

CompSec: The Other CIA

Monday 21 July 2014 Leave a comment

Computers are essentially the means to data storage and processing. In that sense, data has value. Never mind theories about money and store of value; data is its own kind of thing. The whole business of computers and networking is all about the data. Included with data is the value of the software it takes to handle the data. We secure both, and it is often impossible to separate them in practice. What protects one protects the other.

In their book, Cybersecurity and Cyberwar: What Everyone Needs to Know, Singer and Friedman discuss another kind of CIA than the US government spying agency: Confidentiality, Integrity and Availability of data (pp. 34-36). This is in answer to the common question of just what it is that we are protecting with computer security.

Confidentiality: While the book doesn’t address it quite this way, the primary good moral motive here is keeping the workload down. Too many people in this world are ignorant about all manner of things, including what is good and right. Further, too many of them would object to your idea of what is in yours and everyone’s best interest. So if certain aspects of your private business become known as connected to you, there is some risk you’ll face a thousand senseless questions and some mistaken if well-meaning interference. On top of this, you also have to deal with a host of folks who are actively opposed to your interests, and perhaps everyone else’s best interest. It doesn’t matter why. Keeping things confidential is a very good way of avoiding all the hassles from folks who really have no business in your business and won’t stay out of it.

Integrity: Can you trust the information? Is it what you intended it should be when you recorded it? Never mind the accuracy of your sources or input; people are the weakest link here. What matters is whether you will find what you ought to find when you go back to the data. It’s not just whether it has been altered, but whether the changes are proper, traceable and detectable.

Availability: Closely related is whether you can actually access the data when you go back to it. Inherent in this is the question of whether it can be moved to where it needs to go. If you can’t transmit it, the value is decreased dramatically.

The authors go on to describe the common threats to computer security and how they are often perceived. Cybersecurity and Cyberwar: What Everyone Needs to Know, by P.W. Singer and Allan Friedman; Oxford University Press 2014. ISBN: 978-0-19-991811-9 (paperback).

I note that for most of my computer ministry clients, this is far less about data storage and more about use and confidentiality. It’s not that data doesn’t matter. While most folks have a handful of documents and pictures, maybe some music they’ve ripped or downloaded, they don’t call me about lost files. It’s much more a matter of privacy and keeping malware away. They suffer far more from loss of control over their computers than almost any other issue. The threat they seldom understand is the data other people create and keep about them because they don’t have a clue about how confidentiality works online. Most people aren’t willing to learn how to protect their privacy, and if they did learn, would be unwilling to act on it much.

I Was Just Trying to Help

Sunday 20 July 2014 2 comments

Let’s explore some of the implications of the Doctrine of Leverage and all my blather about Christlike charity and moral sacrifice. We understand the necessity of standing back and suffering the empathy of those who hurt without taking action because we can only give what we have, and only what the other will take from us. It hurts, but that’s how God works in this world.

You can’t fix stupid, and in many ways, Western Civilization is hopelessly stupid. If you steel yourself for the worst, it won’t drive you insane when the worst shows up on your doorstep. Sooner or later, it will be there.

The title of this post is the last tangled end of a horrific mess. We know instinctively it is wrong, but may not have consciously thought out how it is a mere fig leaf over the nastiest funk to ever infest the earth.

The Anglo-Saxon roots of our Western society has “blessed” us with a filthy grade of arrogance. That arrogance is merely a harsh fulfillment of childish anger at having no clue how things work, and a petulant refusal to learn. Instead, we are taught to demand and demand and fight until we force reality to act in accordance with our whims. That there are conflicting lessons that moderate that tendency does not wipe it out, but serves only to drive it into the shadows where it lurks ready to pounce.

Meanwhile, the arrogant rage sneaks out in all sorts of ridiculous disguises. This perverts what little good will our human nature still retains after the Fall. We seek to palliate our mixed desires by insisting on helping people who don’t want it. They don’t want it because they suffer the same arrogance that drives us to help. It’s this thing of “my shit is better than yours.”

Ancient Anglo-Saxon nobles would prove their greatness by extravagance, even to the point of bankrupting themselves. But unlike the more noble ANE version of the same ethic — sacrifice because this world really doesn’t matter — the Anglo-Saxon version is pure hubris. They won’t remain in poverty long. They’ll just go out and steal it from someone else tomorrow.

This is what’s behind our false ethic of, “I can do it by myself; I don’t need your help!” It’s also behind the companion false ethic of, “Well I say you need my help and you damn well better take it!” It’s childish competition.

So we have a large weight of bullshit we must wade through when those in authority rush to defend the old, “Well, I was just trying to help.” There was no sacrificial love whatsoever in that help. Instead, it was the arrogant insistence that the helper is surely superior to the one they tried to help, and damn you for pointing that out. It does little good to try explaining most of the time because nobody has any sincere interest in understanding why it causes tension. They’d rather enjoy the drama and reinforce the ugliness in Western culture.

Get ready, because it’ll be knocking on your door again today.

Desktop CentOS 7: Added Repos

Sunday 20 July 2014 Leave a comment

This is simply my own recommendation. In order to run CentOS 7 on the desktop, most folks want stuff you can’t get from CentOS directly.

For example, most of us still use websites that require Flashplayer. Adobe has set up a Yum repository that updates as it should with anything related to Red Hat. Using your CentOS box and your favorite browser, go here. The webpage should detect you’ll be running 64-bit and offer a button with a drop-down — select the YUM version and download. It’s an RPM you can install as root. Run “yum update” and you can then elect to install Flashplayer.

For almost everything else you would use on the desktop, I recommend you add the EPEL and Nux repositories. The quickest and easiest path is go here and read the short explanation. The Nux provider links back to the EPEL release as a prerequisite and puts it all in a simple single CLI copy-n-paste command for you:

rpm -Uvh && rpm -Uvh

However, I prefer to download the linked release packages and install from Yum. These release packages will install the repo references to Yum, so run “yum update” again and you are ready. For example, one of the biggest things is adding the necessary packages to run a wider range of multimedia using the default Dragon player on the KDE4 desktop. It uses GStreamer as the backend, so all we need is the rest of the GStreamer plugins:

yum install gstreamer-ffmpeg gstreamer-plugins-bad-nonfree gstreamer-plugins-ugly

You can peruse the list of goodies on Nux and EPEL to see what else you might want. I note that EPEL is still considered a beta repo because they are still working on the packages and the collection itself. That should all update for you automatically once they feel it’s ready. I’m quite certain they’ll add the matching 32-bit packages after CentOS makes that version ready for CentOS 7. However, it’s highly unlikely you’ll need to mix the two architectures unless you just have to run something like Wine to enable running Windows apps.

In other words, using Nux and EPEL on CentOS 7 64-bit just about covers everything you are likely to need and it’s virtually hassle-free. Kudos to EPEL and Nux for the hard work to make us comfortable.

As a side note, building your own stuff from SRPMs requires keeping track of how RHEL/CentOS draws from both FC18 and FC19. I noticed that almost everything KDE is from FC18. I was able to build Bibletime, GKrellM, Xscreensaver (KDE’s screensavers seem perpetually broken in all versions), PySolFC and everything necessary to build them that wasn’t already available from CentOS. It can be time consuming, but you learn an awful lot when chasing the prerequisites through RPMbuild. Please note that you should check the Fedora Updates repository for both FC18 and FC19 as well as the “Everything” list.

Psalm 7

Saturday 19 July 2014 Leave a comment

People who don’t understand the Hebrew style of logic regard this psalm as wandering from one idea to another. They even imagine it might be several short bits thrown together, as if Hebrew scholars were no wiser than half-grown children. It’s easy to discount what one does not quite grasp.

The heading of the psalm mentions someone from the Tribe of Benjamin. Never mind God’s revelation, that tribe generally regarded David as a usurper. The background tension was never forgotten, so we could hardly be surprised David felt the sting of persecution from anyone of that tribe. However, we cannot identify who Cush might have been, or if it was a symbolic name.

David never forget that it was God who placed him on the throne, and that it was God who kept him there. In this case we sense the matter was a campaign of slander against David. It was a peculiar symbol of Hebrew honor to volunteer for examination when slandered, demanding the proof be brought forward. David thus requests that God investigate him thoroughly. Should he be found at fault, David was asking to be turned over to his worst enemies. Otherwise, let the false accusers face the punishment they hoped to bring down on David, something specifically required and promised under the Covenant of Moses.

David notes that God is the Divine Judge of all humanity, so it was no insult to submit to His examination. It wasn’t arrogance but David’s confidence and peace with God that made him eager to face God’s test. That his God is the definition of righteousness makes David comfortable with embracing whatever he might face. Whatever sin clung to David would be cleansed and his character made yet stronger to rule. Who could ask for anything better?

Meanwhile, he characterizes the wrath of God against sin as relentless. Thus, those who opposed God’s moral character would find themselves inevitably trapped by their own evil. Moral blindness is its own punishment. David is grateful beyond words for that purity of God’s moral character actively at work in Creation.

Information Activist 2

Saturday 19 July 2014 Leave a comment

If “activist” means striving to force a change in government policy, then I am not one of them.

It seems I often have to explain why we are not supposed to participate in democratic government: It’s fundamentally immoral. Democracy is a blunt rejection of biblical morality, specifically a rejection of Noah’s Covenant of Laws. Actively supporting any democratic system violates God’s moral character. There is a level at which we can get involved as required by contextual mission necessities, but in general we avoid it on principle. Activism presumes to support the concept of democratic government, a concept invented to counter the biblical standard under Noah’s Covenant, which covenant requires tribal government and tribal social structure (see previous posts about leverage and domain). We operate under democratic principles only when forced into it by the context.

That has nothing to do with our mission to convince folks in general to change their behavior regardless of government policy. Government is people in power and they might change, too, but it’s not our concerted aim. We work to change minds as the pathway to the heart. Indeed, it’s a part of our fundamental mission; it’s how we give God glory. There is only a hair-breadth separation between informing and convincing in this context. We inform in such a way as to make it enticing, as it were. By living our convictions, we portray the blessing of simple awareness of God’s moral character. In the full mixture of our failures and God’s grant of successes, we show an orientation that most people won’t understand or accept. That has little to do with our persistence, because God always touches folks with our living message whether we know it or not.

You would think any means of communicating that message is of grave concern to us. The whole purpose of computers is information processing, and a critical element in that for most humans is transmitting that information. Computers connected to the Internet are critical to the broader mission of anyone who follows Christ. While God can destroy the whole thing today, so long as He permits networking, we use it. Not all of us to the same degree, but as a whole.

My individual calling and mission relies greatly on networking, so I invest a lot of time and effort in how it all works. It’s my mission in part to make sure God’s servants have optimal use of what’s available. So you would expect me to promote computer use and networking as a means to glorifying God. Since the very nature of networking prevents computers being restricted to good moral behavior, I have to promote the whole thing as a single idea. That you can use a computer for evil does not prevent me using one for God’s glory, any more than walking or breathing air can be restricted to evil moral purposes. The most important thing I can pursue is the user’s control over how the whole system works.

Thus, in that sense I am quite active in convincing people to keep the channels open. Governments will do what they do, but the collective individual motivation of those governed can restrict bad government behavior simply by refusing to obey immoral restrictions. So I openly advocate for an open Internet and Open Source software and open this-n-that to prevent God’s people being silenced. That part of activism I do. I strive to remain fully aware of government threats as well as private and corporate threats, and I’m sharing what I see. I advocate some level of that awareness necessary for people to pursue their own mission, along with measures they can take to counter any hindrance.

That makes computer networking a significant part of my religion.


Get every new post delivered to your Inbox.

Join 415 other followers