Tag Archives: CVE-2014-0160

Heartbleed Representa Risco para Clientes e Internet das Coisas

A maior parte do foco com o Heartbleed tem sido referente a sites públicos, mas o bug afeta muito mais do que isso. Ainda que os sites mais populares não estejam vulneráveis, isso não significa que o usuário final possa baixar a guarda.

O Heartbleed também afeta softwares das organizações e corrompe sites, e-mail, chats, FTPs, aplicativos móveis, VPN e atualizadores de software. Em suma, qualquer cliente que se comunique através de SSL/TLS, usando uma versão vulnerável de OpenSSL, está sujeito a ataques.

Além disso, o Heartbleed afeta diversos outros aparelhos além de servidores de Web. Entre eles, proxies e servidores de mídia, games, banco de dados, chat e FTP. Por fim, equipamentos de hardware não estão imunes à vulnerabilidade. Ela pode afetar roteadores, PABXs (sistemas telefônicos corporativos) e, provavelmente, uma série de aparelhos que possuem Internet – IoT (Internet da Coisas, em português).

O ataque a estes servidores de software e hardware por meio da vulnerabilidade Heartbleed é feito de forma semelhante a  um ataque a sites vulneráveis. No entanto, golpes a clientes podem acontecer essencialmente da forma reversa.

Normalmente, a exploração do Heartbleed vem sendo descrita como um cliente atacante que envia uma mensagem maliciosa para um servidor vulnerável e este equipamento expõe os dados privados. No entanto, o contrário também acontece. Uma empresa vulnerável pode se conectar a um servidor e ele pode enviar uma mensagem maliciosa de Heartbeat para o cliente – que cliente responderá com dados adicionais encontrados em sua memória, potencialmente expondo credenciais e demais dados privados.

Heartbleed-3486810-fig1-v2.png

Figura 1. Como um cliente vulnerável é atacado

Felizmente, enquanto os clientes estão vulneráveis, pode ser difícil explorá-los em cenários do mundo real. Os dois principais vetores de ataque são instruir o cliente a visitar um servidor SSL/TLS malicioso ou sequestrar a conexão a partir de fraquezas não relacionadas. Ambos apresentam uma complicação adicional para o atacante.

Direcionar o cliente a um servidor malicioso

Um exemplo simples de como um cliente pode ser explorado é por meio de um navegador Web vulnerável. É preciso simplesmente convencer a vítima a visitar uma URL maliciosa para permitir que o servidor atacante consiga acesso à memória do navegador Web do cliente. Isso coloca em risco conteúdos como cookies de sessões anteriores, sites visitados, dados de formulários e credenciais de autenticação.

Os navegadores mais populares não utilizam OpenSSL, mas as bibliotecas NSS (Network Security Services) são vulneráveis ao Heartbleed. No entanto, muitos clientes Web de linha de comando usam OpenSSL (por exemplo, wget e curl) e estão suscetíveis.

O fato de um atacante precisar enganar o usuário para que visite um site malicioso pode mitigar parte do risco, mas isso nem sempre é necessário. Imagine um serviço online de tradução de idiomas que você fornece uma URL para uma página em francês a um serviço automatizado e o serviço traduzirá o conteúdo para o inglês. Nos bastidores, o serviço está buscando o conteúdo na página em francês usando seu próprio cliente de backend. Se você fornecer a URL de um servidor malicioso, o cliente de backend será explorado e o atacante pode coletar informações sensíveis como códigos ou credenciais do serviço de tradução.

Sequestro de conexão

Direcionar clientes para um servidor malicioso conforme descrito acima exige a instrução das pessoas para que visitem servidores arbitrários. No entanto, muitos clientes podem contatar apenas um domínio pré-definido, hard-coded. Nestes casos, ainda assim a pessoa pode ser explorada. Em redes abertas compartilhadas como algumas redes públicas de Wi-Fi, o tráfego pode ser visível e alterado por outros, permitindo que os atacantes redirecionem clientes vulneráveis. Normalmente, SSL/TLS (por exemplo, HTTPS, navegação Web criptografada) é uma das soluções para este problema, já que a criptografia evita o eavesdropping (espionagem do tráfego da rede) e redirecionamento. Porém, é possível enviar mensagens maliciosas de Heartbeat antes da sessão SSL/TLS estar plenamente estabelecida.

Um atacante pode entrar em uma rede pública e espionar (eavesdrop) vítimas em potencial. Quando uma vítima em potencial utiliza um cliente vulnerável para estabelecer uma conexão SSL/TLS com um servidor legítimo, o atacante redireciona a conexão para o servidor malicioso. Antes que a conexão SSL/TLS esteja plenamente estabelecida e tenha chance de bloquear qualquer redirecionamento, o atacante pode enviar uma mensagem maliciosa de Heartbeat, extraindo os conteúdos da memória do computador da vítima. Isso pode incluir dados privados como credenciais de autenticação.

Heartbleed-3486810-fig2.png

Figura 2. Como um atacante pode sequestrar e redirecionar um cliente vulnerável em uma rede aberta compartilhada

Além da orientação prévia, nós também recomendamos:

  • Evite visitar domínios desconhecidos com qualquer software de cliente, que aceite mensagens Heartbeat usando bibliotecas vulneráveis OpenSSL;
  • Não utilize os serviços de proxy que não receberam patches;
  • Atualize softwares e hardwares conforme os fornecedores disponibilizarem patches;
  • Use um cliente VPN e serviço não vulnerável ao Heartbleed quando estiver em redes públicas.

 

Heartbleed ??????????? IoT????????????????????????????

Heartbleed についての議論は、そのほとんどが脆弱な公開 Web サイトに集中していますが、このバグの影響はそれ以上の範囲に及んでいます。利用者の多いサイトのほとんどはすでに対応済みですが、だからといってエンドユーザーが警戒を緩めていいわけではありません。

Heartbleed の影響は、クライアントソフトウェアにも等しく及びます。いくつか例を挙げるだけでも、Web クライアントや電子メールクライアント、チャットクライアント、FTP クライアント、モバイルアプリ、VPN クライアント、そしてソフトウェアアップデータなどが該当します。要するに、脆弱なバージョンの OpenSSL を使って SSL/TLS 通信を行うクライアントであれば、どれも攻撃を受ける恐れがあるのです。

しかも、Heartbleed は Web サーバー以外のさまざまなサーバーにも影響します。プロキシ、メディアサーバー、ゲームサーバー、データベースサーバー、チャットサーバー、FTP サーバーなどです。それどころか、ハードウェアデバイスでさえ Heartbleed 脆弱性の影響は免れず、ルーター、PBX(ビジネス電話システム)、そしておそらくは IoT(モノのインターネット)に分類される無数のデバイスにも影響は及びます。

Heartbleed 脆弱性を悪用してこうしたソフトウェアやハードウェアサーバーに攻撃を仕掛ける手口は、脆弱な Web サイトに対する攻撃に似ています。ただし、クライアントに対する攻撃は実質上、逆の方向でも起きることもあります。

Heartbleed の悪用については、攻撃側のクライアントが脆弱なサーバーに悪質な Heartbleed メッセージを送り付けることで、サーバーが個人データを漏えいしてしまうと説明されています。しかし、その逆方向でも攻撃は成り立ちます。脆弱なクライアントがサーバーに接続し、サーバー自身が悪質な Heartbleed メッセージをクライアントに送信すれば、クライアントはそのメモリ上にある別のデータを伴って応答するため、資格情報や個人データが公開される可能性があるからです。

Heartbleed-3486810-fig1-v2.png

図 1. 脆弱なクライアントに対する攻撃方法は、基本的にサーバーに対する攻撃方法の逆

幸い、クライアントに脆弱性があるとしても、現実的にはそれを悪用することは難しいと考えられます。この攻撃の主な経路は、悪質な SSL/TLS サーバーにアクセスするようクライアントに指示するか、別の脆弱性を悪用して接続を乗っ取るかの 2 つですが、攻撃者にとって複雑さが増すという点では同じです。

クライアントから悪質なサーバーへの誘導
クライアントを悪用できる最も単純な例は、脆弱な Web ブラウザを介した攻撃です。被害者を欺いて悪質な URL にアクセスさせるだけで、攻撃側のサーバーはクライアント Web ブラウザのメモリにアクセスできるようになります。そうなると、以前のセッションの cookie、アクセスしたことのある Web サイト、フォームデータ、認証資格情報といったコンテンツもリスクにさらされることになります。

広く利用されているブラウザのほとんどは OpenSSL ではなく NSS(Network Security Services)のライブラリを使っています。NSS は Heartbleed に対して脆弱ではありませんが、Web クライアントも多くのコマンドラインでは OpenSSL を使っており(wget、curl など)、やはり脆弱です。

攻撃者にとってはユーザーを欺いて悪質なサイトにアクセスさせるという手間が掛かるので、いくぶんリスクは軽減されますが、その手間が掛からない場合もあります。たとえば、フランス語で書かれたページの URL を入力すると、そのコンテンツが英語に自動的に翻訳されるオンライン翻訳サービスを例に考えてみましょう。この翻訳サービスは、独自のバックエンドクライアントを使ってフランス語ページのコンテンツを取得します。このとき悪質なサーバーの URL を入力すればバックエンドクライアントを悪用して、この翻訳サービスからコードや資格情報といった重要な情報を盗み出せることになります。

接続の乗っ取り
前述のように、クライアントを悪質なサーバーに誘導するには、任意のサーバーにアクセスするようクライアントに指示する必要があります。確かに、多くのクライアントが接続するのは、ハードコード化された、あらかじめ定義されたドメインだけかもしれませんが、そうした場合でも、やはりクライアントの悪用は可能です。一部の公共 Wi-Fi ネットワークのような共有のオープンネットワークでは、他人がトラフィックを傍受して変更できる可能性があるため、攻撃者は脆弱なクライアントをリダイレクトできます。通常であれば、この問題のひとつの解決策となるのが SSL/TLS(たとえば、暗号化された Web ブラウジングである HTTPS)です。暗号化すれば、傍受もリダイレクトも防げるからです。ところが、SSL/TLS セッションが完全に確立する前であれば、悪質な Heartbeat メッセージを送信することが可能です。

攻撃者は、公共のネットワークに参加して、無防備なユーザーの通信を傍受することができます。無防備なユーザーが、正規のサーバーへの SSL/TLS 接続を確立する際に脆弱なクライアントを使っている場合、攻撃者はその接続を悪質なサーバーにリダイレクトします。SSL/TLS 接続が完全に確立される前で、リダイレクトを遮断するチャンスがある段階であれば、攻撃者は悪質な Heartbeat メッセージを送信して被害者のコンピュータのメモリから内容を抜き取ることができます。これには、認証資格情報などの個人データが含まれているかもしれません。

Heartbleed-3486810-fig2.png

図 2. 共有のオープンネットワーク上で攻撃者が脆弱なクライアントを乗っ取ってリダイレクトする仕組み

以前のブログに示した注意事項に加えて、以下の推奨事項にも従うようにしてください。

  • どのようなクライアントソフトウェアを使っている場合でも、不明なドメインにはアクセスしないでください。脆弱な OpenSSL ライブラリを使って Heartbeat メッセージを受信してしまうかもしれません。
  • パッチが適用されていないプロキシサービスは使用しないようにしてください。
  • ソフトウェアもハードウェアも、ベンダーからパッチが公開されたら速やかに更新してください。
  • 公共のネットワークでは、Heartbleed に対して脆弱でないことが確認されている VPN クライアントやサービスを使用してください。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。

Heartbleed Representa un Riesgo para Clientes y el Internet de las Cosas

Si bien la mayor parte de la atención en Heartbleed ha estado en los sitios web públicos vulnerables, este bug afecta más que eso. Si bien la mayoría de los sitios más populares ya no están vulnerables, esto no significa que los usuarios podamos bajar la guardia.

Heartbleed afecta por igual a clientes de software como a clientes web, de correo electrónico, clientes de chat, clientes FTP, aplicaciones móviles, clientes VPN y actualizadores de software, por nombrar algunos. En definitiva, cualquier cliente que se comunica a través de SSL/TLS utilizando la versión afectada de OpenSSL es vulnerable a los ataques externos.

Adicionalmente, Heartbleed afecta a otros servidores además de los servidores Web. Estos incluyen proxies, servidores de medios , servidores de juegos, de bases de datos, de chat y FTP. En este escenario, los dispositivos de hardware no son inmunes a la vulnerabilidad ya que ésta puede afectar a los routers, PBX (sistemas de teléfono empresariales) y probablemente numerosos dispositivos del Internet de las Cosas.

Atacar estos servidores de software y hardware por medio de la vulnerabilidad Heartbleed se realiza de una manera similar a como se hace en los ataques a los sitios web vulnerables. Sin embargo, los ataques a los clientes pueden suceder prácticamente de la manera inversa.

De forma general, la explotación de Heartbleed ha sido descrita como un cliente que envía un mensaje malicioso de Heartbeat a un servidor vulnerable y el servidor expone información privada. Sin embargo, el proceso a la inversa también podría darse. Es decir, un cliente vulnerable puede conectarse a un servidor, y el propio servidor puede enviar un mensaje Heartbeat malicioso para el cliente. Entonces, el cliente responderá con datos adicionales que se encuentran en su memoria, lo que podría exponer credenciales de acceso y otros datos privados.

Heartbleed-3486810-fig1-v2.png

Figura 1. La forma en que un cliente vulnerable es atacado, es a la inversa de un ataque que se da en un servidor

Afortunadamente , aunque los clientes son vulnerables, en el mundo real este escenario puede ser difícil de explotar. Los dos principales vectores de ataque instruirían al cliente a visitar a un servidor SSL/TLS malicioso o secuestrarían una conexión a través de una debilidad sin relación. Ambas cuestiones presentan al atacante una complicación adicional.

Llevando al cliente a un servidor malicioso

