This thread is a little "dead" but I feel that some enlightenment is required.
bugzillus wrote:As I do not see a relation between the scripting-oriented whitelisting of domains and the SSL access to these domains, nor an option to toggle this, I assume it a bug and kindly ask for a fix. Thanks
Whitelisting and SSL have a very important relationship. I wasn't aware of this feature
until I had a run-in with not being able to connect to a site. Though, once I became aware
I am amazed at how great a tool NoScript really is.
Onto the subject of SSL. When connecting through HTTPS two things are occurring,
one is verifying the identity of who your talking to and the second is encrypting the
communication. The important bit for NoScript is verifying the identity. Let's look
at an example.
Alice wants to talk to Bob, so she sends out a request to talk and ask for encryption.
Bob accepts and sends back his information. Alice verifies the identity information
Bob sent back and if it matches Bob's they start talking.
Now, again, without identification, Alice wants to talk to Bob, so she sends out a
request to talk and asks for encryption. Evil-Man sees this request and sends out
a response claiming to be Bob. Without any identity verification Alice will think
she's talking to Bob, but Evil-Man is actually receiving the data. This makes having
encryption pretty useless.
How does this apply to NoScript? Well, when you whitelist a script you're, presumably,
saying that "Script-A.js from example.com is safe and I want to run it" (doing all the
safety checks and whatnot). Without HTTPS / SSL then Evil-Man can send his own
version of Script-A.js claiming to be from example.com. From your end it looks like
Script-A.js was received from example.com and therefore NoScript will allow it to
run. You are now running Evil-Man's code.
--
Now, one thing I can think of to help mitigate this issue is to store a checksum for
each allowed script. That way if the received Script-A.js is different from the one
that was allowed the user can be notified and asked to reallow.
I don't know if NoScript implements checksumming. Although, it's key to remember
that checksums are not free, it'd introduce overhead.