16

I have just spent a few hours playing with Puppy linux, which has some very nice features, but there are some things about its approach to security (at least the default settings) that worry me:

  1. It seems that the intended way to use it is to run everything as root
  2. There is no password for root (by default-- of course I could add one)
  3. There is no automated (or even a simple non-automated) way of getting security updates for packages, as far as I can tell. (I might have missed something.)

I have always had drummed into my head the importance of having a complex password, of not browsing the internet as an admin/root user, and of keeping system software (and browser, and plugins) up to date with patches for the latest vulnerabilities. However, despite what looks to me like a recipe for disaster (outlined above), Puppy is popular enough to have a lot of spin-offs, so there must be scenarios in which the apparent lack of security is a non-issue. What are they?

1
  • 1
    Puppy was the first linux distro I used. It served as a good recovery distro. These days, I find grml to be the ideal for live recovery environments.
    – jordanm
    Aug 25, 2012 at 3:53

8 Answers 8

9

Puppy is a toy distro, for hobbyists. That is the only scenario where the Puppy (lack of) security model makes sense.

Agencies which study information security publish mitigation strategies based on the statistics of intrusions they see. Here is the Australian government's list:

http://dsd.gov.au/infosec/top-mitigations/top35mitigationstrategies-list.htm

They estimate that following the top 4 strategies would stop 85% of intrusions. These are:

  1. Patch applications e.g. PDF viewer, Flash Player, Microsoft Office and Java. Patch or mitigate within two days for high risk vulnerabilities. Use the latest version of applications.

  2. Patch operating system vulnerabilities. Patch or mitigate within two days for high risk vulnerabilities. Use the latest operating system version.

  3. Minimise the number of users with domain or local administrative privileges. Such users should use a separate unprivileged account for email and web browsing.

  4. Application whitelisting to help prevent malicious software and other unapproved programs from running e.g. by using Microsoft Software Restriction Policies or AppLocker.

Puppy fails on all of these counts. Serious distros such as Fedora, OpenSUSE, Debian etc. are far more secure. These distros all have active security mailing lists which provide timely security patches, offer Application whitelisting via AppArmor and/or SELinux and of course, don't run everything as root (honestly, wtf?).

If you value your security, don't use Puppy for anything serious.

2
  • 2
    +1 for the useful reply, though I am not sure I agree with all of it. Puppy linux does not seem to present itself as a toy distro-- there are no warnings to treat it as such.
    – Paul Lynch
    Oct 23, 2012 at 2:00
  • I would downvote this due to its arrogant misinformation but, at the moment, I question the value of downvoting. Let me just say that what is true for a multi-user environment is not always true for a single-user environment. Puppy Linux is specifically designed for a single-user environment. It also works well in a single-user/multi-computer environment. Oct 24, 2013 at 9:04
2

The standard, 'serious' Linux paradigm can give a false sense of security, as well as being quite frustrating at times, with its denial of access (whose computer?). It therefore becomes necessary to run many applications as 'root', even whilst connected to the www. Incidentally, I have used a 'live' Puppy to tear apart a Debian-based install that I had made deliberately 'over-secure'. I have also done the same with KolibriOS ('Hummingbird OS'), which is written in ~100% ASM, & doesn't recognise the alleged 'defences'. As an example, on an external storage medium, formatted to ext4, the 'lost & found' folder is locked to most Linuxen, but not to a Puppy.

In any case (AFAIK) the most vulnerable potential attack/contamination vector/application, the web-browser, usually does not run as 'root'. For security, there are private browsing mode, https, and of course, firewalls, and web-browser firewalls (on top), not to forget the mighty BleachBit cleaner.

Regarding the lack of updates, in my experience, MSW is constantly updated/patched, yet is apparently the least secure system of all; rolling-release Linuxen, with their constant patching, break within about a week or so; LTS Linuxen with relatively few updates, 'just work'; so the relative lack of updates in Puppy (depending on the version) may be a false area of concern, one that seriously bothered me until I found out a bit more.

An important security feature of Puppy is that (in a 'frugal' installation, which is preferred/recommended) each session can be either saved or not, to either a standard or unique file, so it's possible to run 'bespoke' sessions for specific purposes, requiring logout/login to return to 'normal' use. Restricted user accounts can also be added, for specific purposes. Given that a frugal install is effectively a 'live' system, Puppy may actually be more secure than 'normal' Linuxen, if used correctly.

References:

http://www.ciphersbyritter.com/COMPSEC/ONLSECP5.HTM

http://www.murga-linux.com/puppy/viewtopic.php?t=18639

Finally, never join a forum that demands registration, always use a 'ghost' email address.

2
  • Leave comments directed to others. Don't use an A to do this. When you get enough rep you'll be able to leave comments.
    – slm
    Apr 24, 2014 at 13:01
  • I wouldn't name "macro calling a macro calling a macro" 100% ASM. This was the impression when I tried to read sources of KolibriOS to understand how to do some things.
    – Ruslan
    May 20, 2017 at 17:30
2

