ewx: (penguin)

https://en.wikipedia.org/wiki/Red/black_concept describes a notation sometimes used when discussing confidentiality:

  • red denotes signals carrying secret plaintext;
  • black denotes signals carrying ciphertext.

Is there any generally agreed coloring for the analogous integrity question? i.e.:

  • a color which denotes signals where integrity matters (or maybe this is "all of them" and we don't need a specific choice of color); and
  • a color which indicates a signal with cryptographic integrity protection of some kind.

Non-color visual notations also welcome for several reasons:

  1. things still get printed in monochrome;
  2. color vision is not uniform among humans;
  3. using too many color notations at once leads to angry fruit salad rather than clear diagrams.

ewx: (photos)
We visited the Centre for Computing History in October. Although a bit haphazard in places there's a lot to look at and much of it was familiar.

[livejournal.com profile] naath playing Atic Atac. You run around a castle collecting keys (to get through doors) and the fragments of a quest object. I spent a lot of time playing this; I remember one of my brother and I finishing it though I can no longer remember which of us did so!


+2 )
ewx: (geek)

From time to time I and colleagues find ourselves extending some function in C in a way that requires extra arguments. Often this happens in a context where it's impractical to change all the callers (for instance, because some of them are in customer code) so the extended version of the function gets a new name and the original name just calls that with some default value of the new arguments.

For instance I might go from this:

int refine_glorp(glorp *g) {
  /* refinement */

…to this:

int refine_glorp(glorp *g) {
  return refine_glorp_ex(g, 0);

int refine_glorp_ex(glorp *g, int arg) {
  /* extended refinement, based on arg */

Is there a well-known name for this transformation?

A colleague who did this a week or so ago started out with 'decapitation' but changed his mind to 'recapitation' on the grounds that he was really adding a second head to the function rather than removing one. But neither of us knew if there was already a name for this.

ewx: (penguin)
Ad-blocking in web browsers has been going on for years, but it’s generating more press lately because Apple have started doing it. (Possibly also it’s reached sufficient levels that it’s starting to hurt). I have very little sympathy for the organizations impacted by this for a number of reasons, but in particular:

  1. Online adverts represent a serious threat vector. Breaking into a obscure blog and using that to server malware only infects that blog’s readership; breaking into an ad server affects the readership of everything that uses that ad network. This isn't a hypothetical concern; here’s a recent example (edit: here’s another) (edit: another, with a bonus of some social engineering to get users to make themselves vulnerable). If I asked an ad network to indemnify me against any losses resulting from permitting them to access my computer, what sort of response do you think I might receive?

  2. Ad-blockers do indeed disrupt the business model of many websites, and this may yet be fatal for large numbers of them (or at least a contributing factor in their demise). But so what? The web has already thoroughly disrupted many existing business models[1], and is continuing to do so; if ad-blockers do kill a bunch of websites then really we’re just seeing another round of the same thing.

[1] although to my surprise I saw an apparently surviving video rental store on Saturday morning.
ewx: (geek)

As well as the spare disks mentioned in the previous postings I have a number of broken disks. I’ve been meaning to disassemble one for a while and today I found the time to do so.

Pictures )

More pictures.

ewx: (geek)

Does anyone have any use for the following things?

  • 1.5TB USB2 external hard disk (the disk inside identifies as a Western Digital 15EADS)
  • 1.5TB 3.5" SATA hard disk (Seagate Barracuda 7200.11, formerly inside a USB enclosure)
  • 750GB 3.5" SATA hard disk (Hitachi, HDT721075SLA360)

All are fairly well used. (I have some PATA disks around too but I assume nobody still wants those.)

Terms: you collect.

Update: all now allocated...

Linux USB3

Aug. 7th, 2013 07:53 pm
ewx: (geek)

I wanted some USB3 ports on a (pre-USB3) Linux box; I bought an Inateck KTU3FR-4P PCIe card, which has a Fresco Logic FL1100 controller. It seems to work (Debian backport 3.9.0 kernel). I mention this because when I was trying to find out what devices would and would not work Google was not especially forthcoming...

Appearance )
ewx: (geek)
(parted) mkpart primary 0 100%
Warning: You requested a partition from 0s to 5860533167s.
The closest location we can manage is 34s to 5860533134s.
Is this still acceptable to you?
Yes/No? yes
Warning: The resulting partition is not properly aligned for best performance.

As far as I can see the only way to discover what alignment it's looking for is to try ascending powers of 2 until it stops complaining.

gdisk seems to be friendlier and better-documented.

ewx: (geek)

Notes from upgrading a couple of machines to Debian wheezy:

  • Dovecot made quite a mess of upgrading itself and needed a lot of configuration file surgery. Fortunately not much had changed in a nonobvious way, things had just moved around and not captured the prior configuration.
  • mediawiki needed some manual database surgery and running a script.
  • mysql seems to have silently terminated at some point in the last 12 hours. I’ll see if it happens again.
  • rpc.nfsd hung during the upgrade of nfs-kernel-server. I killed it, which unwedged the upgrade, and removed the package so I could proceed. Reinstalling after a reboot worked fine.
  • Large chunks of /dev seem to have acquired a sticky bit, which causes swapon to complain (but not to fail). This seems to be a way for udev to record a single bit of information per device.
  • PHP started emitting cron junk mail twice an hour until a removed package was purged.
  • logrotate has got a bit pickier about permissions on /var/log.
  • synaptic now seems to be confining its terminal output to a 31x3 character subwindow. I've not yet found an option to change this.
  • snmpd's reporting of temperature sensors has randomly mutated, leading to even odd temperature graphs than usual until I spotted it.
ewx: (geek)

Miscellaneous bits. Most have not been used in years, so no idea if they work.

  • 3 button Logitech serial mouse (M-CE15-)
  • 3 button Logitech PS/2 mouse (M-S35)
  • 3 button Logitech PS/2 mouse (M-CAA43)
  • 2 button Microsoft PS/2 mouse
  • Optical Logitech USB mouse with scroll wheel (M-BJ58)
  • Optical USB mouse with scroll wheel
  • Modem cable
  • Longer modem cable
  • Mystery cable: 9 pin 'D' female to what looks like a 3.5mm jack. I have no idea what this was for.
  • 4 PS/2 mouse to serial port adapters
  • Serial mouse to PS/2 port adapter
  • Two AT keyboard to PS/2 port adapters
  • USB mouse to PS/2 port adapter
  • Three ethernet cables that only support 100Mbit/s (two at a meter or so, one longer)
  • Linksys LNE100TX 10/100 PCI ethernet card
  • 3Com 3C905C-TX-M 10/100 PCI ethernet card
  • PC keyboard with AT connector
  • PC keyboard with PS/2 connector

Ancient computer. Hasn't been used for years.

  • Mini-tower case
  • External ports: serial, parallel, sound, USB.
  • MSI MS-6385 motherboard (3 PCI, AGP, 2 IDE).
  • Unknown CPU
  • Unknown RAM
  • No drives of any kind.

Old computer. Was in use until recently.

  • Mini-tower case
  • External ports: LAN, VGA, sound, USB.
  • ABit NF-M2S motherboard (2 PCI; 1 PCIe x1; 1 PCIe x16; 4 SATA)
  • AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
  • 1GB RAM
  • CD ROM drive
  • No hard disk.

You collect from King's Hedges (or Station Road, for the transportable things).

ewx: (geek)

I bought a new computer. The main reason for wanting a new one is that for some time the images my current camera produces are large enough that my Mac Pro was rather slow on them. I’d have replaced it with another Mac but Apple’s current lineup was unattractive on both price and performance grounds, so I got a PC from World Of Computers instead. It seems to be fast enough.

It came with Windows 8. The addition of tablet features has generated a lot of fuss but in practice they don’t seem to get in the way; the usual Windows desktop is still there with the only significant difference from Windows 7 being that the start menu has turned into a start screen. Setup has mostly been easy though installing suitable drivers for my printer was a massive pain.

I’m using PuTTY more than I used to. The lack of tabs and clickable URLs makes it somewhat painful compared to the terminals available in the Linux and OSX worlds.

I’ve played through Portal 2, which is great fun. I’ve also started on Starcraft 2, though successfully creating a Blizzard account and downloading it was a bit of a struggle.

ewx: (Default)

The Register reports that Mike Singleton has died.

I spent many happy hours playing The Lords Of Midnight and Doomdark’s Revenge as a child. Both were turn-based wargame/adventure game hybrids drawn from a first-person perspective. I don’t think I’ve seen anything very like them since, although there’s handful of reimplementations of the games themselves for modern computers.

As well as stealing and destroying Doomdark’s Ice Crown, and sitting out his armies in Xajorkith before taking the war back to him, I spent a while poking through the saved game format. This allowed the construction of a map and some experimentation with modifying it (and the discover that the properties of the characters in the game were generated from the location of their homes, at least in Doomdark’s Revenge).

A sad loss.

ewx: (Default)

I had a persistent Matty Groves earworm on the way to work. There are worse possibilities, and it reminded me of this poll.

It’s funny how social networks (as they’re now called) come and never quite go, isn’t it? Usenet hasn’t died as such but as a discussion medium it’s hugely declined: cam.ac.uk measurements of their (text-only) feed peaked at 20GB/month in 1999 and fell to about 6GB/month in 2009 when they gave up. My own measurements only start a while after that and cover a smaller set of groups (I think - I don’t know exactly what cam.ac.uk were carrying) but also show decline from 70Mbyte/day (about 2GB/month) to about half that a couple of years later.

(Binaries groups are still going strong, as far as I know; but they are a bulk copyright violation medium, not a discussion medium; they just happen to share some infrastructure.)

Similarly Livejournal seems to be much quieter than it used to be (although they seem to have stopped collecting posts-per-day stats in 2003, so it’s harder to quantify this).

In the case of Usenet’s decline there’s a lot of argument about its visibility (i.e. it’s not web-based), its limited feature set and its surly user base. Some of the claims are more convincing than others; for instance Google Groups may be a bit rubbish but it does provide Usenet access to anyone with a web browser.

It’s harder to identify anything about Livejournal that could explain its apparent decline. (I count Dreamwidth as part of Livejournal for these purposes; while it’s doubtless drawn some traffic from it, it’s not enough to make up for the decline.) People seem to have just drifted away to the (now more widely known) alternatives.

And what lot there are. As well as here and Usenet, I’m on Twitter, Facebook, Google+, Flickr and Tumblr (twice), and that’s only counting the ones that I look at more than once a year (identi.ca, I’m (not) looking at you.)

I’m currently finding it unreasonably time-consuming to keep up, and I think this is likely to be an important factor in the decline of the older systems; most people are simply not very willing to try to keep up with half a dozen of these things (even if each is relatively low-traffic in its own right), and therefore pick just one or two.

Other thoughts:

  • Some people crosspost their Twitter into Facebook (etc). This doesn’t really help with the keeping up - indeed if anything the duplication can make it marginally worse, since there’s sometimes a parallel set of comments to read. (Or to ignore…)
  • Amusingly, “tumblr” is now as popular a Google search term as “blog”.
  • Google+ wins the prize for most opaque profile URL. I guess the idea is for every individual for the next few generations to be able to have billions of distinct identities?
ewx: (geek)

One of the things that interested me about Mat Honan’s account of the attack on him was there were three steps where the attacker had to discover an email address:

  1. His Twitter account was registered to his Gmail address. If the attacker hadn’t been able to guess what email address his Twitter account used then presumably they wouldn’t have been able to break into it.
  2. The recovery account for his Gmail was an Apple address. Gmail revealed enough of it (to anybody) for the attacker to figure out the exact address. Without that they wouldn’t have been able to break into his Gmail.
  3. His Amazon account was registered to some address known to the attacker; perhaps one of the two above, though this isn’t stated. Again, they needed to know (or guess) that address in order to break into his Amazon account, which in turn they needed to break into his Apple account.

That suggests to me that it’s worth treating email addresses that are used as login credentials with much the same care as passwords:

  1. Keep them secret.
  2. Don’t share them between accounts. (Really this follows unavoidably from 1.)
  3. Make them hard to guess. (So does this.)

This means they will have to be written down and kept in a safe place, just as with passwords.

Of course it’s not practical to use a completely different email address for every online account. But many mail services give let you add a suffix to your address; for instance <me>+<anything>@gmail.com will reach me just as well as <me>@gmail.com will. So (hypothetically) the address I give to Amazon might be <me>+ealohboh@gmail.com, the address I give to Apple might be <me>+giefeing@gmail.com, and so on.

To be perfectly clear: the point of the exercise here is not to make it hard to guess an email address for me. It is to make it hard to guess the exact email address that controls my login with some other organization.

(If an attacker can persuade some luckless human on the phone that <me>+ealohboh@gmail.com should be treated the same as <me>@gmail.com then it won’t help much. But they’re unlikely to be able to persuade a computer of that equivalence.)

Now, I’ve been using per-site addresses for years, albeit not ones that are particularly difficult to guess once you know the pattern (i.e. and therefore unlikely to be much protection from a determined attacker). There are several advantages:

  • It makes filtering and blocking easy.
  • It makes phishes more obvious, since even if they guess who I bank with (for instance) their message is sent to the “wrong” address for my bank. (Not that I’ve ever had any trouble spotting phishes.)
  • When someone leaks - or sells - their user database, it’s obvious who.

In May, or perhaps even earlier, LinkedIn suffered a data breach, which only became public about a month later. I noticed because I started getting spam; evidently whoever was responsible had been quietly getting on with making money out of the breach for some time before it became public. But LinkedIn could have known about it as soon as their customers did, by the relatively simple expedient of seeding their user database with a collection of fake “canary” users and sounding a klaxon if any spam arrived at their email addresses.

By varying the set of canary users over time or (depending on site architecture) according to how directly you access the database, it might be possible to learn further things about breaches.

Finally, some websites reject email addresses with a + character in. (Presumably they are operated by people too lazy to read specifications, which is not very confidence-inspiring if they also want your credit card number.) Historically I saw this as little more than an inconvenience; but if you agree with the discussion above then these websites are actively impeding a useful security mechanism.


Aug. 8th, 2012 06:57 pm
ewx: (union penguin)

Well that casts some light on it:

tcpdump output )

