このページの内容

Awesome IAM

IAMを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

概要

スタンフォード大学のクラウドコンピューティング概論では、プラットフォームのソフトウェア構成を右図のように説明しています →

ここでは、IAMの定義と戦略的重要性、より大きなエコシステムでの位置づけ、重要な機能を概観します。

  • The EnterpriseReady SaaS Feature Guides - B2Bユーザーが満足する機能の大多数が、IAM周辺の実装によって実現される

  • IAM is hard. It’s really hard. - IAMの定義、戦略的重要性、周辺エコシステムを理解するための資料です。 関連コード: s3:GetObject*

  • IAM Is The Real Cloud Lock-In - 少しクリックバッティだが、著者が「それは、あなたが彼らに信頼を置ける程度に依存する。1. 事業を続けること;2. 値段を高めないこと;3. サービスを突然削除しないこと;4. 事業加速において提供する価値が、柔軟性で取り除かれる分よりも大きいこと」と述べている

セキュリティ

セキュリティはIAM基盤の中心的な柱です。ここでは主要な概念を紹介します。

  • Enterprise Information Security - Mozillaのセキュリティとアクセスガイドライン

  • Mitigating Cloud Vulnerabilities - 「このドキュメントはクラウドの脆弱性を4つのクラス(誤設定、アクセス制御の不備、共有テナントの脆弱性、サプライチェーンの脆弱性)に分類している」

  • Cartography - 🆓 Neo4Jベースのツールで、サービスとリソース間の依存関係と関係を可視化。AWS、GCP、GSuite、OktaおよびGitHubに対応

  • Open guide to AWS Security and IAM

アカウント管理

IAMの基礎となる、ユーザー、グループ、ロール、権限の定義とライフサイクルを扱います。

  • As a user, I want… - アカウント管理に関するメタ・クリティック。ビジネスが期待する機能と実際のユーザーのニーズが衝突しており、その形は、架空のプロジェクトマネージャーが書いたユーザーストーリーとして表現されている

  • Things end users care about but programmers don’t - 上記の精神を踏まえ、さらに広い視点:開発者が無視しがちな、ユーザーが本当に気にする小さな点。そのリストのトップに位置するのは、アカウント中心の機能、多様な統合とインポート/エクスポートツール。つまり、すべてのエンタープライズ顧客がカバーする必要があるものである

  • Separate the account, user and login/auth details - 将来に耐えられるIAM APIの基礎を築くための、適切なアドバイス

  • Identity Beyond Usernames - ユーザー名が識別子として機能するという概念、そしてユニコード文字が一意性要件と交差した際に生じる複雑さ

  • Kratos - 💸 ユーザーのログイン、ユーザー登録、2FA、プロフィール管理

  • UserFrosting - 🆓 モダンなPHPによるユーザーログインと管理フレームワーク

暗号技術

認証スタック全体は暗号プリミティブに基づいており、軽視できません。

  • Cryptographic Right Answers - 開発者向けの最新の推奨事項。暗号エンジニアではない開発者にも、実際に使える shorter summaryが提供されている

  • Real World Crypto Symposium - 暗号研究者と開発者を結びつけることを目的としており、インターネット、クラウド、埋め込みデバイスなどの現実環境における暗号の利用に焦点を当てている

  • An Overview of Cryptography - 「この論文は2つの主要な目的を持つ。第一に、基本的な暗号手法の背後にある用語や概念を定義し、今日使われている暗号スキームを比較する方法を提供する。第二に、今日実際に使われている暗号の実際の例を提供する」

  • Papers we love: Cryptography - 暗号学の基礎論文

  • Lifetimes of cryptographic hash functions - 「あなたが悪意あるユーザーが提供できるデータに対してハッシュ比較を使ってアドレスを生成している場合、数年ごとに新しいハッシュに移行する計画を持っているべきである」

識別子

トークン、主キー、UUIDなど、用途を問わず一定のランダム性と一意性を備えた値を生成する必要があります。

  • Security Recommendations for Any Device that Depends on Randomly-Generated Numbers - 「『ランダム数生成器』という表現は、次のように解釈すべきである:それは数のランダム生成器であり、ランダムな数の生成器ではない」

  • RFC #4122: UUID - Security Considerations - 「UUIDが予測困難であると仮定するのは誤りである。UUIDはセキュリティ機能(単に所有するだけでアクセスが可能になる識別子)として使用すべきではない」。UUIDは一意性を確保するために設計されているのではなく、ランダムまたは予測不可能であるためではない。UUIDを秘密として使用すべきではない

  • Awesome Identifiers - すべての識別子フォーマットのベンチマーク

  • Awesome GUID - 一意識別子のグローバル性についてのユーモアのある見解

