TSA-WF: Exploring the Effectiveness of Time Series Analysis for Website Fingerprinting
Bibliographic record
Abstract
Procedure 1) First, obtain raw datasets from the Github of the Jin et al. Paper. - These should be placed into ../datasets/no_defense/test and ../datasets/no_defense/train. Ensure pipelinetools.py (which contains all the processing and functionality) is in the same directory as the jupyter notebooks. 2) (Optional) Create synthetic multi-tab merged traces using create_merged_traces.ipynb. This will produce ../datasets/no_defense/train_X-tab and ../datasets/no_defense/test_X-tab files. Here, you can configure the number of tabs and overlap between tabs. 3) (Optional) Combine the datasets into a single, large file with merge-files.ipynb. 4) Then, generate shapelet data from the merged datasets with generate-shapelets.ipynb. This will produce shapelets under ../datasets/no_defense/shapelets. Note that regardless of the number of tabs used, the same shapelets will be created from the original data obtained in 1). 5) Compute distances between the dataset and shapelets using compute-distances.ipynb. This will produce distance computations within the ../results/data/X/ folder of the format type={pos,neg}_centroid_id={0,1}_tabs={3,5,7}_dataset={no_defense,...,overlaps,...,defenses}_set={train,test}. 6) Finally, the accuracy scores can be generated with merge-results_classify.ipynb. For demonstration purposes, this is a random forest (XGBoost was used in Table 4), replace with your choice. The Accuracy score will be printed in the notebook. 7) (Optional) To find trace locations in multi-tab traces (From Section 5.4) use check_distances.ipynb. For demonstration purposes we use a random forest classifier, but this can be replaced with any (e.g., TSA-WF/DF/Tik-Tok). Note that the label used is configurable as True, Random, or Predicted. 8) (Optional) Defended traces can be generated by repeating steps 2) - 7) after applying the code provided by the defense's Github Repositories Note: Charts in the paper were created in check_distances_chart.ipynb and graph_figures.ipynb.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.002 | 0.001 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.001 | 0.004 |
| Science and technology studies | 0.001 | 0.000 |
| Scholarly communication | 0.001 | 0.000 |
| Open science | 0.001 | 0.001 |
| Research integrity | 0.000 | 0.000 |
| Insufficient payload (model declined to judge) | 0.000 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one teacher head, not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".