プログラミング・開発
はじめに こんにちは、製品開発部の柳です。 私は、当社の主要セキュリティプロダクトである FFRI yarai を集中管理する FFRI AMC(以下、AMC)という Web アプリケーションの開発・保守業務を行っています。 現在 AMC には、ワンタイムパスワードを用いた多要…
はじめに 1 概要・論文編 2-1 LLVM 関数計装編 (本記事) 基礎技術研究部の末吉です。 前回の記事では ASan の概要と使い方、論文について解説しました。 今回からは執筆時点最新版の 2024 年 5 月にリリースされた LLVM 18.1.5 のコードから、どのように ASa…
はじめに 基礎技術研究部の末吉です。 バグを検知するツールにサニタイザー(Sanitizer)というものがあります。 英語で Sanitizer は「消毒剤」という意味で、Hand Sanitizer なら手指消毒剤を意味します。 ここで紹介するサニタイザーは、菌の代わりにバグを…
こんにちは。基礎技術研究部の茂木です。今回は Rust の話をします。 11 月 3 日にリリースされた Rust v1.65.0 では Generic Associated Types(以下、GATs)が入りました。 これにより、Higher Kinded Types のエミュレートが比較的しやすくなります。 そう…
はじめに 前回の記事では、デバッガがいかにコールスタックを構築しているかについて解説しました。 今回は、前回の記事では詳しく取り上げることのできなかった、構造化例外処理に関して解説します。 Windows では、メモリ違反などの例外発生時にユーザーが…
はじめに この記事を読まれる皆さんは、普段からデバッガーを使っているのではないでしょうか。 デバッガーを用いて関数の呼び出し履歴であるコールスタックを参照することは、ダンプファイルの解析やリバースエンジニアリングに役立ちます。 では、そんなデ…
はじめに FFRIセキュリティエンジニアの村上です。昨年から今年にかけて、案件の一環として、オライリー・ジャパン発行の「サイバーセキュリティプログラミング 第2版」(原書タイトルは "Black Hat Python 2nd Edition") の翻訳をする機会がありました。…
はじめに こんにちは、基礎技術研究室でリサーチエンジニアをやっている茂木です。 これまでは Terraform を使うことが多かったのですが、最近は Cloud Development Kit (以下 CDK) をよく触っています。 CDK は特に Lambda の取り回しがよく気に入っていま…
はじめに FFRIセキュリティ セキュリティエンジニアの大野です。本記事ではセキュリティからは離れて、AtCoder に関する感想を書きます。 AtCoder に参加し始めてから約 2 年半経過した 2021 年 6 月に目標としていた水色に到達出来たので、それまでの感…
はじめに 基礎技術研究室リサーチエンジニアの茂木です。今回は、あまりこれまでの記事にはなかった、開発環境の話をします。 Poetry と Docker をいい感じに併用する方法を探った話です。 Poetry Poetry は、Python のパッケージ・仮想環境の管理ができます…
はじめに 基礎技術研究室リサーチエンジニアの中川です。ブログシステム移行後記念すべき(?)第 1 回を担当します。 今回は FFRI Dataset 作成にあたっても利用している LIEF というライブラリについて紹介します。 LIEF は PE・ELF などの実行ファイルをパー…
はじめに FFRIリサーチエンジニアの茂木です。 現代のソフトウェア開発では、OSS を利用することが多くなっています。そうした OSS ライブラリを利用・管理するために、パッケージマネージャーが存在します。その中で、Node.js のパッケージマネージャーであ…
はじめに FFRIリサーチエンジニアの中川です。 以前投稿した記事「Shadow Stack を使った Stack Buffer Overflow 検知機構の実装」で 今回は LLVM バックエンドの書き換えにより、sspush sspop が関数のエピローグとプロローグに自動的に挿入されるようにし…