top of page

Connor Moucka、Snowflake顧客データ窃取キャンペーンで罪を認める

Techmemeが取り上げた報道によると、Connor Mouckaは少なくとも165のSnowflake顧客に対する攻撃に関わる事件で有罪を認めた。Techmemeが扱ったこのカナダの事件は、AT&T関連のデータを含む数十億件の機微な記録を露出させたキャンペーンと、1人の被告を結び付けている。

この答弁により、2024年で最も広範なクラウドデータ窃取キャンペーンの一つをめぐる法的状況は変化する。ただし、攻撃によって浮き彫りになった中心的なセキュリティ上の論点は解決しない。Snowflakeは自社プラットフォームへの侵害はなかったと述べる一方、顧客は十分なID保護のないアカウントに依存していた。

この区別は重要だが、データを盗まれた組織にとってはほとんど慰めにならない。攻撃は、有効な認証情報、脆弱な認証、そして集中されたクラウドデータが、プラットフォーム全体の侵害に似た結果をもたらし得ることを示した。

Techmemeが扱ったカナダの事件、容疑から自認へ

Mouckaの有罪答弁により、Snowflake事件の大きな部分は、単なる告発から被告が認めた犯罪事案へと変わった。

The RecordのJonathan Greigは、Mouckaが2024年のハッキングキャンペーンへの関与について有罪を認めたと報じた。Techmemeは2026年8月5日にこの報道を取り上げた。入手可能な報道によれば、このカナダ国籍の被告は数十年の禁錮刑に直面している。

Alexander Antonin Mouckaとしても知られるMouckaは、2024年10月30日にオンタリオ州キッチナーで逮捕された。2025年3月には身柄引き渡しのための降伏に同意し、同年7月にシアトルの連邦裁判所へ出廷した。

当初、彼はすべての罪状について無罪を主張していた。報じられた有罪答弁以前に最終更新された司法省の公開 Moucka事件ページ には、2026年10月19日の公判期日が記載されていた。

この連邦事件では、John Erin Binnsも被告に名を連ねている。司法省がページを最後に更新した時点で、Binnsは米国当局の身柄下にはなかった。検察は被告らを、通信詐欺、コンピューター詐欺、加重ID窃盗、恐喝関連犯罪、および関連する共謀罪で起訴した。

当初の起訴状は、少なくとも10の被害組織への侵入を記載していた。被告らとその関係者が数十億件の記録にアクセスし、身代金を要求し、盗んだ情報をサイバー犯罪フォーラムで宣伝したと主張している。

これらの記録には、通話・テキストメッセージの履歴、銀行情報、給与記録、旅券番号、社会保障番号が含まれていたとされる。検察はまた、このグループが恐喝によって数百万ドルを得たと主張した。

165組織という数字は、具体的に起訴された被害者数ではなく、より広範な脅威調査に基づくものだ。MandiantとSnowflakeは、Snowflake環境が潜在的に露出したおよそ165組織に通知したと述べた。

この区別は重要である。刑事事件では通常、特定の罪状を立証するために必要な選択された事案が提示される。一方、脅威調査は、個別の刑事訴因として現れない事案も含め、より広いキャンペーンを説明できる。

報じられた有罪答弁は、165組織すべてに関するあらゆる公的主張を自動的に確定するものではない。裁判所と答弁合意が受け入れた範囲内で、刑事責任を確定するものだ。正確に認められた事実、取り下げられた罪状、量刑上のリスク、賠償条件は、事件に提出される書面に左右される。

それでも、この変化は大きい。Mouckaの弁護は、もはや予定されていた公判へ向かっているようには見えない。今後は、事実の自認と、裁判所がキャンペーンの規模をどのように評価するかに注目が移る。

この事件はまた、セキュリティチームに匿名の脅威クラスター名以上の具体性を与える。かつて主にインシデント報告で語られていたキャンペーンに、責任を認めたと報じられる被告が存在することになった。

この法的進展は、より大きな問いを鮮明にする。機微な企業データで満たされたリポジトリを、有効ではあるものの盗まれたパスワードで開けられることを防ぐ責任は、誰にあったのか。

単純なログイン経路が甚大な被害を生んだ

攻撃後に公表された調査によると、このキャンペーンに新たに発見されたSnowflakeソフトウェアの脆弱性は必要なかった。

