lainchan / λ

(untitled)

Is security a farce? · 2023-04-01 21:17
>Is total security a farce? Preface: In the realm of software that respects the user's freedom, many have said that gigantic codebases like firefox and linux don't give the user the freedom to study the source code to understand how it works simply due to their size. Even with a large team working for several years, full comprehension of these projects would be difficult. >I claim that: The complexity of security systems in their design and implementation, and the high level of specialized study needed to audit these systems is more of a liability than an asset to FOSS projects. Because: Nation states have unlimited resources to sabotage and exploit security systems (openssl, linux kernel, android, etc) whereas the average FOSS contributor or organization does not and can not expend many resources auditing security measures. Therefore: To better respect the four essential freedoms, free software should be designed to favor simplicity, especially in their security models. The high complexity of security measures make it impossible for contributors to audit, and easy for powerful actors to exploit its flawed design or implementation, sometimes for years even after it is discovered. This security is only an illusion. Better to have a simple model that, even if imperfect, can be totally understood by most of the project's contributors. >Security is important! I do not propose ignoring security as a requirement, but to rethink how the entire computing stack works to eliminate potential security risks by design. As an example, memory leaks are security problem on multitasking operating systems that might not be a problem on a system that only runs one application at a time, flushing the memory every time a new application is loaded. This would be more like an old game system that loaded programs from individual cartridges that physically could not share memory. This would also make it nearly impossible for programs to spy on each other. This is a system I have been thinking of for a while where the bootloader would see several encrypted disk partitions that each contain a single application, and one application could be run at a time. The app images would be like a uni-tasking OS, compiled with only the drivers needed for it to work. So only the camera app would have the driver code for the camera, and only your messenger and browser would have a TCP/IP stack. This architecture is called a >Unikernel and I think it may be the key to simple, secure systems. I am sure you already see problems with this design, I see them too, but I think they can be addressed. >This thread should be for the discussion of radical solutions to the challenge of digital security from the bottom to the top, in networking, operating systems, languages, applications, etc.
Lunch · 2023-04-02 02:16
It's more about there being a paradox. While open source means you have potential to view the code the reality is as you said that it often isn't actually viewed and understood in full and all the possible exploits it has can be easily found by governments with unlimited resources. Meanwhile closed source while you have no idea what is going on behind the scenes in it the government will be in the same position assuming it's not software produced by a company with legal obligations or at least not a company that falls under the jurisdiction of government you live under or is allied with. So on one hand open source you are guaranteed exploits but guaranteed no backdoors if the code is readable but on flip side closed source while it's a gamble on if the software can be trusted in the instances it happens to be you are potentially in a better position than closed source options. So it's really a tradeoff with one or the other so in a way yes total security is too monumental a task. For these reasons I suspect what mat be best you could do is write your own programs in obscure languages but make it safe as possible and only use it for your personal use so it will remain in obscurity.
Lunch · 2023-04-02 04:14
>>35000 >>35000 What application do you think this design could have? Memory access is quite slow, even more so if it had to decrypt a partition before loading it into memory properly. That's fine I guess, the glaring problem to me is how would you fit together the component programs with any other arbitrary programs? You can't just throw them together, getting them to interwork would be very complex. If you don't want to create new tools for everything you'd need to ensure backwards compatibility with POSIX system calls, which have many process related calls. If you want to reinvent every essential tool today, well I wish you the best of luck with that, but if you want to be realistic, you're still going to be emulating processes aren't you? Ultimately, wouldn't memory leaks still happen anyway? I don't think multiple processes are the only factor in whether they happen or not. I am not a computer expert, but I feel like this model would be limiting and work-intensive. I don't see how it fixes the problem in your preface, and I don't see how the problems can be addressed.
Marly Krushkhova · 2023-04-02 13:20
>>35003 > radical solutions We need to forbid turing completeness and move to total functional programming, replace recursion with corecursion. > Protocols and file formats that are Turing-complete input languages are the worst offenders, because for them, recognizing valid or expected inputs is UNDECIDABLE: no amount of programming or testing will get it right. > A Turing-complete input language destroys security for generations of users. Avoid Turing-complete input languages! https://langsec.org/occupy/
Hitomi · 2023-04-02 14:50
>>35000 Why'd you format your post like that? Weirdest use of greentext I've ever seen. But more to the point, once you get rid of obvious bloat, you can't really simplify without it becoming reductionist. A multitasking operating system is more complex and less secure than a monotasking operating system, but it's also infinitely more useful. Like it or not, complex problems demand complex software. The goal isn't to eliminate complexity entirely, but rather to manage it.
Unsigned · 2023-04-04 20:28
>>35001 >The government will be in the se position Explain the NSA backdoor in Windows
Jet Black · 2023-06-19 08:06
>>35001 >write your own programs in obscure languages I like this idea.
Hitomi · 2023-06-27 02:28
>>35007 >We need to forbid turing completeness and move to total functional programming, replace recursion with corecursion. I have been studying computer science for a couple of years now and somehow haven't yet heard of "corecursion"--looking it up, it seems fascinating. Do you know any good books or resources on learning its properties and other usages?