SWT and Swing in the News, Again.Saturday, April 30, 2005It seams that the SWT vs. Swing is back in the news. Maybe it has never gone away but I have simply not noticed it as most of my work in the last year has either been doing packet inspection with C or simple scripting - aka no significant Java work. On the Thought: Gosling on SWT, "...Gosling says AWT == SWT. That's sort of true but less true than more. The big difference between the two is AWT is very much least-common-denominator across all platforms. SWT isn't. The other significant difference is AWT chose to hide the emulation layer in C. In other words, java.awt.Button is the same on all platforms, while the native peer differs on each platform. One of the consequences of this is porting is harder, some things are in Java, some aren't. It also makes for a larger footprint because a java.awt.Button has fields for it's size, bounds, etc that the OS also has...." It seams that the primary argument against Swing is that it is slow and not true to its host platform. It also seams that the primary strength of SWT is also its weakness as it has to maintain multiple native implementations for the same functionality. I came across an interesting article in OS News on a "SWT vs. Swing" which seams worth the read. "...over the relative merits of SWT and Swing." Of course you may want to see the OS news comments on the topic. I suspect I will be finding this topic of more interest if and when I start working on Java-based GUI applications more. I happen to like both Eclipse and NetBeans as Java development environments; even though gvim also works. Of course QT is also very impressive and may not be a bad choice at all for building cross-platform software which targets Windows, Mac, and BSD/Linux.
Posted by Frank Rietta at
11:42 PM
0 comments
links to this post
Part I: Introduction to SQL InjectionSaturday, April 23, 2005
This is Part I of a serialization of a paper I have written on the SQL Injection defenses. As portions of the paper are finished I will post them on this blog. Topics will include a discussion on access control, security models, classification of attacks, and intrusion detection techniques. Most SQL injection attacks are executed through an application that takes user-supplied input for query parameters. The attacker supplies carefully a crafted string to form a new query with results very different than what the application developer intended. For example, consider a script on a website that takes a search parameter to return selected results from a database. A very simple attack may be possible by simply providing something like “1 OR 1=1” in the text field which causes the SQL server to return all records from a particular table. An attacker can often gain access to anything available with the script's privileges, which in many cases is full access to one or more databases. While SQL injection attacks could be be executed against any application, web applications are the most commonly vulnerable since the attacker can easily explore a site for vulnerabilities without being caught or having to work through sophisticated network intrusion techniques as most prospective targets leave their website applications wide open. Firewalls and traditional network intrusion detection systems are useless against SQL injection since it is an application exploit that in most cases is indistinguishable from expected use. Some signature-based detection systems have been developed for web servers to protect vulnerable scripts from malicious input. However, these signature-based systems are inherently susceptible to evasion methods that take advantage of the expressiveness of the SQL language or alternate character encodings. Remarkably, writing scripts that are not vulnerable to SQL injection is as simple as passing all user-provided text through a string escaping function prior to use as a parameter in a SQL statement, but as past experience has shown, vulnerable scripts are everywhere to be found. SQL injection affects every database on every platform. Attacks can be used to gain information disclosure, to bypass authentication mechanisms, to modify the database, and to, in some cases, execute arbitrary code on the database server itself!
Posted by Frank Rietta at
11:04 AM
0 comments
links to this post
GTACM Elections SuccessWednesday, April 20, 2005I participated in the fourth election cycle for the Georgia Tech ACM. I am very glad we managed to elect new students for each of the positions. The new team can be seen at http://gallery.gtacm.org/election2005.
Posted by Frank Rietta at
7:13 PM
0 comments
links to this post
Symposium and Onward; SQL LintThursday, April 14, 2005The UROC symposium, which was basically a poster conference, went very well. It was very interesting to see all of the undergraduate research that had gone on - from quantum cellular automata (QCA) for nanocomputers to machine learning of simulated ant behavior. I was glad to get the feedback from the audience on the SQL Injection presentation and will continue to push to polish up the paper and set things up for the next stage of the work. One idea I want to look at further is coding standards for SQL and building a sort of lint for SQL traffic. We have coding standards for programming languages so there is no reason there should not be similar standards, that are checked for and enforced, for SQL.
Posted by Frank Rietta at
8:05 AM
0 comments
links to this post
Completing Preparation for UROC SymposiumTuesday, April 12, 2005I have several classes today but otherwise will be working to finish preparing for the UROC symposium tomorrow. I have been working on the SQL injection IDS project since last November and have come a long way since that point. The initial paper will serve as a guide for future work and is purposely formatted as a white paper instead of a conference paper. As a lot of text does not communicate efficiently in a symposium environment, much of my work today involves completely explanatory illustrations for anomaly models and basic pattern classification techniques, such as stemming a parse tree for basic SQL queries. Tomorrow is my first public research presentation so I am pretty excited about it. I will definitely have to work on fine-tunning my elevator talks so that I will be ready to explain the work to various people.
Posted by Frank Rietta at
9:11 AM
0 comments
links to this post
The Start of Something InterestingFriday, April 08, 2005
I have never seriously considered the prospect of creating a Blog, while I have been a frequent subscriber to a number of others. In fact it was only this morning that I realized that Blogger was actually a product of Google, which goes to show how little attention I have paid to it. However, I figure this is as good a place to start as any and makes starting a lot easier than setting up blog software on my own server. My intention with this space is to post information that interests me and that I think may interest others. While some of the information will be technical in nature and related to my work it does not “necessarily reflect the views and opinions” of the companies for which I work. This should be fun.
Posted by Frank Rietta at
8:44 AM
0 comments
links to this post
|
"Whenever you find a man who says he doesn't believe in a
real Right and Wrong, you will find the same man going back on this a moment later."
Recent Posts
ArchivesApril 2005 / May 2005 / June 2005 / July 2005 / August 2005 / November 2005 / April 2006 / June 2006 / August 2006 / September 2006 / November 2006 / December 2006 / January 2007 / January 2008 /
About MeI am a software developer who has been marketing on the internet since 1999. I hold an MS in Information Security from the Georgia Institute of Technology, from where I previously earned a BS in Computer Science in 2005. I ran an Atlanta-based web hosting business from 1999 until I sold it in 2005. |
Home | Product List | Privacy | Contact