Hay mucha variabilidad en SSL / TLS ; por ejemplo, cuando los datos deben enviarse, se dividen en uno o varios registros, y la implementación es libre de elegir el tamaño de cada registro según lo considere conveniente (dentro de las restricciones de tamaño estándar). Las implementaciones modernas, en particular, tienden a hacer algunos registros muy cortos (con 0 o 1 byte de datos de aplicación) como protección contra el ataque BEAST. Además, cada implementación admite solo un subconjunto de los cientos de posibles conjuntos de cifrado. La conclusión es que es posible distinguir las implementaciones entre sí (no conozco una herramienta fácilmente disponible que haga eso, pero no parece muy difícil de hacer).
La filtración de la implementación que se usa no es un gran problema por sí misma (aunque tiende a poner nerviosa a la gente). De todos modos, si el servidor SSL se usa dentro de un servidor web, la identificación del servidor web ya proporciona pistas definitivas sobre la implementación de SSL (si el servidor es IIS, el código SSL será el de Microsoft ...). Además, no hay tantas implementaciones de SSL / TLS por ahí; el atacante no necesita adivinar que se usa, solo tiene que probar todas las hazañas que conoce hasta que una funcione.
Si usa una implementación que tiene "características cuestionables", entonces el problema no es que el atacante pueda saber o adivinar que usa esta implementación; el problema es que usa una implementación con características cuestionables.