…after which the client sits there thinking for a minute or so before asking for the next few kilobytes.


Aug. 8th, 2012 01:32 pm
ewx: (union penguin)

This download started last night and the screenshot below is from this morning:

I make that somewhat under 100bytes/second.


Aug. 6th, 2012 10:57 pm
ewx: (union penguin)

My WAP has been getting increasingly flaky so I’ve now replaced it with a new one. I was extremely tempted to do this

It’s also capable of acting as a print server, which means the printer has gone back downstairs and I get back some desk space.

(Does anyone want a dodgy old 3COM WAP?)

ewx: (geek)

Someone asked how long I expected my SSDs to last. The context was swapping to SSD, but obviously it actually depends on the usage pattern as a whole, not just one aspect of it. Here’s the SMART attribute data for an Intel SSD that’s been in constant light usage, including swapping, for the last 18 months:

smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
  3 Spin_Up_Time            0x0020   100   100   000    Old_age   Offline      -       0
  4 Start_Stop_Count        0x0030   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       12131
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       19
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       5
225 Load_Cycle_Count        0x0030   200   200   000    Old_age   Offline      -       9248
226 Load-in_Time            0x0032   100   100   000    Old_age   Always       -       16301
227 Torq-amp_Count          0x0032   100   100   000    Old_age   Always       -       1
228 Power-off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1018723636
232 Available_Reservd_Space 0x0033   100   100   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   099   099   000    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   099    Pre-fail  Always       -       0

A couple of caveats about interpretation. Firstly, TYPE is the type of the attribute, not a commentary on its current value - i.e. the ones that say Old_age will still say that on a brand new device and Pre-fail doesn’t mean a failure is imminent. Secondly high VALUE fields are better: they mostly start at a high value (here, mostly 100) and decline as things get worse.

Anyway Media_Wearout_Indicator is the one of interest here. Intel describe this as follows:

The E9 SMART attribute reports a normalized value of 100 (when the SSD is brand new out of the factory) and declines to a minimum value of 1.

The normalized value decreases as the NAND erase cycles increase from 0 to the maximum-rated cycles. Once the normalized value reaches 1, the number will not decrease, although it is likely that additional wear can be put on the device.

So the current value means the device has performed at least 1% and less than 2% of the maximum rated erase cycles; if current usage patterns persist it’d take between 75 and 150 years to reach the maximum.

Obviously this isn’t the whole story. The device only has a three year warranty, and plenty of other things could go wrong either with the disk or the computer containing it; and Intel could have got their sums wrong. Nevertheless I’m pretty comfortable that flash wear is not going to be a problem in the near future.

January 2017

151617 18192021


RSS Atom

Most Popular Tags

Expand Cut Tags

No cut tags