As already stated, Puppy uses a different security model (or different paradigm, if you prefer) and must be judged experientially, in the real world. My experiences can be summed up as follow:

  • Debian: hacked, with apps phoning home.
  • Slackware: hacked.
  • Arch: never stayed stable long enough to be hacked.
  • Windows XP: I uninstall the ethernet driver after it registers with Microsoft. 'Nuff said.
  • OpenBSD: hacked. Yah, I know.
  • DragonFlyBSD: never penetrated, if it runs at all.
  • FreeBSD: So far, so good. Using PF. Used less than 8 months.
  • Puppy: in 6 years, never hacked. Never. It's still my main distro when I'm in need of simplicity and reliability.

To reiterate: Puppy uses a different model, what many believe is an inherently secure one. Comparing it to traditional Unix, Windows or ______ is comparing apples to oranges.

2

I've been linux-only since 2000 and never had an outside virus. I infected myself once when using an old windows hard drive to move some files. I ran Clamtkl to clean it all up.

I've been on Puppylinux for several years now. I still don't have problems with viruses of any kind. Windows people scratch their heads like "How is that possible?"

To me it's like a car driver asking a biker, "How can you drive with only two wheels?"

Puppy uses dbus for session management only. So nothing is spread about like Active-x does.

I use Sylpheed email client, which is plain text only.

I use an older Opera with most things disabled. I turn on JS just to post like I'm doing now.

Since I boot from CD it's a fresh start every time. There are no operating systems on my hard drives.

When I boot up, I can htop and count about 15 processes. And I know all of them. As root, there is nothing hidden from my eyes.

I did commercial website tech support for several years, so I'm not a typical computer user.

Windows tries to limit boot options, encrypts the hard drives, encrypt or hash programs, always applying security patches AFTER becoming infected. And yet they continue to use Active-x and equivalent mechanisms to spread their germs around.

People want to click on a web link that opens up a spreadsheet and all that stuff. And people insist to save passwords in their browsers because it's more convenient.

A lot of windows users have incredibly complicated logons and they can't understand why they are still getting viruses. It's because the rest of the machine is a wide open door.

It's like drug users who have "clean" needles that they share with their buddies.

I hope this can clear up some misunderstandings about security and "the puppy way."

1
  • 1
    I suppose it depends a lot on what the use-case is and what you are willing to give it run it securely. Most people would not be willing to do general web-browsing with JavaScript disabled, nor would they like to see the text-only versions of emails. The LiveCD approach has advantages, but if you wanted to do general webbrowsing with JavaScript enabled, you could run into trouble because every month new security holes are discovered in browsers, and even though the OS would get cleaned on a reboot, your stored data could either be trashed or stolen.
    – Paul Lynch
    Sep 24, 2015 at 23:27
2

Over 30yrs programming in dozens of languages from assembly to Oracle database administration, and I've found nothing more secure and reliable than Puppy Linux.

Like all Unix/Linux systems, Puppy Linux security is a very different world than the Microsoft one most are familiar with. The disparaging expressed in other answers is completely understandable though from the Microsoft perspective, but stems from a lack of understanding that there other approaches to security.

In general, Microsoft Windows O/Ss assume full access to everything unless explicitly denied. Unix/Linux assumes no access to anything unless explicitly granted. This goes a long way in preventing unauthorized access.

The *nix root user is granted full access to most everything, though even root is routinely prevented from doing things like executing a file that does not have the execute permission flag set and connecting to another host via SSH without a password or prearranged key-sharing.

Unlike "native" Linux, Puppy Linux has been optimized for a single-user environment. The single-user, root, has full control of that machine and thus has the ability to better secure it from intruders. If you need to accommodate multiple users, try one of the many other fine Linux distributions.

Puppy Linux's use of the unionfs/aufs stacking file systems keep all but recently altered files on read-only layers. This provides an "undo" capability that allows easier restoration of the entire system to a known-good condition. As a last resort, the original system as distributed is kept on the bottom read-only layer where it can be rebooted to while preserving subsequent changes on the upper layers.

Though seldom discussed, frequent patching of software is a multi-edged sword. New versions must always accommodate current hardware which often creates glitches in inter-operating with older software and hardware. That's why, if you want to keep anything up-to-date, you have to keep everything up-to-date. Personally, I've never performed a multi-package upgrade to a desktop system that didn't require several hours to fix all things it broke. I thus tend to upgrade piecemeal and install new distro versions to a separate partition so I can "rollbacK" to the old one if necessary.

Keeping a dedicated web server fully up-to-date is prudent due to its easy access to attackers. Even then though, it makes no sense to allow any ssh login to such a system other than root. That limits the attack surface. Virtually all updates to these systems require root access and being logged in as root allows you to notice potentially malicious anomalies and software failures which might be otherwise hidden from you if logged in non-root.

Every Linux comes with a large toolbox of utilities that can be used to keep systems secure. Most are written in C and so are very small and have stood the test of time for reliability. They thus can run efficiently on very low-powered, low-resource systems.

