• Attacking against 5 million SSH public keys 偶然にも500万個の SSH公開鍵を 手に入れた俺たちは hnw 江戸前セキュリティ勉強会 (2015/1/24)発表資料
  • 自己紹介 ❖ @hnw ❖ カレーとバグが大好物 ❖ PHPの方から来ました
  • アジェンダ ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • SSH公開鍵を集める ❖ github.comで集めました ❖ GitHub APIでユーザーIDが全件取れる ❖ https://github.com/[ユーザーID].keys ❖ 登録しているSSH公開鍵が誰でも取得できる ❖ obsoleteらしいが、長いこと使えている
  • SSH公開鍵を集める ❖ github.com全850万ユーザー(昨年10月当時) ❖ 鍵の取得だけで2日くらいかかった ❖ 約500万個のSSH公開鍵が手に入った
  • ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • 弱い鍵ペア ❖ 理屈上、公開鍵暗号では秘密鍵がバレなければ安全 ❖ 公開鍵が500万件もあるとヘマする人もいる ❖ 秘密鍵を特定できる公開鍵が実際に見つかった
  • 鍵長が短すぎる鍵 ❖ 攻撃可能そうな鍵が35個みつかった ❖ 256bit DSA鍵 1個 ❖ 512bit DSA鍵 11個 ❖ 256bit RSA鍵 11個 ❖ 512bit RSA鍵 12個 ❖ 鍵長を明示的に指定して鍵ペア生成しているはず ❖ 公開鍵暗号についての理解が足りない?
  • 鍵長が短すぎる鍵 ❖ 短いRSA鍵は素因数分解で破れる ❖ 256bit RSA鍵の場合 ❖ p,qともに128bit(10進39桁)の素数 ❖ n(=pq)だけをもとにnを素因数分解すればよい ❖ 素因数分解の実装はネット上に落ちている ❖ 256bit RSA鍵なら3秒で素因数分解できた
  • 古いDebianで作られた脆弱な鍵 ❖ CVE-2008-0166 ❖ Debian系distroのOpenSSL実装にバグが混入した ❖ 作られるSSH鍵ペアが32767パターンになる ❖ 全パターンのSSHユーザー鍵を公開している人がいる ❖ 208件が一致した
  • ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • RSAに対する既知の攻撃 ❖ 論文「Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices」 ❖ 乱数生成器の偏りを利用したRSAに対する攻撃 ❖ 多数の公開鍵から公約数を見つけるもの ❖ SSL証明書とSSHホスト鍵あわせて1100万個を調査 ❖ 約6万個の鍵を素因数分解できた
  • ここに公開鍵がたくさんあるじゃろ? ❖ 論文の筆者が作ったプログラムは公開されている ❖ fastgcd ❖ https://factorable.net/resources.html
  • SSHユーザー鍵でGCD計算 ❖ メモリとストレージが必要 ❖ いったん全部の積を求めるため ❖ 500万個のGCD計算がAWSなら100円 ❖ c3.4xlarge(メモリ30GB)で40分
  • SSHユーザー鍵でGCD計算 ❖ 期待通りに素因数分解できたものは無かった ❖ 乱数生成器の偏りは見つからなかった
  • SSHユーザー鍵でGCD計算 ❖ 155個について約数が見つかった ❖ 16進1桁から7桁の数で割り切れる ❖ 割ってもまだ合成数 ❖ コピペミスした公開鍵が登録されている?
  • コピペミスした鍵のリスク ❖ 正しい秘密鍵でもログインできない状態 ❖ nの素因数分解さえできれば秘密鍵は作れる ❖ nの素因数が偶然小さい素数ばかりだと危険 ❖ あまり指摘されていないリスクなのでは?
  • まとめ ❖ 多数のSSH公開鍵を調査した ❖ リスクのある鍵を使っているユーザーが実在する ❖ 攻撃者有利な時代だと再認識した ❖ 実装、データ、計算機いずれも簡単に手に入る
  • 懇親会にも参加します ❖ アドバイス・雑談などお待ちしております
  • ご静聴 ありがとう ございました
Please download to view
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
...

偶然にも500万個のSSH公開鍵を手に入れた俺たちは

by yoshio-hanawa

on

Report

Category:

Software

Download: 0

