Flatt Security Blog

株式会社Flatt Securityの公式ブログです。プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

株式会社Flatt Securityの公式ブログです。
プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

RubyKaigi 2023にPlatinum Sponsorとして初出展します!

こんにちは、Flatt Securityの @toyojuni です。弊社Flatt Securityは今週開催の RubyKaigi 2023 にPlatinum Sponsorとして協賛させていただきます! 弊社がRubyKaigiに協賛するのは初めてですが、開発者の皆様に向けたセキュリティサービスを提供している身…

VS Codeで任意コード実行が可能だった脆弱性から学ぶ、Electron開発の注意点(CVE-2021-43908)

Electronの開発では、ライブラリとしてのElectronの実装と、その上にユーザーが構築するデスクトップアプリケーションの2つのコードが存在します。デスクトップアプリケーションの実装においても、メインプロセスとレンダラープロセス、サブフレームなど、考…

React Hooksに潜む罠/一緒にプレイするだけで乗っ取り!?【Security․Tokyo #1】

株式会社Flatt SecurityとTokyo HackerOne Clubが共催した脆弱性勉強会「Security․Tokyo #1」より、今回は、LT5「React Hooksに潜む罠」とLT6「一緒にプレイするだけで乗っ取り!? ~任天堂のバッファオーバーフロー脆弱性~」の発表内容をお届けします。 …

決済代行サービスの実装における検証不備を悪用/Pwning Old WebKit for Fun and Profit【Security․Tokyo #1】

株式会社Flatt SecurityとTokyo HackerOne Clubが共催した脆弱性勉強会「Security․Tokyo #1」より、今回は、LT3「決済代行サービスの実装における検証不備を悪用」とLT4「Pwning Old WebKit for Fun and Profit」の発表内容をお届けします。 <注意事項> 本…

Cookie vs Local Storage マルウェア耐性等に差はあるか?Google Chromeによる保存時の暗号化を検証する

こんにちは。セキュリティエンジニアの@okazu_dmです。 皆さんはブラウザにおいてLocal StorageやCookieに格納されている値が暗号化されているかどうかを考えたことはあるでしょうか。これらWebサービスの認証・認可において使われるデータが、XSSのようなア…

Deep in 国際化ドメイン名/Credential GuardをバイパスするPass-the-Challengeについて【Security․Tokyo #1】

株式会社Flatt SecurityとTokyo HackerOne Clubが共催した脆弱性勉強会「Security․Tokyo #1」。満員の会場ではテーマの異なる6つのLTが発表され、盛況のうちに終わりました。 今回は、LT1「Deep in 国際化ドメイン名」とLT2「Credential Guardをバイパスする…

Flatt Security Developers' Quiz #5 解説

はじめに 下記のTweetで出題させていただいた、Flatt Security Developers' Quiz #5にご参加いただきありがとうございました! Flatt Security Developers' Quiz #5 開催! オリジナルチョコ獲得を目指して頑張ってください!デモ環境: https://t.co/DUM6Nj…

新卒エンジニアのセキュリティ学習・教育は「楽しく」を第一の目標に始めよう

2022年末から2023年始にかけて1ヶ月ほど、「新卒開発エンジニアへのセキュアコーディング挑戦状 presented by KENRO」というキャンペーンを展開しました。Webセキュリティに関する簡単なクイズを3問解いてもらって、正答者にはステッカーをプレゼント!とい…

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です。皆さんは、「ドッグフーディング」という言葉をご存知でしょうか。開発周りでは、書いたコードを開発者側で積極的に利用し、生成されたフィードバックをまた開発に投入していくフローのこ…

Flatt Security Developers' Quiz #4 解説

はじめに 下記のTweetで出題させていただいた、Flatt Security Developers' Quiz #4にご参加いただきありがとうございました! ⚡️ Flatt Security Developers' Quiz #4 開催! ⚡️<p>タグの内容をalertで表示できますか?皆さんの回答お待ちしております!4-1デ</p>…

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

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

【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か?

この記事は、Auth0のアクセストークンの保存方法について解説した前回の記事の補足となる記事です。前回の記事の要旨をざっくりまとめると以下のようなものでした。1... Auth0はデフォルトではアクセストークンをブラウザのメモリ空間上にのみ保存するin-mem…

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

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

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

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

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

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

Flatt Security Developers' Quiz #2 解説

下記のTweetで出題させていただいた、Flatt Security Developers' Quiz #2にご参加いただきありがとうございました!景品の獲得条件を満たした方には追ってメールでご連絡を差し上げますので、ご確認いただけますと幸いです。なお、景品獲得条件を満たさなか…

Policy as Codeで、あらゆるセキュリティ監査が”コード化”される世界をつくる、ソフトウェアエンジニアの募集を始めました。

はじめに こんにちは、Policy as Code の取り組みを実現するセキュリティプラットフォーム、Shisho Cloudのプロダクトマネージャーの小島です。先日、Shisho Cloudの3つのソフトウェアエンジニアのポジションの募集を開始しました! recruit.flatt.tech 今回…

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

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

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

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

HackerOneのイベント (H1-512) に参加するためにテキサスに行った話

今回、HackerOneとGitHubが開催するライブハッキングイベント「H1-512」に招待されたため、6月14日から6月18日の間テキサス州オースティンに行っていました。 本稿では、H-512に参加するために国内/国外含めて記憶がある中では初めての飛行機を使った旅行を…

Flatt Security Developers' Quiz #1 解説

はじめに 下記のTweetで出題させていただいた、Flatt Security Developers' Quizにご参加いただきありがとうございました! ⚡️ Flatt Security Developers' Quiz開催! ⚡️PHPコードに潜む脆弱性を見つけられますか?先着10名の方に公式Tシャツとステッカーを…

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

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

GitHub Organizationの安全な運用とモニタリングに関するスライド(全44ページ)を無償公開しました

GitHub Organizationを安全に運用していくためのベストプラクティス、そしてそのベストプラクティスがきちんと開発組織の中で運用されているかをモニタリングする方法についてまとめたスライドを公開しました。 この記事では、そのスライドを公開のお知らせ…

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

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

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

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

Web開発者はもっと「安全なウェブサイトの作り方」を読むべき

本稿では、独立行政法人 情報処理推進機構(以下、IPA)が公開している資料「安全なウェブサイトの作り方」を紹介します。 「安全なウェブサイトの作り方」は、無料で公開されているにも関わらず、Webセキュリティを学ぶ上で非常に有用な資料です。これからWeb…