ピクシブ株式会社様の長期インターンシップに参加してきました。
はじめに
こんにちは、みらい(@Minimal_Mirai)です。
さて、私は今年の9月後半から12月までピクシブ株式会社様の長期インターンに参加させて頂いておりました。
今回はその振り返りとして、こちらの個人ブログでも記録を残しておこうと思います。
また私が志望していた部署の業務内容は、比較的センシティブな情報も取り扱う関係上、一部ボカしたり記載していない内容もあります。
掲載内容については事前に承認を頂いた内容のみ掲載しています。
背景
私は以前よりCTFにかなりハマっており、その関係で2021年の後半頃からペネトレの国際資格OSCP(PEN-200)の受験勉強をしていました。どちらかというと攻撃的なセキュリティ(Offensive Security)の技術や知識を中心に学んでいました。
2022年からの試験範囲がかなり大幅に変わり、ActiveDirectoryに関するハッキング(おおまかにAD侵入→低権限のシェル取得, 権限昇格→DC-Adminを取得という流れ)が主眼となったこともあり、セキュリティは元より社内インフラの構築・運用の観点に興味がありました。
特にCovid19の影響でリモートワークが普及したため、オンプレAD以外のクラウドの知見も必要だと感じていたためセキュリティとインフラ領域のサマーインターンを調べていました。
応募
そんな中、ふとpixiv Insideの記事を拝見したことをきっかけに、インターン募集ページを拝見しました。使用技術が”Amazon Web Services, Google Cloud Platform, Microsoft Azure, Google Workspace, Apple Business Manager, その他各社SaaS”とのことで、社内ITエンジニア枠で応募させて頂きました。
面談の中で、私が興味を持っている技術領域やクラウド分野に関する興味等をお話させて頂きました。
面接経験が浅いこともあり、その後の質問への返答が適切かという所ですごく緊張していました。
数日後に参加させて頂ける旨のメールを頂き、喜んだことを覚えています。
1週目
配属
配属先の部署での長期インターン生の受け入れは初とのことで嬉しかったです。
また業務用PCとしてM1 MacbookAirとSurfaceLaptop4の2台が届き、かなり驚いた覚えがあります。
当初、リモートワークだったこともあり、Discordの雑談サーバーのような雰囲気を感じていました。
課題について
初日に現在のインフラ環境と運用における問題点、それを解決するための課題についてメンターさんよりご説明頂き、調査を開始しました。
具体的な内容としては、Apple Business Managerを利用してAppleIDを社の管理下に置くという内容で、まずは公式リファレンスの参照から始めました。
Apple, Microsoft, Google公式リファレンス自体にも各社色があるな〜と思っておりました。
また大規模な法人の社内インフラを見る機会は今まで無く、知らない用語や技術・プロトコルがあり、公式リファレンスを読むための前提知識を調べるところから始まりました。
特に入社当日、まずIdPとSP, SAMLとSCIM辺りの概念をなにもわからない状態だったので、理解するのが難しかった印象です。
またこういった分野の技術は、かなりニッチで情報源が情シスブログや海外フォーラム(Reddit等)で検証結果を公表されている先駆者(神) or 公式リファレンス以外に少ないという点があります(*1)。
またサービスに寄って異なる部分はありますが、全体的に日本語文献の少なさは感じるところでした。
2週目以降
私は以前自前でExploit検証用のAD環境を構築していたので、上述のSAMLやSCIMといったプロトコルをActiveDirectoryの概念に沿った形で解説する記事がとても理解しやすく感じました。また課題についても着々と調査を行いました。
と同時に大規模な法人における既存インフラの環境を整備する際の難しさを感じていました。
Apple Business Managerの検証内容と詰まりポイント
1. 検証環境の構築
まず検証環境の構築は難しいポイントがありました。
GWSとAzureテナントは、問題なく検証環境の構築を行い、アカウントプロビジョニングの設定も行えました。
しかしApple Business Manager(通称ABM)の新規アカウント登録は、企業識別のためのD-U-N-S®番号というものが必要で原則として1法人に1つという付与であるため検証環境の作成は見送りとなりました(現状としてABMアカウントは存在するが、MDM以外の用途でほぼ使用されていなかったためそちらを使用)。
2. アカウント競合問題
ABMとIdPがフェデレーション認証、ディレクトリ同期設定を行った後にIdPに存在するユーザーがABM上に作成(プロビジョニング)され、管理対象AppleIDが発行されます。
そのため、同じメールアドレスを持つ個人発行のAppleID(便宜上private AppleIDとする)が既に存在しているとアカウント競合が発生します。
private AppleIDのメールアドレスを変更することでアカウント競合は解消できますが、管理対象AppleIDは別アカウントであるため利用していた内容(iCloud, AppStore購入ライセンス等)を引き継げません。
またprivate AppleIDのメールアドレス変更はABMのフェデレーション認証設定後の60日以内に行うように促され、60日以上放置した場合は下記のような形式(*2)でAppleIDが自動更新されます。一応private AppleID所有者本人による手動変更が推奨されています。
- john@example.edu
- john-example.edu@temporary.appleid.com
3. フェデレーション認証が解除できない問題
ABMのフェデレーション認証を解除し、設定しているIdPをGWSからAzureADに変更しようとした際に問題が発覚しました。
当初の想定では、以下の対応でフェデレーション認証設定を解除できる想定でいました。
1. アカウント競合が発生したprivate AppleIDのメールアドレスを変更( アカウント競合の解消)
2. ディレクトリ同期(自動プロビジョニング機能)の解除
3. フェデレーション認証解除←ここでエラーが発生しました
結果として、1度設定したら60日経過しないとフェデレーション認証設定は解除できないシステム上の仕様とAppleサポートから返答を頂きました。
またABMは、1つのIdPとしかフェデレーション認証設定が行えないため60日経過後に検証を進められるよう、課題を進める上で懸念として上がったことの回避手段をまとめたり、検証事項の決定表を作成していきました。
その後、追加課題も同時に進行していく流れとなりました。
詳細はスライドを御覧ください。
成長
社内のCSIRTミーティングに参加させて頂いたり、インシデント記録等を見る機会を頂き、自分がこれまでに無かった防御側(Defensive Security)の視点や知見を得ることができました。
また技術面はもちろん、エンジニア業務におけるコミュニケーション能力、
情報が不足しているブラックボックスのような機能の導入を検討する場合に、コードベースで突き合わせることができない上で、
論理的に突き詰め現状の社内環境では、こういった問題が生じるのではという結論を導き、
かつそれを言語化し、情報共有・認識合わせを行うことの重要性と難しさを学生の内に理解できたことが何より大きい成長ではないかと感じています。
また個人的に大切だなと感じたのが図示による情報共有で、自分が理解していないポイントがフローの作成中に出ると「ここってこういう挙動で合っているか?」と振り返るきっかけになり、また第三者に視覚情報として伝わりやすくなる事で言語化すると複雑な議題を、スムーズに理解してもらいやすくなるなと感じました(*3)。
最終発表
そして長期インターンの成果を最終発表の場で発表させて頂きました。
まとめ
私個人の感想として、学生の間に社内IT分野の技術に触れることは重要であるとともに、オンプレActiveDirectoryを仮想環境等で構築し、検証を行うことは比較的ハードルが低いことだと考えています。
下記のようなActiveDirectoryの検証環境構築を自動化するようなPSスクリプトやDocker, Vagrant等もあります
https://github.com/AutomatedLab/AutomatedLab
それに対して、クラウド分野の検証環境(ゼロトラストネットワーク)の構築はやはり学生にはコスト的なハードルがあり、かつ構築方法もイマイチ分かりづらい節があります。
少なくとも私は、こうした理由から社内インフラのクラウド環境を検証用に自前で持つというようなことをしていませんでした。
社内インフラの設計・構築は、将来的に尾びれ背びれが付いていくというか、影響が見えにくい縁の下の力持ち的なところがあると思っていて、「今こういう設計をしました! → 問題なく利用できてます!」で終わる話ではなくて、長期間その判断が影響を持ち、なおかつrevertもできないというところが興味深くもあり怖くもあるところだなと思いました。
CTFやExploit検証用のAD環境は壊すとrevertすれば済むが、そうした個人利用ではない緊張感がありました。普段勉強している内容だけでは持ちにくい視点や学びがたくさんありました。
余談として、社内インフラを構築する際にクラウドサービスを利用するとなると大別して、AzureADが社内アカウントの発行元になるか、Google Workspaceがアカウントの発行元になるかという、2通りのパターンがあって、その構成次第で利用できるサービスやAzureADの機能が変わってくるという仕組みやノウハウがたくさんあり面白かったです。
参考リンク
(*1) 先駆者の情報の偉大さ。日本語文献なら神
(*2) Apple公式リファレンス:
https://support.apple.com/ja-jp/HT209349
(*3)エンジニアはもっと図を書こう -
エンジニアを目指す学生の2022年の振り返り
こんばんは、みらい(@Minimal_Mirai)です。
今年も最後ということで、今年の振り返りを書いていきたいと思います。
※筆者は、セキュリティ・インフラ領域を中心に学んでいる21歳の情報系専門学校の3回生です。
今年の目標
以下のような目標達成を目指していました。
どのように活動していたか
1月
OSCPの勉強をしていた。四六時中、HackTheBoxかOSCPのLab攻略をしていたので、カフェインを取ることが多くなっていた。
前年9月頃からOSCPのマシン攻略を行っていたのでそこそこ良い疲労感と手応えがあった。
また個人的な事ですが成人式に行ったり、大阪の友人に会いに行ったり、地元の友人とお酒を飲んだりしていた記憶があります。
2月
引き続きHackTheBoxのOSCP Likeなマシン攻略に奮闘していた。
その中で「これほんとにOSCPライクか?」と思うようなマシンや管理者権限で取得したFlagのファイル名がproof.txtだったりして面白かった(OSCPとHackTheBoxのFlagのファイル名は本来違う訳ですが)。
GitBookのチートシートに学んだことを追記していったり、ついでにLPICの試験受けたりしてた。
OSCPの試験は、ActiveDirectoryの横展開で詰まりどころがあり落ちてしまった。
後からメモした記録を見返して横展開の方法がわかり、かなり落ち込んでいた。
3月
初のエンジニア向けインターンであるCyberAgent様のインフラエンジニア向けインターンシップに参加した。
またLINE CTFに参加するも難易度が高く、自分が勉強不足な分野が明確になったのは良かった。
4月
OSCPでActiveDirectoryの攻撃手法やツールの挙動、ログの残り方に興味を持ち、ログ解析の勉強会に参加させて頂いた。
とても楽しかったです(その節はありがとうございました)。
会場が北海道だったため、人生で初めて飛行機に乗りました。
滋賀に戻るなり実家から出て、祖父母の空き家で1人暮らしを始める。
3回生になり、新しい授業を受けたり、2022サマーインターンを調べたり面接を受けたりしていた。
面接経験が浅く、かなり緊張していた覚えがある。
5月
インターンに向けてポートフォリオ的なものを作ったり、色々していた。
OSCPで課題感のあったOffenciveSecurity社のActiveDirectoryの講習受けたり、OSCP再試験のために勉強したり。
6月
OSCPの学習の中でActiveDirectoryの検証環境構築等を行い、社内インフラの構築者目線で見たいとの動機からピクシブ様の長期インターンに応募し、
バックオフィスエンジニア・社内ITエンジニア枠で参加させて頂けることになりました。
7月
CTF仲間と色々雑談したりする中でFFRIセキュリティ様のインターンシップを知る。
興味を持つ技術領域の内容であったため、応募し参加させて頂けることになりました。
8月
友人と宅飲みしたり、OSCPの勉強したり、バイト漬けの日々を送りました。
私は元々3年制学科に入学しましたが、この時期に転科面接を終え、無事4年制学科への転科が決まりました。
また個人的に大好きだった海外ドラマ「ブレイキング・バッド」の外伝的「ベター・コール・ソウル」の最終話が放送された。 最高でした。
あとハイペースな筋トレで慢性的な腰痛に悩まされ始めました、今も結構しんどい時がある。
9月
FFRIセキュリティ様のIoT製品へのペネトレーションテストを体験するインターンシップに参加させて頂きました。
ファームウェアに対する動的解析の難しさを実感し、実業務においては対象者に応じて、
何をどこまで伝えるかといったプレゼン能力の重要性を感じました。
非常に楽しく、そして新たな知見が得られました。
その後、9月20日よりピクシブ様でのバックオフィスエンジニア・社内ITエンジニア枠での長期インターンシップが開始しました。
この頃からゼロトラストネットワークやSAML, SCIM等のプロトコルのメリット等を勉強していました。
やはり事前にオンプレADの知識があると社内インフラ環境への理解度は上がりつつも、AzureADってADと全然違うじゃん!みたいな驚きが多々ありました。
エンジニア業務における情報共有やエスカレーション、プレゼンやとあるシステムの仕様に関する図示作成等、多くを学んでいました。
所属部署での初の長期インターン生ということで、頑張らねば!という意気込みと共に成果を残していけるよう必死でした。
10月
インターン!課題提出!CTF!
めちゃくちゃ忙しかったけどとても充実した毎日を過ごしていた。
あと憧れていたBlack Hat-CTFに初めて参加できたことが何気に嬉しい出来事の1つだった。
11月
インターンと課題提出を中心に活動していた。
私用もあり、人生で一番忙しかった1月でした。
12月
ピクシブ様の本社に伺えることとなり、初めて東京へ行く。
案の定東京駅で迷いに迷い、駅員さんがとても親切にルートを教えてくださり新宿に脱出できました。
初出社を前に緊張し、あまりよく眠れなかったです(笑)
歓迎会等、その節は本当にありがとうございました!
19日に3ヶ月間のインターシップが終了。本当にお世話になりました。
課題内容は承認を頂き次第、別途記事にする予定です。
所感
もっとこれしてれば良かったなぁと思うことは多々ありますが、私はこの1年間が非常に充実したものとなりました。
2023年は更に技術力を上げ、自分が理想とするエンジニアになる事を目標に頑張っていきたいです。
来年に向けた改善点
目標に向けてかなりTry Harder精神で走りきった節があり、頑張らなくても走り切れるようにプロセスを細分化し、中間目標設定をする等の具体的な計画を立てる
セキュリティを中心に学習しており、他分野を疎かにしていた節があるのでバランス感を意識する
Blue寄りの技術への解像度を挙げる
OSCPの再チャレンジ
自炊頻度を上げる、エナドリを減らす
【ゲーミングマウス】Razer DeathAdder V2 X レビュー!一般ユーザー向けの最高峰マウス!【Razer】
どうも、みらい(@Minimal_Mirai)です。
最近購入したゲーミングマウスのレビューを書いておきます。 記載内容に間違い等のご指摘があればTwitterまでご連絡ください。 購入の際の一助になれば幸いです。
はじめに
筆者は、ゲームをそれほど頻繁にせず、主にCTFやプログラミング等の作業でPCを利用することが多いユーザーです。 ただし自身の手も大きく、男性向けの比較的大きめのマウスを好む傾向にあります。 派手目なRGB機能等はあまり好きではありません。 以前のDeathAdder v2も利用していた事から購入にあたり、Razer製品を継続するか、他社製品に乗り換えるか検討しました。
DeathAdder V2 Xと旧製品の違い
有名なRazerのゲーミングマウス、DeathAdderの安価かつワイヤレス接続対応版という説明が最も分かりやすい説明になります。 また以前のRazer DeathAdder V2(有線版)と比較した場合にボタン配列や、サイドのゴムグリップがない点に違いがあります。 有線版ではマウスホイールの下にあったマウス感度変更ボタンがワイヤレス版ではマウス左上に設置されています。
良い点
私が購入したモデルは、RGB機能が搭載されておらずRazerロゴが強調されず、外出先でも利用しやすいデザインだと感じました。 またBluetooth接続と、USBレシーバによる接続の切り替えが可能で2台のPCに接続できるためとても重宝しています。 業務用PCとプライベートPC、あるいはデスクトップPCとiPad等の接続がすぐに切り替えられるため、リモートワーク等に非常に向いています。 またマウスとしてのサイズ感も非常に良く、旧製品と比べた際にもそれほど大きな違いはありません。 頻度としてそれほど多いわけでありませんが、FPS/TPSゲームをプレイする際にも旧製品と同じような感覚で操作できます。
バッテリーに関しては一般的な単3, 単4電池で稼働するため、重宝しています。 電池の交換頻度もそれほど多くない印象です。 Amazonのレビューでは、クリック感が変わっているとの声がありましたが個人的にはそれほど違和感なく使えています。 価格についても7000円前後で購入できるため、一般的なゲーミングマウスとしては手頃な価格間です。
悪い点
旧製品と違い、マウス感度の調整が下記のように左上のボタン操作するため、どうしても左クリック時に誤ってクリックできてしまうことがあります。 旧製品では、サイドにあったゴムグリップが今回のDeathAdderでは無くなっていることで握りにくさを感じることも多いです。 またゴムグリップが無いことにより持ち運ぶ際に落としてしまいそうになることもあり、その点は不便です。
総評
PCやタブレットを複数台持っているユーザーは特に嬉しい大きめのゲーミングマウスです。 ただし旧製品と同様の操作感を求めると違和感の原因となるため、それらの違いが受け入れられるかどうかが分岐点になる製品という印象を受ける。