PDCAT2017analysis Security Password
PDCAT2017analysis Security Password
net/publication/324096476
CITATIONS READS
22 9,314
4 authors, including:
All content following this page was uploaded by Jyh-haw Yeh on 27 October 2021.
Abstract— Cybersecurity has become one of the largest The organization of this paper starts with the related works
growing fields in computer science and the technology industry. in Section II. Following that we give a brief rundown and
Faulty security has cost the global economy immense losses. history of password managers. We then discuss each password
Oftentimes, the pitfall in such financial loss is due to the
security of passwords. Companies and regular people alike do manager in their own sections; we will go over Passbolt,
not do enough to enforce strict password guidelines like the Encryptr, and Padlock in that order. Each section contains
NIST (National Institute of Standard Technology) recommends. subsections discussing the details of the password managers,
When big security breaches happen, thousands to millions reported security flaws already found for them, our reported
of passwords can be exposed and stored into files, meaning flaws, a review and critique about the password manager,
people are susceptible to dictionary and rainbow table attacks.
Those are only two examples of attacks that are used to and then some potential solutions to the vulnerabilities. The
crack passwords. In this paper, we will be going over three paper concludes with suggestions of what an ideal password
open-source password managers, each chosen for their own manager should have; we review some features of more
uniqueness. Our results will conclude on the overall security popular password managers and look at the pros and cons of
of each password manager using a list of established attacks both open-source and closed-source password managers.
and development of new potential attacks on such software.
Additionally, we will compare our research with the limited I I . R E L AT E D W O R K
research already conducted on password managers. Finally, we
will provide some general guidelines of how to develop a better The niche of research on password managers has direct
and more secure password manager. ties to that of applied cryptography and penetration testing,
Index Terms— Password Managers, Password Authentication so the body of our work will go back to referencing a mix of
academic papers on the security of more popular password
managers and penetration testing write ups performed by
I . I N T RO D U C T I O N
security auditing teams, although we will reference some
In this paper, we will be discussing three open-source papers that display proof of concept or have contributed to
password managers: Passbolt [24], Padlock [8], and Encryptr the field in some other way. Additionally, we have tried
[6]. We have chosen these three due to each unique quality our best to extend any and all audits performed on our
they carry; we will mention them here once and then bring three researched password managers. The earliest work for
them up again in their separate sections. Passbolt was chosen password managers comes from Luo and Henry in 2003 [20],
for its unique property in that its full potential and benefits are who demonstrated a proof of concept and implementation of
reached when utilized by teams, companies, and closed groups a more effective password manager, compared to Microsoft
of people who trust each other with sensitive information; Passport. In 2005, Halderman et al’s work [19] comprised the
additionally, Passbolt runs on OpenPGP [7], a secure email proof of concept and implementation of a password manager
encryption standard founded by Phil Zimmerman. Padlock in the web-browser, where an example implementation in
was chosen for its use of the Electron and Polymer developer Firefox was given in their work.
environment as well as being a minimalist password manager. Moving on to the trend of security analysis, we are given
Lastly, Encryptr was chosen for its brow-raising qualities; all insight on popular password managers such as LastPass and
data is stored in the cloud, and it uses Crypton, a cryptography Roboform by Li, He, Song, and Akhawe [18]. Silver, Jana,
framework that implements a no-knowledge proof system, a Chen, Boneh, and Jackson [3] made outstanding contributions
somewhat fancier way of saying end-to-end encryption. To to the auto-fill feature found in popular password managers
conclude our paper, we will compare and contrast all the such as LastPass, KeePass, and those implemented in web-
features between these password managers and more popular browsers such as Google Chrome and Safari. They found
ones in order to have a standard of security for this type of critical vulnerabilities that abused the auto-fill feature; such
software in general. attacks include iFrame sweep attacks, password sync exploita-
*This work was partially funded by the NSF REU Software Security Site tion, and injections. Their work would help greatly influence
and NASA ISGC High School Summer Research Experience grants. the policies auto-fill executes. To show some of the root
4 The corresponding author, [email protected] problems as to why password managers are seeming to
become more and more necessary, the work of Gaw and other algorithms if you wish to do so, but we shall not go
Felten [16] would contribute statistical analysis of surveys over technical specifications. Following a mixed response
performed at Princeton University. Gaw and Felten found from the launch of KeePass, it would be a few years until
that participants often reused passwords for less important commercial success for password managers took off; LastPass,
websites and predict this trend would grow as more on-line Dashlane, and Roboform serve as prime examples, with the
accounts accumulate. Participants were found to be ignorant LastPass being the most popular, having a reported 7 million
to the security risks that this trend brings. They also found a users as of 2015 [22]. By the 2010’s it seems as if some kind
feeling of indifference towards the use of password managers. of password manager mania has taken off. Many developers
Looking at the rising trend of cloud computing, the work of have begun focusing their time on password managers, and to
Zhao, Yue, and Sun [14] contributed to vulnerability analysis increase popularity they made their work open-source, giving
of LastPass and Roboform; they were able to detect threats the public a chance to use their product and view their code,
such as credentials being stored in plain-text on cloud servers giving the technical community a chance to shape a password
and offered suggestions to both product makers on how to manager to their liking by giving feedback on what can be
better secure their data and product. added onto or improved, or by exposing vulnerabilities [23].
To conclude the related work we mention Gasti and This method seems to be useful in the fact that it is essentially
Rasmussen [13]; their contributions include a forefront on a free security audit. Of course, the time it would take to
the analysis of password manager database formats, as their report to developers would be much longer.
paper’s title suggests: “On The Security of Password Manager
Database Format.” What Gasti and Rasmussen found was that I V. O P E N - S O U R C E PA S S W O R D M A N A G E R S
despite a number of password managers being different from Now focusing our attention to the bulk of our work, let us
each other, each pretty much used the same database format. recall our three password managers: Passbolt, Padlock, and
They also found several vulnerabilities in each password Encryptr. Each of these password managers is open-source.
manager they investigated. We chose to look at open-source password managers for
multiple reasons. First of all, because they are open-source,
I I I . O V E RV I E W O F PA S S W O R D M A N A G E R S
we can look at the source code ourselves. Additionally, this
A. Quick Rundown also allows us to set up our own servers to test on. Each
First and foremost, we must define what a password man- password manager was chosen for their own unique properties.
ager is. Password managers are programs used to generate, We shall go into technical detail about each one, along with
encrypt, and store passwords for a client-side user. All that pointing out vulnerabilities we have found in each one and
is required of a user is to remember one master password referencing previous vulnerabilities exposed by others.
and user name. It is believed that using such software will
increase security. Typically passwords will be stored on the A. PASSBOLT
local machine itself or on some hosted server. In some cases, Passbolt is an open-source password manager initially de-
they may be hosted on cloud servers to ensure more security veloped by Kevin Muller, Diego Lendoiro, Remy Bertot, and
for the parties involved; i.e., the user and the host of the Cedric Alfonsi, with later work of Passbolt being supported
servers/proprietors of a password manager. There is some by the GitHub community. Passbolt’s core user-base includes
variety in the types of password managers available to the development teams and companies, adopting the philosophy
public; some are built into web browsers such as Google that company password policies can be shoddy or annoying,
Chrome, Mozilla Firefox, Safari, and Microsoft Edge, while which in turn creates a less efficient workspace and perhaps
others serve as standalone programs with the capability of some security vulnerabilities. The Passbolt development team
web-browser integration. Some strictly enforce strong master believes their product can be adopted to ease the process of
passwords while others do not. More notably there are a few sharing passwords among peers and coworkers in an easier
that have integrated multi-factor authentication, which is very and much more secure way [24].
beneficial to security. Given a brief rundown of such software,
let us now delve into some history.
B. History of Password Managers
Not much is known about password managers; the first
successful implementation of an effective password manager
open to the public (to our knowledge), after the work of 1) Overview of Passbolt: Currently, Passbolt only runs in
Luo and Henry [20], was KeePass, developed by Dominik a browser. More specifically, it only runs on Firefox and
Reichl [21], with an initial launch back in 2003. KeePass is Google Chrome. This is reportedly due to them still being in
a minimalist password manager that runs on Windows, Mac the alpha development of Passbolt [25]. Passbolt was written
OS, and Linux, along with unofficial imports to Android, in JavaScript, PHP, and Shell, and it currently uses OpenPGP
IoS, and Blackberry. The latest versions of KeePass use for their encryption standard. Passwords stored in Passbolt
AES-256 bit encryption [40] along with ChaCha20-256 bit are encrypted, and the database used by the client can also be
encryption [41]; however, KeePass does allow you to use encrypted to improve security. However, user names are not
encrypted and are stored in plain text. One existing problem they can steal a user’s master password. See Figure 1 and
for Passbolt includes the use of a bad pseudo-random number Figure 2 for more detail.
generator [25]. There is also no current way to change your
master password or use multi-factor authentication. There
is the option of emailing a copied list of your encrypted
passwords to yourself should the option for email notification
be enabled. Passbolt also boasts the use of a color security
token which should prevent phishing, however, we believe
we have found a way to bypass this feature which we will go
into detail in our discovered flaws section. Another current
flaw reported by the Passbolt team is the predicament of the
client and server trusting all keys; although they admit to this
being a flaw, they wish to fix this error in the future [25].
2) Reported Security Flaws: Found early in the surveil-
Fig. 1: Here we can see the hex value of the color a user’s
lance of Passbolt, it was discovered by Wigginton et al that
security token
the use of the PHPseclib has the potential to default to the
use of ECB encryption [4]. While this isn’t a direct flaw
in Passbolt itself, it is still a flaw to consider. Reported
problems by Passbolt include server integrity problems, DDoS
attacks, server information leaks, key revocation, the potential
of authentication cookies being stolen if SSL is broken, and
the potential to mimic server keys [26]. It should be noted
that Passbolt currently only uses MySQL servers, which have
had reported problems that were recently fixed by Golunski
[2]. Given that Passbolt is only in alpha and developed by
a single team rather than a company, they do not have the
resources to perform a full-stretched security audit; most
vulnerabilities have been found by the developers themselves
or by the GitHub community. The team’s use of cryptographic Fig. 2: By editing this hex value, we can replace the color
functions (by use of OpenPGP) has been reviewed by security with any color of our choice
audit team Cure53 [27]. The team was able to find several
vulnerabilities in the OpenPGP library but we shall omit the
details. One other attack we created was a custom user-script. A
3) Our Discovered Flaws: To begin testing on Passbolt user-script is a custom script that users can install to gain
we opted to not perform any attacks already conducted, so extra functions to websites. Users will typically not look over
we tried some of our own attacks. Before testing, we set up a all of the code in the user-script, so it would be easy to hide
private server using the Hamachi Virtual Private Network two lines of malicious code in a script that looks innocent. We
so that we could as closely as possible simulate a work created a script (see Appendix) that would secretly replace
environment typical to what Passbolt should be used for. The all links that download the Firefox Passbolt extension with
tools involved were all on Kali Linux, with the exception of another random extension. All the links appear to go to the
some attacks written in C# and tested on Windows machines. original website, as seen in Figure 3. Because of the way
It was very easy to see that a key-logger on an unsuspecting Firefox installs extensions, the user will get a pop-up that
user would give us the master password. Passbolt was also says the website itself wants the user to download the fake
found to be susceptible to a clipboard attack; given the extension, making the extension seem trusted (See Figures
generated passwords can be somewhat hard to read, a user 4 and 5). The Passbolt extension itself can’t be modified,
will opt to just copy and paste rather than manually type their however, as Passbolt detects any changes and disables itself
passwords, making strong individual passwords to websites if it finds any. Downloading a fake extension would bypass
and services seem useless if an attacker is successful. this, and since the extension is open-source, mimicking the
Passbolt has a special feature to prevent phishing attacks; extension would be very simple. A proposed method to get
a user will remember a color assigned to them and it will be the user to download this user-script is to hide the code
present when they attempt to log-in. We conducted an attack inside a good user-script. As mentioned previously, the code
on their use of this color key token; by grabbing a live copy would most likely go unchecked. Another method would be
of a user’s session we were able to find the lines of code to hide it in an extension. The extension would then inject
that gave us the color. Simply editing these lines we now the JavaScript into the website.
had an exact copy of what a user would think is the login 4) Review and Critique: Overall, Passbolt was not a very
page, all working as if it were the real thing. With this, an user-friendly password manager and we question the integrity
attacker could potentially perform a phishing attack in which of the product. They have no reported security audits on their
which is in itself a big security risk.
5) Solutions to Some Vulnerabilities: We suggest that the
Passbolt team develop some features such as typing obfusca-
tion and auto-fill to protect against key-logger and clipboard
attacks. We also encourage the use of other types of servers
besides MySQL. While not all servers are perfect, giving
user options can potentially increase the overall security of
the company using Passbolt. The user-script vulnerability is
something that would be hard for Passbolt to stop, but they
should at least use an HTML content security policy that
would block scripts loaded from an off-line source, most of
the time [12]. We would also recommend some way to either
Fig. 3: Notice how the link to download the extension appears obfuscate the security token or develop some other method
to go to passbolt.com in order to prevent our proposed phishing attack.
B. ENCRYPTR
Encryptr is an open-source password manager initially
developed by Tommy Williams and then bought out by
SpiderOak [28], a company focused on building services that
feature no-knowledge frameworks.
Listing 2: Script for Padlock that resets all of the data once the user logs into their dashboard