Comment: 0

89,971

views

Comments

Description

Download 偶然にも500万個のSSH公開鍵を手に入れた俺たちは

Transcript

  • Attacking against 5 million SSH public keys 偶然にも500万個の SSH公開鍵を 手に入れた俺たちは hnw 江戸前セキュリティ勉強会 (2015/1/24)発表資料
  • 自己紹介 ❖ @hnw ❖ カレーとバグが大好物 ❖ PHPの方から来ました
  • アジェンダ ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • SSH公開鍵を集める ❖ github.comで集めました ❖ GitHub APIでユーザーIDが全件取れる ❖ https://github.com/[ユーザーID].keys ❖ 登録しているSSH公開鍵が誰でも取得できる ❖ obsoleteらしいが、長いこと使えている
  • SSH公開鍵を集める ❖ github.com全850万ユーザー(昨年10月当時) ❖ 鍵の取得だけで2日くらいかかった ❖ 約500万個のSSH公開鍵が手に入った
  • ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • 弱い鍵ペア ❖ 理屈上、公開鍵暗号では秘密鍵がバレなければ安全 ❖ 公開鍵が500万件もあるとヘマする人もいる ❖ 秘密鍵を特定できる公開鍵が実際に見つかった
  • 鍵長が短すぎる鍵 ❖ 攻撃可能そうな鍵が35個みつかった ❖ 256bit DSA鍵 1個 ❖ 512bit DSA鍵 11個 ❖ 256bit RSA鍵 11個 ❖ 512bit RSA鍵 12個 ❖ 鍵長を明示的に指定して鍵ペア生成しているはず ❖ 公開鍵暗号についての理解が足りない?
  • 鍵長が短すぎる鍵 ❖ 短いRSA鍵は素因数分解で破れる ❖ 256bit RSA鍵の場合 ❖ p,qともに128bit(10進39桁)の素数 ❖ n(=pq)だけをもとにnを素因数分解すればよい ❖ 素因数分解の実装はネット上に落ちている ❖ 256bit RSA鍵なら3秒で素因数分解できた
  • 古いDebianで作られた脆弱な鍵 ❖ CVE-2008-0166 ❖ Debian系distroのOpenSSL実装にバグが混入した ❖ 作られるSSH鍵ペアが32767パターンになる ❖ 全パターンのSSHユーザー鍵を公開している人がいる ❖ 208件が一致した
  • ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖ 公約数を探す
  • RSAに対する既知の攻撃 ❖ 論文「Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices」 ❖ 乱数生成器の偏りを利用したRSAに対する攻撃 ❖ 多数の公開鍵から公約数を見つけるもの ❖ SSL証明書とSSHホスト鍵あわせて1100万個を調査 ❖ 約6万個の鍵を素因数分解できた
  • ここに公開鍵がたくさんあるじゃろ? ❖ 論文の筆者が作ったプログラムは公開されている ❖ fastgcd ❖ https://factorable.net/resources.html
  • SSHユーザー鍵でGCD計算 ❖ メモリとストレージが必要 ❖ いったん全部の積を求めるため ❖ 500万個のGCD計算がAWSなら100円 ❖ c3.4xlarge(メモリ30GB)で40分
  • SSHユーザー鍵でGCD計算 ❖ 期待通りに素因数分解できたものは無かった ❖ 乱数生成器の偏りは見つからなかった
  • SSHユーザー鍵でGCD計算 ❖ 155個について約数が見つかった ❖ 16進1桁から7桁の数で割り切れる ❖ 割ってもまだ合成数 ❖ コピペミスした公開鍵が登録されている?
  • コピペミスした鍵のリスク ❖ 正しい秘密鍵でもログインできない状態 ❖ nの素因数分解さえできれば秘密鍵は作れる ❖ nの素因数が偶然小さい素数ばかりだと危険 ❖ あまり指摘されていないリスクなのでは?
  • まとめ ❖ 多数のSSH公開鍵を調査した ❖ リスクのある鍵を使っているユーザーが実在する ❖ 攻撃者有利な時代だと再認識した ❖ 実装、データ、計算機いずれも簡単に手に入る
  • 懇親会にも参加します ❖ アドバイス・雑談などお待ちしております
  • ご静聴 ありがとう ございました
Fly UP