この資料は、
とあるツールのユーザ会でお話した内容から、
とあるツールの情報を削除したものです。
In this document,
From the content that you talked about at the user's meeting of a certain tool,
It is the information of a certain tool deleted.
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason ParkCODE BLUE
ユーザーのセキュアなIT製品に対する要求は、人の生活や産業に直接影響を与えるモノのインターネット(IoT)やサイバーフィジカルシステム(CPS)といった分野で増え続けている。ベンダーとユーザーは信用性あるいは客観的セキュリティ評価に基づいて製品を売買するため、セキュリティ評価は重要な役割を担う。セキュリティ評価は大きく、ISO/IEC29128(暗号プロトコルの安全性)のようなデザインおよびISO/IEC15408(コモンクライテリア)のような実装の評価に二分される。これらのセキュリティ評価の基準、ISO/IEC29128およびISO/IEC15408はともに対象の製品に高い保証レベルが要求されている場合には、形式的検証と自動化ツールの使用を勧告している。
この自動化ツールを使用した脆弱性の検知は、長い間多くのセキュリティ研究者やハッカーにより試行や研究が行われてきた。そして最近では、DARPAのサイバーグランドチャレンジにより、自動化ツールを利用した脆弱性検知に関する研究は、今までにないくらい活発になっている。しかしながら、数多くの自動化ツールが継続的に開発され、それぞれのツールが個別の目的のために使用されるもののため、効率的にセキュリティ評価を行うことが難しくなっている。
さらに、セキュリティ評価の側面から自動化ツールを分類するために参考にできる基準が無い。このプレゼンテーションではすべての脆弱性検知のための自動化ツールを列挙、分類をした上で分析を行い、長所と短所、目的、効率性などの結果を紹介する。
--- イン・ヒュ・セオ In Hyuk Seo
Inhyuk Seo(通称 in hack)。2015年に漢陽大学(ERICA)にて、計算機科学と工学の学士号を取得。現在は高麗大学の修士課程でSecurity Analaysis aNd Evaluation(SANE)に籍を置く。現在はプログラミング言語、ソフトウェア検査、機械学習および人工知能に興味を持つ。2012年にはKITRI(Korea Information Technology Research Institute)で開催された情報セキュリティ教育コース Best of the Best(BoB)を修了し、プロジェクト「難読化されたJavaスクリプト向けエクスプロイトデコーダ」の実行を指揮した。多くの脆弱性分析関連のプロジェクトに参加。スマートTVの脆弱性分析とセキュリティ評価、 軍事環境向けモバイルセキュリティソリューション(EAL4)の開発などを指揮する。また、多岐にわたる国内の通信業者のIoT製品の脆弱性分析に参加した。
--- ジソ・パク Jiso
The document discusses software driven verification using Xilinx's xsim simulator. It describes using the Xilinx Simulator Interface (XSI) which allows a C/C++ program to act as a testbench for an HDL design in xsim. It provides details on how to use XSI functions like getting port numbers and values, running simulation, and controlling simulation from C++. It also discusses calling XSI functions through dynamic linking and using SystemVerilog DPI to directly access the DUT from C++.
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason ParkCODE BLUE
ユーザーのセキュアなIT製品に対する要求は、人の生活や産業に直接影響を与えるモノのインターネット(IoT)やサイバーフィジカルシステム(CPS)といった分野で増え続けている。ベンダーとユーザーは信用性あるいは客観的セキュリティ評価に基づいて製品を売買するため、セキュリティ評価は重要な役割を担う。セキュリティ評価は大きく、ISO/IEC29128(暗号プロトコルの安全性)のようなデザインおよびISO/IEC15408(コモンクライテリア)のような実装の評価に二分される。これらのセキュリティ評価の基準、ISO/IEC29128およびISO/IEC15408はともに対象の製品に高い保証レベルが要求されている場合には、形式的検証と自動化ツールの使用を勧告している。
この自動化ツールを使用した脆弱性の検知は、長い間多くのセキュリティ研究者やハッカーにより試行や研究が行われてきた。そして最近では、DARPAのサイバーグランドチャレンジにより、自動化ツールを利用した脆弱性検知に関する研究は、今までにないくらい活発になっている。しかしながら、数多くの自動化ツールが継続的に開発され、それぞれのツールが個別の目的のために使用されるもののため、効率的にセキュリティ評価を行うことが難しくなっている。
さらに、セキュリティ評価の側面から自動化ツールを分類するために参考にできる基準が無い。このプレゼンテーションではすべての脆弱性検知のための自動化ツールを列挙、分類をした上で分析を行い、長所と短所、目的、効率性などの結果を紹介する。
--- イン・ヒュ・セオ In Hyuk Seo
Inhyuk Seo(通称 in hack)。2015年に漢陽大学(ERICA)にて、計算機科学と工学の学士号を取得。現在は高麗大学の修士課程でSecurity Analaysis aNd Evaluation(SANE)に籍を置く。現在はプログラミング言語、ソフトウェア検査、機械学習および人工知能に興味を持つ。2012年にはKITRI(Korea Information Technology Research Institute)で開催された情報セキュリティ教育コース Best of the Best(BoB)を修了し、プロジェクト「難読化されたJavaスクリプト向けエクスプロイトデコーダ」の実行を指揮した。多くの脆弱性分析関連のプロジェクトに参加。スマートTVの脆弱性分析とセキュリティ評価、 軍事環境向けモバイルセキュリティソリューション(EAL4)の開発などを指揮する。また、多岐にわたる国内の通信業者のIoT製品の脆弱性分析に参加した。
--- ジソ・パク Jiso
The document discusses software driven verification using Xilinx's xsim simulator. It describes using the Xilinx Simulator Interface (XSI) which allows a C/C++ program to act as a testbench for an HDL design in xsim. It provides details on how to use XSI functions like getting port numbers and values, running simulation, and controlling simulation from C++. It also discusses calling XSI functions through dynamic linking and using SystemVerilog DPI to directly access the DUT from C++.
TVM uses Verilator and DPI to connect Verilog/Chisel accelerator models written in SystemVerilog/Chisel to Python code. It initializes the hardware model and controls simulation using methods like SimLaunch, SimWait, SimResume. The Python code loads the accelerator module, allocates memory, runs the accelerator by calling driver functions that interface with the DPI to initialize, launch and wait for completion of the accelerator. This allows accelerators developed in Verilog/Chisel to be tested from Python.
Cloud Deep Learning Chips Training & InferenceMr. Vengineer
This document summarizes various chips for deep learning training and inference in the cloud from companies such as Google, Intel, Habana Labs, Alibaba, and Graphcore. It provides information on the specs and capabilities of each chip, such as the memory type and TFLOPS, and links to product pages and documentation. It also discusses collaborations between companies on projects like Glow, ONNX, and OCP accelerator modules.
Glow is a compiler and execution engine for neural networks created by Facebook. It takes a high-level graph representation of a neural network and compiles it into efficient machine code for different hardware backends like CPU and OpenCL. The key steps in Glow include loading a model, optimizing the graph, lowering it to a low-level IR, scheduling operations to minimize memory usage, generating instructions for the backend, and performing optimizations specific to the target. Glow aims to provide a portable way to deploy neural networks across different hardware platforms.
Bridge TensorFlow to run on Intel nGraph backends (v0.4)Mr. Vengineer
This document discusses bridging TensorFlow to run on Intel nGraph backends. It summarizes various optimization passes used in the nGraph-TensorFlow integration, including passes to liberate nodes from placement constraints, confirm placement, cluster the graph, and encapsulate clusters. Key points:
- NGraphLiberatePass and NGraphConfirmPass run during the PRE_PLACEMENT phase to handle nGraph placement
- NGraphClusterPass runs during POST_REWRITE_FOR_EXEC to cluster the graph into subgraphs, similar to XLA partitioning
- NGraphEncapsulatePass encapsulates clusters into NGraphEncapsulateOp nodes, analogous to XLA's use of _XlaLaunchOp
-
Bridge TensorFlow to run on Intel nGraph backends (v0.5)Mr. Vengineer
The document describes how the nGraph TensorFlow bridge works by rewriting TensorFlow graphs to run on Intel nGraph backends. It discusses how optimization passes are used to modify the graph in several phases: 1) Capturing TensorFlow variables as nGraph variables, 2) Marking/assigning/deassigning nodes to clusters, 3) Encapsulating clusters into nGraphEncapsulateOp nodes to run subgraphs on nGraph. Key classes and files involved are described like NGraphVariableCapturePass, NGraphEncapsulatePass, and how they implement the different rewriting phases to prepare the graph for nGraph execution.
TensorFlow XLAの中では、
XLA Client を Pythonで利用できるようになっています。
また、2018年2月に開催されたSysMLの論文(JAX@Google)についても追記しました。
In TensorFlow XLA,
XLA Client is now available in Python.
Also added about SysML's paper (JAX @ Google) held in February 2018.
Tiramisu is a code optimization and generation framework that can be integrated into custom compilers. It supports various backends including multi-CPU (using LLVM), GPU (using CUDA), distributed systems (using MPI), and FPGAs (using Xilinx Vivado HLS). Tiramisu uses polyhedral representations to support irregular domains beyond just rectangles. The document provides an overview of Tiramisu and discusses challenges related to supporting different platforms, memory dependencies, efficient code generation, and representations. It also mentions that Tiramisu uses Halide and ISL.
Tiramisu : A Code Optimization Framework for High Performance Systems
https://www.csail.mit.edu/research/tiramisu-framework-code-optimization-and-code-generation
の概要です。
ドキュメントがほとんどないので、ソースコード解析をやって、サンプルプログラムの内容について、調べてみました。
16. SystemVerilog関連本
アマゾンで扱っているもの
設計
・Digital Integrated Circuit Design Using Verilog and Systemverilog
・Finite State Machines in Hardware: Theory and Design (with VHDL and
SystemVerilog)
検証
・SystemVerilog for Verification: A Guide to Learning the Testbench Language
Features
・SystemVerilog Assertions and Functional Coverage: Guide to Language,
Methodology and Applications
・The UVM Primer
・Getting Started with UVM: A Beginner's Guide
・Advanced UVM
24. QEMU
http://wiki.qemu.org/Main_Page
QEMU is a generic and open source machine
emulator and virtualizer.
XilinxのZynqでもQEMUは大活躍
Zynq Ultrascale+ MPSoCでも利用
ZynqMPのブートとパワーマネージメント
http://www.slideshare.net/ssuser479fa3/zynq-mp-58490589
29. FSS - FUll System Simulation
https://github.com/reds-heig/FSS
FSS is a system, developed at the REDS
Institute, that interfaces QEMU with
ModelSim/QuestaSim, two standard multi-
language HDL simulation environments by
Mentor Graphics.
VHDL + FLIで実現していますね。