Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
Yoshio Hanawa
125,211 views
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
2015/1/24 江戸前セキュリティ勉強会のLT発表資料です
Software
◦
Read more
217
Save
Share
Embed
Save to Drive
Download now
Downloaded 130 times
1
/ 21
2
/ 21
3
/ 21
4
/ 21
5
/ 21
6
/ 21
7
/ 21
8
/ 21
9
/ 21
Most read
10
/ 21
Most read
11
/ 21
Most read
12
/ 21
13
/ 21
14
/ 21
15
/ 21
16
/ 21
17
/ 21
18
/ 21
19
/ 21
20
/ 21
More Related Content
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
16 slides
287.8K views
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
21 slides
53.4K views
PPTX
Spanner移行について本気出して考えてみた
by
techgamecollege
59 slides
1.9K views
PPTX
AWSで作る分析基盤
by
Yu Otsubo
118 slides
7.9K views
PDF
Pythonによる黒魔術入門
by
大樹 小倉
35 slides
47.1K views
PDF
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
51 slides
52.6K views
PPT
Raft
by
Preferred Networks
77 slides
46.1K views
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
30 slides
53.8K views
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
16 slides
287.8K views
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
21 slides
53.4K views
Spanner移行について本気出して考えてみた
by
techgamecollege
59 slides
1.9K views
AWSで作る分析基盤
by
Yu Otsubo
118 slides
7.9K views
Pythonによる黒魔術入門
by
大樹 小倉
35 slides
47.1K views
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
51 slides
52.6K views
Raft
by
Preferred Networks
77 slides
46.1K views
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
30 slides
53.8K views
What's hot
PDF
エクセルで統計分析 統計プログラムHADについて
by
Hiroshi Shimizu
41 slides
7.4M views
PPTX
ゲームエンジニアのためのデータベース設計
by
sairoutine
32 slides
35K views
PDF
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
by
infinite_loop
30 slides
49.4K views
PDF
Paxos
by
Preferred Networks
64 slides
38.4K views
PDF
PHPからgoへの移行で分かったこと
by
gree_tech
39 slides
7.3K views
PPTX
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
63 slides
40.2K views
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
60 slides
53.9K views
PDF
機械学習モデルのサービングとは?
by
Sho Tanaka
13 slides
1.7K views
PDF
[DL輪読会]Diffusion-based Voice Conversion with Fast Maximum Likelihood Samplin...
by
Deep Learning JP
16 slides
2K views
PDF
Granger因果による時系列データの因果推定(因果フェス2015)
by
Takashi J OZAKI
43 slides
39.5K views
PDF
CRDT in 15 minutes
by
Shingo Omura
16 slides
4K views
PPTX
Azure Search 大全
by
Daiyu Hatakeyama
194 slides
8.3K views
PDF
データベース技術の羅針盤
by
Yoshinori Matsunobu
39 slides
124.5K views
PPTX
できる!KickstartとAnsible!
by
Wataru NOGUCHI
23 slides
4.4K views
PDF
Swaggerでのapi開発よもやま話
by
KEISUKE KONISHI
36 slides
28.5K views
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
70 slides
753.9K views
PPTX
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
by
Holden Karau
47 slides
1.2K views
PDF
RESTful Web アプリの設計レビューの話
by
Takuto Wada
29 slides
72.8K views
PPTX
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
by
Yusuke Shirakawa
59 slides
7.6K views
PDF
Laravel の paginate は一体何をやっているのか
by
Shohei Okada
34 slides
16K views
エクセルで統計分析 統計プログラムHADについて
by
Hiroshi Shimizu
41 slides
7.4M views
ゲームエンジニアのためのデータベース設計
by
sairoutine
32 slides
35K views
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
by
infinite_loop
30 slides
49.4K views
Paxos
by
Preferred Networks
64 slides
38.4K views
PHPからgoへの移行で分かったこと
by
gree_tech
39 slides
7.3K views
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
63 slides
40.2K views
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
60 slides
53.9K views
機械学習モデルのサービングとは?
by
Sho Tanaka
13 slides
1.7K views
[DL輪読会]Diffusion-based Voice Conversion with Fast Maximum Likelihood Samplin...
by
Deep Learning JP
16 slides
2K views
Granger因果による時系列データの因果推定(因果フェス2015)
by
Takashi J OZAKI
43 slides
39.5K views
CRDT in 15 minutes
by
Shingo Omura
16 slides
4K views
Azure Search 大全
by
Daiyu Hatakeyama
194 slides
8.3K views
データベース技術の羅針盤
by
Yoshinori Matsunobu
39 slides
124.5K views
できる!KickstartとAnsible!
by
Wataru NOGUCHI
23 slides
4.4K views
Swaggerでのapi開発よもやま話
by
KEISUKE KONISHI
36 slides
28.5K views
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
70 slides
753.9K views
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
by
Holden Karau
47 slides
1.2K views
RESTful Web アプリの設計レビューの話
by
Takuto Wada
29 slides
72.8K views
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
by
Yusuke Shirakawa
59 slides
7.6K views
Laravel の paginate は一体何をやっているのか
by
Shohei Okada
34 slides
16K views
Viewers also liked
PPTX
技術選択とアーキテクトの役割
by
Toru Yamaguchi
90 slides
42.2K views
PDF
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
by
Yusuke Hirao
88 slides
82.4K views
PDF
運用に自動化を求めるのは間違っているだろうか
by
Masahito Zembutsu
195 slides
55.9K views
PDF
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
by
Ken'ichi Matsui
96 slides
99.7K views
PDF
MySQLテーブル設計入門
by
yoku0825
145 slides
48.4K views
PDF
実践イカパケット解析
by
Yuki Mizuno
90 slides
120.5K views
PDF
ウェブパフォーマンスの基礎とこれから
by
Hiroshi Kawada
89 slides
111.8K views
PPTX
Webアプリケーション負荷試験実践入門
by
樽八 仲川
117 slides
53.7K views
PDF
オンラインゲームの仕組みと工夫
by
Yuta Imai
56 slides
889.1K views
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
by
慎一 古賀
84 slides
87.2K views
PDF
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
by
Takeshi HASEGAWA
70 slides
133.8K views
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
45 slides
174.7K views
PDF
中の下のエンジニアを脱出するための仕事術
by
Noriaki Kadota
15 slides
46.9K views
PDF
SSL/TLSの基礎と最新動向
by
shigeki_ohtsu
118 slides
57.4K views
PDF
MySQL 5.7の罠があなたを狙っている
by
yoku0825
75 slides
122.8K views
PDF
フーリエ変換と画像圧縮の仕組み
by
yuichi takeda
100 slides
244.6K views
PDF
エンジニアのための経営学
by
Michitaka Yumoto
75 slides
89.1K views
PDF
インフラエンジニアがUnityをやるべきたった一つの理由
by
axsh co., LTD.
44 slides
124K views
PDF
プログラムを高速化する話
by
京大 マイコンクラブ
120 slides
268.3K views
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
34 slides
149.7K views
技術選択とアーキテクトの役割
by
Toru Yamaguchi
90 slides
42.2K views
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
by
Yusuke Hirao
88 slides
82.4K views
運用に自動化を求めるのは間違っているだろうか
by
Masahito Zembutsu
195 slides
55.9K views
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
by
Ken'ichi Matsui
96 slides
99.7K views
MySQLテーブル設計入門
by
yoku0825
145 slides
48.4K views
実践イカパケット解析
by
Yuki Mizuno
90 slides
120.5K views
ウェブパフォーマンスの基礎とこれから
by
Hiroshi Kawada
89 slides
111.8K views
Webアプリケーション負荷試験実践入門
by
樽八 仲川
117 slides
53.7K views
オンラインゲームの仕組みと工夫
by
Yuta Imai
56 slides
889.1K views
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
by
慎一 古賀
84 slides
87.2K views
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
by
Takeshi HASEGAWA
70 slides
133.8K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
45 slides
174.7K views
中の下のエンジニアを脱出するための仕事術
by
Noriaki Kadota
15 slides
46.9K views
SSL/TLSの基礎と最新動向
by
shigeki_ohtsu
118 slides
57.4K views
MySQL 5.7の罠があなたを狙っている
by
yoku0825
75 slides
122.8K views
フーリエ変換と画像圧縮の仕組み
by
yuichi takeda
100 slides
244.6K views
エンジニアのための経営学
by
Michitaka Yumoto
75 slides
89.1K views
インフラエンジニアがUnityをやるべきたった一つの理由
by
axsh co., LTD.
44 slides
124K views
プログラムを高速化する話
by
京大 マイコンクラブ
120 slides
268.3K views
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
34 slides
149.7K views
More from Yoshio Hanawa
PPTX
自宅の消費電力をリアルタイムに グラフ化してみた
by
Yoshio Hanawa
26 slides
1K views
PDF
Zend VMにおける例外の実装
by
Yoshio Hanawa
52 slides
1K views
PDF
Zend VMにおける例外の実装
by
Yoshio Hanawa
49 slides
741 views
PDF
ぼくのかんがえる さいきょうの銀行振込
by
Yoshio Hanawa
24 slides
610 views
PDF
「OKグーグル! 銀行振込1000円」
by
Yoshio Hanawa
26 slides
558 views
PDF
浮動小数点数とOSSのバグの話
by
Yoshio Hanawa
19 slides
1.1K views
PDF
PHP拡張をPECLに登録してわかったこと
by
Yoshio Hanawa
19 slides
7.6K views
PDF
GitHubからお金をもらった話
by
Yoshio Hanawa
18 slides
2K views
PDF
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
by
Yoshio Hanawa
29 slides
12.4K views
PDF
realpathキャッシュと OPcacheの面倒すぎる関係
by
Yoshio Hanawa
51 slides
10.2K views
PDF
家庭用ブロードバンドルータ上でWordPressを動かそう
by
Yoshio Hanawa
21 slides
5.7K views
PDF
Laungage Update PHP編
by
Yoshio Hanawa
17 slides
4.1K views
PDF
PHPの拡張モジュールをGoで作る
by
Yoshio Hanawa
18 slides
11.3K views
PDF
GitHubにバグ報告して賞金$500を頂いた話
by
Yoshio Hanawa
19 slides
8.5K views
PDF
php-buildがいかに便利かを力説する
by
Yoshio Hanawa
21 slides
10.7K views
PDF
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
by
Yoshio Hanawa
40 slides
14.7K views
PDF
PHP7の拡張モジュール事情
by
Yoshio Hanawa
23 slides
9.1K views
PDF
PHP7の内部実装から学ぶ性能改善テクニック
by
Yoshio Hanawa
64 slides
17.8K views
PDF
PHPの正規表現と最長一致
by
Yoshio Hanawa
14 slides
2.7K views
PDF
PHP7で変わること ——言語仕様とエンジンの改善ポイント
by
Yoshio Hanawa
51 slides
172K views
自宅の消費電力をリアルタイムに グラフ化してみた
by
Yoshio Hanawa
26 slides
1K views
Zend VMにおける例外の実装
by
Yoshio Hanawa
52 slides
1K views
Zend VMにおける例外の実装
by
Yoshio Hanawa
49 slides
741 views
ぼくのかんがえる さいきょうの銀行振込
by
Yoshio Hanawa
24 slides
610 views
「OKグーグル! 銀行振込1000円」
by
Yoshio Hanawa
26 slides
558 views
浮動小数点数とOSSのバグの話
by
Yoshio Hanawa
19 slides
1.1K views
PHP拡張をPECLに登録してわかったこと
by
Yoshio Hanawa
19 slides
7.6K views
GitHubからお金をもらった話
by
Yoshio Hanawa
18 slides
2K views
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
by
Yoshio Hanawa
29 slides
12.4K views
realpathキャッシュと OPcacheの面倒すぎる関係
by
Yoshio Hanawa
51 slides
10.2K views
家庭用ブロードバンドルータ上でWordPressを動かそう
by
Yoshio Hanawa
21 slides
5.7K views
Laungage Update PHP編
by
Yoshio Hanawa
17 slides
4.1K views
PHPの拡張モジュールをGoで作る
by
Yoshio Hanawa
18 slides
11.3K views
GitHubにバグ報告して賞金$500を頂いた話
by
Yoshio Hanawa
19 slides
8.5K views
php-buildがいかに便利かを力説する
by
Yoshio Hanawa
21 slides
10.7K views
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
by
Yoshio Hanawa
40 slides
14.7K views
PHP7の拡張モジュール事情
by
Yoshio Hanawa
23 slides
9.1K views
PHP7の内部実装から学ぶ性能改善テクニック
by
Yoshio Hanawa
64 slides
17.8K views
PHPの正規表現と最長一致
by
Yoshio Hanawa
14 slides
2.7K views
PHP7で変わること ——言語仕様とエンジンの改善ポイント
by
Yoshio Hanawa
51 slides
172K views
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
1.
Attacking against 5
million SSH public keys 偶然にも500万個の SSH公開鍵を 手に入れた俺たちは hnw 江戸前セキュリティ勉強会 (2015/1/24)発表資料
2.
自己紹介 ❖ @hnw ❖ カレーとバグが大好物 ❖
PHPの方から来ました
3.
アジェンダ ❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖
公約数を探す
4.
❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖
公約数を探す
5.
SSH公開鍵を集める ❖ github.comで集めました ❖ GitHub
APIでユーザーIDが全件取れる ❖ https://github.com/[ユーザーID].keys ❖ 登録しているSSH公開鍵が誰でも取得できる ❖ obsoleteらしいが、長いこと使えている
6.
SSH公開鍵を集める ❖ github.com全850万ユーザー(昨年10月当時) ❖ 鍵の取得だけで2日くらいかかった ❖
約500万個のSSH公開鍵が手に入った
7.
❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖
公約数を探す
8.
弱い鍵ペア ❖ 理屈上、公開鍵暗号では秘密鍵がバレなければ安全 ❖ 公開鍵が500万件もあるとヘマする人もいる ❖
秘密鍵を特定できる公開鍵が実際に見つかった
9.
鍵長が短すぎる鍵 ❖ 攻撃可能そうな鍵が35個みつかった ❖ 256bit
DSA鍵 1個 ❖ 512bit DSA鍵 11個 ❖ 256bit RSA鍵 11個 ❖ 512bit RSA鍵 12個 ❖ 鍵長を明示的に指定して鍵ペア生成しているはず ❖ 公開鍵暗号についての理解が足りない?
10.
鍵長が短すぎる鍵 ❖ 短いRSA鍵は素因数分解で破れる ❖ 256bit
RSA鍵の場合 ❖ p,qともに128bit(10進39桁)の素数 ❖ n(=pq)だけをもとにnを素因数分解すればよい ❖ 素因数分解の実装はネット上に落ちている ❖ 256bit RSA鍵なら3秒で素因数分解できた
11.
古いDebianで作られた脆弱な鍵 ❖ CVE-2008-0166 ❖ Debian系distroのOpenSSL実装にバグが混入した ❖
作られるSSH鍵ペアが32767パターンになる ❖ 全パターンのSSHユーザー鍵を公開している人がいる ❖ 208件が一致した
12.
❖ SSH公開鍵の集め方 ❖ 弱い鍵を見つけた ❖
公約数を探す
13.
RSAに対する既知の攻撃 ❖ 論文「Mining Your
Ps and Qs: Detection of Widespread Weak Keys in Network Devices」 ❖ 乱数生成器の偏りを利用したRSAに対する攻撃 ❖ 多数の公開鍵から公約数を見つけるもの ❖ SSL証明書とSSHホスト鍵あわせて1100万個を調査 ❖ 約6万個の鍵を素因数分解できた
14.
ここに公開鍵がたくさんあるじゃろ? ❖ 論文の筆者が作ったプログラムは公開されている ❖ fastgcd ❖
https://factorable.net/resources.html
15.
SSHユーザー鍵でGCD計算 ❖ メモリとストレージが必要 ❖ いったん全部の積を求めるため ❖
500万個のGCD計算がAWSなら100円 ❖ c3.4xlarge(メモリ30GB)で40分
16.
SSHユーザー鍵でGCD計算 ❖ 期待通りに素因数分解できたものは無かった ❖ 乱数生成器の偏りは見つからなかった
17.
SSHユーザー鍵でGCD計算 ❖ 155個について約数が見つかった ❖ 16進1桁から7桁の数で割り切れる ❖
割ってもまだ合成数 ❖ コピペミスした公開鍵が登録されている?
18.
コピペミスした鍵のリスク ❖ 正しい秘密鍵でもログインできない状態 ❖ nの素因数分解さえできれば秘密鍵は作れる ❖
nの素因数が偶然小さい素数ばかりだと危険 ❖ あまり指摘されていないリスクなのでは?
19.
まとめ ❖ 多数のSSH公開鍵を調査した ❖ リスクのある鍵を使っているユーザーが実在する ❖
攻撃者有利な時代だと再認識した ❖ 実装、データ、計算機いずれも簡単に手に入る
20.
懇親会にも参加します ❖ アドバイス・雑談などお待ちしております
21.
ご静聴 ありがとう ございました