Hi,
Die meisten nativen Browserplugins sind bestimmt nicht ohne Grund Closed Source ;)
Leider verstehen es die jeweiligen Hersteller der Plugins immernoch nicht, dass durch Obscurity eben keine Security erreicht werden kann.
Mozilla arbeitet zur Zeit wahrscheinlich genau deshalb an einer PDF-Alternative in JavaScript!
Den Code davon habe ich mir mal spaßeshalber runtergeladen und durch wc gejagt, mit folgendem Ergebnis:
mret@abakus ~/pdf.js/src $ wc -cl *.js utils/* images/*
716 24654 api.js
453 14225 bidi.js
1465 49988 canvas.js
119 6994 charsets.js
6948 510375 cidmaps.js
1367 76836 colorspace.js
590 19938 core.js
665 27100 crypto.js
1301 48656 evaluator.js
6775 239552 fonts.js
893 26851 function.js
4226 100243 glyphlist.js
464 16011 image.js
1078 39836 jbig2.js
1890 69663 jpx.js
97 3285 metadata.js
2961 57850 metrics.js
870 27843 obj.js
671 20673 parser.js
382 11482 pattern.js
32 1102 pdf.js
2363 81385 stream.js
723 21495 util.js
371 11301 worker.js
49 1250 worker_loader.js
312 5288 utils/cffStandardStrings.js
425 12974 utils/fonts_utils.js
41 3263 images/logo.svg
38247 1530113 total
Allein diese Implementierung ist also über eine Million Bytes groß und hat fast 40000 Codezeilen.
Das Ausmaß des selben Codes in Sprachen wie C oder C++ kann man ja abschätzen!
Ich sehe das Problem der Drive-by Downloads allerdings etwas gelassener als du - solange man mit eingeschaltetem NoScript||ScriptSafe surft und die jeweiligen Plug-ins per "Click to play" (im Chrome in den Standardeinstellungen zu finden, bei Firefox 17 unter about:config > plugins.click_to_play) sollte man auf der sicheren Seite sein.
Wenn du dich wirklich für Sicherheitesthemen interessierst, sei dir noch media.defcon.org empfohlen.
Dort findest du, meist sehr komödiantisch dargestellt, sehr viel Hintergrundwissen über diese Sachen.
Martin