Submit Search
Upload
C++プログラマの為のセキュリティ入門
•
Download as PPTX, PDF
•
3 likes
•
2,955 views
道化師 堂華
Follow
C++プログラマ向け、セキュリティ入門。 Boost.勉強会 #4 ( http://atnd.org/events/11551 )にて発表。
Read less
Read more
Technology
Education
Business
Report
Share
Report
Share
1 of 58
Download now
Recommended
GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介
Takashi Suzuki
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Deep Learning Lab(ディープラーニング・ラボ)
[DL輪読会]DropBlock: A regularization method for convolutional networks
[DL輪読会]DropBlock: A regularization method for convolutional networks
Deep Learning JP
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII
Recommended
GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介
Takashi Suzuki
Android/iOS端末におけるエッジ推論のチューニング
Android/iOS端末におけるエッジ推論のチューニング
Deep Learning Lab(ディープラーニング・ラボ)
[DL輪読会]DropBlock: A regularization method for convolutional networks
[DL輪読会]DropBlock: A regularization method for convolutional networks
Deep Learning JP
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
Yusuke Uchida
LightGBMを少し改造してみた ~カテゴリ変数の動的エンコード~
LightGBMを少し改造してみた ~カテゴリ変数の動的エンコード~
RyuichiKanoh
Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~
nlab_utokyo
[DL輪読会]A closer look at few shot classification
[DL輪読会]A closer look at few shot classification
Deep Learning JP
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
Yasunori Ozaki
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
Deep Learning JP
研究分野をサーベイする
研究分野をサーベイする
Takayuki Itoh
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
Deep Learning JP
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
Masaharu Kinoshita
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
Deep Learning JP
最適化超入門
最適化超入門
Takami Sato
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
Ryohei Suzuki
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
7分間プレゼン攻略法(研究者向け)
7分間プレゼン攻略法(研究者向け)
Yusuke Shinozawa
深層強化学習と実装例
深層強化学習と実装例
Deep Learning Lab(ディープラーニング・ラボ)
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
佑 甲野
20190619 オートエンコーダーと異常検知入門
20190619 オートエンコーダーと異常検知入門
Kazuki Motohashi
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
gree_tech
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
Naoya Chiba
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
tzm_freedom
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
More Related Content
What's hot
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
Yusuke Uchida
LightGBMを少し改造してみた ~カテゴリ変数の動的エンコード~
LightGBMを少し改造してみた ~カテゴリ変数の動的エンコード~
RyuichiKanoh
Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~
nlab_utokyo
[DL輪読会]A closer look at few shot classification
[DL輪読会]A closer look at few shot classification
Deep Learning JP
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
Yasunori Ozaki
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
Deep Learning JP
研究分野をサーベイする
研究分野をサーベイする
Takayuki Itoh
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
Deep Learning JP
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
Masaharu Kinoshita
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
Deep Learning JP
最適化超入門
最適化超入門
Takami Sato
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
Ryohei Suzuki
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
7分間プレゼン攻略法(研究者向け)
7分間プレゼン攻略法(研究者向け)
Yusuke Shinozawa
深層強化学習と実装例
深層強化学習と実装例
Deep Learning Lab(ディープラーニング・ラボ)
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
佑 甲野
20190619 オートエンコーダーと異常検知入門
20190619 オートエンコーダーと異常検知入門
Kazuki Motohashi
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
gree_tech
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
Naoya Chiba
What's hot
(20)
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
LightGBMを少し改造してみた ~カテゴリ変数の動的エンコード~
LightGBMを少し改造してみた ~カテゴリ変数の動的エンコード~
Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~
[DL輪読会]A closer look at few shot classification
[DL輪読会]A closer look at few shot classification
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
研究分野をサーベイする
研究分野をサーベイする
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
最適化超入門
最適化超入門
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
7分間プレゼン攻略法(研究者向け)
7分間プレゼン攻略法(研究者向け)
深層強化学習と実装例
深層強化学習と実装例
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
20190619 オートエンコーダーと異常検知入門
20190619 オートエンコーダーと異常検知入門
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
Similar to C++プログラマの為のセキュリティ入門
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
tzm_freedom
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
Introduction to cython
Introduction to cython
Atsuo Ishimoto
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
hiyohiyo
2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF
Atomu Hidaka
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
Kuniyasu Suzaki
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
健一 茂木
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
あなたもなれる 【セキュリティエンジニア】 EC-Council 情報セキュリティエンジニア育成トレーニングコース「 "セキュリティエンジニア" に! お...
あなたもなれる 【セキュリティエンジニア】 EC-Council 情報セキュリティエンジニア育成トレーニングコース「 "セキュリティエンジニア" に! お...
グローバルセキュリティエキスパート株式会社(GSX)
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
CODE BLUE
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
Masashi Shibata
Recording and Replay on HoloLens [dotNET 600]
Recording and Replay on HoloLens [dotNET 600]
Tomoki Hayashi
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
marsee101
Boost17 cpplinq
Boost17 cpplinq
miki_hirofumi
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
Takashi Kawasaki
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
Study Group by SciencePark Corp.
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
Shingo Sasaki
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Atsushi Nakamura
Similar to C++プログラマの為のセキュリティ入門
(20)
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
Introduction to cython
Introduction to cython
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
あなたもなれる 【セキュリティエンジニア】 EC-Council 情報セキュリティエンジニア育成トレーニングコース「 "セキュリティエンジニア" に! お...
あなたもなれる 【セキュリティエンジニア】 EC-Council 情報セキュリティエンジニア育成トレーニングコース「 "セキュリティエンジニア" に! お...
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
Recording and Replay on HoloLens [dotNET 600]
Recording and Replay on HoloLens [dotNET 600]
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
Boost17 cpplinq
Boost17 cpplinq
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
More from 道化師 堂華
Reflection with xamarin.forms
Reflection with xamarin.forms
道化師 堂華
独りガラパゴス開発
独りガラパゴス開発
道化師 堂華
C++ tips4 cv修飾編
C++ tips4 cv修飾編
道化師 堂華
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
道化師 堂華
C++ tips2 インクリメント編
C++ tips2 インクリメント編
道化師 堂華
C++ tips1 #include編
C++ tips1 #include編
道化師 堂華
エラーハンドリングモデル考察
エラーハンドリングモデル考察
道化師 堂華
C++0x総復習
C++0x総復習
道化師 堂華
エラーハンドリング
エラーハンドリング
道化師 堂華
マスタリング バベル
マスタリング バベル
道化師 堂華
並列プログラミング入門!&おさらい!
並列プログラミング入門!&おさらい!
道化師 堂華
バグベアード入門
バグベアード入門
道化師 堂華
LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介
道化師 堂華
More from 道化師 堂華
(13)
Reflection with xamarin.forms
Reflection with xamarin.forms
独りガラパゴス開発
独りガラパゴス開発
C++ tips4 cv修飾編
C++ tips4 cv修飾編
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
C++ tips2 インクリメント編
C++ tips2 インクリメント編
C++ tips1 #include編
C++ tips1 #include編
エラーハンドリングモデル考察
エラーハンドリングモデル考察
C++0x総復習
C++0x総復習
エラーハンドリング
エラーハンドリング
マスタリング バベル
マスタリング バベル
並列プログラミング入門!&おさらい!
並列プログラミング入門!&おさらい!
バグベアード入門
バグベアード入門
LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介
Recently uploaded
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Recently uploaded
(9)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
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アプリではブラウザなど)がやられてしまうケースが存在する。 入出力の正確なエンコード/デコード/エスケープ/アンエスケープ 暗号 証明 ケンジントンロック 法的圧力 etc C++プログラマの為のセキュリティ入門 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への道のり AES2 C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 26
27.
さまざまな技術 C++プログラマの為のセキュリティ入門
28.
さまざまな技術 ハッシュ関数 代表的なハッシュ関数アルゴリズム
MD5,SHA1,SHA2 MD5や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 API OpenSSL C++プログラマの為のセキュリティ入門 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とJCMVP C++プログラマの為のセキュリティ入門
49.
JISECとJCMVP 本当に大丈夫なのか疑問な製品も多いし、残念ながら明らかにそりゃ駄目だろうって製品も多い。 ほんとうにこの製品に情報をあずけて大丈夫なの?
->適切な対策が施されてることを知りたい。 C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 49
50.
JISECとJCMVP JISEC IPAが運営しているITセキュリティ評価及び認証制度
CC 国際的なセキュリティ評価基準 ISO/IEC 15408 CEM 国際的なセキュリティ評価方法 ISO/IEC 18045 ST確認制度 限定的な確認制度 C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 50
51.
JISECとJCMVP JCMVP IPAが運営している暗号モジュール試験及び認証制度
C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 51
52.
JISECとJCMVP 製品/サービスの売りになる セキュリティ関連の為の開発工数の予算をゲットできる。
申請そのものの直接の費用は規模に応じて変わる。( 審査を行う第三者機関の人件費分は最低でもかかるよね?ってあたりから想像してください。 ) C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 52
53.
参考情報 C++プログラマの為のセキュリティ入門
54.
参考情報::IPA IPA IPA
セキュア・プログラミング講座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.html JPCERT/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.html C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 55
56.
参考情報::書籍 暗号技術大全ISBN-10: 4797319119ISBN-13:
978-4797319118 C++プログラマの為のセキュリティ入門 Boost.勉強会 #4 東京 56
57.
質疑応答 C++プログラマの為のセキュリティ入門
58.
ご清聴ありがとうございました。 C++プログラマの為のセキュリティ入門
Download now