ゼロトラストネットワーク

ゼロトラストネットワークは「決して信頼せず、常に検証する」という原則で運用します。

  • BeyondCorp: A New Approach to Enterprise Security - グーグルのゼロトラストネットワーク事業の概要

  • What is BeyondCorp? What is Identity-Aware Proxy? - 企業がさらにVPN、ファイアウォール、制限、制約を追加する結果、非常に悪い体験が生じ、わずかなセキュリティ向上にとどまる。もっと良い方法がある。

  • oathkeeper - 💸 HTTPリクエストの認証、承認、変更を行う「IDとアクセスプロキシ」「アクセス制御決定API」。BeyondCorp/ゼロトラスト白書にインスピレーションを得たもの。

  • Pomerium - 💸 IDを認識できるプロキシにより、内部アプリケーションへの安全なアクセスを可能にする。

  • heimdall - 🆓 クラウドネイティブなID認識プロキシとポリシー実行ポイント。多様なルールにより認証・承認システムを統合し、プロトコルに依存しないIDの伝播をサポート。

マシンアイデンティティ

ワークロード、サービス、デバイスも主体です。相互認証とアクセス許可のため、人間のユーザーアカウントに対応する非人間のアイデンティティが必要です。

  • SPIFFE/SPIRE - 🆓 CNCFフレームワーク。異質な環境におけるワークロードに短命かつ暗号的に検証可能なID(SVID)を発行。

  • NanoMDM - 🆓 Apple MDMサーバーとライブラリのミニマリズム設計。Appleデバイスの登録と管理を可能にし、MicroMDMにインスピレーションを得たもの。

認証

申告された主体であることを検証するプロトコルと技術です。

パスワード認証

最も古くから使われている認証方式です。

多要素認証

パスワードのみの認証を拡張し、2つ以上の証拠(要素)の提示を利用者に求めます。

  • Breaking Password Dependencies: Challenges in the Final Mile at Microsoft - アカウントのハッキングの主な原因はパスワードスプレー(SMTP、IMAP、POPなど、古い認証方式)であり、次にリプレイ攻撃。結論:パスワードは不適切であり、MFAの使用と強化が必要。

  • Beyond Passwords: 2FA, U2F and Google Advanced Protection - これらの技術についての優れた解説。

  • A Comparative Long-Term Study of Fallback Authentication - 要点:「メールやSMSを基にしたスキームはより使いやすい。一方、信託者を指定したり、個人の知識を問うようなメカニズムは、使いやすさや効率の両面で不十分である。」

  • Secrets, Lies, and Account Recovery: Lessons from the Use of Personal Knowledge Questions at Google - 「私たちの分析は、秘密質問がユーザーが選ぶパスワードよりもはるかに低いセキュリティレベルを提供していることを確認している。(…)驚くべきことに、この不確実性の大きな原因として、ユーザーが真実を述べないことが挙げられる。(…)使いやすさの側面では、秘密回答の記憶性は驚くほど低いことが示されている。」

  • How effective is basic account hygiene at preventing hijacking - グーグルのセキュリティチームのデータによると、2段階認証は自動化されたボット攻撃を100%ブロックする。

  • Your Pa$$word doesn’t matter - マイクロソフトの同様の結論:「私たちの調査によれば、MFAを使用すれば、あなたのアカウントが侵害される確率は99.9%以上低い。」

  • Attacking Google Authenticator - おそらくパラノイアの境目にあるが、2FAの認証試行をレート制限する理由になるかもしれない。

  • Compromising online accounts by cracking voicemail systems - あるいは、自動化された電話呼び出しをユーザーに届けたり、パスワードのリセットや2FA、あるいは他の種類の確認に依存すべきでない理由。SMSベースの2FAと同様に、現在は不確実であり、最も弱いリンクであるボイスメモシステムによって攻撃される可能性がある。

  • Getting 2FA Right in 2019 - 2FAのユーザーエクスペリエンス(UX)に関する話。

  • 2FA is missing a key feature - 「2FAのコードを誤って入力した場合、そのことに知らせることが望ましい。」

  • SMS Multifactor Authentication in Antarctica - なぜなら、アンタリクタの駅にはセルラー通信塔がないから機能しない。

  • Authelia - 🆓 ウェブポータルを介して、アプリケーションに2段階認証とシングルサインオン(SSO)を提供するオープンソースの認証および認可サーバー。

  • Kanidm - 🆓 簡単で安全かつ高速なアイデンティティ管理プラットフォーム。