Mandiantはこの活動を、金銭目的の脅威クラスターを示すラベルであるUNC5537として追跡した。同社の調査員は、攻撃者が盗まれた認証情報を用いて顧客のSnowflakeインスタンスへ組織的にアクセスしたと述べた。

インフォスティーラーとは、感染したデバイスからパスワード、ブラウザデータ、セッション情報、その他の認証情報を収集するよう設計されたマルウェアである。盗まれた認証情報は、しばしばログとしてまとめられ、犯罪市場で取引される。

Mandiantは、Snowflakeキャンペーンで使われた一部の認証情報が2020年まで遡るインフォスティーラー感染に由来すると突き止めた。影響を受けた環境では、盗難後もパスワードが何年も有効なままであった場合があった。

調査員は、繰り返し見られた3つの弱点を特定した。侵害されたアカウントに多要素認証がなく、パスワードがローテーションされず、ネットワーク許可リストが信頼できる場所からのログインに限定していなかったことだ。

Mandiantによると、攻撃者が使用したアカウントの少なくとも79.7%には、以前の認証情報露出を示す証拠があった。詳細な UNC5537分析 では、同社が扱ったすべてのインシデントを、侵害された顧客認証情報に結び付けている。

一般にMFAと呼ばれる多要素認証は、パスワード以外の追加の認証情報を要求する。実装によって、その第2要素はセキュリティキー、パスキー、認証アプリのコード、または承認済みデバイスになり得る。

MFAがなければ、機能するユーザー名とパスワードだけで実在の利用者になりすますことが可能になる。他の制御が異常な送信元や振る舞いを検知しない限り、クラウドサービスには正常な認証として映る。

攻撃者はログイン後、Snowflakeの通常のインターフェースとサポート対象のデータベースコマンドを使用したと報じられている。Mandiantは、SnowflakeのブラウザーインターフェースであるSnowsightと、そのコマンドラインクライアントであるSnowSQLを通じたアクセスを確認した。

調査員はまた、FROSTBITEとして追跡される、攻撃者が命名した偵察ユーティリティも確認した。このツールはアカウント詳細、ロール、ユーザー、組織名、セッションなどを照会し、オペレーターがアクセス可能な環境を把握するのに役立った。

攻撃者は有用なテーブルを見つけると、顧客インスタンス内にデータをステージングできた。標準SQLとSnowflakeコマンドにより、レコードの選択、エクスポートファイルの圧縮、そのファイルの取得が可能だった。

このワークフローにおいて、攻撃者が暗号化を破ったり、基盤となるクラウドインフラを突破したりする必要はなかった。彼らは、認証情報を支配したアカウントに付与されていた権限を悪用した。

この点は、なぜキャンペーンがこれほど重大な結果を招いたかを説明する。攻撃者は別の認証情報セットを入手するたびに、同じ再現可能なプロセスを異なる組織に対して用いることができた。

クラウドへの集中化が結果を増幅した。企業はデータプラットフォームを使い、顧客記録、財務情報、業務データ、分析ワークロードを統合する。そのため、侵害されたアカウントは、多くの業務システムから集められた情報へのアクセスを提供し得る。

技術的な仕組みは、見落とされかねないほどありふれたものだった。ゼロデイ脆弱性は必要なかった。ゼロデイとは、防御側がまだ修正を展開していない、これまで知られていなかったソフトウェア上の欠陥を指す。

代わりに、このキャンペーンは成熟した犯罪サプライチェーンに加わった。インフォスティーラーが認証情報を収集し、地下市場がそれを流通させ、恐喝を行う者たちがアクセスを交渉力へと変えた。

Mandiantは、この手法は特に新規性や高度さを持つものではないと説明した。この評価は、インシデントを軽くするどころか、むしろより懸念すべきものにする。基本的なID管理の失敗が、異例に広い影響を持つ攻撃を可能にした。

有罪答弁は、この仕組みを変えるものではない。起訴が個々の参加者に及び得ることを確認する一方で、再利用可能な攻撃経路は他のグループにも依然として利用可能である。

Snowflakeの責任共有モデルが不都合な現実に直面する

主な対立点は、契約上の責任と運用上の管理権限の間にある。

