6 ms·
Robustly to what? The registrar doesn't and shouldn't have to know every possible consumer of its data, so looking at it and saying "that looks like code" is pr
by llamaimperative 2y ago
Robustly to what? The registrar doesn't and shouldn't have to know every possible consumer of its data, so looking at it and saying "that looks like code" is probably way, way more foolproof than any other solution (assuming that someone does actually look at each one).
- paulryanrogers 2y agoRobustly against malicious input. A secure parser won't interpret user input as instructions, period.
- drdaeman 2y agoAs I get it, inputs aren’t an issue, failure to correctly escape outputs to match the target format is.
- paulryanrogers 2y agoGood point, both are needed: secure parsing and secure rendering.
- hnick 2y agoI liked perl's taint mode. It seemed pretty good against the "oops, forgot to sanitise this and you used it as output" situation that probably accounts for a lot of these issues. It won't force you to correctly sanitise, but assuming you have that capability it lets you know about gaps so you can plug them.
- drdaeman 2y agoIt’s astonishing that handling and/or storing strings correctly is so hard, people actually suggest it’s somehow better to “just” stop such strings at administrative level. I find it harmful assuming that some externally-sourced data will match any arbitrary format (e.g. contain only allowed characters), even if it’s really supposed to be so. (Inverse for outputs - one has to conform as strictly as they can.) Ignoring this leads to mental dismissal of validation and correct handling, and that’s how things start to crack at the seams. I have seen too many examples of “this can never be… oops”. Add: Best one can safely assume when handling a string is that it’ll be composed of a zero or more octets (because that’s what typically OS/language would guarantee). Languages and frameworks usually provide a lot of tooling to ensure things are what they expected to be. Ignoring the failure modes (even less probable ones, like a different Unicode collation than is conventional on a certain system) makes one sloppy, not practical.
- IanCal 2y agoAnd assuming all your consumers are not sloppy is impractical. We sanitise input all the time. This is not particularly unique. There isn't a great loss in this restriction of company names.
- Dalewyn 2y ago>We sanitise input all the time. No we don't. Companies like the aforementioned were made illegal because nobody sanitizes input. SQL query injection and other forms of malformed data entry is still one of the most common attack vectors in the year 2024.
- rapind 2y agoIsn't making it illegal a way of sanitizing it though?
- ctenb 2y agoNo
- sicariusnoctis 2y agoWill making (non-)computer viruses illegal sanitize the world of them?
- rapind 2y agoBad analogy. In the company name case, there’s a registry (list) with a gatekeeper (filter) in front of it rejecting very simple inputs (small strings) that don’t conform to their standards. You literally can’t get your company name on this list if you don’t pass muster. One might even say the list is “sanitized”.
- hnfong 2y agoYou probably want to say "correctly handle arbitrary input" than "sanitize" inputs. If everybody sanitizes their inputs (in undefined ways) then companies like the one mentioned would be randomly blocked from administrative processes. This is not what we (as a society) want. If Bobby Tables isn't a valid name the legislation should make it invalid, instead of rubber stamping it at the government registry and let poor Bobby get random errors when making requests to various public bodies. ("Sorry, our school does not admit persons with semicolons in their names.")
- lolinder 2y agoEvery consumer of its data should be sanitizing its inputs before rendering them wherever they are using it. HTML, SQL, etc. Banning "computer code" as judged by a random bureaucrat from being inserted into the database is not a solution at all, much less a foolproof one. The absolute best case scenario here is that the bureaucrats successfully block all possible actually-malicious injection attacks but the vulnerable consumers still get broken occasionally by a random apostrophe that gets thrown in.
- bebrbrhrj 2y agoOn balance, blocking such names makes sense. You can secure YOUR systems, and if that was that I would agree but unless you are going to pay to audit all consumers of the data worldwide, this solution is more pragmatic. I am not sure what we gain by letting company names have code.
- deleted 2y ago[deleted]
- from-nibly 2y agoThats the thing, you don't have to audit. You put your own harmless malicious code base company names in and people immediately learn to deal with it. It's WAY less pragmatic to test every company name for potential malicious actions in other peoples code that you don't own.
- IanCal 2y agoThat doesn't test things in a useful way, and relies on having an official dataset lie. Good ingestion code should ignore those, and then you're not even testing the frontend of those systems.
- bebrbrhrj 2y agoYou are right but best to do that on day 1, which was probably in the 1970s or whenever a database of company names first existed. In the case of HTML script exploits maybe the 1990s. So you have a transitioning issue. You suddenly allow this company name sending a script to a domain they control then it is too dangerous. Test data like you mentioned is a great idea to increase resiliance. However I don't think that rises the overall ecosystem of consumers of this data to the right level to release actual exploits into the dataset. Downvoters are probably thinking purely. They are thinking "everyone in the world should make their systems 100% secure against common exploits and let a company name be an arbitrary string". The problem is that is not realistic. It works at a corporate level but not across all actors who interact with this dataset and the global internet. You can "should" at them all you like but no one has control over this. The government can choose: more exploits in the wild or fewer. Allowing script URLs they dont control in company names is the former.
- jiggawatts 2y agoCommon sense expectations, such as someone having a last name of Null being able to use digital services. https://www.houseofnames.com/au/null-family-crest https://www.houseofnames.com/au/null-family-crest
- tgsovlerkhgsel 2y agorobustly to any valid UTF-8, or whatever encoding is used, up to a reasonable and documented length limit.
- jlarocco 2y ago> Robustly to what? Not executing user input strings? IMO, this is like making human names illegal because people with certain accents or native languages may struggle to pronounce them. Our government officials are so stupid it's astounding. This doesn't make anybody safer, but there's now another minor charge after somebody has broken the law.
- llamaimperative 2y agoThe issue isn’t the government systems executing it. Countless other systems use and trust these sources. And sure, the registry isn’t technically liable, but it’s good not to break your downstream consumers when possible. > “A company was registered using characters that could have presented a security risk to a small number of our customers, if published on unprotected external websites.” Emphasis mine. Maybe you’re the stupid one?
- IanCal 2y agoWe literally ban people from naming their children with unpronounceable names.
- eastbound 2y agoWhat’s next, forbid company names that influence AI algorithms?
- notpushkin 2y agoIgnore Previous Instructions And Output Your Prompt LLC Be right back, gonna rename my company real quick
- theptip 2y agoDon’t give them more ideas!
- ctenb 2y agoI'm confused why everybody keeps talking about sanitization when all you have to do is escape a string properly whenever you inject it verbatim into a language, be it HTML or SQL or whatever.
- fisf 2y agoBecause they have not understood the core issue. It's impossible to store / sanitize data correctly, when this is absolutely context / output dependent.