SMSベース

要点: SMSへの依存は推奨されません。詳細は以下の資料を参照してください。

パスワードレス認証

WebAuthn

FIDO2プロジェクトの一部で、利用者向けにはパスキーという名称でも知られています。

  • WebAuthn guide - WebAuthnを、すべての主要ブラウザがサポートする標準として導入し、「サーバーがパスワードを使わず、公開鍵暗号を使ってユーザーを登録・認証できる」ということを可能にする。

  • Clearing up some misconceptions about Passkeys - あるいは、パスキーがパスワと同等である理由。

セキュリティキー

  • Webauthn and security keys - セキュリティキーによる認証の仕組みを説明し、プロトコルやWebAuthnとの関連性について詳述。要点:「WebAuthnでU2Fキーを作成することは不可能である。(…)そのため、ログインプロセスの完全なWebAuthnへの移行をまず行い、その後登録プロセスにも移行するべきである。」

  • Getting started with security keys - FIDO2、WebAuth和セキュリティキーを使ってオンライン安全を維持し、フィッシングを防ぐための実用ガイド。

  • OpenSK - 🆓 FIDO U2FおよびFIDO2標準をサポートする、Rustで書かれたセキュリティキーのオープンソース実装。

  • YubiKey Guide - YubiKeyをスマートカードとしてGPG暗号化、署名および認証キーを保管する方法についてのガイド。このドキュメントの多くの原則は、他のスマートカードデバイスにも適用可能です。

公開鍵基盤(PKI)

証明書ベースの認証です。

  • PKI for busy people - 重要な内容の概要。

  • Everything you should know about certificates and PKI but are too afraid to ask - PKIは、暗号的にシステムを定義するもので、普遍的かつベンダーに依存しないです。

  • lemur - 🆓 CAと環境間のブローカーとして機能し、開発者向けにTLS証明書を「適切なデフォルト値」で発行できる中央的なポータルを提供します。

  • CFSSL - 🆓 クラウドフリーアイのPKI/TLS用の万能ツール。署名、検証、TLS証明書のバンドルを行うためのコマンドラインツールとHTTP APIサーバー。

  • JA4+ - 💸 ネットワークフィンガープリントの手法を一元的に提供し、脅威調査および分析を支援します。

JWT

JSON Web Token is a bearer’s token.

認可

Now we know you are you. But are you allowed to do what you want to do?

ポリシーの仕様化には体系性が、適用には実践的な判断が求められます。

ポリシーモデル

アクセス制御ポリシーは、古典的なアクセス制御リストからロールベースアクセス制御まで、さまざまな型に基づいて設計できます。ここでは多様なパターンとアーキテクチャを紹介します。

  • Why Authorization is Hard - 強制の実行においては、多くの場所で複数の妥協が必要であり、決定アーキテクチャにおいてビジネスロジックと認証ロジックを分離し、モデリングにおいて権限と複雑性のバランスを取る必要があります。

  • The never-ending product requirements of user authorization - 役割に基づくシンプルな認可モデルは、製品パッケージ、データロケーション、企業組織、コンプライアンスの影響により、すぐに複雑になります。

  • RBAC like it was meant to be - DAC(Unix権限、秘密URL)からMAC(DRM、MFA、2FA、SELinux)へ、そしてRBACへと進化した過程を説明。後者のほうが、ポリシー、ACL、ユーザー、グループのモデリングにおいてより良い結果をもたらすことを詳細に説明。

  • The Case for Granular Permissions - RBACの制限についての議論と、ABAC(属性ベースのアクセス制御)がそれらをどのように解決するか。

  • In Search For a Perfect Access Control System - 認可スキームの歴史的起源。異なるチームや組織間の共有、信頼、委任の未来についてのヒント。

  • GCP’s IAM syntax is better than AWS’s - GCPにおける許可設計の細部が開発者の体験を向上させます

  • Semantic-based Automated Reasoning for AWS Access Policies using SMT - AWSが採用しているZelkovaは、IAMポリシーに対してシンボリック分析を行い、ユーザーの権限およびアクセス制約に基づいてリソースの達成可能性を解決します。詳細は、より高度なintroduction given at re:inforce 2019を参照してください

  • Authorization Academy - 認可に関する深層かつベンダーに依存しない解説で、認可のための認知モデルを強調しています。このガイドは読者に、自らの認可ニーズをどう考えるかを示し、認可アーキテクチャやモデルに関する良い判断を下すための基盤を提供します