Snowflakeは一貫して、調査で同社の企業環境における侵害、脆弱性、または設定不備の証拠は見つからなかったと主張している。同社の立場は、プラットフォームと個々の顧客アカウントとの間に明確な境界線を引くものだ。

同社は 規制当局への提出書類 でもこの点を繰り返した。脅威アクターが、一部顧客がMFAやネットワークアクセスポリシーなどの保護策を実装しなかった後に、その顧客アカウントへアクセスしたと述べている。

この説明は、入手可能なフォレンジック調査結果と整合する。Mandiantも、不正アクセスがSnowflakeの企業システム侵害に由来する証拠は見つからなかったとしている。

しかし顧客は、インフラやセキュリティの負担を減らす目的の一部として、マネージドクラウドサービスを購入した。およそ165組織が類似のアカウント上の弱点を通じて露出し得る場合、責任は設定チェックリストより複雑なものになる。

責任共有モデルは、クラウドプロバイダーと顧客の間でセキュリティ上の責務を分ける。プロバイダーはサービスを保護し、顧客はID、権限、データ、および一部の設定を管理する。

この分担は必要だ。クラウドベンダーは、各顧客データセットへのアクセスをどの従業員に必要とするかを決められない。また、依存するアプリケーションを理解せずに、すべての顧客認証情報を安全にローテーションすることもできない。

しかしプロバイダーは、デフォルト設定、認証オプション、アラート、ドキュメント、管理インターフェース、必須保護策の展開を管理している。これらの選択は、顧客が安全な判断を行うかどうかに強く影響する。

Snowflakeがポリシーを変更する前は、新規作成アカウントには、関連するすべてのユーザーにMFA登録を義務付ける組み込みの認証ルールがなかった。顧客は保護策を有効化できたが、利用可能であることは導入を保証しなかった。

Snowflakeは後に、新規アカウントの対象となるパスワード利用者にMFA登録を要求するデフォルトポリシーを導入した。同社の MFAドキュメント には、以前の状態とその後の変更が記録されている。

同社はより強力な認証へ向けた移行を続けている。現在の計画では、人間のユーザーによる単一要素のパスワードアクセスを廃止し、サービスユーザーに対するパスワード認証もなくすとしている。

これらの措置は、重要な製品判断に相当する。特に、数千社にとっての機微なデータを集中させるサービスでは、一部の制御はオプションのままにしておくには重要すぎる。

この転換は微妙である。顧客が利用可能な制御を使わなかったというSnowflakeの主張は、事実として正しい可能性がある。同社が後により強力なデフォルトを強制する判断をしたことも、利用可能であるだけではリスクを十分に管理できなかったことを示唆する。

これは、請負業者の個人用コンピューターにインストールされたマルウェアについてSnowflakeが責任を負うことを意味しない。また、漏えいしたパスワードをローテーションし、特権アカウントを監視する顧客の義務をなくすものでもない。

クラウドセキュリティの結果は、サービス境界の両側から生まれることを示している。顧客はユーザーと権限を選択するが、プロバイダーは抵抗の最も少ない経路を設計する。

請負業者のアクセスは、この問題をよく示している。Mandiantは、ゲームや海賊版ダウンロードなどの個人的活動にも使われていた請負業者のコンピューターが、インフォスティーラーによって侵害された事例を確認した。

一人の請負業者が複数の組織と関わり、それぞれの環境で高い権限を持つこともある。感染した端末が1台あるだけで、複数の企業アカウントに紐づく認証情報が露出する可能性がある。

セキュリティチームは、すべてのIDが管理対象の従業員用ノートPCに由来するとは想定できない。エンドポイントが直接の監督範囲外にある場合でも有効な統制が必要だ。

プロバイダーも、規模は異なるものの同じ現実に直面している。認証システムは、パスワードが漏えいし、ユーザーが認証情報を使い回し、一部の顧客が任意の保護策の導入を後回しにすることを前提にしなければならない。

したがって、techmemeのカナダに関する事案は、責任共有を狭く解釈する見方に疑問を投げかける。責務を割り当てても、数千の顧客がそれを一貫して果たすとは限らない。

より安全なモデルは、顧客の説明責任と、プロバイダーが強制する最低基準を組み合わせるものだ。また、例外を可視化し、期限を設け、意図せず作成されにくくする必要がある。

AT&Tが示す、クラウドアカウントのセキュリティが企業セキュリティである理由

