Note: This content is accessible to all versions of every browser. However, this browser may not support basic Web standards, preventing the display of our site's design details. We support the mission of the Web Standards Project in the campaign encouraging users to upgrade their browsers.
Thursday, August 04, 2005 13:39 // Portland, Oregon, US // href
The main problem with security scanners is that they produce a lot of false positives. If you work with a closed source tool there is no way for you to figure out where the false positives come from. With OSS tools these issues can be resolved easily.
Penetration Methodology
a) Discovery stage with whois, traceroute, google
b) Scanning to figure out which boxes exist
c) Service enumeration (service identification and banner grabbing) do not get confused by services running on the wrong port
d) Exploit known vulnerabilities if you can identify versions of services.
e) Install rootkits and log cleaning tools
Obviously only steps a) to c) are executed by security testing companies.
Google as Security tool
Google does not discriminate private information. Often you can find xsl and doc files in google which had not been put there intentionally.
Another great resource are Webserver directories without index files.
Error messages also get indexed by google. Especially php apps are very helpful in this respect, revealing lots of internal information like path and file names.
Webcams use standard file names, so if you search for these strings you can easily find lots of them.
If you find htpasswd files via google you can pull them, crack the passwords using john and then try password user name combinations on yahoo, google, hotmail. Since users often reuse user names and passwords, these things have a high probability of being successful.
The biggest advantage of google though, is that doing google queries is anonymous and will not be detected by the target.
For greater efficiency one could write a script that uses google webservice apis for automatically doing interesting queries in connection with a certain target.
Nessus
The coolest thing about nessus is that it is very easily extensible. It comes with its own optimized scripting language NASL. The advantage to writing NASL scripts as opposed to writing them in a random scripting language is that NASL scripts plug right into the comprehensive Nessus user interface.
SQL Injections for Web applications
Many web application have only rudimentary input validation.
$sql = " select * from users where user'$a' and password '$b' "
how about trying to login with
' or true
This would end up as
select * from users where user'ddd' and password '' or true;
The possibilities are limitless. By adding a '; you could even start a completely new command.
Absinthe from (0x90.org ...) is a tool that tries to automate these attacks.
Tools
Metasploit is a point click root tool (metasploit.com ...)
Wikto is an automated google enabled website vulnerability scanner (www.sensepost.com ...)
Ettercap Network MITM attacks, content filtering, sniffing, etc: (ettercap.sourceforge.net < ...)
Whax is live linux distro with lots of AampP tools (iwhax.net < ...)
Thursday, August 04, 2005 11:36 // Portland, Oregon, US // href
by Jorand Hubbard and Kevin van Vechten (from Apple)
All OpenDarwin sources are on-line and Google indexed.
One of the most prominent component is (webkit.opendarwin.org ...) the rendering component used in Safari.
If you want to put other OSS software onto your mac go to (darwinports.opendarwin.org ...) which is similar to freebsd ports. Use this to build software from source. If you want to get pre-built packages have a look at (fink.sourceforge.net ...)
OS X ships with many different version of gcc ... use gcc_select to switch the default compiler.
When building Darwin Kernel components, note that while Tiger ships with gcc-4.0 the kernel and its tools are compiled with gcc-3.3. Kernel compilation is governed by a number of environment variables which you have to set explicitly prior to compilation. There are also a number of missing header files.
To resolve all the potential problems you might run into when building Darwin components you may want to use the DarwinBuild Environment from (opendarwin.org ...)
With the darwinbuild command you can easily download and rebuild individual components of the OSX System.
If you are into hacking, OSX you will find all the normal communications from apple rather fluffy. This has mainly todo with the standard audience for this kind of material. Make sure you subscribe to the mailinglists for opendarwin, since all the important and knowledgeable tech people (from apple) are there too and you should be able to get answers at a high technical level. Also if you find a problem, make sure you do file a bug with apples bugreporting system. These bugreports go directly to the responsible technical people within apple.
Thursday, August 04, 2005 08:35 // Portland, Oregon, US // href
Nick Gall and IT Analyst
Nick talks about how to design an architecture that is sustainable over the long term? The secret of sustainable architectures is that they are using simple protocols that enable extensibility above as well and below. Simple and successful applications are identified by three properties.
identifier format protocol
------------ -------------- ---------------------
examples ip address ip packet ip protocol
email @ address rfc 2822 SMTP
web URL HTML/MIME HTTP
Web Service URI SOAP SOAP Processing Model
Containerized
Shipping Container ID 20t Container Porthandling Protocol
David Heinemeier Hansson from 37signals
David talks about the "Secrets behind Ruby on Rails". Ruby on Rails is a integrated stack of web-applications frameworks. Basically a framework of frameworks that makes the Webapplication developers lifes fun.
Rails has sparked a huge interest in Ruby for Webapplication development since its publications. There are currently 7 books on Rails in the works and the first one is already published.
The three guiding principles behind Rails design and thus its success are:
Convention over Configuration - As long as you follow the golden path, Rails does things automatically. This results in less code and faster development. You only have to add explicit configuration information when you deviate from the golden path.
Change is instant - This allows a "Use it, break it, fix it, trash it, change it" work pattern. There is no compilation, deployment, server-restarts, and code-generation. This is mainly due to Rubies excellent introspection and open classes that can be extended and modified from user code.
Rails ships as a complete, integrated and familiar stack - this means once you have installed rails, it will start working right away and take care of all the tires of a web application.
Flexibility is highly overrated. Rails trades flexibility for ease of use.
Constraints are liberating! Because you do not have to think about it and take the decisions on your own.
Katik Subbarao from HP
He takes inspiration from the four elements and compares OpenSource to "Water" and closed source to "Earth". Water flows everywhere and is transparent. Earth is solid, opaque and it has to be transported explicitly from one place to another. He draws a 4 quadrant graph:
Earth ^ | | Desert | Venice | | | ------------------------- | | | Swamp | Ocean | | ----------------------------gt Water
You should aim to be in Venice with your IT organization. Buy and build your environment, taking the best from both worlds and become part of the eco system. Contract OpenSource developers to add the Features you need and pay them for support. This will give you contract security and OpenSource transparency at the same time.
Robert Lang on Computational Origami
Today origami designs are created with specialized computer software. Lang showcases spectacular dasigns, all done from a single sheet of paper without cutting. (www.origamidatabase.com ...) and (www.langorigami.com ...)
Dick Hardt from sxip
Dick has a exceptional presentation style. While showing about 10 slides a second he completely captures the audiences attention. See it to believe it.
Dick makes a case for Identity2.0, an electronic equivalent to drivers license, passport, national identity cards to enable Web2.0. Currently you have to register on every website seperately, and most of them rely only on your eMail for identification.
There are several solutions for this in the works, but nothing is widely accepted. Dick predicts that only a solution which leaves control with the individual (I choose whom I show my ID, and the state will never know whom I showed it to) will have a chance.
Wednesday, August 03, 2005 17:25 // Protland, Oregon, US // href
by David Heinemeier Hansen
Rails is a Ruby based Webapp framework that came out of the development of Basecamp. Basecamp is a commercial Web based project management software written by (www.37signals.com ...)
Davids idea when designing rails was to pull out the good ideas from other languages and platforms into a context adapted to small resources available to David at 37signals (0.25 programmers and 1 designer).
Instead of designing the framework before writing Basecamp, David decided to write Rails by creating a method of extracting the framework from Basecamp. So instead of making assumptions about what he would need in the future, he writes Rails in parallel with Basecamp. He calls this application driven development.
How to be successful with an OpenSource project:
Be visible. If no one cares for your OOS project you could as well not "opensource" it, since the cost for publishing will never be recovered.
Release only once the culture of the project is fairly set, so that new influences through new users will not bend the project out of shape. Make sure you can handle the contributions and bug reports from your users.
Increase your visibility by taking on the 'leader-of-the-pack' be careful about aggressiveness though, since if you are aggressive towards others, you will also attract aggressive people to your project.
Wednesday, August 03, 2005 16:30 // Portland, Oregon, US // href
by Mike Shaver
Extensions for Firefox do everything from Add-Blocking to on the fly Website alteration with GreaseMonkey.
Extensions are composed of 4 elements. A manifest, Chrome (user interface components), Components (non-ui), Default settings.
If Extensions are popular and non intrusive to people who do not use them, they may get integrated into the default firefox.
User interface components are written in XUL, the same xml language Firefox uses for its own UI. XUL can insert new elements into the browser UI, it can add and alter attributes of existing UI elements and it even remove elements completely.
The best way to learn about writing extensions is to take a simple existing extension apart and modify it. Extensions are stored in .xpi files, these are just simple zip files with their file name extension changed. Unzip the file and off you go.
Extension writing in Firefox 1.5 was much simplified, so if you are starting out now, you may want to use the current firefox 1.5 snapshots (deer park) for development.
When you have created a usefull extension upload it to (addons.mozilla.org ...)
Analytical tools for extension writers: DOM Inspector, Venkman the JavaScript debugger.
Links
Books are ok as well, but things evolve, so while the base concepts are all the same you may have to adapt paths and node names to work with current versions of FireFox.
Wednesday, August 03, 2005 11:34 // Portland, Oregon, USA // href
by Brian Ingerson
Online (www.kwiki.org ...)
Pugs is just another CPAN module but it is a fully working Perl 6 interpreter. Pugs is implemented in Haskell which is a purely functional language.
Currently there are about 100 people with commit access to pugs and it is growing at a startling rate.
If you want to help with perl6 you do not need to know haskell, since a lot of code these days is written in perl6 already.
Wednesday, August 03, 2005 10:45 // Portland, Oregon // href
by Damian Conway and Larry Wall
We are almost there, yet! Despite the naysayers. We are close to finishing the design of the language that was never going to be finished. We are close to finishing the implementation of the language that was never going to be implemented.
What is new in Perl 6
Strict and use warnings are always on
No strict refs necessary since the language use a different syntax
No strict subs since Perl6 has no barewords
No raw assignments in conditionals. Since there is a new operator for that.
if ($a = max()){...} becomes if (max() -gt $a) { ...}
String interpolation is much simpler. No more problems with user@address.ch still there are many more sensible interpolation possible with the new syntax. The most simple approach is to add braces in a string their contents will be executed as perl code.
say "The current time is {localtime}";
Every scalar has a method to sprintf it ...
$score.as('%6.2f')
%hash.as('%-10s %2f',"\n");
Single quotes can be modified with 'adverbs' to interpolate some things.
The heredoc syntax has been modified to
print q:to/END/ blablbalb END
Note that the indation of the END marker specifies the left margin of the heredoc.
Indexkeys do not auto quote
%hash{larry}
would call the larry function. Now use
%hashltlarrygt
for autoquoted keys. This creates a problem with filehandles. Use this instead
while $fh.shift() {...}
or rather with the unarry iterator operator
while =$fh {...}
this operation is lazy, so you can use
for =$fh {...}
and
while (ltgt) {...} becomes while =$ARGS {...}
or rather
while =ltgt {...}
aka the fish operator. Filehandles automatically chomp any input.
In Perl6 every object has a perl() method that produces a perl representation of the data structure.
say $file.perl()
no more Data::Dumper.
There is a new reduction operator
$dot_prod = [+] @vec1 gtgt*ltlt @vec2
Perl6 has much better introspection capabilities via question referents
$?SUBNAME $?LABEL @?LABEL
The tell about almost any aspect of perls run-time as well as compile-time environment.
Play with Perl6 today, try pugs.
Wednesday, August 03, 2005 08:34 // Portland, Oregon, USA // href
Tim O'Reilly
While many building blocks of software are now freely available (OS, database, web servers, browsers, ...) there is a growing number web based applications that take a more and more important role in everyday life that are not open at all. What about google-maps, what if google changes it APIs and you built a business on google maps?
The next wave of big applications will be web integration apps that pull data from existing websites and integrate, filter, consolidate it in new and interesting ways.
Kim Poleses of SpikeSource
She talks about the trend from "Do it yourself" to "Do it together" in OpenSource. We are moving from an EGO system to an ECO system with OpenSource makeing DIY-IT possible. Today, traditional companies start putting OpenSource tools into their business critical applications. IT organizations start putting packages together from a large number of OSS components. The challenge is that these components are all on different release schedules. The bigger the packages get, the more resources have to be invested into keeping these packages tested and up-to-date as new features are added. These custom software packages/stacks have become a competitive advantage for these companies, so they are going to stay. The problem the companies are facing is, that they have to become their own software company with its own testing, release system and everything a normal software vendor does. This costs a lot of money and thus opens new business opportunities for a new kind of service companies. They supply services where companies can offload part of their work in creating and maintaining their own software stack.
SpikeSource is specializing in OpenSource testing. They offer software testing services to companies, but also free testing resources to OpenSource developers.
Andrew Morton, Kernel Integrator with OSDL
How will Linux succeed on the Desktop? It will happen in the same way it worked with other OSS things, they are creeping from the bottom up along the food chain. Do not expect Linux taking the Windows Powerusers desktops by storm. These are the most difficult people to cater for, but they are not the majority, even though they can be very vocal. Linux is in use on many special purpose desktops today: Point-of-sales, trading floor, data entry. As companies see Linux working well in these specialized applications the interest in using Linux on more general purpose desktop applications will grow.
Content © by Tobias Oetiker