Puppy Linux is mostly used by programmers, systems administrators and analysts for their daily computing needs doing things like...

  • Internet access of dozens of websites simultaneously from several machines/user.
  • Developing software in almost any language ever invented.
  • Experimenting with endless permutations and combinations of software configurations.
  • ... and even checking email and social media while answering questions here.

A good case can be made to run browsers as a non-root user. Creating a user login for this purpose is the same in Puppy as in any other Linux should you desire to do so.

4
  • 5
    I don't see how running everything as root makes it more secure. If you are running a browser as root (especially one that has not been updated with the latest patches) and visit some infected web site that exploits a security flaw in your browser, then you have just given the attacker full control over your system. You might not even be aware that it has happened. In what sense does being root help you in this case?
    – Paul Lynch
    May 22, 2013 at 16:18
  • 2
    Running as root puts you on equal footing with intruders instead of them having the upper hand. Any software breaking into a Linux system tries to become root and chances are, will succeed in at least gaining greater privileges than your non-root login. As a non-root user, numerous things are hidden from you, such as getting a full listing of all the processes running on the system. Running as root with some basic "instrumentation", you become accustomed to which processes run when and how much CPU is usually used under various conditions so you notice anomalies that may be malicious. May 24, 2013 at 5:55
  • 5
    This answer is severely misleading. Malware does not have the "upper hand" if you're not logged in as root; it's at a disadvantage because it doesn't know the root password, and you (the user) do. Malware that manages to gain root privileges can completely subvert your system (including any "read-only" unionfs/aufs layers), and hide its presence so you'll never notice it's there (read about rootkits). If you run your whole login session as root, you're lacking an important security barrier that stands in the way of malware trying to do that.
    – Wyzard
    Jul 22, 2015 at 15:02
  • 1
    This answer was written in 2013, and heatbleed was discovered in 2014. However heartbleed was a clear demonstration of why you MUST keep patching. Suggesting that constant patching is only for Microsoft environments is really dangerous advice. Aug 13, 2020 at 15:15
1

I did think of one situation in which something like Puppy Linux would be fairly safe (or so I think-- I welcome comments.) If you run it from a Live CD on a system with no mountable storage devices (which means no hard drive in the system, or at least not one that you ever use), then even if you visit a web site that exploits some hole in the unpatched browser, the next time you reboot your system will be clean.* Of course, between the time when you have visited such a web site and your reboot, there could be some keylogger catching any passwords you enter, so you would have to be careful, perhaps only visiting bookmarked websites unless you weren't planning to log in anywhere. You could save files on a USB flash drive, though again you would have to be careful about what web browsing you did while it was connected (or before it was connected).

*I have read about viruses (though thankfully they are supposed to be rare) that can infect your BIOS or some other piece of firmware, and if that happened then a reboot wouldn't help.

1

sml asked: "Also, can you provide a link to the police forces which recommend Puppy?"

Perhaps this will help: Detective Inspector Bruce van der Graaf from the Computer Crime Investigation Unit of the New South Wales Police, when giving evidence on behalf of the New South Wales Government at a public hearing into Cyber-crime, specifically recommended Puppy Linux as one of the principle methods of safely conducting commercial transactions on the internet, such as on-line banking.

For details see: http://www.itnews.com.au/News/157767,nsw-police-dont-use-windows-for-internet-banking.aspx

And incidentally, none of those involved in the creation of Puppy Linux regard it as a "toy distro".

-1

I have never heard of Puppy Linux being compromised in 6 years of use as a frugal install. I believe this is because Puppy runs with most service's turned off ( try using a web security site such as Shields Up. I have done extensive security testing as part of my work as a Linux Educator and have found Puppy to be more secure than Ubuntu even in root due to the above service reasons. Of course if you run puppy as a remaster as a live cd with a browser added its very secure, (with no hard drive mounted while on the Web).This is the method as recommended by police forces around the world for a totally secure system.

4
  • 1
    Thanks for the informed reply. Two follow up questions: 1) If you are running behind a firewall (e.g. a router with NAT) then the primary means of attack would be through visited web sites, wouldn't it? 2) Even if the hard drives are unmounted, malware installed via web browsing could remount them, couldn't it, since the web browser is running as root? I was just reading some reports of attacks where, apparently via Puppy browsing activity, the Windows OS on the system was infected.
    – Paul Lynch
    Aug 26, 2012 at 21:12
  • 1
    David, what comprises your security testing? I hope it involved more than merely visiting Shields Up. Also, can you provide a link to the police forces which recommend Puppy?
    – sml
    Oct 11, 2012 at 11:23
  • 1
    "Shields Up" simply checks the status of a range of ports, as a test for a security problem common on Windows installations ten years ago. Modern operating systems only open ports when they have system services listening on those ports.
    – bgvaughan
    Oct 23, 2012 at 8:12
  • 1
    The few network services installed by default on Ubuntu or other popular Linux distributions are a trivial vulnerability. Running as root by default is a more significant vulnerability, though significantly mitigated if running an OS from a LiveCD. It is not necessary to run as root if running an OS from a LiveCD, however.
    – bgvaughan
    Oct 23, 2012 at 8:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .