chromoly
about
chromoly
what
chromeのCookieを守る
why
基本的にChrome以外のプロセスがCookieが触ることはないはずなので、それ以外のプロセスから触れた瞬間、ちょっと監視してアラートを出すものを作ることは、現時点ではたぶん一番有効な感じです。
how
ファイルシステムのイベントをユーザランドに通知する機能
あるファイルが開かれようとするときに通知が飛び, 開こうとしているプロセスの情報などをもとに, その可否を決めることができる
その機能を使って, chromeのCookieを開こうとするプロセスの フィルタリングを行う
why not
eBPFを使わなかった理由
「ファイルへのアクセスをプロセス情報をもとにフィルタリングする」
という機能で言えば,eBPFでも良い
が,eBPFでやるとするとopen
にhookを作成する事になりそう
→流石に全部のopenでhookが走るのは遅くなりそう
という事で,ファイル/マウントポイント単位での監視ができるfanotifyを使った
eBPFで細かい単位の監視をする方法を知っている人がいたら教えてください
where
Q. chromeのCookieはどこに?
A. $XDG_CONFIG_HOME/google-chrome/
基本的にはProfileごとにファイルが別れている
Linux以外でも似たような感じ
configで指定する事も可能
Q. chromeの判定はどうやって?
A. 現状,バイナリを手で探してハードコードしています
例えばaptで入るgoogle-chrome-stable
は,wrapperのリンクで,実際に動いているchromeのバイナリは
/opt/google/chrome/chrome
which
で探してもwrapperのリンクな上,実際にcookieを触るバイナリは別であるので面倒
ここはとりあえず†人の手†の温かみで,ハードコード+configによる指定
usage
config
pid_file: /etc/chromoly/chromoly.pid
log_file: /etc/chromoly/chromoly.log
user: chromoly
workdir: /etc/chroomly
chrome_binary: # Optional
- /opt/google/chrome/chrome
cookies: # Optional
- /some/path/to/cookies
demo
おわりに
この記事はIPFactory advent calendar 2022の20日目の記事です。風邪っぽくて体調が完全に終わっているので昔やったLTの焼き増しです。すみません。
昨日は0kqによるCOEIRONKのエンジンをUbuntuで動かす。明日はk08a1tの記事です。
Comments