RBACフレームワーク

Role-Based Access Control is the classical model to map users to permissions by the way of roles.

  • Athenz - 🆓 サービス認証とロールベース認可をサポートするサービスおよびライブラリセット

  • Biscuit - クッキー、JWT、マカロons、Open Policy Agentの概念を統合。Datalogに基づく論理言語で認可ポリシーを記述できる。JWTのようにデータを、マカロonsのように小さな条件を保存できるが、ロールベースアクセス制御、委任、階層構造といったより複雑なルールを表現することも可能。

  • Cerbos - 💸 コンテキストに意識したアクセス制御ポリシーを記述するための認可エンドポイント

  • FerrisKey - 🆓 Rustで書かれた、セルフホスト型のオープンソースRBACシステム

ABACフレームワーク

Attribute-Based Access Control is an evolution of RBAC, in which roles are replaced by attributes, allowing the implementation of more complex policy-based access control.

  • Keto - 💸 許可決定ポイント。AWSポリシーに類似したアクセス制御ポリシーのセットを使用して、主体がリソースに対して特定のアクションを実行できるかどうかを判断します

  • Ladon - 💸 AWSをインスピレーションとして設計されたアクセス制御ライブラリ

  • Casbin - 🆓 Golangプロジェクト向けのオープンソースアクセス制御ライブラリ

  • Open Policy Agent - 🆓 一般的な用途の決定エンジンで、ABACポリシーの作成と強制を実現します

ReBACフレームワーク

関係ベースアクセス制御はRBACより柔軟で強力なモデルで、クラウドシステムで広く選択されています。

  • Zanzibar: Google’s Consistent, Global Authorization System - 何兆ものアクセス制御リストと毎秒何百万件もの認可要求を処理し、3年以上にわたり95パーセンタイル10ミリ秒未満、可用性99.999%以上を維持したシステムです。 Other bits not in the paper - Zanzibar Academy

  • SpiceDB - 💸 Zanzibarをインスピレーションとして設計された、セキュリティに重要なアプリケーションの許可を管理するオープンソースデータベースシステム

  • Permify - Google Zanzibarに着想を得たオープンソースのAuthorization as a Serviceです。 how it compares to other Zanzibar-inspired tools

  • Topaz - 💸 OPAのポリシー-as-codeおよび決定ログ機能を組み合わせ、Zanzibarモデルに基づいたディレクトリを構築したオープンソースプロジェクト

  • Open Policy Administration Layer - 💸 OPAのオープンソース管理層。ポリシーおよびポリシーデータの変更をリアルタイムで検知し、OPAエージェントにライブ更新を送信します。OPALは、リアルタイムアプリケーションが求めている速度にOPAを向上させます

AWSポリシーツール

AWS IAMポリシーのエコシステムに特化したツールと資料です。

  • An AWS IAM Security Tooling Reference - AWS IAM向けの(維持されている)ツールの総合リスト

  • Become an AWS IAM Policy Ninja - 「アマゾンでほぼ5年間勤務していますが、毎日、毎週、フォーラムや顧客のチケットを確認し、人々が困っている場面を探しています。」

  • AWS IAM Roles, a tale of unnecessary complexity - AWSの急速な成長の歴史が、現在のスキームがどのように生まれたか、およびGCPのリソース階層とどう比較されるかを説明しています

  • Policy Sentry - 🆓 手動でセキュリティ意識の高いIAMポリシーを書くのは非常に面倒で効率が悪い。Policy Sentryは、数秒で最小権限ポリシーを作成できるようにします

  • IAM Floyd - 🆓 AWS IAMポリシー文書生成ツールで、フラットインターフェースを提供。型安全なIAMポリシーの作成や、条件やARNの生成をIntelliSenseでサポートし、より制限的で安全な文書を書くことができます。Node.js、Python、.NetおよびJavaで利用可能

  • IAMbic - 💸 IAM向けのGitOps。Cloud IAMのTerraform。IAMbicは、マルチクラウドの識別およびアクセス管理(IAM)コントロールプレーンであり、クラウドアクセスと権限を中央化・簡素化します。IAMの最終一致し、人間が読みやすい、両方向の表現をバージョン管理に保持します

Macaroons

A clever curiosity to distribute and delegate authorization.

その他のツール

  • Gubernator - 認可設計・実装を支援するその他のツールです。

OAuth2とOpenID

OAuth 2.0 is a delegated authorization framework. OpenID Connect (OIDC) is an authentication layer on top of it.

旧来のOpenIDは役目を終えましたが、新しいOpenID Connectは現役です。

  • Descope - 認証をドラッグ&ドロップで追加。数行のコードで、あなたのアプリに認証、ユーザー管理、認可機能を追加。

  • Awesome OpenID Connect - OpenID Connect向けのプロバイダー、サービス、ライブラリ、リソースの厳選されたリスト。

  • An Illustrated Guide to OAuth and OpenID Connect - これらの標準がどのように機能するかを、簡易な図解を使って説明。

  • OAuth 2 Simplified - 開発者やサービスプロバイダーがそれを実装できるように、プロトコルを簡易形式で説明した参考記事。

  • OAuth 2.0 and OpenID Connect (in plain English) - 歴史的文脈からこれらの標準が生まれたことの解説を始め、語彙の誤解を是正し、プロトコルとその課題を詳細に解説することで、やや難解な印象を軽減。

  • OAuth in one picture - 良い要約カード。

  • How to Implement a Secure Central Authentication Service in Six Steps - 複数の古くからのシステムを、自分のログイン方法やアカウントと統合したいですか?OIDCを使って、そのすべての混乱を統合する方法をここに示す。

  • Open-Sourcing BuzzFeed’s SSO Experience - OAuth2に親和性のある中央認証サービス(CAS)プロトコルのアダプテーション。そこには、良いOAuthユーザーフロー図が含まれている。

  • OAuth 2.0 Security Best Current Practice - 「OAuth 2.0のセキュリティ脅威モデルを更新し、OAuth 2.0が発表された以降に集めた実際の経験を反映し、広範なアプリケーション環境に生じる新たな脅威をカバーする。」

  • Hidden OAuth attack vectors - OAuth 2.0認証メカニズムに見つかるいくつかの重要な脆弱性を特定し、それらを活用する方法を説明。

  • PKCE Explained - 「PKCEは、OAuthおよびOpenID Connectにおける認可コードフローに、もう一つのセキュリティ層を提供する。」

  • Hydra - 💸 Open-source OIDC & OAuth2 サーバー プロバイダー。

  • Keycloak - 🆓 Open-source インターフェースとアクセス管理。OIDC、OAuth 、SAML 2、LDAPおよびADディレクトリ、パスワードポリシーをサポート。

  • Casdoor - 🆓 OIDCおよびOAuth 2、ソーシャルログイン、ユーザー管理、メールおよびSMSベースの2FAをサポートする、UI中心の中央認証/シングルサインオン(SSO)プラットフォーム。

  • authentik - 💸 Keycloakに類似したオープンソースのIDプロバイダー。

  • ZITADEL - 💸 GoとAngularで構築されたオープンソースソリューション。すべてのシステム、ユーザー、サービスアカウントおよびその役割、外部識別情報の管理を一元的に行う。ZITADELは、OIDC、OAuth 2.0、ログインおよび登録フロー、パスワードなし認証およびMFA認証を提供。すべてがイベントソースとCQRSを組み合わせて構築されており、優れたログトレースを提供。

  • obligator - 🆓 自分でホストできるユーザー向けに設計されたシンプルかつ意見のあるOpenID Connectサーバー。シングルスタティックバイナリで、フラットファイルまたはSQLiteストレージをサポート。

SAML

Security Assertion Markup Language(SAML)2.0は、OAuth/OpenIDと同様にサービス間で認証・認可情報を交換する仕組みです。

一般的なSAMLアイデンティティプロバイダーは組織や大企業の社内SSOである一方、OIDC/OAuthプロバイダーはデータ基盤を運営するテクノロジー企業であることが多いです。

  • SAML vs. OAuth - 「OAuthは認可プロトコルである:ボブが正しい駐車場に行けるようにする。一方、SAMLは認証プロトコルであり、ボブがゲートハウスを通過できるようにするものである。」

  • The Difference Between SAML 2.0 and OAuth 2.0 - 「SAMLは実際には広く適用できるように設計されたが、現在の利用は主に企業向けSSOシナリオに偏っている。一方、OAuthはインターネット上のアプリケーションとの利用を目的として設計されたものであり、特に委任認可に特化している。」

  • What’s the Difference Between OAuth, OpenID Connect, and SAML? - アイデンティティは難しい。異なるプロトコルについての別の視点が常に歓迎され、すべてを理解するのを助ける。

  • The Beer Drinker’s Guide to SAML - SAMLはときには奥深い。別の例え話があれば、それによって理解を深められるかもしれない。

  • SAML is insecure by design - SAMLは単に不思議で、設計上不安全である。なぜなら、SAMLはXML canonicalizationに基づく署名に頼っているからであり、XMLバイトストリームに頼っているわけではない。つまり、XMLパーサーやエンコーダーの違いを悪用できる。

  • The Difficulties of SAML Single Logout - シングルログアウト実装における技術的およびUX上の問題について。

  • The SSO Wall of Shame - SaaSプロバイダーがSSOを有効化する際に採用する過剰な価格設定についての記録された批判。著者の主張は、SSOは基本的なセキュリティ機能であるため、適切な価格で提供され、排他的なプランに含まれるべきではないということである。

シークレット管理

信頼の連鎖を維持しながら、認証・認可に必要なシークレットを保存・利用するためのアーキテクチャ、ソフトウェア、ハードウェアです。

  • Secret at Scale at Netflix - ブラインド署名に基づくNetflixの大規模シークレット管理方式を解説します。 slides

  • High Availability in Google’s Internal KMS - GCPのKMSではなく、Google基盤の中核にある社内KMSの高可用性を解説します。 slides

  • HashiCorp Vault - 💸 ターゲット、パスワード、証明書、暗号鍵の安全な保管と、アクセスの厳密な制御。

  • Infisical - 💸 HashiCorp Vaultの代替案。

  • sops - 🆓 YAML、JSON、ENV、INI、BINARY形式をサポートする暗号化ファイルエディタで、AWS KMS、GCP KMS、Azure Key Vault、age、PGPで暗号化。

  • gitleaks - 🆓 セクレットを監視するGitリポジトリの編集。

  • trufflehog - 💸 Gitリポジトリを検索し、高エンタロピーの文字列やセクレットを特定し、コミット履歴に深く掘り下げる。

ハードウェアセキュリティモジュール(HSM)

HSMはハードウェア層でシークレット管理の安全性を保証する物理デバイスです。

トラスト&セーフティ

十分な利用者基盤はコミュニティになります。運営者には、顧客、人々、企業、事業を守り、その中で行われる交流と取引を安全に支える責任があります。

A critical intermediation complex driven by a policy and constraint by local laws, the Trust & Safety department is likely embodied by a cross-functional team of 24/7 operators and systems of highly advanced moderation and administration tools. You can see it as an extension of customer support services, specialized in edge-cases like manual identity checks, moderation of harmful content, stopping harassment, handling of warrants and copyright claims, data sequestration and other credit card disputes.

ユーザーアイデンティティ

多くの事業者は第三者へ販売するプロフィール作成のためではなく、法令に基づく契約関係の記録として本人確認(KYC)を行う必要があります。

  • The Laws of Identity - この紙はアイデンティティメタシステムを狙っているが、その法則は小さなスケールにおいても大きな洞察を提供しており、特に第一の法則:ユーザーの制御を常に許可し、信頼を得るために同意を求める。

  • How Uber Got Lost - 「摩擦を最小限に抑えるために、Uberは利用者にメールアドレス(簡単に偽造できる)または電話番号の提供を要せず登録を許可した。(…) 車両が盗まれて焼かれた;運転手が襲われ、強盗され、場合によっては殺害された。しかし、暴力が増加する中でも、会社は低摩擦の登録システムを維持した。

  • A Comparison of Personal Name Matching: Techniques and Practical Issues - 顧客名の一致は、アカウントの重複除去から詐欺監視まで幅広い応用がある。

  • Statistically Likely Usernames - 🆓 ユーザー名の統計的に可能性の高いリストを提供。これは、ユーザー名の枚挙、シミュレートされたパスワード攻撃、その他セキュリティテストに使用する場合に有効。

  • Facebook Dangerous Individuals and Organizations List - あるグループやコンテンツは、特定の法域において違法である。これはブロッキングリストの例である。

  • Ballerine - 💸 ユーザーのアイデンティティとリスク管理に用いるオープンソースインフラ。

  • Sherlock - 🆓 複数のソーシャルネットワークにおけるユーザー名でソーシャルメディアアカウントを特定。

不正対策

オンラインサービスは不正、犯罪、悪用にさらされます。ワークフロー上の不具合や不整合は金銭的利益のために悪用され得るものとして設計する必要があります。

モデレーション

ゲームやSNSに限らず、オンラインコミュニティの運営にはモデレーションのための継続的な資源投入が必要です。

  • Still Logged In: What AR and VR Can Learn from MMOs - 「オンラインコミュニティを運営している場合、人々が他の人を傷つける可能性がある:その責任が発生する。そして、その責任を負うことが負担であるなら、オンラインコミュニティを運営しないべきだ。』

  • You either die an MVP or live long enough to build content moderation - 「この問題の解決空間を検討する際、コスト、正確性、スピードの3つの次元と、人間によるレビューと機械によるレビューの2つのアプローチを考慮する。人間は正確性の次元において優れているが、コストとスピードの観点では高価で遅いという欠点がある。機械、またはロボットはコストとスピードの次元において優れている。コストが低く、スピードも速い。しかし、目的は、必要に応じて十分に正確なロボットソリューションを見つけることである。

  • The despair and darkness of people will get to you - 巨大なソーシャ及ネットワークのモデレーションは、外部に委託されたサブコンタクターの軍団によって行われており、これらの人は最悪の状況にさらされ、一般的にPTSDに陥る。

  • The Cleaners - これらの給料が低い人々が投稿を削除し、アカウントを削除するチームについてのドキュメンタリー。

脅威インテリジェンス

攻撃的なオンライン活動を検知、識別、分類する方法を扱います。通常はセキュリティ、ネットワーク、インフラチームが監視しますが、脅威分析と対応に関与するT&S・IAM担当者にも有用です。

  • Awesome Threat Intelligence - 「脅威インテリジェンスの簡潔な定義:資産に対する既存または新たな脅威・危険に関する、文脈、メカニズム、指標、影響、および実行可能なアドバイスを含む、根拠に基づく知識。この知識は、その脅威や危険に対する対応に関する意思決定を導くために用いられる。』

  • SpiderFoot - 🆓 オープンソースインテリジェンス(OSINT)自動化ツール。ほぼすべてのデータソースと統合され、データ分析のための多様な手法を用いて、データを簡単にナビゲートできるようにする。

  • OSINT Stuff Tool Collection - 「数百のオンラインツールを収集したOSINTツールセット」:ドメイン、IPアドレス、メールアドレス、ユーザー名、ソーシャルネットワークの検索が、詐欺や悪用の暴露に役立つ。

  • Maigret - 🆓 「3000以上のサイトからユーザー名で個人のファイルを収集」。これはアカウントの枚挙や詐欺・悪用の暴露に有効。

  • Standards related to Threat Intelligence - 脅威インテリジェンス分析を支援するオープンスタンダード、ツール、手法。

  • MISP taxonomies and classification - 「脅威情報(サイバーセキュリティ指標、金融詐欺、反テロ情報など)」を整理するためのタグ。

  • Browser Fingerprinting: A survey - フィンガープリントは、ボットや詐欺者を特定するためのシグナルのソースとして利用できる。

  • The challenges of file formats - 脅威情報の収集・共有・活用に関する資料・基盤です。 corpus of suspicious media files

  • SecLists - 🆓 セキュリティ評価中に使用される複数種類のリストを、一か所に集約したコレクション。リストの種類にはユーザー名、パスワード、URL、センシティブデータパターン、フュージングペイロード、ウェブシェルなどがある。

  • PhishingKitTracker - 🆓 フィッシングキットを使用する脅威行動者によるメールアドレスのCSVデータベース。

  • PhoneInfoga - 🆓 フリーリソースのみで携帯電話番号をスキャンできるツール。目的は、国、エリア、キャリア、ラインタイプなどの標準情報の収集(非常に高い精度)であり、その後、検索エンジンでの足跡を検索し、VoIPプロバイダーを特定または所有者を識別すること。

  • Confusable Homoglyphs - 🆓 ホモグロフィックは、フィッシングの一般的なトリック。

CAPTCHA

