16 ms·
How we protect our most sensitive secrets from the most determined attackers
- sneak 5y ago> We’ve also taken other measures to frustrate attackers, for example we have physically removed the hard drive so there is no way to persist data on the laptop itself This sentence made me believe in the incompetence of the authors.
- intunderflow 5y agoThis is covered more here https://news.ycombinator.com/item?id=29266521 https://news.ycombinator.com/item?id=29266521 Sorry for not being up to your standards I guess :(
- sneak 5y agocompetence/incompetence is not a compliment or slur. I am an incompetent welder, for example. My point is that if you are removing the hard disk to prevent state storage, that is ineffective, and if you think that it is effective (which you stated), you are objectively factually incorrect.
- Nextgrid 5y agoWell you have to start somewhere. You will never get perfect security, however persisting malicious code on disk (and getting the machine to boot from it) is easy and standardized. Doing the same in firmware (or non-volatile storage in other parts of the machine) is going to be very manufacturer-specific and will require knowledge of the exact hardware, versions, etc and because of the air gap you can't even tell whether your attempt worked (and of course if your malware needs to exfiltrate data it still needs to break out of the air gap). TLDR: it's not bulletproof but increases the effort required from an attacker significantly.
- tornato7 5y agoWhy do you think this shows incompetence?
- sneak 5y agoThere are about 10 other ways of persisting secret information on a system other than the hard disk. The claim they make is amateur hour. There are better ways of doing this. There are embedded systems that can run general purpose OSes that cannot store permanent state, such as rpi <=3 that are much better suited to such things.
- fsflover 5y agoExpected that Qubes OS is used somewhere, but it's not. By the way, it's sometimes more secure than air gapping: https://invisiblethingslab.com/resources/2014/Software_compartmentalization_vs_physical_separation.pdf https://invisiblethingslab.com/resources/2014/Software_compa....
- intunderflow 5y agoQubes is awesome, I think the main thing it protects against though is an application you don't trust too much escalating it's privileges (for example a website sandbox escapes into the browser and then tries to go up further) - Since we're on an air-gapped, immutable system all the tools we have on our CD have some implicit trust, so if you manage to get software that isn't playing nice onto the OS, you've probably done it through hijacking the OS CD anyway (I covered a similar-ish question here: https://community.monzo.com/t/how-we-protect-our-most-sensitive-secrets-from-the-most-determined-attackers/125665/7 https://community.monzo.com/t/how-we-protect-our-most-sensit... ) We also don't run that many complex commands on the actual OS, it's basically one of three things 99% of the time: - Mount this CD containing some CSRs or etc - Ask the HSM to please sign this - Burn a CD with these files and then report the hash / PGP word list of the content on the CD
- captn3m0 5y agoDoes coen boot from CD and switch to RAM? Or do you have 2-disk-drives to mount the second disk?
- intunderflow 5y agoCoen boots off a CD and mounts itself into RAM as and when parts of it are loaded, but you still need the CD in the computer for it to load stuff not in RAM so we have a 2nd CD reader + writer for the material You can tell if you're using a part of the OS that hasn't been used in a session yet because you can hear the CD drive with the OS CD in it physically spin up :)
- beermonster 5y ago
- mrb 5y agoAs an ex-InfoSec engineer for 12 years, my only concern is they seem to have no process to recover from a defective or destroyed HSM. But other than that it's quite good (though I have only skimmed the blog post.)
- intunderflow 5y agoWe have multiple identical backup HSMs in multiple different sites. Any one of these + a keyholder quorum can recover the system. The entire safe room burning down is part of our possible disasters list.
- truthwhisperer 5y agoFirst rule is don’t talk to strangers about your internal procedures
- netr0ute 5y agoAt this point, I'd just use pencil and paper.
- intunderflow 5y ago(Disclaimer: I'm the author) the thought of using pencil and paper to do elliptic curves bends my mind
- _wldu 5y agoIt can be done by hand just like RSA.
- intunderflow 5y agoI'm not paid enough to generate primes for RSA by hand :P
- scoopertrooper 5y agoWhy generate them? https://www.amazon.com.au/first-100000-Prime-Numbers/dp/B089M4336M https://www.amazon.com.au/first-100000-Prime-Numbers/dp/B089...
- deleted 5y ago[deleted]
- matbatt38 5y agoThey're all too small :(
- officeplant 5y agoThis gives me RSI
- jaggederest 5y agoYou can also use a deck of cards: https://en.wikipedia.org/wiki/Solitaire_(cipher) https://en.wikipedia.org/wiki/Solitaire_(cipher)
- can16358p 5y agoSimple question: what would be the mitigation against any security threats in the randomly-bought off-the-shelf products? E.g. In a case there is a general hardware exploit that isn't targeted to Monzo explicitly, but since you've bought that item (e.g. A router) there is a possible attack vector.
- intunderflow 5y agoA few things: - Since all the components we purchase are kept air-gapped, you'd need to already be on a machine in the air-gapped system (which isn't assembled and powered on except when we need to deal with key material) to exploit a vulnerability - We're keeping things as minimal as possible in what we trust from coming out a store, for example if we purchase a Laptop we gut it of most of its components before it goes near our key material, Laptop's dont need batteries (or even CMOS batteries) to run basic live systems so they're going out. - Compromising one part of the system won't let you sneak private key materials out on its own by-design, the part we've tried to make the hardest is exfiltration, the only material that leaves the air-gapped system leaves either as QR codes on a screen or on CD-R drives that we keep for years in a safe in their own tamper evident bags. This is all part of an effort to try and make sneaking private material out (even if you had full control of the system) as difficult as possible to do without being detected.
- MayeulC 5y agoHave you gone fully paranoid and your air-gaped system is in a Faraday cage inside an anechoic chamber? Things like bus radio [1], coil whine and power fluctuations can be used (it has been shown) to exfiltrate data. [1] https://github.com/fulldecent/system-bus-radio https://github.com/fulldecent/system-bus-radio
- intunderflow 5y agoWe haven't gone as far as a Faraday Cage inside an anechoic chamber because we think the risks of these attacks is (luckily) not big enough (yet) for now to justify these. Eventually though? Maybe. There's also projects to guess keystrokes based on sound which don't even require you to be on the host device https://news.ycombinator.com/item?id=29266783 https://news.ycombinator.com/item?id=29266783
- dahart 5y agoJust a side note, but I have to give a thumbs up to this site being the first one I’ve seen since cookie popups shenanigans started that allows me to decline tracking cookies and dismiss the popup in a single click.
- trevcanhuman 5y agoYes. I was amazed by this. No ‘more options’ thingy which has the size weird when in phones, no scrolling to ‘save cookie changes’ etc. This is how companies should treat customers if their business is not harvesting their data.
- johnchristopher 5y agoFor what it's worth the two top GDPR consent Wordpress plugins can be configured like that (it's actually their default if memory serves well). It's entirely up to the people authoring the website.
- forgotmypw17 5y agoNo cookie popup without JS. Props.
- Nextgrid 5y agoThey're just complying with the regulation. Any consent flow that does not allow you to easily decline does not actually comply with the regulation (at which point you can just not bother with a consent flow at all - you're still in breach, but at least you're not destroying the user experience).
- dspillett 5y ago> but at least you're not destroying the user experience That is exactly why many do it. The chance of getting fined is low, practically non-existent in most cases, but making the user experience difficult both increases the chance of people just saying “fuck it” and agreeing¹. Those high up the data collection chain also hope that annoying enough people with the bad UX will make them campaign to have the regulations rescinded² in their territory. --- [1] losing people like me who say “fuck it” and move on elsewhere, is seen as a small price to pay [2] even though the regulation isn't at fault, the deliberately bad UX is
- alecco 5y agoBanking establishment should take note. They often over-complicate things and rely on "security through obscurity". Monzo opening up their security architecture and even some of their source code puts them to shame. I really like the air gap Notebook and custom OS on CD-R and their ceremonies. It looks like they got very competent people to think it through properly. Source: formerly at one of the largest banks.
- pulse7 5y agoI hope air gaping will stay a niche. If it goes mainstream there will be more attacks on it...
- intunderflow 5y agoThere's some interesting attacks based on working out the sound of each key on a keyboard and then guessing keystrokes - https://github.com/ggerganov/kbd-audio https://github.com/ggerganov/kbd-audio
- GoblinSlayer 5y agoCan a white noise machine help there? https://ggerganov.github.io/jekyll/update/2018/11/30/keytap-description-and-thoughts.html https://ggerganov.github.io/jekyll/update/2018/11/30/keytap-... says the method is sensitive to noise.
- LouisSayers 5y agoBlasting some Meshuggah should do it
- GoblinSlayer 5y agoMeshuggah is a fixed pattern that can be subtracted. Ideally noise should unpredictable.
- icare_1er 5y agoIt would be interesting to hear how efficient their whole IT/dev can be given that the slightest change would apparently take several days, a trip to a CD-R shelf, etc, just to be allowed to startup a laptop and get to work ?
- intunderflow 5y agoThis is only for secrets that are incredibly important to the point that their undetected loss could cause massive problems, I run these key ceremonies and I'm typing this from my bed on my work issued Macbook :)
- trevcanhuman 5y agoHey glc, FYI the GitHub repo [0] with the OS Code from Coen is not available, the url is probably broken. [0] https://github.com/monzo/coen https://github.com/monzo/coen
- intunderflow 5y agoI should have linked to an internal page that redirected there so people didn't get a misleading 404, but the internal coen repo is only open to all Monzo employees not the public because it contains some HSM specific stuff :( sorry - the public coen (which we're a fork of) is open though here https://github.com/iana-org/coen https://github.com/iana-org/coen
- icare_1er 5y agoI'd be interested to hear the other side of this story, ie. how frustrating and slow it must be for IT/devs to implement any change within that fortress ? Any Devops on HN to tell us about the last time they implemented a change on a Monzo API ?
- intunderflow 5y agoThis is only for managing the most important secrets of all which are kept offline in safes for most of the time, development work just happens on regular Macbooks, I'm currently sat in my Bedroom writing this and I run this program / authored this blog post. These sorts of precautions are pretty common at large companies, there's some good coverage of them generally here: https://en.wikipedia.org/wiki/Offline_root_certificate_authority https://en.wikipedia.org/wiki/Offline_root_certificate_autho...
- amalter 5y agoIt sounds like this is just for them to mint Root Certificates. I don't see how this elaborate ceremony would impact other aspects of development. It perhaps speaks to a very security conscious development culture - and that can impact agility. But when you "move money" - that's a decent tradeoff.
- captn3m0 5y agoMint intermediate and root certs, more likely.
- intunderflow 5y agoMint roots, sign intermediate CSRs
- boffbowsh 5y agoMonzo engineer here. 99.99% of changes don't require key ceremonies. When they do, we can usually book them with a few days notice. It's normally for things like onboarding big new systems and gets planned into a project from the beginning. The people who implemented this process are the same type of "IT/devs" or "Devops" you mention. There isn't a whole lot of throwing things over the wall to Ops, or for that matter putting up arduous processes against "normal" engineers.
- MayeulC 5y agoYet, it seems like their app is closed-source and distributed via the android play store (it seems like the main way to interact with that bank?). I wish it was available as a reproducible build on F-Droid. That's how critical apps ought to be distributed. This is a common trope in security-oriented businesses: more security is a good thing, but the consumer often isn't afforded the same attention.
- alias_neo 5y agoIt's also worth noting, (although there is nothing special about the security procedure described in OPs article; I'm in an industry that's been doing this for some time), Monzo doesn't stop you from running their app on a rooted Android phone; in some misguided belief that it's somehow more secure to prevent it, like all of the other major banks with their seriously sub-par app experiences (compared to Monzo).
- yawnr 5y agoYou want this private (banking) company’s app to be open source? Lol
- OJFord 5y agoWhy not, really? I wouldn't expect it to be - just because it's so not the norm - but why not? If you're talking about security, surely a closed-source app is just obscurity, there should be (sounds like there are) better precautions in place that it doesn't add anything. If it's ripping off features.. meh, is it really development time in frontend logic/UI that keeps Monzo ahead of any competitors its ahead of? (I'm saying that vaguely and unassertively because users seem to get very tribal and argumentative when it comes to 'challenger banks'!) If it's wanting to hide the API for whatever other 'it's proprietary' reason, well Monzo has a ('beta' and 'developer only' for years) public API anyway. And 'open' banking of course, so you can use TrueLayer or whatever anyway.
- MayeulC 5y agoIs most of their added value in the client app? I certainly doubt it. The app is probably a front-end that queries various API endpoints. Who could use the source code? Their competitors? Maybe, but there isn't that much competition in that space, and actually developing the app is certainly not the most difficult part. Auditing it probably is, and using a competitor's open source app as a base is probably a no-go for a lot of established players. For what purpose would they copy a functioning app? One thing I can see as an argument against would be raising the bar for would-be copycats and phishing attempts. Not that it raises it too much either. Or is it to limit documentation of their API? I know security trough obscurity is thought as a good additional measure in traditional banking, but that doesn't seem to be the case here. And reverse-engineering an app wouldn't be that complicated. I would actually love an open source, cross-bank app. Not sure why it couldn't happen. I'm not sure either what the value proposition is for banks to try and limit that kind of development. Control the user's interactions with the bank as much as possible? It's like these banking apps requiring "safetynet" or similar: they trust google or the manufacturer more than myself, while I am the actual client!
- kinard 5y agointunderflow - What process did you have to go through to get the OK to write and publish this article? I'm very impressed that you've published this.
- intunderflow 5y agoKickoff was 18th of October after I indicated to someone internally that I wanted to write something for the blog about this program (not gonna name them in case they don't want to be named :P) First draft (very rough) was 22nd October Second draft (toned around a bit) was 5th November Security review + a proper edit happened while I was on Holiday on the week of 8th-12th November (lots of comments left for me), basically nothing got removed, I think one image and about 2-4 lines of text from memory I came back to a bunch of comments (nearly all on the Monzo Tone of Voice https://monzo.com/tone-of-voice/ https://monzo.com/tone-of-voice/), went through those, proof-read and then got a green light from: - Engineering - Marketing + Press - Some other folks in Security (because of the content) And then we moved this over from Google Docs where I was drafting it into our Blog system (Contentful), had a quick skim to make sure it read properly and then published :)
- lifeisstillgood 5y agoOff topic, but I love the suggestion in "tone of voice" on how to test if a sentence is written in passive or active voice. Just add ... by monkeys to the end of the sentence. If sentence still makes sense, its passive, so rewrite it e.g. A decision has been made to close your account …by monkeys vs We decided to close your account ... by monkeys
- beermonster 5y agoKudus to you and Monzo. It’s great you wanted to write and publish this and it says a lot about Monzo that they let you do it.
- bas_ta 5y agoI'm just wondering - is it safe to have it written in GoogleDocs with all the previous versions remaining there?
- alecco 5y ago> Monzonauts: you can see the code in the Coen repository https://github.com/monzo/coen https://github.com/monzo/coen 404 is it a private repo?
- anned20 5y agoThat is probably the reason it is targeted at Monzonauts (Monzo employees)
- intunderflow 5y agoYeah this is confusing but that repository is basically just for Monzo employees, sorry :( https://news.ycombinator.com/item?id=29266757 https://news.ycombinator.com/item?id=29266757 We're going to remove that link
- deleted 5y ago[deleted]
- raesene9 5y agoFrom having worked in UK FS in the past this reminds me of a more modern version of how PKI key signing ceremonies used to happen :) It's an interesting contrast with how carefully root CA keys are handled in this kind of setup, compared to things like Kubernetes clusters, where you'll typically get 3+ root CA keys in the clear on the API server disks, and I've seen them committed to configmaps (e.g. in RKEs default setup), and even checked into GH repo's...
- dilyevsky 5y agoWhy would you put priv key in the configmap? K8s has api for signing users csrs with master CAs
- raesene9 5y agoFor the case of RKE, which I mentioned, I think they do it to have the cluster config available, but no idea why they use a configmap rather than a secret (https://github.com/rancher/rke/issues/1024 https://github.com/rancher/rke/issues/1024 is the relevant issue)
- hn_throwaway_99 5y agoGreat writeup intunderflow. The question I have, though, is how this doesn't just "push" the security problem one level down. Point being that yes, you need to ensure that your root certs are super secure and that you have a full documented, videotaped chain-of-custody. But then at some point you need to use that root cert to sign some other cert that DOES live in your infrastructure and is used to sign requests. How do you control your systems at the point where you need to use your cert (or a cert chain) to sign requests that by their nature must be connected to the Internet?
- intunderflow 5y agoThis will probably come in a future blog post (and also I don't lead this part of secret management so I don't have all the context), but our Intermediate's mostly live in nice locked down machines in AWS (avoiding exact product names because I don't want to tread on other peoples toes) There's definitely a much bigger risk with an intermediate on the internet, however we at least have the mitigation of being able to revoke it if it goes wonky, the main priorities I see in this space are: (1) minimising the chance of a compromise as much as possible (very clear and well defined communication channels so that as few things are open to even being poked at for vulnz over the network as possible) and (2) being ready to react if there is a compromise (revoke the cert and recover)
- hn_throwaway_99 5y agoThanks very much for the response and the writeup, really appreciate it!
- Nextgrid 5y agoIf the intermediate is compromised you'll need to do a new key ceremony with the root to sign a new CRL, correct? And I'm assuming every component is configured to explicitly check CRLs and fail if those are unavailable for whatever reason, right? How does it ensure that the CRL it's getting is the latest CRL including the now-revoked certificate, and not an earlier one that's being replayed?
- hacker_newz 5y agoThe PKI infrastructure for a bank is on a laptop?
- intunderflow 5y agoThe keys are on a HSM, but something has to nicely ask the HSM to do things and an air-gapped laptop feels like a pretty sensible choice? (Especially given the precautions we've talked about)
- chespinoza 5y agoThis looks to me like an open invitation to be attacked, banks don't use to describe openly the technologies or methodologies they use for good reasons and Monzo has been quite open about these matters for a long time (Go use for instance), they're doing pretty good though and probably as traditional banks are using quite old technologies they seem to be into a far less vulnerable position than traditional banking.
- intunderflow 5y agoThis isn't an invitation to attack us beyond as part of our HackerOne program (please don't make my life more difficult) but to steal a line from someone else at Monzo: Kerckhoffs's principle probably has some cross-over relevancy to this stuff. Can't really comment on why other banks don't talk about this so you'll have to draw your own conclusions on that :P
- LegitShady 5y agobragging about security is definitely increasing the likelihood that some random guy will say "oh yah, we'll see about that" in response to a marketing campaign centered around security.
- ziddoap 5y agoIf Some Random Guy can just happen to compromise the processes described here after reading a few hundred word blog post, they should probably just go after every browser root cert program which use almost identical procedures and have also described them openly. Why go after Monzo when you can go after XYZ root cert trusted by every device out there?
- LegitShady 5y agobecause one initiated a marketing campaign about their security so as to get some attention and find a different vulnerability the company didn't know about.
- vntok 5y ago> We have between 6 and 12 Monzonauts who are keyholders, a certain number of them are necessary to unlock the Hardware Security Module (this is known as the quorum, I’m going to keep the exact number secret ). I mean it's seven, it's literally written in the attached PDF describing the ceremony procedure.
- jaywalk 5y agoWhoa, look at Hackerman over here! The Governor of Minnesota would like to have a word with you.
- intunderflow 5y agoor is it twelve??? I edited this document before publishing it after all :P for all you know, I rolled two dice to decide how many keyholders I'd put in each part (which I would totally never do, would I?)
- ec109685 5y agoWhat happens if during the ceremony, someone is able to destroy all the cards at once (e.g. the building is attacked)?
- intunderflow 5y agoIf you're interested in how other folks handle super important private keys, I highly suggest reading the IANA documentation on the DNSSEC Root Zone and how they manage that: https://www.iana.org/dnssec/archive https://www.iana.org/dnssec/archive https://www.iana.org/dnssec/ceremonies https://www.iana.org/dnssec/ceremonies https://www.youtube.com/channel/UChND9hEeJQjtLDFZ-m8U47A https://www.youtube.com/channel/UChND9hEeJQjtLDFZ-m8U47A
- denton-scratch 5y agoCACert had detailed documentation on their ceremonies. They were radically transparent about the procedures around their roots. I was sad when Mozilla pushed them out of the Root Programme. I'm not blaming Moz, CACert were breaking new ground in trying to build a transparent process for a member-run CA. I believe they failed to find a suitable auditor that didn't cost a mint, and could work within the CACert transparency constraints. Then LetsEncrypt came along... and ate their breakfast.
- ziddoap 5y agoAlso of interest: https://www.cloudflare.com/dns/dnssec/root-signing-ceremony/ https://www.cloudflare.com/dns/dnssec/root-signing-ceremony/
- GoblinSlayer 5y agoDo you test this system, like drills with planted failures?
- intunderflow 5y agoDo you mean testing if someone can break in or testing that our system can handle disaster recovery?
- GoblinSlayer 5y agoAbility to interrupt when someone notices a hole in a bag, a non-working camera, a missing witness, administrator's dismissal.
- intunderflow 5y agoThese are covered by the exceptions procedure as described in the script, just to clarify the Ceremony Administrator is a per-ceremony role rather than a permanent occupation so dismissal would just involve replacement with another team member. Exceptions are evaluated, documented and acted upon from the moment they are discovered. The Ceremony Administrator decides what to do about them after consulting the Internal Witness (but the CA gets to decide), at the end of every ceremony (with exceptions or not) we ask every participant to sign a sheet saying they're happy we effectively haven't breached security (last page of here: https://monzo.com/static/docs/redacted-root-certificate-authorities-ceremony-3-script.pdf https://monzo.com/static/docs/redacted-root-certificate-auth... ), if they don't sign, that would kick off a large discussion about whether we're happy to continue using these roots or replace them. From memory we've had about 2 exceptions which have been resolved, both very minor (as ever, when you get into the room stuff comes up that you couldn't have planned for, if I recall one was something silly like a typo in the command documented on the script, so we just ran the command without the typo, etc).
- GoblinSlayer 5y agoYes, the system is assumed to work correctly, that's sensible. But does it? What happens when some component start to work in unintended way? If the participants don't have experience with failures, how they will behave? I mean when administrator denies interruption. Rotation of administrators and signatures is nice, but there's still one person that makes the most authoritative administrator. The bug to address here is conformity, see https://en.wikipedia.org/wiki/Asch_conformity_experiments https://en.wikipedia.org/wiki/Asch_conformity_experiments
- bigtones 5y agoSo your entire system relies on a single consumer grade laptop without any redundancy or ECC. Nice.
- intunderflow 5y agoI think either the blog post is worded wrong (sorry) or you've misread if you think that, I talked a bit about the laptop precautions here: https://news.ycombinator.com/item?id=29266521 https://news.ycombinator.com/item?id=29266521 And why it's just a laptop here: https://news.ycombinator.com/item?id=29267685 https://news.ycombinator.com/item?id=29267685 To be super clear, the actual private keys only ever exist on HSMs
- bob331 5y agoThe biggest secret being that they are a business failure
- Veserv 5y agoWhat does "the most determined attackers" mean in this context? Are we talking the real most determined attackers like the US or China who can easily deploy $10B (i.e. a team of ~3,000 people fulltime for 3 years) for a strategic advantage? Or $1B (i.e. ~300 people for 3 years) which is within reach of every government, international criminal organization, and thousands of multinationals? Or $100M (i.e. ~30 people for 3 years) which is now just a line item for those organizations? Or $10M (i.e. ~3 people for 3 years) which is 10x better than the "gold standard" used by every other bank in the world, but still profitable for small criminal outfits doing ransomware attacks? Are there any legally binding marketing statements made by any associated security executive on where they sit in these 4 orders of magnitudes of "most determined attackers"? It is frankly absurd that we continue to allow statements like "secure", "reasonably secure", "most determined", or whatever without expecting some degree of quantification within 4(!) orders of magnitude. If you can not quantify or demarcate an accurate lower bound within 4 orders of magnitude you probably have no idea what you are doing.
- deleted 5y ago[deleted]
- Nextgrid 5y agoWhen it comes to a bank (especially one mostly centered on the UK; Monzo still has very little international capabilities), I don't think state-sponsored attackers are a major problem. Those rarely need the money, and as I mentioned previously Monzo doesn't routinely do international/SWIFT transfers (if they can at all) so getting the money out would be tricky.
- insomniacity 5y agoThey’re still a target if an individual they’re targeting (to harass, find or discredit) banks there. They’re still a target for someone wanting to cause disruption or engage in hybrid warfare - imagine a simultaneous hack of all the neobanks, possibly followed by a few of the traditional banks a week later for maximum impact? They’re still a target for someone wanting to pivot into other organisations they might be connected to, such as card networks or regulators.
- deleted 5y ago[deleted]
- yabones 5y agoI find it sort of ironic how the operating system they use, COEN[1], instructs people to turn off SELinux to build the image correctly... [1] https://github.com/iana-org/coen https://github.com/iana-org/coen
- spydum 5y agoTo be fair that's for building the image. The Image itself is debian which is irrelevant from selinux point of view. But I agree, you want your build system to be secure also. Not sure why they give this advice.
- miles 5y agoSeems like there'd be less need for SELinux on a network like theirs: "Our entire system is air-gapped, which means it is physically isolated from the outside world and has no way to connect to the internet."
- Johnny555 5y agoIf your system is important enough to be air gapped, then it's important enough to have tight security on those air gapped computers. Air gapping is just one layer of security, it's not impossible to bridge the gap.
- walrus01 5y ago> Each keyholder has a smart card which has been sealed in its own tamper evident bag. presumably this is kept in a locked cabinet, in a basement locked room, behind a sign "BEWARE OF THE LEOPARD"
- adontz 5y agoWorked in 3 major banks in my country. All of these seems so overthinked and overenginered and not really answering any real fraud risk. To me, personally, it looks more like marketing move for geeks, rather than real necessity.
- lisper 5y agoYou should consider the possibility that your perceptions are the result of your not understanding the problem that these procedures are designed to solve rather than the people who instituted them being idiots.
- xchaotic 5y agoWhat OP is trying to say is that a disproportionate amount of effort is spent on a rather narrow attack vector and it’s still not 100% secure anyway. The people creating these procedures had goals but good UX was not one of them and definitely not the highest priority.
- lisper 5y agoYes, I get that. But a compromised root key is essentially synonymous with the end of your entire business (to say nothing of destroying the finances of many if not all of your customers) so the effort being expended doesn't seem disproportionate to me. If you feel differently, by all means go do business with a bank that doesn't waste all this effort.
- adontz 5y ago>> But a compromised root key is essentially synonymous with the end of your entire business No, it is not. That is the point. There are many levels of protection, many checks and validations, and even if you pass all of them still a lot of things can be reversed pretty easily. Banks are not cryptocurrency clowns with private key obsession.
- gnufx 5y ago
- xpe 5y ago> COTTONMOUTH-1, a USB cable manufactured by the NSA that looks like a normal USB cable It is a shame the article doesn't bother to cite nor link to its source.
- wongarsu 5y agoThat's probably a case of assuming that it's well known, the ANT Catalog leak was a pretty big thing around the time of the Snowden leaks [1]. If you're deep in a topic it's easy to lose sight of what's common knowledge and what isn't. Of course by now you can just buy similar devices on the free market, what used to be expensive high-tech in 2008 is now possible with commodity hardware. 1: https://en.wikipedia.org/wiki/NSA_ANT_catalog https://en.wikipedia.org/wiki/NSA_ANT_catalog
- xpe 5y agoYes, and when you take the time to write an article to promote your company, you probably have the time and inclination to cite your reference. In this case, the author posted here on Hacker News, which provides a wonderful opportunity to accept feedback. And it looks like the author added some text giving more context explaining where it came from: "COTTONMOUTH-1, a USB cable manufactured by the NSA that looks like a normal USB cable, but has a hidden implant that allows an attacker to inspect data on the cable wirelessly, modify data as it travels over the cable and install malicious software on connected computers - US National Security Agency, Advanced Network Technology (ANT) Division" It is nice to see authors being responsive to comments here.
- sodality2 5y agoProbably because it was top secret.
- xpe 5y agoYes, it was classified. But that isn't the point. You can cite just about anything -- ranging from phone conversations to in-person interviews, from cookbooks to journal articles. Yes, even documents from WikiLeaks or other data dumps. It isn't hard. Citing your sources shows that you are careful and you respect your readers. Make it easier for them follow the trails where they lead. It also saves time, energy, and electrons. Write out the reference once, help N people later.
- xchaotic 5y agoBut does Monzo (or any other bank at this point) have a sustainable business model? Finance is getting commoditised so there’s very little money to be made from saving accounts and Monzo has been loss making since the beginning. It’s great that they have a slightly more modern software stack but it might not be enough to sustain a bank.
- _n_b_ 5y agoInterchange. While this article is more US specific and Monzo is obviously a UK bank, take a look at https://bam.kalzumeus.com/archive/debit-cards-are-hidden-financial-infrastructure/ https://bam.kalzumeus.com/archive/debit-cards-are-hidden-fin...
- wly_cdgr 5y ago"For equipment that is easier to tamper with or where tampering could become a larger problem, we make unannounced visits at random to retail stores and purchase off-the-shelf products." Admit it...y'all just want a good reason to go to MicroCenter, right?
- tialaramex 5y ago> (sort of like a private password) I think this is an unfortunate framing. The property of public key cryptography is that unlike secrets such as passwords only one party has the private key. This instantly eliminates an important class of potential problems. And unlike with something sophisticated like an asymmetric PAKE, I think it is relatively practical to explain this benefit to end users, Monzo's counter-parties can't lose a private key they don't have and can't produce signatures from Monzo themselves. If there are signatures that shouldn't exist Monzo knows the problem necessarily must be with their systems. British Banks rely far too much on trust. A symptom of this is that periodically a big merchant (e.g. a supermarket) will accidentally run a transaction feed twice (e.g. all card transactions at Tesco on Thursday happen twice). The bank could insist (as it does for its own personal account holders) that these transactions have unique IDs authenticated by the card, which would thus mean the duplicates are rejected, but it trusts these huge merchant customers, so all the transactions they say occurred are just assumed to be fine, and the result is that the banks eat a bunch of customer anger and costs. It was remarkable to me that this would happen in 1995. It's outrageous that it still happens today, but it does.
- Trias11 5y agoThe best way to hide anything is to make adversary think that it does not exists.
- timbit42 5y agoThat sounds like obscurity.
- deleted 5y ago[deleted]
- nstart 5y agoOn a similar note, if I’m not mistaken, Monzo stores customer passwords (?)/keys used to access their bank information from other bank accounts (through monzo plus?). I wonder if Monzo has done a similar deep dive into how they structure their architecture/security practices to protect against the threat of this information+encryption keys being stolen.
- asadhaider 5y agoI believe that is through the Open Banking API/standard[0]. Anecdotally, henever I've connected bank accounts, it's been limited to three months until having to re-authenticate and get new keys. [0] https://www.openbanking.org.uk/what-is-open-banking/ https://www.openbanking.org.uk/what-is-open-banking/
- agsamek 5y agoThey talk a lot about airgapped computer and provable compilation of an OS but they just get over "we use HSM" as if they were obviously secure. We have many examples of HSMs being compromised or broken and they don't even notice that.
- benlivengood 5y agoThere's a much more straightforward way to achieve multi-party security; require M-of-N signatures throughout the entire PKI. No single root-CA, but M out of N root-CAs required to produce a trusted signature for any given message or intermediate CA. HSMs should only sign messages if a minimum number of authorized users request the message to be signed (by its hash), and downstream systems should only trust messages signed by a quorum of HSMs (at least 2). For banking as an example, each bank should require some minimum number of distinct authorized signatures on each transfer request from another bank. Individuals can have a personal public/private key, but HSM actions should also require multi-signature requests from both the user key (stored on FIDO2 or smart card) and a device signature from a list of devices the user is authorized to use, which reduces the risk of rogue devices tricking users into signing requests. Go back to using bog-standard laptops everywhere because no single device is in the critical path of security; if a single HSM loses its keys then have it generate new ones and add the new keys to the set of N possible keys allowed for root signatures and remove the old one. Only if too many HSMs need to have their keys restored would administrative users have to resort to SSSS to recover all HSM keypairs at once, but the procedure would be done one HSM at a time with potentially different sets of users responsible for recovering each HSM. There never needs to be a single set of people that can restore the entire PKI; instead have K groups (for K KSMs) of N people, of whom M of each group are required to restore an individual HSM, where only L HSMs are required to operate the PKI. There can even be some intersection between the groups of users per HSM so long as the intersection between any two HSMs < M.