The inspiration for the Sonik video for Gravitation came from a local friend of
ours, a talented and world-renowned photographer, Adrian Brannan. Ade is famous for
his analogue photo
collages (please give him a 'like' on his Facebook page):
We
often wondered how the same effect would look if rendered with video. With video
you've got the extra element of time, each segment of the mosaic can be running
from a different starting point, with a different speed, and even a different
direction. In addition the segments themselves can move over time. Would this
end up with an effect that was just too much of a mess? Or would it give an
effect that helps visualise the consequence of spacetime?
We started by taking several videos at three different locations over the period
of a year with a Kodak Zi8 camera. A motorway bridge over the M74, just outside
the Buchanan shopping center in Glasgow, and a bench in Strathclyde park.
Lining up the images was done roughly by using lines drawn on acetate stuck over the
camera screen.
The software to do the mosaic effect was hand-written. We used a simple
scripting language, Perl, and the image library GD. On a relatively modern
Linux PC running Fedora 16 we can render near real-time 720p HD even when handling 300
segments of mosaic. A simple language controls which parts of the screen come
from which video, and the first half of the music video uses this with simple
effects having just a few boxes overlayed:
Later in the video things get more
complicated, using randomisation to pick the location and movement of each
segment:
We used our scripts to create a number of ~13 second segments, then put them all
together using kdenlive. The intro and outro were taken from a different video
from a hotel room in London Victoria; the intro using a 'miniature' effect, and
outro using the randomised segments applied to a single video.
When we get notified of a security issue affecting a Red Hat product
in advance we give an acknowledgement in the security advisory and in our
CVE database.
We've now created a
page to give acknowledgements to the companies and individuals that
report issues in our online services, such as finding a cross-site scripting
flaw in a Red Hat web site, or a vulnerability in OpenShift.
We pushed an
update to Flash Player for Red Hat Enterprise Linux Supplementary today, on
a Friday, because it fixed Critical vulnerabilities. But we try not to push
updates on a Friday unless they are critical and already public.
So let's take a look at the most common times and days we push
advisories for Red Hat Enterprise Linux 4, 5, and 6 (including
Supplementary) using a heatmap:
The more advisories pushed for a given date and hour, the darker
that section of the graph is. So the most popular times
for pushing advisories are Tuesdays at 10am and 2pm Eastern US time,
Fridays are pretty light for pushes, and there was nothing
during the weekends. The spread of the graph shows that we push advisories when
they are ready, rather than waiting to a fixed day and time, in order to reduce
the risk to users.
All the data used to create this graph is available as part of
our public metrics.
Thanks to Sami Kerola for
the R code from which I based my
graph generation.
A few weeks ago the 2011 update to
the CWE/SANS Top 25 Most Dangerous
Software Errors was published. As part of our contribution to this
update we analysed the most severe vulnerabilities that affected Red Hat
since the last update and mapped each one to the appropriate Common
Weakness Enumeration (CWE) type.
The table below lists all vulnerabilities which have a CVSS score of 7
or more ('high'), that we fixed in any product during calendar year 2010.
Most common CWE were:
Buffer Copy without Checking
Size of Input
(CWE-120): 8 vulnerabilities.
Red Hat Enterprise Linux 5.7 was released last week (July 2011), six months
since the release of 5.6 in January 2011. So let's use this opportunity to take
a quick look back over the vulnerabilities and security updates made in that
time, specifically for Red Hat Enterprise Linux 5 Server.
Errata count
The chart below illustrates the total number of security updates issued for Red
Hat Enterprise Linux 5 Server if you had installed 5.6, up to and including the
5.7 release, broken down by severity. It's split into two columns, one for
the packages you'd get if you did a default install, and the other if you
installed every single package (which is unlikely as it would involve quite a bit of
manual effort to select every one). For a given installation, the number of
package updates and vulnerabilities that affected you will depend on exactly
what packages you have installed or removed.
So, for a default install, from release of 5.6 up to and including
5.7, we shipped 27 advisories to address 109 vulnerabilities. 3
advisories were rated critical, 12 were important, and the remaining
12 were moderate and low.
Or, for all packages, from release of 5.6 to and including 5.7, we
shipped 58 advisories to address 172 vulnerabilities. 4 advisories
were rated critical, 20 were important, and the remaining 34 were
moderate and low.
Critical vulnerabilities
The 4 critical advisories addressed 34 critical vulnerabilities across just 2 different packages:
An update to OpenJDK 6 Java Runtime Environment,
(June 2011)
where a web site hosting a malicious Java applet could potentially run
arbitrary code as the user.
Three updates to Firefox (March 2011, April 2011, June 2011)
where a malicious web site could potentially run arbitrary code as the user
running Firefox.
Updates to correct all of the 34 critical vulnerabilities were
available via Red Hat Network either the same day or the next
calendar day after the issues were public.
Overall, for Red Hat Enterprise Linux 5 since release until 5.7, 97%
of critical vulnerabilities have had an update available to address
them available from the Red Hat Network either the same day or the
next calendar day after the issue was public.
Other significant vulnerabilities
Although not in the definition of critical severity, also of interest during
this period were a couple of flaws that were easily exploitable:
A flaw in dhcp,
CVE-2011-0997,
fixed by
RHSA-2011:0428, where a malicious DHCP
server could send a response that could lead to arbitrary code execution on connecting clients.
To compare these statistics with previous update releases we need
to take into account that the time between each update release is different.
So looking at a default installation and calculating the number of
advisories per month gives the following chart:
This data is interesting to get a feel for the risk of running Enterprise
Linux 5 Server, but isn't really useful for comparisons with other major
versions, distributions, or operating systems -- for example, a default install
of Red Hat Enterprise Linux 4AS did not include Firefox, but 5 Server does. You
can use our public
security measurement data and tools, and run your own custom metrics for any
given Red Hat product, package set, timescales, and severity range of interest.
Red Hat has an unrivaled security record when it comes to addressing
security flaws in our products. We reduce the risk to customers using
our products by constantly monitoring for vulnerabilities and threats,
triaging their impact to our customers, and addressing those that
matter the most quickly. The Red Hat Security Response Team are
responsible for dealing with security vulnerabilities in Red Hat
products and services and has a team spanning nine countries.
We've currently got three positions in the team currently open. One
is focused on Java (JBoss) technologies, another on our new Cloud
services, and a final one on our Enterprise Linux product.
Would you like to be part of our dynamic team, and help protect Red
Hat's customers and the open source community as a whole from security
vulnerabilities?
Each of the positions are challenging and demanding; every day you'll
be investigating different issues affecting different products and
codebases, having to manage your time on the issues with the greatest
impact.
Some of the tasks of the job include (but are not limited to):
Rapidly responding to new security issues. You'll need to be able
to think fast, analyze complex problems, use your judgement to assess
vulnerability severities and risks, and switch your priorities to
ensure that serious issues get immediate attention.
Investigating how security flaws specifically impact your
products. Research how the flaws can be exploited by
attackers; by code analysis, testing exploits, or writing proof of
concept tests.
Communicating about flaws with our software developers, managers,
quality engineers, upstream project developers, as well as our peers
in the security response teams of other vendors.
Developing advice and technical documentation for security advisories.
Responsibility for tracking vulnerabilities through the entire
update release lifecycle and ensuring that customers get the right
fixes with the right advice at the right time.
We can be flexible with working location. So if this interests you, email me
a CV/resume (to mjc at redhat.com) as not all the jobs are on our careers page
yet.
Red Hat Enterprise Linux 5.6 was released last week (January 2011), nearly ten
months since the release of 5.5 in March 2010. So let's use this opportunity to
take a quick look back over the vulnerabilities and security updates made in
that time, specifically for Red Hat Enterprise Linux 5 Server.
Errata count
The chart below illustrates the total number of security updates issued for Red
Hat Enterprise Linux 5 Server if you had installed 5.5, up to and including the
5.6 release, broken down by severity. It's split into two columns, one for
the packages you'd get if you did a default install, and the other if you
installed every single package (which is unlikely as it would involve a bit of
manual effort to select every one). For a given installation, the number of
package updates and vulnerabilities that affected you will depend on exactly what you
have installed or removed.
So, for a default install, from release of 5.5 up to and including
5.6, we shipped 57 advisories to address 206 vulnerabilities. 10
advisories were rated critical, 27 were important, and the remaining
20 were moderate and low.
Or, for all packages, from release of 5.5 to and including 5.6, we
shipped 80 advisories to address 300 vulnerabilities. 12 advisories
were rated critical, 34 were important, and the remaining 34 were
moderate and low.
Critical vulnerabilities
The 12 critical advisories addressed 49 critical vulnerabilities across just 3 different packages:
An update to the Exim Internet Mailer,
(December 2010),
where an unauthenticated remote attacker could run arbitrary code as root on a
server.
Exim is not a default package or enabled by default. There is a
public exploit for this issue which worked on Red Hat Enterprise Linux 5.
Two updates over three advisories to Samba,
(June 2010 for
Samba 3.0 and Samba 3.3,
September 2010 for
Samba 3.0 and
Samba 3.3),
where a malicious client could send a specially-crafted SMB packet to the Samba
server, potentially resulting in arbitrary code execution with the privileges of the Samba
server. I'm not aware of any working public exploits for these issues.
Updates to correct 48 out of the 49 critical vulnerabilities were
available via Red Hat Network either the same day or the next
calendar day after the issues were public. The update to fix Exim took
3 calendar days from
the date of the report
to the Exim developers.
Overall, for Red Hat Enterprise Linux 5 since release until 5.6, 97%
of critical vulnerabilities have had an update available to address
them available from the Red Hat Network either the same day or the
next calendar day after the issue was public.
Other significant vulnerabilities
Although not in the definition of critical severity, also of interest during
this period were several kernel flaws that where an local user could gain
root privileges. The following had publicly available exploits:
A fix
for CVE-2010-2240
was provided
by RHSA-2010-0661
(August 2010). The public exploit did not work against Red Hat Enterprise
Linux 5, but it may be possible to create one that does.
A fix
for CVE-2010-3081
was provided
by RHSA-2010-0704
(September 2010). The public exploit worked against Red Hat Enterprise
Linux 5
A fix
for CVE-2010-3904
was provided
by RHSA-2010-0792
(October 2010). The public exploit did not work against Red Hat Enterprise
Linux 5 but it is possible to create one that does.
Previous updates
To compare these statistics with previous update releases we need
to take into account that the time between each update is different.
So looking at a default installation and calculating the number of
advisories per month gives the following chart:
This data is interesting to get a feel for the risk of running Enterprise
Linux 5 Server, but isn't really useful for comparisons with other major
versions, distributions, or operating systems -- for example, a default install
of Red Hat Enterprise Linux 4AS did not include Firefox, but 5 Server does. You
can use our public
security measurement data and tools, and run your own custom metrics for any
given Red Hat product, package set, timescales, and severity range of interest.
Hold on a second. It might be important. I'd better go and read it. Oh it's just a note
confirming some meeting for next week. Deleted. Now, what was I working on?
A few years ago, when I was analysing where my time was going, (and why I was
working 60+ hour weeks), I figured out that the context switching caused by
being unable to concentrate on a task for more than a few minutes was a major
productivity drain.
It's hard to resist a new email. My new cellphone takes great delight in having
'push' email and would really like to beep on each new message I receive. The web
is full of gmail notifier applications designed specifically to interrupt you
to some important new mail. Even my favourite command-line email client, Alpine,
likes to ping you about new mail arriving in your inbox even if you're busy
in some other mailbox or composing a mail.
Alpine ought to have some sort of "don't notify me" option, but in the meantime
I apply the brute-force patch below to disable it.
This 5-minute patch has saved me several hours of task switching
every week, and although this means it can sometimes be an hour or two between
me checking my inbox, no one has really noticed.
Between releases there are lots of changes made to improve security and we've not
listed everything; just a high-level overview of the things we think are most
interesting that help mitigate security risk. We could go into much more
detail, breaking out the number of daemons covered by the SELinux default
policy, the number of binaries compiled PIE, and so on.
Note that this table is for the most common architectures, x86 and x86_64 only; other supported architectures may vary.
Starting with Red Hat Enterprise Linux 6 we have switched to using
SHA-256 signatures on all RPM packages and to a 4096-bit RSA signing
key.
We've done this because it is current best practice to migrate away from MD5
and SHA-1 hashes due to various flaws found in them. Those flaws don't yet
directly pose a threat to package signing however, and therefore our existing
shipped products which used these older hashes will continue to use their
existing keys until they reach their end of life.
A similar switch to stronger signing was
already made
in Fedora 11. This switch involved some changes to the RPM application.
So what this means is that we used new signing keys for both the beta and
final release packages for Red Hat Enterprise Linux 6. Those keys were created
and are protected by a hardware security
module, as we've done
with previous keys.
Also in the Red Hat Enterprise Linux 6 distribution we've started
to simplify the layout of the key files in
the /etc/pki/rpm-gpg/
directory:
RPM-GPG-KEY-redhat-beta : Both the old and new beta keys
RPM-GPG-KEY-redhat-release : Both the new signing key and the auxiliary key
RPM-GPG-KEY-redhat-legacy-release : The signing key used for EL5
RPM-GPG-KEY-redhat-legacy-former : The signing key used for products before EL5
RPM-GPG-KEY-redhat-legacy-rhx : The signing key used for RHX
The auxiliary key mentioned above is for emergency use. We created it some
time ago on a new standalone machine, took a hardcopy printout of the private
key and passphrase, stored them separately and securely, and destroyed the
software copies. We've planned for many eventualities, but in the unlikely
event we lose the ability to sign with the hardware key we could retrieve the
printout, type in the key, and continue to sign updates.
Hi! I'm Mark Cox. This blog gives my
thoughts and opinions on my security
work, open source, fedora, home automation,
and other topics.