AT&Tの事案では、侵害されたクラウドアカウントが、ほぼ全国規模の同社ワイヤレス顧客に影響するプライバシー事案へと発展した。

AT&Tは2024年7月、脅威アクターがサードパーティーのクラウドプラットフォームから記録を不正にダウンロードしたと公表した。このデータセットには、2022年の6か月間における通話とテキストメッセージの記録に加え、2023年1月の限定的な記録も含まれていた。

同社によると、影響を受けたデータには通話またはテキストメッセージに関与した電話番号が含まれていた。一部の記録には、やり取りに関連する基地局識別番号も含まれていた。

AT&Tは、ダウンロードされた記録に通話やテキストメッセージの内容は含まれていないと説明した。また、社会保障番号、生年月日、氏名などの個人情報も含まれていなかったという。

ただし、この制約が記録を無害にするわけではない。通信メタデータは、メッセージの内容がなくても、人間関係、行動パターン、取引先、センシティブな傾向を明らかにし得る。

AT&Tによると、対象データはほぼすべてのワイヤレス顧客、同社ネットワークを利用するモバイル仮想ネットワーク事業者の顧客、そしてそれらの番号とやり取りした一部の固定電話顧客に関係していた。

同社の提出書類によれば、2024年4月19日、脅威アクターが通話ログにアクセスしてコピーしたと主張していることを把握した。AT&Tは調査を行い、法執行機関と協力した。

これは、隔離された実験システムに置かれた周辺的なデータセットではなかった。大手通信事業者の顧客基盤の日常的な通信から得られた情報だった。

この事案は、クラウドデータウェアハウスが本番のIDシステムと同等のセキュリティ上の注意を必要とする理由を示している。データプラットフォームは、これらのアプリケーションを直接運用していなくても、多数のアプリケーションから取り込んだコピーを保持していることが多い。

攻撃者はその集中を理解している。複数の運用システムに侵入する代わりに、組織がすでに価値ある情報を統合した分析リポジトリを狙える。

報道によれば、Snowflakeを標的としたこのキャンペーンは、Ticketmasterの親会社Live Nation、Santander、Advance Auto Parts、Neiman Marcus、LendingTreeなど、ほかの著名組織にも影響した。

各被害組織で露出したデータが異なったのは、Snowflakeインスタンスに保持されていたワークロードが異なっていたためだ。繰り返し現れた要素は、単一の標準化されたデータセットではなく、IDの侵害だった。

このパターンは、Snowflakeだけでなく企業の購買側にも重圧をかける。セキュリティレビューでは、ベンダーの暗号化、認証、可用性、脆弱性管理に重点が置かれがちだ。

これらの統制は重要だが、すべての人間のアカウントがフィッシング耐性のある認証を使っているかという問いには答えない。また、古い請負業者の認証情報が有効なままかどうかも分からない。

調達チームは、プラットフォームが単一要素でのアクセスをどのように防ぎ、人間とサービスのIDをどう区別し、想定外のネットワークからのログインをどう検知するかを確認すべきだ。特権的なエクスポートが即時アラートを生成するかも検討する必要がある。

データ所有者は、分析プラットフォームに何が流入しているかも把握しなければならない。パスポート情報、金融記録、通信メタデータを静かに蓄積するウェアハウスは、当初のリスク分類が示す以上に価値の高い標的になり得る。

このインベントリには、コピーや派生データセットも含める必要がある。運用アプリケーションからフィールドを削除しても、別の場所に保持された古いエクスポートは保護されない。

検索可能な社内記録は、データアクセスやインシデント対応に関する意思決定をチームが維持する助けになる。例えば、適切に管理されたengineering knowledge baseは、ランブック、所有権の記録、過去のセキュリティ上の知見を結びつけられる。

ドキュメントは、それ自体ではセキュリティ統制ではない。対応担当者が、所有者、依存関係、認証の例外、露出したテーブルの業務上の目的を迅速に特定できるときに有用になる。

AT&Tの例は、「サードパーティーのインシデント」という表現も複雑にする。自分の情報が犯罪者の手に渡った際、顧客にとって侵害されたアカウントをどの当事者が運用していたかは、ほとんど重要ではない。

規制当局、裁判所、影響を受けた個人は、連鎖全体を検証する。その連鎖には、データ所有者、クラウドプロバイダー、請負業者、ID管理者、そして不要なアカウントを有効なまま残したすべての者が含まれる。

