This is a project to develop a hardened browser, that fulfills the security requirements for general secure Internet usage.

Would be nice:

PKCS#11 Considerations: Both OpenCT and pcsc-lite provide interconnect via UNIX Domain Sockets for card reader access. OpenCT can also provide TCP/IP or Unix Domain Sockets ifdproxy for accessing the card reader. Since the card reader driver varies from vendor to vendor and the access is done via sockets, application memory space is immune to corruption, if proper checks are done ;) Device-dependent drivers would be scary to code if we want portability, and hotplugging would be a nightmare. A requirement for a responsible daemon sounds sane enough. OpenSC project's OpenCT is growing fast and seems promising. Works on Windows and many nixes, flawlessly. pcsc-lite is the legacy daemon, with most drivers available, and is an attempt to implement something like the Windows PC/SC infrastructure. Both OpenCT and pcsc-lite can use the drivers from each other if both daemons are running, via bridge drivers.

Project Team

Please add yourself to the list if you are interested.

Project Plan

Project Repository

The project repository is a Subversion repository. You can checkout your copy with svn co http://www2.futureware.at/svn/sourcerer/SecureBrowser To get write permission, please contact Philipp.

Assigned Tasks

Task

Person

Project Management

Philipp

50 Days

Linux Builds

1 Week

Windows Builds

1 Week

Apple Builds

1 Week

Reviewing all Firefox Extensions regarding usability

1 Week

Reviewing all (open+closed) Firefox Security issues

1 Week

Tester Group

30 Days

Developer Documentation

User Documentation

1 Week

Secure Branding (graphics)

1 Week

Branding Documentation

1 Week

Sales Team

Localization

1 Week

Export Control

2 Days

Patch for statically compileable Firefox

1 Month

Patch for disabling extensions

1 Day

Patch for only signed extensions

1 Week

Patch for disabling dynamic configuration

3 Days

Patch for disabling about:config

1 Day

Patch for static compiled root certificate list

1 Day

Patch for disabling DOM for Javascript

1 Week

Patch for only signed plugins

2 Week

Patch for polymorphic encryption of binary

1 Month

Patch for strongly included SSL engine

1 Week

Patch for turning URL bar red for non HTTPS parts in the page

1 Day

Patch for disabling http:'

1 Day

Patch for disabling file:||

1 Day

Patch for disabling data:

1 Day

Patch for disabling resource:

1 Day

Patch for removing Google Backdoors

1 Week

Patch for unremoveable URL bar in all windows

2 Days

Patch for statically included PKCS#11 drivers

1 Week

Patch for improved client certificate handling

2 Weeks

Patch to remove all dlopen() functions

3 Days

Patch to disable caching of SSL data, or caching in encrypted form

?

Patch to include the red button (closing all secure connections, dropping credentials, logging out of pkcs#11 devices, always visible when one of these is active) (extension to the clear private data from firefox)

?

Patch to ensure all password/pin entries are done when keyboard and mouse are grabbed, to avoid X sniffing attacks

?

Patch to have a certificate-presentation blacklist+whitelist and the option to remember the setting when you first visit a website. Allowing the certificate 6 times for a single website is annoying for sites like google accounts (adsense was reported to do it)

?

Determine and warn user if X connection is via TCP/IP != 127.0.0.1 ($DISPLAY), because application and keyboard/mouse data travel cleartext

?

Patch for Linux Kernel: DropMyRights / Capabilities to limit User capabilities

1 Week

Patch for X Server to secure XTEST and other security relevant X protocol extensions

1 Week

The marked entries are necessary tasks for the first Demonstration version.