Ny HTTPS dia tsy azo antoka foana araka ny hita. Ny vulnerability hita ao amin'ny 5,5% amin'ny tranokala HTTPS

Ny HTTPS dia tsy azo antoka foana araka ny hita. Ny vulnerability hita ao amin'ny 5,5% amin'ny tranokala HTTPS
Iray amin'ireo tranokala ambony indrindra an'i Alexa (boribory afovoany), voaaro amin'ny HTTPS, miaraka amin'ny subdomains (voankazo) sy ny fiankinan-doha (fotsy), ao anatin'izany dia misy ireo marefo (shading dashed)

Amin'izao fotoana izao, ny kisary fifandraisana azo antoka HTTPS dia lasa fenitra ary toetra ilaina amin'ny tranokala matotra. RAHA taratasy fanamarinana tsy hita, saika ny navigateur vao haingana rehetra dia mampiseho fampitandremana fa ny fifandraisana amin'ny tranokala dia "tsy azo antoka" ary aza manoro hevitra ny handefasana fampahalalana tsiambaratelo amin'izany.

Saingy hita fa tsy miantoka fiarovana foana ny fisian'ny "hidy" ao amin'ny bara adiresy. Fanamarinana tranokala 10 avy amin'ny naoty, nasehon'i Alexa fa maro amin'izy ireo no iharan'ny vulnerability mitsikera ao amin'ny protocols SSL / TLS, matetika amin'ny alΓ lan'ny subdomains na miankina. Araka ny voalazan'ireo mpanoratra ny fanadihadiana, ny fahasarotan'ny fampiharana tranonkala maoderina dia mampitombo be ny fanafihana.

Valin'ny fikarohana

Ny fanadihadiana dia nataon'ny manam-pahaizana avy amin'ny Oniversiten'i Venice Ca' Foscari (Italia) sy ny Oniversite Teknika Vienne. Hanolotra tatitra amin'ny antsipiriany izy ireo amin'ny Symposium faha-40 IEEE momba ny fiarovana sy ny fiainana manokana, izay hatao ny 20-22 Mey 2019 any San Francisco.

Nosedraina ireo tranokala HTTPS 10 ambony indrindra ary mpampiantrano 000 mifandraika amin'izany. Hita tamin'ny mpampiantrano 90, izany hoe, manodidina ny 816% amin'ny fitambaran'ny:

  • 4818 vulnerable amin'ny MITM
  • 733 dia marefo amin'ny famadihana TLS feno
  • 912 dia marefo amin'ny famoahana TLS ampahany

Ny tranokala 898 dia misokatra tanteraka amin'ny fijirika, izany hoe mamela ny fampidirana script hafa izy ireo, ary ny tranokala 977 dia mametaka votoaty avy amin'ny pejy tsy voaaro izay azon'ny mpanafika mifandray.

Nohamafisin'ireo mpikaroka fa anisan'ireo loharanon-karena 898 β€œnandefitra tanteraka” ny fivarotana an-tserasera, ny tolotra ara-bola ary ny tranokala lehibe hafa. 660 amin'ny tranokala 898 no misintona script ivelany avy amin'ireo mpampiantrano marefo: io no loharanon'ny loza. Araka ny voalazan'ireo mpanoratra, ny fahasarotan'ny fampiharana tranonkala maoderina dia mampitombo be ny fanafihana.

Hita ihany koa ny olana hafa: 10% amin'ny taratasy fanomezan-dΓ lana dia manana olana amin'ny fampitana ny vaovao azo antoka, izay mandrahona ny hamoaka tenimiafina, ny tranokala 412 dia mamela ny fisakanana cookies sy ny fakana an-keriny fivoriana, ary ny tranokala 543 dia iharan'ny fanafihana ny fahamendrehan'ny cookie (amin'ny alΓ lan'ny subdomains) .

Ny olana dia tao anatin'ny taona vitsivitsy izay tao amin'ny protocols sy rindrambaiko SSL / TLS namaritra ny vulnerability maromaro: POODLE (CVE-2014-3566), BEAST (CVE-2011-3389), CRIME (CVE-2012-4929), PATAKA (CVE-2013-3587), ary Heartbleed (CVE-2014-0160). Mba hiarovana amin'izy ireo dia ilaina ny fanovana maromaro eo amin'ny mpizara sy ny mpanjifa mba hisorohana ny fampiasana dikan-teny mora vulnerable taloha. Saingy fomba iray tsy dia misy dikany loatra izany, satria ny toe-javatra toy izany dia misy ny fisafidianana amin'ny andiana ciphers sy protocole marobe, izay sarotra takarina. Tsy mazava foana hoe iza amin'ireo suite sy protocole cipher no heverina ho "azo antoka".

Fikirana natolotra

Tsy misy olona ankatoavina amin'ny fomba ofisialy sy ifanarahana amin'ny lisitry ny fanovana HTTPS naroso. Noho izany, Mozilla SSL Configuration Generator dia manolotra safidy maromaro, miankina amin'ny haavon'ny fiarovana ilaina. Ohatra, ireto ny toe-javatra atolotra ho an'ny mpizara nginx 1.14.0:

Fomba maoderina

Mpanjifa tohanana tranainy indrindra: Firefox 27, Chrome 30, IE 11 amin'ny Windows 7, Edge, Opera 17, Safari 9, Android 5.0 ary Java 8

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;


# modern configuration. tweak to your needs.
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

Fanohanana antonony

Mpanjifa tohanana tranainy indrindra: Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;

# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

Fanohanana taloha

Mpanjifa tohanana tranainy indrindra: Windows XP IE6, Java 6

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;

# old configuration. tweak to your needs.
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

Amporisihina ny hampiasanao ny suite cipher feno sy ny OpenSSL version farany indrindra. Ny suite cipher ao amin'ny firafitry ny mpizara dia mamaritra ny laharam-pahamehana hampiasana azy ireo, arakaraka ny firafitry ny mpanjifa.

Asehon'ny fikarohana fa tsy ampy ny mametraka certificat HTTPS fotsiny. "Na dia tsy mitantana mofomamy toy ny tamin'ny taona 2005 aza izahay, ary nanjary mahazatra ny 'TLS mendrika', dia hita fa tsy ampy ireo zavatra fototra ireo mba hahazoana toerana be dia be amin'ny toerana malaza," hoy izy ireo ireo mpanoratra ny asa. Mba hiarovana amim-pahatokiana ny fantsona eo amin'ny mpizara sy ny mpanjifa, dia mila manara-maso tsara ny fotodrafitrasa avy amin'ny subdomains anao manokana sy ny mpampiantrano antoko fahatelo izay anomezana votoaty ho an'ny tranokala ianao. Mety misy dikany ny manafatra fanaraha-maso avy amin'ny orinasa antoko fahatelo izay manam-pahaizana manokana amin'ny fiarovana ny vaovao.

Ny HTTPS dia tsy azo antoka foana araka ny hita. Ny vulnerability hita ao amin'ny 5,5% amin'ny tranokala HTTPS

Source: www.habr.com