El ejemplo más simple de cómo se puede explotar un cliente es a través de algo como un navegador Web vulnerable. Uno simplemente tiene que convencer a la víctima de visitar una URL maliciosa con el fin de permitir que el servidor atacante tenga acceso a la memoria del navegador Web del cliente. Esto pone en riesgo el contenido como las cookies de sesiones previas, sitios web visitados, datos de formularios y las credenciales de autenticación.

Cabe mencionar que la mayoría de los navegadores Web más populares no utilizan OpenSSL, sino las bibliotecas NSS (Network Security Services) que no son vulnerables a Heartbleed. Sin embargo, muchos clientes Web de línea de comandos hacen uso de OpenSSL (por ejemplo, wget y curl) los cuales son vulnerables.

La necesidad del atacante de engañar a un usuario para que visite un sitio malicioso puede mitigar algunos riesgos, pero no siempre es necesario. Imaginemos un servicio de traducción de idiomas en línea donde proporcionamos a un servicio automatizado una URL de una página en francés y el servicio nos traduce el contenido a español. Detrás de la pantalla, el servicio está  buscando el contenido de la página en francés utilizando su propio cliente de backend. Pero, si damos la dirección URL de un servidor malicioso, el cliente backend puede ser explotado y el atacante podría obtener información confidencial, como código o las credenciales de acceso del servicio de traducción.

Secuestrando una conexión

Dirigir a los clientes a un servidor malicioso como se describió anteriormente require instruirlos para visitar servidores arbitrarios. Sin embargo, muchos clientes sólo pueden comunicarse con un dominio codificado preestablecido. Aún en estos casos, el cliente todavía puede ser explotado. En las redes abiertas compartidas como ciertas redes WiFi públicas, el tráfico puede ser visible y alterado por otros, permitiendo a los atacantes redirigir a los clientes vulnerables. Normalmente, SSL/TLS (por ejemplo, HTTPS, navegación web encriptada) es una de las soluciones a este problema, ya que el cifrado evita el espionaje y el redireccionamiento. Sin embargo, uno puede enviar mensajes de Heartbeat maliciosos antes de que la sesión SSL/TLS esté plenamente establecida.

Un atacante puede unirse a una red pública y espiar a las posibles víctimas. Cuando una víctima potencial utiliza un cliente vulnerable al establecer una conexión SSL/TLS con un servidor legítimo, el atacante redirige la conexión con el servidor malicioso. Antes de que la conexión SSL/TLS esté totalmente establecida y tenga la posibilidad de bloquear cualquier redirección, el atacante puede enviar un mensaje Heartbeat malintencionado que extraiga contenidos de la memoria de la computadora de la víctima. Esto puede incluir datos privados, como credenciales de autenticación.

Heartbleed-3486810-fig2.png

Figura 2. Forma en que un atacante puede secuestrar y redireccionar un cliente vulnerable en una red abierta.

Además de las recomendaciones dadas anteriormente por Symantec, sugerimos lo siguiente:

• Evitar visitar dominios desconocidos con cualquier software de cliente, que acepten mensajes de Heartbeat y utilicen las bibliotecas de OpenSSL vulnerables.

• Dejar de usar los servicios de proxy que no han sido actualizados.

• Actualizar el software y hardware conforme los fabricantes tengan disponibles los parches.

• Utilizar un cliente VPN y un servicio confirmado como no vulnerable ante Heartbleed cuando estemos en redes públicas. 

Heartbleed – ????

      No Comments on Heartbleed – ????

OpenSSL における「Heartbleed」脆弱性について詳細が判明してから 5 日が経過しました。その間に、シマンテックはこの脆弱性の影響度を調査するとともに、利用者の多い Web サイトのパッチ適用状態を追跡し、攻撃の監視を続けてきました。その結果判明した内容を以下にお伝えします。

利用者の多いサイトはすでに脆弱性に対応済み

シマンテックは、Heartbleed 脆弱性が残っている Web サイトを確認するために、利用者の多い Web サイトを追跡してきました。Alexa による上位 1,000 の Web サイトはすべて、この脆弱性に対応済みです。Alexa の上位 5,000 まで含めても、脆弱性を残している Web サイトは 24 件のみでした。Alexa の上位 50,000 の Web サイトすべてを対象にしても、Heartbleed に対して脆弱なのは 1.8% にすぎません。このデータを見たところ、一般的なユーザーが頻繁に利用する Web サイトは Heartbleed の影響を受けません。

とはいえ、各サイトが更新されるよりも前にデータを盗み出された可能性はあります。そのリスクを軽減するために、複数のサイトで同じパスワードを使い回さないようにしてください。

パスワードは変更すべき

ユーザーがパスワードを変更すべきかどうかについては、相反する情報が飛び交っています。シマンテックが上記の人気のある Web サイトを調べたかぎりでは、オンラインアカウントのほとんどはパスワードを変更したほうが安全と言えそうです。

少しでも不安がある場合のために、シマンテックは Web サイトが Heartbleed に対して脆弱かどうかを確認する以下のツールを提供しています。

万一 Web サイトに脆弱性が残っている場合、まだそのサイトのパスワードは変更しないでください。

問題は深刻だがインターネットの終わりというわけではない

Heartbleed を悪用すれば、攻撃者はユーザー名やパスワードなどの個人データを盗み出すことができます。しかも、比較的容易に行うことができます。しかし、最も大きな懸念点は、この脆弱性を悪用すると、Web サイトとの暗号通信に使われている秘密鍵を盗まれる恐れがあるということです。秘密鍵を手に入れれば、攻撃者は通信を傍受したり、正規の Web サイトに偽装した Web サイトを作成したりして、さらに多くのデータにアクセスできるようになります。以前のブログでお伝えしたように、秘密鍵を盗み出すのはきわめて困難です。Heartbleed を使って鍵を盗み出すことに成功した研究者もいますが、その場合でも特定の条件が満たされている必要があります。特に、鍵が漏洩する可能性が高いのは、Web サーバーの起動後の一瞬だけです。

Heartbleed は攻撃者にそれほど広く利用されてはいない

シマンテックの監視によると、脆弱な Web サイトに対するスキャンは広く行われていますが、そのスキャンのほとんどは研究者によるもののようです。Heartbleed 脆弱性に関して、攻撃者が実行している大量スキャンは比較的少数しか確認されていません。攻撃者は特定のサイトを標的にしている可能性もありますが、幸い人気のあるサイトは現時点で影響を受けていません。

攻撃の遮断には IPS が有効

シマンテックの IPS シグネチャ 27517「Attack: OpenSSL Heartbleed CVE-2014-0160 3」がリリースされたので、脆弱なサーバーに対して Heartbleed を悪用する試みは検出され遮断されます。

注意事項に変更はない

企業向け:

  • OpenSSL 1.0.1 から 1.0.1f を使っている場合には、最新の修正版(1.0.1g)に更新するか、Heartbeat 拡張機能を使わずに OpenSSL を再コンパイルする必要があります。
  • 修正版の OpenSSL への更新後、Web サーバーの「SSL サーバ証明書」を再発行する必要もあります。
  • 基本的なセキュリティ対策(ベストプラクティス)として、侵入を受けたサーバーのメモリから漏えいした可能性を考慮し、エンドユーザーのパスワードをリセットすることも検討する必要があります。