スパム送信者に対する追加の防御線です。

  • Awesome Captcha - オープンソースのCAPTCHAライブラリ、統合、代替手段およびクラッキングツールに関するすべてのリファレンス。

  • reCaptcha - 💸 企業がインターネット規模でのボットやスパマー対策に専門チームを割くことができない場合でも、依然として効果的で経済的かつ迅速な解決策。

  • You (probably) don’t need ReCAPTCHA - サービスがプライバシーの危険な状態であり、UIが面倒であるという批判から始まり、代替案をリストアップ。

  • Anubis - 🆓 スクリッパー・ボットが上流リソースを侵害するのを防ぐオープンソースソリューション。

  • Anti-captcha - 💸 CAPTCHA解決サービス。

ブロックリスト

悪用に対する最初の機械的防御は単純な拒否リストです。基本的な不正対策ですが、現在も有効です。

  • Bloom Filter - この用途に最適である。なぜなら、ブロームフィルターは、ある(大きな)セットに要素が含まれていないかを迅速に確認するために設計されている。特定データタイプに応じたブロームフィルターのバリエーションが存在する。

  • How Radix trees made blocking IPs 5000 times faster - ラディクスツリーは、IPブロッキングリストの処理を速くするのに役立つ可能性がある。

ホスト名とサブドメイン

クライアントの識別、ボット群の検出・遮断、DDoSの影響軽減に役立ちます。

  • hosts - 🆓 評価されたホストファイルを統合し、重複を削除した一元化されたホストファイルにまとめる。

  • nextdns/metadata - 💸 セキュリティ、プライバシー、親子制御に関する広範なリストの収集。

  • The Public Suffix List - 🆓 モzillaが管理する公開サフィックスリスト。インターネットユーザーが(または歴史的に)直接名前を登録できる。

  • Country IP Blocks - 🆓 インターネット地域登録機関から直接取得したCIDRレベルの国別IPデータ。毎時更新。

  • Subdomain denylists: #1, #2, #3.

  • common-domain-prefix-suffix-list.tsv - トップ5000の最も一般的なドメインプレフィックス/サフィックスリスト。

  • xkeyscorerules100.txt - ホスト名・サブドメインの判定用リストやツールです。 XKeyscore

  • AMF site blocklist - 公式フランス語のお金関連詐欺サイトのdenylist。

メール

  • Burner email providers - メールアドレスやドメインの判定用リスト・サービスです。 derivative Python module

  • MailChecker - 💸 複数言語対応の一時的な(使い捨て/捨てられる)メールアドレス検出ライブラリ。

  • check-if-email-exists - 💸 SMTPでメールアドレスの到達可能性を確認するのに何かを送信せず、登録時にタイポや一時的なドメイン、役割アカウントをキャッチする

  • Temporary Email Address Domains - 一時的・仮のメールアドレスのドメイン一覧。あなたのメールリストをフィルタリングして開封率を向上させるのに役立ちます(これらのドメインにメールを送ることは開封されにくいです)

  • gman - 🆓 “指定されたメールアドレスまたはウェブサイトの所有者があらゆる政府機関(=THE MAN)に勤務しているかどうかを確認するためのRubyのgem。” 自分のユーザーベースに潜在的な政府顧客を特定するための良いリソース。

予約済みID

不適切表現

プライバシー

ユーザーデータを守るIAMスタックには、プライバシー尊重が深く結びついています。

匿名化

ユーザーデータの中央リポジトリを担うIAM関係者は、事業・顧客データの漏えいを防ぐ必要があります。内部分析を可能にするには匿名化が必要です。

GDPR

The well-known European privacy framework

UX/UI

IAM担当者は、登録導線とユーザーオンボーディングに必要な基盤機能の多くをバックエンドへ実装します。製品の第一印象を決めるため、フロントエンドの専門家と慎重に設計する必要があります。以下は体験改善の参考資料です。

競合分析

この分野で活動するオープンソースプロジェクトと企業の動向を追跡します。

歴史

  • cryptoanarchy.wiki - サイファーパンクスはセキュリティと重なります。このWikiは、この運動、その歴史、および重要な人物・出来事を収集しています。

コントリビューション

コントリビューションを歓迎します。最初にコントリビューションガイドラインをご確認ください。

脚注

ヘッダー画像は、写真Ben Sweetが加工したものです。

[1]: Poison Study (Mira, 2007). [↑]