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
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
道化師 堂華
PPTX, PDF
3,012 views
C++プログラマの為のセキュリティ入門
C++プログラマ向け、セキュリティ入門。 Boost.勉強会 #4 ( http://atnd.org/events/11551 )にて発表。
Technology
◦
Education
◦
Business
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 58
2
/ 58
3
/ 58
4
/ 58
5
/ 58
6
/ 58
7
/ 58
8
/ 58
9
/ 58
10
/ 58
11
/ 58
12
/ 58
13
/ 58
14
/ 58
15
/ 58
16
/ 58
17
/ 58
18
/ 58
19
/ 58
20
/ 58
21
/ 58
22
/ 58
23
/ 58
24
/ 58
25
/ 58
26
/ 58
27
/ 58
28
/ 58
29
/ 58
30
/ 58
31
/ 58
32
/ 58
33
/ 58
34
/ 58
35
/ 58
36
/ 58
37
/ 58
38
/ 58
39
/ 58
40
/ 58
41
/ 58
42
/ 58
43
/ 58
44
/ 58
45
/ 58
46
/ 58
47
/ 58
48
/ 58
49
/ 58
50
/ 58
51
/ 58
52
/ 58
53
/ 58
54
/ 58
55
/ 58
56
/ 58
57
/ 58
58
/ 58
More Related Content
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
by
Preferred Networks
PDF
暗号技術の実装と数学
by
MITSUNARI Shigeo
PDF
CentOS Linux 8 の EOL と対応策の検討
by
Masahito Zembutsu
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
PDF
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
by
VirtualTech Japan Inc.
PDF
すごい constexpr たのしくレイトレ!
by
Genya Murakami
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
by
NTT DATA Technology & Innovation
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
by
Preferred Networks
暗号技術の実装と数学
by
MITSUNARI Shigeo
CentOS Linux 8 の EOL と対応策の検討
by
Masahito Zembutsu
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
by
VirtualTech Japan Inc.
すごい constexpr たのしくレイトレ!
by
Genya Murakami
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
by
NTT DATA Technology & Innovation
What's hot
PPTX
先駆者に学ぶ MLOpsの実際
by
Tetsutaro Watanabe
PPTX
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
by
abend_cve_9999_0001
PPTX
Ceph アーキテクチャ概説
by
Emma Haruka Iwao
PDF
インフラCICDの勘所
by
Toru Makabe
PDF
文字認識はCNNで終わるのか?
by
Seiichi Uchida
PPTX
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
PDF
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
PPTX
ARM LinuxのMMUはわかりにくい
by
wata2ki
PDF
分散学習のあれこれ~データパラレルからモデルパラレルまで~
by
Hideki Tsunashima
PPTX
Linux の hugepage の開発動向
by
Naoya Horiguchi
PDF
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
by
Hiro H.
PDF
Scala の関数型プログラミングを支える技術
by
Naoki Aoyama
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
PPTX
分散ストレージ技術Cephの最新情報
by
Emma Haruka Iwao
PDF
Cognitive Complexity でコードの複雑さを定量的に計測しよう
by
Shuto Suzuki
PDF
最近のJuju/MAAS について
by
VirtualTech Japan Inc.
PDF
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
by
MITSUNARI Shigeo
PDF
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
by
T. Suwa
先駆者に学ぶ MLOpsの実際
by
Tetsutaro Watanabe
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
by
abend_cve_9999_0001
Ceph アーキテクチャ概説
by
Emma Haruka Iwao
インフラCICDの勘所
by
Toru Makabe
文字認識はCNNで終わるのか?
by
Seiichi Uchida
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
ARM LinuxのMMUはわかりにくい
by
wata2ki
分散学習のあれこれ~データパラレルからモデルパラレルまで~
by
Hideki Tsunashima
Linux の hugepage の開発動向
by
Naoya Horiguchi
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
by
Hiro H.
Scala の関数型プログラミングを支える技術
by
Naoki Aoyama
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
Docker Compose 徹底解説
by
Masahito Zembutsu
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
分散ストレージ技術Cephの最新情報
by
Emma Haruka Iwao
Cognitive Complexity でコードの複雑さを定量的に計測しよう
by
Shuto Suzuki
最近のJuju/MAAS について
by
VirtualTech Japan Inc.
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
by
MITSUNARI Shigeo
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
by
T. Suwa
Similar to C++プログラマの為のセキュリティ入門
PDF
CRYPT+YOU, UNDERSTAND TODAY!
by
inaz2
PDF
Sapporocpp#2 exception-primer
by
Kohsuke Yuasa
PDF
組み込みでこそC++を使う10の理由
by
kikairoya
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
by
Hiroshi Tokumaru
PPTX
No.2 超初心者向け セキュリティ入門
by
Study Group by SciencePark Corp.
PPTX
Survey and Analysis of ICS Vulnerabilities (Japanese)
by
Digital Bond
PDF
FFR EXCALOC
by
FFRI, Inc.
PDF
Boost Tour 1.53.0 merge
by
Akira Takahashi
PDF
Boost tour 1_40_0
by
Akira Takahashi
PDF
暗号化データベースモデルにおける関係情報推定を防ぐ索引手法
by
Junpei Kawamoto
PDF
Scope Exit
by
Akira Takahashi
PDF
Boost Tour 1_58_0 merge
by
Akira Takahashi
PPT
Provable Security1
by
Satoshi Hada
PDF
Secure scheme script suite
by
Tod Morita
PDF
Secure Scheme Script Suite
by
shibuya_lisp
PPTX
Cve 2013-0422
by
abend_cve_9999_0001
PDF
ソースコード検査に耐えるコードとは?
by
Yasuo Ohgaki
PDF
暗号技術入門 秘密の国のアリス 総集編
by
京大 マイコンクラブ
PDF
C++勉強会
by
mitsutaka_takeda
PDF
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
by
JPCERT Coordination Center
CRYPT+YOU, UNDERSTAND TODAY!
by
inaz2
Sapporocpp#2 exception-primer
by
Kohsuke Yuasa
組み込みでこそC++を使う10の理由
by
kikairoya
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
by
Hiroshi Tokumaru
No.2 超初心者向け セキュリティ入門
by
Study Group by SciencePark Corp.
Survey and Analysis of ICS Vulnerabilities (Japanese)
by
Digital Bond
FFR EXCALOC
by
FFRI, Inc.
Boost Tour 1.53.0 merge
by
Akira Takahashi
Boost tour 1_40_0
by
Akira Takahashi
暗号化データベースモデルにおける関係情報推定を防ぐ索引手法
by
Junpei Kawamoto
Scope Exit
by
Akira Takahashi
Boost Tour 1_58_0 merge
by
Akira Takahashi
Provable Security1
by
Satoshi Hada
Secure scheme script suite
by
Tod Morita
Secure Scheme Script Suite
by
shibuya_lisp
Cve 2013-0422
by
abend_cve_9999_0001
ソースコード検査に耐えるコードとは?
by
Yasuo Ohgaki
暗号技術入門 秘密の国のアリス 総集編
by
京大 マイコンクラブ
C++勉強会
by
mitsutaka_takeda
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
by
JPCERT Coordination Center
More from 道化師 堂華
PPTX
Reflection with xamarin.forms
by
道化師 堂華
PPTX
独りガラパゴス開発
by
道化師 堂華
PPTX
C++ tips4 cv修飾編
by
道化師 堂華
PPTX
C++ tips 3 カンマ演算子編
by
道化師 堂華
PDF
C++ tips2 インクリメント編
by
道化師 堂華
PPTX
C++ tips1 #include編
by
道化師 堂華
PPTX
エラーハンドリングモデル考察
by
道化師 堂華
PPTX
C++0x総復習
by
道化師 堂華
PPTX
エラーハンドリング
by
道化師 堂華
PPTX
マスタリング バベル
by
道化師 堂華
PPTX
並列プログラミング入門!&おさらい!
by
道化師 堂華
PPTX
バグベアード入門
by
道化師 堂華
PPTX
LUCIFERの設計コンセプトと 導入予定の機能紹介
by
道化師 堂華
Reflection with xamarin.forms
by
道化師 堂華
独りガラパゴス開発
by
道化師 堂華
C++ tips4 cv修飾編
by
道化師 堂華
C++ tips 3 カンマ演算子編
by
道化師 堂華
C++ tips2 インクリメント編
by
道化師 堂華
C++ tips1 #include編
by
道化師 堂華
エラーハンドリングモデル考察
by
道化師 堂華
C++0x総復習
by
道化師 堂華
エラーハンドリング
by
道化師 堂華
マスタリング バベル
by
道化師 堂華
並列プログラミング入門!&おさらい!
by
道化師 堂華
バグベアード入門
by
道化師 堂華
LUCIFERの設計コンセプトと 導入予定の機能紹介
by
道化師 堂華
Recently uploaded
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
C++プログラマの為のセキュリティ入門
1.
C++プログラマの為のセキュリティ入門Boost.勉強会 #4 東京
( 2011-02-26 )
2.
この発表の内容について具体的なコード寄りの話・・・ではなく、そもそもどういったことをやらなければならないのかと言った基本的かつ普遍的な事柄を中心とした内容になっています。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京2
3.
概要セキュリティって?さまざまな問題歴史さまざまな技術C++ではJISECとJCMVP参考情報C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京3
4.
セキュリティって?C++プログラマの為のセキュリティ入門
5.
セキュリティって?はじめに・・・C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京5
6.
ツッコミ怖い!><
7.
セキュリティって?後でもそのツッコミの怖さを紹介しますが、とにかくツッコミがいろんな意味で怖い世界です。ここ数年のトレンドはしっかり追跡してないんでその点についてはご容赦を。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京7
8.
セキュリティって?多くの方がこの発表に求めているであろうもの:「こうしておけば大丈夫/安心です!」という類のものそんなものはあり得ません!そんな幻想は今すぐ捨ててください!C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京8
9.
セキュリティはトータルシステム全体のセキュリティの強度はそのシステム全体の中でもっとも脆弱な部分の強度にほぼ等しい。ガチガチのセキュリティで固めたつもりでも1点の脆弱性で台無しになることもある。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京9
10.
コストパフォーマンスは重要各種セキュリティの導入・運用には一般的にコストがかかるが、そのコストがセキュリティを破られ時の損害を上回るようでは意味がない。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京10
11.
コストパフォーマンスは重要万が一の損害からセキュリティにかけていい適切なコストを考える。適切なレベルでの損害/リスクの最小化を考える。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京11×絶対に破られてはいけない。絶対になんてものがそもそも幻想。そんなスタンスでは無尽蔵にコストがかかる。○
12.
コストパフォーマンスは重要攻撃者視点に立っても、攻撃者がその攻撃を成功させたときに得られるメリットより、攻撃を成功させる為に必要なコストを上回らせることができれば一般的には十分。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京12
13.
リスクアセスメント情報資産の棚卸CIAの観点からリスクを列挙機密性 Confidential完全性 Integrity可用性
Availabilityそれぞれのリスクの対策に必要なコストと損害発生時の被害を天秤にかけ総合的に判断しどのような対策を施すのか決定する。リスクとしては小さいが対策には非常にコストがかかる場合には「対応しない」という選択もあり。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京13
14.
そもそもなにを防ぐべきか?意図していない/許していない権限の取得意図していない/許していない処理の実行情報の漏えい/盗聴/削除/改ざんDoSスパム/荒らしハードウェアの損壊/盗難直接的にはソフトウェアの範疇ではないが、そういった事態に対し損害を最小化するソフトウェア設計になっていることが望ましい。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京14
15.
どう防げばいいのか?適切且つ正確な権限管理入力チェック自分のコードにとっては問題ないデータでもシステムの提供するAPIやシェル等(Webアプリではブラウザなど)がやられてしまうケースが存在する。入出力の正確なエンコード/デコード/エスケープ/アンエスケープ暗号証明ケンジントンロック法的圧力etcC++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京15
16.
公開されているロジックでロジック自体が秘匿にされている暗号製品なんかもありますが、セキュリティ業界ではロジック自体を秘匿にするような暗号はよくないとされ実際一般的には脆弱な暗号であることが多いようです。ロジックが公開されていれば、外部の第三者によるツッコミが入り洗練されます。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京16
17.
安全性の定義各種情報セキュリティ関連の技術や製品には普通その技術や製品を使うことでなにがどう安全なのか明確な定義があります。それが無いようなものの信頼性は推して知るべし。多くの場合、それを正しく理解したうえで正しく利用しないと台無しになります。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京17
18.
安全性の定義ダメな例(錠前編):錠前をつけても鍵をかけていない。錠前に鍵を刺しっぱなし。錠前をつけてる扉の耐久力が極度に脆弱。錠前の耐久力に対して保管物の価値が異常に高い。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京18
19.
暗号の安全性情報理論的安全性情報理論的安全性を持つ暗号文はどんなに時間をかけても解くことは不可能。->強秘匿性計算量的安全性計算量的安全性を持つ暗号文は一般的に現実的な時間の範囲では解けない。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京19
20.
暗号の安全性情報理論的安全性のデメリット暗号文と同じ分量の鍵情報が必要になる。この鍵情報は使い回しが効かない。(使い回すと情報理論的安全性は失われる。)この鍵情報は素の真性乱数でなければならない。(疑似乱数などのアルゴリズムに頼った場合、情報理論的安全性は失われる。)C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京20
21.
暗号の安全性計算量的安全性のデメリット理屈的には時間をかければ解ける。コンピュータの進化が速いこともこの問題に拍車をかける。より高速に解く手法が発見される度に、脆弱になっていく。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京21
22.
事例を追いかけようセキュリティ関連はこれだけやれば完璧・・・となかなか断言できるようなテーマではない。仕事や趣味で手を出す分野のセキュリティインシデントをウォッチし続けよう。他山の石としよう。クラッカーは飽きもせずあの手この手を試し続けるので既知の問題の対策を十分に施しているつもりでも、新しい攻撃手法により思わぬ穴を突かれることもある。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京22
23.
さまざまな問題C++プログラマの為のセキュリティ入門
24.
さまざまな問題通信の盗聴バッファーオーバーフロー整数オーバーフローエスケープセッションハイジャック辞書攻撃ファイルパスファイルコンテンツC++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京24
25.
歴史C++プログラマの為のセキュリティ入門
26.
歴史DESの最強っぷりと衰退、そしてAESへ。DESとは米国で公式連邦情報処理基準として採用された共通鍵のブロック暗号DESの類似暗号の大量発生->DES以外全滅DESの類似暗号には通じた攻撃も、DESだけには通じないという事態が多発。最後はDESも・・・AESへの道のりAES2C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京26
27.
さまざまな技術C++プログラマの為のセキュリティ入門
28.
さまざまな技術ハッシュ関数代表的なハッシュ関数アルゴリズムMD5,SHA1,SHA2MD5やSHA1 は古いので改竄防止目的などではもう非推奨なので注意。C++プログラマの為のセキュリティ入門 Boost.勉強会
#4 東京28
29.
さまざまな技術ハッシュ関数一方向性関数一般的なハッシュ関数の特徴入力値によって出力値が変化する。入力値が同じならば同じ出力値が得られる。入力値が1ビットでも違えば出力値のビットパターン全体がごっそりと変化する。入力値は可変長で出力値は固定長。セキュアなハッシュ関数の特徴出力値から部分的な入力値の予想すらも困難であること。特定の出力値が得られる入力値の計算が困難であること。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京29
30.
さまざまな技術ハッシュ関数ハッシュ関数の用途入力値を保存/記録しないで、以前の入力値と同値であるかどうかを検証破損チェック改ざん防止ハッシュ関数を使用する際、非公開のマジックワードを入力値に加えておくとKDF拡張出力値=H(入力値) -> 出力値=H(H(入力値)+シーケンス番号)の形でハッシュ値を引き延ばすことが可能。シーケンスの部分は
int等の整数値を使用する。10GB以上の規模に引き延ばす場合は64bit整数を使用する。疑似乱数としても使用可能。値空間は元のハッシュ関数と同じ次世代ハッシュ関数は並列処理化が可能C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京30
31.
さまざまな技術暗号鍵暗号共通鍵暗号公開/秘密鍵暗号ブロック暗号/ストリーム暗号C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京31
32.
さまざまな技術暗号秘密分割XOR秘密分散多項式+有限体->秘密分割・秘密分散には一般的に情報理論的安全性と強秘匿性があります。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京32
33.
さまざまな技術暗号データ長やエントロピーの問題一般的に暗号化では平文のデータ長は暗号されない。データ長がバレるだけでも望ましくないケースもあるので注意が必要。例えばパスワードのようなデータは短いってのがばれるだけでも、ブルートフォースで簡単に敗れることがわかるのまずい。そもそもパスワードなんかはハッシュ値で保存するべきですが。性別のようなbool値なデータは単独で同じ鍵を使ったブロック暗号で暗号化してもほとんど意味がない。対策:必要に応じて暗号化前にランダムな値で適当な長さにパディングする。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京33
34.
さまざまな技術乱数真性乱数ほぼ間違いなく偏りが現れる。一般的に疑似乱数に比べ遅い。疑似乱数質の良くない疑似乱数では、アルゴリズム特有の偏りが現れる。シードが同じなら同じ出力が得られる。ハッシュ関数とほぼ逆の特性となる。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京34
35.
さまざまな技術PKI詳細はこの発表では触れません自分で調べてください。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京35
36.
さまざまな技術PKIポイント実在証明でしかない。実在するその会社なりお店なりがブラックでないことまでは保証されない。盗聴/改竄/成りすましなどを防ぐことのできる正しいSSLの通信を利用する為には問題の無い証明書が必要。所謂オレオレ証明書では成りすましを防げない為、盗聴/改竄/成りすましを防げない。証明書の更新時には秘密鍵をちゃんと更新しよう!その為の証明書の更新です。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京36
37.
さまざまな技術TPM( Trusted Platform
Module )ハードウェア耐タンパー性をもつセキュリティチップTPMは以下の機能を提供する。RSA 演算鍵生成鍵格納SHA-1ハッシュ ハッシュ値計算ハッシュ値保管乱数生成TPM1.2から以下の機能が追加された。カウンタ 単純増加カウンタティックカウンタオーナー権委任 (パスワードは公開しない)不揮発性ストレージ保存機能※http://ja.wikipedia.org/wiki/Trusted_Platform_Moduleより抜粋C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京37
38.
C++ではC++プログラマの為のセキュリティ入門
39.
C++ではクライアントで動作するコードであれば全てクラック可能。システム管理者とユーザーとゲストとリモートアクセスに対してどのようにあるべきなのか?クラックにも難易度がある。コードサイニングC++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京39
40.
C++ではサーバーで動作するコード(外部との入出力を行うコード)であれば入力チェックを厳格に入出力のエンコード/デコード/エスケープ/アンエスケープを正しくアクセス権を正しく設定・処理必要に応じてSSLを使用し安全に通信を行う。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京40
41.
C++ではバッファーオーバーラン対策->文字数上限チェックマルチバイトまわりでチョンボしないこと。サロゲートペアまわりでチョンボしないこと。整数オーバーフロー対策->値域上限チェック正しくエスケープどこかのフェーズでNUL文字となるコードを挿入された場合も考慮すること->これを気を付けていないとconst char *
で処理を行った際にNUL文字以降の部分がエスケープ等の処理を免れることが発生してしまう。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京41
42.
C++では不正な文字エンコードの検出UTF-8 でのチェック逃れマルチバイト文字列での閉じ文字喰いファイルパス相対パスのチェックNGワードの除外( Windows
での CON, AUX 等 )偽バックスラッシュUNICODE制御文字ShiftとXORを使った文字列の難読化NUL文字はNUL文字のままにできる。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京42
43.
C++ではセキュアな乱数Windows であれば
CryptGenRandom() を使う。Linux であれば /dev/random あるいは /dev/urandomを使う。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京43
44.
C++ではライブラリCrypto++Crypto APIOpenSSLC++プログラマの為のセキュリティ入門 Boost.勉強会
#4 東京44
45.
C++ではWindows の Crypto
API を使用する上での注意。CryptAcquireContext() を呼び出した際に環境によっては NTE_BAD_KEYSET エラー(GetLastError()の戻り値)になる場合がある。その場合にのみ CRYPT_NEWKEYSET を指定して CryptAcquireContext()の最後の引数に加えて呼び出す必要がある。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京45
46.
C++ではC++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京46// Crypto Provider Handle の初期化HCRYPTPROV handle;if (!CryptAcquireContext(&handle, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT)) { if (GetLastError() == (DWORD)NTE_BAD_KEYSET) { if (!CryptAcquireContext(&handle, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT | CRYPT_NEWKEYSET)) { handle = NULL; } } else { handle = NULL; }}assert(NULL != handle);// Crypto Provider Handle を使った処理...// Crypto Provider Handle の解放CryptReleaseContext(handle, 0);handle = NULL;
47.
C++ではUnix/Linux 系での注意。/dev/random および/dev/urandomが無い環境もある。必要に応じてこれらの実装をインストールする必要があることをなんらかの形でユーザーに通知。/dev/random
の読み込むコードは十分なエントロピーが確保できるまで待たされる場合がある。/dev/urandomは /dev/random のように待たされることはないが、セキュアな乱数であることの担保はない。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京47
48.
JISECとJCMVPC++プログラマの為のセキュリティ入門
49.
JISECとJCMVP本当に大丈夫なのか疑問な製品も多いし、残念ながら明らかにそりゃ駄目だろうって製品も多い。ほんとうにこの製品に情報をあずけて大丈夫なの?->適切な対策が施されてることを知りたい。C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京49
50.
JISECとJCMVPJISECIPAが運営しているITセキュリティ評価及び認証制度CC国際的なセキュリティ評価基準ISO/IEC 15408CEM国際的なセキュリティ評価方法ISO/IEC 18045ST確認制度限定的な確認制度C++プログラマの為のセキュリティ入門
Boost.勉強会 #4 東京50
51.
JISECとJCMVPJCMVPIPAが運営している暗号モジュール試験及び認証制度C++プログラマの為のセキュリティ入門 Boost.勉強会 #4
東京51
52.
JISECとJCMVP製品/サービスの売りになるセキュリティ関連の為の開発工数の予算をゲットできる。申請そのものの直接の費用は規模に応じて変わる。( 審査を行う第三者機関の人件費分は最低でもかかるよね?ってあたりから想像してください。 )C++プログラマの為のセキュリティ入門
Boost.勉強会 #4 東京52
53.
参考情報C++プログラマの為のセキュリティ入門
54.
参考情報::IPAIPAIPA セキュア・プログラミング講座http://www.ipa.go.jp/security/awareness/vendor/programmingv2/JISEChttp://www.ipa.go.jp/security/jisec/JCMVPhttp://www.ipa.go.jp/security/jcmvp/セミナー・イベントhttp://www.ipa.go.jp/security/seminar/seminar.htmlJPCERT/CChttp://www.jpcert.or.jp/C++プログラマの為のセキュリティ入門 Boost.勉強会
#4 東京54
55.
参考情報::個人Webサイトセキュリティホールmemohttp://www.st.ryukoku.ac.jp/~kjm/security/memo/本当は怖い文字コードの話http://gihyo.jp/admin/serial/01/charcodeそれ Unicode でhttp://openmya.hacker.jp/hasegawa/public/20061209/momiji.htmlC++プログラマの為のセキュリティ入門
Boost.勉強会 #4 東京55
56.
参考情報::書籍暗号技術大全ISBN-10: 4797319119ISBN-13: 978-4797319118C++プログラマの為のセキュリティ入門
Boost.勉強会 #4 東京56
57.
質疑応答C++プログラマの為のセキュリティ入門
58.
ご清聴ありがとうございました。C++プログラマの為のセキュリティ入門
Download