消費者向け:

  • 利用しているサービスプロバイダのサーバーが脆弱な場合は、データが第三者に盗み見られた可能性があります。
  • 利用しているプロバイダからの通知を見逃さないようにしてください。脆弱性を確認したプロバイダからパスワードを変更するよう連絡があった場合には、指示に従ってパスワードを変更してください。
  • たとえパスワードの更新を促す内容であっても、攻撃者からのフィッシングメールである可能性には注意し、公式サイトのドメインを確認したうえで、偽装された Web サイトにアクセスしないように気を付けてください。
     

最新情報

リスクを最小限に抑える方法なども含めて、Heartbleed に関する最新の情報については、Heartbleed の発生に関するシマンテックの以下のページを参照してください。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。

Bug Heartbleed envia ameaça grave para servidores

A vulnerabilidade recém-descoberta no OpenSSL, uma das implementações mais usadas do SSL e TLS de protocolos criptográficos, apresenta um perigo grave e imediato para qualquer servidor sem correção. O bug, conhecido como Heartbleed, permite que criminosos virtuais para interceptem comunicações seguras e roubarem informações confidenciais, como login, dados pessoais e chaves de decodificação.

O Heartbleed ou OpenSSL TLS ‘heartbeat’ Extension Information Disclosure Vulnerability (CVE-2014-0160) afeta um componente do OpenSSL conhecido como Heartbeat. OpenSSL é uma das implementações mais utilizadas do SSL e protocolos TLS.

O bug é uma extensão para o protocolo TLS, que permite que uma sessão se mantenha ativa, mesmo que nenhuma comunicação real aconteça há algum tempo. Este artifício verifica que ambos os computadores ainda estão conectados e disponíveis para a comunicação. Ele também poupa o usuário do suposto incomodo de ter que digitar novamente suas credenciais para estabelecer outra conexão segura – isto é, se a conexão original é descartada.

Como  essa vulnerabilidade funciona? O Heartbleed envia uma mensagem para o servidor OpenSSL, que por sua vez retransmite essa mensagem de volta ao remetente, verificando a conexão. A mensagem contém dois componentes, um pacote de dados conhecido como payload, que pode ser de até 64 KB, e as informações sobre o seu tamanho.

No entanto, a vulnerabilidade Heartbleed em OpenSSL permite a um invasor falsificar a informação sobre o tamanho do payload útil. Por exemplo, eles poderiam enviar uma carga de apenas um kilobyte, mas com tamanho real de 64KB. O bug Heartbleed é o último de uma série de vulnerabilidades SSL / TLS descoberto este ano. TLS e seu antecessor mais velho SSL são ambos protocolos seguros de comunicação da Internet e do trabalho de criptografar o tráfego entre dois computadores.

Como o servidor do OpenSSL lida com a mensagem malformada de Heartbeat aí está a chave do perigo que esta vulnerabilidade pode traz, principalmente porque ele não tenta verificar se o tamanho do arquivo enviado é de fato o tamanho real, como afirma a mensagem. Ao invés disso, assume que a carga é a verdadeira e as tentativas para enviá-lo de volta para o computador estão corretas.

Os dados enviados de volta acontecem de forma aleatória e é possível que o atacante receba algumas informações incompletas ou inúteis. No entanto, a natureza da vulnerabilidade significa que o ataque pode ser executado novamente e significa que o criminoso virtual pode construir um quadro maior dos dados armazenados ao longo do tempo.

Em fevereiro, a Apple teve que corrigir duas vulnerabilidades críticas que afetavam o SSL em seu software. Pela primeira vez, foi emitido uma atualização para seu sistema operacional móvel iOS, que corrigiu uma falha. Dias depois, uma segunda atualização foi enviada e, desta vez, para o sistema operacional de Desktop OSX.

Em março, uma ameaça também foi encontrada na biblioteca de segurança GnuTLS, que é usado em um grande número de versões do Linux, incluindo Red Hat Desktop e produtos de servidor. Inclusive, sistemas operacionais Ubuntu e Debian demonstraram a mesma vulnerabilidade. O GnuTLS é uma implementação de software de código aberto de SSL/TLS e este fez com que a biblioteca não conseguisse lidar corretamente com alguns erros – que poderiam ocorrer na verificação de um certificado de segurança. Com isso, poderia permitir que um invasor pudesse usar um certificado especialmente criado para enganar GnuTLS, confiando em um site malicioso. A vulnerabilidade foi imediatamente corrigida pela GnuTLS .

Para se proteger desta vulnerabilidade, a Symantec oferece as seguintes dicas:

Para as empresas:

  • Qualquer usuário do OpenSSL 1.0.1 through 1.0.1f deve atualizar o software para a versão mais recente – 1.0.1g – ou recompilar a solução sem a extensão Heartbeat;
  • Se após esta instalação você acredita que o certificado do servidor de Internet possa estar corrompido, entre em contato com a autoridade responsável pela certificação e peça a troca;
  • Além disso, como uma boa prática, as empresas devem considerar a reconfiguração de senhas dos usuários finais – especialmente aquelas com indícios de violação.

Para os consumidores:

  • Esteja ciente de que seus dados podem ser vistos por terceiros, principalmente se utiliza provedores de serviço vulneráveis;
  • Monitore qualquer notícia dos fornecedores que você utiliza. Uma vez que a vulnerabilidade é comunicada, os consumidores devem alterar suas senhas;
  • Evite acessar e-mail com links estranhos, pois eles podem conter o chamado phishing – as iscas, que buscam o seu clique;
  • Não acesse sites duvidosos. Opte por portais oficiais e com reputação;
  • Acompanhe a sua conta bancária e fatura do cartão de crédito. Desconfie de qualquer transação incomum ao seu perfil.

Atualização 10 de abril de 2014: As ferramentas da Symantec para checagem de certificação SSL irá vereficar quando um site é vulnerável. Você pode acessar o certificado a partir deste link: https://ssltools.websecurity.symantec.com/checker/

Para usar o seu certificado, clique em “Check your cerftificate installation” e, após isso, entre no website desejado.

heartbleed-explained_02.png

?????? ?? ???(IoT)? ???? Heartbleed

      No Comments on ?????? ?? ???(IoT)? ???? Heartbleed

Heartbleed와 관련하여 취약한 공개 웹 사이트에 초점이 맞춰지고 있지만 실제로 이 취약점은 훨씬 더 광범위하게 영향을 미치고 있습니다. 대부분의 유명 사이트는 더 이상 취약하지 않습니다. 그렇다고 해서 엔드유저가 마음 놓아도 될 상황은 아닙니다.

