5 ms·
If your eyes can "normalize" a unusual symbols to a common one to make an English word then so can a lookup table. I feel like this isn't a case where you'd rea
by Y_Y 5y ago
If your eyes can "normalize" a unusual symbols to a common one to make an English word then so can a lookup table. I feel like this isn't a case where you'd reach first for a neural net.
- nradov 5y agoThose are known as homoglyphs. This issue has been studied and best practices are documented. There's no complete solution but it can be mitigated. https://en.wikipedia.org/wiki/Homoglyph https://en.wikipedia.org/wiki/Homoglyph
- dredmorbius 5y agoAll kinds of possibilities there. Unicode Character “;” (U+037E) is a beaut. https://news.ycombinator.com/item?id=28621681 https://news.ycombinator.com/item?id=28621681
- Alir3z4 5y agoYeah, then someone has to create or find that whole table and make. The initial problem wasn't those symbols but the content itself, the symbols and special characters came into the problem later. Later on as mentioned in my original comment, that they would use positive content from other blog posts that were published/passed the moderation to mix up their bad content. Probably could use a different method, but at that time needed something quick and fast and it worked and still works with very little tweaking. Although we don't have massive amount of threats or abusers anymore to exactly know the effect, but again, so far it works. That time, they would coming several thousands per minute, IP blocking, range blocking, USER AGENT, captcha or anything such didn't work on them.
- jffry 5y agoThe good news is that the Unicode consortium has a report on this issue, and the tables already exist for normalization and mapping of confusables to their ASCII lookalikes: https://www.unicode.org/reports/tr39/ https://www.unicode.org/reports/tr39/
- Alir3z4 5y agoOh, that's nice. I guess I can use that next time time to work on the data cleaning for that model. Thanks.
- wanderingstan 5y agoAs I commented above: I built a Python library for finding strings obfuscated this way. Was critical when moderating our telegram channel before an ICO. https://github.com/wanderingstan/Confusables https://github.com/wanderingstan/Confusables E.g. "𝓗℮𝐥1೦" would match "Hello"
- jffry 5y agoIn fact, the Unicode consortium provides a report and extensive list of "confusable" symbols, which you could use alongside Unicode normalization tables to map adversarial back into more ASCII-equivalent text before running it through anti-spam mechanisms that are interested in the content of the message. https://www.unicode.org/reports/tr39/ https://www.unicode.org/reports/tr39/
- wanderingstan 5y agoI built a Python library for finding strings obfuscated this way. Was critical when moderating our telegram channel before an ICO. https://github.com/wanderingstan/Confusables https://github.com/wanderingstan/Confusables E.g. "𝓗℮𝐥1೦" would match "Hello"
- Alir3z4 5y agoI should have had better eyes while searching, could find this and saved some hours.
- jffry 5y agoI only learned about it myself after spending too long building my own half-baked version. I think it's in pretty opaque language that makes it hard to find even if you know what you want. Maybe somebody else on here will see it and learn about it before they need it, and at least you still have a new tool to reach for in the future.
- loco053100 5y agoMein Handy is voller kacke hacking Apps. Mein Handy wird seit 2004 gehackt ihr seit kleine Maden doch die Maden kommen jetzt zum Anwalt ich lasse mir das nicht mehr bitten. Ich habe genug was ich brauche! Habt ihr kein Leben anscheinend armselig
- airstrike 5y agoYou should post this to Show HN. Also you have a typo on your README ("characgters")
- infogulch 5y agoIf you can identify text written with mixed glyphs just ban it outright. Normal users don't use text like this, the pure binary presence of such "homomorphic" text at all is probably a better signal for spam than whatever your neural net when running it after normalization.
- falcolas 5y ago> Normal users don't use text like this They kinda do. Check out the shrug "emoji", table flip, and so forth. Then there's the meme of adding text above and below by abusing Unicode's "super" and "sub" modifications. You could block it to only ever represent ASCII, but then you've knocked out the ability to expand internationally.
- chefandy 5y ago> Normal users don't use text like this I think that depends on the users. People copying and pasting bits of text that was in English or another common language— think documentation, code, news articles, tweets, etc.— with a different character set could be problematic. Also, 𝒮ℴ𝓂ℯ 𝒜𝓅𝓅𝓈 marketed as "𝔽𝕠𝕟𝕥𝕤 𝕗𝕠𝕣 𝕤𝕠𝕔𝕒𝕝 𝕞𝕖𝕕𝕚𝕒" would be ℭ𝔞𝔲𝔤𝔥𝔱 𝔲𝔭 𝔦𝔫 𝔱𝔥𝔦𝔰. (math symbols) A user base with young people getting bounced or shadow banned for trying to express themselves or distinguish themselves from their peers would be like ಠ_ಠ (Kannada letter ttha) I think targeting the language they're using is a better bet. ¯\_(ツ)_/¯ (Hirigana letter tsu)
- tgsovlerkhgsel 5y agoYou can hardcode a rule for this specific bypass. Or you just retrain the neural net, and it learns that presence of these symbols = bad very quickly, and you spent less time writing and testing a custom solution.