* Posts by fg_swe

1308 publicly visible posts • joined 20 Nov 2021

Ransomware-hit British Library: Too open for business, or not open enough?

fg_swe Silver badge

Change Of Mind Required

There must be a very serious discussion in the applied computer science sphere about this kind of issues. Security must be the topmost priority and "the latest hot craze" (such as running everything on a hugely complex(read: questionable security) JavaScript VM) must be questioned.

We must question the use of C and C++, as 70% of CVE exploits could be neutered by Memory Safe Languages.

Projects such as seL4 and CompCert should be considered the ideal to be emulated in things such as web servers, databases. Especially RDBMS servers have a history of being extremely insecure. Pushing out a new release, improving benchmarks was long considered imperative. Security was an afterthought.

The KISS principle should be employed wherever possible, as only simplicity makes certain security proofs possible.

Convoluted and highly insecure stuff such as OpenSSL should be questioned at the concept level. Do we really need these complex hairballs ?

Best practices such as formal scanners, parsers, regex checking should be written.

fg_swe Silver badge

Dangerous Development

How long will "average" people trust us "computer wizards", if this kind of cr4p keeps repeating ?

Europe's Ariane 6 rocket rated 'ready to rumble' after passing hot fire test

fg_swe Silver badge

Re: ESA suffers from the same disease as NASA

The Ariane launchers were quite succesful and reliable until Musk entered the business.

fg_swe Silver badge

Well

The EU is a bunch of weaklings who need Uncle Sam to protect them from ANY REAL threat. Like the Russkies or the Turks.

They will degrade defense capabilities to zero* while talking childish-pacifist nonsense. When the threat pops up, they cannot even organize a Common European Defence Exercise. Easy to play Divide Et Impera with said weaklings.

So the lack of a satellite launcher is much less of an issue than LACK OF COJONES.

*Look up SENIOR GUARDIAN, Heeresfunkgeräte, EADS Barracuda, EuroHAWK, "Kampfdrohnen völkerrechtlich nicht verboten"

Revival of Medley/Interlisp: Elegant weapon for a more civilized age sharpened up again

fg_swe Silver badge

Excellent Work !

Now, if somebody could also take care of

+ ALGOL Mainframes from ICL, Unisys and Moscow Precision*, a precursor of the JVM runtime and Memory Safe Kernels

+ Wirth's systems from Modula-2 to Oberon

+ Smalltalk-based systems of many shades.

Why ? Because these systems are still leading-edge in some aspects, especially security and simplicity.

The second reason is that the hard work, which went into these systems, should be somehow preserved for future engineers and scientists to study. Maybe there is even some social-science knowledge to be found in the future. Currently we preserve Greek scriptures, but we throw away important inventions of just a few decades ago. That's sad.

* now MCST

Post-IPO, Arm to push purpose-built almost-processors

fg_swe Silver badge
Go

Silicon As A Service

I can see a huge market in web-based services which allow engineers to drag and drop ready-made silicon components into their design, simulate the design, enter a credit card number and have a fab such as TSMC or GF produce the System On Chip for them. Get the SOC back in a matter of weeks for lab verification.

Today these components are soldered onto a PCB. Soldering itself is stressful to all components and the soldering joints are prone to fail on the long run of temperature cycles.

fg_swe Silver badge
Go

Don't Try To Force Anybody

Apple has been developing a great(very fast, energy efficient) CPU based on the ARM ISA. This reflects back on the ARM idea very nicely. Instead provide the best compiler, the best debugger etc. Then Apple and others will come back to do business with ARM.

Selling ready-to-use "silicon components" is of course a very useful idea. The processor world is much bigger than just "IT". For example, the automotive world needs highly reliable "MCUs", which are a combination of CPU, Flash, RAM, ADC, DAC, Timers, PWM, Crypto engines and so on. They run a version of the AUTOSAR OS on less than 3MByte of RAM and similar amount of Flash. These MCUs control things like ABS brakes, the "comfort" devices inside a car, or DCDC converters.

The Silicon Components would therefore include mixed signal and application-specific circuits such as crypto, hashing, CRC, content addressable memory(CAM) and the like.

Huge potential business. Can eat into NXP, STM, TI and Infineon market share ;-)

Europe's Ariane 6 takes rocket science seriously by testing patience before engines

fg_swe Silver badge

Governments

It was Hitler and Stalin who made spaceflight happen.

No need to like them for this, but these are the facts.

Likewise, Admiral Rickover designed and developed the PWR reactor.

Silicon Valley grew out of electronic warfare...

fg_swe Silver badge

Beancounters Concerned ?

We can and should retain Ariane V launch capability. Damn the funny "plans".

Ariane V was a great success after one loss due to lack of HIL test.