Heartbleed는 웹 클라이언트, 이메일 클라이언트, 채팅 클라이언트, FTP 클라이언트, 모바일 애플리케이션, VPN 클라이언트, 소프트웨어 업데이트 프로그램 등 각종 클라이언트 소프트웨어에도 영향을 미칩니다. 즉 SSL/TLS를 통해 통신하고 취약한 버전의 OpenSSL을 사용하는 클라이언트라면 이 공격을 당할 가능성이 높습니다.

뿐만 아니라 Heartbleed는 웹 서버 외에도 프록시, 미디어 서버, 게임 서버, 데이터베이스 서버, 채팅 서버, FTP 서버 등 다양한 서버에 영향을 미칩니다. 하드웨어 장치 역시 안전하지 않습니다. 라우터, PBX(업무용 전화 시스템), 사물 인터넷을 구성하는 무수히 많은 장치도 영향을 받을 수 있습니다.

Heartbleed 취약점을 통해 이러한 소프트웨어 및 하드웨어 서버를 공격하는 방식은 취약한 웹 사이트에 대한 공격과 유사합니다. 하지만 클라이언트에 대한 공격은 정반대의 양상을 띨 수도 있습니다.

일반적으로 알려진 Heartbleed 익스플로잇은 공격자 측 클라이언트가 취약한 서버로 악성 하트비트 메시지를 보내고 해당 서버에서 개인 데이터가 유출되는 방식입니다. 하지만 그 반대의 상황도 가능합니다. 즉 취약한 클라이언트가 서버에 접속하면 이 서버에서 클라이언트에게 악성 하트비트 메시지를 보내는 것입니다. 그러면 클라이언트는 메모리에 남아 있는 추가 데이터를 사용하여 응답하는데, 이때 인증 정보와 기타 개인 데이터가 유출될 우려가 있습니다.

Heartbleed-3486810-fig1-v2.png

그림 1. 서버에 대한 공격과 정반대로 이루어지는 취약한 클라이언트에 대한 공격

다행히 클라이언트가 취약하더라도 현실적으로 그에 대한 익스플로잇 공격에는 어려움이 따를 수 있습니다. 대표적인 두 공격 벡터는 클라이언트에게 악성 SSL/TLS 서버를 방문하도록 지시하거나 다른 무관한 약점을 통해 연결을 하이재킹하는 것인데, 둘 다 공격자 입장에서는 매우 복잡한 방식입니다.

클라이언트를 악성 서버에 연결

클라이언트의 취약점을 공격하는 가장 단순한 예로 취약한 웹 브라우저 등을 이용하는 방법이 있습니다. 이 경우 피해자가 악성 URL을 방문하도록 유도하면 되는데, 그러면 공격자 측 서버가 클라이언트 웹 브라우저 메모리에 접근합니다. 이때 이전의 세션 쿠키, 방문한 웹 사이트, 폼 데이터, 인증 정보 등의 컨텐트가 유출될 위험이 있습니다.

많이 사용되는 웹 브라우저의 대부분은 OpenSSL이 아니라 Heartbleed에 취약하지 않은 NSS(Network Security Services) 라이브러리를 사용합니다. 하지만 명령줄 웹 클라이언트 중 상당수(예: wget, curl)는 OpenSSL을 사용하기 때문에 취약합니다.

공격자가 사용자를 악성 사이트로 유인해야 한다는 점 때문에 위험성이 다소 줄어들 수는 있지만 안심할 수 있는 것만은 아닙니다. 프랑스어 페이지 URL을 입력하면 그 내용을 영어로 자동 번역해 주는 온라인 번역 서비스가 있다고 가정해 보십시오. 하지만 실제로 이 서비스는 은밀하게 자체 백엔드 클라이언트를 사용하여 프랑스어 페이지의 내용을 가져옵니다. 따라서 만약 사용자가 악성 서버 URL을 입력할 경우 백엔드 클라이언트가 익스플로잇의 대상이 되고 공격자는 번역 서비스를 통해 코드, 인증 정보와 같은 중요 정보를 획득하게 됩니다.

연결 하이재킹

위에 설명한 것처럼 클라이언트를 악성 서버로 연결하려면 해당 서버를 방문하라는 지시를 내릴 대상 클라이언트가 있어야 합니다. 하지만 대다수의 클라이언트는 미리 설정되고 하드코딩된 도메인에만 접속합니다. 이러한 경우에도 클라이언트에 대한 익스플로잇이 가능합니다. 일부 WiFi 네트워크와 같이 공개된 공유 네트워크에서는 다른 사람이 트래픽을 보고 변경할 수 있으므로 공격자가 취약한 클라이언트를 리디렉션하는 것이 가능합니다. 일반적으로 암호화를 통해 염탐이나 리디렉션을 차단할 수 있으므로 SSL/TLS(예: HTTPS, 암호화된 웹 브라우징)는 이러한 문제의 해결책 중 하나입니다. 하지만 이러한 SSL/TLS 세션이 완전히 설정되기 전에 악성 하트비트 메시지를 보낼 수 있습니다.

공격자는 공용 네트워크에 접속하여 잠재적인 피해자를 몰래 지켜볼 수 있습니다. 잠재적 피해자가 취약한 클라이언트를 사용하여 합법적인 서버와의 SSL/TLS 연결을 설정할 경우 공격자는 해당 연결을 악성 서버로 리디렉션합니다. SSL/TLS 연결이 완전히 설정되어 리디렉션을 차단하기 전까지 공격자는 악성 하트비트 메시지를 보내 피해자 시스템의 메모리에서 컨텐트를 유출시킵니다. 여기에는 인증 정보와 같은 개인 데이터가 포함될 수도 있습니다. 

Heartbleed-3486810-fig2.png

그림 2. 공격자가 공개된 공유 네트워크에서 하이재킹하여 취약한 클라이언트를 리디렉션하는 방법

앞서 전달한 지침과 함께 아래의 권장 사항도 따르는 것이 좋습니다.

  • 클라이언트 소프트웨어에서 미확인 도메인을 방문하지 마십시오. 이 도메인이 취약한 OpenSSL 라이브러리를 사용하여 하트비트 메시지를 수락할 수 있습니다.
  • 패치가 적용되지 않은 프록시 서비스의 이용을 중지하십시오.
  • 벤더에서 패치를 제공하는 대로 소프트웨어와 하드웨어를 업데이트하십시오.
  • 공개 네트워크에 접속할 때는 Heartbleed에 취약하지 않은 것으로 확인된 VPN 클라이언트와 서비스를 이용하십시오.

Heartbleed Poses Risk to Clients and the Internet of Things

While most of the focus on Heartbleed has been on vulnerable public websites, the bug affects much more than this. While most popular sites are no longer vulnerable, this does not mean that end-users can drop their guard.

Heartbleed equally affects client software such as Web clients, email clients, chat clients, FTP clients, mobile applications, VPN clients and software updaters, to name a few. In short, any client that communicates over SSL/TLS using the vulnerable version of OpenSSL is open to attacks. 

In addition, Heartbleed affects various other servers aside from Web servers. These include proxies, media servers, game servers, database servers, chat servers and FTP servers. Finally, hardware devices are not immune to the vulnerability. It can affect routers, PBXes (business phone systems) and likely numerous devices in the Internet of Things.