有罪答弁ではセキュリティ責任をめぐる議論は決着しない

刑事上の責任と防御上の責任は、異なる問いに答える。

Mouckaの訴追は、名前が挙がった被告が特定の連邦犯罪を犯したかを問うものだ。より広いセキュリティ上の議論は、どの組織が攻撃の防止または限定に最も適した立場にあったかを問う。

有罪答弁は、ツール、共犯者、支払い、被害者選定に関する証拠を提供し得る。また、返還請求を裏付け、従来は技術的な指標だけで帰属されていた活動を捜査当局が結びつける助けにもなる。

しかし、それによって影響を受けたすべての企業が同一の統制を備えていたことが立証されるわけではない。より広範なキャンペーンにおけるすべての事案を、1つのベンダーポリシーで防げたことも証明できない。

公表情報では、規模についても慎重な扱いが求められる。Mandiantは、約165の組織が潜在的に露出し、通知を受けたと述べた。司法省の事件ページは、少なくとも10の被害組織を含むとされるハッキング計画を説明している。

これらの数値は異なる範囲を測っている。165組織すべてをMouckaが認めた行為における立証済みの被害者として提示することは、ここで利用できる公開証拠の範囲を超える。

正確な答弁条件も同じ理由で重要だ。読者は、当初のすべての訴因が維持されたと想定するのではなく、提出された答弁合意と、被告が認めた事実に関する裁判所記録を確認すべきである。

量刑も未解決だ。連邦法上の最大刑は大きな見出し上の合計を生み得るが、裁判官が各最大刑を単純に合算してその結果を科すわけではない。

裁判所は、有罪判決の対象となった犯罪、量刑ガイドライン、前科、被害者の損失、協力、返還、双方当事者の主張を考慮する。「数十年」に及ぶと報じられる刑期は、最終的な判決ではなく法的リスクを示すものだ。

Snowflakeのセキュリティ対応にも同様の慎重さが必要だ。より強力なMFA要件は盗まれたパスワードによるリスクを低減するが、MFAは現代のソーシャルエンジニアリングに対する完全な防御ではない。

Googleの脅威研究者は2026年、ShinyHuntersを名乗る活動が戦術を拡大したと報告した。攻撃者は、音声フィッシングと認証情報を収集するサイトを使い、シングルサインオンの認証情報とMFAコードを取得した。

一部の活動では、ヘルプデスクまたはユーザーを説得し、悪意ある登録操作を承認させた。別の活動ではセッショントークンを取得しており、正規の認証イベント後に攻撃者が操作できる可能性がある。

この進化は、MFAの必須化が問題を永続的に解決するという主張を弱める。ただし、再利用可能なパスワードが直接アクセスを提供するという、最も容易な形の攻撃を取り除くことにはなる。

セキュリティチームは、センシティブな役割に対してフィッシング耐性のある認証を必要としている。パスキーとハードウェアセキュリティキーは、ユーザーが転送できるコードよりも効果的に、認証を正規のサイトに結びつける。

ログイン後の統制も必要だ。ネットワーク制限、行動分析、短命なセッション、エクスポート監視、最小権限のアクセス許可は、侵害されたIDによる被害を抑える。

サービスアカウントには別個の注意が必要だ。これらの非人間IDはアプリケーションや自動化ワークフローを支えるため、通常、対話型MFAは用途に適さない。

より強力な代替手段には、キーペア認証、ワークロードID、狭く限定した権限、自動化された認証情報ローテーションがある。チームは、サービス認証情報が恒久的なマスターキーにならないよう防ぐべきだ。

データ移動には専用の監視が必要である。あるユーザーが突然、多数のテーブルを列挙し、一時ステージを作成し、大規模なエクスポートを圧縮して、新しい場所から取得するなら、そこには検知可能な一連の動きが生じる。

組織は、こうした行為が有用なアラートを生成するかをテストすべきだ。誰もシグナルを受け取らず、調査方法も分からないなら、名目上のログ機能が提供する保護はほとんどない。

クラウドプロバイダーは、高信頼度の検知をデフォルトで提供することで曖昧さを減らせる。顧客はその上で、各ルールをゼロから設計せずに検知を調整できる。

