草庐IT

homoglyph

全部标签

java - 查找所有 "character-equal"字符串的高效算法?

我们如何编写一个高效的函数来输出输入字符串的“homoglyphequivalents”?示例1(伪代码):homoglyphs_list=[["o","0"],//"o"and"0"arehomoglyphs["i","l","1"]//"i"and"l"and"1"arehomoglyphs]input_string="someinput"output=["someinput","s0meinput","somelnput","s0melnput","some1nput","s0me1nput"]示例2:homoglyphs_list=[["rn","m","nn"],]input

java - 电子邮件网络钓鱼中的同形文字攻击检测

主要问题我正在使用Java开发一个API,它需要检测网络钓鱼电子邮件中品牌(例如PayPal、Mastercard等)的使用情况。显然,攻击者使用不同的策略来瞄准这些品牌,从而使它们更难被发现。例如,“rnastercard”看起来与“mastercard”非常相似,可以欺骗毫无戒心的用户。此时我可以使用模糊字符串搜索的形式轻松检测出这些品牌的拼写错误。然而,我面临的问题是,当攻击者使用同形文字更改特定品牌的名称但保持相同的视觉解释时。同形文字攻击将[a-zA-Z]模式中的字符替换为看起来相似但超出此范围的字符。例如,使用特定字符集的攻击者可以使用看起来像P的希腊字母RHO来攻击Pay