The world seems so loopy. But at least someone's written a memory-safe sudo in Rust

fg_swe Silver badge

Re: C++ Template Worshipping

Use the simple m4 features. Essentially just the replace mechanics.

fg_swe Silver badge
Alert

WASM, Sappeur, Rust

As this is an important subject, I have written a page about it:

http://sappeur.ddnss.de/SappeurComparedToWASM.html

fg_swe Silver badge
Mushroom

FAIL 2

I responded to "Even writing in assembly "allowed" programmers to write perfectly safe code". Now you start writing about JS.

Also, you implicitly call WASM-Programs "memory safe", which again demonstrates you lack of understanding of Memory Safety.

A C++ program compiled to WASM will have almost exactly the same/equivalent security bugs as the same program compiled to x86 or ARM machine code. If you lock down these programs using LSM, you have practically the same security properties as WASM provides. Sans the JS VM overhead.

Read here: https://www.williamjbowman.com/blog/2023/05/18/in-what-sense-is-webassembly-memory-safe/

There are very good reasons for the type systems of Sappeur and Rust, both in terms of security and in terms of efficiency. Low-level constructs such as VMs or CPUs are hard-pressed to replicate these capabilities and will consume many transistors or runtime to do so.

fg_swe Silver badge

Re: History Lessons

Why do folks refer to Greek States and Concepts ? Because they had what we now have, 3000 years ago. Because they invented important practices and institutions.

ICL and Burroughs invented important techniques and should be recognized forever for this.

fg_swe Silver badge

History Lessons

Educated people learn from history while ignorants suffer old problems over and over.

Exactly this happens with those who blindly follow the Unix and C branch of computing.

ICL and Unisys had almost all we have in the JVM, but also inside the kernel. That's STILL more advanced+secure than Linux or Windows are TODAY.

Cola is not better than natural fruit juice, because Cola is younger or more hyped.

fg_swe Silver badge

Yes

I do indeed suggest to compile and debug in the instantiated, on disk, code.

The "bloat" is not relevant for my projects and modern hardware.

fg_swe Silver badge

Performance BS

For a long time execution performance was the one and only metric. This brought the cyber war and cyber crime world.

Most computer people are cyclops ?

fg_swe Silver badge

Mostly Wrong

See Algol mainframes, see Singularity. OS, see Modula 2.

Of course one needs judicious exceptions from memory safety for certain specific operations. My estimation is 1% of OS code needs to be unsafe. Thats much better than the 100% unsafe concept of Unix and Windows.

fg_swe Silver badge

gcj of BOEHM

Is an AOT for Java. Still suffers most of the Problems of Java such as high RAM consumption, no RAII, freezing on GC, no complex Stack allocation etc.

fg_swe Silver badge

Re: Explain

More precisely the ICL 2900 CPU.

fg_swe Silver badge

Explain

...all the details of such a microarchitecture that provides the same assurances as Rust or Sappeur.

Especially: have a concept of avoiding thread races.

If you need ideas, start with ICL VME Algol mainframe.

fg_swe Silver badge

Re: NP complete

GC can collect cyclic hairballs of garbage objects. ARC cannot

fg_swe Silver badge

Re: C++ Template Worshipping

In most cases, templates are the same as a macro. Therefore, expand the macro to disk and have a look at them. Also during debuging!

fg_swe Silver badge

Indeed

We should not use ABS brakes because they do little against drunk drivers speeding into a curve !

fg_swe Silver badge

Really ?

Boeing is charging tge Feds much more than Oracle can ever do.

A bigger Problem is the lack of multithreading support in the type system. Java simply is outdated in some ways.

fg_swe Silver badge

Re: Rust. Lol.

Great comment, Thanks.

In defence of Mr Stroustrup it should be said that performance and general efficiency was long seen as the only objectives.

Life-critical computing(e.g. full authority flight control software) and cyber crime/war have been changing priorities.

fg_swe Silver badge

Re: False

Almost all Cpus have no concept of memory safety in a fine granular way. No concept of multithreading race condition avoidance.

No concept of automatic pointer initialisation.

The only exception might be the Algol mainframes, some Lisp machines and the iApx423. Only the algol machines are currently in production and sale.

Memory safety these days come from strong typing of a HLL and from compiler generated runtime checks.

fg_swe Silver badge

False

You dont know what you are talking about.

fg_swe Silver badge

Re: This all assumes...

The only irrational guy here is YOU. No counterfacts, so you attack a man's Name.

Go back into your cave.

fg_swe Silver badge

Re: C and ++: Threading Defects

You seem to be unwillig to look at my arguments. Facts are of no interest to you.

Science is not a beauty or rhetoric contrst.

fg_swe Silver badge

simplistic

There are systemic reasons in the C and the C++ language, which make them memory Unsere. Regardless of library used.

