Flatt Security Blog

株式会社Flatt Securityの公式ブログです。情報漏洩等につながる脆弱性がないか調査する「セキュリティ診断」とWeb開発者向けセキュアコーディングのeラーニング「KENRO」を提供しています。」

株式会社Flatt Securityの公式ブログです。
技術的な知見や社内の雰囲気を伝える記事を発信しています。

技術

Firebase Authenticationのバリデーション等を新機能「blocking functions」を用いて拡張する

この記事は、Firebase Authenticationに2022年7月ごろに追加されたblocking functions という機能についての紹介です。 詳細は後述しますが、blocking functionsはFirebase Authenticationの登録、サインイン処理を拡張するための機能で、この記事では、bloc…

Firebaseの新機能「Cross-service Rules」でCloud Storageのアクセス制御をスマートに実装しよう

本稿では、2022年9月に Cloud Storage for Firebase に新たに導入された Cross-service Rules という機能について、前提知識をおさらいしつつ、実例を交えながらその概要や利用方法、メリットなどを紹介します。

AWS Lambdaで秘密情報をセキュアに扱う - アンチパターンとTerraformも用いた推奨例の解説

AWS Lambdaは関数URLやAPI Gatewayのバックエンド、AWSサービスのイベントをトリガーとしたスクリプト実行など様々な用途で使用されます。 そのため、ユースケースによっては秘密情報を扱いたい場合があります。 この記事では、AWS LambdaでAPIキーなどの秘…

EDoS Attack: クラウド利用料金でサービスを止められるって本当?

DoSやDDoSといったサイバー攻撃はみなさん聞いたことがあると思いますが、クラウド時代において、これらと並びサービスの継続に非常に関わってくる攻撃があるのはご存じでしょうか? 世の中ではEDoS(Economic Denial of Sustainability)攻撃と呼ばれるもので…

セキュリティ企業における開発とドッグフーディング - gRPC-web採用プロダクトの脆弱性診断を効率的に行えるようになるまで

こんにちは、Flatt Securityでインターンをしている@smallkirbyです。皆さんは、「ドッグフーディング」という言葉をご存知でしょうか。開発周りでは、書いたコードを開発者側で積極的に利用し、生成されたフィードバックをまた開発に投入していくフローのこ…

無料プロキシツール「mitmproxy」を使ってみよう - セットアップ方法とセキュリティエンジニアおすすめの設定

こんにちは、Flatt Securityのstypr(@stereotype32)です。今回はセキュリティ診断などで使われるローカルプロキシツールについて紹介します。セキュリティエンジニアの多くは、WebやモバイルアプリケーションのHTTP/HTTPSトラフィックを確認するするためにBu…

Auth0のアクセストークンをLocal Storageに保存するのは安全?メリット・デメリットをin-memory方式と比較して検討する

この記事では、Auth0のSPA SDKでアクセストークンのキャッシュを有効化する際の考慮ポイントについて紹介し、それを切り口にアクセストークンの保存場所に関してin-memory方式とlocalStorage方式の2つについて解説します。

新機構Play Integrityを使用したFirebase App Checkの検証を通して見る、スマホアプリの不正検知とBypassの「イタチごっこ」

Androidのゲーム、銀行系アプリケーションを開発する上で、チート等の不正を可能にするRoot化や改ざんといった行為からアプリケーションを保護するのは必須と言えます。 そこで本稿では、どのようにアプリケーションを保護すれば良いのかを攻撃者側からの観…

Amazon S3の脆弱な利用によるセキュリティリスクと対策

本稿では、Amazon S3 の脆弱な使い方によるセキュリティリスクと対策を解説し、実際の設定不備などに関する事例についても紹介します。

仕様起因の脆弱性を防ぐ!開発者向けセキュリティチェックシート(Markdown)を公開しました

これまで弊社ブログでは様々な「仕様とセキュリティ観点の解説記事」を発表してきました。今回はいままでの記事を改めて紹介しつつ、読者の皆様が開発中のサービスでセルフチェックを行えるよう「仕様とセキュリティ観点チェックリスト」を作成しました。ご…

Webサービスにおけるマイページの仕様とセキュリティ観点

本稿では、ログイン機能をもつWebアプリケーションにおける実装上の注意を、マイページ機能から派生する機能のセキュリティ観点から記載していきます。特に、XSS(Cross-Site Scripting)やSQLインジェクションのような典型的な脆弱性と比較して語られること…

NETGEAR社製ルーターにおける認証不要の任意コード実行の技術的解説(PSV-2022-0044)

本記事では、NETGEAR社のWAC124(AC2000)ルーターにおいて、様々な脆弱性を発見し、いくつかの脆弱性を連鎖させて、前提条件なしに未認証ユーザーの立場からコマンドを実行する方法について説明します。 私は1週間ほどかけてこれらのバグをすべて見つけ出し、…

Webサービスの認可制御の不備によって起こる仕様の脆弱性と対策

本稿では、Webアプリケーション上で実装される「認可制御」で気をつけなければいけない「仕様の中で起きうる脆弱性」とその対策について解説していきます。 どういったアプリケーションであれ認可制御は何らかの形で行われているでしょう。今回は認可制御に…

Firebase Authentication 7つの落とし穴 - 脆弱性を生むIDaaSの不適切な利用

認証機構を自作せずに導入できる Firebase Authentication は様々なアプリケーションにて利用されていますが、その特性を十分に理解せずに導入すると、実は不具合や脆弱性が生じることがあります。そこで本稿では Firebase Authentication を利用するうえで…