Attacking these software and hardware servers through the Heartbleed vulnerability is done in a similar manner as an attack to vulnerable websites. However, attacks on clients can happen in essentially the reverse manner.

Typically, exploitation of Heartbleed has been described as an attacking client sending a malicious Heartbeat message to a vulnerable server and the server exposing private data. However, the reverse is also true. A vulnerable client can connect to a server, and the server itself can send a malicious Heartbeat message to the client. The client will then respond with extra data found in its memory, potentially exposing credentials and other private data.

Heartbleed-3486810-fig1-v2.png

Figure 1. How a vulnerable client is attacked is essentially the reverse of an attack on a server

Fortunately, while clients are vulnerable, it may be difficult to exploit them in real-world scenarios. The two main vectors of attack are instructing the client to visit a malicious SSL/TLS server or hijacking a connection through an unrelated weakness. Both present an added complication for the attacker.

Directing the client to a malicious server
The simplest example of how a client may be exploited is through something like a vulnerable Web browser. One simply has to convince a victim to visit a malicious URL in order to allow the attacking server to gain access to the client Web browser memory. This puts at risk content such as previous session cookies, websites visited, form data and authentication credentials. 

Most popular Web browsers do not use OpenSSL, but the NSS (Network Security Services) libraries, which are not vulnerable to Heartbleed. However, many command line Web clients do use OpenSSL (e.g., wget and curl) and are vulnerable.

The attacker’s need to trick a user into visiting a malicious site may mitigate some risk, but it is not always necessary. Imagine an online language translation service where you provide an automated service with a URL to a page in the French language and the service will translate the content to English. Behind the scenes, the service is fetching the content of the French page using their own backend client. If you provide the URL of a malicious server, the backend client can be exploited and the attacker may retrieve sensitive information such as code or credentials from the translation service.

Hijacking a connection
Directing clients to a malicious server as described above requires clients that can be instructed to visit arbitrary servers. However, many clients may only contact a preset, hardcoded domain. In these cases, the client may still be exploited. On shared open networks such as some public WiFi networks, traffic can be visible and altered by others, allowing attackers to redirect vulnerable clients. Normally, SSL/TLS (e.g. HTTPS, encrypted Web browsing) is one of the solutions to this problem, since the encryption prevents eavesdropping and redirection. However, one can send malicious Heartbeat messages prior to the SSL/TLS session being fully established.

An attacker can join a public network and eavesdrop on potential victims. When a potential victim uses a vulnerable client to establish an SSL/TLS connection with a legitimate server, the attacker redirects the connection to the malicious server. Before the SSL/TLS connection is fully established and has a chance to block any redirection, the attacker can send a malicious Heartbeat message extracting contents from the memory of the victim’s computer. This can include private data such as authentication credentials. 

Heartbleed-3486810-fig2.png

Figure 2. How an attacker can hijack and redirect a vulnerable client on a shared, open network

In addition to previous guidance, we also recommend the following:

  • Avoid visiting unknown domains with any client software, which accept Heartbeat messages using the vulnerable OpenSSL libraries.
  • Stop using proxy services that have not been patched.
  • Update software and hardware as vendors make patches available.
  • Use a VPN client and service confirmed as not vulnerable to Heartbleed when on public networks.

Heartbleed – Reports from the Field

      No Comments on Heartbleed – Reports from the Field

It has been now five days since details emerged regarding the “Heartbleed” vulnerability in OpenSSL. During this time we have been researching the impact of the vulnerability, tracking the patch states of popular websites, and monitoring attacks. So what have we learned?
 

Most popular sites are no longer vulnerable

We have been tracking the most popular websites to see which of them are currently vulnerable to Heartbleed. No website included in Alexa’s top 1000 websites is currently vulnerable. Within the Alexa top 5000 websites, only 24 websites are vulnerable. Overall, within the Alexa top 50,000 websites only 1.8 percent is vulnerable to Heartbleed. Based on this data, chances are that the websites most frequently visited by the average user are not affected by Heartbleed.

It is possible that your data may have been stolen prior to a website being updated. To mitigate against this ensure that you do not reuse passwords across multiple sites.
 

Yes, you should change your passwords

There has been some contradictory information regarding whether users should change their passwords. Based on our examination of the most popular websites above, it should now be safe to change the passwords for most of your online accounts.

If you have any doubt, Symantec offers the following tool to check whether a website is vulnerable to Heartbleed:

If a website is still vulnerable, do not change your password for that site just yet.
 

The problem is serious, but a doomsday scenario is unlikely

Heartbleed could be used by attackers to steal personal data such as usernames and passwords—and doing so is relatively easy. However one of the biggest concerns is that the vulnerability could be used to steal the private keys which are used to encrypt communications with websites. By stealing these keys, attackers could eavesdrop on communications or set up fake websites which impersonate legitimate websites allowing them access to even more data. As stated in our previous blog, stealing these keys is very difficult. Some researchers have been successful in stealing keys using Heartbleed, but each case required specific circumstances to be met; in particular, keys are more likely to be exposed only at the moment after the web server is started.
 

Heartbleed is not being widely used by attackers

Our monitoring has shown that while there is widespread scanning for vulnerable websites, most of this scanning seems to be originating from researchers. We have witnessed relatively few mass scans for the Heartbleed vulnerability originating from attackers. Attackers could be targeting specific sites but, fortunately, the most popular sites are no longer affected.
 

IPS will help block attacks

Symantec IPS signature 27517, Attack: OpenSSL Heartbleed CVE-2014-0160 3, has been released and will detect and block attempts to exploit Heartbleed on vulnerable servers.
 

Advice remains the same

For businesses:

  • Anyone using OpenSSL 1.0.1 through 1.0.1f should update to the latest fixed version of the software (1.0.1g), or recompile OpenSSL without the heartbeat extension. 
  • Businesses should also replace the certificate on their web server after moving to a fixed version of OpenSSL.
  • Finally, and as a best practice, businesses should also consider resetting end-user passwords that may have been visible in compromised server memory.

For consumers:

  • Be aware that your data could have been seen by a third party if you used a vulnerable service provider.
  • Monitor any notices from the vendors you use. Once a vulnerable vendor has communicated to customers that they should change their passwords, users should do so.
  • Avoid potential phishing emails from attackers asking you to update your password. To avoid being tricked into going to an impersonated website, stick with the official site domain.
     

For further information

For the latest information on Heartbleed, including how to minimize your risk, please visit the Symantec Heartbleed outbreak page:

Heartbleed Representa una Amenaza Seria a los Servidores Sin Parchar

Una vulnerabilidad recientemente descubierta en OpenSSL , una de las implementaciones más utilizadas de los protocolos SSL y TLS criptográficas , representa un peligro grave e inminente para cualquier servidor sin parchar . El bug conocido como Heartbleed permite a los atacantes interceptar comunicaciones seguras y robar información confidencial como credenciales de acceso , datos personales, o incluso las claves para descrifrar.