Some of them listed here http://sappeur.ddnss.de/WhyCandCppCannotBeMemorySafe.html

fg_swe Silver badge

C and ++: Threading Defects

Both C and C++:have no strict mechanism to stop accidental sharing of a variable/object between threads. Identical Problem.

Also, no way to force use of safe Arrays in eiher language.

No way to detect and stop a stack overflow. Both.

No way to stop use of raw pointers. Both.

Etc.

fg_swe Silver badge

Well

I agree that Ada looks like a very reliable language, if properly used.

You still need a proper engineering process such as rhe V Model to achieve good System quailty. You need proper, experienced engineers, Management and proper funding.

Such projects do exist, like the one I mentioned.

fg_swe Silver badge

Lameness

Five downvotes, no counter arguments. I take that as 5x5=25 upvotes.

fg_swe Silver badge

Containers, Smart Pointers

The vast majority of template use cases are simple things such as std::vector or shared_ptr. To instantiate them, simple search-replace is sufficient.

I have seen large (dozens millions loc) C++ based systems using the good old C macro processor for These generics. It Was the leading CAD system then, used to design cars and large aircraft.

fg_swe Silver badge

Re: Greybeard 2

The Algol mainframes are(on a high level) similar to Java virtual machines. Bounds Checking for each array is done by the CPU, for example. Pointers are guatanteed to be good or NULL etc. Numbers are Typed, too. You cannot add a pointer to a flott, for example.

This is also mostly true for Kernel/System Code

These Algol computrs look much more secure to me than the Unix "one lange array of untyped octets" approach. I do not have statistics, though.

Also Listen to Tony https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/

fg_swe Silver badge

MOSCOW

They now use the misleading Name MCST.

Read mcst.ru and the wiki Page.

A long time ago, they designed and built Algol Mainframes. They even have a metro Station of their own.

fg_swe Silver badge

Experience

From my own language I can say that Compiler Bugs do exist but they are rarely the source of real-world defects.

Memory Safety is not the holy grail of Software engineering and it does not kill all Bugs and defects.

What it will do quite reliably is to detect the 70% of exploitable Bugs related to memory access.

A powerful aid to the Software engineer. Comparable to ABS for drivers.

fg_swe Silver badge

Or

...maybe because it makes economic sense to reuse basic libraries such as buffered TCPIP, buffered Files, http requests, PDF Parser?

Real World C++ programs will use dozens of foss libraries, too. They are just managed via yum or apt-get, instead of npm or rust crates.

Of course they all have Bugs of their own, more or less capable maintainers etc. They must be correctly used, which can be a challenge.

Still no difference between C, C++, Rust, Java, TypeScript or Sappeur.

Libraries exist for fundamental reuse economics.

fg_swe Silver badge

C++ Template Worshipping

99% of template use cases can be realized by an equivalent, simple m4 macro, which expands each instantiation to disk.

Then you get sane error messages from those files.

For all other useful cases of compile-time code Generation, please create small C, Perl,C++ program and include them into the make file.

Avoid templates, they are an insane way of generics and compile time calculation. Similar to BRAINFUCK.

fg_swe Silver badge

please disregard the Auto correction

Damn

fg_swe Silver badge

Re: Greybeard 2

(In terms of memory safety)

fg_swe Silver badge

Jäger 90

Apparently the safest fighter aircraft uses Spark Ada. Up to now no loss of aircraft due t o flight control system.

Everybody else had catastrophic losses: F22, F35, Gripen, Su27,...

fg_swe Silver badge

Greybeard 2

Unix is clearly inferior to the Algol Mainframes of the 1970s.

E.g. ICL VME, UNISYS, MOSCOW

Musk's mighty missile is ready for launch once FAA says OK

fg_swe Silver badge

No

The idiotic approach of launch-testing does not work well anywhere.

Systematic simulation, HIL testing, expensive ground test rigs are the way to go.

Then launch with lots of telemetry.

Musk has the education to make this happen, unlike many others.

From browser brat to backend boss: Will WASM win the web wars?

fg_swe Silver badge

Docker ?

You lock the Rust server into a Docker VM and have the same security as locking it inside a JS engine ?

After all, the light weight is the point of dockering ?

(the article says that the Docker man is so impressed by WASM. But yeah, maybe he i just a talking head)

I am referring to server side here.

fg_swe Silver badge

Compared To Rust, C++, Ada, Java?

All of them have compilers/VMs which target x86-64, ARM, Power, S/390

All of them have a stable POSIX API.

What is the advantage to use Wasm instead of Posix+Source ?

Is it the Universal Assembly Code, transcending CPU rypes ? I can see some benefits in that, at the steep price of not having proper pthreads, proper Tcpip API and so on.