Why are we still having buffer overflows? There's a compile option in Visual C++ that allows automatic buffer
overflow protection. Does GCC have this switch? If so, why not? And why are people not using this? We have enough processing
power on a typical PC to spend on these security such as this. Performance is not an excuse.
Looking further, this is an interesting example of the problems with monoculture. The BSD TCP/IP stack was copied for
Windows and Mac OSX - this is great, it saves a tonne of time but you also means you inherit the exact
same bugs as the BSD stack. This gives you an impression of how difficult it is to design secure operating system. If you
borrow code such as this, you have to make sure it's secure. You can't really do that without line by line analysis which is
unrealistic. In libraries the problem is especially accute. If you make a mistake in a well used library it could effect
hundreds of pieces of software, as we've seen here.
We can't modularise security either, like we can modularise functionality, because you can take two secure components and put them
together and get insecurity. Despite the grand claims people make about formal verification, even this isn't enough.
The problem with formal verification is that the abstraction of the language you're using to obtain your proof may not
adequately represent the way the compiler actually compiles the program. Besides, it's possible to engineer a compiler that deliberately
miscompiles itself such that it compiles programs with security flaws in it.
What i'm trying to say is that despite what the zealots say, achieving security in software is impossible.
The best we can do migitate the risk the best we can. The lesson to learn from security flaws such as this is that
while code-reuse is good for maintainability and productivity, for security it's not great. As always, security is a
trade-off and the trade-off here is whether we want to develop easy to maintain software quickly or whether we want to
run the risk of these exploits being exploited. Personally, I fall in the code-reuse camp.
Sure, the recording of the performance is still copyrighted, but aren't there any "free classical performers" out there?
Is this true? I thought copyright was only awarded to ORIGINAL work not performances of such works?
This article at wikipedia states that for one to claim Copyright over a work three basic criteria have to be satifisied: skill, originality and work.
While skill and work criteria are certainly satifisied, originality is not. I'm no legal expert but I expect that one can't claim copyright claim on these works.
People are willing to pay for such performances because they're otherwise hard to come by not because copying these pieces is illegal (although most people probably think it is).
Is google trying to be all things to all people? We've had this, the paypal clone, the rumored gbrowser etc.
I'm not saying you can't diversify your core business but if you try too many projects at once you risk being a jack of all trades but a master of none.
I'm starting to feel a hint of worry about the direction of Google.
This is why during the set-up of Longhorn it'd be a really cool idea to create all the accounts for the welcome screen,
or it's equivelent, as non-adminstrative users. In fact, it should go further than this,
it shouldn't give you the option of creating an administrative account at all on this screen.
The administrative user should be banned from internet access by default (with
the exception of Windows Update) and if you decide to add another administrive account it should warn you profusely that
this isn't a smart idea.
In.NET there are attributes that allow you to define permissions on methods. For example, if I know that my method only
ever does algebra then I can ban it from network IO, File IO etc. It'd be a good idea to make these attributes required before the source will actually compile. You could have intellisense in Visual Studio autogenerate the most restrictive settings whenever you create a new method.
Some security counter-measures can be really a pain in the ass but these couple i've mentioned here would really help bring windows security under control. Windows security is not bad, per se, it just needs more configuration than we can expect from Joe Sixpack. We need to make security easier for them and that's in everyones best interest, Microsoft included.
Let's debunk a few myths:
1)"I wouldn't have paid for it anyway, so it's not a lost sale"
OK, so let's say I go in to get my car's wheels rebalanced (or some other service). When they're done.. I just drive off without paying. Have I done anything wrong? Well, what if "I wouldn't have paid for it anyway"? So it's not a lost sale!
That's a really bad analogy. It's more like going to a porche dealership. Looking at their cars, deciding which one you want and then replicating it star-trek style.
It cost them absolutely nothing for you to replicate it. This hurts a company much less than physically stealing the car. The problem is how much does it really cost them?
The owners of intellectual property are not stupid, they probably have a rough figure for how much this costs them but the results are kept locked away from the public. The figures we see are almost certainly paid for by the PR budget.
Well, you can have two MP3s that sound the same even though they're different and you can have two jpegs that look the same even though they're different.
There's plenty of scope for changing the files, we only need to select roughly 128-bits in each file to message about with to drive a collision.
I agree with your suggestion to use Javascript over HTML to "disguise" the change.
There are 2^128 hashes and for a document of one megabyte there are 2^1048576 documents. That means that there are roughly 2^1048576/2^128 = 2^1048448 collisions for documents of the same size.
Factor in the fact that it take 2^64 time to *brute-force* a collision in MD5 and the fact that we now have an attack that can find any collision in minutes on a laptop then I'd say it's pretty reasonable that someone can do it.
As an amateur cryptographer, I must say that labeling these attacks as 'practically irrelevant' is at the very least misguided and at worst a shocking display of incompetence.
Stop the fixation with plain-text messages, most messages are not plain-text. Your average word document contains loads of invisible data that doesn't get rendered. Pdf's contain "junk" data that doesn't get rendered either. Would you notice a single bit difference in an MP3? Or a single pixel colour change in a jpeg? Hell, you can even do it in HTML <div style="visibility:hidden">Junk goes here</div>. Mark my words, people will find in the next couple of months find two meaningful computer documents that hash to the same value but are different byte-wise.
People undervalue these attacks because the attacker has to generate the collision before hand to use it. To properly appreciate the power of these attacks consider the following senario.
Imagine we're agreeing a contract of employement and I'm your employer. I give you the first word document that includes all the standard terms, however, I've also drafted a Word document that contains a load of draconian clauses like banning you from working in any IT position five years after leaving the company. By adding junk that doesn't render to both documents, I've managed to find to make the hash of the two documents collide. Thinking I'm a nice employer, you sign the first document, which you do by signing the hash of document. However, I now have your signature on BOTH documents. I now make sure the company IT system "forget" the first document and I've successfully screwed you.
This is a human example, but there are other examples that apply in computer systems. The problem is that in many situations the attacker can choose when you encrypt. Say you encrypt your e-mail conversation with your friend using S/MIME, many people click "Reply" and the message body of the other persons method appears in the new message. Because of these attacks, It's now no certainty that an attacker couldn't use this fact to construct collisions that an attacker could use.
As another security researcher said (paraphrased) It's like you're in building and you've just heard the fire alarm go off. You can't see smoke but it's time to make your way calmly to the exit. That sums up the position with SHA-1 and MD5. Swap out the primitives before you start seeing smoke.
It's not like we don't have alternatives anyway. Whirlpool uses the same wide-trail design principles has AES. It's slower than MD-5 or SHA-1 but it's much better designed. And beside, people would do well to realise you have to spend CPU cycles to get security.
Sorry, I simply don't agree. While people may be more inclined to develop for the mac platform when it's using the x86 architecture, let's not forget why people will be more inclined to develop for the mac; because it's easier to do.
People will be able to develop truly cross platform libraries more reliably, on which people will write applications which will work on all platforms. I find it exceedingly unlikely that a developer would choose to develop solely for apple, when for a little extra work they can cover Linux too.
I disagree with his slurs against open-office too. The bi-monthly preview versions of open-office 2.0 are very impressive, not only in terms of functionality but also in the quality of its interface. I'm sure there are arm-fulls of features present in Microsoft Office that are not there in open-office but do I really give a flying fuck?
It's not the total number of features that matters; it's whether the features I want to use are there that really counts. I'd bet that almost all of the Slashdot community have not used any of the new features in Microsoft Word since the release of Office 97. After Office 97 no real value was added to the office suite, so why should I have to upgrade every couple of years?
Microsoft force upgrades because you can't buy Office 97 licenses any more. When your company expands you have to get the brand-spanking-new licenses of office and then because of possibility of incompatibility between the two versions it becomes sensible to harmonize the licenses across your business and this invariably means buying loads of new licenses.
In contrast, Open-office has all the features I want to use and they're organized in an accessible way. I can always get an older copy of open office so the same expansion issues do not apply. I think if most companies could start over with their office suite, most would adopt open-office. What's stopping market penetration by open-office is the hidden cost of converting all the documents to the new format.
Is it hype or reality? I don't know, I write my own blog almost as a hobby; a nice pass time. I like to read the thoughts of others who enjoy the pass-time too. But I'm not so pretentious to think that blogging will "change the world" (tm).
It's nice that blogging has brought communities together and is replacing the lecturing of the old media (news papers and magazines) with the debate brought in new media (blogs).
When all is said and done, I think blogging is and will always be a nice pass time for the majority of people. Don't get me wrong, blogging is on the march and by no means has it reached it's destination. What I contend, is the final position of blogging within society; it will be somewhat different than people have come to expect.
As long as you do it in a standards compliant way, then isn't it a bit presumptious to decide how I decide to digest the information.
If I want to use Lynx to view your page, I will, if I want to apply my own java transforms on it I will.
Hell, if I want to print it out and use it as toilet paper, I will.
You seem to have the wrong way of thinking about this web lark.
Legally, of course, this is all wrong. The text and images you download from a web-site are subject to copyright automatically. Technically, your not even allowed to view the content without an license. And of course, the content provider could apply license terms that specifically prohibit these actions in their license if they wish.
This is why it's so important to either declare text on your blog/etc as public domain or use some creative commons style license. Freedom doesn't just apply to software.
This is one question I'm really not sure I have the answer to. Is doing it properly better in the long run. The problem with a hacked bug fix is that it stays a hacked bug fix forever. Period.
Evenutally, that hack becomes a trouble to maintain and I'd bet my bottom dollar that it then takes more time to remove the hack and rework it properly that it would have taken to fix it properly in the first place.
I suspect the reason Longhorn is taking so damned long is because this problem is just starting to pinch Microsoft. The "Just get the product out" mentality works for a while - but then all that extra complexity comes back and makes your life very hard.
My advice,
Hold out for the remaining weeks
of your notice then if he with-holds
your final pay-check file a law suit for breach
of contract to get the money he owes you.
I agree on your thinking on so-called "Intelligent Design," but I believe that atheism (while possibly correct) is itself a faith. How could one account for an omniscient, omnipotent god who does not wish to be found? Consider a fiction story that you write. Having created that "universe," you are its "god." If you didn't want the characters to be able to prove your existence, they would never be able to. One major benchmark for how much I respect someone's beliefs is how readily they admit "...but I might be wrong."
It's not about absolutely as such, with me, but probabilities. I am 99% sure in my own mind that a God does not exist, using the evidence I have available to me.
Like any rational person, I can't rule out the posibility that a God might exist in some form, but the chance of this God being the God as described in the Holy Bible (or the Quoran, the Torah, etc) is non-zero but vanishingly small. It seems typically arrogant of our race to assume that the creator of the universe would visit this spec of dust that earth is in such a huge universe.
As an aside, God can't be omnipotent or omniscient. Why? If God is omnipotent can he create a rock so heavy even it can't lift it? If he can, he's not omnipotent because he can't lift the rock. If he can't, he isn't omnipotent because he can't create such a rock.
God can't be omniscient for a much more technical reason. If x is the set of all knowledge ask God to consider the consequences of doing the actions in every subset of x. Since the result of this consideration must be a member of x this creates a one-to-one mapping between a set and its power-set. Something that we know is impossible. There's a lot of finer detail in this argument but that's the jist of it.
It's silly to dislike people for having religious belief. Most religious people are every bit as decent as their atheistic counterpart. The real problem is the institutions of faith. The Catholic church, for example, condeming condoms and spreading mis-information in Africa when proper use of condoms could literally save millions of lives.
When I hear of actions such as these, I often think the Church needs a quite period of reflection on whether it's actions are bringing it closer to God or closer to hell.
Fact 1. The universe is extremely intricate and complicated
Fact 2. We design things such as automobiles or aircraft that are intricate and complicated.
Which leads to the conclusion:
Conclusion 1: Everything that is intricate and complicated must have a designer.
Conclusion 2: Conclusion 1 indicates that the universe requires a designer.
Conclusion 3: God is that designer.
(Western) Conclusion 4: This designer is the God as described in the Holy Bible.
The real failure of the argument is in Conclusion 1. It amounts to saying "I have absolutely no idea why the universe is complicated, therefore God did it."
When a person studies physics, Conclusion 1 becomes even more untenable.
There are many very simple systems that give rise to very complex behaviour.
Consider the Newton-raphson method for finding roots of a polynomial. The method goes "pick somewhere close to the root and then start iterating and the iteration will take you to a root". If you're brighter than I was at school, you might have asked: "Okay, but how can I guess where the root is mathematically so I can start the process." The answer is far more http://www.chiark.greenend.org.uk/~sgtatham/newton/ ">complex than you think.
And besides, if Conclusion 1 is true then surely God is intricate and complicated and thus needed a designer.
To which the theist replies: "God doesn't need a designer, It's God". To which I respond: "If God doesn't need a designer, why does the universe? Why not just cut out God and proclaim that the universe is undesigned?
And there in is the true failing of intelligent design.
Another argument comes from the fact that the universe seems fine tuned to life. This a bit premature. First of all, we can't even show life is possible in our universe from first principles; that is, taking the complete set of the laws of physics and using it to simulate life at the atomic level on a super-computer. How can we be so sure life couldn't exist in some form with different laws of physics? My second objection is that we should expect life to depend heavily on physics.
As an example, the proteins that deal with the replication of DNA are quantum optimised, the speed at which they move down the DNA is the minimum allowed by quantum mechanics. There is also evidence that the machinary uses quantum mechanical tunnelling to halve the error rate during copying. I'd argue that the fact that life depends so heavily the laws of physics being exactly right
is a product of selection - there is a distinct advantage in exploiting the physics of the universe. In the begining of life, the instruments of life were probably a lot cruder.
As an atheist, I am alarmed when people try to mark religious belief as science. I don't mind you having religious belief, but if the US wants to remain a technological super-power you've got to make sure your children are taught cold, hard science.
By letting the cherrished beliefs of a few cloud the judgement of the youth on an entire nation, everbody loses out. As a scientist, I enjoy having
the key theories questioned but it becomes annoying when such a throughly discredited theory as Intelligent Design is peddled again and again without the proponents
bringing any new ideas to the table.
Well thank you captain obvious.. I've been doing this for years with ASP. Just load the contents of the listboxes into the Application object.
In ASP.NET you can even do cache invalidation when the database changes. Simply create an extended stored procedure that's fired when any of you update/insert producers run that write to the changed record ids to a Queue (using Microsoft's Messaging and Queuing service) then have a thread in the ASP.NET process that periodically check the queue for new messages and clear the values that have changed out of the cache.
Because the Queuing service works across networks it's a really neat way to provide scalabity in web applications - if you can't wait for SQL 2005 which will provide cache invalidation on database updates as standard.
Guru meditition Error: "An instance of professor could not be loaded due to a missing a critical library: empathy.lib."
Seriously, I could have applied that analysis to the the media of any century. People could have said that
about art in the 16th century, literature in the 19th century and television in the 20th century. Now it's the turn of
the new fangled 21st century media, the video game, to be label as "boring and non-progressive".
Wake up and smell the roses. In this world you don't have to be original to make money. If anything, you are penalised
for creating something original; daring to be different is often suicidal. This problem is even more accute in the software industry
where it can cost a lot more to produce a game that it does a crappy sit-com.
People like their media a lot like they like their sex: Non-adventurous but guarenteed to satisfy. (As a side note, slashdotters might disagree that people want "boring" sex I think the reality is
that most people grandstand on this issue; I'd wager that the majority of people feel comfortable having relativity boring sex).
Don't be fooled by Dvorak, the gaming industry is unlikely to implode. It just means that we'll appreciate the ground-breaking games more when they arrive.
How to shoot yourself in the foot in three easy steps.
Get annoyed at tiny web-site, which gets less than 400 hits a day, (Slashdot gets this traffic in 20 seconds.) which has the audacity to rubbish your brand-name.
Send cease and desist letter to owner of domain and ISP.
Finally, wait for the story to arrive in the main-stream where the site containing the slanderous speach is now linked to be all and sundry and the site now gets traffic upward of 20 hits a second.
<news>"Want some free music? Silly question, I know. But how about legally? That's exactly what RealNetworks is offering.</news>
<flamebait>You may remember RealNetworks from about ten years ago when it was one of the leaders in audio streaming technology.
After a decade of steaming becoming more widespread in both audience and medium, RealNetworks' RealPlayer has become an embarrassment
to even try installing. This, however, didn't stop them from jumping into the post-Napster song-swapping vacuum with their Rhapsody program.
I can't comment on how good Rhapsody is since I've never met anyone who used it. That probably says enough right there.</flamebait>
<news>In an attempt to rev-up their subscription-based music service, they are now resorting to giving away 25 songs each month. According to
RealNetworks chairman and chief executive Rob Glaser, "by having a free service that is legal, it flattens the issue of 'Why use an illegal service?'" </news>
<flamebait>Perhaps that logic would hold more weight if the universe of music contained only 25 songs."</flamebait>
I'm not interested in the opinion of the submitter, timothy, I just want the god-damn news. Yes Real media are an easy target but you
hurt the bloggers fight for acceptance as part of the media when you post stuff like this. Do you ever see the BBC saying "Real media is just crappy because I say it is?". I think not..
This won't work. Say each download has a different inaudible signature key inside the waveform. All I have to do is download it twice and compare the two files. I then set an bits to zero that are different in the two files.
There's a very high chance that i've totally destroyed the signature key by doing this.
Why should we care? There are lots of crypto algorithms out there, some of which, like the AES candidates, have been thoroughly beaten up by the community. Is there some weakness (esp. with Rijndael) that this addresses?
The only "weakness" in AES is that the transform is incomplete. Nobody has turned this into an attack and it's unlikely to become a source of attack.
I couldn't really tell which block modes were useful - CBC, counter-mode, etc. Is there anything different here than AES?
No, modes of operation are independent of the underlying block cipher.
How well does it parallelize - if you're trying to pump out maximum speed on something other than a discrete 8-bit chip, such as an array of cells in an FPGA or ASIC, does that work ok? Or is the answer simply "go use whichever standard operations mode you like, just as you would with AES or 3DES?
I've not read the details of the spec to be able to answer this question. Sorry:(
Is 128 bits long enough for both the key and the block? There was some discussions about originally trying to design for 256-bit keys, but cutting back to 128 for efficiency reasons. If making it fit onto an 8051 is part of your design criteria, that may be necessary, but many algorithms have some encryption modes that aren't as useful because of birthday attacks because the keys are too short.
This isn't really a concern. In order for birthday attacks to come about using CBC, or some other chaining mode, you'd have to encrypt around 2^64 blocks. The block is 128-bit long, which gives 2^4 * 2^64 = 2^68 bytes of encryption before the probabilities become an issue. If you're encrypting that much with a single key, you're insane.
You might think counter mode would help you avoid that problem, but alas, it does not. In a random stream you'd expect each group of 128-bits to be equally probable. With CTR, however, we know that each 128-bit block of the keystream will only be repeated after 2^128 encryptions. This fact allows you to distinquish CTR from random after around, you guessed it, 2^64 encryptions.
Oh btw, donate to Tom St Denis he writes a cool cryptolib.
This may have worked when IE was the only game in town, but now that Firefox is a serious player,
it won't help them keep market share as they think it will.
Don't count on it, sunshine. The reason IE is losing market share to Firefox is two fold.
The public perception of the IE's security has declined.
It's missing a lot of nice features such as: tabbed browsing, international domain names and a bunch of other stuff.
These are things that matter to the end user. If I'm joe-sixpack I don't give a damn about CSS 2.0 compliance. Hell, I probably
don't even know what CSS 2.0 is. The only person who actually cares are the people making the web-sites, and those people are us and in terms of
market share we typically sit at the one-percent noise level. To Microsoft, IE not being compatible with other browsers is a good thing. It means people have to design to their
feature set and not to the offical standards it simply means we can't ignore their platform.
So what can Firefox do to take out IE once and for all? It's actually rather simple. Do the thing that IE would never do.
Implement something as powerful as Windows Forms (or it's Linux equivelent). It's the thing Microsoft fears the most - that Javascript will evolve into something powerful enough
to be able to right a Microsoft Office clone in. As soon as this happens, then we suddenly have a platform independant version of office and that means we don't have to run Windows
anymore. In short, they can kiss Goodbye to their market share.
I'm not saying anything new here. Joel Spolsky has talked about this at great length in a very interesting article that i'm having trouble finding. We all know this day will come
it's just a question as to how long Microsoft can stall the process. This CSS 2.0 issue is a single battle in the war Microsoft is waging to prevent their demise.
Are we at the peak of Firefox adoption or is this the calm before the storm?
I would never want to see Firefox reach the level of dominance that Internet Explorer has reacher. Having a 90% market share leads inexorably to the stalling of innovation.
A much better position would be for there to be lots of browsers with around 15% market share. This would foster creativity and would hammer home the importance of standards compliance.
I want the days of the software monopoly to come to an end, and Firefox may be the a catalyst for the wide spread disintegration of such monopolies.
Why are we still having buffer overflows? There's a compile option in Visual C++ that allows automatic buffer overflow protection. Does GCC have this switch? If so, why not? And why are people not using this? We have enough processing power on a typical PC to spend on these security such as this. Performance is not an excuse.
Looking further, this is an interesting example of the problems with monoculture. The BSD TCP/IP stack was copied for Windows and Mac OSX - this is great, it saves a tonne of time but you also means you inherit the exact same bugs as the BSD stack. This gives you an impression of how difficult it is to design secure operating system. If you borrow code such as this, you have to make sure it's secure. You can't really do that without line by line analysis which is unrealistic. In libraries the problem is especially accute. If you make a mistake in a well used library it could effect hundreds of pieces of software, as we've seen here.
We can't modularise security either, like we can modularise functionality, because you can take two secure components and put them together and get insecurity. Despite the grand claims people make about formal verification, even this isn't enough. The problem with formal verification is that the abstraction of the language you're using to obtain your proof may not adequately represent the way the compiler actually compiles the program. Besides, it's possible to engineer a compiler that deliberately miscompiles itself such that it compiles programs with security flaws in it.
What i'm trying to say is that despite what the zealots say, achieving security in software is impossible. The best we can do migitate the risk the best we can. The lesson to learn from security flaws such as this is that while code-reuse is good for maintainability and productivity, for security it's not great. As always, security is a trade-off and the trade-off here is whether we want to develop easy to maintain software quickly or whether we want to run the risk of these exploits being exploited. Personally, I fall in the code-reuse camp.
Simon.
Sure, the recording of the performance is still copyrighted, but aren't there any "free classical performers" out there?
Is this true? I thought copyright was only awarded to ORIGINAL work not performances of such works?
This article at wikipedia states that for one to claim Copyright over a work three basic criteria have to be satifisied: skill, originality and work.
While skill and work criteria are certainly satifisied, originality is not. I'm no legal expert but I expect that one can't claim copyright claim on these works.
People are willing to pay for such performances because they're otherwise hard to come by not because copying these pieces is illegal (although most people probably think it is).
Simon.
Is google trying to be all things to all people? We've had this, the paypal clone, the rumored gbrowser etc.
I'm not saying you can't diversify your core business but if you try too many projects at once you risk being a jack of all trades but a master of none.
I'm starting to feel a hint of worry about the direction of Google.
Simon.
This is why during the set-up of Longhorn it'd be a really cool idea to create all the accounts for the welcome screen, or it's equivelent, as non-adminstrative users. In fact, it should go further than this, it shouldn't give you the option of creating an administrative account at all on this screen. The administrative user should be banned from internet access by default (with the exception of Windows Update) and if you decide to add another administrive account it should warn you profusely that this isn't a smart idea.
In .NET there are attributes that allow you to define permissions on methods. For example, if I know that my method only
ever does algebra then I can ban it from network IO, File IO etc. It'd be a good idea to make these attributes required before the source will actually compile. You could have intellisense in Visual Studio autogenerate the most restrictive settings whenever you create a new method.
Some security counter-measures can be really a pain in the ass but these couple i've mentioned here would really help bring windows security under control. Windows security is not bad, per se, it just needs more configuration than we can expect from Joe Sixpack. We need to make security easier for them and that's in everyones best interest, Microsoft included.
Simon.
Let's debunk a few myths: 1)"I wouldn't have paid for it anyway, so it's not a lost sale" OK, so let's say I go in to get my car's wheels rebalanced (or some other service). When they're done.. I just drive off without paying. Have I done anything wrong? Well, what if "I wouldn't have paid for it anyway"? So it's not a lost sale!
That's a really bad analogy. It's more like going to a porche dealership. Looking at their cars, deciding which one you want and then replicating it star-trek style.
It cost them absolutely nothing for you to replicate it. This hurts a company much less than physically stealing the car. The problem is how much does it really cost them?
The owners of intellectual property are not stupid, they probably have a rough figure for how much this costs them but the results are kept locked away from the public. The figures we see are almost certainly paid for by the PR budget.
Simon
Well, you can have two MP3s that sound the same even though they're different and you can have two jpegs that look the same even though they're different.
There's plenty of scope for changing the files, we only need to select roughly 128-bits in each file to message about with to drive a collision.
I agree with your suggestion to use Javascript over HTML to "disguise" the change.
Simon.
There are 2^128 hashes and for a document of one megabyte there are 2^1048576 documents. That means that there are roughly 2^1048576/2^128 = 2^1048448 collisions for documents of the same size.
Factor in the fact that it take 2^64 time to *brute-force* a collision in MD5 and the fact that we now have an attack that can find any collision in minutes on a laptop then I'd say it's pretty reasonable that someone can do it.
Simon.
As an amateur cryptographer, I must say that labeling these attacks as 'practically irrelevant'
is at the very least misguided and at worst a shocking display of incompetence.
Stop the fixation with plain-text messages, most messages are not plain-text. Your average word document
contains loads of invisible data that doesn't get rendered. Pdf's contain "junk" data that doesn't get rendered either. Would
you notice a single bit difference in an MP3? Or a single pixel colour change in a jpeg? Hell, you can even do it in HTML <div style="visibility:hidden">Junk goes here</div>.
Mark my words, people will find in the next couple of months find two meaningful computer
documents that hash to the same value but are different byte-wise.
People undervalue these attacks because the attacker has to generate the collision before hand to use it.
To properly appreciate the power of these attacks consider the following senario.
Imagine we're agreeing a contract of employement and I'm your employer.
I give you the first word document that includes all the standard terms, however, I've also drafted
a Word document that contains a load of draconian clauses like banning you from working in any IT position five years
after leaving the company. By adding junk that doesn't render to both documents, I've managed to find to make the hash
of the two documents collide. Thinking I'm a nice employer, you sign the first document, which you do by signing the hash of
document. However, I now have your signature on BOTH documents. I now make sure the company IT system "forget" the first document
and I've successfully screwed you.
This is a human example, but there are other examples that apply in computer systems. The problem is that in many situations
the attacker can choose when you encrypt. Say you encrypt your e-mail conversation with your friend using S/MIME, many people click
"Reply" and the message body of the other persons method appears in the new message. Because of these attacks,
It's now no certainty that an attacker couldn't use this fact to construct collisions that an attacker could use.
As another security researcher said (paraphrased) It's like you're in building and you've just heard the fire alarm go off.
You can't see smoke but it's time to make your way calmly to the exit. That sums up the position with SHA-1 and MD5. Swap out the primitives
before you start seeing smoke.
It's not like we don't have alternatives anyway. Whirlpool uses the same wide-trail design principles has AES. It's slower than MD-5 or SHA-1 but it's much better designed. And beside, people would do well to realise you have to spend CPU cycles to get security.
Simon.
Sorry, I simply don't agree. While people may be more inclined to develop for the mac platform when it's using the x86 architecture, let's not forget why people will be more inclined to develop for the mac; because it's easier to do.
People will be able to develop truly cross platform libraries more reliably, on which people will write applications which will work on all platforms. I find it exceedingly unlikely that a developer would choose to develop solely for apple, when for a little extra work they can cover Linux too.
I disagree with his slurs against open-office too. The bi-monthly preview versions of open-office 2.0 are very impressive, not only in terms of functionality but also in the quality of its interface. I'm sure there are arm-fulls of features present in Microsoft Office that are not there in open-office but do I really give a flying fuck?
It's not the total number of features that matters; it's whether the features I want to use are there that really counts. I'd bet that almost all of the Slashdot community have not used any of the new features in Microsoft Word since the release of Office 97. After Office 97 no real value was added to the office suite, so why should I have to upgrade every couple of years?
Microsoft force upgrades because you can't buy Office 97 licenses any more. When your company expands you have to get the brand-spanking-new licenses of office and then because of possibility of incompatibility between the two versions it becomes sensible to harmonize the licenses across your business and this invariably means buying loads of new licenses.
In contrast, Open-office has all the features I want to use and they're organized in an accessible way. I can always get an older copy of open office so the same expansion issues do not apply. I think if most companies could start over with their office suite, most would adopt open-office. What's stopping market penetration by open-office is the hidden cost of converting all the documents to the new format.
Simon.
Is it hype or reality? I don't know, I write my own blog almost as a hobby; a nice pass time. I like to read the thoughts of others who enjoy the pass-time too. But I'm not so pretentious to think that blogging will "change the world" (tm).
It's nice that blogging has brought communities together and is replacing the lecturing of the old media (news papers and magazines) with the debate brought in new media (blogs).
When all is said and done, I think blogging is and will always be a nice pass time for the majority of people. Don't get me wrong, blogging is on the march and by no means has it reached it's destination. What I contend, is the final position of blogging within society; it will be somewhat different than people have come to expect.
Simon.
Your serving the webpage to me.
As long as you do it in a standards compliant way, then isn't it a bit presumptious to decide how I decide to digest the information.
If I want to use Lynx to view your page, I will, if I want to apply my own java transforms on it I will.
Hell, if I want to print it out and use it as toilet paper, I will.
You seem to have the wrong way of thinking about this web lark.Legally, of course, this is all wrong. The text and images you download from a web-site are subject to copyright automatically. Technically, your not even allowed to view the content without an license. And of course, the content provider could apply license terms that specifically prohibit these actions in their license if they wish.
This is why it's so important to either declare text on your blog/etc as public domain or use some creative commons style license. Freedom doesn't just apply to software.
Simon
This is one question I'm really not sure I have the answer to. Is doing it properly better in the long run. The problem with a hacked bug fix is that it stays a hacked bug fix forever. Period.
Evenutally, that hack becomes a trouble to maintain and I'd bet my bottom dollar that it then takes more time to remove the hack and rework it properly that it would have taken to fix it properly in the first place.
I suspect the reason Longhorn is taking so damned long is because this problem is just starting to pinch Microsoft. The "Just get the product out" mentality works for a while - but then all that extra complexity comes back and makes your life very hard.
Simon.
My advice, Hold out for the remaining weeks of your notice then if he with-holds your final pay-check file a law suit for breach of contract to get the money he owes you.
Simon
I agree on your thinking on so-called "Intelligent Design," but I believe that atheism (while possibly correct) is itself a faith. How could one account for an omniscient, omnipotent god who does not wish to be found? Consider a fiction story that you write. Having created that "universe," you are its "god." If you didn't want the characters to be able to prove your existence, they would never be able to. One major benchmark for how much I respect someone's beliefs is how readily they admit "...but I might be wrong."
It's not about absolutely as such, with me, but probabilities. I am 99% sure in my own mind that a God does not exist, using the evidence I have available to me.
Like any rational person, I can't rule out the posibility that a God might exist in some form, but the chance of this God being the God as described in the Holy Bible (or the Quoran, the Torah, etc) is non-zero but vanishingly small. It seems typically arrogant of our race to assume that the creator of the universe would visit this spec of dust that earth is in such a huge universe.
As an aside, God can't be omnipotent or omniscient. Why? If God is omnipotent can he create a rock so heavy even it can't lift it? If he can, he's not omnipotent because he can't lift the rock. If he can't, he isn't omnipotent because he can't create such a rock.
God can't be omniscient for a much more technical reason. If x is the set of all knowledge ask God to consider the consequences of doing the actions in every subset of x. Since the result of this consideration must be a member of x this creates a one-to-one mapping between a set and its power-set. Something that we know is impossible. There's a lot of finer detail in this argument but that's the jist of it.
It's silly to dislike people for having religious belief. Most religious people are every bit as decent as their atheistic counterpart. The real problem is the institutions of faith. The Catholic church, for example, condeming condoms and spreading mis-information in Africa when proper use of condoms could literally save millions of lives.
When I hear of actions such as these, I often think the Church needs a quite period of reflection on whether it's actions are bringing it closer to God or closer to hell.
Simon.
Intelligent design essentially reduces to this:
Fact 1. The universe is extremely intricate and complicated
Fact 2. We design things such as automobiles or aircraft that are intricate and complicated.
Which leads to the conclusion:
Conclusion 1: Everything that is intricate and complicated must have a designer.
Conclusion 2: Conclusion 1 indicates that the universe requires a designer.
Conclusion 3: God is that designer.
(Western) Conclusion 4: This designer is the God as described in the Holy Bible.
The real failure of the argument is in Conclusion 1. It amounts to saying "I have absolutely no idea why the universe is complicated, therefore God did it." When a person studies physics, Conclusion 1 becomes even more untenable. There are many very simple systems that give rise to very complex behaviour. Consider the Newton-raphson method for finding roots of a polynomial. The method goes "pick somewhere close to the root and then start iterating and the iteration will take you to a root". If you're brighter than I was at school, you might have asked: "Okay, but how can I guess where the root is mathematically so I can start the process." The answer is far more http://www.chiark.greenend.org.uk/~sgtatham/newton / ">complex than you think.
And besides, if Conclusion 1 is true then surely God is intricate and complicated and thus needed a designer. To which the theist replies: "God doesn't need a designer, It's God". To which I respond: "If God doesn't need a designer, why does the universe? Why not just cut out God and proclaim that the universe is undesigned? And there in is the true failing of intelligent design.
Another argument comes from the fact that the universe seems fine tuned to life. This a bit premature. First of all, we can't even show life is possible in our universe from first principles; that is, taking the complete set of the laws of physics and using it to simulate life at the atomic level on a super-computer. How can we be so sure life couldn't exist in some form with different laws of physics? My second objection is that we should expect life to depend heavily on physics. As an example, the proteins that deal with the replication of DNA are quantum optimised, the speed at which they move down the DNA is the minimum allowed by quantum mechanics. There is also evidence that the machinary uses quantum mechanical tunnelling to halve the error rate during copying. I'd argue that the fact that life depends so heavily the laws of physics being exactly right is a product of selection - there is a distinct advantage in exploiting the physics of the universe. In the begining of life, the instruments of life were probably a lot cruder.
As an atheist, I am alarmed when people try to mark religious belief as science. I don't mind you having religious belief, but if the US wants to remain a technological super-power you've got to make sure your children are taught cold, hard science. By letting the cherrished beliefs of a few cloud the judgement of the youth on an entire nation, everbody loses out. As a scientist, I enjoy having the key theories questioned but it becomes annoying when such a throughly discredited theory as Intelligent Design is peddled again and again without the proponents bringing any new ideas to the table.
Simon
Well thank you captain obvious.. I've been doing this for years with ASP. Just load the contents of the listboxes into the Application object.
In ASP.NET you can even do cache invalidation when the database changes. Simply create an extended stored procedure that's fired when any of you update/insert producers run that write to the changed record ids to a Queue (using Microsoft's Messaging and Queuing service) then have a thread in the ASP.NET process that periodically check the queue for new messages and clear the values that have changed out of the cache.
Because the Queuing service works across networks it's a really neat way to provide scalabity in web applications - if you can't wait for SQL 2005 which will provide cache invalidation on database updates as standard.
Simon.
Guru meditition Error: "An instance of professor could not be loaded due to a missing a critical library: empathy.lib."
Seriously, I could have applied that analysis to the the media of any century. People could have said that about art in the 16th century, literature in the 19th century and television in the 20th century. Now it's the turn of the new fangled 21st century media, the video game, to be label as "boring and non-progressive".
Wake up and smell the roses. In this world you don't have to be original to make money. If anything, you are penalised for creating something original; daring to be different is often suicidal. This problem is even more accute in the software industry where it can cost a lot more to produce a game that it does a crappy sit-com.
People like their media a lot like they like their sex: Non-adventurous but guarenteed to satisfy. (As a side note, slashdotters might disagree that people want "boring" sex I think the reality is that most people grandstand on this issue; I'd wager that the majority of people feel comfortable having relativity boring sex).
Don't be fooled by Dvorak, the gaming industry is unlikely to implode. It just means that we'll appreciate the ground-breaking games more when they arrive.
Simon.
How to shoot yourself in the foot in three easy steps.
Simon.
<news>"Want some free music? Silly question, I know. But how about legally? That's exactly what RealNetworks is offering.</news>
<flamebait>You may remember RealNetworks from about ten years ago when it was one of the leaders in audio streaming technology. After a decade of steaming becoming more widespread in both audience and medium, RealNetworks' RealPlayer has become an embarrassment to even try installing. This, however, didn't stop them from jumping into the post-Napster song-swapping vacuum with their Rhapsody program. I can't comment on how good Rhapsody is since I've never met anyone who used it. That probably says enough right there.</flamebait>
<news>In an attempt to rev-up their subscription-based music service, they are now resorting to giving away 25 songs each month. According to RealNetworks chairman and chief executive Rob Glaser, "by having a free service that is legal, it flattens the issue of 'Why use an illegal service?'" </news>
<flamebait>Perhaps that logic would hold more weight if the universe of music contained only 25 songs."</flamebait>
I'm not interested in the opinion of the submitter, timothy, I just want the god-damn news. Yes Real media are an easy target but you hurt the bloggers fight for acceptance as part of the media when you post stuff like this. Do you ever see the BBC saying "Real media is just crappy because I say it is?". I think not..
Simon.
This won't work. Say each download has a different inaudible signature key inside the waveform. All I have to do is download it twice and compare the two files. I then set an bits to zero that are different in the two files.
There's a very high chance that i've totally destroyed the signature key by doing this.
Simon.
Will the /. editors stop posting flamebait articles?
Simon.
It's absolutely essential that we have an open source Voice/IP application that implements the security properly.
I don't trust commerical companies to keep my calls encrypted and not sell my conversations to the government at the first available moment.
We need P2P software designed by the community to provide us with some real security.
Simon.
Why should we care? There are lots of crypto algorithms out there, some of which, like the AES candidates, have been thoroughly beaten up by the community. Is there some weakness (esp. with Rijndael) that this addresses?
The only "weakness" in AES is that the transform is incomplete. Nobody has turned this into an attack and it's unlikely to become a source of attack.I couldn't really tell which block modes were useful - CBC, counter-mode, etc. Is there anything different here than AES?
No, modes of operation are independent of the underlying block cipher.How well does it parallelize - if you're trying to pump out maximum speed on something other than a discrete 8-bit chip, such as an array of cells in an FPGA or ASIC, does that work ok? Or is the answer simply "go use whichever standard operations mode you like, just as you would with AES or 3DES?
I've not read the details of the spec to be able to answer this question. Sorry :(
Is 128 bits long enough for both the key and the block? There was some discussions about originally trying to design for 256-bit keys, but cutting back to 128 for efficiency reasons. If making it fit onto an 8051 is part of your design criteria, that may be necessary, but many algorithms have some encryption modes that aren't as useful because of birthday attacks because the keys are too short.
This isn't really a concern. In order for birthday attacks to come about using CBC, or some other chaining mode, you'd have to encrypt around 2^64 blocks. The block is 128-bit long, which gives 2^4 * 2^64 = 2^68 bytes of encryption before the probabilities become an issue. If you're encrypting that much with a single key, you're insane.
You might think counter mode would help you avoid that problem, but alas, it does not. In a random stream you'd expect each group of 128-bits to be equally probable. With CTR, however, we know that each 128-bit block of the keystream will only be repeated after 2^128 encryptions. This fact allows you to distinquish CTR from random after around, you guessed it, 2^64 encryptions.
Oh btw, donate to Tom St Denis he writes a cool cryptolib.
Simon.
This may have worked when IE was the only game in town, but now that Firefox is a serious player, it won't help them keep market share as they think it will.
Don't count on it, sunshine. The reason IE is losing market share to Firefox is two fold.
These are things that matter to the end user. If I'm joe-sixpack I don't give a damn about CSS 2.0 compliance. Hell, I probably don't even know what CSS 2.0 is. The only person who actually cares are the people making the web-sites, and those people are us and in terms of market share we typically sit at the one-percent noise level. To Microsoft, IE not being compatible with other browsers is a good thing. It means people have to design to their feature set and not to the offical standards it simply means we can't ignore their platform.
So what can Firefox do to take out IE once and for all? It's actually rather simple. Do the thing that IE would never do. Implement something as powerful as Windows Forms (or it's Linux equivelent). It's the thing Microsoft fears the most - that Javascript will evolve into something powerful enough to be able to right a Microsoft Office clone in. As soon as this happens, then we suddenly have a platform independant version of office and that means we don't have to run Windows anymore. In short, they can kiss Goodbye to their market share.
I'm not saying anything new here. Joel Spolsky has talked about this at great length in a very interesting article that i'm having trouble finding. We all know this day will come it's just a question as to how long Microsoft can stall the process. This CSS 2.0 issue is a single battle in the war Microsoft is waging to prevent their demise.
Simon.
Are we at the peak of Firefox adoption or is this the calm before the storm?
I would never want to see Firefox reach the level of dominance that Internet Explorer has reacher. Having a 90% market share leads inexorably to the stalling of innovation.
A much better position would be for there to be lots of browsers with around 15% market share. This would foster creativity and would hammer home the importance of standards compliance.
I want the days of the software monopoly to come to an end, and Firefox may be the a catalyst for the wide spread disintegration of such monopolies.
Simon.