Heartbleed o el ‘ latido ‘ de la Extensión de Información de la Vulnerabilidad de Divulgación OpenSSL (CVE-2014 – 0160), afecta a un componente de OpenSSL conocido como Heartbeat . OpenSSL es una de las implementaciones de código abierto más utilizadas de los protocolos SSL ( Secure Sockets Layer) y TLS (Transport Layer Security).

Heartbeat es una extensión del protocolo TLS que permite mantener con vida una sesión de TLS, incluso si no se ha producido alguna comunicación real por cierto tiempo. La característica verificará que ambos equipos todavía están conectados y disponibles para la comunicación. También ahorra al usuario la molestia de tener que volver a introducir su usuario/contraseña para establecer otra conexión segura si se cae la conexión original.

¿Cómo funciona ? Heartbeat envía un mensaje al servidor de OpenSSL que a su vez retransmiste ese mensaje al remitente verificando la conexión. El mensaje contiene dos componentes , un paquete de datos conocidos como la carga útil que puede ser de hasta 64 KB y la información sobre el tamaño de la carga útil .

Sin embargo , la vulnerabilidad Heartbleed en OpenSSL permite a un atacante falsificar la información sobre el tamaño de la carga útil. Por ejemplo, podrían enviar una carga útil de un solo kilobyte en tamaño, pero afirmar que es de 64 KB.

Lo que un servidor de OpenSSL hace con el mensaje deformado de Heartbeat es clave para el peligro que esta vulnerabilidad plantea pues no intenta verificar que la carga útil es del mismo tamaño del que se indica en el mensaje. En su lugar, assume que la carga útil es del tamaño correcto e intenta enviarla de vuelta a la computadora de la cual vino. Sin embargo, ya que el mensaje no tiene la carga de datos  complete de 64KB en su lugar automáticamente “rellena” la carga útil con los datos almacenados al lado de él en la memoria de la aplicación . Así, si el servidor recibe una carga útil de 1 KB , lo devolverá con 63KB de otros datos almacenados en su memoria . Esto podría incluir las credenciales de inicio de sesión de un usuario , los datos personales , o incluso , en algunos casos , la sesión y claves de cifrado privadas.

Los datos que la aplicación envía de vuelta son elegidos al azar y es posible que el atacante puede recibir algunas piezas de datos incompletas o inútiles. Sin embargo , dada la naturaleza de la vulnerabilidad, el ataque se puede realizar una y otra vez , lo que significa que el atacante puede obtener una imagen más completa y grande de los datos almacenados por la aplicación a lo largo del tiempo.

Claves de cifrado privadas pueden ser lo más difícil de robar usando este ataque . Los datos se almacenan de manera secuencial , con nuevos datos almacenados en frente de los más antiguos . Las claves de encriptación normalmente se almacenan “detrás” de la carga útil en la memoria, lo que significa que son menos propensos a ser vistos. Sin embargo, el contenido de las sesiones actuales de SSL / TLS son los datos con más probabilidades de estar en riesgo.

El bug Heartbleed es el más reciente de una serie de vulnerabilidades de SSL / TLS descubiertas este año. Tanto TLS como su mayor predecesor SSL son protocolos seguros de comunicación de Internet y trabajan mediante el cifrado del tráfico entre dos equipos.

En Febrero, Apple tuvo que remediar dos vulnerabilidades críticas que afectan a SSL en su software. En primer lugar, emitió una actualización para su sistema operativo móvil iOS , que reparó un error que permitía a un atacante con una posición privilegiada de red capturar o modificar los datos de sesiones protegidas por SSL / TLS. Días más tarde, se emitió una segunda actualización, esta vez para su sistema operativo de escritorio, OS X, después de que se descubrió que la misma vulnerabilidad también lo afectó.

En Marzo, un certificado de vulnerabilidad fue encontrado en la librería de seguridad GnuTLS, que se utiliza en un gran número de versiones de Linux , incluyendo los productos de escritorio y servidores de Red Hat, así como en las distribuciones Ubuntu y Debian del sistema operativo.

GnuTLS es una implementación de software de código abierto de SSL / TLS. El bug significa que GnuTLS no manejó correctamente algunos errores que podrían ocurrir al verificar un certificado de seguridad . Esto podría permitir a un atacante utilizar un certificado especialmente diseñado para engañar GnuTLS para que confíe en un sitio web malicioso. Esta vulnerabilidad fue parchada inmediatamente por GnuTLS .

Heartbleed es por mucho, la vulnerabilidad más grave en SSL / TLS que se ha descubierto en los últimos tiempos . La naturaleza del error y el hecho de que afecta a una de las implementaciones más utilizadas de SSL / TLS significa que representa un riesgo inmediato .

 

Consejos para las empresas

  • Se trata de una vulnerabilidad de la biblioteca OpenSSL , y no un defecto con SSL / TLS , o certificados expedidos por Symantec .
  • Cualquier persona que use OpenSSL 1.0.1 través 1.0.1f debería actualizar a la última versión fija del software ( 1.0.1g ) o recompilar OpenSSL sin la extensión heartbeat.
  • Después de mudarse a una versión fija de OpenSSL , si cree que sus certificados de servidor web pueden haber sido comprometidos o robados como resultado de la explotación, entre en contacto con la entidad emisora ​​de certificados para un reemplazo.
  • Por último , y como una buena práctica , las empresas deben también considerar restablecer las contraseñas de los usuarios finales que pueden haber sido visibles en la memoria del servidor comprometido.

 

Consejos para los consumidores

• Considerar que nuestros datos podrían haber sido vistos por un tercero, si utilizamos un proveedor de servicios vulnerable.

• Monitorear los avisos de los sitios y fabricantes que usamos en nuestras tareas. Una vez que un proveedor vulnerable ha comunicado a los clientes de que deben cambiar sus contraseñas , debemos hacerlo.

• Ignorar posibles correos electrónicos de phishing (estafas) de atacantes que le pedirán que actualice la contraseña – para evitar ir a un sitio web falso, usar el dominio oficial del sitio y teclearlo en la barra de dirección.

• Usar sitios web y servicios de buena reputación . Ellos son los más propensos a resolver de forma inmediata la vulnerabilidad.

• Revisar los estados de cuenta bancarios y de tarjetas de crédito para comprobar que no existen transacciones inusuales.

ACTUALIZACIÓN 10 de abril 2014 : Symantec’s SSL Tools Certificate Checker

verificará si un sitio web es vulnerable a la explotación. Puede acceder al verificador de certificados en la siguiente dirección: https://ssltools.websecurity.symantec.com/checker

Para usar el Verificador de certificados, haga clic en Comprobar su instalación cerftificate e introduzca la URL del sitio web.

heartbleed-explained_02.png

???????????????????? Heartbleed ???

      No Comments on ???????????????????? Heartbleed ???

暗号プロトコル SSL と TLS の最も普及している実装である OpenSSL に、新たな脆弱性が見つかりました。パッチ未適用のサーバーには、直接の深刻な危険が及ぶ恐れがあります。Heartbleed と呼ばれるこの脆弱性を悪用すると、攻撃者はセキュア通信を傍受して、ログイン情報や個人データ、さらには暗号鍵といった機密情報を盗み出すことができます。