techmemeのカナダに関する報道は法的な節目を加えるが、懐疑的な結論は依然として必要だ。個々の実行者を逮捕・訴追しても、彼らにアクセス手段を提供した認証情報経済は解体されない。

インフォスティーラーのログは依然として大量に存在する。犯罪グループは古い認証情報を安価に購入し、大規模に試行し、まだ有効なアカウントに労力を集中できる。

したがって防御側は、パスワード露出を想定内の事象として扱う必要がある。重要なのは、盗まれた認証情報が重大な被害をもたらすほど長く有用なままでいるかどうかだ。

Snowflakeからの教訓が定着したかを示す3つのシグナル

次の段階は、裁判記録、認証の強制、クラウド攻撃の再発に関する証拠を通じて測定されるべきだ。

最初のシグナルは、Mouckaの書面による答弁合意と量刑記録である。これらの文書は、彼がどの行為を認めたか、その認定が対象とする被害者、合意された損失計算があるかを定義するはずだ。

詳細な事実陳述は、このキャンペーンの仕組みに関する公衆の理解を深める。一方、限定的な合意であれば、MouckaをUNC5537に帰属されたすべての事案と結びつける際に、引き続き慎重さが必要となる。

量刑はまた、検察と裁判所が盗まれた認証情報により生じた損害をどのように評価するかを示す。返還に関する判断は、公表された侵害通知では捉えられなかったコストを明らかにする可能性がある。

2つ目のシグナルは、Snowflakeによるより強力な認証展開の完了だ。最も意味のある指標は、MFA機能が存在するかではなく、通常の人間アカウントから単一要素のパスワードアクセスが実際に消えるかどうかである。

例外は綿密な検証に値する。組織が移行を完了しなければ、旧式のビジネスインテリジェンスツール、リーダーアカウント、試用環境、サービス連携が、より弱い経路を残し得る。

企業の購買側は、ベンダーに強制適用日と例外のインベントリを求めるべきだ。また、自社のアカウント設定を通じて、それらの回答を検証する必要がある。

移行が成功すれば、元の攻撃経路は弱まる。例外が残る、または強制適用が遅れるなら、使いやすさや互換性への圧力が、掲げられたセキュリティ目標をなお上回っていることを示す。

3つ目のシグナルは、攻撃者が他のsoftware-as-a-serviceプラットフォームに対して同じキャンペーンを再現するかどうかだ。Mandiantは2024年、UNC5537の手法がSnowflakeを超えて広がる可能性があると警告した。

その後の報告では、関連する恐喝活動がすでに、音声フィッシング、シングルサインオンの侵害、複数のクラウドアプリケーションからの窃取へと進化していたことが示された。

この進化は、記事の中心的な判断を補強する。長く残る問題は、特定のベンダーや被告ではなく、集中化されたクラウドデータと一貫しないID強制の間にある隔たりだ。

パスワードに起因する侵害の減少は、必須の対策が機能していることを示すだろう。セッション窃取やヘルプデスクの操作を通じた侵害が続く場合、フィッシング耐性のあるアイデンティティ対策とログイン後の検知に注目が移ることになる。

したがって、techmemeが報じたカナダのこの件は、単に2024年のハッキング事件の最終章ではない。これは、クラウドプロバイダーと顧客が、このキャンペーンを繰り返し可能にしていた条件を変えたかどうかの試金石でもある。

報道されたMouckaの有罪答弁により、刑事事件では個人の責任に関する答えがより明確になった。一方で、企業側の答えはまだ出ていない。

セキュリティ責任者はこの機会を活用し、すべての特権アカウントを検証し、休眠中のIDを削除し、信頼済みネットワークを制限し、大量エクスポートを監視すべきだ。またベンダーに対し、単に提供されているだけでなく、どの保護機能が実際に強制適用されているのかを確認する必要がある。

最後の問いは実務的だ。今夜、従業員または請負業者のパスワードが犯罪者のログに記録された場合、明日の朝にそれを阻止するのはどの対策だろうか。

 
 

無料で始めましょう

ローカルファーストのパーソナル知識管理付きAIアシスタント

より良いAI体験のために、

remio は現在、 Windows 10+ (x64)M-Chip Mac のみをサポートしています。

脳内に検索バーを追加

ただremioに尋ねるだけ

すべてを思い出す

何も整理しない

bottom of page