From c3b9f0b9a6ed49790e6562b32854727779d8fb40 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Thu, 4 Aug 2022 14:25:37 +0000 Subject: [PATCH 01/39] Adds https://generated.photos/face-generator to creating identities section Adds https://generated.photos/face-generator to creating identities section Removes the archive.org link to thispersondoesnotexist as it's pointless? --- guide.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guide.md b/guide.md index 7e6eb53..0bcafbf 100644 --- a/guide.md +++ b/guide.md @@ -5885,6 +5885,8 @@ Tools that can help with this: - +- (**Generated pictures using this tool have a watermark that you might need to remove using image editing software such as Gimp**) + Now is also the moment where you could finally consider getting an online phone number as explained in the [Online Phone Number (less recommended)] section. We will help you bit by listing a few tips we learned while researching over the years **(disclaimer: this is based on my individual experiences alone)**: @@ -5909,7 +5911,7 @@ We will help you bit by listing a few tips we learned while researching over the - Brave Browser (Chromium-based) with a Private Tor Tab has a better acceptance level than Tor Browser (Firefox based). You will experience fewer issues with captchas and online platforms[^383] if you use Brave than if you use Tor Browser (feel free to try this yourself). -- For every identity, you should have a matching profile picture associated with it. For this purpose, we recommend you just go to [[Archive.org]][399] and generate a computer-generated profile picture (Do note that algorithms have been developed[^393]'[^394] to detect these and it might not work 100% of the time). You can also generate such pictures yourself from your computer if you prefer by using the open-source StyleGan project here [[Archive.org]][400]. Just refresh the page until you find a picture that matches your identity in all aspects (age, sex, and ethnicity) and save that picture. It would be even better to have several pictures associated with that identity, butWedo not have an "easy way" of doing that yet. +- For every identity, you should have a matching profile picture associated with it. For this purpose, we recommend you just go to or and generate a computer-generated profile picture (Do note that algorithms have been developed[^393]'[^394] to detect these and it might not work 100% of the time). You can also generate such pictures yourself from your computer if you prefer by using the open-source StyleGan project here [[Archive.org]][400]. Just refresh the page until you find a picture that matches your identity in all aspects (age, sex, and ethnicity) and save that picture. It would be even better to have several pictures associated with that identity, butWedo not have an "easy way" of doing that yet. - **Bonus**, you could also make it more real by using this service (with an anonymous identity) [[Archive.org]][401] to make a picture more lifelike. Here is an example: @@ -14170,7 +14172,6 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [397]: https://web.archive.org/web/https://github.com/deepfakes/faceswap [398]: https://web.archive.org/web/https://github.com/iperov/DeepFaceLive [Online Phone Number (less recommended)]: #online-phone-number - [399]: https://web.archive.org/web/https://thispersondoesnotexist.com/ [400]: https://web.archive.org/web/https://github.com/NVlabs/stylegan2 [401]: https://web.archive.org/web/https://www.myheritage.com/deep-nostalgia [402]: media/image39.jpeg @@ -15152,4 +15153,4 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [1384]: https://web.archive.org/web/20220718231735/https://officercia.mirror.xyz/5KSkJOTgMtvgC36v1GqZ987N-_Oj_zwvGatOk0A47Ws [1385]: https://web.archive.org/web/20220516000616/https://officercia.mirror.xyz/WeAilwJ9V4GIVUkYa7WwBwV2II9dYwpdPTp3fNsPFjo [1386]: https://web.archive.org/web/20220720023429/https://leakuidatorplusteam.github.io/ - [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ \ No newline at end of file + [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ From 0ef3728442073c0d360a2049ca3063c5e18227d6 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Thu, 4 Aug 2022 15:00:20 +0000 Subject: [PATCH 02/39] Update of the threat modeling section Update of the threat modeling section --- guide.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/guide.md b/guide.md index 7e6eb53..63f8d3a 100644 --- a/guide.md +++ b/guide.md @@ -12389,26 +12389,24 @@ Also please consider reading: ** [[Archive.org]][739] +- The one we recommend: LINDDUN [[Archive.org]][739]. + - They provide an online tool to help making your threat model online at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). + - LINDDUN is focused on Privacy but clearly are also perfectly suitable for Anonymity. + - LINDDUN is accessible to all skill levels including beginners (providing many tutorials) but also suitable for highly skilled users. + - LINDDUN is active in the making of the Threat Modeling Manifesto: [[Archive.org]][745] + +Here are alternative resources and models if LINDDUN doesn't suit you: + +- Online Operations Security: [https://web.archive.org/web/20210711215728/https://github.com/devbret/online-OPSEC] - STRIDE [[Wikiless]][740] [[Archive.org]][741] - PASTA [[Archive.org]][742] - -And there are quite a few others too, see: - + - [[Archive.org]][743] - [[Archive.org]][744] -You can find some introduction on these on these projects: - -- Threat Modeling Manifesto: [[Archive.org]][745] - -- OWASP: [[Archive.org]][746] - -- Online Operations Security: [https://web.archive.org/web/20210711215728/https://github.com/devbret/online-OPSEC] - # Appendix B4: Important notes about evil-maid and tampering Your context needs to be taken into account. @@ -14513,7 +14511,6 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [743]: https://web.archive.org/web/https://insights.sei.cmu.edu/blog/threat-modeling-12-available-methods/ [744]: https://web.archive.org/web/https://www.geeksforgeeks.org/threat-modelling/ [745]: https://web.archive.org/web/https://www.threatmodelingmanifesto.org/ - [746]: https://web.archive.org/web/https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html [https://web.archive.org/web/20210711215728/https://github.com/devbret/online-OPSEC]: https://web.archive.org/web/20210711215728/https://github.com/devbret/online-opsec [747]: https://web.archive.org/web/https://www.huntonprivacyblog.com/wp-content/uploads/sites/28/2016/02/Telemedia_Act__TMA_.pdf [748]: https://wikiless.org/wiki/Don%27t_be_evil @@ -15152,4 +15149,4 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [1384]: https://web.archive.org/web/20220718231735/https://officercia.mirror.xyz/5KSkJOTgMtvgC36v1GqZ987N-_Oj_zwvGatOk0A47Ws [1385]: https://web.archive.org/web/20220516000616/https://officercia.mirror.xyz/WeAilwJ9V4GIVUkYa7WwBwV2II9dYwpdPTp3fNsPFjo [1386]: https://web.archive.org/web/20220720023429/https://leakuidatorplusteam.github.io/ - [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ \ No newline at end of file + [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ From a193dcba82d06d579f1563f4c9b675c86b842846 Mon Sep 17 00:00:00 2001 From: pterocles Date: Thu, 4 Aug 2022 14:27:36 -0400 Subject: [PATCH 03/39] The commit 0ef372844207 ("Update of the threat modeling section") is missing some key elements: Specify whom created the LINDDUN online tool. Define acronym and explain that it is synergistic with STRIDE methodology. Add optional illustration from Dr. K. Wuyts' 2015 publication: Privacy Threats in Software Architectures, Ph.D. Thesis, Doctor of Engineering Science (PhD) (Leuven), KU Leuven, January 16, 2015. Fixes: #188 ("Update of the threat modeling section") Signed-off-by: pterocles --- guide.md | 16 ++++++++++++---- media/image59.png | Bin 0 -> 111993 bytes 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 media/image59.png diff --git a/guide.md b/guide.md index 63f8d3a..5fd4c9d 100644 --- a/guide.md +++ b/guide.md @@ -12390,10 +12390,16 @@ Also please consider reading: ** [[Archive.org]][739]. - - They provide an online tool to help making your threat model online at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). - - LINDDUN is focused on Privacy but clearly are also perfectly suitable for Anonymity. - - LINDDUN is accessible to all skill levels including beginners (providing many tutorials) but also suitable for highly skilled users. - - LINDDUN is active in the making of the Threat Modeling Manifesto: [[Archive.org]][745] + - Researchers created an online tool to help making your threat model at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). + - It is synergistic with STRIDE below. + - It is focused on privacy but is clearly perfectly suitable for anonymity. + - It is accessible to all skill levels including beginners (providing many tutorials) but also suitable for highly skilled readers. + - It is used in the making of the Threat Modeling Manifesto: [[Archive.org]][745] + +![][1389] +(Illustration from [Wuyts2015]) + +- LINDDUN: Linkability, Identifiability, Non-repudiation, Detectability, Disclosure of information, Unawareness, and Non-compliance. Here are alternative resources and models if LINDDUN doesn't suit you: @@ -13786,6 +13792,7 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [Appendix B4: Important notes about evil-maid and tampering]: #appendix-b4-important-notes-about-evil-maid-and-tampering [References:]: #references [cc-by-nc-4.0]: https://creativecommons.org/licenses/by-nc/4.0/ + [Wuyts2015]: https://lirias.kuleuven.be/retrieve/295669 [27]: https://web.archive.org/web/https://creativecommons.org/licenses/by-nc/4.0/ [https://matrix.to/#/#anonymity:matrix.org]: https://matrix.to/#/ [28]: https://nitter.net/AnonyPla @@ -15150,3 +15157,4 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [1385]: https://web.archive.org/web/20220516000616/https://officercia.mirror.xyz/WeAilwJ9V4GIVUkYa7WwBwV2II9dYwpdPTp3fNsPFjo [1386]: https://web.archive.org/web/20220720023429/https://leakuidatorplusteam.github.io/ [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ + [1389]: media/image59.png \ No newline at end of file diff --git a/media/image59.png b/media/image59.png new file mode 100644 index 0000000000000000000000000000000000000000..318c231c03aea865327484d5925c411e6da50f9c GIT binary patch literal 111993 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 wpf~AI(f$U?5|m4=%fXjDXIR&Wmz&A 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 Date: Sat, 6 Aug 2022 06:24:27 +0000 Subject: [PATCH 04/39] Update guide.md --- guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide.md b/guide.md index 5fd4c9d..f7d6f9f 100644 --- a/guide.md +++ b/guide.md @@ -12390,7 +12390,7 @@ Also please consider reading: ** [[Archive.org]][739]. - - Researchers created an online tool to help making your threat model at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). + - Researchers created an online tool to help make your threat model at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). - It is synergistic with STRIDE below. - It is focused on privacy but is clearly perfectly suitable for anonymity. - It is accessible to all skill levels including beginners (providing many tutorials) but also suitable for highly skilled readers. @@ -15157,4 +15157,4 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [1385]: https://web.archive.org/web/20220516000616/https://officercia.mirror.xyz/WeAilwJ9V4GIVUkYa7WwBwV2II9dYwpdPTp3fNsPFjo [1386]: https://web.archive.org/web/20220720023429/https://leakuidatorplusteam.github.io/ [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ - [1389]: media/image59.png \ No newline at end of file + [1389]: media/image59.png From 6cd3d17b075120170b01abaef7794fe4435c57d0 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Sat, 6 Aug 2022 19:57:50 +0000 Subject: [PATCH 05/39] Update guide.md Co-authored-by: T. H. --- guide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guide.md b/guide.md index 63f8d3a..573f802 100644 --- a/guide.md +++ b/guide.md @@ -12390,7 +12390,8 @@ Also please consider reading: ** [[Archive.org]][739]. - - They provide an online tool to help making your threat model online at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). + - They provide an online tool to help make your threat model online at [[Archive.org]](https://web.archive.org/web/https://www.linddun.org/go). + - LINDDUN is focused on Privacy but clearly are also perfectly suitable for Anonymity. - LINDDUN is accessible to all skill levels including beginners (providing many tutorials) but also suitable for highly skilled users. - LINDDUN is active in the making of the Threat Modeling Manifesto: [[Archive.org]][745] From a99181080b0a9e0c9c50e71f405b6fbb1b8ed3aa Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Tue, 9 Aug 2022 09:19:46 +0000 Subject: [PATCH 06/39] samm update removing name --- guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide.md b/guide.md index f7d6f9f..c443ca7 100644 --- a/guide.md +++ b/guide.md @@ -12397,7 +12397,7 @@ Here are various threat modeling resources if you want to go deeper in threat mo - It is used in the making of the Threat Modeling Manifesto: [[Archive.org]][745] ![][1389] -(Illustration from [Wuyts2015]) +(Illustration from [LINDDUN 2015]) - LINDDUN: Linkability, Identifiability, Non-repudiation, Detectability, Disclosure of information, Unawareness, and Non-compliance. @@ -13792,7 +13792,7 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [Appendix B4: Important notes about evil-maid and tampering]: #appendix-b4-important-notes-about-evil-maid-and-tampering [References:]: #references [cc-by-nc-4.0]: https://creativecommons.org/licenses/by-nc/4.0/ - [Wuyts2015]: https://lirias.kuleuven.be/retrieve/295669 + [LINDDUN2015]: https://lirias.kuleuven.be/retrieve/295669 [27]: https://web.archive.org/web/https://creativecommons.org/licenses/by-nc/4.0/ [https://matrix.to/#/#anonymity:matrix.org]: https://matrix.to/#/ [28]: https://nitter.net/AnonyPla From 6d7d57e9e2e8540eb269fdae1e07137b5ed4fa31 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Tue, 9 Aug 2022 09:35:05 +0000 Subject: [PATCH 07/39] Fix bad links to VPN logging policies Fix bad links to VPN logging policies --- guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide.md b/guide.md index f1ce0b9..c127653 100644 --- a/guide.md +++ b/guide.md @@ -10390,8 +10390,8 @@ There are three VPN companies recommended by PrivacyGuides.org ( [[Archive.org]](https://web.archive.org/web/https://mullvad.net/en/help/no-logging-data-policy/) -- iVPN: [[Archive.org]](https://web.archive.org/web/https://mullvad.net/en/help/no-logging-data-policy/](https://www.ivpn.net/privacy/) -- ProtonVPN: [[Archive.org]](https://web.archive.org/web/https://mullvad.net/en/help/no-logging-data-policy/](https://www.ivpn.net/privacy/) +- iVPN: [[Archive.org]](https://web.archive.org/web/https://www.ivpn.net/privacy/) +- ProtonVPN: [[Archive.org]](https://web.archive.org/web/https://protonvpn.com/support/no-logs-vpn/) In addition, we will also mention a newcomer to watch: Safing SPN [[Archive.org]][621]) which (while still in the alpha stage at the time of this writing) which also accepts cash and has a very distinct new concept for a VPN which provides benefits similar to Tor Stream isolation with their "SPN"). Note that Safing SPN is not available on macOS at the moment. This possibility is "provisional" and at your own risk, but we think was worth mentioning. From 2a72f370fba11525015034a68e067033b7006771 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Tue, 9 Aug 2022 10:09:19 +0000 Subject: [PATCH 08/39] Approved Co-authored-by: T. H. --- guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide.md b/guide.md index 4e87a2a..89e503e 100644 --- a/guide.md +++ b/guide.md @@ -12333,7 +12333,7 @@ Here are various threat modeling resources if you want to go deeper in threat mo - It is used in the making of the Threat Modeling Manifesto: [[Archive.org]][745] ![][1389] -(Illustration from [LINDDUN 2015]) +(Illustration from [LINDDUN2015]) Here are alternative resources and models if LINDDUN doesn't suit you: From 40e4a284647e05cf265fc63b4f51b58df83e7da5 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Tue, 9 Aug 2022 10:41:50 +0000 Subject: [PATCH 09/39] Adding mention of OSINT room in guide Adding mention of OSINT room in guide --- guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guide.md b/guide.md index f1ce0b9..aaaec4f 100644 --- a/guide.md +++ b/guide.md @@ -1063,6 +1063,8 @@ A real use and well-documented case of this was the arrest of the hacker Jeremy There are also a few cases involving OSINT at Bellingcat[^154]. Have a look at their very informative (but slightly outdated) toolkit here: [[Archive.org]][100] +**We have an OSINT discussion room in our Matrix community. Feel free to join at ```#OSINT:matrix.org```.** + You can also view some convenient lists of some available OSINT tools here if you want to try them on yourself for example: - [[Archive.org]][101] From 022c9f616918eaf3eff22e28338c7a272784a31d Mon Sep 17 00:00:00 2001 From: pterocles Date: Fri, 12 Aug 2022 02:00:12 -0400 Subject: [PATCH 10/39] Update transparency reports - Discord transparency report - Snapchat transparency report - TitkTok transparency report - Reddit transparency report - Twitter transparency report (link) Signed-off-by: pterocles --- guide.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/guide.md b/guide.md index f1ce0b9..b74343a 100644 --- a/guide.md +++ b/guide.md @@ -1697,15 +1697,15 @@ If you still do not think such information can be used by various actors to trac - Dropbox Transparency Report [[Archive.org]][211] -- Discord Transparency Report [[Archive.org]][212] +- Discord Transparency Report [[Archive.org]][212] - GitHub Transparency Report [[Archive.org]][213] - Snapchat Transparency Report [[Archive.org]][214] -- TikTok Transparency Report [[Archive.org]][215] +- TikTok Transparency Report [[Archive.org]][215] -- Reddit Transparency Report [[Archive.org]][216] +- Reddit Transparency Report [[Archive.org]][216] - Twitter Transparency Report [[Archive.org]][217] @@ -13910,12 +13910,12 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [209]: https://web.archive.org/web/https://www.microsoft.com/en-us/corporate-responsibility/law-enforcement-requests-report [210]: https://web.archive.org/web/https://www.amazon.com/gp/help/customer/display.html?nodeId=GYSDRGWQ2C2CRYEF [211]: https://web.archive.org/web/https://www.dropbox.com/transparency - [212]: https://web.archive.org/web/https://blog.discord.com/discord-transparency-report-jan-june-2020-2ef4a3ee346d + [212]: https://web.archive.org/web/20220812051950/https://discord.com/blog/discord-transparency-report-q1-2022 [213]: https://web.archive.org/web/https://github.blog/2021-02-25-2020-transparency-report/ - [214]: https://web.archive.org/web/https://www.snap.com/en-US/privacy/transparency/ - [215]: https://web.archive.org/web/https://www.tiktok.com/safety/resources/transparency-report?lang=en - [216]: https://web.archive.org/web/https://www.reddit.com/wiki/transparency - [217]: https://web.archive.org/web/https://transparency.twitter.com/ + [214]: https://web.archive.org/web/20220806141853/https://www.snap.com/en-US/privacy/transparency + [215]: https://web.archive.org/web/20220812054600/https://www.tiktok.com/transparency/en/information-requests-2021-2/ + [216]: https://web.archive.org/web/20220812054736/https://www.redditinc.com/policies/transparency-report-2021 + [217]: https://web.archive.org/web/20220812054839/https://transparency.twitter.com/ [218]: https://yewtu.be/watch?v=euSsqXO53GY [219]: https://web.archive.org/web/https://media.defense.gov/2021/Feb/25/2002588479/-1/-1/0/CSI_EMBRACING_ZT_SECURITY_MODEL_UOO115131-21.PDF [220]: media/image18.jpeg From 3f2934458e608f7181737b81642806b8dea567c9 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Fri, 12 Aug 2022 16:53:18 +0000 Subject: [PATCH 11/39] Update chatroom rules to add #OSINT Update chatroom rules to add #OSINT --- chatrooms-rules.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/chatrooms-rules.md b/chatrooms-rules.md index d7b126d..fe99588 100644 --- a/chatrooms-rules.md +++ b/chatrooms-rules.md @@ -14,7 +14,7 @@ You will find here the rules for the rooms part of the PSA Community. These rule - [Ban Appeals](#appeals) #### General default rules for PSA rooms **unless specific rules are mentioned below**: -These are currently only enforced on **Anonymity** and **Security**, and not applied on rooms with their own ruleset below. +These are currently enforced on **```#anonymity:matrix.org```**, **```#security:matrix.org```**, **```#OSINT:matrix.org```**, and not applied on rooms with their own ruleset below. - Keep it legal - English only @@ -29,24 +29,24 @@ These are currently only enforced on **Anonymity** and **Security**, and not app - No upload of any non-media files (binaries, executables, compressed files...) - No voice messages (these will be auto-deleted by the bots) - **Avoid drifting too much off-topic or move to an off-topic room like #bnonymity** -- **Any discussion about AnonyPla / Lena whereabouts is only tolerated, to an extent, in the #Bnonymity room.** +- **Any discussion about AnonyPla / Lena whereabouts is only tolerated, to an extent, in the ```#Bnonymity:matrix.org``` room.** Some exceptions can apply, see the [exceptions](#exceptions) section at the bottom of this page. Violations will be handled at the discretion of the acting moderator. -#### Rules for Nothing To Hide Privacy: +#### Rules for Nothing To Hide Privacy (```#privacy:matrix.org```): - Zero tolerance for discussion of how to commit illicit acts - LIMIT POLITICAL DISCUSSION TO PRIVACY-RELATED TOPICS ONLY - Do not dox others - No suspicious links or uploading of non-image binary files - Be respectful -#### Rules for Modern Cryptography: +#### Rules for Modern Cryptography (```#moderncrypto:gnuradio.org```): See #### Rules for OS Security: See -#### Rules for Bnonymity: +#### Rules for Bnonymity (```#bnonymity:matrix.org```): - Keep it legal (seriously) - English only (no Russian, no Chinese, English only) - Be "somewhat" respectful to each other @@ -64,11 +64,12 @@ See #### PSA Bans: Currently, the following rooms are sharing a common PSA banlist for serious offenders: -- #Anonymity -- #Security -- #Bnonymity -- #OS-Security -- #ModernCrypto +- ```#Anonymity:matrix.org``` +- ```#Security:matrix.org``` +- ```#Bnonymity:matrix.org``` +- ```#OSINT:matrix.org``` +- ```#OS-Security``` +- ```#ModernCrypto:gnuradio.org``` This means that those PSA bans are effectively applied on all those rooms and can be issued by admins of these rooms. See the next section for information about appeals. From c3199f7cec662a468bc3f43e6f7fc2322d0c7661 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Sat, 13 Aug 2022 15:30:58 +0000 Subject: [PATCH 12/39] Update on browser side-channel attack section See: - Release tweet: [[Archive.org]](https://web.archive.org/web/https://twitter.com/ma1/status/1557751019945299969) - User explanation: [[Archive.org]](https://web.archive.org/web/https://noscript.net/usage/#crosstab-identity-leak-protection) - Tor Project Forum Post: [[Archive.org]](https://web.archive.org/web/https://forum.torproject.net/t/tor-browser-can-leak-your-identity-through-side-channel-attack/4005/2) - NoScript extension for Firefox (Firefox, and other Firefox-based browsers except Tor Browser): https://addons.mozilla.org/en-US/firefox/addon/noscript/ - NoScript extension for Chromium based browsers (Brave, Chrome, Edge, and other Chromium-based browsers): https://chrome.google.com/webstore/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm?hl=en - Removed advice to install Lekuidator+ on TBB since it's now handled by NoScript and on by default. - Added NoScript as preferred for other Browsers (requires settings, on by default on private Windows). - Changed Lekuidator+ from main mitigation to alternative to NoScript. --- guide.md | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/guide.md b/guide.md index f1ce0b9..222aa17 100644 --- a/guide.md +++ b/guide.md @@ -1411,12 +1411,28 @@ This guide will mitigate these issues by mitigating, obfuscating, and randomizin There was an attack published that can deanonymize users if they have a known alias. For example, an attacker trying to track the activities of a journalist can use that journalist's public Twitter handle to link their anonymous identities with their public one. This breaks compartmentalization of identities and can lead to complete deanonymization, even of users who practice proper OPSEC. -The attack, published at [[Archive.org]][1386], can be mitigated using a browser extension: +The attack, published at [[Archive.org]][1386], can be mitigated using the well-known [NoScript](https://noscript.net/) extension and will be our preferred recommendation. -- (Chrome, Edge, and other Chrome-based browsers) -- (Firefox, Tor Browser, and other Firefox-based browsers) +## Tor Browser: -It's generally not recommended to install extensions into Tor Browser, because the fact that you have an extension installed can be an extra data point for browser fingerprinting. As such, this extension is only a temporary solution until the fix can be implemented by the browsers' own developers. +This attack is now prevented by default by an update of [NoScript](https://noscript.net/) (11.4.8 and above) on all security levels. + +## All others: + +Installing the [NoScript](https://noscript.net/) extension will prevent the attack **by default only in private Windows** using their new "TabGuard feature". But can be enabled in the NoScript options to work on all Windows. See: + +- Release tweet: [[Archive.org]](https://web.archive.org/web/https://twitter.com/ma1/status/1557751019945299969) +- User explanation: [[Archive.org]](https://web.archive.org/web/https://noscript.net/usage/#crosstab-identity-leak-protection) +- Tor Project Forum Post: [[Archive.org]](https://web.archive.org/web/https://forum.torproject.net/t/tor-browser-can-leak-your-identity-through-side-channel-attack/4005/2) +- NoScript extension for Firefox (Firefox, and other Firefox-based browsers except Tor Browser): https://addons.mozilla.org/en-US/firefox/addon/noscript/ +- NoScript extension for Chromium based browsers (Brave, Chrome, Edge, and other Chromium-based browsers): https://chrome.google.com/webstore/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm?hl=en + +### Alternative to NoScript for all other browsers: + +The researches who disclosed the issue also made an extension available below. Again, **nothing is required in Tor Browser**. This path is not our preferred path but is still available if you do not want to use NoScript. + +- Lekuidator+ extension for Chromium based browsers (Brave, Chrome, Edge, and other Chromium-based browsers): +- Lekuidator+ extension for Firefox (Firefox, and other Firefox-based browsers except Tor Browser): Separating identities via separate browsers or even with VMs is not enough to avoid this attack. However, another solution is to make sure that when you start working with an anonymous identity, you entirely close all activities linked to other identities. The vulnerability only works if you're actively logged into a non-anonymous identity. The issue with this is that it can hinder effective workflow, as multitasking across multiple identities becomes impossible. @@ -2285,8 +2301,6 @@ When using Tor Browser, you should click the little shield Icon (upper right, ne We would recommend the "Safer" level for most cases. The Safest level should be enabled if you think you are accessing suspicious or dangerous websites or if you are extra paranoid. The Safest mode will also most likely break many websites that rely actively on JavaScript. -**Temporary Important Warning: Please see [Microarchitectural Side-channel Deanonymization Attacks][Microarchitectural Side-channel Deanonymization Attacks:].** - If you are extra paranoid, use the "Safest" level by default and consider downgrading to Safer is the website is unusable because of Javascript blocking. Lastly, while using Tor Browser on Tails on the "Safer" level, please consider [Appendix A5: Additional browser precautions with JavaScript enabled] @@ -10979,7 +10993,7 @@ If you are to resort to this, you should never do so from a monitored/known netw # Appendix V: What browser to use in your Guest VM/Disposable VM -**Temporary Important Warning: Please see [Microarchitectural Side-channel Deanonymization Attacks:].** +**Temporary Important Warning: Please see [Microarchitectural Side-channel Deanonymization Attacks:] for all browsers except Tor Browser.** There are 6 possibilities of browser to use on your guest/disposable VM: @@ -11717,8 +11731,6 @@ Hopefully, these bridges should be enough to get you connected even in a hostile If not, consider [Appendix P: Accessing the internet as safely as possible when Tor and VPNs are not an option] # Appendix Y: Installing and using desktop Tor Browser - -**Temporary Important Warning: Please see [Microarchitectural Side-channel Deanonymization Attacks:].** ## Installation: From 7d80648d885afde48965aff2ba3514641fe6911c Mon Sep 17 00:00:00 2001 From: pterocles Date: Sun, 14 Aug 2022 09:57:07 -0400 Subject: [PATCH 13/39] Doc: Microarchitecture bugs in Intel and AMD CPUs Add information about microarchitecture bugs It's been a very busy year for Intel and AMD CPUs. Researchers have discovered bugs left and right. One of them was revealed recently and I felt compelled to add not only it but also information regarding other types of attacks that aren't yet in the guide. Signed-off-by: pterocles --- guide.md | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/guide.md b/guide.md index f1ce0b9..99d7a43 100644 --- a/guide.md +++ b/guide.md @@ -106,6 +106,7 @@ Finally note that this guide does mention and even recommends various commercial - [Your Wi-Fi or Ethernet MAC address:] - [Your Bluetooth MAC address:] - [Your CPU:] + - [Types of Attacks:] - [Your Operating Systems and Apps telemetry services:] - [Your Smart devices in general:] - [Yourself:] @@ -861,18 +862,36 @@ These have already been affected by several security vulnerabilities in the past There are some not so straightforward ways[^107] to disable the Intel IME on some CPUs and you should do so if you can. For some AMD laptops, you can disable it within the BIOS settings by disabling PSP. -Note that to AMD's defense, so far and AFAIK, there were no security vulnerabilities found for ASP and no backdoors either: See [[Invidious]][77]. In addition, AMD PSP does not provide any remote management capabilities contrary to Intel IME. +Note that, to AMD's defense, there were no security vulnerabilities found for ASP and no backdoors either. See [[Invidious]][77]. In addition, AMD PSP does not provide any remote management capabilities contrary to Intel IME. If you are feeling a bit more adventurous, you could install your own BIOS using Libreboot or Coreboot [^108] if your laptop supports it (be aware that Coreboot does contain some propriety code unlike its fork Libreboot). -In addition, some CPUs have unfixable flaws (especially Intel CPUs) that could be exploited by various malware. Here is a good current list of such vulnerabilities affecting recent widespread CPUs: [[Wikiless]][78] [[Archive.org]][79] - Check yourself: -- If you are using Linux you can check the vulnerability status of your CPU to Spectre/Meltdown attacks by using [[Archive.org]][80] which is available as a package for most Linux distros including Whonix. +- If you are using Linux you can check the vulnerability status of your CPU to Spectre/Meltdown attacks by using [[Archive.org]][80] which is available as a package for most Linux distros including Whonix. Spectre is a transient execution attack. There is also PoC code for Spectre v1 and v2 on iPhone devices here: [[Archive.org]](https://web.archive.org/web/20220814122148/https://github.com/cispa/BranchDifferent) and here [[Archive.org]](https://web.archive.org/web/20220814122652/https://misc0110.net/files/applespectre_dimva22.pdf) - If you are using Windows, you can check the vulnerability status of your CPU using inSpectre [[Archive.org]][81] +### Types of Attacks: + +Some CPUs have unfixable flaws (especially Intel CPUs) that could be exploited by various malware. Here is a good current list of such vulnerabilities affecting recent widespread CPUs: [[Wikiless]](https://wikiless.org/wiki/Transient_execution_CPU_vulnerability) [[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Transient_execution_CPU_vulnerability) + +Transient execution attacks (formerly called speculative execution side channel methods) and select security issues plague many Intel CPUs. Here you can check your CPU against affected micro-processors [[Archive.org]](https://web.archive.org/web/20220814123250/https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html). + +The Advanced Programmable Interrupt Controller (APIC) is an integrated CPU component responsible for accepting, prioritizing, and dispatching interrupts to logical processors (LPs). The APIC can operate in xAPIC mode, also known as legacy mode, in which APIC configuration registers are exposed through a memory-mapped I/O (MMIO) page. + +Enter AEPIC (stylized ÆPIC), the first architectural CPU bug that leaks stale data from the microarchitecture without using a side channel. It architecturally leaks stale data incorrectly returned by reading undefined APIC-register ranges. This novel method was revealed in the paper *ÆPIC Leak: Architecturally Leaking Uninitialized Data from the +Microarchitecture* which you can read here: [Borrello2022AEPIC](https://aepicleak.com/aepicleak.pdf) [[Archive.org]](https://web.archive.org/web/20220812101719/https://aepicleak.com/aepicleak.pdf) + +Model-specific registers (MSRs) and their configuration bits can also be detected automatically on Intel and AMD CPUs: [Kogler2022](https://github.com/IAIK/msrevelio) [[Archive.org]](https://web.archive.org/web/20220814125349/https://andreaskogler.com/papers/msrtemplating.pdf). This allows an attacker (with heavy knowledge of CPU functionality) to view information about the MSRs, which are essentially special CPU registers allowing interaction with low-level CPU features and advanced configuration of the CPU's behavior. Modern x86 CPUs have hundreds of these, which are usually documented very little and in increasingly less verbosity over the past few years. + +#### Some other microarchitecture bugs: + +- [PLATYPUS](https://platypusattack.com/) [[Archive.org]](https://web.archive.org/web/20220814132343/https://platypusattack.com/) - Software-based Power Side-Channel Attacks on x86, which shows how an unprivileged attacker can leak AES-NI keys from Intel SGX and the Linux kernel and break kernel address-space layout randomization (KASLR). +- [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. + +This guide won't go too deep into side-channel and microarchitecture attacks but we will highlight some issues with both Intel and AMD CPU architectures that will be mitigated throughout. It's important to recognize hardware is just as susceptible to bugs, and therefore exploitation, regardless of manufacturer. + Some of these can be avoided using Virtualization Software settings that can mitigate such exploits. See this guide for more information [[Archive.org]][82] (warning: these can severely impact the performance of your VMs). We will therefore mitigate some of these issues in this guide by recommending the use of virtual machines on a dedicated anonymous laptop for your sensitive activities that will only be used from an anonymous public network. @@ -13444,6 +13463,7 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [Your Wi-Fi or Ethernet MAC address:]: #your-wi-fi-or-ethernet-mac-address [Your Bluetooth MAC address:]: #your-bluetooth-mac-address [Your CPU:]: #your-cpu + [Types of Attacks:]: #types-of-attacks [Your Operating Systems and Apps telemetry services:]: #your-operating-systems-and-apps-telemetry-services [Your Smart devices in general:]: #your-smart-devices-in-general [Yourself:]: #yourself @@ -13776,8 +13796,6 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [75]: https://yewtu.be/watch?v=siCk4pGGcqA [76]: https://yewtu.be/watch?v=mYsTBPqbya8 [77]: https://yewtu.be/watch?v=bKH5nGLgi08&t=2834s - [78]: https://wikiless.org/wiki/Transient_execution_CPU_vulnerability - [79]: https://web.archive.org/web/https://en.wikipedia.org/wiki/Transient_execution_CPU_vulnerability [80]: https://web.archive.org/web/https://github.com/speed47/spectre-meltdown-checker [81]: https://web.archive.org/web/https://www.grc.com/inspectre.htm [82]: https://web.archive.org/web/https://www.whonix.org/wiki/Spectre_Meltdown From 7736c42bd7fd4dc009405034ab77296a5f13f53c Mon Sep 17 00:00:00 2001 From: pterocles Date: Sun, 14 Aug 2022 11:01:18 -0400 Subject: [PATCH 14/39] a Signed-off-by: pterocles --- guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guide.md b/guide.md index 99d7a43..e1633a8 100644 --- a/guide.md +++ b/guide.md @@ -889,6 +889,8 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte - [PLATYPUS](https://platypusattack.com/) [[Archive.org]](https://web.archive.org/web/20220814132343/https://platypusattack.com/) - Software-based Power Side-Channel Attacks on x86, which shows how an unprivileged attacker can leak AES-NI keys from Intel SGX and the Linux kernel and break kernel address-space layout randomization (KASLR). - [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. +- [Hertzbleed](https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) [[Archive.org]](https://web.archive.org/web/20220712000058/https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) - Deducing cryptographic keys by analyzing power consumption has long been an attack, but it’s not generally viable because measuring power consumption is often hard. This new attack measures power consumption by measuring time, making it easier to exploit. +- [Retbleed](https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) [[Archive.org]](https://web.archive.org/web/20220804151557/https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) - Retbleed focuses on return instructions, which are part of the retpoline software mitigation against the speculative execution class of attacks that became known starting early 2018, with Spectre. This guide won't go too deep into side-channel and microarchitecture attacks but we will highlight some issues with both Intel and AMD CPU architectures that will be mitigated throughout. It's important to recognize hardware is just as susceptible to bugs, and therefore exploitation, regardless of manufacturer. From 93c6825db845f4ac8719db55c0b62c099afa9716 Mon Sep 17 00:00:00 2001 From: pterocles Date: Sun, 14 Aug 2022 11:01:18 -0400 Subject: [PATCH 15/39] Microarchitecture bugs in Intel and AMD CPUs Add more information about microarchitecture bugs Signed-off-by: pterocles --- guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guide.md b/guide.md index 99d7a43..e1633a8 100644 --- a/guide.md +++ b/guide.md @@ -889,6 +889,8 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte - [PLATYPUS](https://platypusattack.com/) [[Archive.org]](https://web.archive.org/web/20220814132343/https://platypusattack.com/) - Software-based Power Side-Channel Attacks on x86, which shows how an unprivileged attacker can leak AES-NI keys from Intel SGX and the Linux kernel and break kernel address-space layout randomization (KASLR). - [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. +- [Hertzbleed](https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) [[Archive.org]](https://web.archive.org/web/20220712000058/https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) - Deducing cryptographic keys by analyzing power consumption has long been an attack, but it’s not generally viable because measuring power consumption is often hard. This new attack measures power consumption by measuring time, making it easier to exploit. +- [Retbleed](https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) [[Archive.org]](https://web.archive.org/web/20220804151557/https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) - Retbleed focuses on return instructions, which are part of the retpoline software mitigation against the speculative execution class of attacks that became known starting early 2018, with Spectre. This guide won't go too deep into side-channel and microarchitecture attacks but we will highlight some issues with both Intel and AMD CPU architectures that will be mitigated throughout. It's important to recognize hardware is just as susceptible to bugs, and therefore exploitation, regardless of manufacturer. From 6b5b8e5656162c20cd58d61acb736f20c175a243 Mon Sep 17 00:00:00 2001 From: pterocles Date: Sun, 14 Aug 2022 19:35:38 -0400 Subject: [PATCH 16/39] Fix pointer to Appendix B4 while adding Appendix B5 Signed-off-by: pterocles --- guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/guide.md b/guide.md index e1633a8..8be2770 100644 --- a/guide.md +++ b/guide.md @@ -384,6 +384,7 @@ Finally note that this guide does mention and even recommends various commercial - [Appendix B1: Checklist of things to verify before sharing information:] - [Appendix B2: Monero Disclaimer] - [Appendix B3: Threat modeling resources] +- [Appendix B4: Important notes about evil-maid and tampering] - [References:] # Pre-requisites and limitations: From 5cca117aa10ff60d5f263acdb49dbb28bb12f167 Mon Sep 17 00:00:00 2001 From: pterocles Date: Sun, 14 Aug 2022 19:39:37 -0400 Subject: [PATCH 17/39] Move content to Appendix B5: Types of CPU attacks Signed-off-by: pterocles --- guide.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/guide.md b/guide.md index 8be2770..9fb7c0e 100644 --- a/guide.md +++ b/guide.md @@ -106,7 +106,6 @@ Finally note that this guide does mention and even recommends various commercial - [Your Wi-Fi or Ethernet MAC address:] - [Your Bluetooth MAC address:] - [Your CPU:] - - [Types of Attacks:] - [Your Operating Systems and Apps telemetry services:] - [Your Smart devices in general:] - [Yourself:] @@ -385,6 +384,7 @@ Finally note that this guide does mention and even recommends various commercial - [Appendix B2: Monero Disclaimer] - [Appendix B3: Threat modeling resources] - [Appendix B4: Important notes about evil-maid and tampering] +- [Appendix B5: Types of CPU attacks:] - [References:] # Pre-requisites and limitations: @@ -873,8 +873,6 @@ Check yourself: - If you are using Windows, you can check the vulnerability status of your CPU using inSpectre [[Archive.org]][81] -### Types of Attacks: - Some CPUs have unfixable flaws (especially Intel CPUs) that could be exploited by various malware. Here is a good current list of such vulnerabilities affecting recent widespread CPUs: [[Wikiless]](https://wikiless.org/wiki/Transient_execution_CPU_vulnerability) [[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Transient_execution_CPU_vulnerability) Transient execution attacks (formerly called speculative execution side channel methods) and select security issues plague many Intel CPUs. Here you can check your CPU against affected micro-processors [[Archive.org]](https://web.archive.org/web/20220814123250/https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html). @@ -13745,6 +13743,7 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [Appendix B2: Monero Disclaimer]: #appendix-b2-monero-disclaimer [Appendix B3: Threat modeling resources]: #appendix-b3-threat-modeling-resources [Appendix B4: Important notes about evil-maid and tampering]: #appendix-b4-important-notes-about-evil-maid-and-tampering + [Appendix B5: Types of CPU attacks:]: #appendix-b5-types-of-cpu-attacks [References:]: #references [cc-by-nc-4.0]: https://creativecommons.org/licenses/by-nc/4.0/ [27]: https://web.archive.org/web/https://creativecommons.org/licenses/by-nc/4.0/ From 870347b784d306a2a45e25543ccbd13c44bdb967 Mon Sep 17 00:00:00 2001 From: pterocles Date: Sun, 14 Aug 2022 19:41:04 -0400 Subject: [PATCH 18/39] Add microarchitecture bugs and related research to Appendix B5 Signed-off-by: pterocles --- guide.md | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/guide.md b/guide.md index 9fb7c0e..7906c6c 100644 --- a/guide.md +++ b/guide.md @@ -875,27 +875,11 @@ Check yourself: Some CPUs have unfixable flaws (especially Intel CPUs) that could be exploited by various malware. Here is a good current list of such vulnerabilities affecting recent widespread CPUs: [[Wikiless]](https://wikiless.org/wiki/Transient_execution_CPU_vulnerability) [[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Transient_execution_CPU_vulnerability) -Transient execution attacks (formerly called speculative execution side channel methods) and select security issues plague many Intel CPUs. Here you can check your CPU against affected micro-processors [[Archive.org]](https://web.archive.org/web/20220814123250/https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html). - -The Advanced Programmable Interrupt Controller (APIC) is an integrated CPU component responsible for accepting, prioritizing, and dispatching interrupts to logical processors (LPs). The APIC can operate in xAPIC mode, also known as legacy mode, in which APIC configuration registers are exposed through a memory-mapped I/O (MMIO) page. - -Enter AEPIC (stylized ÆPIC), the first architectural CPU bug that leaks stale data from the microarchitecture without using a side channel. It architecturally leaks stale data incorrectly returned by reading undefined APIC-register ranges. This novel method was revealed in the paper *ÆPIC Leak: Architecturally Leaking Uninitialized Data from the -Microarchitecture* which you can read here: [Borrello2022AEPIC](https://aepicleak.com/aepicleak.pdf) [[Archive.org]](https://web.archive.org/web/20220812101719/https://aepicleak.com/aepicleak.pdf) - -Model-specific registers (MSRs) and their configuration bits can also be detected automatically on Intel and AMD CPUs: [Kogler2022](https://github.com/IAIK/msrevelio) [[Archive.org]](https://web.archive.org/web/20220814125349/https://andreaskogler.com/papers/msrtemplating.pdf). This allows an attacker (with heavy knowledge of CPU functionality) to view information about the MSRs, which are essentially special CPU registers allowing interaction with low-level CPU features and advanced configuration of the CPU's behavior. Modern x86 CPUs have hundreds of these, which are usually documented very little and in increasingly less verbosity over the past few years. - -#### Some other microarchitecture bugs: - -- [PLATYPUS](https://platypusattack.com/) [[Archive.org]](https://web.archive.org/web/20220814132343/https://platypusattack.com/) - Software-based Power Side-Channel Attacks on x86, which shows how an unprivileged attacker can leak AES-NI keys from Intel SGX and the Linux kernel and break kernel address-space layout randomization (KASLR). -- [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. -- [Hertzbleed](https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) [[Archive.org]](https://web.archive.org/web/20220712000058/https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) - Deducing cryptographic keys by analyzing power consumption has long been an attack, but it’s not generally viable because measuring power consumption is often hard. This new attack measures power consumption by measuring time, making it easier to exploit. -- [Retbleed](https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) [[Archive.org]](https://web.archive.org/web/20220804151557/https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) - Retbleed focuses on return instructions, which are part of the retpoline software mitigation against the speculative execution class of attacks that became known starting early 2018, with Spectre. +Some of these can be avoided using Virtualization Software settings that can mitigate such exploits. See this guide for more information [[Archive.org]][82] (warning: these can severely impact the performance of your VMs). This guide won't go too deep into side-channel and microarchitecture attacks but we will highlight some issues with both Intel and AMD CPU architectures that will be mitigated throughout. It's important to recognize hardware is just as susceptible to bugs, and therefore exploitation, regardless of manufacturer. -Some of these can be avoided using Virtualization Software settings that can mitigate such exploits. See this guide for more information [[Archive.org]][82] (warning: these can severely impact the performance of your VMs). - -We will therefore mitigate some of these issues in this guide by recommending the use of virtual machines on a dedicated anonymous laptop for your sensitive activities that will only be used from an anonymous public network. +We will mitigate some of these issues in this guide by recommending the use of virtual machines on a dedicated anonymous laptop for your sensitive activities that will only be used from an anonymous public network. **In addition, we recommend the use of AMD CPUs instead of Intel CPUs.** @@ -12375,6 +12359,24 @@ On the other hand, allowing the attack but detecting it will not let your advers See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some tips. +# Appendix B5: Types of CPU attacks: + +Select security issues plague many Intel CPUs, such as transient execution attacks (formerly called speculative execution side channel methods). Here you can check your CPU against affected micro-processors with known bugs [[Archive.org]](https://web.archive.org/web/20220814123250/https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html). + +The Advanced Programmable Interrupt Controller (APIC) is an integrated CPU component responsible for accepting, prioritizing, and dispatching interrupts to logical processors (LPs). The APIC can operate in xAPIC mode, also known as legacy mode, in which APIC configuration registers are exposed through a memory-mapped I/O (MMIO) page. + +Enter AEPIC (stylized ÆPIC), the first architectural CPU bug that leaks stale data from the microarchitecture without using a side channel. It architecturally leaks stale data incorrectly returned by reading undefined APIC-register ranges. This novel method was revealed in the paper *ÆPIC Leak: Architecturally Leaking Uninitialized Data from the +Microarchitecture* which you can read here: [Borrello2022AEPIC](https://aepicleak.com/aepicleak.pdf) [[Archive.org]](https://web.archive.org/web/20220812101719/https://aepicleak.com/aepicleak.pdf) + +Model-specific registers (MSRs) and their configuration bits can also be detected automatically on Intel and AMD CPUs: [Kogler2022](https://github.com/IAIK/msrevelio) [[Archive.org]](https://web.archive.org/web/20220814125349/https://andreaskogler.com/papers/msrtemplating.pdf). This allows an attacker (with heavy knowledge of CPU functionality) to view information about the MSRs, which are essentially special CPU registers allowing interaction with low-level CPU features and advanced configuration of the CPU's behavior. Modern x86 CPUs have hundreds of these, which are usually documented very little and in increasingly less verbosity over the past few years. + +#### Some other microarchitecture bugs: + +- [PLATYPUS](https://platypusattack.com/) [[Archive.org]](https://web.archive.org/web/20220814132343/https://platypusattack.com/) - Software-based Power Side-Channel Attacks on x86, which shows how an unprivileged attacker can leak AES-NI keys from Intel SGX and the Linux kernel and break kernel address-space layout randomization (KASLR). +- [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. +- [Hertzbleed](https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) [[Archive.org]](https://web.archive.org/web/20220712000058/https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) - Deducing cryptographic keys by analyzing power consumption has long been an attack, but it’s not generally viable because measuring power consumption is often hard. This new attack measures power consumption by measuring time, making it easier to exploit. +- [Retbleed](https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) [[Archive.org]](https://web.archive.org/web/20220804151557/https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) - Retbleed focuses on return instructions, which are part of the retpoline software mitigation against the speculative execution class of attacks that became known starting early 2018, with Spectre. + --- # References: From cbb3c49666ceed284b09a2725e5a73ed44306ec5 Mon Sep 17 00:00:00 2001 From: "T. H" Date: Sun, 14 Aug 2022 19:51:36 -0400 Subject: [PATCH 19/39] Revert a commit and cleanup a pointer This reverts commit 7736c42bd7fd4dc009405034ab77296a5f13f53c. Signed-off-by: pterocles --- guide.md | 1 - 1 file changed, 1 deletion(-) diff --git a/guide.md b/guide.md index 7906c6c..3723818 100644 --- a/guide.md +++ b/guide.md @@ -13466,7 +13466,6 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte [Your Wi-Fi or Ethernet MAC address:]: #your-wi-fi-or-ethernet-mac-address [Your Bluetooth MAC address:]: #your-bluetooth-mac-address [Your CPU:]: #your-cpu - [Types of Attacks:]: #types-of-attacks [Your Operating Systems and Apps telemetry services:]: #your-operating-systems-and-apps-telemetry-services [Your Smart devices in general:]: #your-smart-devices-in-general [Yourself:]: #yourself From 01fe6744c17738e72c9dc1a3b299954be3903f33 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Mon, 15 Aug 2022 19:37:13 +0000 Subject: [PATCH 20/39] Update bad link Appendix R Update bad link Appendix R --- guide.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guide.md b/guide.md index f1ce0b9..b81d14d 100644 --- a/guide.md +++ b/guide.md @@ -312,7 +312,7 @@ Finally note that this guide does mention and even recommends various commercial - [Socks Proxy VPS:] - [Appendix P: Accessing the internet as safely as possible when Tor and VPNs are not an option] - [Appendix Q: Using long-range Antenna to connect to Public Wi-Fis from a safe distance:] -- [Appendix R: Installing a VPN on your VM or Host OS.] +- [Appendix R: Installing a VPN on your VM or Host OS] - [Appendix S: Check your network for surveillance/censorship using OONI] - [Appendix T: Checking files for malware] - [Integrity (if available):] @@ -3815,7 +3815,7 @@ Remember that in this case, we recommend having two VPN accounts. Both paid with If you intend to only use Tor over VPN, you only need one VPN account. -See [Appendix R: Installing a VPN on your VM or Host OS][Appendix R: Installing a VPN on your VM or Host OS.] for instructions. +See [Appendix R: Installing a VPN on your VM or Host OS][Appendix R: Installing a VPN on your VM or Host OS] for instructions. ### Whonix Virtual Machines: @@ -4209,7 +4209,7 @@ Test that KeePassXC is working before going to the next step. **If you cannot use a VPN at all in a hostile environment, skip this step.** -Otherwise, see [Appendix R: Installing a VPN on your VM or Host OS][Appendix R: Installing a VPN on your VM or Host OS.] to install a VPN client on your client VM. +Otherwise, see [Appendix R: Installing a VPN on your VM or Host OS][Appendix R: Installing a VPN on your VM or Host OS] to install a VPN client on your client VM. This should conclude the Route and you should now be ready. @@ -10585,7 +10585,7 @@ The process is simple: Ideally, this should "not be an issue" since this guide provides multiple ways of hiding your origin IP using VPNs and Tor. But if you are in a situation where VPN and Tor are not an option, then this could be your only security. -# Appendix R: Installing a VPN on your VM or Host OS. +# Appendix R: Installing a VPN on your VM or Host OS Download the VPN client installer of your cash paid VPN service and install it on Host OS (Tor over VPN, VPN over Tor over VPN) or the VM of your choice (VPN over Tor): @@ -13650,7 +13650,7 @@ See the [Some last OPSEC thoughts][Some last OPSEC thoughts:] section for some t [Socks Proxy VPS:]: #socks-proxy-vps [Appendix P: Accessing the internet as safely as possible when Tor and VPNs are not an option]: #appendix-p-accessing-the-internet-as-safely-as-possible-when-tor-and-vpns-are-not-an-option [Appendix Q: Using long-range Antenna to connect to Public Wi-Fis from a safe distance:]: #appendix-q-using-long-range-antenna-to-connect-to-public-wi-fis-from-a-safe-distance - [Appendix R: Installing a VPN on your VM or Host OS.]: #appendix-r-installing-a-vpn-on-your-vm-or-host-os. + [Appendix R: Installing a VPN on your VM or Host OS]: #appendix-r-installing-a-vpn-on-your-vm-or-host-os [Appendix S: Check your network for surveillance/censorship using OONI]: #appendix-s-check-your-network-for-surveillancecensorship-using-ooni [Appendix T: Checking files for malware]: #appendix-t-checking-files-for-malware [Integrity (if available):]: #integrity-if-available From 92bb1e2a00d3bbb8f11997a14fec317db8b60895 Mon Sep 17 00:00:00 2001 From: Alex Anderson <84602909+NobodySpecial256@users.noreply.github.com> Date: Mon, 15 Aug 2022 21:02:27 +0000 Subject: [PATCH 21/39] Update chatrooms-rules.md --- chatrooms-rules.md | 1 - 1 file changed, 1 deletion(-) diff --git a/chatrooms-rules.md b/chatrooms-rules.md index fe99588..b6fe288 100644 --- a/chatrooms-rules.md +++ b/chatrooms-rules.md @@ -68,7 +68,6 @@ Currently, the following rooms are sharing a common PSA banlist for serious offe - ```#Security:matrix.org``` - ```#Bnonymity:matrix.org``` - ```#OSINT:matrix.org``` -- ```#OS-Security``` - ```#ModernCrypto:gnuradio.org``` This means that those PSA bans are effectively applied on all those rooms and can be issued by admins of these rooms. See the next section for information about appeals. From 91d5827d79d1246fc8df52bedcd6d4470930a1fa Mon Sep 17 00:00:00 2001 From: Alex Anderson Date: Mon, 15 Aug 2022 21:21:03 +0000 Subject: [PATCH 22/39] Updated donations log --- donations.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/donations.md b/donations.md index 94fe055..830365d 100644 --- a/donations.md +++ b/donations.md @@ -32,6 +32,7 @@ Here are the addresses for the main project: Donations log (UTC date/time): +- 2022-07-30 03:51: 0.0222 XMR - 2021-02-06 16:48: 0.1 XMR - 2021-03-15 00:09: 1.24869 mBTC - 2021-03-15 08:41: 0.07896 mBTC @@ -69,7 +70,7 @@ Donations log (UTC date/time): - 2022-02-18 17:27: 0.019 XMR - 2022-03-14 10:25: 0.0139887 XMR -Total Monero donations received: **4.734092580358 XMR** +Total Monero donations received: **4.756292580358 XMR** Total Bitcoin donations received: **1.89353 mBTC** Spendings log (UTC date): @@ -95,7 +96,7 @@ Spendings log (UTC date): - 2022-02-02: 0.966793601024 XMR (+fees) for sponsoring a related external special project in line with the Universal Declaration of Human Rights (details will remain indisclosed to protect project members) - 2022-07-11: 0.503232784687 XMR (+fees) for 1984.is VPS (12 months) -Total Monero remaining: **0.037136719397 XMR** +Total Monero remaining: **0.059336719397 XMR** Total Bitcoin remaining: **0 mBTC** [1]: media/monero.png From 57352ccefae0b96c4a3363de78544bafc32c1f56 Mon Sep 17 00:00:00 2001 From: Alex Anderson Date: Mon, 15 Aug 2022 21:23:32 +0000 Subject: [PATCH 23/39] Signed recent changes --- b2sum.txt | 16 +++---- b2sum.txt.asc | 90 ++++++++++++++++++------------------ b2sum.txt.minisig | 6 +-- export/b2sum.txt.asc | 26 +++++------ export/b2sum.txt.minisig | 4 +- export/sha256sum.txt.asc | 26 +++++------ export/sha256sum.txt.minisig | 4 +- sha256sum.txt | 16 +++---- sha256sum.txt.asc | 66 +++++++++++++------------- sha256sum.txt.minisig | 6 +-- 10 files changed, 130 insertions(+), 130 deletions(-) diff --git a/b2sum.txt b/b2sum.txt index a5597ff..7b9c1b5 100644 --- a/b2sum.txt +++ b/b2sum.txt @@ -1,15 +1,15 @@ -1da0bee96763274b4480fe6571655343c833b4680cfb6e8e47d7263a985ea1ef6b5c369ac00f9e8905fd02e93bc7122a04dd71ae1a3e23d47c87c5e164d3ded1 about.md +748e8fa9e64a0cde14f1fb179e13da8e3abf334f74d0b84c49e0f8db296c31622ddb92a21c6426a9bfd3bbff66be57c979154ffc0d087dbd57eca21ee0a98257 about.md 26196d7b81bb79c8dc290a98204e3d416e887552ec68b0de4bbe2f17bcc11fe8e3dfccc7f210a72ddecba2eecfa2e33ceaf57f4b0c3061230d62b805e8228f79 briar.md -508535a9c57c88e71905e3e355ab27445f3ac45352486331ddc1438a241db7dd1fb7cb2bf2d29225e17d88ac74c436683f483e39ad70d9bcdd82a0f5fa42d6cc CHANGELOG.md -356e84e2d72b7ec8c8c39fc46efcb0e7e907456493a1ec82c9bf78ad204f82d57ea523bf3fd016ffb27d0fc4903a0ce054d86a9e9a92d0e0ccabd7b47a3b645c chatrooms-rules.md +1c1b4de5b210ed1328954bc57aa48a3cb04e8f0a97eccf5561b4005fa044526acee6e8c8ad103e90e05b3e0be26c4d42574639d168058ea034e2439a62af41b7 CHANGELOG.md +0c9f4cedcb619c44388923b862a329e019441e2e92a798bb97694bb78a01d62259bf93c42191d80a986983b936292aa0cb52bbe984e43002f0e186f45899888b chatrooms-rules.md 13a500b51aaaab394f40d459c722f25c94fdb92c0488a45caa67b5ef5c4d8ea1d5a9e303879cb04fbe61fb756a0b0e713533178cac66310d1f6d227c7a1b9bc7 CODE_OF_CONDUCT.md -e1079876940fce57b827ee39295a1dfce05f003f9665296e0f9a56010a6037914808f430349a63a5d4ac0ce5510b0fc4b0f4727637b04cfc3c74e26758098747 CONTRIBUTING.md -95328cb2e2f626a5e465f735a7162d02ecb354637cea19a0f37c0d919e338ab472d4b41e1758fa175acc7412cf1be673a690613e9844430a7aa6fe7880881277 donations.md -13a8320f98a1e28a3b7f535a499b240065d3442dbf7f74cdbac3efbc6765dfa385fd1fc736679b6db7e8ef3afa027775d7b09d88f672e071101c8d3eb0697887 guide.md +57930e368db74237e225d57fb277dd30d68b75ce76567f5d608b2cd43ca547ac1f83ec04d3ba54e332e710ac3d641ec51c83fd92dd702d50e34d09d59a167ebb CONTRIBUTING.md +15989c822804b56311d0a00359215c23222f2f5f6b156af7701a9d50166e43e559dad8cd0bd6c04933ea6043e043f88c6f9ad57cef653bce863183ced8fbc815 donations.md +b548d028fdd990f7da5e029c0cf1fc1d537f430f9ef379d922f683f1733c3cb83024093d694838e9296687ff9eaf70441aa11969d369ba04a5761ab6f7efc99e guide.md 29ee4751542b8a15463da06ef1481066391cf0c6c3a8157a3bda0c5e656137428ca8e4b78edf64fb9a93ef916150fe745f83a9e12ea5171f4dab088020beb014 KEY_ROTATION.md 046a52e53005963dd38343505aa43e51b5d750f0891c0a20a675c80ef9a254077db98b15165641a5f7ea33cc19f035e2aa7dbec4504a95c32b63911e3c7a8046 legacy.md f9aa769f3572fd8c1bf2c46cfac9c49113f73b8185e5edad04ccca003f973d79ccaa728c30078bd45a60bdb7f5a090a22a95f04836e9ea07aa53d16684158b19 LICENSE.md -372685463d375a6c25d7ef31b0ef31220d8daa9b69d3640ec5e64fcdf5b97f69615ecd548feebd30905ec65e4819f02fa4d82b67e88e4ce68408931d898abc6b links.md +fdf05ba24f10cba1ced92d36def4bfbb3fe1734392a86e81a434bbd195d97067b863ecb1e4c42668bce32b86fe46dc37f7dc5f0b79d9ea66d8d6cfb9338ef219 links.md ab0ec9bcea9167177eae18a069ccf2354148b9f59a4248d03445e6d7bff10463d4f5e7d28a442ff2b620da16a57dfa91f2684bec69edaac5ead40f492f3270d6 moderncrypto-rules.md -742f20fb65e92308bcbf6f87c567096c463c324d1079e23194df310ca162b51c6e2496d44e2e28f94f544575eadb68d9b1a839a7aea21f21a4712f553dff166f README.md +2a3fe2f4a9818875c2b72d1e063453d2aa0f1c5d76e2c7e2b344b54cd5044f4ae0f9777238ae564d81a35f5e29806127096872d10b6ab20434e4f6a7de8695d0 README.md d33ea2d1ca49eba4bba7128fda73c428aebe7640b1e50c9a7492c6a386db76eeedbb747aad52535f5aad3b47d6a1b3b4fd74e6e314b6ac844a39b1ee94f6e205 verify.md diff --git a/b2sum.txt.asc b/b2sum.txt.asc index bf54fe5..74e4ef7 100644 --- a/b2sum.txt.asc +++ b/b2sum.txt.asc @@ -1,48 +1,48 @@ -----BEGIN PGP MESSAGE----- -owFFlgtslWcdxunWMdYyQMalFhmHiUF3Ke/94gQHpdI6aKErIrJY3yuWlRbasq0K -bBPdYG442FQCjItbZtjS6JwmKNE5kIiCmCFzxMUSthFgmMWYhW5DwOdrQjwn+XJy -znfe9/n//7/neb+nbrx2SEXZ8MnLmi+cbCiV9Q1b4W/wrHvV8pqeB3v8yVv6aHTE -p2SVVpxp4YUwJCclNVVScsGD4dwLZUjIXiWThI6aKe6skcnRlJWXgSvrAiHZJmOJ -zJGwZLkPmjLmiIhRU5eo44nxKHQwOshElYg8pkhLJec7V/XULI8VTFGrovaGeq9t -MDEwS7ARIyLhnxTbGy0lS0EZT2IS3ieWqfYhUJqhjcccQtCZUeI0izEF71hKIePK -eUguS52FJ4ETRRknUTFviEyGMZO1LZV8V5vrKqRIYiSXzgYJvSZpiroST1xK59El -ITN3QeAWJozinMYYqODGMUGj1zHS7HXwzGcWmWUM9epojAtaBMGVMjwLg+Wsi5pE -60OMBq3KMjvBogqhVKqtn9k4p25u05xCDpeoXSSG1nudgsGb2xyESjl4knSyRAup -hOUYSTAsWJ+1cRGdy4ZFqZOTjPvMMRuqckYNkeD/lnBHQiJSRKOcTdZZFkkiITiP -QQjtuFdCQk74puvp6uxc3n1H16r21F2IotxJQrykDi/PrciCRCFt0IxlJgO+iN6y -QAQqxyLOKe1lyjJgN7AT0d/ECTeYtYdQn1TRNqkAJGqiXKKx2gQXlOKUoKcqMqaD -dtSjZRo9appd19r0pdbapsbZC2tbClGJEm2NVlagviQBE9MJjWZWYsdc1JoJ4dkq -JZlVCdA6qQiAUYRrS0G/yQKqhHWgXEYBsrGQpBCFjuEiNINXNCSHHDhGmpjS0hBs -KwZFNbY0N8xa2NLQODg7KzkzYAGoKqacTELJrAEXHMYKqwTPpcCC4JNaQIBPYIKi -NwAKM2ARrqQgSJrscHVAXFAWMkXHNHfKgmaerBECwp1Gn3PSBoUYyjQUxc4O19PW -2XF1aoYzlG2ACjMYsM4F6sJazwQhSkYuACEAyqA1ehd4yj4gH2TMjhv4m+agQbG2 -XoF2GA9uyI5gMy2BDbFgPSvNEtGUEgon8+SJshAFOUtXtcU06HebECeSSgEbOlo0 -AWEEpjEFSjB0S0MmQQVIprJgET8jO5REvVqgqw555LVJMSvwA3oh1VJFJSIMhsgG -OZUoA/1U0yyi82gKYQg8T6gole6uW9za3NQys6WhqbFQRAQGxJLkhEgLNZEbRKAk -0jnBk6Qe5WFtYqCMOAZotAyGYFPHpCBaA3jjqUR2KkEd5pwcgidQmwmXiTmHOxKC -gwhnkZvMF0XSBIqcwealUnta6kJvoQVrOnCcudQsRxMowgSOR5gFC+dSykERshI5 -LFN0ETjCtoNsax7hKRhOo0eoRRsPY4JwH4tpO4JYRTRbWAExpJJNjgAbySNFNgkq -UQPScG5DbV3jPXWDAYTMN4MD4gBQBYZGYOoURsWVMRJNdA482MiVIKmYksghZumt -zspiJClEKUxOyUdOijgNCl4wRWsYYg8B6BVYwkRDggj0GLFqgCnY82hMW8d9gwBj -hgn5Brdg0ppqtDhRA25QcWawEujxNkuLKBUmwskCYoBlzpQUFYgsk45AH5jnjF2h -3lEMXoNvSzMqFRiSsuiqQyEuIkuEZRnnI46MUml5Z0xdHaGrd0VP5//jEEBm+Mqj -Kouzxfjgs8rFYac0sQqj4xi4iEVA4SSkVkS0jgRszRCiQSUmcPwJxAl8mZGeEsp1 -sb9XBocEhXEt7J0cg0jqBM7XjDM6ojClcqnUXDdz9rzBcUXOcVekAbZO3uGgRNpg -0eg0DzCOSz5pzMnTJEnAoigvKJi78LNKKUWcwEh/FyVDOAAZF/EUoKNC9uJDjkg9 -lTgVXrmA4HEc+vAUITLKILJUuj91teVBjjdcw8uHlFUMmThucvmsK/KtZ8/8fv1L -I4//9OozyXXXFI8hQypuGHX1mxO7Rl4a9/jo5zpW9k969s6ZU57fl6dMGLl15ys/ -aftuy+EfLKg7sCjdNnz29uVvP/XZx9ZVHXpx+LD+NdVjy04v3XkulJ+XNUtfHVAn -l1ROPbX93XWHn3j/nU+faRr78sDF1c+sXLD3WyMuVS3au6q/d6vedKjv7dXfydvs -guoJ9dv/3fRwEmefLt/c01v9D/WLh+Z1n17/s4/H/f22N27arkd/feF7t75w14Mb -nmzYVzVnx6I/5baX3WP68c7e21f++QvXzy/71wP9f+w/vOkT2469Nub05Wmli89v -3dFy5njlgouvfdi1Ye+kPef7v/KNubW/OX5Lx8+f2STP7fvtrvLvf9Q24qP5M0bN -un/Xoc9Un9t59wO1m3efOvrf7aPerWooO5EnVtRUXfvm3mVfnvb5vx07+rtHps27 -+cjr9XWHlp7qe6umb8bW3VfWXOJscepuHTO8qnNN1Y4Ljy6ufvWegQP2xkvf29m/ -buiWe/859NdTm8d2Npy9LD5ccuTNoZN3r71r4tc2jmxduG7YlrLz58YsefGrBxe8 -v/GDbR/vaa/vvnD8ZnZs69TnFs7ZfHD6sqMTm/dPbriu+YObxn5qbc+d9/E4vv5z -v5rxh4crxvftKStv+eERP31+xXS//0czy69see+Tty9uWjvdnvj2nKYlLWdfv/WJ -v7DLfP/QFybccfCX975yoB1HXPvA+G36P+88+tcpLSMqeflLA2dXfvGhnh9PWrHh -ycrR69es3tuxaOgbNeM3Vjb+Dw== -=8bQm +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 +8ROnz7TWf7pxS93FI8P/Bw== +=LDie -----END PGP MESSAGE----- diff --git a/b2sum.txt.minisig b/b2sum.txt.minisig index 6b6d6f8..f03242b 100644 --- a/b2sum.txt.minisig +++ b/b2sum.txt.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RUSn9xivowlq/sr1ozWrENa+hzlcnhKNaMWoJL6rCw2U/XEzcylaiVQL0FlECQAEjFC7nJw6tFOYq1EYwV0g1Z8qp0Nn5iFUmwQ= -trusted comment: timestamp:1658790578 file:b2sum.txt hashed -RM54EBZy1QQHONjX4nNJ0+6Epx3BHKGxgB9plExnqQ6SDFHPRdl6igSidQ1DiWfxsCJ4ZcZPSIlM1xmBJtwJAw== +RUSn9xivowlq/r/UipZCfUDt2/GrYddEPgE1iKotc/69NVI3unWHyr1cQwWEAYj2nxr+16nCRR03XlEsNx2I/CnnKiecT6ZqHAk= +trusted comment: timestamp:1660598571 file:b2sum.txt hashed +X1mj7TyKrP2J9V5F/gFf8KBba23oSKBk6guDOUUsPmSy2unA7WwgHc2p/qJhpt5mwa4btcOEzVyp6pCNUjMrAQ== diff --git a/export/b2sum.txt.asc b/export/b2sum.txt.asc index 3650b02..7b09a0d 100644 --- a/export/b2sum.txt.asc +++ b/export/b2sum.txt.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEEQv81253nwIirD9SnDCFqUvbfSSAFAmLfIp4ACgkQDCFqUvbf -SSBG8g//Rb7ahuTgYdsgtBwWuFK2imbvrGVultDPJorHR1Sph9OVnuqlqPAANmfc -73hmSVN06RbIPwfTScqVs9PlDbeWhG9F0s+90v39Oua1drhD/Ybmb3EaIk/tVl8y -UCzEJJ0xnmaz1SjgV4BApiWKt6q4cJJs3ZY8aDDOCBWJ7xMKQLI+pQyrj8UjL1am -lVEGQ2LLezCJBfJny/S8BdyG15AQ068JftQ1WU1BlIrMNgTyIJmKXRdJoWKvF1hf -RlCeVVgnvqSyvzXTb+KfWGef52kTIo1aib+zcpyK6VJ/kXJMuxLYNabxnbtY7Fnq -qrxQJQPPaHrz93LB1AFfV+dL2kjgKpVQygsWM5Dgj0nBiAg1dNjrQ0B/pcPqy73u -GrTumtrbsTc9ZfZqrcetZWY0OzLlceI9WUzuspswgBT7HYb4Xm1Jm1D5z8pTHX3Y -WObqS6KdUslTFdsnGyUb+lK5siY8kq5js/4LmlLpKsUphWOs/3InJODo6sIIkx9S -k8Bm7NU2snc+i4GhT5FsrSs8qBXXOn2MsEaOOlRqbfQtDP8wfDim8koEzrGLmTr5 -esa4+01KG4yKDwDyHOJ9tPCAjaa1jRfiptDcWC7zD947YS9LbpnJC170LNkY8Uyq -ZNbjqpeurfoYv7OjwXMxG4M7ufshvoNayA/bU/ndhiiSsD8fTi4= -=BD4w +iQIzBAABCgAdFiEEQv81253nwIirD9SnDCFqUvbfSSAFAmL6uRYACgkQDCFqUvbf +SSD4QQ//aF+WuYUk6CDHIKVws+aDnn4QbnrE5VTTwQVfHweBdbQk+YqOAClTKwR6 +hRUU1uV+W8tXhCyxSE8M1ugXX71AssU4wmiGHaVYAPiiwoHvqgGMug11pT342eS2 +Q34VzHHNFVkP3KCoSo1isqoKUxJb+tbpe6Dcmzw9TBCGEOzPSxX7HTytNdyMjHtO +XZYNRvNMh5PaaK88YCjwvvCB/ST3qmKeFdqlVsrWHCL1rwoucPc4hVLu7FD2EHOY +FKWlG62b7nYER73EqLEI7hWZtRYfVhkeuQd8k0OU+QHinAMYZaAyHpdaTYUPbbRn +5p/irOs69plHRe7pF/M56kR9OMgSwV86lWNGrfdXrDF/Zfis9tDoSIjjoLwIl96w +rpDp1G3opYZhvrYPZLphyqNveHE2Q7MGmaMsZ0n+QMRSq/qsH3397B4Wm7sWIXbR +ijG0pC8zoOc+29cZnV19q4OiViIdNN9gnuVArSEOXnO76Ei9digQDNwerrX+1qv2 +wJ2OZhc5hlOXnR18tYs2enM2FM2rcvFK9HJrmewxrhKH/ZnFgX2CKcywvGtryrak +rrxv+6Qn70yQ0yywTMn6vihXiFPRz8ZvrDd20oD/EyB6DNPHUykeDRNUGIwCS4X2 +Y1q0kMSIJbtamquJQCLbdLudfvKBAkM57B/BtPiI7Ft47z6CPqc= +=rrVA -----END PGP SIGNATURE----- diff --git a/export/b2sum.txt.minisig b/export/b2sum.txt.minisig index 014028d..432d33a 100644 --- a/export/b2sum.txt.minisig +++ b/export/b2sum.txt.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key RUSn9xivowlq/m9u4GCYbaa9GhEomTQimt7c7HvuJZJlN3em2Ydy2DeCKpvpENQ4T5DfNtSe3j5pjnNQda4QNXW/mp4d8Q0eeAM= -trusted comment: timestamp:1658790564 file:b2sum.txt hashed -roeGVEjvolb9c4v5LkdHxdnDLy699XjbobWaFwynhhB3Lr4zGc0RUvzt1abVi0ipY87qTzOINadCzVyiEEuhBA== +trusted comment: timestamp:1660598556 file:b2sum.txt hashed +zRsOp9ehZ24HnQCNis/pD9IeesI6628PKwEHIPpCKZeOZygE/dnBbB6sdbMauPgKx5hyMM8uklXX9rQh9KI6BQ== diff --git a/export/sha256sum.txt.asc b/export/sha256sum.txt.asc index 5a15d1f..bfbf909 100644 --- a/export/sha256sum.txt.asc +++ b/export/sha256sum.txt.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEEQv81253nwIirD9SnDCFqUvbfSSAFAmLfIqQACgkQDCFqUvbf -SSAfOw//UviW61DOVRZNm0taWA1hXDYcUXlbcju77SQDApJlgjvll4t0NijWDJCp -hlUNfcEat68mvIYqguVStugq7qXqGyowduvqFrE2iQHelSAZTsBOkHy7X2anS+Q+ -6SQclvTWOkj0qGME0W4MYYXP5nFwjqW9k3KX0touz9lZ31RhiHi810qEmJpmlpEO -qKGsXrvymXVaaahwJV69mjwf2Se5uOQfHvRIzhvrz+7HcIU+bGH8l+kx97xL1ES9 -Lr5bhz/KC1WaLqjsUSbgcdvHaYA7rf6eTleW/AjpxhraikdpLhYCeTd+fx+OnOsv -yJ88yMqrQGhXRvgryL9k7Z9aZsNq5zOgKP2GFX4Ic+3Jo3xph6tm9oYIN+FganR9 -+C1PePuhih8c3mL/5pvc8ULlcPl3Q3Xne8/VgW08IC4UvYqjJVh6hGD62VSARGIh -P+XecE9HlHLtDCGj0zGIcAoYZa+tWDTtifIdWp1fsFin4urnnrjyVbcsoX+7Qz7H -mrL5clE3MQ7VQOYtv/SARAKssTnTOn9392+aPW1pA1otRH+WOARlKYMzDL/iE+H5 -JWwkHGYJge12Z6j/2kGCqJkQpY/ZGYUhokTq7fKoee2P6XcNjgGsuzQ9P+JGeSk/ -vVsM7gPlUbo8zHccmRdT51SmQpNmunjtrNcy8kGXw1AH3HGkGW4= -=Qvca +iQIzBAABCgAdFiEEQv81253nwIirD9SnDCFqUvbfSSAFAmL6uR0ACgkQDCFqUvbf +SSBJpQ//Q6gO6ArEKjtQVhbqAoJlw+8Z5ydwJFBqHLXNfvYHxKJ3bNrkEHs2al7w +hamACTmqH6kEc4dk/FByFIoKlcCDtdG6WLQhlYFX+fi+mo69lS15tOKeYf3Hiuo/ +uYDDkRvUNmzxXtHGosLpwD3uiRqQjK2Dj7uuPgR2xNF5PYM9Vh25Z/GQnW+Nqcfh +UXh0JpFNcTV1Dmbh37JgNZz6cEcpsFSAmHmK7n763L4Z/UJi7HXpCS7Cn95Xo52I +k5cxUeSHXzf2AgGGLpwYF/b2oFh7g8JQLYHPUyCnaf3otRAT3CRsQxelv/u1YDAk +OQ4X10vg19evUuKO3xpWx7oQOZWWz3m+4YRN2xbNZlSAb+KwZdEdblI5qTxlu/ud +ceaVW2t+n1Z8ygk0PbNGTjMbGdLsoQ0+knkVzPVs3ZK+ygnKW3q+P4aFM86EmgD+ +QfWqeg3fhdnk8QGDzlXRsu15M1GpXjopKX2LBpPiqGZRGHq+H+PhNtLGQ7Oe7IAM +wCzZmOLUXic1vQ81V0US8JeK+9zMJPYLj6tKgFJ8hhRzJ3vwR0Ls/A0/q+J5nHIq +GX40i/HqYme67g66lhoMh+joyjvbxPJjKSjFCKsaHZ/xsv6SfWRY5WRzdMXh1icE +FQaDy5Ynu0VJ/WzQvsU9Chyp+AEOIfhvEaquHLtfiUErt1zPWho= +=qKci -----END PGP SIGNATURE----- diff --git a/export/sha256sum.txt.minisig b/export/sha256sum.txt.minisig index 1812b2d..6360010 100644 --- a/export/sha256sum.txt.minisig +++ b/export/sha256sum.txt.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key RUSn9xivowlq/kJ6thrlMUlYMQS85xqWIMR7agiJynTCepUp5sRhyMVdmwl4SBXuQ1EczsCaq6kM7fEy4+ls9+Rux9PvVw8Jogo= -trusted comment: timestamp:1658790569 file:sha256sum.txt hashed -dj03R0KeT350j47kyRWoOIjbh9gZobfjiMR0Kk8XfeTMYAEXB3AvgNRJaueIIgz925321JmAw7tkfaXnDtxWAA== +trusted comment: timestamp:1660598561 file:sha256sum.txt hashed +yy3CaCiNigU6UZ/IDiIH+iLecXdURMwrg5DzCu+D3/WE81oPvHmUZOkFB063IWuPxzAniT6vGhDrSreyUqWOBg== diff --git a/sha256sum.txt b/sha256sum.txt index afab20e..9d41d6e 100644 --- a/sha256sum.txt +++ b/sha256sum.txt @@ -1,15 +1,15 @@ -68f5517e1fb0874e898d6e7e7565f42b0e0c2251cf6958b34a2960c212053b22 about.md +aad986b3283d11626df711a9c9b41f3e200be7ea43bbe4f2edda6c1c514e11a5 about.md 6c65d21a15bcd581f33b5f7f2b02eb65d73b6990778c9df687c2aea47eee6907 briar.md -45649af14e8af188435d801b4174bc69c8686c0c1654f5ba0b6aa028fafefebd CHANGELOG.md -0d2ca2d1399126adaf4f5c46e2dc84f2b18e5f48456d02846701009c80d4136a chatrooms-rules.md +28ffb1a3435a87f1cfa4fed621148f9b56d4505982e3a76faa95558c16f4e552 CHANGELOG.md +6a4396d89b264f32a76a5060e0bb014bb809e2f6a4035c6b54b5388dc5f95e43 chatrooms-rules.md bba42faffa2aad96ae527518b813b0b7122dc9bf19d75171cab646dc98dcb05f CODE_OF_CONDUCT.md -97ca04ae47ac0888ac0b82c2c895f75b9cf9ba04d2479a3ad092d86bf53809e8 CONTRIBUTING.md -aa0a4fd4e53f63c0f3d1f00526a2f0f88a63729cd86ea40a491443e555c9e1b8 donations.md -bbc747327afc4000a57c529e9d9733db0ea15900c8741879b52ca744152b03fc guide.md +2a1124e9aad599ae953bd4c2f0a64fa353e29db7bc974fb4c7f592bb1717b75b CONTRIBUTING.md +91acb1384465921fb498c16be5f0730608a76816d7fb97edf178cd4bc979bd47 donations.md +b9753a31b4dd19c79a25648c817931d780f57d2591dd57c8a1aee584fc8028d0 guide.md ea84167b5d2771d3dac9b8aada1d126170ff397daeaffc14fbe7031ab6d06010 KEY_ROTATION.md ca7931e201056dd44bc77959dc3e4298a1b5c712b6c249f19746d949d2079f49 legacy.md db2e35513dbadcdc67f5819a3bfee2777786538dd3531620cd5fbd4b6ed6e538 LICENSE.md -a8b07275dbfc05063015dbd3082a8295091e74c7ecf4d993ce9d72a79c7addcb links.md +3ae461e550885fc3f4b1295a79cd07b6aacbb10c547a8b4ab6c79389d36ca752 links.md 64802d6754c2244b6a2d483f0e6d082e7cc4e3effab673a8a2b2ce15360f00d7 moderncrypto-rules.md -4f0ebc2c59283d4c14f684104b0bb986dba4aaa55bd1aa3a08fe3074f6a9366e README.md +47d14130f902a3f963f75b6197879e38e34055be04ed82edddf6dd36b1ec3063 README.md 2e95914919d10749fbb12f442764495e081f9318cd663d3858b4060b0e3f28fd verify.md diff --git a/sha256sum.txt.asc b/sha256sum.txt.asc index f5593e6..72e304c 100644 --- a/sha256sum.txt.asc +++ b/sha256sum.txt.asc @@ -1,36 +1,36 @@ -----BEGIN PGP MESSAGE----- -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 -4uMlizfk/ynklfwC -=DP7J +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 +YPvfVv4C +=RH/S -----END PGP MESSAGE----- diff --git a/sha256sum.txt.minisig b/sha256sum.txt.minisig index 748f783..e98acb4 100644 --- a/sha256sum.txt.minisig +++ b/sha256sum.txt.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RUSn9xivowlq/qZt+LqBXfCthiM3qvpOcdB93VE7Y+M4hhTFs8//zGrEFo1kMff7cIols3cIzbKhrFX8Jmw0kuqMLDQe+tmI6AM= -trusted comment: timestamp:1658790573 file:sha256sum.txt hashed -nDMD207tv4fuCr8ZJnGqqQXO4/9/Iqi0Z6r7Fc/5DYU+N3Wl4BSg7fcgsR9Hcl8rnodLz5dhh4JEOEPHt792DQ== +RUSn9xivowlq/mUtkDMLXlp08e6NheGfKmb38b54kqeNfYiirZzIJ/7aBYl53AEOOlq8tC53qWxEnAOtgKkHOlPRNeIyrid/IwM= +trusted comment: timestamp:1660598566 file:sha256sum.txt hashed +DIGPj2K8NpmAAsomqJeQaJVrUAcEwNjmmEXlTCHgeaFDw/a6lirra43yNL7QH/mD4ZG1GxYX+3u8AE4y39FABw== From 4b021dd9467b4a7a0ace8d9b5201151f10c18e2d Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:05:08 +0000 Subject: [PATCH 24/39] Added warning/disclaimer Added warning/disclaimer --- guide.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guide.md b/guide.md index 0bcafbf..91aa8d8 100644 --- a/guide.md +++ b/guide.md @@ -5886,6 +5886,7 @@ Tools that can help with this: - - (**Generated pictures using this tool have a watermark that you might need to remove using image editing software such as Gimp**) + - **Warning:** This tool requires JavaScript to function and does a lot of fingerprinting. Most of it is being sent to Microsoft Clarity. Even with uBlock installed and on safer level, Tor Browser wasn't efficient at blocking the fingerprinting. This obviously does not work on Safest level. On our tests, only Brave with agressive fingerprinting/ad shields did not send analytics. Now is also the moment where you could finally consider getting an online phone number as explained in the [Online Phone Number (less recommended)] section. @@ -5911,7 +5912,9 @@ We will help you bit by listing a few tips we learned while researching over the - Brave Browser (Chromium-based) with a Private Tor Tab has a better acceptance level than Tor Browser (Firefox based). You will experience fewer issues with captchas and online platforms[^383] if you use Brave than if you use Tor Browser (feel free to try this yourself). -- For every identity, you should have a matching profile picture associated with it. For this purpose, we recommend you just go to or and generate a computer-generated profile picture (Do note that algorithms have been developed[^393]'[^394] to detect these and it might not work 100% of the time). You can also generate such pictures yourself from your computer if you prefer by using the open-source StyleGan project here [[Archive.org]][400]. Just refresh the page until you find a picture that matches your identity in all aspects (age, sex, and ethnicity) and save that picture. It would be even better to have several pictures associated with that identity, butWedo not have an "easy way" of doing that yet. +- For every identity, you should have a matching profile picture associated with it. For this purpose, we recommend you just go to or * and generate a computer-generated profile picture (Do note that algorithms have been developed[^393]'[^394] to detect these and it might not work 100% of the time). You can also generate such pictures yourself from your computer if you prefer by using the open-source StyleGan project here [[Archive.org]][400]. Just refresh the page until you find a picture that matches your identity in all aspects (age, sex, and ethnicity) and save that picture. It would be even better to have several pictures associated with that identity, butWedo not have an "easy way" of doing that yet. + +***Warning:** https://generated.photos/face-generator requires JavaScript to function and does a lot of fingerprinting. Most of it is being sent to Microsoft Clarity. Even with uBlock installed and on safer level, Tor Browser wasn't efficient at blocking the fingerprinting. This obviously does not work on Safest level. On our tests, only Brave with agressive fingerprinting/ad shields did not send analytics. - **Bonus**, you could also make it more real by using this service (with an anonymous identity) [[Archive.org]][401] to make a picture more lifelike. Here is an example: From ad72f59d1a4c45016a66fb9408bdd1e7444e1369 Mon Sep 17 00:00:00 2001 From: pterocles Date: Tue, 16 Aug 2022 11:45:04 -0400 Subject: [PATCH 25/39] Small addition: add link to meek-azure documentation for iOS * add link to commit where iOS Onion Browser dropped meez-azure: "Removed Meek Azure bridge [support], since Microsoft announced starting to block it." * Remove dupe reference to footnote #522 and #523 (document will now render this as reference #516) * Add link to Tor Project: "Run Tor Bridges to Defend the Open Internet" Signed-off-by: pterocles --- guide.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/guide.md b/guide.md index aca1209..f183600 100644 --- a/guide.md +++ b/guide.md @@ -2165,7 +2165,7 @@ While the official Tor Browser is not yet available for iOS, there is an alterna - Snowflake - - (Meek-Azure is unfortunately not available on Onion Browser for iOS for some reason) + - (Meek-Azure is unfortunately not available on Onion Browser for iOS (See [commit 21bc18428](https://github.com/OnionBrowser/OnionBrowser/commit/21bc18428368224507b27ee58464ad352f4ec810) for more information.) Personally, if you need to use a Bridge (this is not necessary for a non-hostile environment), you should pick a Snowflake one (since Meek-Azure bridges are not available). Those will probably work even if you are in China and want to bypass the Great Firewall. It is probably the best option you have on iOS. @@ -11694,17 +11694,17 @@ Each Virtual Machine is a sandbox. Remember the reasons for using them are to pr In some environments, your ISPs might be trying to prevent you from accessing Tor. Or accessing Tor openly might be a safety risk. -In those cases, it might be necessary to use Tor bridges to connect to the Tor network (see Tor Documentation [[Archive.org]][244] and Whonix Documentation [[Archive.org]][337]). +In those cases, it might be necessary to use Tor bridges to connect to the Tor network (see Tor Documentation [[Archive.org]][244] and Whonix Documentation [[Archive.org]][337]). Optionally, if you are able, you should (seriously!) consider running a bridge [[Archive.org]][] yourself, as this would greatly help reduce the amount of censorship in the world. Bridges are special Tor entry nodes that are not listed on the Tor public directory. Some of those are running on people running the Snowflake Browser extension[^520] while others are running on various servers around the world. Most of those bridges are running some type of obfuscation method called obfs4[^521]. *Only available for Desktop Tor users: Recently, the Tor Project has made it incredibly simple to access Bridges with **Connection Assist**, and it is now automatically done in hostile or censored regions. Simply open the Tor Browser and the connection will be configured based on your needs on any hostile network. Previously, we had a list of options below this paragraph which were necessary to enable and configure bridges, but now that this is done automatically using [moat](https://support.torproject.org/glossary/moat/).* [[Archive.org]][1387] -Here is the definition from the Tor Browser Manual[^522]: "obfs4 makes Tor traffic look random and prevents censors from finding bridges by Internet scanning. obfs4 bridges are less likely to be blocked than its predecessor, obfs3 bridges". +Here is the definition from the Tor Browser Manual[^523]: "obfs4 makes Tor traffic look random and prevents censors from finding bridges by Internet scanning. obfs4 bridges are less likely to be blocked than its predecessor, obfs3 bridges". Some of those are called "Meek" bridges and are using a technique called "Domain Fronting" where your Tor client (Tails, Tor Browser, Whonix Gateway) will connect to a common CDN used by other services. To a censor, it would appear you are connecting to a normal website such as Microsoft.com. See for more information. -As per their definition from their manual[^523]: "meek transports make it look like you are browsing a major web site instead of using Tor. meek-azure makes it look like you are using a Microsoft web site". This is a type of "domain fronting" [^524]. +As per their definition from their manual: "meek transports make it look like you are browsing a major web site instead of using Tor. meek-azure makes it look like you are using a Microsoft web site". Snowflake bridges make it appear like your connections are phone calls to random internet users. This is a type of "domain fronting" [^524]. See ["domain fronting"](https://www.bamsoftware.com/papers/fronting/#sec:introduction) from the link in the previous paragraph for a detailed explanation of these types of secret "bridges". Lastly, there are also bridges called Snowflake bridges that rely on users running the snowflake extension in their browser to become themselves entry nodes. See [[Archive.org]][563]. @@ -13437,8 +13437,6 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte [^521]: GitHub, Obfs4 Repository [[Archive.org]][1348] -[^522]: Tor Browser Manual, Pluggable Transport [[Archive.org]][1349] - [^523]: Tor Browser Manual, Pluggable Transport [[Archive.org]][1349] [^524]: Wikipedia, Domain Fronting [[Wikiless]][1350] [[Archive.org]][1351] @@ -15126,5 +15124,6 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte [1385]: https://web.archive.org/web/20220516000616/https://officercia.mirror.xyz/WeAilwJ9V4GIVUkYa7WwBwV2II9dYwpdPTp3fNsPFjo [1386]: https://web.archive.org/web/20220720023429/https://leakuidatorplusteam.github.io/ [1387]: https://web.archive.org/web/20220801151048/https://support.torproject.org/glossary/moat/ + [1388]: https://web.archive.org/web/20220708014922/https://blog.torproject.org/run-tor-bridges-defend-open-internet/ [1389]: media/image59.png From 4ec157fba37e3f1b2126af94522373036bfe310b Mon Sep 17 00:00:00 2001 From: "T. H" Date: Wed, 17 Aug 2022 01:29:22 -0400 Subject: [PATCH 26/39] Mention running bridge types ranked by difficulty * To run any of them, it only requires small knowledge of Linux. this places the information required into the realm of possibility, even for unseasoned Linux users. * Note: there are many guides on both Tor Project and Stack Overflow. * Consider running either the 1st or 2nd options as they are the easiest. Signed-off-by: pterocles --- guide.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/guide.md b/guide.md index f183600..6b25496 100644 --- a/guide.md +++ b/guide.md @@ -2095,6 +2095,14 @@ Please see [Appendix Y: Installing and using desktop Tor Browser]. - Snowflake +- **If your internet isn't censored**, consider running one of the bridge types to help the network! + + - Easy: Obsf4 - You can run your own Obsf4 easily with these instructions. + + - Medium: Snowflake - More about Snowflakes here. + + - Hard: Meek - This is the documentation. It's not as simple. + Personally, if you need to use a Bridge (this is not necessary for a non-hostile environment), you should pick a Meek-Azure. Those will probably work even if you are in China and want to bypass the Great Firewall. It is probably the best option to obfuscate your Tor activities if needed and Microsoft servers are usually not blocked. *Only available for Desktop Tor users: Recently, the Tor Project has made it incredibly simple to access Bridges with **Connection Assist**, and it is now automatically done in hostile or censored regions. Simply open the Tor Browser and the connection will be configured based on your needs on any hostile network. Previously, we had a list of options below this paragraph which were necessary to enable and configure bridges, but now that this is done automatically using [moat](https://support.torproject.org/glossary/moat/).* [[Archive.org]][1387] @@ -2167,6 +2175,14 @@ While the official Tor Browser is not yet available for iOS, there is an alterna - (Meek-Azure is unfortunately not available on Onion Browser for iOS (See [commit 21bc18428](https://github.com/OnionBrowser/OnionBrowser/commit/21bc18428368224507b27ee58464ad352f4ec810) for more information.) +- **If your internet isn't censored**, consider running one of the bridge types to help the network! + + - Easy: Obsf4 - You can run your own Obsf4 easily with these instructions. + + - Medium: Snowflake - More about Snowflakes here. + + - Hard: Meek - This is the documentation. It's not as simple. + Personally, if you need to use a Bridge (this is not necessary for a non-hostile environment), you should pick a Snowflake one (since Meek-Azure bridges are not available). Those will probably work even if you are in China and want to bypass the Great Firewall. It is probably the best option you have on iOS. - You are almost done From 38ebe5bee4d0252a94b1be8aa563bdb946819585 Mon Sep 17 00:00:00 2001 From: pterocles Date: Wed, 17 Aug 2022 01:35:49 -0400 Subject: [PATCH 27/39] Fix missing Archive.org link * Missing archive link fix Signed-off-by: pterocles --- guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide.md b/guide.md index 6b25496..6a9a8d7 100644 --- a/guide.md +++ b/guide.md @@ -11710,7 +11710,7 @@ Each Virtual Machine is a sandbox. Remember the reasons for using them are to pr In some environments, your ISPs might be trying to prevent you from accessing Tor. Or accessing Tor openly might be a safety risk. -In those cases, it might be necessary to use Tor bridges to connect to the Tor network (see Tor Documentation [[Archive.org]][244] and Whonix Documentation [[Archive.org]][337]). Optionally, if you are able, you should (seriously!) consider running a bridge [[Archive.org]][] yourself, as this would greatly help reduce the amount of censorship in the world. +In those cases, it might be necessary to use Tor bridges to connect to the Tor network (see Tor Documentation [[Archive.org]][244] and Whonix Documentation [[Archive.org]][337]). Optionally, if you are able, you should (seriously!) consider running a bridge [[Archive.org]](https://web.archive.org/web/20220708014922/https://blog.torproject.org/run-tor-bridges-defend-open-internet/) yourself, as this would greatly help reduce the amount of censorship in the world. Bridges are special Tor entry nodes that are not listed on the Tor public directory. Some of those are running on people running the Snowflake Browser extension[^520] while others are running on various servers around the world. Most of those bridges are running some type of obfuscation method called obfs4[^521]. From f7d0a34e0553e5836841b7f3d6316469fb8a481d Mon Sep 17 00:00:00 2001 From: "T. H" Date: Wed, 17 Aug 2022 20:14:19 -0400 Subject: [PATCH 28/39] Fix minor formatting issue --- guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide.md b/guide.md index 27b77d8..744230c 100644 --- a/guide.md +++ b/guide.md @@ -5936,9 +5936,9 @@ We will help you bit by listing a few tips we learned while researching over the ***Warning:** https://generated.photos/face-generator requires JavaScript to function and does a lot of fingerprinting. Most of it is being sent to Microsoft Clarity. Even with uBlock installed and on safer level, Tor Browser wasn't efficient at blocking the fingerprinting. This obviously does not work on Safest level. On our tests, only Brave with agressive fingerprinting/ad shields did not send analytics. - - **Bonus**, you could also make it more real by using this service (with an anonymous identity) [[Archive.org]][401] to make a picture more lifelike. Here is an example: +- **Bonus**, you could also make it more real by using this service (with an anonymous identity) [[Archive.org]][401] to make a picture more lifelike. Here is an example: - - Original: +- Original: ![][402] From 1417418fdd6dc874651f1762eca3484326d6a812 Mon Sep 17 00:00:00 2001 From: Alex Anderson <84602909+NobodySpecial256@users.noreply.github.com> Date: Thu, 18 Aug 2022 23:01:37 +0000 Subject: [PATCH 29/39] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 8d776bb..d82853b 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -anonymousplanet-ng.org \ No newline at end of file +anonymousplanet.org \ No newline at end of file From ff5f7540bb2cc852d09b1aa055440be52b95b6e5 Mon Sep 17 00:00:00 2001 From: Alex Anderson <84602909+NobodySpecial256@users.noreply.github.com> Date: Thu, 18 Aug 2022 23:03:19 +0000 Subject: [PATCH 30/39] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index d82853b..8d776bb 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -anonymousplanet.org \ No newline at end of file +anonymousplanet-ng.org \ No newline at end of file From c020a94aeaefdfda5e99039fee82aa75eaa0bca0 Mon Sep 17 00:00:00 2001 From: Alex Anderson <84602909+NobodySpecial256@users.noreply.github.com> Date: Thu, 18 Aug 2022 23:15:51 +0000 Subject: [PATCH 31/39] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 8d776bb..d82853b 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -anonymousplanet-ng.org \ No newline at end of file +anonymousplanet.org \ No newline at end of file From 9c0b4c9b4fa2f470842e8aab7c8ae5716620de0f Mon Sep 17 00:00:00 2001 From: Alex Anderson <84602909+NobodySpecial256@users.noreply.github.com> Date: Thu, 18 Aug 2022 23:18:25 +0000 Subject: [PATCH 32/39] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index d82853b..8d776bb 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -anonymousplanet.org \ No newline at end of file +anonymousplanet-ng.org \ No newline at end of file From a5ca6258564f9b5d775254a233a2c0e1194499d5 Mon Sep 17 00:00:00 2001 From: Alex Anderson <84602909+NobodySpecial256@users.noreply.github.com> Date: Thu, 18 Aug 2022 23:19:31 +0000 Subject: [PATCH 33/39] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 8d776bb..d82853b 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -anonymousplanet-ng.org \ No newline at end of file +anonymousplanet.org \ No newline at end of file From 1c6bdd2a1db788ab11c57549c3cdfda1a6ad5a99 Mon Sep 17 00:00:00 2001 From: Alex Anderson Date: Thu, 18 Aug 2022 23:27:39 +0000 Subject: [PATCH 34/39] Migrated back to original domain --- LICENSE.md | 2 +- README.md | 6 +++--- chatrooms-rules.md | 2 +- guide.md | 28 ++++++++++++++-------------- links.md | 2 +- moderncrypto-rules.md | 2 +- verify.md | 2 +- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 12d4ca7..c657cab 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -404,4 +404,4 @@ understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. \ No newline at end of file +Creative Commons may be contacted at creativecommons.org. diff --git a/README.md b/README.md index e028d6f..389869c 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ Mirrors: The guide and all the files are also readily available on Archive.org and Archive.today: -- Archive.org: -- Archive.today: -- Archive.today over Tor: +- Archive.org: +- Archive.today: +- Archive.today over Tor: If you want to access/see the original/legacy project, please see the [legacy resources](legacy.html) page. diff --git a/chatrooms-rules.md b/chatrooms-rules.md index b6fe288..df5d623 100644 --- a/chatrooms-rules.md +++ b/chatrooms-rules.md @@ -41,7 +41,7 @@ Some exceptions can apply, see the [exceptions](#exceptions) section at the bott - Be respectful #### Rules for Modern Cryptography (```#moderncrypto:gnuradio.org```): -See +See #### Rules for OS Security: See diff --git a/guide.md b/guide.md index aca1209..6133ffd 100644 --- a/guide.md +++ b/guide.md @@ -24,7 +24,7 @@ The manual is here: , quick-start guide here: **There might be some wrong or outdated information in this guide because no human is omniscient, and humans do make mistakes.** **Please do not take this guide as a definitive gospel or truth because it is not. Mistakes have been written in the guide in earlier versions and fixed later when discovered. There are likely still some mistakes in this guide at this moment (hopefully few). Those are fixed as soon as possible when discovered.** -**This guide has been moved, due to recent unfortunate events. The old guide was at [anonymousplanet.org](https://web.archive.org/web/20220227172123/https://anonymousplanet.org/), but has since been moved to ** +**This guide has been moved, due to recent unfortunate events. The old guide was at [anonymousplanet.org](https://web.archive.org/web/20220227172123/https://anonymousplanet.org/), but has since been moved to ** **Your experience may vary.** **Remember to check regularly for an updated version of this guide.** @@ -38,7 +38,7 @@ Feel free to submit issues **(please do report anything wrong)** using GitHub Is Feel free to come to discuss ideas at: -- Rules for our chatrooms: +- Rules for our chatrooms: - Matrix/Element Room: ```#anonymity:matrix.org``` @@ -50,7 +50,7 @@ Follow us on: - Mastodon at -To contact me, see the updated information on the website or send an e-mail to +To contact me, see the updated information on the website or send an e-mail to **Please consider [donating][Donations:] if you enjoy the project and want to support the hosting fees or support the funding of initiatives like the hosting of Tor Exit Nodes.** @@ -9451,7 +9451,7 @@ Consider helping others (see [Helping others staying anonymous][Helping others s **This project has no funding or sponsoring, and donations are more than welcome.** -See: +See: **(Please do verify the checksum and GPG signature of this file for authenticity, this is explained in the README of the repository if you do not know how to do that)**. @@ -12182,21 +12182,21 @@ These recommendations are similar to the ones at the beginning of the guide and Find it online at: -- Original: +- Original: - Tor Onion Mirror: -- Archive.org: +- Archive.org: -- Archive.today: +- Archive.today: -- Archive.today over Tor: +- Archive.today over Tor: Offline versions of this guide are temporarily unavailable. -- PDF: [[Archive.org]][726] [[Tor Mirror]][727] +- PDF: [[Archive.org]][726] [[Tor Mirror]][727] -- OpenDocument Text (ODT) version at: (temporarily disabled) [[Archive.org]][732] [[Tor Mirror]][733] +- OpenDocument Text (ODT) version at: (temporarily disabled) [[Archive.org]][732] [[Tor Mirror]][733] # Appendix A7: Comparing versions @@ -14298,8 +14298,8 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte [554]: https://wikiless.org/wiki/Key_disclosure_law [555]: https://web.archive.org/web/https://en.wikipedia.org/wiki/Key_disclosure_law [556]: https://web.archive.org/web/https://www.gp-digital.org/world-map-of-encryption/ - [557]: https://mirror.anonymousplanet-ng.org/donations.html - [558]: https://web.archive.org/web/https://anonymousplanet-ng.org/donations.html + [557]: https://mirror.anonymousplanet.org/donations.html + [558]: https://web.archive.org/web/https://anonymousplanet.org/donations.html [559]: http://thgtoa7imksbg7rit4grgijl2ef6kc7b56bp56pmtta4g354lydlzkqd.onion/donations.html [560]: media/image48.jpeg [561]: media/image49.jpeg @@ -14470,9 +14470,9 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte [https://nitter.net]: https://nitter.fdn.fr [723]: https://web.archive.org/web/https://github.com/spikecodes/libreddit [724]: https://web.archive.org/web/https://simplytranslate.org/ - [726]: https://web.archive.org/web/https://anonymousplanet-ng.org/export/guide.pdf + [726]: https://web.archive.org/web/https://anonymousplanet.org/export/guide.pdf [727]: http://thgtoa7imksbg7rit4grgijl2ef6kc7b56bp56pmtta4g354lydlzkqd.onion/guide.pdf - [732]: https://web.archive.org/web/https://anonymousplanet-ng.org/export/guide.odt + [732]: https://web.archive.org/web/https://anonymousplanet.org/export/guide.odt [733]: http://thgtoa7imksbg7rit4grgijl2ef6kc7b56bp56pmtta4g354lydlzkqd.onion/guide.odt [734]: https://web.archive.org/web/https://help.libreoffice.org/7.1/en-US/text/shared/guide/redlining_doccompare.html [735]: https://web.archive.org/web/https://www.whonix.org/wiki/Surfing_Posting_Blogging#Anonymous_File_Sharing diff --git a/links.md b/links.md index 2811ecc..c075e30 100644 --- a/links.md +++ b/links.md @@ -10,7 +10,7 @@ Some of those resources may, in order to sustain their project, contain or propo - Premium content such as ad-free content - Merchandising -**AnonymousPlanet-ng.org does not participate in any sponsoring or affiliate program for any entity. Anonymousplanet-ng.org relies only on anonymous donations.** +**anonymousplanet.org does not participate in any sponsoring or affiliate program for any entity. anonymousplanet.org relies only on anonymous donations.** All the links below are listed in alphabetical order. diff --git a/moderncrypto-rules.md b/moderncrypto-rules.md index 032e84d..3248aac 100644 --- a/moderncrypto-rules.md +++ b/moderncrypto-rules.md @@ -2,7 +2,7 @@ This page documents the rules for my Matrix room, `#moderncrypto:gnuradio.org`. -Modern Crypto is part of the PSA community. See +Modern Crypto is part of the PSA community. See --- diff --git a/verify.md b/verify.md index 0b8c259..283b33b 100644 --- a/verify.md +++ b/verify.md @@ -43,7 +43,7 @@ Import the GPG key using the following command from a command prompt or terminal ```gpg --auto-key-locate nodefault,wkd --locate-keys 42FF35DB9DE7C088AB0FD4A70C216A52F6DF4920``` -In theory this command should fetch the key from the a default pool server. If this doesn't work, you can also download/view it directly from here: [[Mirror]][12] +In theory this command should fetch the key from the a default pool server. If this doesn't work, you can also download/view it directly from here: [[Mirror]][12] For redundancy, you can also verify the authenticity of this GPG signature using: From b8dedad081c4f1411567e15f523d22086948a18c Mon Sep 17 00:00:00 2001 From: Alex Anderson Date: Fri, 19 Aug 2022 00:30:54 +0000 Subject: [PATCH 35/39] Updated contact email --- about.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about.md b/about.md index 9296963..2a3e87e 100644 --- a/about.md +++ b/about.md @@ -8,7 +8,7 @@ Follow or contact us on: - Twitter: - Mastodon: - Element/Matrix.org: @anonypla:envs.net, @anonypla:tchncs.de, and @anonypla:matrix.org (all deactivated permanently) -- E-Mail: (You may use our [PGP public signature](https://github.com/Anon-Planet/thgtoa/blob/master/42FF35DB9DE7C088AB0FD4A70C216A52F6DF4920.asc) to encrypt e-mails. Do not forget to attach your PGP public key if you want an encrypted answer) +- E-Mail: (You may use our [PGP public signature](https://github.com/Anon-Planet/thgtoa/blob/master/42FF35DB9DE7C088AB0FD4A70C216A52F6DF4920.asc) to encrypt e-mails. Do not forget to attach your PGP public key if you want an encrypted answer) Discussion Channels: - Matrix room: ```#anonymity:matrix.org``` From 3fa1c502f0248fcf313ab9f856cd4908c8622d6a Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Sat, 20 Aug 2022 18:32:40 +0000 Subject: [PATCH 36/39] Adding some Orbot information/disclaimer Adding some Orbot information/disclaimer to prevent people from being mislead --- guide.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/guide.md b/guide.md index 7d9c0d4..5baa306 100644 --- a/guide.md +++ b/guide.md @@ -770,9 +770,7 @@ This guide will later propose some mitigations to such attacks by changing your You have seen this in action/spy/Sci-Fi movies and shows, the protagonists always remove the battery of their phones to make sure it cannot be used. Most people would think that's overkill. Well, unfortunately, no, this is now becoming true at least for some devices: - iPhones and iPads (IOS 13 and above)[^78]'[^79] - - Samsung Phones (Android 10 and above)[^80] - - MacBooks (macOS 10.15 and above)[^81] Such devices will continue to broadcast identity information to nearby devices even when offline using Bluetooth Low-Energy[^82]. They do not have access to the devices directly (which are not connected to the internet) but instead use BLE to find them through other nearby devices[^83]. They are using peer-to-peer short-range Bluetooth communication to broadcast their status through nearby online devices. @@ -2149,6 +2147,8 @@ However, the Safer level should be used with some extra precautions while using Now, you are really done, and you can now surf the web anonymously from your Android device. +**[Warning when using Orbot on Android]**[Appendix B6: Warning using Orbot or Android] + ### iOS: **Disclaimer: Onion Browser, following a 2018 release on iOS, has had IP leaks via WebRTC. It is still the only officially endorsed browser for the Tor network for iOS. Users should exercise caution when using the browser and check for any DNS leaks.** @@ -12413,6 +12413,14 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte - [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. - [Hertzbleed](https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) [[Archive.org]](https://web.archive.org/web/20220712000058/https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) - Deducing cryptographic keys by analyzing power consumption has long been an attack, but it’s not generally viable because measuring power consumption is often hard. This new attack measures power consumption by measuring time, making it easier to exploit. - [Retbleed](https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) [[Archive.org]](https://web.archive.org/web/20220804151557/https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) - Retbleed focuses on return instructions, which are part of the retpoline software mitigation against the speculative execution class of attacks that became known starting early 2018, with Spectre. + +# Appendix B6: Warning about using Orbot on Android + +While this is often misundestood. Orbot on Android does not make your "selected apps" go through Tor if you add them to the list. Orbot is acting as device wide VPN or as a porxy. The list of apps using Orbot is a whitelist. This list will not make some apps magically use Tor and unchecked ones use the clearnet. This only controls the access to the device wide VPN is using to route traffic. This means that Orbot can only control what app can access the VPN it creates. Other apps will lose connectivity. + +What is important to know is that if you launch an app (or Android does it automatically) while Orbot is not running/off, the app will just use the normal network without involving Orbot (with the exception of some apps supporting a proxy Orbot). + +As well as you should not be surprised by Tor Browser not working when using Orbot in a VPN mode, as Tor design does not allow "Tor over Tor" (You cannot re-enter the Tor network from a Tor exit node). --- @@ -13780,6 +13788,7 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte [Appendix B3: Threat modeling resources]: #appendix-b3-threat-modeling-resources [Appendix B4: Important notes about evil-maid and tampering]: #appendix-b4-important-notes-about-evil-maid-and-tampering [Appendix B5: Types of CPU attacks:]: #appendix-b5-types-of-cpu-attacks + [Appendix B6: Warning using Orbot or Android]: #appendix-b6-warning-using-orbot-on-android [References:]: #references [cc-by-nc-4.0]: https://creativecommons.org/licenses/by-nc/4.0/ [LINDDUN2015]: https://lirias.kuleuven.be/retrieve/295669 From 83f643c3efa51eb76eb54810abbd17b7e4b4afe2 Mon Sep 17 00:00:00 2001 From: Than Harrison Date: Sat, 20 Aug 2022 18:04:19 -0400 Subject: [PATCH 37/39] Re: Adding some Orbot information/disclaimer Commit 3fa1c502f0 ("Adding some Orbot information/disclaimer to prevent people from being mislead") has minor spelling and grammar mistakes that can be fixed. Fixes those errors. Also adds additional context. Signed-off-by: Than Harrison --- guide.md | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/guide.md b/guide.md index 5baa306..5d487ed 100644 --- a/guide.md +++ b/guide.md @@ -2147,7 +2147,7 @@ However, the Safer level should be used with some extra precautions while using Now, you are really done, and you can now surf the web anonymously from your Android device. -**[Warning when using Orbot on Android]**[Appendix B6: Warning using Orbot or Android] +**Please see** [Warning for using Orbot on Android][Appendix B6: Warning for using Orbot on Android]. ### iOS: @@ -12413,16 +12413,22 @@ Model-specific registers (MSRs) and their configuration bits can also be detecte - [SQUIP](https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) [[Archive.org]](https://web.archive.org/web/20220812082548/https://www.nextplatform.com/2022/08/11/squip-side-channel-attack-rattles-amds-zen-cores/) - Scheduler Queue Usage via Interface Probing. All of AMD's Zen CPUs are vulnerable to a medium-severity flaw which can allow threat actors to run side-channel attacks. - [Hertzbleed](https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) [[Archive.org]](https://web.archive.org/web/20220712000058/https://www.schneier.com/blog/archives/2022/06/hertzbleed-a-new-side-channel-attack.html) - Deducing cryptographic keys by analyzing power consumption has long been an attack, but it’s not generally viable because measuring power consumption is often hard. This new attack measures power consumption by measuring time, making it easier to exploit. - [Retbleed](https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) [[Archive.org]](https://web.archive.org/web/20220804151557/https://www.bleepingcomputer.com/news/security/new-retbleed-speculative-execution-cpu-attack-bypasses-retpoline-fixes/) - Retbleed focuses on return instructions, which are part of the retpoline software mitigation against the speculative execution class of attacks that became known starting early 2018, with Spectre. - -# Appendix B6: Warning about using Orbot on Android - -While this is often misundestood. Orbot on Android does not make your "selected apps" go through Tor if you add them to the list. Orbot is acting as device wide VPN or as a porxy. The list of apps using Orbot is a whitelist. This list will not make some apps magically use Tor and unchecked ones use the clearnet. This only controls the access to the device wide VPN is using to route traffic. This means that Orbot can only control what app can access the VPN it creates. Other apps will lose connectivity. - -What is important to know is that if you launch an app (or Android does it automatically) while Orbot is not running/off, the app will just use the normal network without involving Orbot (with the exception of some apps supporting a proxy Orbot). - -As well as you should not be surprised by Tor Browser not working when using Orbot in a VPN mode, as Tor design does not allow "Tor over Tor" (You cannot re-enter the Tor network from a Tor exit node). ---- +# Appendix B6: Warning for using Orbot on Android + +While this is often misunderstood, Orbot on Android does not make your "Tor-Enabled Apps" go through Tor if you add them to the list. Orbot is acting as a device-wide VPN or (also known as a transparent proxy). The list of apps using Orbot is a whitelist. This list will not make some apps magically use Tor and unchecked ones use the clear-net. This only ensures the device-wide VPN is using Tor to route traffic. This means that Orbot can only control what app can access the VPN it creates. Other apps will lose connectivity. + +What is important to know is that, if you launch an app (or Android does it automatically) while Orbot is not running, the app will just use the normal network, without involving Orbot (with the exception of some apps supporting a proxy Orbot). + +Additionally, you should not be surprised by Tor Browser not working when using Orbot in VPN mode, as the Tor design does not allow "Tor over Tor" (you cannot re-enter the Tor network from a Tor exit node). + +This is explained rather well by Alexander Færøy, who is a core developer at the Tor Project, in their [TorifyHOWTO: Tor over Tor](https://gitlab.torproject.org/legacy/trac/-/wikis/doc/TorifyHOWTO#tor-over-tor). + +"When using a transparent proxy, it is possible to start a Tor session from the client as well as from the transparent proxy (read the warning!), creating a "Tor over Tor" scenario. Doing so produces undefined and potentially unsafe behavior. In theory, however, you can get six hops instead of three, but it is not guaranteed that you'll get three different hops - you could end up with the same hops, maybe in reverse or mixed order. It is not clear if this is safe. It has never been discussed. You can choose an entry/exit point, but you get the best security that Tor can provide when you leave the route selection to Tor; overriding the entry / exit nodes can mess up your anonymity in ways we don't understand. Therefore Tor over Tor usage is highly discouraged." + +And from [a post](https://tor.stackexchange.com/questions/427/is-running-tor-over-tor-dangerous) on the Tor Stack Exchange: + +"The danger (beyond the performance hit) which keeps me from running Tor over Tor has to do with timing and congestion measurements. Adversaries watching your traffic at the exit(s) of your circuits have a better chance of linking your Whonix activity with your [Tor Browser Bundle] activity when those shared circuits slow down or drop packets at the same time. This can happen without Tor over Tor when your instances use a common upstream link. The linkage will be made tighter and more explicit if you run the Whonix Tor traffic through your TBB SOCKS5 Tor circuits. This tighter linkage raises the danger of successful correlation." # References: @@ -13788,7 +13794,7 @@ As well as you should not be surprised by Tor Browser not working when using Orb [Appendix B3: Threat modeling resources]: #appendix-b3-threat-modeling-resources [Appendix B4: Important notes about evil-maid and tampering]: #appendix-b4-important-notes-about-evil-maid-and-tampering [Appendix B5: Types of CPU attacks:]: #appendix-b5-types-of-cpu-attacks - [Appendix B6: Warning using Orbot or Android]: #appendix-b6-warning-using-orbot-on-android + [Appendix B6: Warning for using Orbot on Android]: #appendix-b6-warning-for-using-orbot-on-android [References:]: #references [cc-by-nc-4.0]: https://creativecommons.org/licenses/by-nc/4.0/ [LINDDUN2015]: https://lirias.kuleuven.be/retrieve/295669 From ff2799e8b89c76292447e0cb93ed0f7d99ff1cb3 Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Sun, 21 Aug 2022 03:16:36 +0000 Subject: [PATCH 38/39] Adding removed delimiter Adding removed delimiter --- guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guide.md b/guide.md index 5d487ed..811eb69 100644 --- a/guide.md +++ b/guide.md @@ -12430,6 +12430,8 @@ And from [a post](https://tor.stackexchange.com/questions/427/is-running-tor-ove "The danger (beyond the performance hit) which keeps me from running Tor over Tor has to do with timing and congestion measurements. Adversaries watching your traffic at the exit(s) of your circuits have a better chance of linking your Whonix activity with your [Tor Browser Bundle] activity when those shared circuits slow down or drop packets at the same time. This can happen without Tor over Tor when your instances use a common upstream link. The linkage will be made tighter and more explicit if you run the Whonix Tor traffic through your TBB SOCKS5 Tor circuits. This tighter linkage raises the danger of successful correlation." +--- + # References: [^1]: English translation of German Telemedia Act [[Archive.org]][747]. Section 13, Article 6, "The service provider must enable the use of Telemedia and payment for them to occur anonymously or via a pseudonym where this is technically possible and reasonable. The recipient of the service is to be informed about this possibility. ". From ab2ef128ace70b9e826be36d8f51fca8184f30df Mon Sep 17 00:00:00 2001 From: TwoSixtyThreeFiftyFour <108928957+TwoSixtyThreeFiftyFour@users.noreply.github.com> Date: Sun, 21 Aug 2022 09:30:09 +0000 Subject: [PATCH 39/39] Adding link to an endorsed LINDDUN video Adding link to video endorsed by LINDDUN designers --- guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/guide.md b/guide.md index 7d9c0d4..c73801f 100644 --- a/guide.md +++ b/guide.md @@ -12370,6 +12370,7 @@ Here are various threat modeling resources if you want to go deeper in threat mo - It is focused on privacy but is clearly perfectly suitable for anonymity. - It is accessible to all skill levels including beginners (providing many tutorials) but also suitable for highly skilled readers. - It is used in the making of the Threat Modeling Manifesto: [[Archive.org]][745] + - Here is a video **endorsed and recommended** by LINDDUN designers to help understanding: [[Invidious]](https://yewtu.be/zI4SFyq_Xjw) ![][1389] (Illustration from [LINDDUN2015])