Heartbleed、すなわち OpenSSL TLS の ‘Heartbeat’ 拡張機能に存在する情報漏えいの脆弱性(CVE-2014-0160)は、OpenSSL の Heartbeat というコンポーネントに影響します。OpenSSL は、SSL(Secure Sockets Layer)プロトコルと TLS(Transport Layer Security)プロトコルにおける普及率がきわめて高いオープンソース実装です。

Heartbeat は、実際の通信が発生していない間でも TLS セッションの接続を維持する、TLS プロトコルの拡張機能です。この機能によって、双方のコンピュータがまだ接続状態にあり、通信可能であることが確認されます。最初の接続が切断された場合でも、もう一度セキュア接続を確立するときに資格情報を再入力する手間も省けます。

この仕組みは次のとおりです。まず Heartbeat が OpenSSL サーバーにメッセージを送信し、次に OpenSSL サーバーがそのメッセージを送信者に戻し、接続を検証します。このメッセージには、ペイロードに当たる最大 64KB のデータパケットと、ペイロードのサイズに関する情報の 2 つのコンポーネントが含まれています。

ところが、攻撃者は、OpenSSL に存在する Heartbleed 脆弱性を悪用して、ペイロードのサイズに関する情報を偽装することができます。たとえば、実際には 1KB しかないペイロードを 64KB と称して送信できるのです。

この脆弱性がどのような危険をもたらすのか、その手掛かりは、OpenSSL サーバーがこの不正な Heartbeat メッセージを処理する方法にあります。OpenSSL は、ペイロードの実際のサイズが、メッセージに指定されているサイズ情報と一致するかどうかの検証を行いません。代わりに、送信者が送ったペイロードが正しいサイズであると想定して、送信元のコンピュータに送り返そうとします。しかし、このペイロードは実際には 64KB 分のデータを持っていないため、アプリケーションのメモリ上で隣の場所に格納されているデータを使って、自動的にペイロードの空きを埋めようとします。つまり、1KB のペイロードを受信したとすると、サーバーはメモリに格納されている別の 63KB 分のデータも一緒に送り返すことになります。この部分に、ユーザーのログイン情報や個人データ、さらにはセッション鍵や秘密鍵が含まれている恐れがあります。

アプリケーションが送り返すデータはランダムなので、攻撃者は、断片的で役に立たないデータしか受信できないかもしれませんが、この脆弱性の性質を考えると、攻撃は何度も何度も繰り返して実行できるため、攻撃を繰り返すうちにアプリケーションが格納しているデータを広い範囲で手に入れることも可能です。

この攻撃を行っても、秘密鍵を盗み出すのはきわめて難しいと考えられます。データは逐次的に格納されるので、新しいデータは古いデータよりも前の位置に格納されます。秘密鍵は、通常、メモリ上でペイロードより「後ろ」に格納されるので、アクセスされる可能性は高くありません。データのうちリスクにさらされる可能性が最も高いのは、現在の SSL/TLS セッションの内容です。

Heartbleed は、今年になって発見された一連の SSL/TLS に関する脆弱性のなかでも最大のバグです。TLS と、それより先に誕生した SSL は、どちらもインターネット通信のためのセキュアプロトコルであり、2 つのコンピュータ間のトラフィックを暗号化するよう動作します。

今年 2 月、Apple 社は同社製ソフトウェアの SSL に影響する 2 つの重大な脆弱性を修正しました。最初に公開されたのは、同社のモバイルオペレーティングシステムである iOS に対する更新で、アクセス制限のあるネットワークポジションを利用する攻撃者が、SSL/TLS で保護されているセッションのデータを取得または変更できるというバグを修正するパッチです。数日後に、今度はデスクトップオペレーティングシステムである OS X に対する更新が公開されました。同じ脆弱性が OS X にも影響すると判明したためです。

3 月には、セキュリティライブラリ GnuTLS で証明書の脆弱性が発見されています。GnuTLS は数多くのバージョンの Linux で使われており、Red Hat 社のデスクトップ製品やサーバー製品、Ubuntu および Debian ディストリビューションで採用されています。

GnuTLS は、SSL/TLS のオープンソース実装であり、このバグが見つかったということは、つまり GnuTLS が「SSL サーバ証明書」の検証時に発生しうる一部のエラーを正しく処理できないことを意味します。攻撃者は、このバグを悪用して、特別に細工された「SSL サーバ証明書」を使って GnuTLS を欺き、悪質な Web サイトを信頼させることが可能になります。この脆弱性に対しては、GnuTLS によってただちにパッチが公開されました

Heartbleed は、最近 SSL/TLS 関連で発見された脆弱性のなかでも特に深刻です。この脆弱性の性質と、最も普及している SSL/TLS 実装に影響するという事実から、これは緊急のリスクにつながる可能性があります。

企業向けの注意事項:

  • これは OpenSSL ライブラリの脆弱性であり、SSL/TLS プロトコルやシマンテックが発行する「SSL サーバ証明書」の欠陥ではありません。
  • OpenSSL 1.0.1 から 1.0.1f を使っている場合には、最新の修正版(1.0.1g)に更新するか、Heartbeat 拡張機能を使わずに OpenSSL を再コンパイルする必要があります。
  • 修正版の OpenSSL への更新後、脆弱性が悪用されたことで Web サーバーの「SSL サーバ証明書」が侵害された、または秘密鍵を盗まれたと考えられる場合には、認証局に連絡して「SSL サーバ証明書」の再発行を依頼してください。
  • 基本的なセキュリティ対策(ベストプラクティス)として、侵入を受けたサーバーのメモリから漏えいした可能性を考慮し、エンドユーザーのパスワードをリセットすることも検討する必要があります。

消費者向けの注意事項:

  • 利用しているサービスプロバイダのサーバーが脆弱な場合は、データが第三者に盗み見られた可能性があります。
  • 利用しているプロバイダからの通知を見逃さないようにしてください。脆弱性を確認したプロバイダからパスワードを変更するよう連絡があった場合には、指示に従ってパスワードを変更してください。
  • たとえパスワードの更新を促す内容であっても、攻撃者からのフィッシングメールである可能性には注意し、公式サイトのドメインを確認したうえで、偽装された Web サイトにアクセスしないように気を付けてください。
  • 信頼できる著名な Web サイトとサービスのみを利用してください。そういったサイトやサービスでは、脆弱性に速やかに対処する可能性が高いと思われます。
  • 銀行口座やクレジットカードの明細に注意して、不審な取引がないかどうかを確認してください。

 

2014 年 4 月 11 日更新: シマンテックの SSL Toolbox の Certificate Checker を使って、Web サイトがこの悪用に対して脆弱かどうかを確認することができます。以下の URL から Certificate Checker にアクセスできます。
https://ssltools.websecurity.symantec.com/checker/

Certificate Checker を使用するには、[Check your certificate installation]をクリックして Web サイトの URL を入力します。

heartbleed-explained_02.png

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。