SPA開発とセキュリティ - DOM based XSSを引き起こすインジェクションのVue, React, Angularにおける解説と対策

Vue.js logo: ©︎ Evan You (CC BY-NC-SA 4.0 with extra conditions(It’s OK to use logo in technical articles for educational purposes)) / React logo: ©︎ Meta Platforms, Inc. (CC BY 4.0) / Angular logo: ©︎ Google (CC BY 4.0) はじめに こんにち…

そのクーポン機能は不正利用を防げる実装ですか? - Webサービスにおけるクーポン機能の仕様とセキュリティ観点

こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上です。セキュリティ・キャンプ卒業後、新卒入社組としてFlatt Securityでセキュリティエンジニアをしています。 本稿では、BtoCのWebサービスにおいてマーケティング施策として頻繁に発行さ…

Bluetooth通信実装のセキュリティ観点を4ステップ + 1で理解する

Bluetoothは、米国Bluetooth SIG,Inc.の商標です。 イントロ BLE通信 概観 GATTプロファイル ペアリング 脆弱性 1: Characteristicの権限指定ミスによる平文通信 観点: GATT Characteristicと属性 対策: characteristicへの暗号化必須属性の付与 脆弱性 2. L…

サーバーレスのセキュリティリスク - AWS Lambdaにおける脆弱性攻撃と対策

本稿では、AWS Lambda で起こりうる脆弱性攻撃やリスク、セキュリティ対策を解説し、サーバーレスにおけるセキュリティリスクについて紹介します。

iOSのファイル共有機能5パターンの検証とセキュリティ対策まとめ

そこで本稿では、iOSアプリケーション上で利用できる各種ファイル共有機能を5つのパターンに分けて検証しつつ、これらを利用する上で注意すべき点についても解説していこうと思います。

開発者が知っておきたい「XSSの発生原理以外」の話

XSSはセキュリティエンジニアならもちろん、開発を行っているエンジニアの多くの方が知っている脆弱性です。ですが、私はWebアプリケーションの脆弱性診断を行ってきた経験の中で多くのXSSを目にしてきましたし、依然として検出率の多い脆弱性の一つだと感じ…

Sigstore によるコンテナイメージの Keyless Signing

This image includes the work that is distributed in the Apache License Version 2.0 こんにちは。株式会社Flatt SecurityでインターンをしているMarina (@marin_a___) です。本稿はソフトウェアサプライチェーン領域で注目を集める Sigstore プロジェク…

「推測不可能性」だけで安心?セキュアなURL生成について考える

多くのWebサービスにおいて、ブログ記事やドキュメントの公開・下書き共有のためにURLを発行する機能が存在していると思います。このようなURLに関して、第三者に知られたくない場合「推測不可能なURL」を発行するといったセキュリティ観点は広く知られてい…

Lambdaの落とし穴 - 脆弱なライブラリによる危険性とセキュリティ対策

はじめに こんにちは、株式会社Flatt Security セキュリティエンジニアの森岡(@scgajge12)です。 本稿では、AWS Lambda で使用するサードパーティーライブラリに脆弱性がある場合の危険性やそのセキュリティ対策について紹介します。 はじめに AWS Lambda に…

Webサービスにおけるファイルアップロード機能の仕様パターンとセキュリティ観点

はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上です。セキュリティ・キャンプ卒業後、新卒入社組としてFlatt Securityでセキュリティエンジニアをしています。 本稿では、Webアプリケーション上で実装される「ファイルアップロー…

Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション

※本記事は筆者styprが英語で執筆した記事を株式会社Flatt Security社内で日本語に翻訳したものになります。 TL;DR Node.jsのエコシステムで最も人気のあるMySQLパッケージの一つである mysqljs/mysql (https://github.com/mysqljs/mysql)において、クエリの…

Webサービスにおけるログイン機能の仕様とセキュリティ観点

はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上 @0x003f です。 本稿では、Webアプリケーション上で実装される「ログイン機能」の実装パターンをいくつか示し、その「仕様の中で起きうる脆弱性」とその対策について解説していき…

CVE-2021-20181 の技術的解説

こんにちは。株式会社Flatt Securityセキュリティエンジニアの志賀(@Ga_ryo_) です。 本記事では、最近公開されたCVE-2021-20181の技術的な解説をしていきたいと思います。本脆弱性は、自分が発見し、Zero Day Initiative を経由してベンダーに報告しました…

セキュアにGoを書くための「ガードレール」を置こう - 安全なGoプロダクト開発に向けた持続可能なアプローチ

The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. 種々の linter が様々なプロダクトの品質を高めてきた、というのは疑う余地のない事実です…

Firestoreセキュリティルールの基礎と実践 - セキュアな Firebase活用に向けたアプローチを理解する

こんにちは、株式会社Flatt Security セキュリティエンジニアの梅内(@Sz4rny)です。 本稿では、Cloud Firestore (以下、Firestore) を用いたセキュアなアプリケーション開発を行うためのアプローチについて説明するとともに、そのアプローチを実現するセキュ…

【KENRO開発者インタビュー】これからのセキュアコーディング研修の形とは

Flatt Securityは2020年11月4日、SaaS型eラーニングサービス「KENRO」をリリースしました。OWASP Top 10 に含まれる脆弱性をはじめとして、今日のWebエンジニアが開発にあたって学ぶべきセキュリティ技術の学習環境を提供するサービスです。 日本のセキュリ…