タグ

fuzzingに関するmanabouのブックマーク (9)

  • ファジングと統計学 - Qiita

    はじめに 稿ではファジングのシードスケジューリング問題に対する統計学的なアプローチについてまとめる。統計学、強化学習の基礎、特に二項分布と標検定および多腕バンディット問題については既知とする。 ファジングとはソフトウェアのバグ(特に脆弱性)を発見するためのソフトウェアテストの一種で、テスト対象のプログラムに多種多様な入力を与えて実行し、何らかの不具合を生じさせた入力を記録していくテスト方式だ。勿論複数の入力が同一のバグ(root cause)を引き起こしている可能性もあるため、これらの記録された入力はファジング後のトリアージというプロセスでバグと1:1に対応する様にDeduplication(重複除去)され、データベースに記録される。この一連の流れをファジングキャンペーンという。 GoogleのOSS-Fuzzの例 ランダムテストとの最大の違いは、ファジングはプログラムを実行した際の状

    ファジングと統計学 - Qiita
  • GitHub - google/oss-fuzz: OSS-Fuzz - continuous fuzzing for open source software.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - google/oss-fuzz: OSS-Fuzz - continuous fuzzing for open source software.
  • Google、脆弱性検出のためのファジング(Fuzzing)を機械的に実行する「OSS-Fuzz」、ベータ公開

    Google、脆弱性検出のためのファジング(Fuzzing)を機械的に実行する「OSS-Fuzz」、ベータ公開 ファジング(Fuzzing)とは、「検査対象のソフトウェアに『ファズ(英名:fuzz)』と呼ばれる問題を引き起こしそうなデータを大量に送り込み、その応答や挙動を監視することで脆弱性を検出する検査手法」であると、IPA(独立行政法人 情報処理推進機構)が発行する「ファジング活用の手引き」で説明されています。 Googleは、このファジングを機械的に実行するためのソフトウェア「OSS-Fuzz」をベータ公開したことを発表しました。 OSS-Fuzzの開発はGoogleと、OpenSSLやOpenSSH、NTPdなどインターネットの基盤に欠かせないソフトウェア開発を支援する「Core Infrastructure Initiative」が共同で行っています。 OSS-Fuzzはすでにフ

    Google、脆弱性検出のためのファジング(Fuzzing)を機械的に実行する「OSS-Fuzz」、ベータ公開
  • American Fuzzy Lop internals - ちょっとずつ成長日記

    American Fuzzy Lopのソースコード解析 ここ最近のAmerican Fuzzy Lopに対してオレオレ実装した過程でソースコードを解析したので、その結果をブログにまとめてみようということで書いてみました。ソースコードの解析しているようなブログなどはとくにみたことがない(2018/03/19時点)ので書く価値があるのかなという自己満足で書いてみました American Fuzzy Lopとは American Fuzzy LopはGoogleエンジニアである、Michal Zalewski氏らによるfuzzing toolである。fuzzingとはざっくりいうと「自動でバグ、脆弱性を見つけようぜ」というものである。 有名なところで言うとCGC(Cyber Grand Challenge)でコンピュータ同士の攻防でfuzzingが使われていたりする。またここ最近の出来事として

    American Fuzzy Lop internals - ちょっとずつ成長日記
  • マイクロソフト、AIでソフトウェアのバグや脆弱性を探る「Microsoft Security Risk Detection」を発表

    マイクロソフト、AIでソフトウェアのバグや脆弱性を探る「Microsoft Security Risk Detection」を発表 バグや脆弱性を発見する有名な手法のひとつに「Fuzzing Test」があります。Fuzzing Testとは、検査対象のソフトウェアに問題を引き起こしそうなデータ(これが「Fuzz」と呼ばれる)を大量に送り込み、その応答や挙動を監視する、というものです。 これまでFuzzing Testは一般にセキュリティテストの専門家などがテストデータを作成し、実行し、その挙動を監視する作業を行ってきました。また、すでに一部のリスク検出サービスではこうした作業にAIの利用も始まっているとのこと。 Microsoft Security Risk Detectionは、AIを使ってこうした作業を自動化し、クラウドによって大量に実行すると、マイクロソフトリサーチのDavid M

    マイクロソフト、AIでソフトウェアのバグや脆弱性を探る「Microsoft Security Risk Detection」を発表
  • Linuxのsystem call fuzzer「syzkaller」めも - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    Linuxのシステムコールのファジングツールとしてsyzkallerというのがあって、これはコードカバレッジを見つつ入力を変えていってくれるというファジングするツールです。 試してみたのでどんな感じなのかを簡単にめも。 まず、ツール自体はgolangで書かれているのでgoの実行環境が必要です。あとテスト対象のカーネル側でコードカバレッジを利用可能になっている必要があります。この辺はsyzkallerのドキュメントに書かれています。 ツールはビルドして行います。make一発で良いのですが、デフォルトだとstatic linkなバイナリを作ります。うちだと-lpthreadと-lcのところでそんなライブラリはないとか怒られてしまったので、動的リンクにしました。ホストとゲストのディストリビューションが同じならライブラリのABIの違いとかないですし、これで良いでしょう。 ファジングはVMを使って行

    Linuxのsystem call fuzzer「syzkaller」めも - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Clangでファジング (-fsanitize=fuzzer) - Qiita

    Clang開発版にlibFuzzerが新しいサニタイザとして取り込まれた。clang -fsanitize=fuzzerで使える。 ファジングとは ファジング (fuzzing) はテスト手法のひとつ。おかしなデータを自動的に大量生成してプログラムへ入力し、クラッシュを誘発することでバグをあぶりだす。 libFuzzerはファジングをおこなうためのライブラリ。 trunk版のclangをインストール Clangのtrunk版をインストール: svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm svn co http://llvm.org/svn/llvm-project/cfe/trunk llvm/tools/clang svn co http://llvm.org/svn/llvm-project/compiler-rt/tr

    Clangでファジング (-fsanitize=fuzzer) - Qiita
  • Announcing OSS-Fuzz: Continuous Fuzzing for Open Source Software

    TotT 98 GTAC 61 James Whittaker 42 Misko Hevery 32 Anthony Vallone 27 Code Health 27 Patrick Copeland 23 Jobs 18 Andrew Trenk 12 C++ 11 Patrik Höglund 8 JavaScript 7 Allen Hutchison 6 George Pirocanac 6 Zhanyong Wan 6 Harry Robinson 5 Java 5 Julian Harty 5 Alberto Savoia 4 Ben Yu 4 Erik Kuefler 4 Philip Zembrod 4 Shyam Seshadri 4 Adam Bender 3 Chrome 3 Dillon Bly 3 John Thomas 3 Lesley Katzen 3 Ma

    Announcing OSS-Fuzz: Continuous Fuzzing for Open Source Software
  • Go言語でファジング

    この記事はGo Advent Calendar 2015の21日目の記事です. 今年もGoコミュニティーから多くのツールが登場した.その中でも異彩を放っていたのがGoogleのDynamic testing toolsチームの@dvyukov氏によるgo-fuzzである. go-fuzzはGo関数のファジングを行うツールである.このツールはとても強力で標準パッケージで100以上,golang.org/x/パッケージで40以上,その他を含めると300以上のバグを発見するという実績を残している(cf. Trophies). 記事ではこのgo-fuzzの紹介を行う. ファジングとは? Fuzz testing - Wikipedia, the free encyclopedia ソフトウェアの脆弱性検出におけるファジングの活用 「ファジング」とはソフトウェアのテスト手法である.テスト対象となる

  • 1