HTTPS er ekki alltaf eins öruggt og það virðist. Veikleikar sem finnast í 5,5% HTTPS vefsvæða

HTTPS er ekki alltaf eins öruggt og það virðist. Veikleikar sem finnast í 5,5% HTTPS vefsvæða
Ein af efstu síðum Alexa (miðhringur), tryggð með HTTPS, með undirlénum (grá) og ósjálfstæði (hvítt), þar á meðal eru viðkvæmar (skuggastafir)

Nú á dögum er HTTPS öruggt tengingartáknið orðið staðall og jafnvel nauðsynlegur eiginleiki sérhverrar alvarlegrar síðu. Ef vottorð vantar, næstum allir nýlegir vafrar sýna viðvörun um að tenging við síðuna er "ekki örugg" og mæli ekki með því að flytja trúnaðarupplýsingar til þess.

En það kemur í ljós að tilvist "lás" í veffangastikunni tryggir ekki alltaf vernd. Skoða 10 leiðandi síður frá einkunninni sýndi Alexa að mörg þeirra eru háð mikilvægum veikleikum í SSL / TLS samskiptareglum, venjulega í gegnum undirlén eða ósjálfstæði. Samkvæmt höfundum rannsóknarinnar eykur flókið nútíma vefforritum árásaryfirborðið til muna.

Niðurstöður rannsókna

Rannsóknin var unnin af sérfræðingum frá háskólanum í Feneyjum Ca' Foscari (Ítalíu) og Tækniháskólanum í Vínarborg. Þeir munu kynna ítarlega skýrslu á 40. IEEE málþingi um öryggi og friðhelgi einkalífs, sem haldið verður 20.-22. maí 2019 í San Francisco.

Topp 10 Alexa lista HTTPS síður og 000 tengdir gestgjafar voru prófaðir. Viðkvæmar dulritunarstillingar greindust á 90 gestgjöfum, það er um það bil 816% af heildinni:

  • 4818 viðkvæmt fyrir MITM
  • 733 eru viðkvæm fyrir fullri TLS afkóðun
  • 912 eru viðkvæmir fyrir TLS afkóðun að hluta

898 síður eru algjörlega opnar fyrir reiðhestur, það er að segja þær leyfa innspýtingu óaðfinnanlegra forskrifta og 977 síður hlaða inn efni frá illa vernduðum síðum sem árásarmaður getur haft samskipti við.

Rannsakendur leggja áherslu á að meðal 898 auðlinda sem eru „algjörlega í hættu“ eru netverslanir, fjármálaþjónusta og aðrar stórar síður. 660 af 898 síðum hlaða niður ytri forskriftum frá viðkvæmum gestgjöfum: þetta er helsta uppspretta hættunnar. Að sögn höfunda eykur flókið nútíma vefforritum árásaryfirborðið til muna.

Önnur vandamál fundust einnig: 10% leyfiseyðublaða eiga í vandræðum með örugga sendingu upplýsinga, sem hótar að leka lykilorðum, 412 síður leyfa hlerun á vafrakökum og ræningum á fundum og 543 síður verða fyrir árásum á vefkökur (í gegnum undirlén) .

Vandamálið er að á undanförnum árum í SSL / TLS samskiptareglum og hugbúnaði bent á fjölda veikleika: POODLE (CVE-2014-3566), BEAST (CVE-2011-3389), CRIME (CVE-2012-4929), BREACH (CVE-2013-3587) og Heartbleed (CVE-2014-0160). Til að verjast þeim er þörf á fjölda stillinga á þjóninum og biðlarahlið til að forðast að nota gamlar viðkvæmar útgáfur. En þetta er frekar léttvæg málsmeðferð, vegna þess að slíkar stillingar fela í sér að velja úr umfangsmiklu safni dulmáls og samskiptareglur, sem er frekar erfitt að skilja. Það er ekki alltaf ljóst hvaða dulmálssvítur og samskiptareglur eru taldar „nógu öruggar“.

Mælt með stillingum

Það er enginn opinberlega samþykktur og samþykktur listi yfir ráðlagðar HTTPS stillingar. Svo, Mozilla SSL Configuration Generator býður upp á nokkra stillingarvalkosti, allt eftir því verndarstigi sem krafist er. Til dæmis, hér eru ráðlagðar stillingar fyrir nginx 1.14.0 netþjón:

Nútímastilling

Elstu studdir viðskiptavinir: Firefox 27, Chrome 30, IE 11 á Windows 7, Edge, Opera 17, Safari 9, Android 5.0 og 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>;

....
}

Miðlungs stuðningur

Elstu studdir viðskiptavinir: 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>;

....
}

Gamall stuðningur

Elstu studdir viðskiptavinir: 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>;

....
}

Mælt er með því að þú notir alltaf alla dulmálssvítuna og nýjustu útgáfuna af OpenSSL. Dulmálssvítan í stillingum netþjónsins tilgreinir forganginn sem þær verða notaðar í, allt eftir stillingum biðlarans.

Rannsóknir sýna að það er ekki nóg að setja bara upp HTTPS vottorð. „Þó að við höndlum ekki smákökur eins og við gerðum árið 2005 og „sæmilegt TLS“ er orðið algengt, þá kemur í ljós að þessir grunnatriði duga ekki til að tryggja ótrúlega mikinn fjölda mjög vinsælra vefsvæða,“ segðu höfunda verksins. Til að vernda rásina á áreiðanlegan hátt á milli netþjónsins og biðlarans þarftu að fylgjast vandlega með innviðum þínum frá eigin undirlénum og gestgjöfum þriðja aðila sem efni fyrir síðuna er afhent frá. Kannski er skynsamlegt að panta úttekt frá einhverju þriðja aðila fyrirtæki sem sérhæfir sig í upplýsingaöryggi.

HTTPS er ekki alltaf eins öruggt og það virðist. Veikleikar sem finnast í 5,5% HTTPS vefsvæða

Heimild: www.habr.com