Gossamer
No description available
Install / Use
/learn @mgsanusi/GossamerREADME
gossamer
Gossamer is a tool for instrumenting login servers and safely measuring information about passwords. This implementation of Gossamer uses Docker to containerize the services involved and store the ephemeral data. You can read more about the design of Gossamer in our USENIX 2022 paper.
Setup
- Clone this repository in the
/var/wwwdirectory. - Set the variables marked CHANGEME in
app/get_secrets.py,config_files/environment_vars,config_files/dbconf/01-eph-db.sql,config_files/dbconf/02-pers-db.sql,app/config.py, anddocker-compose.yml. - Add breached username-password pairs for your organization in
app/data/breach.txt. - Compute the password similarity predictions for your organization following the instructions in the credtweak repo (Pal et al. 2019), and place the resulting
.predictionsfile in theapp/credtweak_modelsfolder. (The models we used to generate the predictions in our paper can be found here). - Run the following lines to parse the predictions into a shelve data structure.
cd app/credtweak_models
python3 create_shelve.py
cd ../..
- The
app/get_secrets.pyfile expects a secrets file at the location/var/lib/sso-secrets/secrets.conf(that is copied to/var/run/secretsat runtime). This can be changed depending on your organization's security preferences (for example, you could instead use AWS secrets manager). If using thesecrets.conffile, though, copy thesecrets.conffile in the repo to/var/lib/sso-secrets/, and set the CHANGEME variables. - Set up TLS Mutual Authentication by following the instructions here The SSL config for the dev VM is located at
/etc/httpd/conf.d/ssl.conf, and the certs are located in/etc/ssl/privateand/etc/ssl/certs. - Create persistent database. In our paper, we stored in the persistent database on a separate, locked down machine. Whether you choose to do that or not, you will need to create the persistent database using the SQL script found at
config_files/dbconf/02-pers-db.sql. - Install Docker.
To build the docker image:
$ make build
$ make run
## To log into the container
$ docker exec -it gossamer_web_1 bash # or
$ docker exec -it gossamer_ephdb_1 bash
Testing
Unit tests in the tests directory can be run using the pytest tests command in the repo home directory.
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
